UNPKG

@jsopen/objects

Version:

Helper utilities for working with JavaScript objects and arrays

39 lines (38 loc) 1.28 kB
export function isBuiltIn(v) { return ((v && typeof v === 'object' && (v instanceof Date || v instanceof RegExp || v instanceof Map || v instanceof Set || v instanceof WeakMap || v instanceof WeakSet || v instanceof WeakRef || v instanceof Promise || v instanceof Error || v instanceof ArrayBuffer || v instanceof Uint8Array || v instanceof Uint8ClampedArray || v instanceof Uint16Array || v instanceof Uint32Array || v instanceof BigUint64Array || v instanceof Int8Array || v instanceof Int16Array || v instanceof Int32Array || v.constructor.name === 'SharedArrayBuffer' || Buffer.isBuffer(v))) || Array.isArray(v)); } export function isConstructor(fn) { return (typeof fn === 'function' && fn.prototype && fn.prototype.constructor === fn && fn.prototype.constructor.name !== 'Function' && fn.prototype.constructor.name !== 'embedded'); } export function isIterable(x) { return Symbol.iterator in x; } export function isAsyncIterable(x) { return Symbol.asyncIterator in x; }