{"_id":"enstore","_rev":"16-337c326d5855b26d3f96e117910f20c5","name":"enstore","description":"In-memory persistence for streams","dist-tags":{"latest":"1.0.1"},"versions":{"0.0.0":{"name":"enstore","description":"In-memory persistence for streams","version":"0.0.0","repository":{"type":"git","url":"git://github.com/juliangruber/enstore.git"},"homepage":"https://github.com/juliangruber/enstore","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{"through":"~2.2.7","monotonic-timestamp":"0.0.8"},"devDependencies":{"tap":"*"},"keywords":["stream","store","save","persistence","memory"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","_id":"enstore@0.0.0","dist":{"shasum":"e2966f36fb551b086e32ef2f814b0738659a7037","tarball":"https://registry.npmjs.org/enstore/-/enstore-0.0.0.tgz","integrity":"sha512-ItNYluGyaCrqoFQcqYmNz4CbVngEmSjUdcNdjsbj5DrGL5ivViqeBzz8brtwcVxoGx8wTdiDoQfTt+fE1YwmMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFY5LeCxnsXQz8KYuhiqWcoSL1HF9U4OGznWCFWQJgL1AiEA5uT1tGSrI7SLfSvJRYefq2fqEsjOXzEvnDHxJTouEhQ="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}]},"0.0.1":{"name":"enstore","description":"In-memory persistence for streams","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/enstore.git"},"homepage":"https://github.com/juliangruber/enstore","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{"through":"~2.2.7","monotonic-timestamp":"0.0.8"},"devDependencies":{"tap":"*"},"keywords":["stream","store","save","persistence","memory"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","_id":"enstore@0.0.1","dist":{"shasum":"48968e5631312f34a042cefabaaaa9fb5ad544f6","tarball":"https://registry.npmjs.org/enstore/-/enstore-0.0.1.tgz","integrity":"sha512-XT+JFwUsSwzB3Yi2kgZ4G2qHV8XF49pGst5+UGUbRni7oUBGwTg5m34yCZRqxxv299x8GkBdGjxoSrjtq1qqnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHGPdtNm9N+5qsvPweAQTWYLoS6OhE5D2g2dR7k64nsAiEAgILaZO5PFGPanQkiYtqSMSLQaRzTuq832IMRIn0nebM="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}]},"0.0.2":{"name":"enstore","description":"In-memory persistence for streams","version":"0.0.2","repository":{"type":"git","url":"git://github.com/juliangruber/enstore.git"},"homepage":"https://github.com/juliangruber/enstore","main":"index.js","scripts":{"test":"tape test/*.js"},"dependencies":{"through":"~2.2.7","monotonic-timestamp":"0.0.8"},"devDependencies":{"tape":"~0.3.3"},"keywords":["stream","store","save","persistence","memory"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/5.0.5..latest","opera/11.0..latest","iphone/6","ipad/6"]},"_id":"enstore@0.0.2","dist":{"shasum":"94fb2a604e8f2fabba10ebe4fd33e09cf37ff37c","tarball":"https://registry.npmjs.org/enstore/-/enstore-0.0.2.tgz","integrity":"sha512-RBrEM2DVPs0Ox5a8D40KNezGlAQrfD3lC8HvAPysnHvC1kF1/KkVH5gvBla6VZw8xpLOgc+tfnSAdaT6l5OYIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdOBwJ61t7T0XMyNeHYm7VJnpHLB2r2iRa49vsFggamwIgAixEETBvDWbJNmIokVOoHIby6kvT/d3bRiU5IZ2ef0A="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}]},"1.0.0":{"name":"enstore","description":"In-memory persistence for streams","version":"1.0.0","repository":{"type":"git","url":"git://github.com/juliangruber/enstore.git"},"homepage":"https://github.com/juliangruber/enstore","main":"index.js","scripts":{"test":"tape test/*.js"},"dependencies":{"monotonic-timestamp":"0.0.8"},"devDependencies":{"concat-stream":"^1.4.6","tape":"~0.3.3"},"keywords":["stream","store","save","persistence","memory"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/5.0.5..latest","opera/11.0..latest","iphone/6","ipad/6"]},"gitHead":"d17f809f16407a2a4dbc6cf8f0a23de4d984db16","bugs":{"url":"https://github.com/juliangruber/enstore/issues"},"_id":"enstore@1.0.0","_shasum":"7e7f7e17b48a041961c1d7958a8fd661d81fdb26","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}],"dist":{"shasum":"7e7f7e17b48a041961c1d7958a8fd661d81fdb26","tarball":"https://registry.npmjs.org/enstore/-/enstore-1.0.0.tgz","integrity":"sha512-FMjM8frkmESghz9zO3WWl0GWleHqJShgo7OPaZBzjbboP78BEuCFo/mBjgLHLp5TPy6gwSJQfIjaOr2qQ2to8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdV00U4CplOKKY5/j1z5qi4cqHy+qNzKCMOd8O6QoWvQIhAMc91Ru2X+dUAqU6ijfc65VWaHQYuWtCVjo1kNVd/10Y"}]}},"1.0.1":{"name":"enstore","description":"In-memory persistence for streams","version":"1.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/enstore.git"},"homepage":"https://github.com/juliangruber/enstore","main":"index.js","scripts":{"test":"tape test/*.js"},"dependencies":{"monotonic-timestamp":"0.0.8"},"devDependencies":{"concat-stream":"^1.4.6","tape":"~0.3.3"},"keywords":["stream","store","save","persistence","memory"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/5.0.5..latest","opera/11.0..latest","iphone/6","ipad/6"]},"gitHead":"34ab8b5ead26e7a90c5c92d102f125d64f69442e","bugs":{"url":"https://github.com/juliangruber/enstore/issues"},"_id":"enstore@1.0.1","_shasum":"a20fe71eaebde8a3813a0a1240475f55854a81ab","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}],"dist":{"shasum":"a20fe71eaebde8a3813a0a1240475f55854a81ab","tarball":"https://registry.npmjs.org/enstore/-/enstore-1.0.1.tgz","integrity":"sha512-qBY73Jkl/W/5QMjmBG4yq+IDpzGmfYtakOF+Ml/XdUWfpkbME0QZbTCp8XqAyTJ8eVdC06XS8B/15b9k0+EnCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdcD2Bt0Mo/zhBcOd1m737IQawIQM410c6eO1dKOvRIAiEA2x8rZgp52dqoEI7HTiR7Gbsn07DD9b7abCgs8MCp1Vc="}]}}},"readme":"# enstore\n\nIn-memory persistence for streams. Enables you to replay streams, even if they're not finished yet.\n\n*Need real persistence? Check out [level-store](https://github.com/juliangruber/level-store) for a fast and flexible\nstreaming storage engine based on LevelDB.*\n\n[![downloads](https://img.shields.io/npm/dm/enstore.svg)](https://www.npmjs.org/package/enstore)\n\n[![browser support](https://ci.testling.com/juliangruber/enstore.png)](https://ci.testling.com/juliangruber/enstore)\n\n## Usage\n\n```js\nvar enstore = require('enstore');\n\n// create a new store\nvar store = enstore();\n\n// store a someStream in it\nsomeStream.pipe(store.createWriteStream());\n\n// pipe everything someStream emitted to someWhereElse\n// doesn't matter if someStream already finished\nstore.createReadStream().pipe(someWhereElse);\n```\n\n## Example: Cache for browserify\n\nThis basically can be done for any streaming resource, like `fs.createReadStream()` or `request()`, that you\nwant to cache in memory.\n\n```js\nvar http = require('http');\nvar browserify = require('browserify');\nvar enstore = require('enstore');\n\n// fill the cache\nvar cache = enstore();\nbrowserify('app.js').bundle().pipe(cache.createWriteStream());\n\nhttp.createServer(function (req, res) {\n  if (req.url == '/bundle.js') {\n    // stream the bundle to the client\n    res.writeHead(200, { 'Content-Type' : 'application/javascript' });\n    store.createReadStream().pipe(res);\n  }\n});\n```\n\nTo recreate / flush the cache just overwrite the `cache` variable with a new `enstore` instance.\n\n## API\n\n### enstore()\n\nReturns a new store.\n\n### enstore#createWriteStream(opts)\n\nWritable stream that stores written data in the internal store. `opts` will be passed to the `Writable()` constructor.\n\n### enstore#createReadStream()\n\nReadable stream that emits both what is already stored and what comes in over\n`createWriteStream()` until `end` is emitted. `opts` will be passed to the `Readable()` constructor.\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install enstore\n```\n\nFor the client, bundle with [browserify](https://github.com/substack/node-browserify).\n\n## License\n\n(MIT)\n","maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}],"time":{"modified":"2022-06-17T05:57:09.035Z","created":"2013-03-25T10:00:07.503Z","0.0.0":"2013-03-25T10:00:13.498Z","0.0.1":"2013-03-25T10:11:10.362Z","0.0.2":"2013-04-16T06:42:51.821Z","1.0.0":"2014-11-13T15:47:31.689Z","1.0.1":"2014-11-13T15:48:28.174Z"},"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"repository":{"type":"git","url":"git://github.com/juliangruber/enstore.git"},"homepage":"https://github.com/juliangruber/enstore","keywords":["stream","store","save","persistence","memory"],"bugs":{"url":"https://github.com/juliangruber/enstore/issues"},"license":"MIT","readmeFilename":"README.md","users":{"quocnguyen":true,"shanewholloway":true,"rurri":true}}