{"_id":"@aux4/dispatcher.js","_rev":"5-277a36b4c8f0556a236e0a558117d4ba","name":"@aux4/dispatcher.js","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.3":{"name":"@aux4/dispatcher.js","version":"1.0.3","description":"JavaScript Event Dispatcher","private":false,"main":"index.js","scripts":{"test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/aux4/dispatcher.js.git"},"keywords":["event-driven","event"],"author":{"name":"aux4"},"license":"Apache-2.0","bugs":{"url":"https://github.com/aux4/dispatcher.js/issues"},"homepage":"https://github.com/aux4/dispatcher.js#readme","devDependencies":{"jest":"^27.1.0"},"_id":"@aux4/dispatcher.js@1.0.3","_nodeVersion":"12.14.0","_npmVersion":"7.20.6","dist":{"integrity":"sha512-xkfvN0WjV2aYuKIC6EF5QlCR0BuJj0iz9fkk2/g2mx8XA3iU1q64gsgYrXSU0Joseijf2O0TCyk8aMXK7kVsXg==","shasum":"766298d020f08929eba727d68b735cb3ab3f6141","tarball":"https://registry.npmjs.org/@aux4/dispatcher.js/-/dispatcher.js-1.0.3.tgz","fileCount":5,"unpackedSize":5882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLdCzCRA9TVsSAnZWagAA4z4QAJ7bQwA6DKdSfV/05HVn\nVQKil6aWQhyUTEoomTDZBWrCGiUHmUiFtgV6A8ZhEZBDMMJMtKrOqnEcQtmD\nyfuPP3CGENAq8QC4fmFmD2VYOkv9V7DX8DcVHYC0dBNjlYtb8mpy3EMk0SEd\nqmyVVyAs8KVzV21MbqLA8esoLHEUzDgnyCOzdNjJq/5+A3ark4ZufLzeRshw\n/aQmfXBMnIVSaJvcTsfsT6YWU1SEOr/2uevqco7sEz95kyuS2iStenIaws9B\nVAlUKxr/giRdYTc+urC2RHRimLQpd/hQk2lrlHi8spMJUn+/+vYHt+9krp54\n08K++BCU0B8Td1vM3sGKPIgpymxRGtSEe3P1w/xERjnio/4/dOLpkCIjzdxw\nTiR90viQ9UgvtwkjyN8cbnF9XJgwKNOF087hhehpzoED5CFBrwehQxLW1qvr\nari70rEbbfmeMQupH4VdlFhcSxZFOsROCDX3Mo7mdS49w6jctJdYprC12TNj\nDEic5HeQEe57zowWD9i3DZYP1izT+SZBe7/yVLWBv2h0/OL3PXk+DT1ErH7P\n/zLocw9FgB+5FOmUIunBncGyTqLPy7AQKCzNWyZz2E0ZHHzrhTeGZD19Z3Dq\nS5TP6T6u9R0RRqH5SaqSeyddbQGnTAxix7p0OTkQ0URR7B9HfZjfLG/JX8QT\nrlUO\r\n=o+lA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXRcGQOp32hQx1AlTZReCNHipYrFbamzQK+AL0oZvKvAiEA26jtpl7Px6qJJuRbdas5UOH2T4CiBexHq3rVNbOluO0="}]},"_npmUser":{"name":"aux4-dev","email":"contact@aux4.io"},"directories":{},"maintainers":[{"name":"aux4-dev","email":"contact@aux4.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dispatcher.js_1.0.3_1630392498867_0.9810181042702015"},"_hasShrinkwrap":false},"1.0.4":{"name":"@aux4/dispatcher.js","version":"1.0.4","description":"JavaScript Event Dispatcher","private":false,"main":"index.js","scripts":{"test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/aux4/dispatcher.js.git"},"keywords":["event-driven","event"],"author":{"name":"aux4"},"license":"Apache-2.0","bugs":{"url":"https://github.com/aux4/dispatcher.js/issues"},"homepage":"https://github.com/aux4/dispatcher.js#readme","devDependencies":{"jest":"^27.1.0"},"_id":"@aux4/dispatcher.js@1.0.4","_nodeVersion":"12.14.0","_npmVersion":"7.20.6","dist":{"integrity":"sha512-UcHeBljc3Rsbirx+5LcPdk0QQCg5z6k92IVCd8qoP9wRmvgzpI+Oon4gAFgt+2S8M/LNJFC8/8TDc0e32l5TCA==","shasum":"5991235b4c9ae30b341ba911b7ac0c0340b99d88","tarball":"https://registry.npmjs.org/@aux4/dispatcher.js/-/dispatcher.js-1.0.4.tgz","fileCount":4,"unpackedSize":3745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLdr7CRA9TVsSAnZWagAAsogP/151acp5f9ADMrrjQzKY\n3DXJ8sMIcDUIl6OckIOrdg3o5bMMnQU3VgDbT0pNMVC+k9mJAIDy11HHtftq\n7Sfbcpkp8U/cNEiEhCpE7kQEPDuLMtfrQqWB/k1ruoW1bAcs0nXECfRL3KqU\nFeZNkiPRH8vJt/gixHapc9sUeTzcEa/dE2/+EZnBZaMNWZlaxzmqPnykYvtw\nI1OQLE/4c+dHQ/rfpib5f5djoaLpPZULGUeun2i3AppnXWgcIxYGINPPwzV0\nkeQIT3I5fQEi/z7mGzie35BErmB3zQ8JMf7eVPMxgKBM2Ytsxh/s6Jimi58z\nS/U9Tt8adR9yNA0MdFHZrrtEgBNQHiobtt/sLHDs0bB7T6rkvkOdwgVmUlem\nRBI87UlvePBuOqapdWnW6OFkv6l/9Ul4/yblTM9wCmAsl2DrxIxXDh99SCJf\nVlkj8hk+XY2Bou4NyrYlgsaUmldYX4sSmYFDuUismNBrwJaZjflJ4vpanVO3\n/d0YaaimhJp8N5uf2cJCxRfXixK0jiSDVBlZzYeJNv+6RGg1dIK0MIQfx+89\nDFwD6BIl1KVEJHuyhZO9c6Ac54qO5i9b3WpwnIAp+F8ReVk0AdQupyxgsmuK\ntgmUa2DTOQEEWPI/82lFqfLms4RGLuVo/mlDW9x4lP0NUf+9O3z6qWJy1z4P\nw2DG\r\n=Tj1G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuprh/y84dh5x4icHsNpENIbwAn7BmqtP5RTRKOcVKAwIgU2qljgqpNXwC/+/EoGPkQ83NpThYRUXqbY++PZl0kNc="}]},"_npmUser":{"name":"aux4-dev","email":"contact@aux4.io"},"directories":{},"maintainers":[{"name":"aux4-dev","email":"contact@aux4.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dispatcher.js_1.0.4_1630395130950_0.6131609231544888"},"_hasShrinkwrap":false},"1.0.5":{"name":"@aux4/dispatcher.js","version":"1.0.5","description":"JavaScript Event Dispatcher","private":false,"main":"index.js","scripts":{"test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/aux4/dispatcher.js.git"},"keywords":["event-driven","event"],"author":{"name":"aux4"},"license":"Apache-2.0","bugs":{"url":"https://github.com/aux4/dispatcher.js/issues"},"homepage":"https://github.com/aux4/dispatcher.js#readme","devDependencies":{"jest":"^27.1.0"},"_id":"@aux4/dispatcher.js@1.0.5","_nodeVersion":"12.14.0","_npmVersion":"7.20.6","dist":{"integrity":"sha512-/YSKbtAvnLr0ADjYfoO7m49T94RGtkidAfh+6LRQxEtpFqM0qZFTAc31hwOMbjJEhphLaurL1t/zX94VCmgEPg==","shasum":"5148ab3d3ff16f8096793d2280bdfbff0d3988f4","tarball":"https://registry.npmjs.org/@aux4/dispatcher.js/-/dispatcher.js-1.0.5.tgz","fileCount":5,"unpackedSize":5891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLduNCRA9TVsSAnZWagAACYAP+gJLWM3HJ9p+eJBrybK5\nQrtZHVqpku6p/0KLjYQ3ehTpHmFHaUUenuBfeKNXE85FZUO9fyGqgcWwSkW6\nD7ELmvG+7bHuzBwjOETcm9TnRJf8CUdvY1X7lC4B+8+TCI+Do1Xhq4LFsrY1\nhO9mP9IAXSEXlZ6E9jTFzkJbE/haYI0WE+FSSar5m0oNe46WqrDc0k3V7Y/c\n/DXpKWZL3RNGLV16mHbNFcfZMJUxXoXp19PRGwEA8yMD/V3F4I5BPVVNso4l\nk84x/Mg3q53eyPa7e+ohNXuZ3Th+Wnh5SuxL2F/lQ7FTqNMpFMUmhlTPmvz5\njnY1l9FcFYVNs6KOjTuLbqw2Rr7lrjcdI+U02xk/zsa+BaZagPHmi0PBVMnj\nekQpBuLIbN+enDmaqlfIL/ci1bU0f8VdMd/WFiR2ptDpqfllX2nbb6+Y2Qbc\naxbARsYV8PKYeKGH/m+8Kh6vaifSGogv761fWGiYQhxkYtEvtGPMI7H+S075\n2SyiFrwjlUnPGWRwvk3O6vYv4B9cML+sjb0NjWqxsWncFjOOLwy1PG26z82V\nUoOdtS+pankSyS6igXj+zyWMqB6hYCgFsBJ1BWj2FxOjdWUdGtYjUVwhc3os\nJSA85AbEslZVTiTgRDwlY6QQaLiE8HVxFuqUqdi7AB8eOy3DZlVNu3Pr6N0x\nqzXL\r\n=M3DZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHzhy9uhgZpavpGX8glK9Nx+U5kH1sHX4cQl54R9yaqDAiEAzrUE/ZAYnmvQyiGBEiWCunzB+Kye9+fQ7mDyH6pqsJI="}]},"_npmUser":{"name":"aux4-dev","email":"contact@aux4.io"},"directories":{},"maintainers":[{"name":"aux4-dev","email":"contact@aux4.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dispatcher.js_1.0.5_1630395277391_0.19522621633779091"},"_hasShrinkwrap":false},"1.0.6":{"name":"@aux4/dispatcher.js","version":"1.0.6","description":"JavaScript Event Dispatcher","private":false,"main":"index.js","scripts":{"test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/aux4/dispatcher.js.git"},"keywords":["event-driven","event"],"author":{"name":"aux4"},"license":"Apache-2.0","bugs":{"url":"https://github.com/aux4/dispatcher.js/issues"},"homepage":"https://github.com/aux4/dispatcher.js#readme","devDependencies":{"jest":"^27.1.0"},"gitHead":"f5455893ab4b3b2e3e6c4b60b2c57e97c5e1bea2","_id":"@aux4/dispatcher.js@1.0.6","_nodeVersion":"16.9.1","_npmVersion":"8.4.1","dist":{"integrity":"sha512-XRXLhb76RyfxgFfEe155HY4rsA6e02GxK779WbgNn5eLFLGqd2K/AOnzHnRGbwaHOVR/UWlzvRrk3hdUl2zGaw==","shasum":"6f689424dbebb23eee4963e505f22d03ad0c1c63","tarball":"https://registry.npmjs.org/@aux4/dispatcher.js/-/dispatcher.js-1.0.6.tgz","fileCount":5,"unpackedSize":5883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMsNfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuJw/5AEBjkRtgW01s6qOZi4ISGaD8HFjqporMWZKqw1LtaM0jwMaQ\r\nolWYFPlUBwINQxMaHMlRGEm04e5jjdP2G38p8d4tPpw8DcoCcFV8+bINFgkl\r\ng4e8U2rhaKoMc2XEOUK/IH9UhOZvu5zjpTzshIM67BdPonfbiEYh0yVPr7vf\r\nfOaidl+nEFqXHGIgAHVDWXpca5p8BSG8ZXYuvKAyiazqJeB1aPxWN606PVQt\r\nWJXwguS6mtXO6yny7PV/KMkOoC0VpzfUiVVFrHdYsWJUkxln1MoNdr7IQ+A8\r\nkGPAA8Gg9FbHNdXkXlfqrHIo2bMUcHeEfa7GVn/qV/+ObbPeipsaniS/Hxzo\r\nZixduPGiXp+uw3DCX+XiGSn9f8Khp9gJfh8aVgKs6ohYjmFFKi8HI78eeD/t\r\n7dcU5xmgueFyLSTkD926sD0EB50eTr6mGec/uVv0E8X4RkdU6jxkBxiWH7xN\r\n77VeChKknB0RMmjzWX+4Lx82FyvaxUq8M8IG5LoToe60gH0PwpSz1odq9lHa\r\nApbEo2kmZvxjpuS7wHghV9JJUL83YC2ved3FAF6s0Ka/O9Ma7cBbdtDGP1ha\r\nBLWNW5ms/2b5Lo/ydV/z8AnoJL8oa2D4s1R/729S/+THemBl0U9az2Esoyvu\r\nNha9vSWV/Iv98geNRkDSqUKMLmJSWUFQdLM=\r\n=3vv5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFeCHAg+/ZnzsMzCHOCHzlQ4czUCWF/iGkIhERbBhlubAiAR6hO6cMD/2FIcGLHLZvCmHmUT1AUq62EmFH0x0OkXCw=="}]},"_npmUser":{"name":"aux4-dev","email":"contact@aux4.io"},"directories":{},"maintainers":[{"name":"aux4-dev","email":"contact@aux4.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dispatcher.js_1.0.6_1647493983336_0.29240419889039027"},"_hasShrinkwrap":false},"1.0.7":{"name":"@aux4/dispatcher.js","version":"1.0.7","description":"JavaScript Event Dispatcher","private":false,"main":"index.js","scripts":{"test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/aux4/dispatcher.js.git"},"keywords":["event-driven","event"],"author":{"name":"aux4"},"license":"Apache-2.0","bugs":{"url":"https://github.com/aux4/dispatcher.js/issues"},"homepage":"https://github.com/aux4/dispatcher.js#readme","devDependencies":{"jest":"^27.1.0"},"gitHead":"3e586d671a723f9f68b7ffd5c4b7d317532552d2","_id":"@aux4/dispatcher.js@1.0.7","_nodeVersion":"16.9.1","_npmVersion":"8.4.1","dist":{"integrity":"sha512-v5kon1C48UOEh2+e1udPLivxpCSt3auwTgZY4FbdbTFgJhg0X112aUVQz14k9X/LqYqcBAoZe4JdCv+uMeH6Bw==","shasum":"e19357cc5f7ae1d711c7680820a1b83747c502c0","tarball":"https://registry.npmjs.org/@aux4/dispatcher.js/-/dispatcher.js-1.0.7.tgz","fileCount":5,"unpackedSize":5885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMsRXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQcQ/+I2x0X6MesbhUy2ENjqHwESX5mGALA1XsF4wzvpRyC/06ZOnc\r\nhEyzylKg5X3Dx33eKuPRl8O8NF+6oABb2yo6Dr4nJ8Uf+oD/sT02PkJ6G/Wt\r\ndQVhjxD6D3ajgrdBBorYQrA1UMaAhF0GWWe/xr6H8qGtMtCBsLJIk1kdW9C1\r\noHegma5an12gzH7PwQ7X0qslMFMyzLZtKkKfnUE7p8KfuoveLRrVyG4iwuTI\r\nMNBs0YMWo3pBpIMNMfnoXAPZBOTQvoqf0ww4/mLO8Y76qYcgO9CwUq29Y7rF\r\nsnYm2eER/tOYDz+uYKJ7JSj80Dj0nkPafm8+8dqR/4DVKTjdK6BpGspZmLhi\r\ncj15e0LbjJZLKXytuZu8aLXn/i3kxBbbN4/1IZ3rX0Dx3w8kUNOG6+PFa3VX\r\nteoWrpzUAJuZqglro4bPiahDBQ258/ZcCiMWFs7PGPZjOIuSxGnmycAchXzS\r\n0hN6/b6WM0exR5PnorsQ+n5SKHp9y2rKdmuoWQ3uVQtsnBX3eaA+XNxsNmZT\r\nmRkJE7wu400+JZhLGlP5tvW5GiNPmuPX7l0vrnaI6jPcw/eujCKo3S7owc3m\r\n7B+WomRbtQttDqVkkv+XeppcXGvavJz/cOlFrpPdmyhG35xYJmRD2hOJDfyc\r\nTITwbk0RyDdspDFmfSkXqhB1j4EyPfV/OhM=\r\n=ZyMq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF9J75QZgoPnjzI2j4dFTPT3/R3jn7bTYQw9KgX5yj2+AiEA9hiVobFlyEfaXL5uZ5lBciiyQqTNqGKyt+R/ck5cj/4="}]},"_npmUser":{"name":"aux4-dev","email":"contact@aux4.io"},"directories":{},"maintainers":[{"name":"aux4-dev","email":"contact@aux4.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dispatcher.js_1.0.7_1647494231583_0.7396688389022978"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-31T06:48:18.797Z","1.0.3":"2021-08-31T06:48:19.074Z","modified":"2022-04-04T16:41:26.521Z","1.0.4":"2021-08-31T07:32:11.069Z","1.0.5":"2021-08-31T07:34:37.559Z","1.0.6":"2022-03-17T05:13:03.526Z","1.0.7":"2022-03-17T05:17:11.724Z"},"maintainers":[{"name":"aux4-dev","email":"contact@aux4.io"}],"description":"JavaScript Event Dispatcher","homepage":"https://github.com/aux4/dispatcher.js#readme","keywords":["event-driven","event"],"repository":{"type":"git","url":"git+https://github.com/aux4/dispatcher.js.git"},"author":{"name":"aux4"},"bugs":{"url":"https://github.com/aux4/dispatcher.js/issues"},"license":"Apache-2.0","readme":"# dispatcher.js\n\nThis package is responsible for managing events.\n\n## Install\n\n```shell script\nnpm install @aux4/dispatcher.js\n```\n\n## Register\nStart listening events.\n\n### Register for single event\n\n```javascript\nconst {Dispatcher} = require('@aux4/dispatcher.js');\n\nconst MY_EVENT = 'my-event-name';\n\nfunction subscriber(eventType, object) {\n  console.log(eventType, object);\n}\n\nDispatcher.register(subscriber, MY_EVENT);\n```\n\n### Register for multiple events\n\nThe subscriber will be triggered in case of any of these events will be dispatch.\n\n```javascript\nconst Events = {\n  EVENT_ONE: 'eventOne',\n  EVENT_TWO: 'eventTwo'\n};\n\nDispatcher.register(subscriber, [Events.EVENT_ONE, Events.EVENT_TWO]);\n```\n\n### Register for all events\n\nThe subscriber will be triggered in case of any events will be dispatch.\n\n```javascript\nDispatcher.register(subscriber);\n```\n\n### Register for combined events\n\nThe subscriber will be triggered only after all events will be dispatch.\n\n```javascript\nconst {Dispatch, Collector} = require('@aux4/dispatcher.js');\n\nconst collector = new Collector(subscriber, [Events.EVENT_ONE, Events.EVENT_TWO]);\n\nDispatch.reigster(collector, collector.events());\n```\n\nA timeout can be specified in case one of the events is missing.\n\n```javascript\nconst {Dispatch, Collector} = require('@aux4/dispatcher.js');\n\nconst collector = new Collector(subscriber, [Events.EVENT_ONE, Events.EVENT_TWO]).timeout(1000); // 1s timeout\n\nDispatch.reigster(collector, collector.events());\n```\n\n## Dispatch\nDispatch event with (or without) a payload and it will trigger all registered subscribers for that particular event.\n\n```javascript\n// dispatch with payload\nconst payload = {...}; // it can be any object or value\nDispatcher.dispatch(Events.EVENT_ONE, payload);\n\n// dispatch without payload\nDispatcher.dispatch(Events.EVENT_ONE);\n```\n\n## Unsubscribe\nStop listening events.\n\n```javascript\n// unregister for single event\nDispatcher.unregister(subscriber, MY_EVENT);\n\n// unregister for multiple events\nDispatcher.unregister(subscriber, [Events.EVENT_ONE, Events.EVENT_TWO]);\n\n// unregister for all events\nDispatcher.unregister(subscriber);\n```","readmeFilename":"README.md"}