{"_id":"@bunchtogether/chunked-stream-transformers","_rev":"3-8e7fdd196c51ee93fceffe8ff86a5cd1","name":"@bunchtogether/chunked-stream-transformers","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@bunchtogether/chunked-stream-transformers","version":"1.0.0","main":"dist/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/bunchtogether/chunked-stream-transformers.git"},"author":{"name":"John Wehr","email":"johnwehr@gmail.com"},"license":"MIT","scripts":{"build":"rm -rf ./dist; flow-remove-types ./src --out-dir ./dist && flow-copy-source ./src ./dist","flow-typed":"flow-typed install --overwrite","test":"yarn lint && yarn test:js","test:js":"cross-env NODE_ENV=test jest tests","lint":"npm run lint:js && npm run lint:flow","lint:js":"eslint -c ./.eslintrc --cache --no-eslintrc --fix .","lint:flow":"flow --show-all-errors","coverage":"codecov","documentation":"documentation readme src/index.js --section='API' --babel=./babel.config.json"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn documentation && yarn build && git add dist ./README.md"}},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"collectCoverageFrom":["src/*.js"]},"devDependencies":{"@babel/core":"^7.12.16","@babel/plugin-transform-flow-strip-types":"^7.12.13","babel-eslint":"^10.1.0","babel-jest":"^26.6.3","codecov":"^3.8.1","cross-env":"^7.0.3","documentation":"^13.1.1","eslint":"^7.20.0","eslint-config-bunchtogether":"^1.1.6","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-flowtype-errors":"^4.4.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jest":"^24.1.5","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.22.0","expect":"^26.6.2","flow-bin":"^0.144.0","flow-copy-source":"^2.0.9","flow-remove-types":"^2.144.0","flow-typed":"3.2.1","husky":"^5.0.9","jest":"^26.6.3","uuid":"^8.3.2"},"dependencies":{},"gitHead":"7b96f29ee2398f9437bed053265d8acf24e4dfab","description":"[![CircleCI](https://circleci.com/gh/bunchtogether/chunked-stream-transformers.svg?style=svg)](https://circleci.com/gh/bunchtogether/chunked-stream-transformers) [![npm version](https://badge.fury.io/js/chunked-stream-transformers.svg)](http://badge.fury.","bugs":{"url":"https://github.com/bunchtogether/chunked-stream-transformers/issues"},"homepage":"https://github.com/bunchtogether/chunked-stream-transformers#readme","_id":"@bunchtogether/chunked-stream-transformers@1.0.0","_nodeVersion":"12.18.4","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sMTYbmviUJFUlGmmXTsrjS9kysGxHmb4iQvISHDRB7bAmSVOKYpHCVMke6z1Wxx1qdgD9UfgKrHk1heW7v686g==","shasum":"aafc9f77c6cc37e5f0e4709977afdd1a241b95da","tarball":"https://registry.npmjs.org/@bunchtogether/chunked-stream-transformers/-/chunked-stream-transformers-1.0.0.tgz","fileCount":32,"unpackedSize":302074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLecoCRA9TVsSAnZWagAAFhEP/0LdxSR8CYhGF6j3B+vU\nsDFr/6GmrJefsELVUC5ipByck8CqVpEuLW8zK+guzTOo/+KUepyAtHWHXqFN\nQYo74Tslbw/4CgmSRAOgszG3dLjOMqqiv2EWKDTWKhGOZz48bB9JoJh6xFOr\nbuF6TIuP8otRocnZ4wWorr8+QLOgxMiW3t1fZrdA9igfQwPNDsXqH+5t32Wn\nDXw7lmndCRMVu0Y5WxLlGXCO+A4oAkDaZalsPdfdf5eoQys78NoZEmUVLcHW\nwbv5E7l2+9oMjHCg/Pvg5OOgY4Ytjo62V7zf5UPXFUhlTE0GB5AfO/60xhbY\nHxwq4RaT9q/yG0jJWt0UbSCAL/vWlQBDKxfTGHWWfGGFniC3fgTPjiR4Hsv4\niOSo/Sd/eDRzo9w9fX0+EGwF/q9IfBXb216I0uLYH6qSxXDw5yz659nzypcI\nygCpIO3sZjXujJUi/+1MAv0LJSf+M7jQboUIChKsoDVGlHBKbFroaHuA0wnm\nZJvvn/8pch0Zat+lo/zNwKM3FJXD/qq8NzJv6VKnvllbxI54IUVdfDs0gezq\nu5eHeEjT8rYd8SqQxIptJ6PYxgol2casi81mwzk2giR1KAxMfH8RWmwW5IMN\nQpu1V2NBTPf9gZ89tDKrQ8FoEZpjHDXA+Nf/NAEudwEt7yEQSvQNEecki5jZ\nW5+J\r\n=USFc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmjz8PJStl92lt+8UlUeHH9KXRv5kllAljfNz5bVQR0wIgEJ45Ir/yqHAwIeZUy0P3HdL0R3h92/dhwIsjJIv8FoQ="}]},"_npmUser":{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"},"directories":{},"maintainers":[{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/chunked-stream-transformers_1.0.0_1613621032082_0.43932302692075154"},"_hasShrinkwrap":false},"1.0.1":{"name":"@bunchtogether/chunked-stream-transformers","version":"1.0.1","main":"dist/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/bunchtogether/chunked-stream-transformers.git"},"author":{"name":"John Wehr","email":"johnwehr@gmail.com"},"license":"MIT","scripts":{"build":"rm -rf ./dist; flow-remove-types ./src --out-dir ./dist && flow-copy-source ./src ./dist","flow-typed":"flow-typed install --overwrite","test":"yarn lint && yarn test:js","test:js":"cross-env NODE_ENV=test jest tests","lint":"npm run lint:js && npm run lint:flow","lint:js":"eslint -c ./.eslintrc --cache --no-eslintrc --fix .","lint:flow":"flow --show-all-errors","coverage":"codecov","documentation":"documentation readme src/index.js --section='API' --babel=./babel.config.json","profile":"yarn build && clear && node --prof profile/index.js && node --prof-process $(ls isolate-*) && rm isolate-*","inspect":"yarn build && clear && node --inspect profile/index.js"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn documentation && yarn build && git add dist ./README.md"}},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"collectCoverageFrom":["src/*.js"]},"devDependencies":{"@babel/core":"^7.12.16","@babel/plugin-transform-flow-strip-types":"^7.12.13","babel-eslint":"^10.1.0","babel-jest":"^26.6.3","codecov":"^3.8.1","cross-env":"^7.0.3","documentation":"^13.1.1","eslint":"^7.20.0","eslint-config-bunchtogether":"^1.1.6","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-flowtype-errors":"^4.4.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jest":"^24.1.5","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.22.0","expect":"^26.6.2","flow-bin":"^0.144.0","flow-copy-source":"^2.0.9","flow-remove-types":"^2.144.0","flow-typed":"3.2.1","husky":"^5.0.9","jest":"^26.6.3","uuid":"^8.3.2"},"dependencies":{},"gitHead":"c4feef1ccfced7c8851a5210f621a63c42377d7a","description":"[![CircleCI](https://circleci.com/gh/bunchtogether/chunked-stream-transformers.svg?style=svg)](https://circleci.com/gh/bunchtogether/chunked-stream-transformers) [![npm version](https://badge.fury.io/js/%40bunchtogether%2Fchunked-stream-transformers.svg)]","bugs":{"url":"https://github.com/bunchtogether/chunked-stream-transformers/issues"},"homepage":"https://github.com/bunchtogether/chunked-stream-transformers#readme","_id":"@bunchtogether/chunked-stream-transformers@1.0.1","_nodeVersion":"12.18.4","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Xg/H7Xoj7qxqRhzzSODfgg2cBTgM9kCXiIbMvDQahvJIOtv3bwoV/5ICG+ue8JyrnEfJPxKy/hfc630aIOXHNA==","shasum":"b3b90afa0abe130a5dd5db3defa721a1e1e32aa1","tarball":"https://registry.npmjs.org/@bunchtogether/chunked-stream-transformers/-/chunked-stream-transformers-1.0.1.tgz","fileCount":32,"unpackedSize":321957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLwCBCRA9TVsSAnZWagAAKDEQAJLfARNnqtm9xtvIDHiH\nb8ibce+1+Uv6vWqZsW3gd+cxlp+WD1IWkjooXvGoa3ffkLUMoYBYDL0fz0TD\nOp/9FH5ywGFL11laTFAQA4Q9j+6hlP4rkqc9s4KXR/HmRf/L/3v7xPmCmSgm\nWzS535Hi4bM0b0M5nw9PlVqjUDxRbxemO2jpOvfMvUqH5apuaTh5/q1KNwAp\nivVtC/y3HQjypmcD6YH/L2s2syesO8pkNZ3cHLJvUZuVgBCKvq9RjcOZ4r37\nO8SzSf8mv6MNyLAUFtujqJipyeV66uXVnxNUPNjggvm85WZEiayk42cSVnBV\nhNU0WDJ1fBy+IZpbCOFpzsIGYykHmVQwBpFa4ZzjoaHueSkh1v2ShrrlSykH\ny3uTV5j+D+nWTrzhFl1sZB8toVJamn03R1U7ff9GKo1U2c8VIw2BZWuSM+vg\ncwO30O7CeZ3ShztvXNH5+UUd9aXhwLELd4+vYFLpv7FpCppPAMlDzSDhne4q\nTGpWd54LXtny1R3uOB3XFx8gl22a4spD2k32tIEN4r3P2lHnD7aF+g0B3r0/\nz/FJe1gfM6fIcQWQJoOH1zaCes3t1OJTiUeTQwo9MD9DlkPboEXe+AZnIFxg\ne0lfFXlCrmj8km6iYV5h/3a13VuuSkJY9f2atbpwXLqNwH3Q1SX7GpySbAAX\nQd7z\r\n=MJbo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTdjrGOEWlMmHgCZsrHr2Cv9TAdvgFHBEzm9M70GMNbwIgLJRDGq5V7QtIavTubburifNRavbu8FEnY/D4nEetckI="}]},"_npmUser":{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"},"directories":{},"maintainers":[{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/chunked-stream-transformers_1.0.1_1613693057125_0.5072518091776004"},"_hasShrinkwrap":false},"1.0.2":{"name":"@bunchtogether/chunked-stream-transformers","version":"1.0.2","main":"dist/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/bunchtogether/chunked-stream-transformers.git"},"author":{"name":"John Wehr","email":"johnwehr@gmail.com"},"license":"MIT","scripts":{"build":"rm -rf ./dist; flow-remove-types ./src --out-dir ./dist && flow-copy-source ./src ./dist","flow-typed":"flow-typed install --overwrite","test":"yarn lint && yarn test:js","test:js":"cross-env NODE_ENV=test jest tests","lint":"npm run lint:js && npm run lint:flow","lint:js":"eslint -c ./.eslintrc --cache --no-eslintrc --fix .","lint:flow":"flow --show-all-errors","coverage":"codecov","documentation":"documentation readme src/index.js --section='API' --babel=./babel.config.json","profile":"yarn build && clear && node --prof profile/index.js && node --prof-process $(ls isolate-*) && rm isolate-*","inspect":"yarn build && clear && node --inspect profile/index.js"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn documentation && yarn build && git add dist ./README.md"}},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"collectCoverageFrom":["src/*.js"]},"devDependencies":{"@babel/core":"^7.12.16","@babel/plugin-transform-flow-strip-types":"^7.12.13","babel-eslint":"^10.1.0","babel-jest":"^26.6.3","codecov":"^3.8.1","cross-env":"^7.0.3","documentation":"^13.1.1","eslint":"^7.20.0","eslint-config-bunchtogether":"^1.1.6","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-flowtype-errors":"^4.4.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jest":"^24.1.5","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.22.0","expect":"^26.6.2","flow-bin":"^0.144.0","flow-copy-source":"^2.0.9","flow-remove-types":"^2.144.0","flow-typed":"3.2.1","husky":"^5.0.9","jest":"^26.6.3","uuid":"^8.3.2"},"dependencies":{},"gitHead":"05b02da55901392f2d1c93457ca2a8adc5272569","description":"[![CircleCI](https://circleci.com/gh/bunchtogether/chunked-stream-transformers.svg?style=svg)](https://circleci.com/gh/bunchtogether/chunked-stream-transformers) [![npm version](https://badge.fury.io/js/%40bunchtogether%2Fchunked-stream-transformers.svg)]","bugs":{"url":"https://github.com/bunchtogether/chunked-stream-transformers/issues"},"homepage":"https://github.com/bunchtogether/chunked-stream-transformers#readme","_id":"@bunchtogether/chunked-stream-transformers@1.0.2","_nodeVersion":"12.18.4","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1hAWdOAzU61YRZgivHkuyAdGDHyPeRZMSRA7VSq0KPnR75MYqR02lcs1SS6Nz1NxlRpv8866wIhEGikQbTmaRQ==","shasum":"4632686b65c001ee5ece49fbabb6afd69aa5e01b","tarball":"https://registry.npmjs.org/@bunchtogether/chunked-stream-transformers/-/chunked-stream-transformers-1.0.2.tgz","fileCount":32,"unpackedSize":322002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLzItCRA9TVsSAnZWagAA6V8P/1lPE0FBKUBTzH8AZQvu\ntvMExzBHuokimrnaMxsQ4BJ7r/OA7aAZRRKAkdwz+4r8c/Ne2H3nV7fYleCP\n+F5fEA8dr3zaOSak0XinqvmsJ5GGp+9svHZc5/0e4QQXs49pWE2tN+8H6Czw\n0PtJKak4jQFL3n/gpUMf3xKKzot7q40YmvVJapidhHH5+DnN6N5MQvl1SZ+h\nEwOYvk4XIi+gqtWKsEuFGQr0y8Z3z4q1tgOiyvs2bllbVuW9IugCDNX1lyVl\nEnrBJ61UaKDVddNySqEmD8FZTivPsLsNLBKpwoTMgf/HyjH4Kel/HpXbD8gf\neJwDDrn6mMO8VV5s6f8708ypH6xNhmfLYc7mqJ8fEDhM61vej1NxZeY3QT8k\nvdJVSyLeQiCDBBBNYGcyOJr7dZorWnNFovmuuG4ZfEYciBMHBpVRM3k5Nrqi\ntFZbbmMxXWPnauv7jDH7nva3ckTm8ocxl6GOlgIWc+z6HNKjb4ITzgaVPvMt\nqEEQytVr3+1AhNx/nwduF1CUjpn7TqXiz6FRhqe2DJnUdwM6kvDTV4L6B6jw\nHSezdoJ0YvyGkp+ELC5c2dRd1l7b6EyC3Xk9SexGjkBD69vXPocsLKEwf8C2\nyz3lxVw2DOobFmI0UCeC7cgxmLW7Tevcnowbh6RAKa2ynstNnHIdMKwyhwa7\n8E1i\r\n=/XbT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyR6O/oSUJjaeeu0nQ8GPU/g6MSi5aKfnE0lYMuu2gOwIhAIUeGNuCvx7mfr78UnhOL/o5uO/+e3W8YXjCH5mkLuX7"}]},"_npmUser":{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"},"directories":{},"maintainers":[{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/chunked-stream-transformers_1.0.2_1613705773040_0.7163047668853022"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-18T04:03:52.015Z","1.0.0":"2021-02-18T04:03:52.205Z","modified":"2022-04-04T21:05:40.200Z","1.0.1":"2021-02-19T00:04:17.263Z","1.0.2":"2021-02-19T03:36:13.243Z"},"maintainers":[{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"}],"description":"[![CircleCI](https://circleci.com/gh/bunchtogether/chunked-stream-transformers.svg?style=svg)](https://circleci.com/gh/bunchtogether/chunked-stream-transformers) [![npm version](https://badge.fury.io/js/%40bunchtogether%2Fchunked-stream-transformers.svg)]","homepage":"https://github.com/bunchtogether/chunked-stream-transformers#readme","repository":{"type":"git","url":"git+ssh://git@github.com/bunchtogether/chunked-stream-transformers.git"},"author":{"name":"John Wehr","email":"johnwehr@gmail.com"},"bugs":{"url":"https://github.com/bunchtogether/chunked-stream-transformers/issues"},"license":"MIT","readme":"# Chunked Stream Transformers\n\n[![CircleCI](https://circleci.com/gh/bunchtogether/chunked-stream-transformers.svg?style=svg)](https://circleci.com/gh/bunchtogether/chunked-stream-transformers) [![npm version](https://badge.fury.io/js/%40bunchtogether%2Fchunked-stream-transformers.svg)](https://badge.fury.io/js/%40bunchtogether%2Fchunked-stream-transformers)\n\n[``SerializeTransform``](https://github.com/bunchtogether/chunked-stream-transformers#serializetransform) transforms large binary chunks into small chunks limited to a maximum size. \n\n[``DeserializeTransform``](https://github.com/bunchtogether/chunked-stream-transformers#deserializetransform) assembles the small chunks to recreate the original large chunks.\n\nThe protocol implementation is conceptually similar to [Real-time Transport Protocol (RTP)](https://en.wikipedia.org/wiki/Real-time_Transport_Protocol).\n\nUseful for distributed systems where messages may arrive out of order.\n\nExtends the Node.js [Transform](https://nodejs.org/api/stream.html#stream_class_stream_transform) and can be used with any stream. No dependencies.\n\nIf you encounter an issue, fork the repository, [write tests demonstrating](https://github.com/bunchtogether/chunked-stream-transformers/tree/master/tests) the issue, and create a [pull request](https://github.com/bunchtogether/chunked-stream-transformers).\n\n```js\nconst crypto = require('crypto');\nconst { \n  SerializeTransform, \n  DeserializeTransform, \n  ChunkTimeoutError, \n  ChunkIncompleteError \n} = require('@bunchtogether/chunked-stream-transformers');\n\nconst serializeTransform = new SerializeTransform({\n  maxChunkSize: 1024 // bytes\n});\n\nconst deserializeTransform = new DeserializeTransform({\n  timeout: 1000 // ms\n});\n\n// 10 MB buffer\nconst originalBuffer = crypto.randomBytes(10 * 1024 * 1024);\n\n// The serialize transform will chunk to \"maxChunkSize\"\n// inclusive of a 12 byte header used for chunk reordering\nserializeTransform.on('data', (chunk) => {\n  // Chunks may be sent out of order\n  setTimeout(() => {\n    deserializeTransform.write(chunk);\n  }, Math.random() * 100);\n});\n\n// The deserialize transform will reorder the chunks\n// and recreate the original buffer\ndeserializeTransform.on('data', (receivedBuffer) => {\n  originalBuffer.equals(receivedBuffer); // true\n});\n\nserializeTransform.write(originalBuffer);\n\ndeserializeTransform.onIdle().then(() => {\n  // Resolves immediately if no writes are active\n  // or when all writes are complete\n});\n\ndeserializeTransform.onActive().then(() => {\n  // Resolves immediately if writes are active\n  // or when a write begins\n});\n\n\ndeserializeTransform.on('active', () => {\n  // Active event is emitted when all chunks start  \n});\n\n// Idle event is emitted when all chunks have been completed\ndeserializeTransform.on('idle', () => {\n  deserializeTransform.end(); // Safe to close the stream\n});\n\ndeserializeTransform.on('error', (error) => {\n  if(error instanceof ChunkTimeoutError) {\n    // One of the writes timed out\n  } else if(error instanceof ChunkIncompleteError) {\n    // The transform was closed while a write was in progress\n  }\n});\n\n```\n\n## Install\n\n`yarn add @bunchtogether/chunked-stream-transformers`\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n-   [ChunkTimeoutError](#chunktimeouterror)\n-   [ChunkIncompleteError](#chunkincompleteerror)\n-   [SerializeTransform](#serializetransform)\n    -   [Parameters](#parameters)\n-   [DeserializeTransform](#deserializetransform)\n    -   [Parameters](#parameters-1)\n    -   [bytesRemaining](#bytesremaining)\n    -   [onIdle](#onidle)\n    -   [onActive](#onactive)\n\n### ChunkTimeoutError\n\n**Extends Error**\n\nEmitted by DeserializeTransform streams when the time after the last\nbyte in a chunk received exeeds the 'timeout' parameter\n\n### ChunkIncompleteError\n\n**Extends Error**\n\nEmitted by DeserializeTransform streams that are ended while chunks are\nin progress\n\n### SerializeTransform\n\n**Extends Transform**\n\nIngests data of any size, emits consistently sized chunks containing\na 12 byte header used by DeserializeTransform to reconstruct the original\nstream\n\n#### Parameters\n\n-   `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Transform stream options, see [Node.js documentation](https://nodejs.org/api/stream.html#stream_class_stream_transform) for full documentation (optional, default `{maxChunkSize:1316}`)\n    -   `options.maxChunkSize` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** Maximum size in bytes of emitted chunks, including a 12 byte header. (optional, default `1316`)\n\n### DeserializeTransform\n\n**Extends Transform**\n\nIngests consistently sized chunks generated by SerializeTransform\nand emits the original, larger chunks\n\n#### Parameters\n\n-   `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Transform stream options, see [Node.js documentation](https://nodejs.org/api/stream.html#stream_class_stream_transform) for full documentation (optional, default `{timeout:5000}`)\n    -   `options.timeout` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** Maximum size in bytes of emitted chunks, including a 12 byte header. (optional, default `5000`)\n\n#### bytesRemaining\n\nBytes remaining from active chunks\n\nType: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)\n\nReturns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** \n\n#### onIdle\n\nResolves when all chunks have completed\n\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;void>** \n\n#### onActive\n\nResolves when chunks are initially received\n\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;void>** \n","readmeFilename":"README.md"}