heyujie
2021-05-24 4885600ecc369aa2e30a65de8dd7a410f13c34df
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"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
    );
};