Skip to content

Commit 40c449f

Browse files
committed
Improve document
1 parent 542920e commit 40c449f

File tree

2 files changed

+33
-56
lines changed

2 files changed

+33
-56
lines changed

README.md

Lines changed: 32 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,55 @@
1-
# fast-json-stable-stringify
1+
# quick-stable-stringify
22

3-
Deterministic `JSON.stringify()` - a faster version of [@substack](https://github.com/substack)'s json-stable-strigify without [jsonify](https://github.com/substack/jsonify).
3+
Deterministic `JSON.stringify()` - a faster version of [@epoberezkin](https://github.com/epoberezkin)'s [fast-json-stable-strigify](https://github.com/epoberezkin/fast-json-stable-stringify). Built with Typescript and modern Javascript.
44

5-
You can also pass in a custom comparison function.
5+
## Install
66

7-
[![Build Status](https://travis-ci.org/epoberezkin/fast-json-stable-stringify.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-json-stable-stringify)
8-
[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/fast-json-stable-stringify/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/fast-json-stable-stringify?branch=master)
7+
With npm do:
98

10-
# example
11-
12-
``` js
13-
var stringify = require('fast-json-stable-stringify');
14-
var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };
15-
console.log(stringify(obj));
9+
```
10+
npm install quick-stable-stringify
1611
```
1712

18-
output:
13+
Or install with yarn:
1914

2015
```
21-
{"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8}
16+
yarn add quick-stable-stringify
2217
```
2318

19+
## Examples
2420

25-
# methods
26-
27-
``` js
28-
var stringify = require('fast-json-stable-stringify')
21+
```js
22+
var stringify = require("quick-stable-stringify");
23+
var obj = { c: 8, b: [{ z: 6, y: 5, x: 4 }, 7], a: 3 };
24+
console.log(stringify(obj));
2925
```
3026

31-
## var str = stringify(obj, opts)
32-
33-
Return a deterministic stringified string `str` from the object `obj`.
27+
output:
3428

29+
```
30+
{"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8}
31+
```
3532

36-
## options
33+
## Options
3734

3835
### cmp
3936

4037
If `opts` is given, you can supply an `opts.cmp` to have a custom comparison
4138
function for object keys. Your function `opts.cmp` is called with these
4239
parameters:
4340

44-
``` js
45-
opts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue })
41+
```js
42+
opts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue });
4643
```
4744

4845
For example, to sort on the object key names in reverse order you could write:
4946

50-
``` js
51-
var stringify = require('fast-json-stable-stringify');
47+
```js
48+
var stringify = require("quick-stable-stringify");
5249

53-
var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };
50+
var obj = { c: 8, b: [{ z: 6, y: 5, x: 4 }, 7], a: 3 };
5451
var s = stringify(obj, function (a, b) {
55-
return a.key < b.key ? 1 : -1;
52+
return a.key < b.key ? 1 : -1;
5653
});
5754
console.log(s);
5855
```
@@ -87,45 +84,25 @@ Pass `true` in `opts.cycles` to stringify circular property as `__cycle__` - the
8784

8885
TypeError will be thrown in case of circular object without this option.
8986

90-
91-
# install
92-
93-
With [npm](https://npmjs.org) do:
94-
95-
```
96-
npm install fast-json-stable-stringify
97-
```
98-
99-
10087
# benchmark
10188

10289
To run benchmark (requires Node.js 6+):
90+
10391
```
10492
node benchmark
10593
```
10694

10795
Results:
96+
10897
```
109-
fast-json-stable-stringify x 17,189 ops/sec ±1.43% (83 runs sampled)
110-
json-stable-stringify x 13,634 ops/sec ±1.39% (85 runs sampled)
111-
fast-stable-stringify x 20,212 ops/sec ±1.20% (84 runs sampled)
112-
faster-stable-stringify x 15,549 ops/sec ±1.12% (84 runs sampled)
113-
The fastest is fast-stable-stringify
98+
quick-stable-stringify x 25,499 ops/sec ±1.79% (82 runs sampled)
99+
fast-json-stable-stringify x 18,566 ops/sec ±0.43% (89 runs sampled)
100+
json-stable-stringify x 14,453 ops/sec ±0.62% (88 runs sampled)
101+
fast-stable-stringify x 20,763 ops/sec ±0.58% (88 runs sampled)
102+
faster-stable-stringify x 18,320 ops/sec ±0.90% (88 runs sampled)
103+
The fastest is quick-stable-stringify
114104
```
115105

116-
117-
## Enterprise support
118-
119-
fast-json-stable-stringify package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-fast-json-stable-stringify?utm_source=npm-fast-json-stable-stringify&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.
120-
121-
122-
## Security contact
123-
124-
To report a security vulnerability, please use the
125-
[Tidelift security contact](https://tidelift.com/security).
126-
Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.
127-
128-
129106
# license
130107

131108
[MIT](https://github.com/epoberezkin/fast-json-stable-stringify/blob/master/LICENSE)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "quick-stable-stringify",
3-
"version": "1.0.0",
3+
"version": "0.0.1",
44
"description": "Deterministic `JSON.stringify()` - a faster version of Evgeny's fast-json-stable-strigify. Built with Typescript and modern Javascript.",
55
"main": "./dist/index.js",
66
"exports": "./dist/index.js",

0 commit comments

Comments
 (0)