A super light and fast circular JSON parser.
npm install @ndelangen/flatted!Downloads   
A super light (0.5K) and fast circular JSON parser, directly from the creator of CircularJSON.
Usable via CDN or as regular module.
``js
// ESM
import {parse, stringify} from 'flatted/esm';
// CJS
const {parse, stringify} = require('flatted/cjs');
const a = [{}];
a[0].a = a;
a.push(a);
stringify(a); // [["1","0"],{"a":"0"}]
`
* Added a reviver parameter to .parse(string, reviver) and revive your own objects.space
* Added a replacer and a parameter to .stringify(object, replacer, space) for feature parity with JSON signature.
, Set, Object.keys, and Array.prototype.reduce will work, even if polyfilled.
$3
While stringifying, all Objects, including Arrays, and strings, are flattened out and replaced as unique index. *Once parsed, all indexes will be replaced through the flattened collection.
* represented as string to avoid conflicts with numbers`js
// logic example
var a = [{one: 1}, {two: '2'}];
a[0].a = a;
// a is the main object, will be at index '0'
// {one: 1} is the second object, index '1'
// {two: '2'} the third, in '2', and it has a string
// which will be found at index '3'Flatted.stringify(a);
// [["1","2"],{"one":1,"a":"0"},{"two":"3"},"2"]
// a[one,two] {one: 1, a} {two: '2'} '2'
``