{"_id":"chunking-streams","_rev":"2916703","name":"chunking-streams","description":"NodeJS chunking streams","dist-tags":{"latest":"0.0.8"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"time":{"modified":"2023-02-01T08:57:08.000Z","created":"2013-10-08T07:40:40.027Z","0.0.8":"2015-06-14T20:11:38.839Z","0.0.7-b1":"2014-08-13T19:10:51.551Z","0.0.6":"2014-08-02T05:51:51.625Z","0.0.5":"2014-03-01T20:50:09.704Z","0.0.4":"2014-02-24T19:09:51.250Z","0.0.3":"2013-10-21T20:32:46.671Z","0.0.2":"2013-10-08T09:49:47.875Z","0.0.1":"2013-10-08T07:40:40.027Z"},"users":{},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"versions":{"0.0.8":{"name":"chunking-streams","version":"0.0.8","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"gitHead":"61f607d6e291d1ed320c7d21014895b5978ed67f","bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"homepage":"https://github.com/Olegas/node-chunking-streams","_id":"chunking-streams@0.0.8","_shasum":"0b9cdea154d891c46702f0c6cfc949dac2f8fa81","_from":".","_npmVersion":"2.7.5","_nodeVersion":"1.6.4","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"dist":{"shasum":"0b9cdea154d891c46702f0c6cfc949dac2f8fa81","size":12354,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.8.tgz"},"directories":{},"publish_time":1434312698839,"_hasShrinkwrap":false,"_cnpm_publish_time":1434312698839,"_cnpmcore_publish_time":"2021-12-16T19:45:25.265Z"},"0.0.7-b1":{"name":"chunking-streams","version":"0.0.7-b1","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"homepage":"https://github.com/Olegas/node-chunking-streams","_id":"chunking-streams@0.0.7-b1","dist":{"shasum":"ecb1bbc8da0abdd5af53304a67f36176b9a8ec88","size":11733,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.7-b1.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.7-b1.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1407957051551,"_hasShrinkwrap":false,"_cnpm_publish_time":1407957051551,"_cnpmcore_publish_time":"2021-12-16T19:45:25.914Z"},"0.0.6":{"name":"chunking-streams","version":"0.0.6","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"homepage":"https://github.com/Olegas/node-chunking-streams","_id":"chunking-streams@0.0.6","dist":{"shasum":"70de36b331a58c8f2a413971b82b36b035e3fb61","size":11642,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.6.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1406958711625,"_hasShrinkwrap":false,"_cnpm_publish_time":1406958711625,"_cnpmcore_publish_time":"2021-12-16T19:45:26.166Z"},"0.0.5":{"name":"chunking-streams","version":"0.0.5","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"homepage":"https://github.com/Olegas/node-chunking-streams","_id":"chunking-streams@0.0.5","dist":{"shasum":"5eaf42d0f20946705cba0638bcbc6e4c0f99c637","size":11507,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.5.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1393707009704,"_hasShrinkwrap":false,"_cnpm_publish_time":1393707009704,"_cnpmcore_publish_time":"2021-12-16T19:45:26.409Z"},"0.0.4":{"name":"chunking-streams","version":"0.0.4","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"homepage":"https://github.com/Olegas/node-chunking-streams","_id":"chunking-streams@0.0.4","dist":{"shasum":"327f145897540516045da66ff7dc620990573c62","size":10039,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.4.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1393268991250,"_hasShrinkwrap":false,"_cnpm_publish_time":1393268991250,"_cnpmcore_publish_time":"2021-12-16T19:45:26.634Z"},"0.0.3":{"name":"chunking-streams","version":"0.0.3","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"readmeFilename":"README.md","bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"_id":"chunking-streams@0.0.3","dist":{"shasum":"056508480dcbbf8d8923f0c9de375f89ecaa5aff","size":9816,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.3.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1382387566671,"_hasShrinkwrap":false,"_cnpm_publish_time":1382387566671,"_cnpmcore_publish_time":"2021-12-16T19:45:26.828Z"},"0.0.2":{"name":"chunking-streams","version":"0.0.2","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"_id":"chunking-streams@0.0.2","dist":{"shasum":"a62582d3fcee94416fb883d0e31d066113ff1fda","size":8441,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.2.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1381225787875,"_hasShrinkwrap":false,"_cnpm_publish_time":1381225787875,"_cnpmcore_publish_time":"2021-12-16T19:45:27.471Z"},"0.0.1":{"name":"chunking-streams","version":"0.0.1","description":"NodeJS chunking streams","main":"index.js","repository":{"type":"git","url":"https://github.com/Olegas/node-chunking-streams"},"keywords":["stream","chunking","s3","gzip"],"devDependencies":{"istanbul":"0.1.44","mocha-istanbul":"0.2.0","coveralls":"2.3.0","assert":"0.4.9","mocha":"1.13.0"},"scripts":{"instrument":"node ./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib","test-cov":"npm run-script instrument && COVER=CHUNKING ISTANBUL_REPORTERS=lcovonly node ./node_modules/.bin/mocha -R mocha-istanbul","test":"node ./node_modules/mocha/bin/mocha -R spec"},"author":{"name":"Oleg Elifantiev","email":"oleg@elifantiev.ru"},"license":"MIT","engines":{"node":">=0.10"},"_id":"chunking-streams@0.0.1","dist":{"shasum":"d5bee3b978cde872b58bd375fd12f67ff95a4bf7","size":7722,"noattachment":false,"key":"/chunking-streams/-/chunking-streams-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/chunking-streams/download/chunking-streams-0.0.1.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"olegas","email":"oleg@elifantiev.ru"},"maintainers":[{"name":"olegas","email":"oleg@elifantiev.ru"}],"directories":{},"publish_time":1381218040027,"_hasShrinkwrap":false,"_cnpm_publish_time":1381218040027,"_cnpmcore_publish_time":"2021-12-16T19:45:28.074Z"}},"readme":"node-chunking-streams\n=====================\n\n[![Build Status](https://travis-ci.org/Olegas/node-chunking-streams.png?branch=master)](https://travis-ci.org/Olegas/node-chunking-streams)\n[![Coverage Status](https://coveralls.io/repos/Olegas/node-chunking-streams/badge.png)](https://coveralls.io/r/Olegas/node-chunking-streams)\n[![NPM version](https://badge.fury.io/js/chunking-streams.png)](http://badge.fury.io/js/chunking-streams)\n[![Dependency Status](https://gemnasium.com/Olegas/node-chunking-streams.png)](https://gemnasium.com/Olegas/node-chunking-streams)\n\nA set of Node.js streams to process data in chunks\n\n 1. LineCounter\n 1. SeparatorChunker\n 1. SizeChunker\n 1. GzipChunker\n 1. S3MultipartUploader\n\nTo intstall with NPM\n\n```\nnpm install chunking-streams\n```\n\nTo use with Node.JS\n\n```javascript\n\nvar chunkingStreams = require('chunking-streams');\n\nvar LineCounter = chunkingStreams.LineCounter;\nvar SeparatorChunker = chunkingStreams.SeparatorChunker;\nvar SizeChunker = chunkingStreams.SizeChunker;\n\n// ad so on...\n```\n\n\nLineCounter\n-----------\n\nSimple `TransformStream` which counts lines (`\\n` is a separator) and emit data chunks contains exactly specified number\n of them.\n\n### Configuration\n\n```javascript\nnew LineCounter({\n    numLines: 1,        // number of lines in a single output chunk. 1 is default\n    flushTail: false    // on stream end, flush or not remaining buffer. false is default\n});\n```\n\nSeparatorChunker\n----------------\n\n\nSplit incoming data into chunks based on specified separator. After each separator found data chunk is emitted.\nBy default separator sequence is set to `\\n`, so it is equals to LineCounter with `numLines: 1`\n\n### Configuration\n\n```javascript\nnew SeparatorChunker({\n    separator: '\\n', // separator sequence\n    flushTail: false // on stream end, flush or not remaining buffer. false is default\n});\n```\n\nSizeChunker\n-----------\n\nSplit streams into chunks having exactly specified number of bytes. It is **object mode** stream!\nEach data chunk is an object with the following fields:\n\n  - id: number of chunk (starts from 0)\n  - data: `Buffer` with data\n\nSizeChunker has 2 additional events:\n\n  - chunkStart: emitted on each chunk start.\n  - chunkEnd: emitted on each chunk finish.\n\nBoth event handlers must accept two arguments:\n\n  - id: number of chunk\n  - done: callback function, **must** be called then processing is completed\n\nIf some tail data is not fit fully into specified chunk size, it can be emitted at the end if `flushTail` flag is set.\n\n### Configuration\n\n```javascript\nnew SizeChunker({\n    chunkSize: 1024 // must be a number greater than zero.\n    flushTail: true // flush or not remainder of an incoming stream. Defaults to false\n});\n```\n\n### Example\n```javascript\nvar input = fs.createReadStream('./input'),\n    chunker = new SizeChunker({\n        chunkSize: 1024\n    }),\n    output;\n\nchunker.on('chunkStart', function(id, done) {\n    output = fs.createWriteStream('./output-' + id);\n    done();\n});\n\nchunker.on('chunkEnd', function(id, done) {\n    output.end();\n    done();\n});\n\nchunker.on('data', function(chunk) {\n    output.write(chunk.data);\n});\n\ninput.pipe(chunker);\n```\n\n### S3MultipartUploader\n\n**INCOMPLETE**\n","_attachments":{},"homepage":"https://github.com/Olegas/node-chunking-streams","bugs":{"url":"https://github.com/Olegas/node-chunking-streams/issues"},"license":"MIT"}