{"_id":"jsonstream2","_rev":"12-5387d5043b83d703bf57baac43c12696","name":"jsonstream2","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"jsonstream2","version":"1.0.0","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/ramitos/JSONStream2","bugs":{"url":"http://github.com/ramitos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/JSONStream2.js","directories":{"lib":"src"},"repository":{"type":"git","url":"git://github.com/ramitos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"dependencies":{"jsonparse":"0.0.6","through2":"^0.6.1","type-component":"0.0.1"},"devDependencies":{"prova":"^1.14.0"},"gitHead":"8fd3d059a847720d785f572f3a557ca0ae8ef9c3","_id":"jsonstream2@1.0.0","_shasum":"a0368c3df32754c29b39ce42bccd1c32ea60420c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"dist":{"shasum":"a0368c3df32754c29b39ce42bccd1c32ea60420c","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-1.0.0.tgz","integrity":"sha512-QCaKfEIR5MukqF87c+DJ553ZNWnQbKsRuP+JpAKhCSVGXh7N4QI914nvZ6O9srB14sW7EwdJ9ci2RzlLjUOWXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHEC4NwyRZiWdJEnAa9tb0rHkSkJEUP0vPddhGaY2jSzAiB0GXG3aOEwOPTVf2CoSuWOkXsE5m5Wy33kBXlBd9nZHQ=="}]}},"1.1.0":{"name":"jsonstream2","version":"1.1.0","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/ramitos/JSONStream2","bugs":{"url":"http://github.com/ramitos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/jsonstream2.js","bin":{"jsonstream":"bin/jsonstream.js"},"directories":{"lib":"src","bin":"bin"},"repository":{"type":"git","url":"git://github.com/ramitos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"dependencies":{"jsonparse":"0.0.6","through2":"^0.6.1","type-component":"0.0.1"},"devDependencies":{"prova":"^1.14.0"},"gitHead":"db8bb712be536a2b6eaed725a9ab33522428ec0c","_id":"jsonstream2@1.1.0","_shasum":"724c07760632abb48fcb34d7e13688b627e23770","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"dist":{"shasum":"724c07760632abb48fcb34d7e13688b627e23770","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-1.1.0.tgz","integrity":"sha512-hssRv4WvFvsIWFr7GtuNCIOjk7uyq2zveqV+r2GQdO3Eg+k58fdSmZuu29SaI9FnmFX6WbybRsOCYIYWCtSJBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICOF//lpkghHAY6phgYIQD7an+u+drMFdbOgPE/z1ansAiBIvrj8pAUOsxtfBbKDFpF3BnYzkUOBJ2is+qK9CHJNKg=="}]}},"1.1.1":{"name":"jsonstream2","version":"1.1.1","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/ramitos/JSONStream2","bugs":{"url":"http://github.com/ramitos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/jsonstream2.js","bin":{"jsonstream":"bin/jsonstream.js"},"directories":{"lib":"src","bin":"bin"},"repository":{"type":"git","url":"git://github.com/ramitos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"dependencies":{"jsonparse":"0.0.6","through2":"^0.6.1","type-component":"0.0.1"},"devDependencies":{"event-stream":"^3.3.2","it-is":"^1.0.3","prova":"^1.14.0"},"gitHead":"cfccfb45e6d734848f0ba254e73986220cacaaf9","_id":"jsonstream2@1.1.1","_shasum":"be70ed072d07922c906e96c100e23a239746d7d9","_from":".","_npmVersion":"2.14.8","_nodeVersion":"0.10.40","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"dist":{"shasum":"be70ed072d07922c906e96c100e23a239746d7d9","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-1.1.1.tgz","integrity":"sha512-hjKy/IIWkCmQNOvJJndmUeDZKQKS7t+26h/5hp9MLHX8Q+BYMqitM4uixExgsExaN+qbDVFAdMAT6As72qfO2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaLLD0EGwo3BLxYLuz+foS8sa210YQC56WVREtVEwq3gIgCfraThBu+WB4K1m7ezJp5Six37G3tC+CWkYgR6K+4nA="}]}},"1.1.2":{"name":"jsonstream2","version":"1.1.2","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/ramitos/JSONStream2","bugs":{"url":"http://github.com/ramitos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/jsonstream2.js","bin":{"jsonstream":"bin/jsonstream.js"},"directories":{"lib":"src","bin":"bin"},"repository":{"type":"git","url":"git://github.com/ramitos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"dependencies":{"jsonparse":"0.0.6","through2":"^0.6.1","type-component":"0.0.1"},"devDependencies":{"event-stream":"^3.3.4","it-is":"^1.0.3","prova":"^1.14.0"},"gitHead":"3c9612777c9e5582e070911efa97f699f2f1c3af","_id":"jsonstream2@1.1.2","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"dist":{"integrity":"sha512-sVWipJW3f/NGAZfQnqys6cGTUc6vgiTl4eFK0Y3lzi2RV4Fo5hzgUpgc/jS4qY8/nnntFPiXt14ujrS2TzfWkQ==","shasum":"d72fb77f46af919f6f8a5a07fc07f8d7df3921d7","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-1.1.2.tgz","fileCount":19,"unpackedSize":384699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/I6BCRA9TVsSAnZWagAAU1YP/iXXMnveEbG+r8R/pfJV\no9nORnDF6QNKQEZ2kMMWpb67WQJawezggA5wqnYY0DHMvOpaR9UvN2R7s4WA\nkNLKr47LXpsN2BhVlEtImDiW2uYZ5o0KPnXoZ9uBTY1o1OwbM+ZCISJnwmli\nTAsYOYCmV1haJiL1ueq+0IL9xS53t21BlY1uJ+qtdZwlYUBq1Ndo/Rc6V16s\nbCCDlmFqxDZ2t9xmWDC5G+X4+tQ77i+GwEq6tWYbTIJKtZPyE6bGiLQwwPTZ\nDZf7W7f0L5RoKP+e2KJC4K+dNww6tb4EKqUhhn+Fp/T8XurWHKtGkDG72Ado\nUewSjfmymZVoe4nsjQ3MSoL1U7rDVYfFvUD+V88HVKJwa20SmEFuQZEyTQnq\nso3sg1xDzfemuK2KjaK+nwaMc216XQ+QMotak3yAexN/qmSCFz4Hi4lg03bw\n5KhFM1gTXG7FL01bu/FcmIqPJuhBW8NRyjVFs3EIY7DQTQcBWdnmfF1C6kKD\n4tCLKZqnkNgmzuJw6WN19TwdX77TNKGziLB5Mi0CVGKt3Ka1a6YxYt0wFKaC\nkOpR3sAkFdPJnlj94g8yo1RevoSFlP6xj2ar0vY5FaGJSyuzXTcHMJ7szV7/\nkGG6sbpyLPczwJ48z9UyvZ6cwFUm0BY0pBXWhgY5E8o4GUzTxHzVQy13uKQM\namOi\r\n=wSbI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFZX3Za9Bou0Dv+WZ7lKmCRhZCag48CEKk51aj5s+fCyAiEA2blQ3pjJnbNdXzWzLWaIu8kdMLWvVmzVDsBzuPLKrbQ="}]},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonstream2_1.1.2_1543278209112_0.26853660395328127"},"_hasShrinkwrap":false},"2.0.0":{"name":"jsonstream2","version":"2.0.0","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/sergioramos/JSONStream2","bugs":{"url":"http://github.com/sergioramos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/jsonstream2.js","bin":{"jsonstream":"bin/jsonstream.js"},"directories":{"lib":"src","bin":"bin"},"repository":{"type":"git","url":"git://github.com/sergioramos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"dependencies":{"jsonparse":"1.3.1","through2":"^3.0.0","type-component":"0.0.1"},"devDependencies":{"event-stream":"^4.0.1","it-is":"^1.0.3","prova":"^3.0.0"},"gitHead":"4bb08277898140d814cefb4d4f294a8914d0dca3","_id":"jsonstream2@2.0.0","_nodeVersion":"11.7.0","_npmVersion":"6.6.0","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"dist":{"integrity":"sha512-C6EBmj4UDVBecRpmJLKcgjo9VqJ40Kr3yDE2HVx59aiGFTMcUAMBDH5c0nDzynBnt2Q0O/eaQ0FrE/aIQIyS9g==","shasum":"bd1daf04c4983687790358611bbdba4e1eebe19c","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-2.0.0.tgz","fileCount":20,"unpackedSize":476415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSmSFCRA9TVsSAnZWagAAdQ4P/0zaWyTyvwSCwYRRYvzN\na4NvoCKcMLeNRxzp9SfHo8R0EA6yPZIu4sCJ4Kk1Ud44uV67KxGuPBgsaN2D\npuf38ihYpLhz2FiIZBmA9+sSJ8/RF5/4Fw2NzhrG1XRVsMQrc1Oa0NFeEypS\nWy5CWP4nmmu+9B1rTxOA6C463y/HgMQX/Vh34V8aZIScSsz+MhhIXZmFqJIr\ntBiTKEeC/GBbD6tH7yO4QiTxB+iN/ZxdN/MQdfuCoMQMJzcL0eIZu5xYfIUz\nhyVa7x7JdKerxc0t8H42lv90NKWsPkq9d9UqLYopTEtYQIz1wbHJZHZJeOp1\nb89BzV3CpmMNZq3ux4Uy7hysBWS0UAygb1ZSHRo/920g4jUx2q3ymykEUDSV\n/Ds/3stqC9j6zMo4bw3A0sx1FiZv/2HW1wRlzX2qL5wM5tychWKD5d9kc/KL\nm05qgFwuuZ1JBYvLwsIWfP/nvG19OPp1Nn6T+K5lUgtoSOlkRtpqvgAhlBIj\nKjAptdlgvA9q49+bzrCAjiynfTXO8Vfde28POvJMbw/yVQqZcs/FGqjYwV7W\nlEA3HFPAEAUCh2PgetHRSZZ8YnRX4jEqVEDKZtMMjr0WrSplNNlTRgEO4Qvk\nd95sOJUl92SmvCGNcEQlGu69u3zDw7BLLueTrxLHvQUSfgAg63tn2JUIXRKc\nCvjR\r\n=dnTV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAW1J7HvoG4CL2vsVb1pPibx05nLwSIMfH6zXe00G2DOAiBvZFhH6Mv6j/pFRAsE7+/rr7sljXgWduiIbv/32VWnrQ=="}]},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonstream2_2.0.0_1548379269002_0.12589636685257055"},"_hasShrinkwrap":false},"2.0.1":{"name":"jsonstream2","version":"2.0.1","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/sergioramos/JSONStream2","bugs":{"url":"http://github.com/sergioramos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/jsonstream2.js","bin":{"jsonstream":"bin/jsonstream.js"},"directories":{"lib":"src","bin":"bin"},"repository":{"type":"git","url":"git://github.com/sergioramos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"dependencies":{"jsonparse":"1.3.1","through2":"^3.0.0","type-component":"0.0.1"},"devDependencies":{"event-stream":"3.3.4","it-is":"^1.0.3","prova":"^3.0.0"},"gitHead":"1443555ffc8fd20b2beeca6bd317ee0b9ef48d97","_id":"jsonstream2@2.0.1","_nodeVersion":"11.7.0","_npmVersion":"6.6.0","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"dist":{"integrity":"sha512-0lbLhPDjBShN7N1q/V30Nc3ZWaFlesq12H0rMClasbUhysZjAMk/tYdAjnSGKBt2R8cClmj7sM5RtxGRbi+emA==","shasum":"9446311131d530c92fd7b020b695d1f283b4ba0c","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-2.0.1.tgz","fileCount":20,"unpackedSize":476414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSmYqCRA9TVsSAnZWagAAdtcP/3YtbX4LhgHbQB2eBWVP\nikbg4/uSsA0S7NKOOGamLS8xm56D6D8r8/QhwKh1rjyjTtH94HvSJ9xx2Ad8\nL9XGz25KrfVOR+NH/tNgW0MwsbeRmtU4w67bKYIAZ0WhLQGh671as6ShWKtn\naMWWC4J1mMM2VHqjcXW+Qci+4HoX9elikEEqHoQaxQVsD8CQsatJ0Gtp/FtI\nqqIx+/ryJI83lle3ac6K08J8G/utXaOcpD6LKSFATQA0InaphQ1bW+DqAY8y\nfV+76WaMcqjf8+fahfxDupHwrIVz8JL298RjBWOkbz7sSfoHxSLLWf2g8ceK\nsepXiN3ANuC5r8ngoP4i74p7ZtD0OKEIe6OlS7IwLkPBrD1LaaEAxWNkLWxy\n8X5fRx/zgueUjGR5cDR3uDWWp6jcLe65ZHcZT8vG9IfQon53vAWtJ3cQ2SKx\nd0p4bq0aSlBNn4WfM3CqdjanWfBSwhMEzAiuT/t2LvYaLcaNFkPj7sbH8vnu\ngUhO2nWpN4Jqut0eXK3cVy8EP5pUzVcjFc5zHTyJVrA2rWkYgIsUw+Km2WI7\njcLDgqhsgM+YjH9AzB+CYQpTByMso+VYP9+21VQNLstBTOr/+jDgN9sre7rl\ne5qW4q55YeIJ9SIu7x0cEcvTvipTaMJCqedlQ0jc7e5Qq9QkeR+1oEyTxiUh\nxNpK\r\n=bm/f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBkgmBKrtmNJb8+DYStYP8o2Tu5YglA4/es20LuA1X5AiAgsgcKBOMVsGRp8AtcWVuECDrnlfGNnlu3XnC7aNGBIA=="}]},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonstream2_2.0.1_1548379689966_0.32394933481204324"},"_hasShrinkwrap":false},"3.0.0":{"name":"jsonstream2","version":"3.0.0","description":"Dominic Tarr's JSONStream using Rodd Vaggs' through2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"homepage":"https://github.com/sergioramos/JSONStream2","bugs":{"url":"http://github.com/sergioramos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"main":"src/jsonstream2.js","bin":{"jsonstream":"bin/jsonstream.js"},"directories":{"lib":"src","bin":"bin"},"repository":{"type":"git","url":"git://github.com/sergioramos/JSONStream2.git"},"scripts":{"test":"set -e; for t in test/*.js; do echo '***' $t '***'; node $t; done"},"engines":{"node":">=5.10.0"},"dependencies":{"jsonparse":"1.3.1","through2":"^3.0.1","type-component":"0.0.1"},"devDependencies":{"event-stream":"4.0.1","it-is":"^1.0.3","prova":"^3.0.0"},"gitHead":"e7b4fc795e4a714ca76e7ec91c0421699e449e45","_id":"jsonstream2@3.0.0","_nodeVersion":"12.11.0","_npmVersion":"6.12.0","_npmUser":{"name":"ramitos","email":"mail@sergioramos.me"},"dist":{"integrity":"sha512-8ngq2XB8NjYrpe3+Xtl9lFJl6RoV2dNT4I7iyaHwxUpTBwsj0AlAR7epGfeYVP0z4Z7KxMoSxRgJWrd2jmBT/Q==","shasum":"0dcaf357e672dd65cdf40a91602b202e73ece46e","tarball":"https://registry.npmjs.org/jsonstream2/-/jsonstream2-3.0.0.tgz","fileCount":19,"unpackedSize":390158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrj1FCRA9TVsSAnZWagAAjfkP/idUnLI2abb+nX12LGv0\noaKmuhNc0TAHDQYBZpme11+5gWPDa7O9SI2KQKAIKLwqL6xuVsgXHuvaWbI6\nx/4/NHd1uI49YJchiO62VIFDiGi6H6iDjmOrFZlM+6Lk7dvpsIZcb+IoDzQT\nx/SLO757rlJg+pIvxjDCRT/4cTdUGRPeSNN/67w5yP172p6DU6zFAjRa5hFC\no/Zk8dcs9B1CuIjhOwBEPSLGIxu+m9MCmTKVQ5fwMzBZ2jZHI5X3nB5Qnn+z\nVm38txPw7h+hBLbtPrPy3uffdGrIb//qaxxPXtpaSMHSAGsXkzh7FFu03Uoy\ndPIvZdaNhlGmnzpIAaqvWdw3BkvRqBo3VUFxnYkRPyQVk1ozqqOtbgc5TTld\nT7uh07mcj7NNuJCfvV1gwu4PNnlhREtGE0qvDYtlRwoawo/ThWs/wzv9TBQy\nh0wgrL6ooqiP/2vyT6P2O6t0pkkTXMbxswBOwa1IGf/s4LIERF6EM6P4h37i\ncGUBaaVfdc7Z6ZwWyID9BJ8FDfvLR9oUpmLZjb1EX0Q05tAd6ngNuIrUtxJy\nTrAejrXLyH2lhnlqVLnefG5fESastJwnZpdMRuJDQ2ZQoktA+QGBVXiLLpZ7\ngvDN8DO8nVvzIlTr3GaOq5prsG6/6gziUcI5sMQO4uqkwM7g2g7ji1LI1Hq2\nALjm\r\n=15yr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3z1ywyc3VS9S/W8mRJ6MvhBYFKewEEeIZFjp1Nk0jGAiBjFNvFZBBbnbz6Zf2p2yXJ46kchrjHq91COAH/Qy0yJw=="}]},"maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonstream2_3.0.0_1571700037269_0.051661135958675164"},"_hasShrinkwrap":false}},"readme":"# jsonstream2\n\n[Dominic Tarr](https://github.com/dominictarr)'s [JSONStream](https://github.com/dominictarr/JSONStream) using [Rodd Vagg](https://github.com/rvagg)'s [through2](https://github.com/rvagg/through2).\n\n## install\n\n```sh\nnpm install jsonstream2\n```\n\n## example\n\n```js\n\nvar request = require('request')\n  , JSONStream = require('jsonstream2')\n  , es = require('event-stream')\n\nrequest({url: 'http://isaacs.couchone.com/registry/_all_docs'})\n  .pipe(JSONStream.parse('rows.*'))\n  .pipe(es.mapSync(function (data) {\n    console.error(data)\n    return data\n  }))\n```\n\n## JSONStream.parse(path)\n\nparse stream of values that match a path\n\n```js\n  JSONStream.parse('rows.*.doc')\n```\n\nThe `..` operator is the recursive descent operator from [JSONPath](http://goessner.net/articles/JsonPath/), which will match a child at any depth (see examples below).\n\nIf your keys have keys that include `.` or `*` etc, use an array instead.\n`['row', true, /^doc/]`.\n\nIf you use an array, `RegExp`s, booleans, and/or functions. The `..` operator is also available in array representation, using `{recurse: true}`.\nany object that matches the path will be emitted as 'data' (and `pipe`d down stream)\n\nIf `path` is empty or null, no 'data' events are emitted.\n\nIf you want to have keys emitted, you can prefix your `*` operator with `$`: `obj.$*` - in this case the data passed to the stream is an object with a `key` holding the key and a `value` property holding the data.\n\n### Examples\n\nquery a couchdb view:\n\n```sh\ncurl -sS localhost:5984/tests/_all_docs&include_docs=true\n```\nyou will get something like this:\n\n```js\n{\"total_rows\":129,\"offset\":0,\"rows\":[\n  { \"id\":\"change1_0.6995461115147918\"\n  , \"key\":\"change1_0.6995461115147918\"\n  , \"value\":{\"rev\":\"1-e240bae28c7bb3667f02760f6398d508\"}\n  , \"doc\":{\n      \"_id\":  \"change1_0.6995461115147918\"\n    , \"_rev\": \"1-e240bae28c7bb3667f02760f6398d508\",\"hello\":1}\n  },\n  { \"id\":\"change2_0.6995461115147918\"\n  , \"key\":\"change2_0.6995461115147918\"\n  , \"value\":{\"rev\":\"1-13677d36b98c0c075145bb8975105153\"}\n  , \"doc\":{\n      \"_id\":\"change2_0.6995461115147918\"\n    , \"_rev\":\"1-13677d36b98c0c075145bb8975105153\"\n    , \"hello\":2\n    }\n  },\n]}\n\n```\n\nwe are probably most interested in the `rows.*.doc`\n\ncreate a `Stream` that parses the documents from the feed like this:\n\n```js\nvar stream = JSONStream.parse(['rows', true, 'doc']) //rows, ANYTHING, doc\n\nstream.on('data', function(data) {\n  console.log('received:', data);\n});\n//emits anything from _before_ the first match\nstream.on('header', function (data) {\n  console.log('header:', data) // => {\"total_rows\":129,\"offset\":0}\n})\n\n```\nawesome!\n\nIn case you wanted the contents the doc emitted:\n\n```js\nvar stream = JSONStream.parse(['rows', true, 'doc', {emitKey: true}]) //rows, ANYTHING, doc, items in docs with keys\n\nstream.on('data', function(data) {\n  console.log('key:', data.key);\n  console.log('value:', data.value);\n});\n\n```\n\nYou can also emit the path:\n\n```js\nvar stream = JSONStream.parse(['rows', true, 'doc', {emitPath: true}]) //rows, ANYTHING, doc, items in docs with keys\n\nstream.on('data', function(data) {\n  console.log('path:', data.path);\n  console.log('value:', data.value);\n});\n\n```\n\n### recursive patterns (..)\n\n`JSONStream.parse('docs..value')` \n(or `JSONStream.parse(['docs', {recurse: true}, 'value'])` using an array)\nwill emit every `value` object that is a child, grand-child, etc. of the \n`docs` object. In this example, it will match exactly 5 times at various depth\nlevels, emitting 0, 1, 2, 3 and 4 as results.\n\n```js\n{\n  \"total\": 5,\n  \"docs\": [\n    {\n      \"key\": {\n        \"value\": 0,\n        \"some\": \"property\"\n      }\n    },\n    {\"value\": 1},\n    {\"value\": 2},\n    {\"blbl\": [{}, {\"a\":0, \"b\":1, \"value\":3}, 10]},\n    {\"value\": 4}\n  ]\n}\n```\n\n## JSONStream.parse(pattern, map)\n\nprovide a function that can be used to map or filter\nthe json output. `map` is passed the value at that node of the pattern,\nif `map` return non-nullish (anything but `null` or `undefined`)\nthat value will be emitted in the stream. If it returns a nullish value,\nnothing will be emitted.\n\n`JSONStream` also emits `'header'` and `'footer'` events,\nthe `'header'` event contains anything in the output that was before\nthe first match, and the `'footer'`, is anything after the last match.\n\n## JSONStream.stringify(open, sep, close)\n\nCreate a writable stream.\n\nyou may pass in custom `open`, `close`, and `seperator` strings.\nBut, by default, `JSONStream.stringify()` will create an array,\n(with default options `open='[\\n', sep='\\n,\\n', close='\\n]\\n'`)\n\nIf you call `JSONStream.stringify(false)`\nthe elements will only be seperated by a newline.\n\nIf you only write one item this will be valid JSON.\n\nIf you write many items,\nyou can use a `RegExp` to split it into valid chunks.\n\n## JSONStream.stringifyObject(open, sep, close)\n\nVery much like `JSONStream.stringify`,\nbut creates a writable stream for objects instead of arrays.\n\nAccordingly, `open='{\\n', sep='\\n,\\n', close='\\n}\\n'`.\n\nWhen you `.write()` to the stream you must supply an array with `[ key, data ]`\nas the first argument.\n\n## unix tool\n\nquery npm to see all the modules that browserify has ever depended on.\n\n```sh\ncurl https://registry.npmjs.org/browserify | JSONStream 'versions.*.dependencies'\n```\n\n## numbers\n\nnumbers will be emitted as numbers.\nhuge numbers that cannot be represented in memory as javascript numbers will be emitted as strings.\ncf https://github.com/creationix/jsonparse/commit/044b268f01c4b8f97fb936fc85d3bcfba179e5bb for details.\n\n## Acknowlegements\n\nthis module depends on https://github.com/creationix/jsonparse\nby Tim Caswell. Thanks also to Florent Jaby for https://github.com/Floby/node-json-streams\n\n\n## license\n\nMIT\n","maintainers":[{"name":"ramitos","email":"mail@sergioramos.me"}],"time":{"modified":"2022-06-19T06:48:32.480Z","created":"2014-09-15T01:27:48.463Z","1.0.0":"2014-09-15T01:27:48.463Z","1.1.0":"2014-09-15T02:37:05.479Z","1.1.1":"2015-10-26T22:23:31.979Z","1.1.2":"2018-11-27T00:23:29.457Z","2.0.0":"2019-01-25T01:21:09.158Z","2.0.1":"2019-01-25T01:28:10.070Z","3.0.0":"2019-10-21T23:20:37.398Z"},"homepage":"https://github.com/sergioramos/JSONStream2","keywords":["streams","stream","streams2","json","parse","stringify","writable","readable"],"repository":{"type":"git","url":"git://github.com/sergioramos/JSONStream2.git"},"author":{"name":"Sérgio Ramos","email":"http://sergioramos.me","url":"mail@sergioramos.me"},"bugs":{"url":"http://github.com/sergioramos/JSONStream2/issues","email":"mail@sergioramos.me"},"license":"MIT","readmeFilename":"readme.md"}