aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/object/is-array-like.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/object/is-array-like.js')
-rw-r--r--node_modules/es5-ext/object/is-array-like.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/es5-ext/object/is-array-like.js b/node_modules/es5-ext/object/is-array-like.js
new file mode 100644
index 000000000..8e53500c4
--- /dev/null
+++ b/node_modules/es5-ext/object/is-array-like.js
@@ -0,0 +1,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
+ );
+};