Sha256: 401de3ff8036c4d3d319a8c3c9d9a1344d210b99699e0921747a4586ae6954f7
Contents?: true
Size: 792 Bytes
Versions: 30
Compression:
Stored size: 792 Bytes
Contents
"use strict"; var isPrototype = require("../prototype/is"); var isArray; if (typeof Array.isArray === "function") { isArray = Array.isArray; } else { var objectToString = Object.prototype.toString, objectTaggedString = objectToString.call([]); isArray = function (value) { return objectToString.call(value) === objectTaggedString; }; } module.exports = function (value) { if (!isArray(value)) return false; // Sanity check (reject objects which do not expose common Array interface) if (!hasOwnProperty.call(value, "length")) return false; try { if (typeof value.length !== "number") return false; if (typeof value.push !== "function") return false; if (typeof value.splice !== "function") return false; } catch (error) { return false; } return !isPrototype(value); };
Version data entries
30 entries across 29 versions & 2 rubygems