{"_id":"jsonic","_rev":"38-a74eb519df3a0385b215330f5782d308","name":"jsonic","dist-tags":{"latest":"2.28.0"},"versions":{"0.1.0":{"name":"jsonic","version":"0.1.0","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.1.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"dist":{"shasum":"50ffcb7ca0f3d176c1fe52922b13b6ee5c0fb791","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.1.0.tgz","integrity":"sha512-S96PFyD4xPWRnNE+cgSFIO6U6YLL7w+dqs7pk/JT9GiyeDb06KD6ksiQC0iwqTyJES1rC5gSkZqk9X8foM8uaA==","signatures":[{"sig":"MEQCIBrGlvP/GdigbGGh+8srwBTSriBQX95k7Opd03vyuNv6AiAAkmFnLaGxQ3/Q6I5KDeSC05fmdjxeeZRg6vDp0+AVvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-parser.js","jsonic-parser.pegjs"],"scripts":{"test":"node_modules/.bin/mocha test/jsonic.test.js"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"1.2.18","description":"JSON parser that isn't strict","directories":{},"devDependencies":{"mocha":"~1.13.0","pegjs":"~0.7.0","underscore":"~1.5.2"}},"0.1.1":{"name":"jsonic","version":"0.1.1","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.1.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"80435672a4a4e7928020c25a1c300d9c2fcd57d4","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.1.1.tgz","integrity":"sha512-gQgMaxt82lfrl5hlhXLU/BFwszr4VaxC5hRllWpLleW6G7hJ+EdvYTryX7UGXu824jADAsNXj2sCTiAjF3+iTw==","signatures":[{"sig":"MEYCIQCEgGfHM4LlzIa/GyaW3dSnwNidign+ilYnlmXjyjIg9gIhAPCoo1wwCleeLhrrehSqyttgp28h8juGpESH14DeLCGv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-min.js","jsonic-min.map","jsonic-parser.js","jsonic-parser.pegjs"],"scripts":{"test":"./node_modules/.bin/jasmine-node ./test","build":"sh ./build.sh","browser":"phantomjs test/run-jasmine.js test/jasmine.html"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"1.3.11","description":"A JSON parser that isn't strict.","directories":{},"devDependencies":{"pegjs":"~0.7.0","underscore":"~1.5.2","jasmine-node":"~1.11.0"}},"0.1.2":{"name":"jsonic","version":"0.1.2","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.1.2","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"37abf43123645a0cd29dcba82bbbb52d6f7503b3","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.1.2.tgz","integrity":"sha512-A2iMLnzfMxdAAftXTCLb9m/caK8dksDVt77hEbZnpnc+cLc5ApSwPbFDh+VRKhQUDJ53uoVAHbKaLD+4p37ASw==","signatures":[{"sig":"MEQCIAjBEraIi9PUBj+X7WdnsVknThm5u7lAg+JXQdMrNWUlAiAEZXObwHKt4lIkEhOziaQc89PAfi3jzgPlGELRXKR+rA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-min.js","jsonic-min.map","jsonic-parser.js","jsonic-parser.pegjs"],"_shasum":"37abf43123645a0cd29dcba82bbbb52d6f7503b3","gitHead":"3b5e90ce7cfbe27c26a87bc78f184cffb3a83e18","scripts":{"test":"./test.sh","build":"./build.sh"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"1.4.28","description":"A JSON parser that isn't strict.","directories":{}},"0.2.0":{"name":"jsonic","version":"0.2.0","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.2.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"7e3a539642ddf2c4b80d3fa9115c0bfa9377c5bd","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.2.0.tgz","integrity":"sha512-8kPWqK1IR9mLZhsvfBj5QZ2W1BCLD5UnxaM2R1WcuDRu2wb9fx1MubVvrtI3MUl97Tvv8ImJ1SU7wjZwzXLG8w==","signatures":[{"sig":"MEUCIQCBNu2sBY/mGkuaRBBqLVVsLKwQJsujgvK7mFI9MQrIvwIgK5K811N4tW23i5QuPobG/wxF+qLX1kfm6H8nPMyd3sA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-min.js","jsonic-min.map","jsonic-parser.js","jsonic-parser.pegjs"],"_shasum":"7e3a539642ddf2c4b80d3fa9115c0bfa9377c5bd","gitHead":"b0862497a6b0f24b6f41416c551591c677263579","scripts":{"test":"./test.sh","build":"./build.sh"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"1.4.28","description":"A JSON parser that isn't strict.","directories":{}},"0.2.1":{"name":"jsonic","version":"0.2.1","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.2.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"8918901f42daf8a7646c3852e4ab5df12ba457df","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.2.1.tgz","integrity":"sha512-+jFm7pl7hXzqkBKV2t1gDJNJS+Ewt8rr/4C/sSoAignXI7xTtqxoeCVGrymX0sbxhzXt4w966dXDBXMGkBqPHg==","signatures":[{"sig":"MEYCIQDIHznv+Hv+z4ZVY7sfL35BkEM7j6cJLlbjb0IQdNRP7wIhAMSa2RLLulBvruAQgMRAvEEuVPiqytKS7So1ZCZaZ0st","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-min.js","jsonic-min.map","jsonic-parser.js","jsonic-parser.pegjs"],"_shasum":"8918901f42daf8a7646c3852e4ab5df12ba457df","gitHead":"47261c868973f01eac8ddbf101a6614a78d91d18","scripts":{"test":"./test.sh","build":"./build.sh"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"1.4.28","description":"A JSON parser that isn't strict.","directories":{}},"0.2.2":{"name":"jsonic","version":"0.2.2","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.2.2","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"127bb99df4d821652c48a23d025cf2b16e618491","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.2.2.tgz","integrity":"sha512-exdRbK2q3vYqR4528WSKZ8QUTMFm8QVRFxvLGunQU6YpPIbzVml6qwPxLQTqjw6BJ/Vdb7/xY5RrWIRyvGzFRg==","signatures":[{"sig":"MEUCICsnh1B6wWU5Yp/NKEDZ9qufP/XogVn673kLCwFsJY+rAiEA5+kjwhTaW3xjpV6wslaFXtzow/QGsrUpi8rT8ilAxAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-min.js","jsonic-min.map","jsonic-parser.js","jsonic-parser.pegjs"],"_shasum":"127bb99df4d821652c48a23d025cf2b16e618491","gitHead":"cb4229f51ecc4ef2489a3c629f29542d0eb4425b","scripts":{"test":"./test.sh","build":"./build.sh"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"1.4.28","description":"A JSON parser that isn't strict.","directories":{}},"0.3.0":{"name":"jsonic","version":"0.3.0","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.3.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"b545da95f54392e58b3dda05f5f2e377a6c9d1bf","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.3.0.tgz","integrity":"sha512-k2ZJQC8o1noOvOP7gK9zWBYL3GetDDVtLHd2OJt2hrbBLuHlZqLHB1uMGqqt1GwocvPm5DwpSeWiBvhnA4SjSw==","signatures":[{"sig":"MEYCIQDD1GYooltEFYP25mUrzpBMA62uRTUvxe0qANBjMu7GWQIhAIICTt1sz+ZN4V/7pUblrUYVG0s978NfEAzvzh5ma5GT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"jsonic.js","_from":".","files":["README.md","LICENSE","jsonic.js","jsonic-min.js","jsonic-min.map","jsonic-parser.js","jsonic-parser.pegjs"],"_shasum":"b545da95f54392e58b3dda05f5f2e377a6c9d1bf","gitHead":"cbab3771abc5163dcaeee9fc73b87e5840a6649a","scripts":{"test":"jasmine-node ./test ; phantomjs test/run-jasmine.js test/jasmine.html","build":"./build.sh"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"2.15.9","description":"A JSON parser that isn't strict.","directories":{},"_nodeVersion":"4.5.0","devDependencies":{"pegjs":"^0.8.0","phantomjs":"^1.8.2-3","underscore":"^1.8.3","jasmine-node":"^1.14.5"},"_npmOperationalInternal":{"tmp":"tmp/jsonic-0.3.0.tgz_1492176877351_0.06358216935768723","host":"packages-18-east.internal.npmjs.com"}},"0.3.1":{"name":"jsonic","version":"0.3.1","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@0.3.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"da306185dc635b649ad934e3f6826188cad73bdb","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-0.3.1.tgz","fileCount":8,"integrity":"sha512-5Md4EK3vPAMvP2sXY6M3/vQEPeX3LxEQBJuF979uypddXjsUlEoAI9/Nojh8tbw+YU5FjMoqSElO6oyjrAuprw==","signatures":[{"sig":"MEUCIHp7ZkErBIatRPP/Pmoe+HIs45GCNn6uH+p9+Z1wBo+wAiEA8L4ktn1klumHCcvoLPmJsTyA4qffxv5Xut2UvYvxqVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":182325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJburm3CRA9TVsSAnZWagAAkK8P/2Wn7xtCcJvhewhokP95\n4eezaKWjPrfbNEsJMoyedPZidORDO1y/hAUD0eTj002dNHX3969HMi6+Ef3c\neFF3hvoVZHxebc9BtTyaIPUg6rJdYfetmCAlf2y3PZV+r71ArfZ+yK+U2sPq\nNnUDaKkb3t6JZD3wQlmEYIZDEfpu/K4PPh5MrpuzZfhe7y+XyEkKocDlBR5A\nT20IcSexecWiENkqAGXBMlSWWRmSnAwvD3j2vy4QPCM2y/VhMP8+o/swRwcP\n7LxEEra0/rH/tIfI2xUKUvqVMdGxfZWp+RsQI5ZJGiJbp+tJQdr9pfZts1mg\nOFxqmoElScSlES3RJWBA0bkmi1qCmfAb+NHhhwMrml6fsYkLtaINdQrvGAiT\n6gqvV1CbifX7A9vFB71cNha5ckiKG31Owkv+Fz+mU4D1JqNkHVLD9pUiA91k\n8JUUVL1xHFHz+hEZtIF8sBxnWzBJVFM5iWACKm7B0iW5Oe5EYMjyxdbYF4pB\nv5B9HcjndW2+Z2Sr9zgbtBchxwykSynUR9h7gdEHMwAsjc8KFxmhjLudp3nR\nPKvtE/1x9SdYL3HnEbhhMvZ75JNMUqoVWs7MzJ0wRlkmJWrapxQbe3URjhqR\n+1QQ+nTSeg0KHe0jpH+BV+Z994RrX2Rc7uj+BhN0rpt7Xu57a0b2d/mme9qj\n1PY5\r\n=5xbg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"jsonic.js","gitHead":"d50a48c36045fb987e0c29cd442063e5a3301054","scripts":{"test":"jasmine-node ./test ; phantomjs test/run-jasmine.js test/jasmine.html","build":"./build.sh","clean":"rm -rf node_modules yarn.lock package-lock.json","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"`; echo TAG: v$REPO_VERSION; git commit -a -m v$REPO_VERSION; git push; git tag v$REPO_VERSION; git push --tags;","repo-publish":"npm run repo-tag; npm publish"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"6.1.0","description":"A JSON parser that isn't strict.","directories":{},"_nodeVersion":"8.11.2","_hasShrinkwrap":false,"devDependencies":{"pegjs":"^0.8.0","phantomjs":"^1.8.2-3","underscore":"^1.8.3","jasmine-node":"^1.14.5"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_0.3.1_1538963895101_0.23624237969613238","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"jsonic","version":"1.0.1","keywords":["json","parser"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@1.0.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"dist":{"shasum":"817054df7abfaf525ecf39d6647a2ed6d5fca7f1","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-1.0.1.tgz","fileCount":8,"integrity":"sha512-6GitEN4plTuB/I1o9kDZl7Pgc+DvFG1BG88IqaUz4eQglCA1uAgxWdXhLNA6ffaYsmzPjOysDpp6CYTwRiuXLw==","signatures":[{"sig":"MEUCIQCkJCTyjEVhpF+cEJCtIRh8RbvcZwCDMZjNblNu2VxLJQIgbiZwePW/QUjWZaJvx9vBvLJYToRvMtEmHa8cUl6GO68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWM4XCRA9TVsSAnZWagAAX7QP/iKJ22hno4Zc+hce2mQ9\nXszsvsj1k6jrE6ZhrmXb1QSF/gVeCJXIiESBYtmD/QLmWOHAcYTAxxsHLphg\ne9CckZ/DUHuph2d5sHNLlmuoyQu+H3CsWFvOYWsUwd5QUiW+YZRBshk7W1Ew\nNbg4SN0hZw3WKAsDT5XCJn+E9+zI66F5rGYD0Obem/EtbsD6MFA0/osPnF7s\nt1bsVHp9yl8k0NbsTz0GpFRq3NNnxNu1s/nvOUFIhUhXLXNsa9aqufiK46U4\nMHqCOCJo2AvZLoqZTUsyC/+Atq5iXDF163lxdWv5v7PmhhfQPPbG6mhTJgQs\nYt/caW6WxPqEuIweE8U8QaU8Wqe8Te4Gxj1andO4XIvyvRKEfYxv05sPNrVZ\nJBWpjnMCbpv2YzSmCEE7ItWruTEA/JrO0Y6bBOeDOyKUUAfzdL9MiRdBB+to\nHhg5M39wrCyci3sXhpML3JFZwvBLyx4cfxm8FzK7+KiBdL5McuHsOU71BP8Y\ndtWK11T1imOIw5Pi6cdu8VyR1h78AmD9pWAF1VHTJBEcEw+wTagGWvKzcxMF\nE3ylkKfHinejvxKD90lmmXe1u1Uchv9VQc+46qx2JgV5GJjs3ivObWP2as0r\nrT0eOX98KUk4vJo3h/hF0JtPGivAe150AV0kMUzbLBwavGqeFNhjKx+D/YcB\nmWRa\r\n=yOkd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"jsonic.js","gitHead":"22efd592feee58ab932c8d5fdc86a3ee7bde44a5","scripts":{"test":"jasmine-node ./test ; phantomjs test/run-jasmine.js test/jasmine.html","build":"./build.sh","clean":"rm -rf node_modules yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"`; echo TAG: v$REPO_VERSION; git commit -a -m v$REPO_VERSION; git push; git tag v$REPO_VERSION; git push --tags;","repo-publish":"npm run reset && npm run repo-tag && npm publish --registry http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"6.13.4","description":"A JSON parser that isn't strict.","directories":{},"_nodeVersion":"12.14.1","_hasShrinkwrap":false,"devDependencies":{"pegjs":"^0.10.0","phantomjs":"^2.1.7","uglify-js":"^3.10.4","jasmine-node":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_1.0.1_1599655447214_0.24569616574642228","host":"s3://npm-registry-packages"}},"2.15.1":{"name":"jsonic","version":"2.15.1","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.15.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"e5a7042f8efa901461cbc2bd3ab488cde5f2fbaf","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.15.1.tgz","fileCount":34,"integrity":"sha512-3T8LACUsBfC7UGq1SMxRHn1JBjoPPsDviUyQghICMWx+YODjSti1a2PgMWt6kmlGyU1YVxX4xjtjFv7oMl0zbA==","signatures":[{"sig":"MEUCIQDYUQnbCitL4Q3I4W1AoHQLaQuLMJMqRj9F8UdGTHNr4QIgN2/aKgugy9S5gjVp0Ll0xiVu7C0kPrencrRHyHOLn90=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327897},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","browser":"dist/jsonic.min.js","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"6b3e8543fdd4e75973b7c3d891e639c7234e2800","scripts":{"test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","prettier":"prettier --write --no-semi --single-quote src/*.ts test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-open":"jest --coverage --detectOpenHandles","test-pure":"jest --coverage --config jest.config.pure.js","test-some":"jest -t","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"10.2.4","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","es-jest":"^2.1.0","esbuild":"^0.24.0","prettier":"^3.3.3","typescript":"^5.6.3","@jsonic/csv":"^0.5.0","@types/jest":"^29.5.14","@jsonic/directive":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.15.1_1730998119246_0.11569751593610067","host":"s3://npm-registry-packages"}},"2.15.2":{"name":"jsonic","version":"2.15.2","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.15.2","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"eab873d1be3e63cbad29139dc40a71c6a4615acb","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.15.2.tgz","fileCount":34,"integrity":"sha512-s8Jyvrj+ftIfUZQgEmEB2iK5VdWCBvvd0YeVV6zKDo6nmX8kUTUuSM/CmShZGHqNbjytZfF/sqXUaWDCN196VA==","signatures":[{"sig":"MEUCIQCx0yFWed///zzEy5uxgxtNRoq/CuJt58XSKomSp24xlAIgDHwj4bly2SaTUW1KON8fJ21vmNtrTjhIWiZYIMc0b2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327862},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"9a8cd0f39a2d122f6edd7f7c0ff15f119a9a6835","scripts":{"test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","prettier":"prettier --write --no-semi --single-quote src/*.ts test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-open":"jest --coverage --detectOpenHandles","test-pure":"jest --coverage --config jest.config.pure.js","test-some":"jest -t","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"10.2.4","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","es-jest":"^2.1.0","esbuild":"^0.24.0","prettier":"^3.3.3","typescript":"^5.6.3","@jsonic/csv":"^0.5.0","@types/jest":"^29.5.14","@jsonic/directive":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.15.2_1731002058036_0.000015217498682051911","host":"s3://npm-registry-packages"}},"2.16.0":{"name":"jsonic","version":"2.16.0","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.16.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"175883980ac5b82699589eff3fa997d7d885a609","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.16.0.tgz","fileCount":34,"integrity":"sha512-qxsSBQzcP/vC0ZIhuPtj1db0T7NA+knH30vIPzm7W7C7J0LJ/hqkvda50Xlo8JAAu7rNBbO/aWvcsycyG4kvjg==","signatures":[{"sig":"MEUCIEKlPXB8Jp/EDQ/SyKzVav+TUOlcm4YEaw4G/AzUaaiDAiEAhJ/pt3WP0z7x8kGyA9g/W0T6rVF288B9zF0n7GbSy7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327857},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"99d87f60c728d9f0fc89e19b25ff03767c1bd56a","scripts":{"test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","prettier":"prettier --write --no-semi --single-quote src/*.ts test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-open":"jest --coverage --detectOpenHandles","test-pure":"jest --coverage --config jest.config.pure.js","test-some":"jest -t","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"10.2.4","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","es-jest":"^2.1.0","esbuild":"^0.24.2","prettier":"^3.4.2","typescript":"^5.7.3","@jsonic/csv":"^0.7.0","@types/jest":"^29.5.14","@jsonic/directive":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.16.0_1737481401195_0.5972307243561412","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"jsonic","version":"2.17.0","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.17.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"859d56e24ee0d6462f07073fd892ce8e537a52aa","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.17.0.tgz","fileCount":41,"integrity":"sha512-m3cheaCWVa7xldVnzrVkcTa8CTxpMv32PHR2FwJKx8wv1rK3o6dzv1WFzxbnJGjWsaIfaHbNWvWiwdlvLZIVrg==","signatures":[{"sig":"MEUCIBvsPpQn9KlffM6oZZIgp4DNZ3cxLQ5L5bB8QWCHml5FAiEAsa6+mRwQque5zHiozhjJdbvZ5P5Ac4gS+JADd6SXYp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332778},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"3be792004d21486c667b603a6831b2e57fea841d","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-some":"node --enable-source-maps --test-name-pattern=\"$npm_config_pattern\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"10.9.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.11","@hapi/code":"^9.0.3","typescript":"^5.9.3","@jsonic/csv":"^0.7.0","@types/node":"^24.9.1","@jsonic/directive":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.17.0_1761233845389_0.9355841075653348","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"jsonic","version":"2.18.0","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.18.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"c1dda79b1be6ca7a821a692bac88351d218d5846","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.18.0.tgz","fileCount":41,"integrity":"sha512-9TLqqYFWsaJdTZhHys2zHSmFUAareegiPrhxXCLkSP4iaA4Zj8+5Q/fTFVkqPyNSZFSbFCwdwb2YJrqE4VwN0Q==","signatures":[{"sig":"MEYCIQCnobb6t7ed35MVmcI+NCqO7C2FNFBPVo+cy2G7hUXYQwIhAOtKH5AVUCuyZfTD/9pg+Gs3o/hDJ2V334g2UxyQJxQF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331118},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"56f3933e467f0e75b7b8340112ab3c971364c69a","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-some":"node --enable-source-maps --test-name-pattern=\"$npm_config_pattern\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"10.9.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"@hapi/code":"^9.0.3","typescript":"^5.9.3","@jsonic/csv":"^0.7.0","@types/node":"^24.9.1","@jsonic/directive":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.18.0_1762950396107_0.49096062900964","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"jsonic","version":"2.19.0","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.19.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"22001e757086a42aa0ec639e2c63a38b055580b0","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.19.0.tgz","fileCount":41,"integrity":"sha512-AvAwMp0CoLTOwmO/yVtnZjEMdPMyCae6IVnwdWBhUB2/ahBBgKy2vT/thrWtEqgWr+xv2z60Rv+IpsTnk914eg==","signatures":[{"sig":"MEUCICXP352hAos/8WQoyHH4JYCl5W5CxWtg61RXG2MOyd7JAiEA8YihsSY+FF34rYOw7DnXlJo+ByvQMKKVchUfa4qis+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336585},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"fe4b41b8bc6b63cd774031280a1af9c3b02cb922","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-some":"node --enable-source-maps --test-name-pattern=\"$npm_config_pattern\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@hapi/code":"^9.0.3","typescript":"^5.9.3","@jsonic/csv":"^0.9.0","@types/node":"^25.5.0","@jsonic/directive":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.19.0_1774460197746_0.3493449087481739","host":"s3://npm-registry-packages-npm-production"}},"2.20.1":{"name":"jsonic","version":"2.20.1","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.20.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"712534ff1256f47a8eaf6b18790ba417d39d142f","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.20.1.tgz","fileCount":41,"integrity":"sha512-iWrJg7HaUL3y6RxjkkeWBMoER5nkLlsqJzVws3JCFDeGZlpYQQa6S7ajvA/77S/NVScjj0LGXxcz3OduITEJHg==","signatures":[{"sig":"MEUCIB+2c0Fne7DKXsNunwcPooyDs4Bst0iFRWlYvPk2Ai8cAiEAj6Tgbb/EMEFpHQyDrpAXoRchlqqnAqGADkHgzCe5ECU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336827},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"29c1f2137ca1f617e14032933251ae6b1c714ad1","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","test-some":"node --enable-source-maps --test-name-pattern=\"$npm_config_pattern\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@hapi/code":"^9.0.3","typescript":"^5.9.3","@jsonic/csv":"^0.9.0","@types/node":"^25.5.0","@jsonic/directive":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.20.1_1774995541727_0.3308156393877435","host":"s3://npm-registry-packages-npm-production"}},"2.21.1":{"name":"jsonic","version":"2.21.1","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.21.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"0df2742900e99225a000c59da637f39ca4cf36c8","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.21.1.tgz","fileCount":41,"integrity":"sha512-T3sQb3/JQ+M26jQ8SEkHFy172+kzwEQDfMpndLZiWBvwbUUUETaDX27KyFQNT7pN9KEMu5Yn0aoOb30QWkMXKg==","signatures":[{"sig":"MEYCIQD9kYodJTYbfyo3S0mbniYx6aCZaZGa4MuVvvbuLBVZlQIhANG8Cq2EvG+3ny6TRwa+nnkxzdfhGNhje3BvkI+KQC/w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344167},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"f96a7a8c0112cb5e48b6a6cf05cf2acd3e337788","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@jsonic/csv":"^0.9.0","@types/node":"^25.5.2","@jsonic/directive":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.21.1_1775673472205_0.6494698903002472","host":"s3://npm-registry-packages-npm-production"}},"2.22.2":{"name":"jsonic","version":"2.22.2","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.22.2","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"9261c6008eae753d872e921f74355d790d2d2e9a","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.22.2.tgz","fileCount":41,"integrity":"sha512-z1035WUcwTuZARecDhP+zuN7FKBSfs0Bh4fPZ/RmDYBufOvtD6aX6OfTRYWUU6jnBkNo+ZAU9aiKTRyd1lnn2Q==","signatures":[{"sig":"MEQCIHL0Qew/BVp7Hb0XuQwVujPT1CoxshscrS/gw47L2cQIAiBx4HYShPwZxC9LlVdv6e5Qni1EGymP4c16V9eOJ0002A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371809},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"33ddc8d64ef1313e3345d247739f8afc44d514d3","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@jsonic/csv":"^0.9.0","@types/node":"^25.6.0","@jsonic/directive":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.22.2_1776080060247_0.477288180531646","host":"s3://npm-registry-packages-npm-production"}},"2.23.1":{"name":"jsonic","version":"2.23.1","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.23.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"375f8d057d22f4852f4e97037b632787939e0183","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.23.1.tgz","fileCount":41,"integrity":"sha512-XDgKxV2DRbjG9DRiO9miamSS3oy9uMFoi0ERxhO5GoukggI5uWnGpOD+O4o2dpD/VZv4iFZdBh6y5crXsAdIrg==","signatures":[{"sig":"MEQCIFK3TEhZZdaP6dIaEinNK7altZwD99qEKlv1cltVSTRvAiAfdD16KE2kIf/vcOPh2dMnkmr0tA4cbZkQz4PHt8V6bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378351},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"6269bd013b94224b593c45e951bc48c5b135f80f","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@jsonic/csv":"^0.9.0","@types/node":"^25.6.0","@jsonic/directive":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.23.1_1776252453773_0.652866985046018","host":"s3://npm-registry-packages-npm-production"}},"2.24.0":{"name":"jsonic","version":"2.24.0","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.24.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic"},"dist":{"shasum":"609821bdfb1497d94d4f22e6b6af92bd5c8b96ec","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.24.0.tgz","fileCount":41,"integrity":"sha512-llg8c8RiSHuBOrjrOxAFkA9nY0Kc2qxwAhArN4v4sU0chU2ajz9RyKivO/XpDdYH4G4sSGSlgmyV18gMJwG/5Q==","signatures":[{"sig":"MEUCIQDmr/rMEPcvcIiBM9fZfc+PItzsDKpphDi4wNRBLGS/DgIgX2vQnAEePVkKbD1gw+Awmvn+ssMSCdFB39GbCgASnDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380606},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"2ec4673cc2ec44153cfc796f7b281cce4bb34711","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@jsonic/csv":"^0.9.0","@types/node":"^25.6.0","@jsonic/directive":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.24.0_1776362035215_0.44470069614012453","host":"s3://npm-registry-packages-npm-production"}},"2.25.1":{"name":"jsonic","version":"2.25.1","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.25.1","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic","jsonic-bnf":"bin/jsonic-bnf"},"dist":{"shasum":"04082e6504be9b55b50cc7de19020893db69c5e1","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.25.1.tgz","fileCount":48,"integrity":"sha512-gBC99EMY5ed8y/W8EXsSdbkVKxqXlIvzYcdktykLaE/WBFzFcmba67/L8tkenB6m1DJb/jNXDytKTCYhK0xt0Q==","signatures":[{"sig":"MEUCICrt+EYJpi1tX6XSikObwafEnEVepUOIMT2ISXVBFqnzAiEAn9t1pFQPAXhLYmLi0557ilJrgGoQjEuhUpKfngoDsgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":477508},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"e97c3fee6333ff8f8d7e267e67d36afa323457d7","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.25.1_1776698648383_0.3150735813639407","host":"s3://npm-registry-packages-npm-production"}},"2.26.2":{"name":"jsonic","version":"2.26.2","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.26.2","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic","jsonic-bnf":"bin/jsonic-bnf"},"dist":{"shasum":"896cc3ab9c1fe5fd9b0e60517c741f04e71f2185","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.26.2.tgz","fileCount":48,"integrity":"sha512-PkeqRd8NQLMYcSxvV0VcIRyx/ZtWnu1VTTLKTnE2oXssqNS7zbPZ5kj6+wH1CyYJB1AI3RyrqcF1QhuZeSP3Ag==","signatures":[{"sig":"MEUCIQCcObVWMXUOJfW7C6Vd2GVX3v1UmcKkXf2Fp0gxQrBggQIgNGVCXTD33ENEyFfZ/6+Zh12bvjpTf1kTlsIP2sPjvpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571272},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"86599614598948eaa8a09988094ce933ff585f82","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.26.2_1776792461040_0.25762014995759963","host":"s3://npm-registry-packages-npm-production"}},"2.27.0":{"name":"jsonic","version":"2.27.0","keywords":["pattern","matcher","object","property","json"],"author":{"url":"http://richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"jsonic@2.27.0","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/rjrodger/jsonic","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"bin":{"jsonic":"bin/jsonic","jsonic-bnf":"bin/jsonic-bnf"},"dist":{"shasum":"9ffd5da4728dc52d4649c8330958701eeba59129","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.27.0.tgz","fileCount":48,"integrity":"sha512-X21UdiR0uuTi8MswYz9M7K4ZxXyTD8AF0JSRELbmXI9bYKGamw31XdMkDoVmH9TA/RV/kRJSpDRpeSMaghypXg==","signatures":[{"sig":"MEQCIHQRTHLUFCAHf8RHMCPdFXYuucla8zvP+DZHR4aDSO5cAiBHFXFUsWXC+NWot5cUrrX5vHJS3rShaJgxZ8BrAPn5Ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570919},"main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"gitHead":"2b2413f8d92d2e9bf91aa4d9c78862e9a730b59d","scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","build":"tsc --build src test","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc --build src test -w","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-view":"open coverage/lcov-report/index.html","docs-build":"vuepress build docs-src","test-watch":"node --test --watch test/**/*.test.js","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git://github.com/rjrodger/jsonic.git","type":"git"},"_npmVersion":"11.6.2","description":"A dynamic JSON parser that isn't strict and can be customized.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonic_2.27.0_1776807655885_0.08137639235172478","host":"s3://npm-registry-packages-npm-production"}},"2.28.0":{"name":"jsonic","version":"2.28.0","main":"dist/jsonic.js","type":"commonjs","types":"dist/jsonic.d.ts","description":"A dynamic JSON parser that isn't strict and can be customized.","homepage":"https://github.com/rjrodger/jsonic","keywords":["pattern","matcher","object","property","json"],"author":{"name":"Richard Rodger","url":"http://richardrodger.com"},"repository":{"type":"git","url":"git://github.com/rjrodger/jsonic.git"},"scripts":{"test":"node --enable-source-maps --test test/**/*.test.js","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-watch":"node --test --watch test/**/*.test.js","test-view":"open coverage/lcov-report/index.html","watch":"tsc --build src test -w","build":"tsc --build src test","diagrams":"docs-src/.vuepress/diagrams/generate.sh","docs-dev":"vuepress dev docs-src","docs-build":"vuepress build docs-src","clean":"rm -rf node_modules dist yarn.lock package-lock.json","reset":"npm run clean && npm i && npm run build && npm test","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public"},"license":"MIT","bin":{"jsonic":"bin/jsonic","jsonic-bnf":"bin/jsonic-bnf"},"exports":{".":"./dist/jsonic.js","./debug":"./dist/debug.js"},"devDependencies":{"@types/node":"25.6.0","typescript":"6.0.3"},"gitHead":"d525d9d8334e4927b6a2e46fbc93d2465eb26465","_id":"jsonic@2.28.0","bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-lo+Yo4ShvJot3A3G6kZOlphRx+GfhR4uK3/O0u9Wg12fggOuvK7TxtteoRtBGeGaqnbHqEHqkj3Uft8obfvP+g==","shasum":"6d678fe264c8d6355abaff6146908585a60c5281","tarball":"https://registry.npmjs.org/jsonic/-/jsonic-2.28.0.tgz","fileCount":48,"unpackedSize":570867,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBRrre39nhrenfNB3osW9jiN/tsvvQTf7JDNWbFcaY41AiAwpISKtQBS24j5ok85qmFPpEXS4+61tUDuJ72BzzOODg=="}]},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"directories":{},"maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsonic_2.28.0_1777419211984_0.3710443117925768"},"_hasShrinkwrap":false}},"time":{"created":"2013-09-19T09:22:43.659Z","modified":"2026-04-28T23:33:32.239Z","0.1.0":"2013-09-19T09:22:46.632Z","0.1.1":"2013-09-27T10:43:04.352Z","0.1.2":"2015-01-28T17:36:33.704Z","0.2.0":"2015-07-08T18:05:27.340Z","0.2.1":"2015-07-12T01:08:42.577Z","0.2.2":"2015-07-21T00:29:51.066Z","0.3.0":"2017-04-14T13:34:38.073Z","0.3.1":"2018-10-08T01:58:15.265Z","1.0.1":"2020-09-09T12:44:07.357Z","2.15.1":"2024-11-07T16:48:39.437Z","2.15.2":"2024-11-07T17:54:18.244Z","2.16.0":"2025-01-21T17:43:21.463Z","2.17.0":"2025-10-23T15:37:25.598Z","2.18.0":"2025-11-12T12:26:36.287Z","2.19.0":"2026-03-25T17:36:37.891Z","2.20.1":"2026-03-31T22:19:01.901Z","2.21.1":"2026-04-08T18:37:52.359Z","2.22.2":"2026-04-13T11:34:20.373Z","2.23.1":"2026-04-15T11:27:33.925Z","2.24.0":"2026-04-16T17:53:55.375Z","2.25.1":"2026-04-20T15:24:08.534Z","2.26.2":"2026-04-21T17:27:41.186Z","2.27.0":"2026-04-21T21:40:56.040Z","2.28.0":"2026-04-28T23:33:32.115Z"},"bugs":{"url":"https://github.com/rjrodger/jsonic/issues"},"author":{"name":"Richard Rodger","url":"http://richardrodger.com"},"license":"MIT","homepage":"https://github.com/rjrodger/jsonic","keywords":["pattern","matcher","object","property","json"],"repository":{"type":"git","url":"git://github.com/rjrodger/jsonic.git"},"description":"A dynamic JSON parser that isn't strict and can be customized.","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"readme":"# jsonic\n\nJSON is great. JSON parsers are not. They punish you for every missing\nquote and misplaced comma. You're a professional -- you know what you\nmeant. jsonic knows too.\n\n```\na:1,foo:bar  →  {\"a\": 1, \"foo\": \"bar\"}\n```\n\nIt's a JSON parser that isn't strict. And it's very, very extensible.\n\nAvailable for [TypeScript/JavaScript](#install) and [Go](go/).\n\n## Install\n\n```bash\nnpm install jsonic\n```\n\n## Quick Example\n\n```js\nconst { Jsonic } = require('jsonic')\n\n// Relaxed syntax, just works\nJsonic('a:1, b:2')           // {\"a\": 1, \"b\": 2}\nJsonic('x, y, z')            // [\"x\", \"y\", \"z\"]\nJsonic('{a: {b: 1, c: 2}}') // {\"a\": {\"b\": 1, \"c\": 2}}\n```\n\n```ts\nimport { Jsonic } from 'jsonic'\n\nJsonic('a:1, b:2') // {\"a\": 1, \"b\": 2}\n```\n\n## What Syntax Does jsonic Accept?\n\nMore than you'd expect. All of the following parse to `{\"a\": 1, \"b\": \"B\"}`:\n\n```\na:1,b:B\n```\n\n```\na:1\nb:B\n```\n\n```\na:1\n// a:2\n# a:3\n/* b wants\n * to B\n */\nb:B\n```\n\n```\n{ \"a\": 100e-2, '\\u0062':`\\x42`, }\n```\n\nThat last one mixes double quotes, single quotes, backticks, unicode\nescapes, hex escapes, and scientific notation. It doesn't matter. jsonic\nhandles it.\n\nHere's the full set of relaxations:\n\n- **Unquoted keys and values**: `a:1` &rarr; `{\"a\": 1}`\n- **Implicit top-level object**: `a:1,b:2` &rarr; `{\"a\": 1, \"b\": 2}`\n- **Implicit top-level array**: `a,b` &rarr; `[\"a\", \"b\"]`\n- **Trailing commas**: `{a:1,b:2,}` &rarr; `{\"a\": 1, \"b\": 2}`\n- **Single-quoted strings**: `'hello'` works like `\"hello\"`\n- **Backtick strings**: `` `hello` `` works like `\"hello\"`\n- **Multiline strings**: backtick strings preserve newlines\n- **Indent-adjusted strings**: `'''...\\n'''` trims leading indent\n- **Comments**: `//`, `#` (line), `/* */` (block)\n- **Object merging**: `a:{b:1},a:{c:2}` &rarr; `{\"a\": {\"b\": 1, \"c\": 2}}`\n- **Path diving**: `a:b:1,a:c:2` &rarr; `{\"a\": {\"b\": 1, \"c\": 2}}`\n- **All number formats**: `1e1 === 0xa === 0o12 === 0b1010`, plus `1_000` separators\n- **Auto-close at EOF**: unclosed `{` or `[` close automatically\n\nFor the full syntax reference, see [doc/syntax.md](doc/syntax.md).\n\n## Customization\n\nYou might be tempted to think a lenient parser is a simple thing. It\nisn't. jsonic is built around a rule-based parser and a matcher-based\nlexer. Both are fully customizable through options and plugins. You can\nchange almost anything about how parsing works -- and you don't have to\nunderstand the internals to do it.\n\n### Options\n\nLet's start simple. Create a configured instance with `Jsonic.make()`:\n\n```js\nconst lenient = Jsonic.make({\n  comment: { lex: false },         // disable comments\n  number: { hex: false },          // disable hex numbers\n  value: {\n    def: { yes: { val: true }, no: { val: false } }\n  }\n})\n\nlenient('yes')  // true\n```\n\nOptions compose. You turn things off, you turn things on, you define new\nvalue tokens. That's it.\n\nSee [doc/options.md](doc/options.md) for the full options reference.\n\n### Plugins\n\nWhen options aren't enough, plugins let you reach deeper. They can\nmodify the grammar, add matchers, or hook into parse events:\n\n```js\nfunction myPlugin(jsonic, options) {\n  // Register a custom fixed token\n  jsonic.options({ fixed: { token: { '#TL': '~' } } })\n  const T_TILDE = jsonic.token('#TL')\n\n  // Modify grammar rules\n  jsonic.rule('val', (rs) => {\n    rs.open([{\n      s: [T_TILDE],\n      a: (rule) => { rule.node = options.tildeValue ?? null }\n    }])\n  })\n}\n\nconst j = Jsonic.make()\nj.use(myPlugin, { tildeValue: 42 })\nj('~')  // 42\n```\n\nConsider what just happened: we invented a new syntax element (`~`),\ntold the parser what to do when it encounters one, and wired it up with\na configurable value. The parser itself doesn't care what symbols you\nuse. It only cares about rules.\n\nSee [doc/plugins.md](doc/plugins.md) for the plugin authoring guide.\n\n## API Reference\n\nSee [doc/api.md](doc/api.md) for the full API.\n\nThe essentials:\n\n| Function / Property | Description |\n|---|---|\n| `Jsonic(src)` | Parse a string with default settings |\n| `Jsonic.make(options?)` | Create a configured parser instance |\n| `instance.use(plugin, opts?)` | Register a plugin |\n| `instance.rule(name, definer)` | Modify a grammar rule |\n| `instance.token(ref)` | Get or create a token type |\n| `instance.sub({lex?, rule?})` | Subscribe to parse events |\n| `instance.options` | Current options |\n\n## Go Version\n\nThere's a Go port with the same core parsing behavior. Same syntax,\nsame relaxations, same results. See the [Go documentation](go/) for\ninstallation and usage.\n\n```go\nimport \"github.com/jsonicjs/jsonic/go\"\n\nresult, err := jsonic.Parse(\"a:1, b:2\")\n```\n\n## License\n\nMIT. Copyright (c) Richard Rodger.\n\n","readmeFilename":"README.md","users":{"fice":true,"cr8tiv":true,"rjrodger":true,"tlamason":true}}