{"_id":"@akiroz/mqemitter","_rev":"4-fc25dfc871c94a700779a7ef0f02c4fa","name":"@akiroz/mqemitter","dist-tags":{"latest":"4.5.1"},"versions":{"4.1.4":{"name":"@akiroz/mqemitter","version":"4.1.4","description":"An Opinionated Message Queue with an emitter-style API","main":"mqemitter.js","types":"mqemitter.d.ts","scripts":{"lint":"npm run lint:standard && npm run lint:typescript && npm run lint:markdown","lint:standard":"standard --verbose | snazzy","lint:typescript":"standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin test/types/*.ts mqemitter.d.ts","lint:markdown":"markdownlint README.md","unit":"tape test/*.js","unit:report":"nyc --reporter=html --reporter=cobertura --reporter=text tape test/*.js","unit:cov":"nyc --reporter=text tape test/*.js","typescript":"tsc --project ./test/types/tsconfig.json","test:report":"npm run lint && npm run unit:report && npm run typescript","test":"npm run lint && npm run unit:cov && npm run typescript"},"pre-commit":["test"],"website":"https://github.com/mcollina/mqemitter","repository":{"type":"git","url":"https://github.com/mcollina/mqemitter.git"},"bugs":{"url":"http://github.com/mcollina/mqemitter/issues"},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"engines":{"node":">=10"},"keywords":["emitter","events","message queue","mq","publish","subscribe","pub","sub"],"license":"ISC","devDependencies":{"@types/node":"^12.12.27","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","markdownlint-cli":"^0.22.0","nyc":"^15.0.0","pre-commit":"^1.2.2","snazzy":"^8.0.0","standard":"^14.3.1","tape":"^4.13.0","typescript":"^3.7.5"},"dependencies":{"fastparallel":"^2.3.0","qlobber":"^5.0.0"},"licenseText":"ISC License\n\nCopyright (c) 2014-2020, Matteo Collina <hello@matteocollina.com>\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@akiroz/mqemitter@4.1.4","dist":{"shasum":"6da63941dab0340be77f349081ba0a88ee2d4e6c","integrity":"sha512-SWEVFeek9/sDmheoeSpzm4+sDUGiUmvddHnajX4OkLBaDbrqADnGuZMq/szvsyU+JjInaXm0Ea/AZ7b69TPPGQ==","tarball":"https://registry.npmjs.org/@akiroz/mqemitter/-/mqemitter-4.1.4.tgz","fileCount":21,"unpackedSize":34035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGC4eCRA9TVsSAnZWagAAvkUP/1DaNwlEt0tZavtFsn4V\n9V4ymOuuFLiOyYR21sGKhN+iFxeQ2GLaamN92PRdK6Fa1r9sVfCHpXosD76T\nXCeVunBcTuMTrHLvg9Zl1DXbMEy/y/o3QjGTfPmjGUeHqY1w+TYNf7FxRPye\nfh1S0z+kb0upBNrZz8gBTkjWwVNjIMhdleuaIhm5bBv6tl1RzLKahlX4s1yt\nNsYmSZmreBK2m+dEhomDOcrjGP0jt8S/RPC/6ImueTkh4NgYtOxSPt3Sgefz\njZPG4XH8B01/m0h0BzKYEosWeBc4gl2yrxXlV6BYFAP49PZGqANAVrybNSvF\nk5LNzkfvLYcj5DI6LA8Dsa7UGwlhsWWm9ReK48Rq537nlyl11tm8gyVPRDEX\nWLcc606O5Fu8i3B8/jJlDgrx/OwP01V1m+izqCe73M0WeH9kxsiJbS2mDKmn\nFYZ51F13+06NxP6wXZcFhLscaOWzFbugT4MU69aaSkClO2PqZlmeomS+pmyw\nNf3d8i1ODYEenWhdZy347ZFsVRfG3BbJDfkDE0AbshLWPkhTKLvX+NtjNVAS\nN5ya5oFc8WmnfqiL14St/G4uAT/9WsnXSNBTCHcv7yAZZZETGZsBJ17/IodH\npAv8B1nok2DMdk4daF7NglJjWyVS4DBLvDPET1LOWWvjLxANEX7dor+OBK4X\ndPqb\r\n=HTyU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQmG0qp6T/bqUcjcynNk9vTDdur+GrA550JliBCWSPnAiEA3QZpktjY5k9w1ydtEsLJzu+Bf7jmMFRtaUEgoi9BVY0="}]},"maintainers":[{"name":"akiroz","email":"akiroz.vectis@gmail.com"}],"_npmUser":{"name":"akiroz","email":"akiroz.vectis@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mqemitter_4.1.4_1595420190449_0.1104361646858465"},"_hasShrinkwrap":false},"4.2.1":{"name":"@akiroz/mqemitter","version":"4.2.1","description":"An Opinionated Message Queue with an emitter-style API","main":"mqemitter.js","types":"mqemitter.d.ts","scripts":{"lint":"npm run lint:standard && npm run lint:typescript && npm run lint:markdown","lint:standard":"standard --verbose | snazzy","lint:typescript":"standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin test/types/*.ts mqemitter.d.ts","lint:markdown":"markdownlint README.md","unit":"tape test/*.js","unit:report":"nyc --reporter=html --reporter=cobertura --reporter=text tape test/*.js","unit:cov":"nyc --reporter=text tape test/*.js","typescript":"tsc --project ./test/types/tsconfig.json","test:report":"npm run lint && npm run unit:report && npm run typescript","test":"npm run lint && npm run unit:cov && npm run typescript"},"pre-commit":["test"],"website":"https://github.com/mcollina/mqemitter","repository":{"type":"git","url":"https://github.com/mcollina/mqemitter.git"},"bugs":{"url":"http://github.com/mcollina/mqemitter/issues"},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"engines":{"node":">=10"},"keywords":["emitter","events","message queue","mq","publish","subscribe","pub","sub"],"license":"ISC","devDependencies":{"@types/node":"^12.12.27","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","markdownlint-cli":"^0.22.0","nyc":"^15.0.0","pre-commit":"^1.2.2","snazzy":"^8.0.0","standard":"^14.3.1","tape":"^4.13.0","typescript":"^3.7.5"},"dependencies":{"fastparallel":"^2.3.0","qlobber":"^5.0.0"},"licenseText":"ISC License\n\nCopyright (c) 2014-2020, Matteo Collina <hello@matteocollina.com>\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@akiroz/mqemitter@4.2.1","dist":{"shasum":"5aa1ef813eab2f651806f279027dc542dc0cefe6","integrity":"sha512-Ee2mjwLAgqkjFpd5dl3bK4tlM1+zUmIv94TCZpZXxWA7GBbG3AVrH2VpDvOrNk0He0MeXCgFf+7UtuwkI+SGnQ==","tarball":"https://registry.npmjs.org/@akiroz/mqemitter/-/mqemitter-4.2.1.tgz","fileCount":21,"unpackedSize":34035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGC6nCRA9TVsSAnZWagAAKCQP/Aoao70xI8Xi3DxJWMDb\nPkvqN6PCMkh6V/umWTtyZiqFtKtxGE/fOUlJ38JjSlg5eWgfeT2MSxMgZCnO\nOpfvMwLsr6zcY1AEeSYxd93Uqeh4V5lz8jbeORRTpwSNwA/+ngWAdsSc1br3\nhRKlF/1zwT7cq62bSIyn/ed9swAw8sith0PJa9eGvtMCXGa6m5oypBiwhaEO\n9OACZ1Rw14cw6NI5ryRgPeOyW8zmoBcPNl8a1K1BQs4pNSb5Mht6f2Twrr5H\nR+9+G61uNXENLNPKhUgEdVqstARycSjd+NR/aqcQ+wlMFp5FhKy5NItZH/6q\ndKqIh+hNInvg1+oGa5Y0tJecgSxtrOhgEvWYFv5G+C0iXx5kkd+DoEwFMYO4\nubhikajaFsVzfm4FwkIMQwRU6KajNhJU3q01ze9htbHu4zeQqxCqMQS8BtFi\nCWMDFIvbqI8DP0N6FPpBUG4fCZd/wqgZ6SgvQKztx8rwmpkn9Aj1LvcXxwHB\nYBRLe+aN/OOoYBJAm+lPICqYPBiQvhqmF9J7ZZFMqQK6AZ+FIZ3XdWX2BCJT\n+iozNQS8YSafCGPeZ2vVBW3QuozM9foBVtBIrus+uFm0il4kKWRBSsIeuGR1\nwRSlqZZ8EFyg6olG7PPXKdkkWbRcldE+XQejKVOzDY1AfQZnyPcVBt2vMAWU\n/te7\r\n=t8Of\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHqwbLsejjkY1iSqiEABZOB2RInzIDMqgdyRkeDSUpugIgZmJrGsuGqG1woA4wJExiGV9PvnVV6dVDRgAZ/lNeGd8="}]},"maintainers":[{"name":"akiroz","email":"akiroz.vectis@gmail.com"}],"_npmUser":{"name":"akiroz","email":"akiroz.vectis@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mqemitter_4.2.1_1595420327354_0.3843676959587512"},"_hasShrinkwrap":false},"4.2.2":{"name":"@akiroz/mqemitter","version":"4.2.2","description":"An Opinionated Message Queue with an emitter-style API","main":"mqemitter.js","types":"mqemitter.d.ts","scripts":{"lint":"npm run lint:standard && npm run lint:typescript && npm run lint:markdown","lint:standard":"standard --verbose | snazzy","lint:typescript":"standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin test/types/*.ts mqemitter.d.ts","lint:markdown":"markdownlint README.md","unit":"tape test/*.js","unit:report":"nyc --reporter=html --reporter=cobertura --reporter=text tape test/*.js","unit:cov":"nyc --reporter=text tape test/*.js","typescript":"tsc --project ./test/types/tsconfig.json","test:report":"npm run lint && npm run unit:report && npm run typescript","test":"npm run lint && npm run unit:cov && npm run typescript"},"pre-commit":["test"],"website":"https://github.com/mcollina/mqemitter","repository":{"type":"git","url":"https://github.com/mcollina/mqemitter.git"},"bugs":{"url":"http://github.com/mcollina/mqemitter/issues"},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"engines":{"node":">=10"},"keywords":["emitter","events","message queue","mq","publish","subscribe","pub","sub"],"license":"ISC","devDependencies":{"@types/node":"^12.12.27","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","markdownlint-cli":"^0.22.0","nyc":"^15.0.0","pre-commit":"^1.2.2","snazzy":"^8.0.0","standard":"^14.3.1","tape":"^4.13.0","typescript":"^3.7.5"},"dependencies":{"fastparallel":"^2.3.0","qlobber":"^5.0.0"},"licenseText":"ISC License\n\nCopyright (c) 2014-2020, Matteo Collina <hello@matteocollina.com>\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@akiroz/mqemitter@4.2.2","dist":{"shasum":"057bd96c243e47e27b0a5806a709afe02ebf3fed","integrity":"sha512-FWuHn/wYhepTgLs9YDOr3agZ5R9xOpFiG129f2C+cqAum3oj5cz8sykX4fX7C7mEBwRAdSDW5RYX1KIKofqpTw==","tarball":"https://registry.npmjs.org/@akiroz/mqemitter/-/mqemitter-4.2.2.tgz","fileCount":21,"unpackedSize":33935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGC9ICRA9TVsSAnZWagAAQpUP/0GJ22PbnU+zJJp4oBDW\nHpvRJmuXXhtKbIhKAHMbjQJCp7x1beE1QEExf0x/TpGqhFUJ/y1F0w0//x4u\nvdr6wPQY6WR6oiqvVvhE2Ub9cMDon3v9bHSYSO1YUPYOn0bn6380UWQWMRUw\nS0L/jM2F5gh11GRKyAmWlcnr59tQv/EQ5lFqgRMKTvJpFOR0BU1+cCz5wzzY\nSxsb6MUTvZuolzvqM7oWsy1caV7kKmE1hcsnsa4sBPebcZKCyR13hEtjLTcA\nPo+eFdJSlCW4q7LDmwuRoVixibNlmedFKqjDD0wplP7hBPNYCuHGax9IHB4h\n/v+ecu/Mqr/5eQTXZJbFKLvbENaSh6q5gTcc9cCu4NHOXcGPoSdRESnyBbIR\nbLTdAMT5iF+vqx5eI8eiSERisLYus60XX1lrjc2Swvj7tY9/G8b4tosd7gVu\nQfiBFEDSzMYtGlsJVgjYiVpNzH3sth2WCfv2kjWCytZKmUcWu6rTh69TrxHA\no4XOQEzcE0VfpC73x70lwq1MW/avUkzvvcY1ZX/I/0CNyEc78EcLTQCqBvzO\nZNkoWnmdhox1NWbNiDgugDolBq0F6iQqEzMqZmgNFhmKmwyuvBn9rEsV8pxD\nW1jJlAk+sLyeEISKnI8j1tkxxJn5+FeEkzFe4jtkXrNXNU6VR7Y2aoxIaoxq\n2vNF\r\n=Rggl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMTaKkp3U2VjjDIyLCIRTTK33SIfw6R/XDV31UiNR4wAIhAOP0Za8UMEThZeaeShYUwwQEe6KliYUzp5yw4psmoKjw"}]},"maintainers":[{"name":"akiroz","email":"akiroz.vectis@gmail.com"}],"_npmUser":{"name":"akiroz","email":"akiroz.vectis@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mqemitter_4.2.2_1595420488195_0.3634702278621411"},"_hasShrinkwrap":false},"4.5.1":{"name":"@akiroz/mqemitter","version":"4.5.1","description":"An Opinionated Message Queue with an emitter-style API","main":"mqemitter.js","types":"types/mqemitter.d.ts","scripts":{"lint":"npm run lint:standard && npm run lint:typescript && npm run lint:markdown","lint:standard":"standard --verbose | snazzy","lint:typescript":"standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin test/types/*.ts types/mqemitter.d.ts","lint:markdown":"markdownlint README.md","unit":"tape test/*.js","unit:report":"nyc --reporter=html --reporter=cobertura --reporter=text tape test/*.js","unit:cov":"nyc --reporter=text tape test/*.js","typescript":"tsc --project ./test/types/tsconfig.json","test:report":"npm run lint && npm run unit:report && npm run typescript","test:types":"tsd","test":"npm run lint && npm run unit:cov && tsd && npm run typescript"},"pre-commit":["test"],"website":"https://github.com/mcollina/mqemitter","repository":{"type":"git","url":"https://github.com/mcollina/mqemitter.git"},"bugs":{"url":"http://github.com/mcollina/mqemitter/issues"},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"engines":{"node":">=10"},"keywords":["emitter","events","message queue","mq","publish","subscribe","pub","sub"],"license":"ISC","devDependencies":{"@types/node":"^16.11.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","markdownlint-cli":"^0.29.0","nyc":"^15.0.0","pre-commit":"^1.2.2","snazzy":"^9.0.0","standard":"^16.0.0","tape":"^5.0.1","tsd":"^0.18.0","typescript":"^4.0.2"},"dependencies":{"fastparallel":"^2.3.0","qlobber":"^5.0.0"},"licenseText":"ISC License\n\nCopyright (c) 2014-2020, Matteo Collina <hello@matteocollina.com>\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@akiroz/mqemitter@4.5.1","dist":{"shasum":"0a3b6fe9c62bec58ef4eb8dd09c765e9c165fc83","integrity":"sha512-0DmH+IEuacpP64Ty5Tn9GBrPhzJT1YCPhH1MYq51B5LYI1lfLO+AM4FLhWb7blw/A829ChuBzzuze0oOR7M8bg==","tarball":"https://registry.npmjs.org/@akiroz/mqemitter/-/mqemitter-4.5.1.tgz","fileCount":22,"unpackedSize":36395,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUB81n26RwfKLZMe7wRkr5YH5Clcnjz0AACRP7hUmwZAiEAknWoLShAvWO3rIg2iaX07hiiV88xZQWyuc+8zjzmUQY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiedgfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoM9BAAowAuIcq+y4ZY6l6n/aivasFo/YJwQewTt96SsBEfiDzBg/91\r\nJT0Y2dXCQVJaVtdQmt60iMLkWGHbNbPYqKh6Ru64Gby7g9ELddHra7iOGpWN\r\nxOfHczFyN/EhjxW54JR/tegYRWnT/X7/ZB+qnhW0h3lSQnpcyGkBv5ZB/tvK\r\nX5ptf6EHqtVhdXZG4ZmLT6EGbX4BKz3Yidvg8QOlovcU19vsSeMyKltSMpgQ\r\n35mpb7kG3JiCjDY/m+8oPyFuWNELRQnqQOXUjsYDVMvXARIIZH8t4BI0rOT4\r\nMiU76csAjfzjqBOnELPSf5ZLPcMxATSOy/5HbXd978QJBKFgJ7TP1w3w7HaS\r\nXJlnJzo/NFo4RCJ/yg3EF7S/fbuUI5Iah/V7gL4HjiEPDZXRlOyIcbv9yUa9\r\nVJGfFezaRlHb2yt6+beTaxhQ+cIngLzgFzIw4D97/R9D7pS1BmLgnmEAuVc4\r\n6D9o8lYmXUEstWqJjU58LOCwNEi4psbkWUyzW9u8FrBKwvkMc1hnA/ENrN/h\r\nXi20w5dlpL5/gca4oohxra+FVBsG0QDPhIK331SyQArWFfE8WgpEEnwkhVK1\r\nKDbxhlR8XxOEv0rVDDnQ64luye73mYAOLUyvqeltqeEEZwtnMAj0Fqgpx81L\r\nRGx77faYlwO+/RE6U9iew0wZD1GdhSsjA6M=\r\n=IG2a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akiroz","email":"akiroz.vectis@gmail.com"},"directories":{},"maintainers":[{"name":"akiroz","email":"akiroz.vectis@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mqemitter_4.5.1_1652152351280_0.403185809219502"},"_hasShrinkwrap":false}},"time":{"created":"2020-07-22T12:16:30.404Z","4.1.4":"2020-07-22T12:16:30.547Z","modified":"2022-05-10T03:12:31.480Z","4.2.1":"2020-07-22T12:18:47.473Z","4.2.2":"2020-07-22T12:21:28.290Z","4.5.1":"2022-05-10T03:12:31.420Z"},"maintainers":[{"name":"akiroz","email":"akiroz.vectis@gmail.com"}],"description":"An Opinionated Message Queue with an emitter-style API","keywords":["emitter","events","message queue","mq","publish","subscribe","pub","sub"],"repository":{"type":"git","url":"https://github.com/mcollina/mqemitter.git"},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"bugs":{"url":"http://github.com/mcollina/mqemitter/issues"},"license":"ISC","readme":"<!-- markdownlint-disable MD013 MD024 -->\n\n# MQEmitter\n\n![ci](https://github.com/mcollina/mqemitter/workflows/ci/badge.svg)\n[![Known Vulnerabilities](https://snyk.io/test/github/mcollina/mqemitter/badge.svg)](https://snyk.io/test/github/mcollina/mqemitter)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)\\\n[![Dependencies Status](https://david-dm.org/mcollina/mqemitter/status.svg)](https://david-dm.org/mcollina/mqemitter)\n[![devDependencies Status](https://david-dm.org/mcollina/mqemitter/dev-status.svg)](https://david-dm.org/mcollina/mqemitter?type=dev)\\\n[![NPM version](https://img.shields.io/npm/v/mqemitter.svg?style=flat)](https://www.npmjs.com/mqemitter)\n[![NPM downloads](https://img.shields.io/npm/dm/mqemitter.svg?style=flat)](https://www.npmjs.com/mqemitter)\n\nAn Opinionated Message Queue with an emitter-style API, but with callbacks.\n\nIf you need a multi process MQEmitter, check out the table below:\n\n- [mqemitter-redis]: Redis-powered mqemitter\n- [mqemitter-mongodb]: Mongodb based mqemitter\n- [mqemitter-child-process]: Share the same mqemitter between a hierarchy of child processes\n- [mqemitter-cs]: Expose a MQEmitter via a simple client/server protocol\n- [mqemitter-p2p]: A P2P implementation of MQEmitter, based on HyperEmitter and a Merkle DAG\n- [mqemitter-aerospike]: Aerospike mqemitter\n\n## Installation\n\n```sh\nnpm install mqemitter\n```\n\n## Examples\n\n```js\nconst mq = require('mqemitter')\nconst emitter = mq({ concurrency: 5 })\nconst message\n\nemitter.on('hello world', function (message, cb) {\n  // call callback when you are done\n  // do not pass any errors, the emitter cannot handle it.\n  cb()\n})\n\n// topic is mandatory\nmessage = { topic: 'hello world', payload: 'or any other fields' }\nemitter.emit(message, function () {\n  // emitter will never return an error\n})\n```\n\n## API\n\n- [new MQEmitter ([options])](#new-mqemitter-options)\n- [emitter.emit (message, callback)](#emitteremit-message-callback)\n- [emitter.on (topic, listener, [callback])](#emitteron-topic-listener-callback)\n- [emitter.removeListener (topic, listener, [callback])](#emitterremovelistener-topic-listener-callback)\n- [emitter.close (callback)](#emitterclose-callback)\n\n## new MQEmitter ([options])\n\n- options `<object>`\n  - `concurrency` `<number>` maximum number of concurrent messages that can be on concurrent delivery. __Default__: `0`\n  - `wildcardOne` `<string>` a char to use for matching exactly one _non-empty_ level word. __Default__: `+`\n  - `wildcardSome` `<string>` a char to use for matching multiple level wildcards. __Default__: #`\n  - `matchEmptyLevels` `<boolean>` If true then `wildcardOne` also matches an empty word. __Default__: `true`\n  - `separator` `<string>`  a separator character to use for separating words. __Default__: `/`\n\nCreate a new MQEmitter class.\n\nMQEmitter is the class and function exposed by this module.\nIt can be created by `MQEmitter()` or using `new MQEmitter()`.\n\nFor more information on wildcards, see [this explanation](#wildcards) or [Qlobber](https://www.npmjs.com/qlobber).\n\n## emitter.emit (message, callback)\n\n- `message` `<object>`\n- `callback` `<Function>` `(error) => void`\n  - error `<Error>` | `null`\n\nEmit the given message, which must have a `topic` property, which can contain wildcards as defined on creation.\n\n## emitter.on (topic, listener, [callback])\n\n- `topic` `<string>`\n- `listener` `<Function>` `(message, done) => void`\n- `callback` `<Function>` `() => void`\n\nAdd the given listener to the passed topic. Topic can contain wildcards, as defined on creation.\n\nThe `listener` __must never error__ and `done` must not be called with an __`err`__ object.\n\n`callback` will be called when the event subscribe is done correctly.\n\n## emitter.removeListener (topic, listener, [callback])\n\nThe inverse of `on`.\n\n## emitter.close (callback)\n\n- `callback` `<Function>` `() => void`\n\nClose the given emitter. After, all writes will return an error.\n\n## Wildcards\n\n__MQEmitter__ supports the use of wildcards: every topic is splitted according to `separator`.\n\nThe wildcard character `+` matches exactly _non-empty_ one word:\n\n```js\nconst mq = require('mqemitter')\nconst emitter = mq()\n\nemitter.on('hello/+/world', function(message, cb) {\n  // will ONLY capture { topic: 'hello/my/world', 'something': 'more' }\n  console.log(message)\n  cb()\n})\nemitter.on('hello/+', function(message, cb) {\n  // will not be called\n  console.log(message)\n  cb()\n})\n\nemitter.emit({ topic: 'hello/my/world', something: 'more' })\nemitter.emit({ topic: 'hello//world', something: 'more' })\n```\n\nThe wildcard character `+` matches one word:\n\n```js\nconst mq = require('mqemitter')\nconst emitter = mq({ matchEmptyLevels: true })\n\nemitter.on('hello/+/world', function(message, cb) {\n  // will capture { topic: 'hello/my/world', 'something': 'more' }\n  // and capture { topic: 'hello//world', 'something': 'more' }\n  console.log(message)\n  cb()\n})\n\nemitter.on('hello/+', function(message, cb) {\n  // will not be called\n  console.log(message)\n  cb()\n})\n\nemitter.emit({ topic: 'hello/my/world', something: 'more' })\nemitter.emit({ topic: 'hello//world', something: 'more' })\n```\n\nThe wildcard character `#` matches zero or more words:\n\n```js\nconst mq = require('mqemitter')\nconst emitter = mq()\n\nemitter.on('hello/#', function(message, cb) {\n  // this will print { topic: 'hello/my/world', 'something': 'more' }\n  console.log(message)\n  cb()\n})\n\nemitter.on('#', function(message, cb) {\n  // this will print { topic: 'hello/my/world', 'something': 'more' }\n  console.log(message)\n  cb()\n})\n\nemitter.on('hello/my/world/#', function(message, cb) {\n  // this will print { topic: 'hello/my/world', 'something': 'more' }\n  console.log(message)\n  cb()\n})\n\nemitter.emit({ topic: 'hello/my/world', something: 'more' })\n```\n\nOf course, you can mix `#` and `+` in the same subscription.\n\n## LICENSE\n\nMIT\n\n[mqemitter-redis]: https://www.npmjs.com/mqemitter-redis\n[mqemitter-mongodb]: https://www.npmjs.com/mqemitter-mongodb\n[mqemitter-child-process]: https://www.npmjs.com/mqemitter-child-process\n[mqemitter-cs]: https://www.npmjs.com/mqemitter-cs\n[mqemitter-p2p]: https://www.npmjs.com/mqemitter-p2p\n[mqemitter-aerospike]: https://www.npmjs.com/mqemitter-aerospike\n","readmeFilename":"README.md"}