{"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"keywords":["json","json5","parser","serializer","data"],"dist-tags":{"latest":"1.3.0"},"author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"description":"a set of utilities to work with JSON / JSON5 documents","readme":"`jju` - a set of utilities to work with JSON / JSON5 documents\n\n[![npm version badge](https://img.shields.io/npm/v/jju.svg)](https://www.npmjs.org/package/jju)\n[![travis badge](http://img.shields.io/travis/rlidwka/jju.svg)](https://travis-ci.org/rlidwka/jju)\n[![downloads badge](http://img.shields.io/npm/dm/jju.svg)](https://www.npmjs.org/package/jju)\n\n## Installation\n\n```\nnpm install jju\n```\n\n## Usage\n\nThis module provides following functions:\n\n1. [jju.parse()](#jjuparse-function) parses json/json5 text and returns a javascript value it corresponds to\n2. [jju.stringify()](#jjustringify-function) converts javascript value to an appropriate json/json5 text\n3. [jju.tokenize()](#jjutokenize-function) parses json/json5 text and returns an array of tokens it consists of ([see demo](http://rlidwka.github.io/jju/tokenizer.html))\n4. [jju.analyze()](#jjuanalyze-function) parses json/json5 text and tries to guess indentation, quoting style, etc.\n5. [jju.update()](#jjuupdate-function) changes json/json5 text, preserving original formatting as much as possible ([see demo](http://rlidwka.github.io/jju/editor.html))\n\nAll functions are able to work with a standard JSON documents. `jju.parse()` and `jju.stringify()` are better in some cases, but slower than native `JSON.parse()` and `JSON.stringify()` versions. Detailed description see below.\n\n### jju.parse() function\n\n```javascript\n/*\n * Main syntax:\n *\n * `text` - text to parse, type: String\n * `options` - parser options, type: Object\n */\njju.parse(text[, options])\n\n// compatibility syntax\njju.parse(text[, reviver])\n```\n\nOptions:\n\n - reserved\\_keys - what to do with reserved keys (String, default=\"ignore\")\n   - \"ignore\" - ignore reserved keys\n   - \"throw\" - throw SyntaxError in case of reserved keys\n   - \"replace\" - replace reserved keys, this is the default JSON.parse behaviour, unsafe\n\n     Reserved keys are keys that exist in an empty object (`hasOwnProperty`, `__proto__`, etc.).\n\n```javascript\n// 'ignore' will cause reserved keys to be ignored:\nparse('{hasOwnProperty: 1}', {reserved_keys: 'ignore'}) == {}\nparse('{hasOwnProperty: 1, x: 2}', {reserved_keys: 'ignore'}).hasOwnProperty('x') == true\n\n// 'throw' will cause SyntaxError in these cases:\nparse('{hasOwnProperty: 1}', {reserved_keys: 'throw'}) == SyntaxError\n\n// 'replace' will replace reserved keys with new ones:\nparse('{hasOwnProperty: 1}', {reserved_keys: 'throw'}) == {hasOwnProperty: 1}\nparse('{hasOwnProperty: 1, x: 2}', {reserved_keys: 'ignore'}).hasOwnProperty('x') == TypeError\n```\n\n\n - null\\_prototype - create object as Object.create(null) instead of '{}' (Boolean)\n\n   if `reserved_keys != 'replace'`, default is **false**\n\n   if `reserved_keys == 'replace'`, default is **true**\n\n   It is usually unsafe and not recommended to change this option to false in the last case.\n\n - reviver - reviver function - Function\n\n   This function should follow JSON specification\n\n - mode - operation mode, set it to 'json' if you want to throw on non-strict json files (String)\n\n### jju.stringify() function\n\n```javascript\n/*\n * Main syntax:\n *\n * `value` - value to serialize, type: *\n * `options` - serializer options, type: Object\n */\njju.stringify(value[, options])\n\n// compatibility syntax\njju.stringify(value[, replacer [, indent])\n```\n\nOptions:\n\n - ascii - output ascii only (Boolean, default=false)\n   If this option is enabled, output will not have any characters except of 0x20-0x7f.\n\n - indent - indentation (String, Number or Boolean, default='\\t')\n   This option follows JSON specification.\n\n - quote - enquoting char (String, \"'\" or '\"', default=\"'\")\n - quote\\_keys - whether keys quoting in objects is required or not (String, default=false)\n   If you want `{\"q\": 1}` instead of `{q: 1}`, set it to true.\n\n - sort\\_keys - sort all keys while stringifying (Boolean or Function, default=false)\n   By default sort order will depend on implementation, with v8 it's insertion order. If set to `true`, all keys (but not arrays) will be sorted alphabetically. You can provide your own sorting function as well.\n\n - replacer - replacer function or array (Function or Array)\n   This option follows JSON specification.\n\n - no\\_trailing\\_comma = don't output trailing comma (Boolean, default=false)\n   If this option is set, arrays like this `[1,2,3,]` will never be generated. Otherwise they may be generated for pretty printing.\n\n - mode - operation mode, set it to 'json' if you want correct json in the output (String)\n\n   Currently it's either 'json' or something else. If it is 'json', following options are implied:\n\n   - options.quote = '\"'\n   - options.no\\_trailing\\_comma = true\n   - options.quote\\_keys = true\n   - '\\x' literals are not used\n\n### jju.tokenize() function\n\n```javascript\n/*\n * Main syntax:\n *\n * `text` - text to tokenize, type: String\n * `options` - parser options, type: Object\n */\njju.tokenize(text[, options])\n```\n\nOptions are the same as for the `jju.parse` function.\n\nReturn value is an array of tokens, where each token is an object:\n\n - raw (String) - raw text of this token, if you join all raw's, you will get the original document\n - type (String) - type of the token, can be `whitespace`, `comment`, `key`, `literal`, `separator` or `newline`\n - stack (Array) - path to the current token in the syntax tree\n - value - value of the token if token is a `key` or `literal`\n\nYou can check tokenizer for yourself using [this demo](http://rlidwka.github.io/jju/tokenizer.html).\n\n### jju.analyze() function\n\n```javascript\n/*\n * Main syntax:\n *\n * `text` - text to analyze, type: String\n * `options` - parser options, type: Object\n */\njju.analyze(text[, options])\n```\n\nOptions are the same as for the `jju.parse` function.\n\nReturn value is an object defining a programming style in which the document was written.\n\n - indent (String) - preferred indentation\n - newline (String) - preferred newline\n - quote (String) - `\"` or `'` depending on which quote is preferred\n - quote\\_keys (Boolean) - `true` if unquoted keys were used at least once\n - has\\_whitespace (Boolean) - `true` if input has a whitespace token\n - has\\_comments (Boolean) - `true` if input has a comment token\n - has\\_newlines (Boolean) - `true` if input has a newline token\n - has\\_trailing\\_comma (Boolean) - `true` if input has at least one trailing comma\n\n### jju.update() function\n\n```javascript\n/*\n * Main syntax:\n *\n * `text` - original text, type: String\n * `new_value` - new value you want to set\n * `options` - parser or stringifier options, type: Object\n */\njju.update(text, new_value[, options])\n```\n\nIf you want to update a JSON document, here is the general approach:\n\n```javascript\n// here is your original JSON document:\nvar input = '{\"foo\": \"bar\", \"baz\": 123}'\n\n// you need to parse it first:\nvar json = jju.parse(input, {mode: 'json'})\n// json is { foo: 'bar', baz: 123 }\n\n// then you can change it as you like:\njson.foo = 'quux'\njson.hello = 'world'\n\n// then you run an update function to change the original json:\nvar output = jju.update(input, json, {mode: 'json'})\n// output is '{\"foo\": \"quux\", \"baz\": 123, \"hello\": \"world\"}'\n```\n\nLook at [this demo](http://rlidwka.github.io/jju/editor.html) to test various types of json.\n\n## Advantages over existing JSON libraries\n\nIn a few cases it makes sense to use this module instead of built-in JSON methods.\n\nParser:\n - better error reporting with source code and line numbers\n\nIn case of syntax error, JSON.parse does not return any good information to the user. This module does:\n\n```\n$ node -e 'require(\"jju\").parse(\"[1,1,1,1,invalid]\")'\n\nSyntaxError: Unexpected token 'i' at 0:9\n[1,1,1,1,invalid]\n         ^\n```\n\nThis module is about 5 times slower, so if user experience matters to you more than performance, use this module. If you're working with a lot of machine-generated data, use JSON.parse instead.\n\nStringifier:\n - util.inspect-like pretty printing\n\nThis module behaves more smart when dealing with object and arrays, and does not always print newlines in them:\n\n```\n$ node -e 'console.log(require(\"./\").stringify([[,,,],,,[,,,,]], {mode:\"json\"}))'\n[\n        [null, null, null],\n        null,\n        null,\n        [null, null, null, null]\n]\n```\n\nJSON.stringify will split this into 15 lines, and it's hard to read.\n\nYet again, this feature comes with a performance hit, so if user experience matters to you more than performance, use this module. If your JSON will be consumed by machines, use JSON.stringify instead.\n\nAs a rule of thumb, if you use \"space\" argument to indent your JSON, you'd better use this module instead.\n\n","repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"users":{"fgribreau":true,"kserks":true,"invntrm":true},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"versions":{"0.4.0":{"name":"jju","version":"0.4.0","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":"WTFPL","_id":"jju@0.4.0","dist":{"shasum":"0c994b2e644aa0240da7d00b00883e66e11eb37e","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.4.0.tgz"},"_from":".","_npmVersion":"1.3.1","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.4.1":{"name":"jju","version":"0.4.1","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":"WTFPL","homepage":"https://github.com/rlidwka/jju","_id":"jju@0.4.1","dist":{"shasum":"c475187fbfbf59a0416d897d275b0d6810c33fe0","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.4.1.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.4.2":{"name":"jju","version":"0.4.2","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":"WTFPL","homepage":"https://github.com/rlidwka/jju","_id":"jju@0.4.2","dist":{"shasum":"19cbb9e149b99e085a2de1ff7f2d98426ae76009","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.4.2.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.5.0":{"name":"jju","version":"0.5.0","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":"WTFPL","_id":"jju@0.5.0","dist":{"shasum":"be5a3dad6beb0f8ddb2716648c78568d341a5e30","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.5.0.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.5.1":{"name":"jju","version":"0.5.1","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@0.5.1","dist":{"shasum":"48bcdc512612a71ce5bc148bff846ca9f891a125","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.5.1.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.5.2":{"name":"jju","version":"0.5.2","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*","js-yaml":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"homepage":"https://github.com/rlidwka/jju","_id":"jju@0.5.2","dist":{"shasum":"d9f8bd89b168ef1bb02e3d51c860d2451ca7e4ad","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.5.2.tgz"},"_from":".","_npmVersion":"1.1.0-1325","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.5.3":{"name":"jju","version":"0.5.3","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*","js-yaml":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"homepage":"https://github.com/rlidwka/jju","_id":"jju@0.5.3","dist":{"shasum":"055493756f4bbb7c249273d5b6100fb9d4cb1677","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.5.3.tgz"},"_from":".","_npmVersion":"1.1.0-1325","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.6.0":{"name":"jju","version":"0.6.0","description":"a set of utilities to operate on JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*","js-yaml":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"homepage":"https://github.com/rlidwka/jju","_id":"jju@0.6.0","dist":{"shasum":"418b8cdf0f65c40a121ad7be295bbfc1cbc2cc64","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.6.0.tgz"},"_from":".","_npmVersion":"1.1.0-1325","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.6.1":{"name":"jju","version":"0.6.1","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"devDependencies":{"mocha":"*","js-yaml":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"homepage":"https://github.com/rlidwka/jju","_id":"jju@0.6.1","dist":{"shasum":"2bacef5e9c1d37669c8d65e49f06b95c6fee2206","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.6.1.tgz"},"_from":".","_npmVersion":"1.1.0-1326","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"0.7.0":{"name":"jju","version":"0.7.0","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":"*","js-yaml":"*"},"scripts":{"test":"mocha test/*.js"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@0.7.0","dist":{"shasum":"a2c3243d2b2e56aac56d520eb76289234a84b8b0","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-0.7.0.tgz"},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"1.0.0":{"name":"jju","version":"1.0.0","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":"*","js-yaml":"*","eslint":"git://github.com/eslint/eslint"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.0.0","dist":{"shasum":"d30781d7d67ce062c9aded8cf9c5bcd82411fdac","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.0.0.tgz"},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"1.0.1":{"name":"jju","version":"1.0.1","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":"*","js-yaml":"*","eslint":"git://github.com/eslint/eslint"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.0.1","dist":{"shasum":"16cf678772d66f18d0f23fa4918656e2a7b074c5","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.0.1.tgz"},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"1.0.2":{"name":"jju","version":"1.0.2","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":"*","js-yaml":"*","eslint":">= 0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.0.2","dist":{"shasum":"e2071ac840c4b459e56e8d0dbb3c50381ad74d88","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.0.2.tgz"},"_from":".","_npmVersion":"1.3.0","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"1.0.3":{"name":"jju","version":"1.0.3","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":"*","js-yaml":"*","eslint":">= 0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.0.3","dist":{"shasum":"914c8276b70234ca80b8b7375dff4212a2cb2abb","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.0.3.tgz"},"_from":".","_npmVersion":"1.3.1","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"directories":{}},"1.0.4":{"name":"jju","version":"1.0.4","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":"*","js-yaml":"*","eslint":">= 0.6"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.0.4","_shasum":"d6aec821b79871db4548b13bff7eecf208946590","_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"dist":{"shasum":"d6aec821b79871db4548b13bff7eecf208946590","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.0.4.tgz"},"directories":{}},"1.0.5":{"name":"jju","version":"1.0.5","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":">=1.21.0","js-yaml":">=3.1.0","eslint":"~0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.0.5","_shasum":"8a786769fa21002657d894e505e39c5ef3278b4c","_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"dist":{"shasum":"8a786769fa21002657d894e505e39c5ef3278b4c","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.0.5.tgz"},"directories":{}},"1.1.0":{"name":"jju","version":"1.1.0","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":">=1.21.0","js-yaml":">=3.1.0","eslint":"~0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"_id":"jju@1.1.0","_shasum":"54977557f3cc673b5a22f7e27115363cef17b61b","_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"dist":{"shasum":"54977557f3cc673b5a22f7e27115363cef17b61b","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.1.0.tgz"},"directories":{}},"1.2.0":{"name":"jju","version":"1.2.0","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":">=1.21.0","js-yaml":">=3.1.0","eslint":"~0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"gitHead":"6f1b2a8321cb0dfcffc50378b3632853cf529671","_id":"jju@1.2.0","_shasum":"add5b586fec853b44929d78bf94864ab577c02e9","_from":".","_npmVersion":"2.0.1","_nodeVersion":"1.1.1","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"dist":{"shasum":"add5b586fec853b44929d78bf94864ab577c02e9","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.2.0.tgz"},"directories":{}},"1.2.1":{"name":"jju","version":"1.2.1","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":">=1.21.0","js-yaml":">=3.1.0","eslint":"~0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"gitHead":"8b079c1d03af527ab28a47c7b714d6f888abc53d","_id":"jju@1.2.1","_shasum":"edf6ec20d5d668c80c2c00cea63f8a9422a4b528","_from":".","_npmVersion":"2.0.1","_nodeVersion":"2.2.1","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"dist":{"shasum":"edf6ec20d5d668c80c2c00cea63f8a9422a4b528","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.2.1.tgz"},"directories":{}},"1.3.0":{"name":"jju","version":"1.3.0","description":"a set of utilities to work with JSON / JSON5 documents","author":{"name":"Alex Kocharin","email":"alex@kocharin.ru"},"repository":{"type":"git","url":"git://github.com/rlidwka/jju"},"bugs":{"url":"https://github.com/rlidwka/jju/issues"},"homepage":"http://rlidwka.github.io/jju/","devDependencies":{"mocha":">=1.21.0","js-yaml":">=3.1.0","eslint":"~0.4.2"},"scripts":{"test":"mocha test/*.js","lint":"eslint -c ./.eslint.yaml ./lib"},"keywords":["json","json5","parser","serializer","data"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"license":{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"},"gitHead":"6a1248fc29abb3f418fa143e31ee548cd5a2477c","_id":"jju@1.3.0","_shasum":"dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa","_from":".","_npmVersion":"2.0.1","_nodeVersion":"2.2.1","_npmUser":{"name":"rlidwka","email":"alex@kocharin.ru"},"maintainers":[{"name":"rlidwka","email":"alex@kocharin.ru"}],"dist":{"shasum":"dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/jju/-/jju-1.3.0.tgz"},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/jju-1.3.0.tgz_1455989902144_0.8787874563131481"},"directories":{}}},"name":"jju","time":{"modified":"2016-02-20T17:38:26.913Z","created":"2013-12-21T00:19:36.268Z","0.4.0":"2013-12-21T00:19:42.389Z","0.4.1":"2013-12-22T08:04:55.403Z","0.4.2":"2013-12-22T12:33:44.835Z","0.5.0":"2014-01-07T08:07:51.881Z","0.5.1":"2014-01-11T13:31:40.250Z","0.5.2":"2014-02-03T03:43:44.424Z","0.5.3":"2014-02-03T05:44:50.638Z","0.6.0":"2014-02-09T01:50:21.322Z","0.6.1":"2014-02-11T23:50:53.368Z","0.7.0":"2014-02-23T14:29:35.643Z","1.0.0":"2014-02-26T23:44:25.591Z","1.0.1":"2014-03-01T12:23:14.959Z","1.0.2":"2014-03-13T23:05:11.392Z","1.0.3":"2014-03-27T21:57:06.183Z","1.0.4":"2014-06-24T06:37:30.727Z","1.0.5":"2014-08-11T03:00:15.103Z","1.1.0":"2014-09-04T20:58:08.670Z","1.2.0":"2015-02-10T23:13:43.670Z","1.2.1":"2015-09-12T23:02:59.163Z","1.3.0":"2016-02-20T17:38:26.913Z"},"readmeFilename":"README.md","homepage":"http://rlidwka.github.io/jju/"}