Package Exports
- circular-json-es6
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (circular-json-es6) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
circular-json-es6
A replacement for JSON.stringify
and JSON.parse
that can handle circular references (persists reference structure).
This implementation requires environments with native ES6 Map support, but is decently faster than circular-json (see benchmark with npm run bench
).
var CircularJSON = require('circular-json-es6')
var obj = {}
obj.a = obj
var clone = CircularJSON.parse(CircularJSON.stringify(obj))
clone.a === clone // -> true
NOTE
The default stringify
method optimizes for cases where no circular reference is present by trying a plain JSON.stringify
first. This means if no circular references are found in the data then it will not persist multiple (but non-circular) references to the same object.
If you want to enforce reference persistence, use CircularJSON.stringifyStrict
instead.