@onesy/utils
Version:
39 lines (32 loc) • 1.05 kB
JavaScript
// 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;