{ "_args": [ [ { "raw": "json-stable-stringify@^1.0.1", "scope": null, "escapedName": "json-stable-stringify", "name": "json-stable-stringify", "rawSpec": "^1.0.1", "spec": ">=1.0.1 <2.0.0", "type": "range" }, "/home/jdaugherty/work/GT2/GT2-Android/node_modules/metro" ] ], "_from": "json-stable-stringify@>=1.0.1 <2.0.0", "_id": "json-stable-stringify@1.0.1", "_inCache": true, "_location": "/json-stable-stringify", "_nodeVersion": "4.2.1", "_npmOperationalInternal": { "host": "packages-5-east.internal.npmjs.com", "tmp": "tmp/json-stable-stringify-1.0.1.tgz_1454436356521_0.9410459187347442" }, "_npmUser": { "name": "substack", "email": "substack@gmail.com" }, "_npmVersion": "3.4.1", "_phantomChildren": {}, "_requested": { "raw": "json-stable-stringify@^1.0.1", "scope": null, "escapedName": "json-stable-stringify", "name": "json-stable-stringify", "rawSpec": "^1.0.1", "spec": ">=1.0.1 <2.0.0", "type": "range" }, "_requiredBy": [ "/jest-runtime", "/metro" ], "_resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "_shasum": "9a759d39c5f2ff503fd5300646ed445f88c4f9af", "_shrinkwrap": null, "_spec": "json-stable-stringify@^1.0.1", "_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/metro", "author": { "name": "James Halliday", "email": "mail@substack.net", "url": "http://substack.net" }, "bugs": { "url": "https://github.com/substack/json-stable-stringify/issues" }, "dependencies": { "jsonify": "~0.0.0" }, "description": "deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results", "devDependencies": { "tape": "~1.0.4" }, "directories": {}, "dist": { "shasum": "9a759d39c5f2ff503fd5300646ed445f88c4f9af", "tarball": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" }, "gitHead": "4a3ac9cc006a91e64901f8ebe78d23bf9fc9fbd0", "homepage": "https://github.com/substack/json-stable-stringify", "keywords": [ "json", "stringify", "deterministic", "hash", "sort", "stable" ], "license": "MIT", "main": "index.js", "maintainers": [ { "name": "substack", "email": "mail@substack.net" } ], "name": "json-stable-stringify", "optionalDependencies": {}, "readme": "# json-stable-stringify\n\ndeterministic version of `JSON.stringify()` so you can get a consistent hash\nfrom stringified results\n\nYou can also pass in a custom comparison function.\n\n[![browser support](https://ci.testling.com/substack/json-stable-stringify.png)](https://ci.testling.com/substack/json-stable-stringify)\n\n[![build status](https://secure.travis-ci.org/substack/json-stable-stringify.png)](http://travis-ci.org/substack/json-stable-stringify)\n\n# example\n\n``` js\nvar stringify = require('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# methods\n\n``` js\nvar stringify = require('json-stable-stringify')\n```\n\n## var str = stringify(obj, opts)\n\nReturn a deterministic stringified string `str` from the object `obj`.\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('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('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### space\n\nIf you specify `opts.space`, it will indent the output for pretty-printing.\nValid values are strings (e.g. `{space: \\t}`) or a number of spaces\n(`{space: 3}`).\n\nFor example:\n\n```js\nvar obj = { b: 1, a: { foo: 'bar', and: [1, 2, 3] } };\nvar s = stringify(obj, { space: ' ' });\nconsole.log(s);\n```\n\nwhich outputs:\n\n```\n{\n \"a\": {\n \"and\": [\n 1,\n 2,\n 3\n ],\n \"foo\": \"bar\"\n },\n \"b\": 1\n}\n```\n\n### replacer\n\nThe replacer parameter is a function `opts.replacer(key, value)` that behaves\nthe same as the replacer\n[from the core JSON object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_native_JSON#The_replacer_parameter).\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install json-stable-stringify\n```\n\n# license\n\nMIT\n", "readmeFilename": "readme.markdown", "repository": { "type": "git", "url": "git://github.com/substack/json-stable-stringify.git" }, "scripts": { "test": "tape test/*.js" }, "testling": { "files": "test/*.js", "browsers": [ "ie/8..latest", "ff/5", "ff/latest", "chrome/15", "chrome/latest", "safari/latest", "opera/latest" ] }, "version": "1.0.1" }