{"_id":"ordered-emitter","_rev":"346701","name":"ordered-emitter","description":"emit events in order","dist-tags":{"latest":"1.0.0"},"maintainers":[{"name":"substack","email":""}],"time":{"modified":"2021-06-20T02:42:09.000Z","created":"2012-01-01T23:12:58.144Z","1.0.0":"2016-05-08T14:43:46.453Z","0.1.1":"2013-07-11T09:58:56.116Z","0.1.0":"2012-01-04T23:04:37.679Z","0.0.2":"2012-01-02T07:09:46.934Z","0.0.1":"2012-01-02T01:02:14.988Z","0.0.0":"2012-01-01T23:12:58.144Z"},"users":{"dodo":true},"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"repository":{"type":"git","url":"git+ssh://git@github.com/substack/node-ordered-emitter.git"},"versions":{"1.0.0":{"name":"ordered-emitter","version":"1.0.0","description":"emit events in order","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"tap":"~0.4.3"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"git+ssh://git@github.com/substack/node-ordered-emitter.git"},"keywords":["ordered","buffer","event","emitter"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"gitHead":"9a9f15c8659572f7aa973ce6a138af4969da4ea9","bugs":{"url":"https://github.com/substack/node-ordered-emitter/issues"},"homepage":"https://github.com/substack/node-ordered-emitter#readme","_id":"ordered-emitter@1.0.0","_shasum":"4651c3b5adba688decaf47cb3b754476b60602e8","_from":".","_npmVersion":"3.7.1","_nodeVersion":"5.5.0","_npmUser":{"name":"substack","email":"substack@gmail.com"},"dist":{"shasum":"4651c3b5adba688decaf47cb3b754476b60602e8","size":2472,"noattachment":false,"key":"/ordered-emitter/-/ordered-emitter-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ordered-emitter/download/ordered-emitter-1.0.0.tgz"},"maintainers":[{"name":"substack","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ordered-emitter-1.0.0.tgz_1462718623878_0.8776059669908136"},"publish_time":1462718626453,"_cnpm_publish_time":1462718626453,"_hasShrinkwrap":false},"0.1.1":{"name":"ordered-emitter","version":"0.1.1","description":"emit events in order","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"tap":"~0.4.3"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"http://github.com/substack/node-ordered-emitter.git"},"keywords":["ordered","buffer","event","emitter"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-ordered-emitter/issues"},"_id":"ordered-emitter@0.1.1","dist":{"shasum":"aa20bdafbdcc1631834a350f68b4ef8eb34eed7b","size":2378,"noattachment":false,"key":"/ordered-emitter/-/ordered-emitter-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ordered-emitter/download/ordered-emitter-0.1.1.tgz"},"_from":".","_npmVersion":"1.3.0","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":""}],"publish_time":1373536736116,"_hasShrinkwrap":false,"_cnpm_publish_time":1373536736116},"0.1.0":{"name":"ordered-emitter","version":"0.1.0","description":"emit events in order","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"tap":"0.0.x"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"git://github.com/substack/node-ordered-emitter.git"},"keywords":["ordered","buffer","event","emitter"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"ordered-emitter@0.1.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"06d8401c6f1abbbb33571f196d9e80dd39db52cb","size":2267,"noattachment":false,"key":"/ordered-emitter/-/ordered-emitter-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ordered-emitter/download/ordered-emitter-0.1.0.tgz"},"maintainers":[{"name":"substack","email":""}],"publish_time":1325718277679,"_hasShrinkwrap":false,"_cnpm_publish_time":1325718277679},"0.0.2":{"name":"ordered-emitter","version":"0.0.2","description":"emit events in order","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"tap":"0.0.x"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"git://github.com/substack/node-ordered-emitter.git"},"keywords":["ordered","buffer","event","emitter"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"ordered-emitter@0.0.2","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"24f8d885a58a193b70be5b154e20e6499e151d9f","size":2091,"noattachment":false,"key":"/ordered-emitter/-/ordered-emitter-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ordered-emitter/download/ordered-emitter-0.0.2.tgz"},"maintainers":[{"name":"substack","email":""}],"publish_time":1325488186934,"_hasShrinkwrap":false,"_cnpm_publish_time":1325488186934},"0.0.1":{"name":"ordered-emitter","version":"0.0.1","description":"emit events in order","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"tap":"0.0.x"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"git://github.com/substack/node-ordered-emitter.git"},"keywords":["ordered","buffer","event","emitter"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"ordered-emitter@0.0.1","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"e4cdd9b4e51e1b743a5fffd82b99ba430b9d5575","size":1569,"noattachment":false,"key":"/ordered-emitter/-/ordered-emitter-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ordered-emitter/download/ordered-emitter-0.0.1.tgz"},"maintainers":[{"name":"substack","email":""}],"publish_time":1325466134988,"_hasShrinkwrap":false,"_cnpm_publish_time":1325466134988},"0.0.0":{"name":"ordered-emitter","version":"0.0.0","description":"emit events in order","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"tap":"0.0.x"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"git://github.com/substack/node-ordered-emitter.git"},"keywords":["ordered","buffer","event","emitter"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"ordered-emitter@0.0.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"c2ce105ae07801decef04a3909eb1e4a1ab4e377","size":1525,"noattachment":false,"key":"/ordered-emitter/-/ordered-emitter-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ordered-emitter/download/ordered-emitter-0.0.0.tgz"},"maintainers":[{"name":"substack","email":""}],"publish_time":1325459578144,"_hasShrinkwrap":false,"_cnpm_publish_time":1325459578144}},"readme":"ordered-emitter\n===============\n\nBuffer events that may arrive out of order so that they are emitted in order.\n\nJust emit event objects with an `\"order\"` key starting at 0.\n\nexample\n=======\n\nemit.js\n-------\n\n``` js\nvar OrderedEmitter = require('ordered-emitter');\nvar em = new OrderedEmitter;\n\nem.on('beep', function (obj) {\n    console.dir(obj);\n});\n\nvar objects = [\n    { order : 1 },\n    { order : 2 },\n    { order : 4 },\n    { order : 0 },\n    { order : 3 },\n];\n\nvar iv = setInterval(function () {\n    var obj = objects.shift();\n    if (!obj) clearInterval(iv)\n    else em.emit('beep', obj)\n}, 500);\n```\n\noutput:\n\n```\n{ order: 0 }\n{ order: 1 }\n{ order: 2 }\n{ order: 3 }\n{ order: 4 }\n```\n\nspan.js\n-------\n\n``` js\nvar OrderedEmitter = require('ordered-emitter');\nvar em = new OrderedEmitter({ span : true });\n\nem.on('beep', function (obj) {\n    console.log('beep ' + obj.x);\n});\n\nem.on('boop', function (obj) {\n    console.log('boop ' + obj.x);\n});\n\nem.emit('beep', { order : 1, x : 'b' });\nem.emit('beep', { order : 3, x : 'd' });\nem.emit('boop', { order : 0, x : 'a' });\nem.emit('beep', { order : 2, x : 'c' });\nem.emit('boop', { order : 5, x : 'f' });\nem.emit('boop', { order : 4, x : 'e' });\n```\n\noutput:\n\n```\nboop a\nbeep b\nbeep c\nbeep d\nboop e\nboop f\n```\n\nmethods\n=======\n\nvar OrderedEmitter = require('ordered-emitter');\n\nvar em = new OrderedEmitter(opts={})\n------------------------------------\n\n`OrderedEmitter` acts just like an EventEmitter, except that any event that\nemits objects as its first argument with numeric `order` keys will be buffered\nso that the events will be emitted in order.\n\nBy default, order keys are isolated by event names so the order keys from\ndifferent event names won't influence each other. However, you can have order\nkeys work across multiple event names by setting `opts.span` to `true`.\n\nem.reset(eventName)\n-------------------\n\nReset the counter for an ordered emitter back to 0.\n\nIf `eventName` is `undefined`, reset all the counters to 0.\n\nem.clear(eventName)\n-------------------\n\nClears the event queue for an ordered emitter.\n\nIf `eventName` is `undefined`, clear all the event queues.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install ordered-emitter\n```\n\nlicense\n=======\n\nMIT/X11\n","_attachments":{},"homepage":"https://github.com/substack/node-ordered-emitter#readme","bugs":{"url":"https://github.com/substack/node-ordered-emitter/issues"},"license":"MIT/X11"}