{"_id":"clarinet","_rev":"4538957","name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","dist-tags":{"latest":"0.12.6"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"time":{"modified":"2026-04-09T15:06:52.000Z","created":"2011-12-16T20:02:50.879Z","0.12.6":"2023-08-24T19:40:31.582Z","0.12.5":"2022-01-07T17:11:01.632Z","0.12.4":"2019-10-18T01:41:04.622Z","0.12.3":"2019-01-05T01:26:19.677Z","0.12.2":"2019-01-04T18:26:18.183Z","0.12.1":"2018-07-19T13:42:33.172Z","0.12.0":"2018-01-03T14:29:08.893Z","0.11.0":"2015-05-11T14:32:17.511Z","0.10.0":"2015-01-09T00:00:14.446Z","0.9.1":"2015-01-02T14:15:00.745Z","0.9.0":"2014-07-02T22:09:07.086Z","0.8.1":"2014-02-17T18:52:33.641Z","0.8.0":"2014-01-16T18:11:17.404Z","0.7.3":"2013-12-15T23:32:55.740Z","0.7.2":"2013-06-18T13:02:18.408Z","0.7.1":"2012-12-03T15:47:40.178Z","0.7.0":"2012-10-30T17:09:15.950Z","0.6.0":"2012-06-08T17:00:45.266Z","0.5.8":"2012-03-26T13:03:40.476Z","0.5.7":"2012-01-17T16:49:39.502Z","0.5.6":"2012-01-16T22:47:07.425Z","0.5.5":"2011-12-23T01:47:00.432Z","0.5.4":"2011-12-22T19:31:58.313Z","0.5.3":"2011-12-22T19:22:52.447Z","0.5.2":"2011-12-22T17:08:48.779Z","0.5.1":"2011-12-21T11:16:53.124Z","0.5.0":"2011-12-20T21:45:03.034Z","0.4.1":"2011-12-19T21:00:51.970Z","0.4.0":"2011-12-19T15:56:20.888Z","0.3.5":"2011-12-16T20:02:50.879Z"},"users":{"fgribreau":true,"davidrapin":true,"bret":true,"bsnote":true,"shanewholloway":true,"evan-king":true},"author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"versions":{"0.12.6":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.6","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"runkitExampleFilename":"example.js","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"^6.1.4","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000 test/parser.spec.js test/clarinet.js test/npm.js test/utf8-chunks.js test/positions.js","bench":"cd benchmark && npm test","prebench":"cd benchmark && test -e node_modules || npm i --ignore-scripts"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"4c6cff856160ead014cc16f015e2d7c1090e12e6","_id":"clarinet@0.12.6","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"shasum":"81ad20f33caee27bbbcb862c96dd925f1f57778e","size":10695,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.6.tgz"},"_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet_0.12.6_1692906031234_0.04579371942957411"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-24T19:40:31.582Z","publish_time":1692906031582,"_source_registry_name":"default","_cnpm_publish_time":1692906031582},"0.12.5":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.5","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"runkitExampleFilename":"example.js","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"^6.1.4","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000 test/parser.spec.js test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js","bench":"cd benchmark && npm test","prebench":"cd benchmark && test -e node_modules || npm i --ignore-scripts"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"a9d21ca1efd2adb988d30ff739e3e4481675944e","_id":"clarinet@0.12.5","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"shasum":"7ee9c3984620592e370063022d3d2982fc527228","size":10692,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.5.tgz"},"_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet_0.12.5_1641575461385_0.5518005354438229"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-07T17:14:07.436Z","publish_time":1641575461632,"_cnpm_publish_time":1641575461632},"0.12.4":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.4","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"runkitExampleFilename":"example.js","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"^6.1.4","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000 test/parser.spec.js test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js","bench":"cd benchmark && npm test","prebench":"cd benchmark && test -e node_modules || npm i --ignore-scripts"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"5a4de971599df2ad76f230c0f503d5a6867080d2","_id":"clarinet@0.12.4","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"dist":{"shasum":"5d7196a2b2347ff283db2e2bf1ef615c0aa6afdb","size":558281,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.4.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet_0.12.4_1571362864415_0.07214192003012276"},"_hasShrinkwrap":false,"publish_time":1571362864622,"_cnpm_publish_time":1571362864622},"0.12.3":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.3","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"runkitExampleFilename":"example.js","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000 test/parser.spec.js test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js","bench":"cd benchmark && npm test","prebench":"cd benchmark && test -e node_modules || npm i --ignore-scripts"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"31fdf697e0567fdf83fee1ade3895ecebaa62592","_id":"clarinet@0.12.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"dist":{"shasum":"8084f8d14650f8bddd7db97b7eae481582a03f60","size":558241,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.3.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet_0.12.3_1546651579547_0.1449191626233104"},"_hasShrinkwrap":false,"publish_time":1546651579677,"_cnpm_publish_time":1546651579677},"0.12.2":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.2","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"runkitExampleFilename":"example.js","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000 test/parser.spec.js test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js","bench":"cd benchmark && npm test","postinstall":"cd benchmark && npm i"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"da230bac5d17ee60aece2169a3f19789f085556f","_id":"clarinet@0.12.2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"dist":{"shasum":"779a6a5b830afc3f5fd95e57948281250d450913","size":11908,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.2.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet_0.12.2_1546626377991_0.1016404561386377"},"_hasShrinkwrap":false,"publish_time":1546626378183,"_cnpm_publish_time":1546626378183},"0.12.1":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.1","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"runkitExampleFilename":"example.js","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"7aaa20c91510673573a927ac1c3a98ff67fda1db","_id":"clarinet@0.12.1","_shasum":"3e2e2612c2573d172b1b171b92f2dced15c98a5a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.14.3","_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"dist":{"shasum":"3e2e2612c2573d172b1b171b92f2dced15c98a5a","size":10288,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.1.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet_0.12.1_1532007753083_0.669438337384699"},"_hasShrinkwrap":false,"publish_time":1532007753172,"_cnpm_publish_time":1532007753172},"0.12.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.12.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git+ssh://git@github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD-2-Clause","gitHead":"8e8d067ab09f5308c880d7522376c603ba3972c6","_id":"clarinet@0.12.0","_shasum":"001d17e22124a62db1b174d9383420ffc933aeaf","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.2","_npmUser":{"name":"evan-king","email":"HonoredSoft@gmail.com"},"dist":{"shasum":"001d17e22124a62db1b174d9383420ffc933aeaf","size":10002,"noattachment":false,"key":"/clarinet/-/clarinet-0.12.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.12.0.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clarinet-0.12.0.tgz_1514989748793_0.6298701527994126"},"publish_time":1514989748893,"_hasShrinkwrap":false,"_cnpm_publish_time":1514989748893},"0.11.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.11.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js test/utf8-chunks.js test/position.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD","_id":"clarinet@0.11.0","dist":{"shasum":"6cc912b93138dc867fc273cd34ea90e83e054719","size":6807579,"noattachment":false,"key":"/clarinet/-/clarinet-0.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.11.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"publish_time":1431354737511,"_cnpm_publish_time":1431354737511,"_hasShrinkwrap":false},"0.10.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.10.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js test/utf8-chunks.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD","_id":"clarinet@0.10.0","dist":{"shasum":"9b6432833d7c88a76b0f2b4bc3e9725c0df49e07","size":6807379,"noattachment":false,"key":"/clarinet/-/clarinet-0.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.10.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"publish_time":1420761614446,"_cnpm_publish_time":1420761614446,"_hasShrinkwrap":false},"0.9.1":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.9.1","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js test/utf8-chunks.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD","_id":"clarinet@0.9.1","dist":{"shasum":"c47a0e965d4dae920bc26a012f5ef073b4e45ce2","size":6807377,"noattachment":false,"key":"/clarinet/-/clarinet-0.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.9.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"publish_time":1420208100745,"_cnpm_publish_time":1420208100745,"_hasShrinkwrap":false},"0.9.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.9.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"directories":{"test":"test"},"license":"BSD","_id":"clarinet@0.9.0","dist":{"shasum":"8d0ffa8c051a320cb5b3465d81e489ed594338e4","size":6807362,"noattachment":false,"key":"/clarinet/-/clarinet-0.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.9.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"publish_time":1404338947086,"_cnpm_publish_time":1404338947086,"_hasShrinkwrap":false},"0.8.1":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.8.1","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_id":"clarinet@0.8.1","dist":{"shasum":"ddfd10cd292abf5cab239140774e394bfd1ee7a6","size":6806512,"noattachment":false,"key":"/clarinet/-/clarinet-0.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.8.1.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1392663153641,"_cnpm_publish_time":1392663153641,"_hasShrinkwrap":false},"0.8.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.8.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"readmeFilename":"README.md","_id":"clarinet@0.8.0","dist":{"shasum":"840b5a4364cd77ceea674e1a0510632a243ad7ba","size":6806510,"noattachment":false,"key":"/clarinet/-/clarinet-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.8.0.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1389895877404,"_cnpm_publish_time":1389895877404,"_hasShrinkwrap":false},"0.7.3":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.7.3","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":{"url":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"readmeFilename":"README.md","_id":"clarinet@0.7.3","dist":{"shasum":"3512ffcac21a693b2ab778809e592403e76862b0","size":6806396,"noattachment":false,"key":"/clarinet/-/clarinet-0.7.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.7.3.tgz"},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1387150375740,"_cnpm_publish_time":1387150375740,"_hasShrinkwrap":false},"0.7.2":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"},{"name":"John Lancaster","url":"http://jlank.com"}],"version":"0.7.2","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":"http://github.com/dscape/clarinet/issues","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"readmeFilename":"README.md","_id":"clarinet@0.7.2","dist":{"shasum":"ace5a2a2506588df0b2cbec1de27d153182edfae","size":6806459,"noattachment":false,"key":"/clarinet/-/clarinet-0.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.7.2.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1371560538408,"_cnpm_publish_time":1371560538408,"_hasShrinkwrap":false},"0.7.1":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"},{"name":"Roly Fentanes","url":"http://about.me/roly"}],"version":"0.7.1","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":"http://github.com/dscape/clarinet/issues","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_id":"clarinet@0.7.1","dist":{"shasum":"8b432c5850e1f434722416e0832083d015f8f9bf","size":6804883,"noattachment":false,"key":"/clarinet/-/clarinet-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.7.1.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1354549660178,"_cnpm_publish_time":1354549660178,"_hasShrinkwrap":false},"0.7.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Jann Horn","url":"https://github.com/thejh"},{"name":"Justin Makeig","email":"jmpublic+github@makeig.com","url":"http://www.audiblepop.com"}],"version":"0.7.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"http://github.com/dscape/clarinet.git"},"bugs":"http://github.com/dscape/clarinet/issues","keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.3.x","should":"1.0.x","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_id":"clarinet@0.7.0","dist":{"shasum":"993b8d96e7b6403583690f6ff2b416c2aca7cc85","size":6804874,"noattachment":false,"key":"/clarinet/-/clarinet-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.7.0.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1351616955950,"_cnpm_publish_time":1351616955950,"_hasShrinkwrap":false},"0.6.0":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},{"name":"Jann Horn","email":"jannhorn@googlemail.com"}],"version":"0.6.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"1.0.x","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.6.0","dependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"ea24059bf869ec029d6631735da7941922a8e71a","size":6804863,"noattachment":false,"key":"/clarinet/-/clarinet-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.6.0.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1339174845266,"_cnpm_publish_time":1339174845266,"_hasShrinkwrap":false},"0.5.8":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},{"name":"Jann Horn","email":"jannhorn@googlemail.com"}],"version":"0.5.8","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.8","dependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"e474c3beee0c3893f090fe54a74325daa6d0d906","size":6805272,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.8.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1332767020476,"_cnpm_publish_time":1332767020476,"_hasShrinkwrap":false},"0.5.7":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"contributors":[{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},{"name":"Jann Horn","email":"jannhorn@googlemail.com"}],"version":"0.5.7","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"thejh","email":"jannhorn@gmail.com"},"_id":"clarinet@0.5.7","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-7","_nodeVersion":"v0.6.7-pre","_defaultsLoaded":true,"dist":{"shasum":"a04947dece99ff106fdf771b3f64ab8b3be72ba8","size":6803754,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.7.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1326818979502,"_cnpm_publish_time":1326818979502,"_hasShrinkwrap":false},"0.5.6":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.6","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"thejh","email":"jannhorn@gmail.com"},"_id":"clarinet@0.5.6","contributors":[{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},{"name":"Jann Horn","email":"jannhorn@googlemail.com"}],"dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-7","_nodeVersion":"v0.6.7-pre","_defaultsLoaded":true,"dist":{"shasum":"ac0e98e4ebd62c867dd1b7d1970ee1d1517b5f29","size":6802945,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.6.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1326754027425,"_cnpm_publish_time":1326754027425,"_hasShrinkwrap":false},"0.5.5":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.5","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.5","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"949ffa0f0298329b534947f25139baace9c3d383","size":6804535,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.5.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324604820432,"_cnpm_publish_time":1324604820432,"_hasShrinkwrap":false},"0.5.4":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.4","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.4","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"d6dfb1e570ac992026f128017dabe8527783a728","size":6804432,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.4.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324582318313,"_cnpm_publish_time":1324582318313,"_hasShrinkwrap":false},"0.5.3":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.3","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.3","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"07c78837cced101381ab7f248a3af4f6d6eec704","size":6804432,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.3.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324581772447,"_cnpm_publish_time":1324581772447,"_hasShrinkwrap":false},"0.5.2":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.2","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.2","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"69ecec4a866b19265d51ba1dc94699a00d12dffb","size":6804556,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.2.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324573728779,"_cnpm_publish_time":1324573728779,"_hasShrinkwrap":false},"0.5.1":{"name":"clarinet","description":"SAX based evented streaming JSON parser in JavaScript (browser and node)","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.1","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer","browser"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6","firefox":">=0.8.0","chrome":">=16.0.912"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.1","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"03a6121070cc6e4b26b652f64b779f7f137c07f0","size":6540391,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.1.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324466213124,"_cnpm_publish_time":1324466213124,"_hasShrinkwrap":false},"0.5.0":{"name":"clarinet","description":"SAX-Like evented streaming JSON parser in JavaScript browser and node","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.5.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.5.0","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"8de7f7425887bbe9c14f1e45acb29aa871c7a79b","size":6540363,"noattachment":false,"key":"/clarinet/-/clarinet-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.5.0.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324417503034,"_cnpm_publish_time":1324417503034,"_hasShrinkwrap":false},"0.4.1":{"name":"clarinet","description":"SAX-Like evented streaming JSON parser in JavaScript browser and node","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.4.1","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.4.1","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"bdd1be3e4bf624f042afba4f871852b5768c6fda","size":4451799,"noattachment":false,"key":"/clarinet/-/clarinet-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.4.1.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324328451970,"_cnpm_publish_time":1324328451970,"_hasShrinkwrap":false},"0.4.0":{"name":"clarinet","description":"SAX-Like evented streaming JSON parser in JavaScript browser and node","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.4.0","main":"./clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"bugs":{"name":"http://github.com/dscape/clarinet/issues"},"keywords":["sax","json","parser","stream","streaming","event","events","emitter","async","streamer"],"devDependencies":{"mocha":"0.3.6","should":"0.3.2","underscore":"1.2.3"},"scripts":{"test":"./node_modules/mocha/bin/mocha -r should -t 10000 -s 2000  test/clarinet.js test/npm.js"},"engines":{"node":">=0.3.6"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.4.0","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"699ee3a4e034d3fd8cf0533197dc36f3e2b2a20a","size":2367595,"noattachment":false,"key":"/clarinet/-/clarinet-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.4.0.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324310180888,"_cnpm_publish_time":1324310180888,"_hasShrinkwrap":false},"0.3.5":{"name":"clarinet","description":"Evented streaming JSON parser in JavaScript","author":{"name":"Nuno Job","email":"nunojobpinto@gmail.com","url":"http://nunojob.com/"},"version":"0.3.5","main":"lib/clarinet.js","homepage":"https://github.com/dscape/clarinet","repository":{"type":"git","url":"git://github.com/dscape/clarinet.git"},"_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"_id":"clarinet@0.3.5","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"adefc23d53032876aac6bba02b732a8761fcd722","size":2228057,"noattachment":false,"key":"/clarinet/-/clarinet-0.3.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/clarinet/download/clarinet-0.3.5.tgz"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"},{"name":"evan-king","email":"evan@honoredsoft.com"},{"name":"thejh","email":"jannhorn@googlemail.com"}],"directories":{},"publish_time":1324065770879,"_cnpm_publish_time":1324065770879,"_hasShrinkwrap":false}},"readme":"# clarinet\n\n![NPM Downloads](http://img.shields.io/npm/dm/clarinet.svg?style=flat) ![NPM Version](http://img.shields.io/npm/v/clarinet.svg?style=flat) [![CDNJS](https://img.shields.io/cdnjs/v/clarinet.svg)](https://cdnjs.com/libraries/clarinet)\n\n`clarinet` is a sax-like streaming parser for JSON. works in the browser and node.js. `clarinet` is inspired (and forked) from [sax-js][saxjs]. just like you shouldn't use `sax` when you need `dom` you shouldn't use `clarinet` when you need `JSON.parse`. for a more detailed introduction and a performance study please refer to this [article][blog]. \n\n# design goals\n\n`clarinet` is very much like [yajl] but written in javascript:\n\n* written in javascript\n* portable\n* robust (~110 tests pass before even announcing the project)\n* data representation independent\n* fast\n* generates verbose, useful error messages including context of where\n   the error occurs in the input text.\n* can parse json data off a stream, incrementally\n* simple to use\n* tiny\n\n# motivation\n\nthe reason behind this work was to create better full text support in node. creating indexes out of large (or many) json files doesn't require a full understanding of the json file, but it does require something like `clarinet`.\n\n# installation\n\n## node.js\n\n1. install [npm]\n2. `npm install clarinet`\n3. `var clarinet = require('clarinet');`\n\n## browser\n\n1. minimize clarinet.js\n2. load it into your webpage\n\n# usage\n\n## basics\n\n``` js\nvar clarinet = require(\"clarinet\")\n  , parser = clarinet.parser()\n  ;\n\nparser.onerror = function (e) {\n  // an error happened. e is the error.\n};\nparser.onvalue = function (v) {\n  // got some value.  v is the value. can be string, double, bool, or null.\n};\nparser.onopenobject = function (key) {\n  // opened an object. key is the first key.\n};\nparser.onkey = function (key) {\n  // got a subsequent key in an object.\n};\nparser.oncloseobject = function () {\n  // closed an object.\n};\nparser.onopenarray = function () {\n  // opened an array.\n};\nparser.onclosearray = function () {\n  // closed an array.\n};\nparser.onend = function () {\n  // parser stream is done, and ready to have more stuff written to it.\n};\n\nparser.write('{\"foo\": \"bar\"}').close();\n```\n\n``` js\n// stream usage\n// takes the same options as the parser\nvar stream = require(\"clarinet\").createStream(options);\nstream.on(\"error\", function (e) {\n  // unhandled errors will throw, since this is a proper node\n  // event emitter.\n  console.error(\"error!\", e)\n  // clear the error\n  this._parser.error = null\n  this._parser.resume()\n})\nstream.on(\"openobject\", function (node) {\n  // same object as above\n})\n// pipe is supported, and it's readable/writable\n// same chunks coming in also go out.\nfs.createReadStream(\"file.json\")\n  .pipe(stream)\n  .pipe(fs.createReadStream(\"file-altered.json\"))\n```\n\n## arguments\n\npass the following arguments to the parser function.  all are optional.\n\n`opt` - object bag of settings regarding string formatting.  all default to `false`.\n\nsettings supported:\n\n* `trim` - boolean. whether or not to trim text and comment nodes.\n* `normalize` - boolean. if true, then turn any whitespace into a single\n  space.\n\n## methods\n\n`write` - write bytes onto the stream. you don't have to do this all at\nonce. you can keep writing as much as you want.\n\n`close` - close the stream. once closed, no more data may be written until\nit is done processing the buffer, which is signaled by the `end` event.\n\n`resume` - to gracefully handle errors, assign a listener to the `error`\nevent. then, when the error is taken care of, you can call `resume` to\ncontinue parsing. otherwise, the parser will not continue while in an error\nstate.\n\n## members\n\nat all times, the parser object will have the following members:\n\n`line`, `column`, `position` - indications of the position in the json\ndocument where the parser currently is looking.\n\n`closed` - boolean indicating whether or not the parser can be written to.\nif it's `true`, then wait for the `ready` event to write again.\n\n`opt` - any options passed into the constructor.\n\nand a bunch of other stuff that you probably shouldn't touch.\n\n## events\n\nall events emit with a single argument. to listen to an event, assign a\nfunction to `on<eventname>`. functions get executed in the this-context of\nthe parser object. the list of supported events are also in the exported\n`EVENTS` array.\n\nwhen using the stream interface, assign handlers using the `EventEmitter`\n`on` function in the normal fashion.\n\n`error` - indication that something bad happened. the error will be hanging\nout on `parser.error`, and must be deleted before parsing can continue. by\nlistening to this event, you can keep an eye on that kind of stuff. note:\nthis happens *much* more in strict mode. argument: instance of `Error`.\n\n`value` - a json value. argument: value, can be a bool, null, string on number\n\n`openobject` - object was opened. argument: key, a string with the first key of the object (if any)\n\n`key` - an object key: argument: key, a string with the current key. Not called for first key (use `openobject` for that).\n\n`closeobject` - indication that an object was closed\n\n`openarray` - indication that an array was opened\n\n`closearray` - indication that an array was closed\n\n`end` - indication that the closed stream has ended.\n\n`ready` - indication that the stream has reset, and is ready to be written\nto.\n\n## samples\n\nsome [samples] are available to help you get started. one that creates a list of top npm contributors, and another that gets a bunch of data from twitter and generates valid json.\n\n# roadmap\n\ncheck [issues]\n\n# contribute\n\neveryone is welcome to contribute. patches, bug-fixes, new features\n\n1. create an [issue][issues] so the community can comment on your idea\n2. fork `clarinet`\n3. create a new branch `git checkout -b my_branch`\n4. create tests for the changes you made\n5. make sure you pass both existing and newly inserted tests\n6. commit your changes\n7. push to your branch `git push origin my_branch`\n8. create an pull request\n\nhelpful tips:\n\ncheck `index.html`. there's two env vars you can set, `CRECORD` and `CDEBUG`. \n\n* `CRECORD` allows you to `record` the event sequence from a new json test so you don't have to write everything. \n* `CDEBUG` can be set to `info` or `debug`. `info` will `console.log` all emits, `debug` will `console.log` what happens to each char. \n\nin `test/clarinet.js` there's two lines you might want to change. `#8` where you define `seps`, if you are isolating a test you probably just want to run one sep, so change this array to `[undefined]`. `#718` which says `for (var key in docs) {` is where you can change the docs you want to run. e.g. to run `foobar` i would do something like `for (var key in {foobar:''}) {`.\n\n# meta\n\n* code: `git clone git://github.com/dscape/clarinet.git`\n* home: <http://github.com/dscape/clarinet>\n* bugs: <http://github.com/dscape/clarinet/issues>\n* build: [![build status](https://secure.travis-ci.org/dscape/clarinet.png)](http://travis-ci.org/dscape/clarinet)\n\n`(oO)--',-` in [caos]\n\n[npm]: http://npmjs.org\n[issues]: http://github.com/dscape/clarinet/issues\n[caos]: http://caos.di.uminho.pt/\n[saxjs]: http://github.com/isaacs/sax-js\n[yajl]: https://github.com/lloyd/yajl\n[samples]: https://github.com/dscape/clarinet/tree/master/samples\n[blog]: http://writings.nunojob.com/2011/12/clarinet-sax-based-evented-streaming-json-parser-in-javascript-for-the-browser-and-nodejs.html\n","_attachments":{},"homepage":"https://github.com/dscape/clarinet","bugs":{"url":"http://github.com/dscape/clarinet/issues"},"license":"BSD-2-Clause"}