{"maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"snnskwtnb@gmail.com"},{"name":"anonymous","email":"me@rouvenwessling.de"}],"keywords":["unique","stream","unique-stream","streaming","streams"],"dist-tags":{"latest":"2.4.0"},"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"description":"node.js through stream that emits a unique stream of objects based on criteria","readme":"# unique-stream\n\nnode.js through stream that emits a unique stream of objects based on criteria\n\n[![Build Status](https://github.com/eugeneware/unique-stream/actions/workflows/ci.yml/badge.svg?event=push)](https://github.com/eugeneware/unique-stream/actions/workflows/ci.yml)\n\n## Installation\n\nInstall via [npm](https://www.npmjs.com/):\n\n```\n$ npm install unique-stream\n```\n\n## Examples\n\n### Dedupe a ReadStream based on JSON.stringify:\n\n``` js\nvar unique = require('unique-stream')\n  , Stream = require('stream');\n\n// return a stream of 3 identical objects\nfunction makeStreamOfObjects() {\n  var s = new Stream;\n  s.readable = true;\n  var count = 3;\n  for (var i = 0; i < 3; i++) {\n    setImmediate(function () {\n      s.emit('data', { name: 'Bob', number: 123 });\n      --count || end();\n    });\n  }\n\n  function end() {\n    s.emit('end');\n  }\n\n  return s;\n}\n\n// Will only print out one object as the rest are dupes. (Uses JSON.stringify)\nmakeStreamOfObjects()\n  .pipe(unique())\n  .on('data', console.log);\n\n```\n\n### Dedupe a ReadStream based on an object property:\n\n``` js\n// Use name as the key field to dedupe on. Will only print one object\nmakeStreamOfObjects()\n  .pipe(unique('name'))\n  .on('data', console.log);\n```\n\n### Dedupe a ReadStream based on a custom function:\n\n``` js\n// Use a custom function to dedupe on. Use the 'number' field. Will only print one object.\nmakeStreamOfObjects()\n  .pipe(function (data) {\n    return data.number;\n  })\n  .on('data', console.log);\n```\n\n## Dedupe multiple streams\n\nThe reason I wrote this was to dedupe multiple object streams:\n\n``` js\nvar aggregator = unique();\n\n// Stream 1\nmakeStreamOfObjects()\n  .pipe(aggregator);\n\n// Stream 2\nmakeStreamOfObjects()\n  .pipe(aggregator);\n\n// Stream 3\nmakeStreamOfObjects()\n  .pipe(aggregator);\n\naggregator.on('data', console.log);\n```\n\n## Use a custom store to record keys that have been encountered\n\nBy default a set is used to store keys encountered so far, in order to check new ones for\nuniqueness. You can supply your own store instead, providing it supports the add(key) and \nhas(key) methods. This could allow you to use a persistent store so that already encountered\nobjects are not re-streamed when node is reloaded.\n\n``` js\nvar keyStore = {\n  store: {},\n\n  add: function(key) {\n    this.store[key] = true;\n  },\n\n  has: function(key) {\n    return this.store[key] !== undefined;\n  }\n};\n    \nmakeStreamOfObjects()\n  .pipe(unique('name', keyStore))\n  .on('data', console.log);\n```\n\n## Contributing\n\nunique-stream is an **OPEN Open Source Project**. This means that:\n\n> Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.\n\nSee the [CONTRIBUTING.md](https://github.com/eugeneware/unique-stream/blob/master/CONTRIBUTING.md) file for more details.\n\n### Contributors\n\nunique-stream is only possible due to the excellent work of the following contributors:\n\n<table><tbody>\n<tr><th align=\"left\">Eugene Ware</th><td><a href=\"https://github.com/eugeneware\">GitHub/eugeneware</a></td></tr>\n<tr><th align=\"left\">Craig Ambrose</th><td><a href=\"https://github.com/craigambrose\">GitHub/craigambrose</a></td></tr>\n<tr><th align=\"left\">Shinnosuke Watanabe</th><td><a href=\"https://github.com/shinnn\">GitHub/shinnn</a></td></tr>\n<tr><th align=\"left\">Rouven Weßling</th><td><a href=\"https://github.com/realityking\">GitHub/realityking</a></td></tr>\n</tbody></table>\n","repository":{"type":"git","url":"git+https://github.com/eugeneware/unique-stream.git"},"bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"license":"MIT","versions":{"0.0.1":{"name":"unique-stream","version":"0.0.1","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@0.0.1","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"dist":{"shasum":"9a18bab06761c35fcbd339e4f7f0f31ba2e3ee4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-0.0.1.tgz","integrity":"sha512-PaJqfnTO+o0ZTrlW6RSFX/yholB9RNqmhb2Ek1XMhk7GPjZEwiKnSwRsS9M8SsB0q+K7V532l8xIHIAUKeS7Ig==","signatures":[{"sig":"MEQCIDDCKakzHARHe9yrSk717hwZquDotUNfd3zZKb1yKivUAiB4CXvh+lVcyBZdDwUQIFKppAFDMW2CHTNES6ZwKlO7/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node_modules/.bin/mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.2.18","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"dependencies":{"through":"~2.3.4"},"devDependencies":{"chai":"~1.7.2","after":"~0.8.1","mocha":"~1.12.0"}},"0.0.2":{"name":"unique-stream","version":"0.0.2","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@0.0.2","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"dist":{"shasum":"01348747e2382cd19ff2a37a20419e0bdd1844c0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-0.0.2.tgz","integrity":"sha512-76OtGk9ZroZPVHEQ98isyI60umul2yZ+YoU0Rpj8rnVvmpKhwj6d5y669eLfGwYnZgN/DvfwTCz5i9GhmknP5A==","signatures":[{"sig":"MEUCICO+2LbiPj1+D3fvKNLKnkYnvql8mAwGFWpfIHZnhhbGAiEAjI9/nuG1GzBTKZ3ZnZ0GSYyvRDx8EcFqv7zJrmtz0FQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node_modules/.bin/mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.2.18","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"devDependencies":{"chai":"~1.7.2","after":"~0.8.1","mocha":"~1.12.0"}},"0.0.3":{"name":"unique-stream","version":"0.0.3","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@0.0.3","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"a5a19d2764588a4d608baff5889b5a60f18c705d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-0.0.3.tgz","integrity":"sha512-v8LT0fcwPQg85bU8K0vfDMjg9fGhrANzCnu5oUgbMjoYpOnkHOjFU0p9UN9riCiDX9pOwZstnQP3BQwwn3ue6A==","signatures":[{"sig":"MEUCIQC0BL2xVuQ2mN6xQhlLwykuThbp69n+17BehhdZ3NgfUgIgDphFJv5w0xwgMLC0702QwOBCCbkKJjrpvi9e3soyqOo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node_modules/.bin/mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.3.8","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"devDependencies":{"chai":"~1.7.2","after":"~0.8.1","mocha":"~1.12.0"}},"0.0.4":{"name":"unique-stream","version":"0.0.4","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@0.0.4","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"3eb87e23a3ad5e711365daab3f40a3b7061ff8e2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-0.0.4.tgz","integrity":"sha512-ZqfVFzrasb6xMcH+T1jRrI0xfqmkFAXAVsXegyryGR1iFrsMRm8wM/VncVmlmtysKXJjY63Oq6teZrM0xSkfFg==","signatures":[{"sig":"MEUCIQC/OmCsFIoV5RMYJAlVkLdiaGXfcaxlrWphO6nwh54CJAIgLW10D+hUFrR0U3/mc+DAAXLzCA9c0DdVueTVX1hiaPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.4.3","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"devDependencies":{"chai":"~1.7.2","after":"~0.8.1","mocha":"~1.12.0"}},"0.0.5":{"name":"unique-stream","version":"0.0.5","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@0.0.5","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"37606df1a5dd56b99190778ba987e5fd12eafd41","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-0.0.5.tgz","integrity":"sha512-IKERyEBU503JUJHQ44wZllV28xqI/Cge1cAlN8LOvEUMuP96ebLKIaInWL0tyVvcHiWeps3NenSJVaj4lstI0g==","signatures":[{"sig":"MEQCIGAn5PreegYR5gIOUXGJ+eQnfQCiV4Af05xzol3L4zHrAiAMqFygVce7SPknAQ4/4vKNlKZ7TWdQIY9BMLR/24Mb+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.4.3","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"devDependencies":{"chai":"~1.7.2","after":"~0.8.1","mocha":"^1.18.2"}},"1.0.0":{"name":"unique-stream","version":"1.0.0","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@1.0.0","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"d59a4a75427447d9aa6c91e70263f8d26a4b104b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-1.0.0.tgz","integrity":"sha512-L8KM6TdpsoBk6TJTXevbmpub3bATS06Znu3BcfVPVQkFtnh1MFeCZ3gFKCQcji7f7YYiigsO5OR99vqhoNT8nQ==","signatures":[{"sig":"MEUCIQCrQ0ehfD1nSVPPg47w1A8ctGxiV5rDhyRyw9o8ICwYUAIgLOn3tBzLB7mKvu4t+ZTCyrHCRxaG4BRNrNx3DNW5r+E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.4.3","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"devDependencies":{"chai":"~1.7.2","after":"~0.8.1","mocha":"^1.18.2"}},"2.0.0":{"name":"unique-stream","version":"2.0.0","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@2.0.0","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"99576d300b2a1b6eac4352fc7cb1b1a3204c9f49","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.0.0.tgz","integrity":"sha512-Fsc5my/M65T/5INZfN++rn/V2X+Wy7B+LxsQzHx2prR7zlMETMLzH33fL1wdi4P5GSS5qmg9zkeha4Q8YU0Ngw==","signatures":[{"sig":"MEYCIQDe1DbvNVWkXT7E/uP/qoRtGTzPPtlGFUUTD8wmFj8IGgIhAMGWL4UfTz1vEGGgNCSAqPNvmNT5UPE7yNJ83LA/Vyp5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"99576d300b2a1b6eac4352fc7cb1b1a3204c9f49","gitHead":"2c9302f4232b709b126b063de3fc82b5ef1a9385","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.4.28","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"dependencies":{"es6-set":"^0.1.1","through2-filter":"^1.4.0"},"devDependencies":{"chai":"^1.10.0","after":"~0.8.1","mocha":"^2.1.0"}},"2.0.1":{"name":"unique-stream","version":"2.0.1","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@2.0.1","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"71d40ad30cbb804683e72b32933634da4a749ccc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.0.1.tgz","integrity":"sha512-SyiE5N2LDpcOrmdY1IxBQ0Pj4LwswalKYQ2P4ZDBximLI6wqpBoLvyVO35y+y/mOtzsXEfExepGfD8+7gcM96A==","signatures":[{"sig":"MEUCIAhxb/yyeNL30VrduTLrHov/RZxIbGaerXldloXcgXU8AiEA6oUDvetpDCZ7MSyQEUdWTwh0SXfrl0N65UFFvOAqGIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"71d40ad30cbb804683e72b32933634da4a749ccc","gitHead":"7ea6ecc8ace5a1f3d1c765f1f8e26b85cae19f60","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.4.28","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"dependencies":{"es6-set":"^0.1.1","through2-filter":"^1.4.0"},"devDependencies":{"chai":"^1.10.0","after":"~0.8.1","mocha":"^2.1.0"}},"2.0.2":{"name":"unique-stream","version":"2.0.2","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@2.0.2","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"cd3297cff068954d58e9d6991b9044794732c248","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.0.2.tgz","integrity":"sha512-pbP6eg9Cgc6f+IfvlYUCSDfSHlOJVwQq+2rHkfGNVv0YwRO9y+fNZSPIFEdD6Ce3BfxZntJ9H+qRqZ6w98HY5Q==","signatures":[{"sig":"MEUCIQCqRXk6CS91SqahWTQB02VxRvfjESmWuXH/2NCbR4ElUAIgCNqK6Q/vssR5AvMIERNatBPf+brMaGXRsCTINmv2ANk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"cd3297cff068954d58e9d6991b9044794732c248","gitHead":"7a7d3443e1aa54b7f27ed259165e021b2df789cc","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"1.4.28","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"dependencies":{"es6-set":"^0.1.1","through2-filter":"^1.4.0"},"devDependencies":{"chai":"^1.10.0","after":"~0.8.1","mocha":"^2.1.0"}},"2.1.0":{"name":"unique-stream","version":"2.1.0","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@2.1.0","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"ee797aeb2025178a11933db977bf2897a39d8efd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.1.0.tgz","integrity":"sha512-wV3Nq62ER5Gh5S9sbGQPBdhzeL0CMUrZuiEazVeIabsZmyACukJkBpo3I6i4iKnzo4OyBjzz6Sbd0QlpYubIeQ==","signatures":[{"sig":"MEQCIFifNcfLkfdFA0anropKqHyT/gMNzKoe3COT5HETF6qCAiAvP4RGTlkBlkI2Qxs6/MeErHnA8BGVmr62ym4BUmLPbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ee797aeb2025178a11933db977bf2897a39d8efd","gitHead":"f21e3e18c78f328b4a44f0e08a5d213504d4741a","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"2.4.1","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"0.10.32","dependencies":{"through2-filter":"^1.4.0"},"devDependencies":{"chai":"^3.0.0","after":"~0.8.1","mocha":"^2.1.0"}},"2.1.1":{"name":"unique-stream","version":"2.1.1","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"BSD","_id":"unique-stream@2.1.1","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"}],"homepage":"https://github.com/eugeneware/unique-stream","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"5ef32a92cd1914a1cbce81d2b2ec9cfafce3df36","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.1.1.tgz","integrity":"sha512-Q3HjnregFpOBwa4w4NuIQPDUmyiY5TRVkhbBB5+Fb5eK7bQEZ8lDm+nJ1kbosN+jeoSsI4KsfD/uAVX8VTjwYg==","signatures":[{"sig":"MEUCIBNFtlzPxrleKIc0RbH28TY1OyOJALjcdvX42l7nzfk4AiEAraOGC/6AZNYpqb7GwhRuy7TL7ZaAwGHtyZ7SMiFdq9g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"5ef32a92cd1914a1cbce81d2b2ec9cfafce3df36","gitHead":"9691a4dcbaa35f6c0c75477b6054f6aa409fab3a","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"https://github.com/eugeneware/unique-stream","type":"git"},"_npmVersion":"2.4.1","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"0.10.32","dependencies":{"through2-filter":"^1.4.0"},"devDependencies":{"chai":"^3.0.0","after":"~0.8.1","mocha":"^2.1.0"}},"2.2.0":{"name":"unique-stream","version":"2.2.0","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"MIT","_id":"unique-stream@2.2.0","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"snnskwtnb@gmail.com"}],"homepage":"https://github.com/eugeneware/unique-stream#readme","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"1ec82d4ea88c28c7519cbb1b4a87ea8fadd5c30e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.2.0.tgz","integrity":"sha512-5wY90BLzwA/W0Ep76VlTqGQmCCp2SXWf6PdeHJmcS8lH/I+5ZwoQRBfrRMiBIqb69KpHHh9D6rlvz2I3YVqJMA==","signatures":[{"sig":"MEYCIQCWSQaLOtGWKRLWdNkrpWQfqX8Az4qSNCB82tKqO+dB8wIhAPFjGfy1ZQmjKkmGBBoQ9T+wbMWVstbspJOrSQC5YfVW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["index.js"],"_shasum":"1ec82d4ea88c28c7519cbb1b4a87ea8fadd5c30e","gitHead":"49ce49225b4e465091a98fd7ff318c332b76629d","scripts":{"test":"mocha"},"_npmUser":{"name":"anonymous","email":"snnskwtnb@gmail.com"},"repository":{"url":"git+https://github.com/eugeneware/unique-stream.git","type":"git"},"_npmVersion":"2.11.3","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"2.3.0","dependencies":{"through2-filter":"^2.0.0"},"devDependencies":{"chai":"^3.0.0","after":"~0.8.1","mocha":"^2.1.0"}},"2.2.1":{"name":"unique-stream","version":"2.2.1","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"MIT","_id":"unique-stream@2.2.1","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"snnskwtnb@gmail.com"}],"homepage":"https://github.com/eugeneware/unique-stream#readme","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.2.1.tgz","integrity":"sha512-/GNX/RGgMszHjKb8lBKSbTzgKgLfpnyJ4ZgRf73oZxhsrZB5rMkhdgnUleOwTyoBFsAni1iAAUaWuCIPnXDwWA==","signatures":[{"sig":"MEUCIQDHjN6p4iGMnHFmPnPvRfEykhEyeP+/s0kpVPcDJjHslAIgHYFZQi1WuUbmWPQSc9XU3ajgKcGddPC7KQxHKtuGQu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["index.js"],"_shasum":"5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369","gitHead":"44bb895ede1645668c4f62a81c7af8edaf47bff9","scripts":{"test":"mocha","coverage":"istanbul cover _mocha","coveralls":"${npm_package_scripts_coverage} && istanbul-coveralls"},"_npmUser":{"name":"anonymous","email":"snnskwtnb@gmail.com"},"repository":{"url":"git+https://github.com/eugeneware/unique-stream.git","type":"git"},"_npmVersion":"3.7.2","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"5.6.0","dependencies":{"through2-filter":"^2.0.0","json-stable-stringify":"^1.0.0"},"devDependencies":{"chai":"^3.0.0","after":"~0.8.1","mocha":"^2.1.0","istanbul":"^0.4.2","istanbul-coveralls":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/unique-stream-2.2.1.tgz_1455624338144_0.2851575950626284","host":"packages-6-west.internal.npmjs.com"}},"2.2.2":{"name":"unique-stream","version":"2.2.2","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"MIT","_id":"unique-stream@2.2.2","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"snnskwtnb@gmail.com"}],"homepage":"https://github.com/eugeneware/unique-stream#readme","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"cf90c04c833c3fc85f2b836ebb598e7f4b813c79","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.2.2.tgz","fileCount":4,"integrity":"sha512-sAliGFC65X9w48a0bIh+KOG2QYfmUeKvrjbWBtayivKttPcRqGqhiW4jzCUd+bZmmg0PyKxF2oLvpUi85on0og==","signatures":[{"sig":"MEUCIQDZerF1PiCmVZ/c4WP3s1NKUyYoBEyE0QaXBImjyTMIWwIgEL1Yi2kTnf1xbsDdl6c2dQaejM05YvM93JdC/4mH+Ws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGGvvCRA9TVsSAnZWagAAS7AP/Aw07Ni7bAk6pE4mC+wR\nHm+QpPzgApNS1jhcxO5Z0IIKo94LHxZkWvHlTBOY+0nLMNMum+dXJDJ7ViEG\nE9z55scfNHffXVBdOZFUZAcGNDjJs0m960bL7oraN/uylsZfStunX2TxqG79\n2n98KQ4/SH8RYJQX4seKCZflHTwAwS3/Q4fF2adFOMdjIDovJvMAIDcIEgKL\nxrrOwnTf5CEcPzkRjOFyzbFQyt98B9Cp++8iIwNvF3B4ccurO3YN2peM0hWp\nZyVMImZTHPXAZ+yvZjHT24dsis8mIS8AupMkXynvEsOhGwf5hz/t6TQyt+Ig\n6o+wKH8KwM234LuY423tCfLy4ntGKqwty7S1SkPSWocuhpyWcWyWIk/Hk05p\nZb2H13n7OOVQiG1m+LVos2dbGd3Zc6fu5C7hmE6u+J0/7nRNavuTns4sSWJe\nzzgzbzXmy++bJuYNlARjH+G02gurmzjpxuMTKM+OBBfIygXM6C3JHRpFTEvJ\n5z0PHsJWwqbLGHzNxlHS7SS5yEi/xzjDiqRL4ro9u8QU7Y1DhIx8SAQVcO1T\nZMOvXshiRQRMwLPnU5Al0vl4T1wPz1fWiXNT7JNg5rPjDhPhcWINQHnmr3G4\nYNyDHKJwL/cYUx1VfmC3MeGlEqc+dz2L6fPtuOO9M0hFxVxXwbU28Nsv2X7i\niYiU\r\n=gt1c\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"0c4d7545613314838b104df61feb2641697bc47e","scripts":{"test":"mocha","coverage":"istanbul cover _mocha","coveralls":"${npm_package_scripts_coverage} && istanbul-coveralls"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"git+https://github.com/eugeneware/unique-stream.git","type":"git"},"_npmVersion":"6.4.1","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"10.14.0","dependencies":{"through2-filter":"^2.0.0","json-stable-stringify":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^3.0.0","after":"~0.8.1","mocha":"^5.2.0","istanbul":"^0.4.2","istanbul-coveralls":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/unique-stream_2.2.2_1545104367055_0.8070520852999397","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"unique-stream","version":"2.3.0","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"MIT","_id":"unique-stream@2.3.0","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"snnskwtnb@gmail.com"}],"homepage":"https://github.com/eugeneware/unique-stream#readme","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"a0f73724c2fb23330453adb28254a57aaca381c9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.3.0.tgz","fileCount":4,"integrity":"sha512-9+QwXlYo18BdLqY0fEv20xWEHAxE5Zt1Hlv91E0j+R3ZCOJoKoEpiRpIkNzaYu/Y42GZFkmlwKAaOqSRJkNFEQ==","signatures":[{"sig":"MEQCIBOY32lkn3KPYM6mSM6TSLvqmbawFrAlv3VPxqXndvD2AiAVg2tQp1IRRtTAYDgrTc2XDINdo0L4NmO12TnBPCxuOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGHBPCRA9TVsSAnZWagAAtIIP/3CGmP+4jXoABSJWbFKo\n4HEDDCGpzQzr44BIN2QSgqnJ2svfSevik5X+8XuIaTlXXNxqhsrmIcAecqWz\n11yw2LRKF5Ns3jESVJ8tho4K6JrqPVu3ZTGKBvgF68VzAbWW/LW5co+uyM7F\nvSjVvtao+pfEyEjbjM6mXZW/qRi/FxxGwezJUkDY2uvTcIHmu4AMnQEsPwkR\nbh/acurlVmeAhxnpdE7nLQReyhQzrDqalgkC0CfPm5CK8G593ucZleLzXnBt\nhhMzBYuzFdCspSfJfnYYKRUgOC+UkP2TtbMGLdS0I/kPbaUU9HeAGL5Ei78i\ny9fuB4b82/VCl4nNeszRibwKn+aR5Ar+MSqYrRUce9700mG1HuIeQmbH9D/D\nTR7TfvTPDDaRmXinO6RVnCS6WqY15yViQ2Cbuwugs3VI+v1kSuOs+AA6I6cy\nwSSlk7p6CuvtSvQn7mC69m7oeZmx8XK0MTB4Bqp4jZ3Io0DJ+9S59FYzUs+G\nggH5LeeraGRavE9wzO8acUYv2HdZsVEh+b6fbco/6Su1C91lb34GCA3MJqR3\nhNHFll8KVpptEJEAjpDIK197ckiMMijiMUrvH1vRqta4jYlq82llwCgvyQ7b\nysHJMvvfUlZnicCecQVf5BGjriu4EAPPmHCpxcpKI5VXMDJDvtRQKqnvYDBn\nE8mv\r\n=WmBH\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"9afd1a552219a50b2aa0504846ca494fb55214f3","scripts":{"test":"mocha","coverage":"istanbul cover _mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"git+https://github.com/eugeneware/unique-stream.git","type":"git"},"_npmVersion":"6.4.1","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"10.14.0","dependencies":{"through2-filter":"^3.0.0","json-stable-stringify-without-jsonify":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","after":"~0.8.1","mocha":"^5.2.0","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/unique-stream_2.3.0_1545105486518_0.42873421809132917","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"unique-stream","version":"2.3.1","keywords":["unique","stream","unique-stream","streaming","streams"],"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"MIT","_id":"unique-stream@2.3.1","maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"me@rouvenwessling.de"},{"name":"anonymous","email":"snnskwtnb@gmail.com"}],"homepage":"https://github.com/eugeneware/unique-stream#readme","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"dist":{"shasum":"c65d110e9a4adf9a6c5948b28053d9a8d04cbeac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.3.1.tgz","fileCount":4,"integrity":"sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==","signatures":[{"sig":"MEYCIQCwILopBcL6OUqkxhRnWMwzxdSWdz1Bjzjhue4iEsE6jAIhAMuZDOlt5ql5olqLMWvk4KkIdNp5V2kxvoVruz+WCya8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGHEsCRA9TVsSAnZWagAAc60QAJdPJZybYcYEpEm4uDFT\nHZyV6ulJErJklv17/GzihrL6bfJlorbASqVKZ5JhCB3gMU7FFpYHjIZmLzr7\ng31Y6VLTbciPDgfpatAorAfHkHEss3iEGbLSL/MJXUP4RGEb+qd1CObf0PBK\n2OCNtpC+355AAWXrtYXk8tjITlblulF9N9g+bIq+DuHhTkV94SWwiC2Yd2k7\nFtpUqymnpEIA/RldilCjEFR2TqRrUVODL6G8bCc8TxkFpFVsBwFfJA+FDXCT\nQXT7u1ixwiTQxzoQsuGmKgOEIUm/BgHS3f7nfZoA+BI2GfcLV2GRk7I5403w\nlh/0eNObL1BSOuqgoD18DAXlAtDtMTm38Rfj5ctLxi32hDj1T0K7oorsPeud\nVGcekYo1wuwhSaYH9jLXfb1rQGzm/XX9x5H3sIlBlVDuU95yaNPY9rLgid9Z\nm0i2fPvIQA0GXoU8tMop23URYuXJ1vWtym8NwtjDTdShZoQ9ob4UvdqY6b6n\nVqw7UhK16/MUk5XVz6lNNny+qHPlRRkD5lEHCFtr+BOPMus0ic49GMd8xfy4\nr+9rcbqJAGY7x3B7TnTvvvEz8oJcTyM8HyWtPtkC8sVUeRT3gyRVmNirlRrc\nrbXjr0OI5jJ5lH5EUU+veMyjL83oUC4kKeTi9K2d7AyCS6KOn4HJTnXf36wM\nkxob\r\n=qu4+\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"8c20fce4c5cd58a13334a30b09a027195a93a6a9","scripts":{"test":"mocha","coverage":"istanbul cover _mocha"},"_npmUser":{"name":"anonymous","email":"eugene@noblesamurai.com"},"repository":{"url":"git+https://github.com/eugeneware/unique-stream.git","type":"git"},"_npmVersion":"6.4.1","description":"node.js through stream that emits a unique stream of objects based on criteria","directories":{},"_nodeVersion":"10.14.0","dependencies":{"through2-filter":"^3.0.0","json-stable-stringify-without-jsonify":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","after":"~0.8.1","mocha":"^5.2.0","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/unique-stream_2.3.1_1545105707395_0.47618812516540254","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"unique-stream","version":"2.4.0","description":"node.js through stream that emits a unique stream of objects based on criteria","repository":{"type":"git","url":"git+https://github.com/eugeneware/unique-stream.git"},"author":{"name":"Eugene Ware","email":"eugene@noblesamurai.com"},"license":"MIT","scripts":{"test":"mocha","coverage":"nyc npm run test"},"keywords":["unique","stream","unique-stream","streaming","streams"],"dependencies":{"json-stable-stringify-without-jsonify":"^1.0.1","through2-filter":"3.0.0"},"devDependencies":{"after":"~0.8.1","chai":"^4.2.0","mocha":"^5.2.0","nyc":"^17.1.0"},"gitHead":"3589db21758f9369a118b923ce55eb11cc6af22d","_id":"unique-stream@2.4.0","bugs":{"url":"https://github.com/eugeneware/unique-stream/issues"},"homepage":"https://github.com/eugeneware/unique-stream#readme","_nodeVersion":"24.10.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==","shasum":"5d995309556b5ba324197a3f541d675a0a052ff4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/unique-stream/-/unique-stream-2.4.0.tgz","fileCount":4,"unpackedSize":6201,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGMPb5wWO7OE2cPyj6jnZXijIJYtQPSO1hX3LMa+eIZFAiEA2TYbh4pqqswL+FNX4Uxmu4AKULlW1YvdAvMLFONPKZI="}]},"_npmUser":{"name":"anonymous","email":"me@rouvenwessling.de"},"directories":{},"maintainers":[{"name":"anonymous","email":"eugene@noblesamurai.com"},{"name":"anonymous","email":"snnskwtnb@gmail.com"},{"name":"anonymous","email":"me@rouvenwessling.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unique-stream_2.4.0_1760365584285_0.8581205540719692"},"_hasShrinkwrap":false}},"name":"unique-stream","time":{"created":"2013-07-12T05:51:40.066Z","modified":"2025-10-13T14:26:24.665Z","0.0.1":"2013-07-12T05:51:49.387Z","0.0.2":"2013-07-12T14:23:53.502Z","0.0.3":"2013-09-16T14:56:36.627Z","0.0.4":"2014-05-07T04:47:15.767Z","0.0.5":"2014-05-13T10:50:26.632Z","1.0.0":"2014-05-13T11:22:45.877Z","2.0.0":"2015-01-05T02:10:27.287Z","2.0.1":"2015-01-05T02:15:59.122Z","2.0.2":"2015-01-05T02:41:52.294Z","2.1.0":"2015-06-18T22:00:25.012Z","2.1.1":"2015-06-18T22:02:53.086Z","2.2.0":"2015-06-25T00:10:14.459Z","2.2.1":"2016-02-16T12:05:40.106Z","2.2.2":"2018-12-18T03:39:27.268Z","2.3.0":"2018-12-18T03:58:06.662Z","2.3.1":"2018-12-18T04:01:47.650Z","2.4.0":"2025-10-13T14:26:24.462Z"},"readmeFilename":"README.md","homepage":"https://github.com/eugeneware/unique-stream#readme"}