aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/object/is-array-like.js
blob: 8e53500c45469ed0a7cc008772936ae897bceda1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"use strict";

var isFunction = require("../function/is-function")
  , isObject   = require("./is-object")
  , isValue    = require("./is-value");

module.exports = function (value) {
	return (
		(isValue(value) &&
			typeof value.length === "number" &&
			// Just checking ((typeof x === 'object') && (typeof x !== 'function'))
			// won't work right for some cases, e.g.:
			// type of instance of NodeList in Safari is a 'function'

			((isObject(value) && !isFunction(value)) || typeof value === "string")) ||
		false
	);
};