overseer/node_modules/es5-ext/object/is-array-like.js

18 lines
528 B
JavaScript

"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
);
};