Every new change
This commit is contained in:
52
node_modules/flatted/README.md
generated
vendored
Normal file
52
node_modules/flatted/README.md
generated
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
# flatted
|
||||
|
||||
 [](https://coveralls.io/github/WebReflection/flatted?branch=master) [](https://travis-ci.org/WebReflection/flatted) [](https://opensource.org/licenses/ISC) 
|
||||
|
||||
A super light (0.5K) and fast circular JSON parser, directly from the creator of [CircularJSON](https://github.com/WebReflection/circular-json/#circularjson).
|
||||
|
||||
Usable via [CDN](https://unpkg.com/flatted) 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"}]
|
||||
```
|
||||
|
||||
### New in V1: Exact same JSON API
|
||||
|
||||
* Added a [reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Syntax) parameter to `.parse(string, reviver)` and revive your own objects.
|
||||
* Added a [replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax) and a `space` parameter to `.stringify(object, replacer, space)` for feature parity with JSON signature.
|
||||
|
||||
|
||||
### Compatibility
|
||||
All ECMAScript engines compatible with `Map`, `Set`, `Object.keys`, and `Array.prototype.reduce` will work, even if polyfilled.
|
||||
|
||||
|
||||
### How does it work ?
|
||||
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.
|
||||
|
||||
<sup><sub>`*` represented as string to avoid conflicts with numbers</sub></sup>
|
||||
|
||||
```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'
|
||||
```
|
Reference in New Issue
Block a user