foop
Version:
interfaces that describe their intentions.
45 lines (43 loc) • 3.5 kB
JavaScript
var objTypeof = require('./objTypeof')
var isFunction = require('./function')
var isNull = require('./null')
// const objNotNull = require('./objNotNull')
/**
* Checks if `value` is the
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
* @memberOf is
* @since 3.0.0
* @category Lang
*
* @param {*} value The value to check.
* @return {boolean} Returns `true` if `value` is an object, else `false`.
*
* @func
* @name isObj
* @alias isObject
*
* {@link https://github.com/gcanti/tcomb/blob/master/lib/isObject.js tcomb-isobject}
* {@link https://github.com/lodash/lodash/blob/master/isObject.js lodash-isobject}
* {@link https://github.com/mobxjs/mobx/blob/master/src/utils/utils.ts#L74 mobx-is-obj}
* @see {@link mobx-isobject}
* @see {@link lodash-isobject}
* @see {@link tcomb-isobject}
*
* @example
*
* isObject({})
* //=> true
*
* isObject([1, 2, 3])
* //=> true
*
* isObject(Function)
* //=> true
*
* isObject(null)
* //=> false
*
*/
module.exports = function (x) { return !isNull(x) && (objTypeof(x) || isFunction(x)); }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqLmpzIiwic291cmNlcyI6WyJvYmouanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgb2JqVHlwZW9mID0gcmVxdWlyZSgnLi9vYmpUeXBlb2YnKVxuY29uc3QgaXNGdW5jdGlvbiA9IHJlcXVpcmUoJy4vZnVuY3Rpb24nKVxuY29uc3QgaXNOdWxsID0gcmVxdWlyZSgnLi9udWxsJylcbi8vIGNvbnN0IG9iak5vdE51bGwgPSByZXF1aXJlKCcuL29iak5vdE51bGwnKVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICogQG1lbWJlck9mIGlzXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICpcbiAqIEBmdW5jXG4gKiBAbmFtZSBpc09ialxuICogQGFsaWFzIGlzT2JqZWN0XG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9nY2FudGkvdGNvbWIvYmxvYi9tYXN0ZXIvbGliL2lzT2JqZWN0LmpzIHRjb21iLWlzb2JqZWN0fVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvbWFzdGVyL2lzT2JqZWN0LmpzIGxvZGFzaC1pc29iamVjdH1cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW9ieGpzL21vYngvYmxvYi9tYXN0ZXIvc3JjL3V0aWxzL3V0aWxzLnRzI0w3NCBtb2J4LWlzLW9ian1cbiAqIEBzZWUge0BsaW5rIG1vYngtaXNvYmplY3R9XG4gKiBAc2VlIHtAbGluayBsb2Rhc2gtaXNvYmplY3R9XG4gKiBAc2VlIHtAbGluayB0Y29tYi1pc29iamVjdH1cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGlzT2JqZWN0KHt9KVxuICogLy89PiB0cnVlXG4gKlxuICogaXNPYmplY3QoWzEsIDIsIDNdKVxuICogLy89PiB0cnVlXG4gKlxuICogaXNPYmplY3QoRnVuY3Rpb24pXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBpc09iamVjdChudWxsKVxuICogLy89PiBmYWxzZVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSB4ID0+ICFpc051bGwoeCkgJiYgKG9ialR5cGVvZih4KSB8fCBpc0Z1bmN0aW9uKHgpKVxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0FBQ3hDQSxHQUFLLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDeENBLEdBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFBLENBQUMsQ0FBQSxDQUFDLEFBQUcsU0FBQSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQTsifQ==