UNPKG

@onesy/utils

Version:
39 lines (32 loc) 1.05 kB
// Fix for undefined // + ref circular values const method = () => { const values = new WeakSet(); return (property, value) => { // Ref circular values const getValue = (property_, value_) => { if (typeof value_ === 'object' && value_ !== null) { if (values.has(value_)) return; values.add(value_); } return value_; }; if (getValue(property, value) === undefined || value === undefined) return undefined; return value; }; }; const stringify = function (value_) { let spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2; let replacer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : method(); try { let value = JSON.stringify(value_, replacer, spaces); // Array circular ref value update // value = value // // first item // .replace(/(?!\[)\n* *null,/g, '') // // index 1+ // .replace(/,\n* *null/g, ''); return value; } catch (error) {} return String(value_); }; export default stringify;