{ "_args": [ [ { "raw": "fast-json-stable-stringify@^2.0.0", "scope": null, "escapedName": "fast-json-stable-stringify", "name": "fast-json-stable-stringify", "rawSpec": "^2.0.0", "spec": ">=2.0.0 <3.0.0", "type": "range" }, "/home/jdaugherty/work/GT2/GT2-Android/node_modules/ajv" ] ], "_from": "fast-json-stable-stringify@>=2.0.0 <3.0.0", "_id": "fast-json-stable-stringify@2.0.0", "_inCache": true, "_location": "/fast-json-stable-stringify", "_nodeVersion": "7.10.0", "_npmOperationalInternal": { "host": "s3://npm-registry-packages", "tmp": "tmp/fast-json-stable-stringify-2.0.0.tgz_1508867040972_0.377122831530869" }, "_npmUser": { "name": "esp", "email": "e.poberezkin@me.com" }, "_npmVersion": "4.2.0", "_phantomChildren": {}, "_requested": { "raw": "fast-json-stable-stringify@^2.0.0", "scope": null, "escapedName": "fast-json-stable-stringify", "name": "fast-json-stable-stringify", "rawSpec": "^2.0.0", "spec": ">=2.0.0 <3.0.0", "type": "range" }, "_requiredBy": [ "/ajv" ], "_resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "_shasum": "d5142c0caee6b1189f87d3a76111064f86c8bbf2", "_shrinkwrap": null, "_spec": "fast-json-stable-stringify@^2.0.0", "_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/ajv", "author": { "name": "James Halliday", "email": "mail@substack.net", "url": "http://substack.net" }, "bugs": { "url": "https://github.com/epoberezkin/fast-json-stable-stringify/issues" }, "dependencies": {}, "description": "deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify", "devDependencies": { "benchmark": "^2.1.4", "coveralls": "^3.0.0", "eslint": "^4.9.0", "fast-stable-stringify": "latest", "faster-stable-stringify": "latest", "json-stable-stringify": "latest", "nyc": "^11.2.1", "pre-commit": "^1.2.2", "tape": "~1.0.4" }, "directories": {}, "dist": { "shasum": "d5142c0caee6b1189f87d3a76111064f86c8bbf2", "tarball": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz" }, "gitHead": "43c016ad43684fb3dff2f94e6bc25cd39fdf7f3b", "homepage": "https://github.com/epoberezkin/fast-json-stable-stringify", "keywords": [ "json", "stringify", "deterministic", "hash", "stable" ], "license": "MIT", "main": "index.js", "maintainers": [ { "name": "esp", "email": "e.poberezkin@me.com" } ], "name": "fast-json-stable-stringify", "nyc": { "exclude": [ "test", "node_modules" ], "reporter": [ "lcov", "text-summary" ] }, "optionalDependencies": {}, "readme": "# fast-json-stable-stringify\n\nDeterministic `JSON.stringify()` - a faster version of [@substack](https://github.com/substack)'s json-stable-strigify without [jsonify](https://github.com/substack/jsonify).\n\nYou can also pass in a custom comparison function.\n\n[![Build Status](https://travis-ci.org/epoberezkin/fast-json-stable-stringify.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-json-stable-stringify)\n[![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)\n\n# example\n\n``` js\nvar stringify = require('fast-json-stable-stringify');\nvar obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };\nconsole.log(stringify(obj));\n```\n\noutput:\n\n```\n{\"a\":3,\"b\":[{\"x\":4,\"y\":5,\"z\":6},7],\"c\":8}\n```\n\n\n# methods\n\n``` js\nvar stringify = require('fast-json-stable-stringify')\n```\n\n## var str = stringify(obj, opts)\n\nReturn a deterministic stringified string `str` from the object `obj`.\n\n\n## options\n\n### cmp\n\nIf `opts` is given, you can supply an `opts.cmp` to have a custom comparison\nfunction for object keys. Your function `opts.cmp` is called with these\nparameters:\n\n``` js\nopts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue })\n```\n\nFor example, to sort on the object key names in reverse order you could write:\n\n``` js\nvar stringify = require('fast-json-stable-stringify');\n\nvar obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };\nvar s = stringify(obj, function (a, b) {\n return a.key < b.key ? 1 : -1;\n});\nconsole.log(s);\n```\n\nwhich results in the output string:\n\n```\n{\"c\":8,\"b\":[{\"z\":6,\"y\":5,\"x\":4},7],\"a\":3}\n```\n\nOr if you wanted to sort on the object values in reverse order, you could write:\n\n```\nvar stringify = require('fast-json-stable-stringify');\n\nvar obj = { d: 6, c: 5, b: [{z:3,y:2,x:1},9], a: 10 };\nvar s = stringify(obj, function (a, b) {\n return a.value < b.value ? 1 : -1;\n});\nconsole.log(s);\n```\n\nwhich outputs:\n\n```\n{\"d\":6,\"c\":5,\"b\":[{\"z\":3,\"y\":2,\"x\":1},9],\"a\":10}\n```\n\n### cycles\n\nPass `true` in `opts.cycles` to stringify circular property as `__cycle__` - the result will not be a valid JSON string in this case.\n\nTypeError will be thrown in case of circular object without this option.\n\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install fast-json-stable-stringify\n```\n\n\n# benchmark\n\nTo run benchmark (requires Node.js 6+):\n```\nnode benchmark\n```\n\nResults:\n```\nfast-json-stable-stringify x 17,189 ops/sec ±1.43% (83 runs sampled)\njson-stable-stringify x 13,634 ops/sec ±1.39% (85 runs sampled)\nfast-stable-stringify x 20,212 ops/sec ±1.20% (84 runs sampled)\nfaster-stable-stringify x 15,549 ops/sec ±1.12% (84 runs sampled)\nThe fastest is fast-stable-stringify\n```\n\n\n# license\n\n[MIT](https://github.com/epoberezkin/fast-json-stable-stringify/blob/master/LICENSE)\n", "readmeFilename": "README.md", "repository": { "type": "git", "url": "git://github.com/epoberezkin/fast-json-stable-stringify.git" }, "scripts": { "eslint": "eslint index.js test", "test": "npm run eslint && nyc npm run test-spec", "test-spec": "tape test/*.js" }, "version": "2.0.0" }