UNPKG

helene

Version:
58 lines 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isObjectAndNotNull = exports.newBinary = exports.quote = exports.handleError = exports.checkError = exports.isInfOrNaN = exports.isArguments = exports.convertMapToObject = exports.hasOwn = exports.lengthOf = exports.keysOf = exports.isObject = exports.isFunction = void 0; const isFunction = fn => typeof fn === 'function'; exports.isFunction = isFunction; const isObject = fn => typeof fn === 'object'; exports.isObject = isObject; const keysOf = obj => Object.keys(obj); exports.keysOf = keysOf; const lengthOf = obj => Object.keys(obj).length; exports.lengthOf = lengthOf; const hasOwn = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); exports.hasOwn = hasOwn; const convertMapToObject = map => Array.from(map).reduce((acc, [key, value]) => { // reassign to not create new object acc[key] = value; return acc; }, {}); exports.convertMapToObject = convertMapToObject; const isArguments = obj => obj != null && (0, exports.hasOwn)(obj, 'callee'); exports.isArguments = isArguments; const isInfOrNaN = obj => Number.isNaN(obj) || obj === Infinity || obj === -Infinity; exports.isInfOrNaN = isInfOrNaN; exports.checkError = { maxStack: msgError => new RegExp('Maximum call stack size exceeded', 'g').test(msgError), }; const handleError = fn => function (...args) { try { return fn.apply(this, args); } catch (error) { const isMaxStack = exports.checkError.maxStack(error.message); if (isMaxStack) { throw new Error('Converting circular structure to JSON'); } throw error; } }; exports.handleError = handleError; const quote = string => { return JSON.stringify(string); }; exports.quote = quote; const newBinary = (len) => { if (typeof Uint8Array === 'undefined' || typeof ArrayBuffer === 'undefined') { const ret = []; for (let i = 0; i < len; i++) { ret.push(0); } ret.$Uint8ArrayPolyfill = true; return ret; } return new Uint8Array(new ArrayBuffer(len)); }; exports.newBinary = newBinary; const isObjectAndNotNull = obj => obj !== null && typeof obj === 'object'; exports.isObjectAndNotNull = isObjectAndNotNull; //# sourceMappingURL=utils.js.map