UNPKG

tiny-types

Version:

A tiny library that brings Tiny Types to JavaScript and TypeScript

28 lines 883 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringify = stringify; const significantFields_1 = require("./significantFields"); /** * @access private */ function stringify(v) { if (Array.isArray(v)) { return `${v.constructor.name}(${v.map(i => stringify(i)).join(', ')})`; } if (v instanceof Date) { return v.toISOString(); } if (isObject(v)) { const fields = (0, significantFields_1.significantFieldsOf)(v) .map(field => ({ field, value: stringify(v[field]) })) .reduce((acc, current) => { return acc.concat(`${current.field}=${current.value}`); }, []); return `${v.constructor.name}(${fields.join(', ')})`; } return String(v); } function isObject(value) { return new Object(value) === value; } //# sourceMappingURL=stringify.js.map