UNPKG

deep-equality-data-structures

Version:

Javascript data structures (e.g., Map, Set) that support deep object equality

26 lines (25 loc) 819 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringify = stringify; exports.chain = chain; /** * Format an unknown value to a string for display */ function stringify(value) { if (value !== null && typeof value === 'object') { // For objects, defer an overridden toString, otherwise use JSON.stringify return 'toString' in value && ![Object.prototype.toString, Array.prototype.toString].includes(value.toString) ? value.toString() : JSON.stringify(value); } else { return String(value); } } function chain(functions) { const [head, ...tail] = functions; return (...args) => { return tail.reduce((acc, fn) => fn(acc), head(...args)); }; } /* eslint-enable @typescript-eslint/no-explicit-any */