moltres-utils
Version:
Utils for Moltres apps
77 lines (66 loc) • 1.93 kB
JavaScript
require("core-js/modules/es6.object.define-property");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isObject = _interopRequireDefault(require("./isObject"));
var _isTypedArray = _interopRequireDefault(require("./isTypedArray"));
var _toStringTag = _interopRequireDefault(require("./toStringTag"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Checks if `value` is native JavaScript object instance.
*
* @function
* @since v0.0.10
* @category lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a native JS object instance
* @example
*
* isNativeObject(new WeakSet())
* // => true
*
* isNativeObject({})
* // => false
*
* class MyObject {}
* isNativeObject(new MyObject())
* // => false
*/
var isNativeObject = function isNativeObject(value) {
if ((0, _isObject.default)(value)) {
var tag = (0, _toStringTag.default)(value);
switch (tag) {
case '[object Arguments]':
case '[object Array]':
case '[object ArrayBuffer]':
case '[object AsyncFunction]':
case '[object Boolean]':
case '[object Buffer]':
case '[object Date]':
case '[object DOMException]':
case '[object Error]':
case '[object Function]':
case '[object Generator]':
case '[object GeneratorFunction]':
case '[object Number]':
case '[object Promise]':
case '[object Proxy]':
case '[object RegExp]':
case '[object Set]':
case '[object String]':
case '[object Symbol]':
case '[object WeakMap]':
case '[object WeakSet]':
return true;
}
if ((0, _isTypedArray.default)(value)) {
return true;
}
}
return false;
};
var _default = isNativeObject;
exports.default = _default;
//# sourceMappingURL=isNativeObject.js.map
;