{"_id":"@calmdownval/signal","_rev":"20-be45d364455ebbf90b81e7b0add1e15a","name":"@calmdownval/signal","dist-tags":{"latest":"4.2.1"},"versions":{"0.1.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"0.1.0","license":"ISC","type":"module","main":"./dist/signal.js","types":"./dist/signal.d.ts","repository":{"type":"git","url":"git+https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"tsc","build:clean":"rm -rf ./dist/* && tsc","test":"ts-mocha -p ./tests/tsconfig.json ./tests/**/*.ts"},"devDependencies":{"@types/mocha":"7.x.x","@types/node":"14.x.x","@types/sinon":"9.x.x","@typescript-eslint/eslint-plugin":"2.34.x","@typescript-eslint/parser":"2.34.x","eslint":"7.x.x","eslint-import-resolver-typescript":"2.x.x","eslint-plugin-import":"2.x.x","mocha":"7.x.x","sinon":"9.x.x","ts-mocha":"7.x.x","typescript":"3.9.x"},"gitHead":"80d84cc1981ce5b38f1a7fdfc90cf4e1245f8f25","bugs":{"url":"https://github.com/CalmDownVal/signal/issues"},"homepage":"https://github.com/CalmDownVal/signal#readme","_id":"@calmdownval/signal@0.1.0","_nodeVersion":"12.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7eNZ4mTPSYP/fxAeL992oOibKtNQrfy1zMLRT2DXOB715yRuwDy2P/pN3vakS01cI2a8lUBdCSNYlXEcQ2tIBQ==","shasum":"b24c8badf1d857465bb1f2c6ba9f2890607dcb05","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-0.1.0.tgz","fileCount":5,"unpackedSize":13440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexaU4CRA9TVsSAnZWagAAM6cQAITcD9kpOi85i/sz81SC\nyH2QjI+Oiw3tgojTrtvXQAaZefEuzK9STbrRQe0z97ZGN9pACOyTb5NY6x1Q\nZEUx6XoQXluVgMqZ2h/O2YDl+QOo87fVUUc0dEt5lyB2LIAzWRfBwm/TZi9l\ndYSTgRmJgyPAIche87CGiIIrDdA+B4503a6vyXS4QSThbBfVE9XODbiMMRn8\nnnZT+LI/v8kwG+eQ3xSAeJ/ESxNnfSMLs8TjJ5oKI/jVoNFy/y56KOBVS04W\nseBAqRk2GTIm61S1votx3uKZj4bYInvY7yjHH8txPQgylSafBMfHbg/PP9b6\nAf90+BCiZZIVLyJ6QBGUb3cgUevvw3dOQO+Jn7nwmpyqoywQJwYW1ZgmBJim\n9HTCWrFghXxACnW3gSLKCLiyeDUch2maAxxxbXPIypXB6KgSuvLAI7nBB6JG\nsIowKZyvBiMosChP5usQPDCDB2F7JWrEK6kiJWVonDj8mIW8bA6ZE6bywvtR\nkxFgpkQdqNjOKZXaocfhlXKSEWm7YPbt88Y/n81NMsVjX79yh0ZtAlZn4Ck3\nITu2JY/rWpRDIlYVUYRmYtR8R2TLRpM8rRi+sitC/lAl1hzQvQaesuLiS40f\nEDZ9rqQuP3vvcboTQBAit8Lxy1t7ICFrBrv/E4fpNcn9xtTM2r5uPE3BglNN\n000k\r\n=l6NF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMjY5ZSEkmcSK4hK7+1scl+2RgPmRtN6cJPdDx695U6AiEAtbQuILVjaEF6KEulDwDbReTGqSoZvLFEkn764Aqs1yU="}]},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_0.1.0_1590011192386_0.09320564504727558"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"1.0.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"1.0.0","license":"ISC","type":"commonjs","main":"./dist/signal.js","types":"./dist/signal.d.ts","repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"tsc","build:clean":"rm -rf ./dist/* && tsc","test":"ts-mocha -p ./tests/tsconfig.json ./tests/**/*.ts"},"devDependencies":{"@types/mocha":"7.x.x","@types/node":"14.x.x","@types/sinon":"9.x.x","@typescript-eslint/eslint-plugin":"3.x.x","@typescript-eslint/parser":"3.x.x","eslint":"7.x.x","eslint-import-resolver-typescript":"2.x.x","eslint-plugin-import":"2.x.x","mocha":"8.x.x","sinon":"9.x.x","ts-mocha":"7.x.x","typescript":"3.9.x"},"licenseText":"Copyright 2020 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@1.0.0","dist":{"shasum":"219de93d68e97491ada0bcfacf51e7b81772d4b1","integrity":"sha512-ARiYS4p1Q8Ql48MhR5vjz66k0JywMe1hJn6hf6DnLzXT2e8TH6lqk1DjVcx7paoT/LnvS1ttPJWvj8t4B9UQmg==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-1.0.0.tgz","fileCount":7,"unpackedSize":14127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+bCXCRA9TVsSAnZWagAAptkQAJGghf38QaiZIGLGR1x4\n/TyjeC9l3xNPbZ+3daOcLsG/pDEijp+RdBizTun8j2ixmbiP0BbcLrdTnnub\neawaEP6YnZB57pZRIz91K68C621klLFco/fg5joQPDwvCjrcF5Lg1/xvVG1h\nN9IP+SyEXCTueUG0J+/LhXsv/CcB/QQZNw0mANPUbWUofgXw++G3KZWm48Lt\n4hUpPfL4hyHm1YuWZ91mWjQ8vsxQDdxVyF6yoye+R0SlqRw66T+B9MopuugO\nffWxKqNohIPaReIkdB5KLwFAorNqyXDPx+Nqf44MRKcJxCZgX/Wa62Vg6gML\ntaNGTlceqNXfdAXsMEzoHE8xYqc+cT7wTL3Dvv1/iagKHv5Y+lRc7DMDhrFl\nN0TjdlMrdRRywLFD9uzZIj3x6fbXBSPczJMXgPCYHN6J+ueR0nReUoKARFJc\noh321VAfDCxacrvs4/3NTbSYJC5cNX/+4WAtP2FT0nXjLXCkSkkQY9oljcUu\nONNyQzvu3Dh6/0sxi6Voxc89H56j9h0ZtMDcrMRRkT08Jnn8JgB+KOaX7pDs\nSeEI3dVWuH6xhoL1/eTDTd2gwghv2m1XpjqrLedGd10QaXb2E1JT6ntB+pF9\nAAKdEGazoL0SdvD2I5fybCqftqhvgaeSUyLKuBzVYrwEGuHcwPBMUuHF9aK9\nS4/u\r\n=uOQ5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWBDu2UQ/WyB/HG0MoxmllSrkDDNoOQHQ4m53p1pq0CgIhAP6Ao+N0tXPjRalSIW4g0A8PuzclwMc0N5Rp3MR+GIAT"}]},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_1.0.0_1593421975506_0.8771353992279038"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"1.0.1":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"1.0.1","license":"ISC","type":"commonjs","main":"./dist/signal.js","types":"./dist/signal.d.ts","repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"tsc","build:clean":"rm -rf ./dist/* && tsc","test":"ts-mocha -p ./tests/tsconfig.json ./tests/**/*.ts"},"devDependencies":{"@types/mocha":"8.x.x","@types/node":"14.x.x","@types/sinon":"9.x.x","@typescript-eslint/eslint-plugin":"3.x.x","@typescript-eslint/parser":"3.x.x","eslint":"7.x.x","eslint-import-resolver-typescript":"2.x.x","eslint-plugin-import":"2.x.x","mocha":"8.x.x","sinon":"9.x.x","ts-mocha":"7.x.x","typescript":"3.9.x"},"licenseText":"Copyright 2020 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@1.0.1","dist":{"shasum":"9963ec87c2d679a3fc64a7192466c4377badd34f","integrity":"sha512-f1bXg16VpwXS29t+WGRTgXXaH9GPeLNVptIWn4o2k+1PNvRYNb60+cVUAHTvrS9nHMmwK4jqNxjvvLA8aFgsPw==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-1.0.1.tgz","fileCount":8,"unpackedSize":14361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfE4IbCRA9TVsSAnZWagAA8V0P/0r7y58SXIaFzYp43U9D\njdR0gJH9Ge52hgih/6QQyssNfjPFXRyJFgI6DMRs1HrsJxfEjPcgijp1r078\nZ6CqxZiZ5cMD2Bp2RQR1cTeaNV8OegkYhyo58VoxmP46dApLYw+CXrYUq9PL\n5MGlNaVJcXh0uE69pje1VBFJPn+60V+OvcR76WTI643PPl3fwuj28O2JxxnV\nCqkdyOLIXJkzy4f9G8yc+MXHj9fKKKc+VY5wauSwyyZaq/ueqiBYwb+Ol5NK\nOktkfufIFt/HcT7JgINhqJ07ATWjvR08zJ/nw0zL6ZSJWVttVJIN0r/Ys7k0\n4qMENa8+S1Ts3xpCLathax1VnzgFbkzlbmwZ7v2Nng0NoUSIai7GxnzFx7Jl\nwCaSkoMHBFi6C14Tth2L55M3MmjTK6RJX83U3+LQ3CdGhWz0+eIVrrAOrHS0\nFYXUzE1YTQZBTa2ezlom5BAo11QAPFOAbta7wikvX1CMPjf4GrHhdYojgkx9\nCARwlxB0gYo5vtimgY7Hz8L5BcXDR/XgdfCW+g60pZV8+dnfxp1R2U/KUlX4\nZ+uqkp0vHXoq11oMvQNkpWvxfwEYPtvWgom6iwoUaZ+o4pEaXUcx3upJzmOk\nccSVx87QwRmMNgv0z/rqAvhs9jdPG8SvRyPMxwJRISfChp84y9HAIea0z6ks\ngUoY\r\n=loRt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDMUwC9cYgxgV0wotDiVrEjLmClg4gakUGtUjqOy5K0oAiBlAIeGZk7yA8Z6z9kv12FFNHailOL3icoTg4NFMuBK1A=="}]},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_1.0.1_1595114010422_0.12219486975091298"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"1.0.2":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"1.0.2","license":"ISC","type":"commonjs","main":"./dist/cjs/signal.js","module":"./dist/mjs/signal.mjs","types":"./dist/signal.d.ts","exports":{".":{"require":"./dist/cjs/signal.js","default":"./dist/mjs/signal.mjs"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"./script/build.sh","test":"ts-mocha -p ./config/tsconfig.mocha.json ./src/tests/**/*.ts"},"devDependencies":{"@types/mocha":"8.x.x","@types/node":"14.x.x","@types/sinon":"9.x.x","@typescript-eslint/eslint-plugin":"3.x.x","@typescript-eslint/parser":"3.x.x","eslint":"7.x.x","eslint-import-resolver-typescript":"2.x.x","eslint-plugin-import":"2.x.x","mocha":"8.x.x","sinon":"9.x.x","ts-mocha":"7.x.x","typescript":"3.9.x"},"licenseText":"Copyright 2020 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@1.0.2","dist":{"shasum":"48e425f5462c271165e33efd8f1a6cb2a8097376","integrity":"sha512-sudWvOmI+Pp6QtWl7juukNIJQ2457ERJf/MyfMEmI/O0pdkNOWRmoBMH4+pCej/iss77PVLfWd9YGxVmBXVtSA==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-1.0.2.tgz","fileCount":10,"unpackedSize":17899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZ6PnCRA9TVsSAnZWagAAvicP/2ePjTmSUdj/rvn1v153\nP3VzMFqKzN89r51mbdiSpyNaP3XI2+yW6L4lmGhfF3zEYoVSZScVmV+z+zM6\nOGG02TjH1VnWRVcyoKQCwVtAkn/8K3Khu+tyMk735C3re9wETtDL7xmOrvKW\nqi6wCrj8mpg80IiZumhUQiRiTT+KEydaQXVmtxw+P1qjskFQ00q/RAfXU72B\nWCoWLM7PktcsLPlnE+IuyDZDhAEuKiMReKtP9K317Ot4u0DPaq6ZI0HzJpsd\nsLLQ2iBtt/XIE27jX0jvMjEIkY/JUbXlvmDFABzuBiGNaWsK1xMDxIoic4xg\nNP3d6n9zSJdAWOJ1GSk8utdlPUxaZjxC/ltvDAJdWCPuLpQFaExyOVtCxXPR\nWzhdouPl1GzLn1atw9aaUNIMxaXVf3hbvtOK0HgAPX+YMV4z1fmTEz0nU4iZ\nvUjNIs+RPWO153ZGSMerpWSSy901FLJ/L8/u7Vx4npr112kob5blq+azgvfK\noNwnZWKy8950AH26sP4xHpy4NWapMNbicPUiqoFtfermUDW5tXoElYoQHTtN\nI5a7/lCjzSEPrwASDK0snd25BPC4/kjgAIkzbh74HAQ9kxEWcgLfyKXIGpT0\n0NAQdLqy7iIikU2g7sbbO768jAJylfm/QjYG5DY0IcGGe2r2SqSnHbhDpeA4\n+UFv\r\n=o58m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWm6mcUWFqzE7vZW50EgleUWlp2992zXMmFwPFb7p45AiB5lcpIu8+d9BkuXpyiXstS5Oe85WxvRsFeJU+8OLbcAg=="}]},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_1.0.2_1600627686569_0.6771484155433669"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"1.0.3":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"1.0.3","license":"ISC","type":"commonjs","main":"./build/cjs/index.js","module":"./build/mjs/index.mjs","types":"./build/cjs/index.d.ts","exports":{".":{"require":"./build/cjs/index.js","default":"./build/mjs/index.mjs"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"./script/build.sh","prepublishOnly":"yarn build","test":"ts-mocha -p ./config/tsconfig.mocha.json ./src/tests/**/*.ts"},"devDependencies":{"@types/mocha":"8.x.x","@types/node":"14.x.x","@types/sinon":"9.x.x","@typescript-eslint/eslint-plugin":"3.x.x","@typescript-eslint/parser":"3.x.x","eslint":"7.x.x","eslint-import-resolver-typescript":"2.x.x","eslint-plugin-import":"2.x.x","mocha":"8.x.x","sinon":"9.x.x","ts-mocha":"7.x.x","typescript":"3.9.x"},"licenseText":"Copyright 2020 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@1.0.3","dist":{"shasum":"cffb702d98c607962c012b9b8791bcb497b1d470","integrity":"sha512-Db7Uyqk0CzwJq7vFEO5tYhTrMb0p+gPtCM9OGEnDTaJwGAOaIR4n6PzDRYSvYWI3xPaWlIXcv7Yoh+Bp+1to2g==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-1.0.3.tgz","fileCount":10,"unpackedSize":17929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf095oCRA9TVsSAnZWagAAIAQQAIisjX3fZbpqBrJrXCfv\nZl4tRzIfP+d2l39Qq2As1Zwf9r/vif2uVfKFydOq8iQrKpQi/JhxTGkXto7a\nDO6xNq1nrLzEhXMt7b781b1vhPeQyUGnW2Ri6u/nEI1X0DdtIHPc5ry4pP+L\nK0fdrZdv6eHeG+6V3KSYKn1eYk85k9aOVlVw803Exkit1bw3x/q+N/BST7KJ\nqy0EdIJMYtkOEiwYzIAOIoP9Tpx4c+hdKahAeXhAmcvUeH+4wc1JJieG/tFJ\nNNi3cMajwv2V3A9yT+h+27gbtTsGsry3gBJo7vSTI/nXBV5qy7LPjMUtX1Y7\nKuXWx6ntygjtChuDuYqHopszP9zOC5PNXTrLQNuY/vO5h4sWZAEFiuZAHQzX\n75pfCLxyi4TcPHyl/Uq4eySupidc7Qw0M4Dr5KkbSEkbfMUgS5I5ETe9X1ha\nJJEL7hLm+qdnklngsu5MphY/MwNloiaM2QCsgHJ9n8lYYNWzw4pou7i4k1V2\nM/liGiPhLlZbE2H2OvKXPmDxb+8aNMkZU/RO0W2xK4zUtFo168vM4ytZu7g7\nY9GY6bTLXHQ+5kGwQKV8+sJIkaflVQS9E/U4OzzRyx799aB5X1De+Qtt+K42\noUe3fmRca7tckkaUijyt0DXd6zWIxIo7ULnq+Nq+XhRZ/LQTkLnFDKU40wdU\nPIR8\r\n=XYxu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcPFRGhfAaUxIPCyAQKvk/pHULZhivDdKQOw2hHSjx1AIgJr749FtqO6NKq7c+Lq+YONfJ58n86RxHZaPbticZNnc="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_1.0.3_1607720552408_0.24377702234575493"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"2.0.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"2.0.0","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"rollup -c","prepublishOnly":"rollup -c","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"CalmDownVal/eslint-config","@calmdownval/eslint-import-resolver-typescript":"1.0.0","@rollup/plugin-typescript":"8.2.1","@types/mocha":"8.2.2","@types/node":"15.6.1","@types/sinon":"10.0.1","@typescript-eslint/eslint-plugin":"4.23.0","@typescript-eslint/parser":"4.23.0","eslint":"7.26.0","eslint-plugin-import":"2.22.0","mocha":"8.4.0","rollup":"2.50.3","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"3.0.2","rollup-plugin-terser":"7.0.2","sinon":"11.1.1","ts-mocha":"8.0.0","typescript":"4.3.2","tslib":"2.2.0"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@2.0.0","dist":{"shasum":"d661256ca5150cad141ffdfe2af547d5ef9a0806","integrity":"sha512-6AkKH1qZBZ9c51+S2a+isM4jdjFbR4lSaEmG0VoxiIpREPbo7d3hJOLzkrXFepAqFEZHUBXHIKXC1TIRuRw8Yg==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-2.0.0.tgz","fileCount":10,"unpackedSize":29537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsTp4CRA9TVsSAnZWagAA5GoP/ijSKi7ITuC/FeHW3RTf\nWVKFYaj8H4leG7NfztZsil8/mBW4jC7GinMnW1bzlcMq+qIoyakkZ4n/ekOc\nnP8KaNhHFjEka5pPoCvauyKKZXQILAM4ZSCAPoWqkilxdyk3KofBPGoFEuLq\nAat62mz7Mm4EW5PRgkDas0mtLgC8NibA4No9sfY2xGvQusTEauRQI/4Kow1V\n1MB1IuBa+hXzqwWoW8LBhS51VHcK29SdIYcB04j54mNuufmhJSui98Rk79zY\n41HJrCMUpSpxmhOAoFT+1AyVNucB0X9WLQPiwvSQDiMomSOxI+QatQAZL1DC\nKYUl0tak9y9SFUELyd54kQxEPuumsgf2iXtuqGgNpmAUq9jMi90YCqQ3qeS9\n0y0ie1CnQM0I1a9bpuECE5T/Al9q14jlE+aJb1DC3whd2LB4ffv958X1PcWy\nQSGqCb9TbOTgeqhgcOOtG6rgd9RO5xPWad9Gi3jPT7asNkBFq3wcWnBwO/33\nMj/uZr833YllfYxvb2Ok5N/+LnENlzmrpUq2krH8fh88DZNIoAWWndytUov0\ngf0Kn8cs6W3jCChwbCTQi3a15s8eX29eQlcgduROy/ssoTJyaTRBBl6761RH\nHzMj9HM9CU580Evbxj0OO7dt1zbj62YT6jBdsE+ftH9+rak2eNxW+poQ8WbT\nreVo\r\n=o7he\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgPv8udBKOowIPLpUJN32Xy+nF067VP20YwVNv7R0Z7QIgbgtsOx5HX3ODQmuiHWVreMpj5/+Utv2XHVkVJvSMaFc="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_2.0.0_1622227575574_0.8336453205400056"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"2.0.1":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"2.0.1","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"rollup -c","prepublishOnly":"yarn build && yarn test","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"1.0.0","@calmdownval/eslint-import-resolver-typescript":"1.0.0","@rollup/plugin-typescript":"8.2.1","@types/mocha":"8.2.2","@types/node":"15.12.4","@types/sinon":"10.0.2","@typescript-eslint/eslint-plugin":"4.28.0","@typescript-eslint/parser":"4.28.0","eslint":"7.29.0","eslint-plugin-import":"2.23.4","mocha":"9.0.1","rollup":"2.52.3","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"3.0.2","rollup-plugin-terser":"7.0.2","sinon":"11.1.1","ts-mocha":"8.0.0","typescript":"4.3.4","tslib":"2.3.0"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@2.0.1","dist":{"shasum":"c2d8c10d62defd7c0ea9b2b20f28e3e148c5e9d9","integrity":"sha512-aVFJ5yHYNAY7zurwpEzTexMbyRiR+cLM5S87bU+rLdNLyY+ziaMZ/RuN/AFwtqFuuTpBOtj7+ZUx2H3RZ32g9w==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-2.0.1.tgz","fileCount":10,"unpackedSize":29615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1m9pCRA9TVsSAnZWagAAJe0P/3B5z1di5UKP0+CAW/QK\na5fBl4Jdof9Ar1mMvMZjQ3roN+vGcIRVEuWkTF1z2FiKuHZSTRMy3GSlnoKI\ntqGnkedlRos+nR8FHPBXcLDAq79F1BAKXVt9SzqxVncfmQgPy7dWPSDRdbBr\nOF7vHXynu3ZfxwjrnVwj4Ny2oNO1uv6mvACr11fCW3ioI6BfdW+s2rN/GXt0\nXNoSz4zfCJdtmGGfKEJoM/hpc1qFFrwiinuKJBqA2brEO35Zs6CarYsOoVyq\nd/JGJyXYsLEEIsfCMuQ/ZZFMRF3jz44YZ/O8synDgsxfZ1UFPXrhSOj/ox1q\noWEyelG9ALGdqGE7XyH5FE9kqYMnchq1oLWoKrenkfsJBJPpeKHT/nVQOUxn\n8u9CkGdlF/LiR+4kgdc7zyHaMMLRFIOmRIJN6y4494ynowDexm6m06PekGn6\nNe77kzCky7hscB+hENiA6lfXCYa5XxOMBMxvmmpd4VqbmtwYfDhc6AgTg5nJ\nQs0MNEM+XxqWmHr9I0HvMz9jEzvZu10R/vV1MhcJNhfnf3nBEpeS/t9YnW+w\nW2U0PADQia+ORf34Wa9A1m45UEhpqASRfEHlY1M58mwfY1SUcrFvZbYDPH8M\nBadyRTIldDvz/cT/+7IRm0utDtZKaa94PGkdX5fHUCI2LXw/EFRIlD5rlK2c\n5lrF\r\n=iE8V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPCsQC45w96bVQF0Lg5C4xm9rohMgC8KAoSUO8OrrMhAIgRmwzQrjOVyR6EOB5kAje79aV4cq6DWhDjrw5GQ4JSpI="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_2.0.1_1624665960635_0.6393849515754308"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"2.0.2":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"2.0.2","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"build":"rollup --config","lint":"eslint ./src/**/*.ts ./test/**/*.ts","prepublishOnly":"yarn lint && yarn build && yarn test","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"1.0.1","@calmdownval/eslint-import-resolver-typescript":"1.0.0","@rollup/plugin-typescript":"8.2.5","@types/mocha":"9.0.0","@types/node":"16.9.2","@types/sinon":"10.0.2","@typescript-eslint/eslint-plugin":"4.31.1","@typescript-eslint/parser":"4.31.1","eslint":"7.32.0","eslint-plugin-import":"2.24.2","mocha":"9.1.1","rollup":"2.56.3","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.0.0","rollup-plugin-terser":"7.0.2","sinon":"11.1.2","ts-mocha":"8.0.0","typescript":"4.4.3","tslib":"2.3.1"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@2.0.2","dist":{"shasum":"7619906415aba2b5ad6291248d8ecf063637c08c","integrity":"sha512-yconfxLztQLHKPscxlLJ9yKYo+gdqPO9nzGIOHon0Xe+VNrj9is8ZR6NejfT9AVJxcmC56qGZGP3tYca0LdJCA==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-2.0.2.tgz","fileCount":10,"unpackedSize":30040,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUz/4NbDmTpgtrn2YyHRBpDFNTde7PYFISCxCeAxnTvAiEArWNWNamggIwqeZzRsSUfFNip3nnIfto0cnDCVicWTXk="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_2.0.2_1631938616526_0.9169784694276608"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"3.0.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"3.0.0","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"benchmark":"ts-node ./benchmark/index.ts","build":"rollup --config","lint":"eslint ./src/**/*.ts ./test/**/*.ts","prepublishOnly":"yarn build && yarn lint && yarn test","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"1.0.1","@calmdownval/eslint-import-resolver-typescript":"1.0.0","@rollup/plugin-typescript":"8.2.5","@types/benchmark":"2.1.1","@types/mocha":"9.0.0","@types/node":"16.9.2","@types/sinon":"10.0.2","@typescript-eslint/eslint-plugin":"4.31.1","@typescript-eslint/parser":"4.31.1","benchmark":"2.1.4","eslint":"7.32.0","eslint-plugin-import":"2.24.2","mocha":"9.1.1","rollup":"2.56.3","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.0.0","rollup-plugin-terser":"7.0.2","sinon":"11.1.2","ts-mocha":"8.0.0","ts-node":"10.2.1","typescript":"4.4.3","tslib":"2.3.1"},"resolutions":{"ts-mocha/ts-node":"10.2.1"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@3.0.0","dist":{"shasum":"8458ea4b8e72a3cee8ec7e0ff146c300f70f9276","integrity":"sha512-WxYxxvAWWnQnT5Vsdwl6nN0eMDT/q/0bIUX2qf+zr/9EWAf9JDBRPeHfq7JeywLZ9smJXZZR5u2orad7Z+hLLQ==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-3.0.0.tgz","fileCount":12,"unpackedSize":40511,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+QLVnf5wVh2J2xsPmjq2cGyywd7sFleX+gBmmdWik6AiEAp54X7xbR1XGZIrFZ1+Xl52/UKqE4VJ+PlVUVYjmbE8g="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_3.0.0_1631938819609_0.666887460936225"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"3.0.1":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"3.0.1","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"benchmark":"ts-node ./benchmark/index.ts","build":"rollup --config","lint":"eslint ./src/**/*.ts ./test/**/*.ts","prepublishOnly":"yarn build && yarn lint && yarn test","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"1.0.1","@calmdownval/eslint-import-resolver-typescript":"1.0.0","@rollup/plugin-typescript":"8.2.5","@types/benchmark":"2.1.1","@types/mocha":"9.0.0","@types/node":"16.9.2","@types/sinon":"10.0.2","@typescript-eslint/eslint-plugin":"4.31.1","@typescript-eslint/parser":"4.31.1","benchmark":"2.1.4","eslint":"7.32.0","eslint-plugin-import":"2.24.2","mocha":"9.1.1","rollup":"2.56.3","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.0.0","rollup-plugin-terser":"7.0.2","sinon":"11.1.2","ts-mocha":"8.0.0","ts-node":"10.2.1","typescript":"4.4.3","tslib":"2.3.1"},"resolutions":{"ts-mocha/ts-node":"10.2.1"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@3.0.1","dist":{"shasum":"4bee9a63c0a35c31511927d11d77efca41f92d22","integrity":"sha512-FhF7gP0L19KOy8CwJiOzM2uzMRHqRuD/fBTKzwvrqH1QxAV/qCJig1/Ezr8/ZoPAd6zTz9KFk8ysaUXp7PSlMg==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-3.0.1.tgz","fileCount":12,"unpackedSize":38674,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrFoxLEEqF2XkwyixXgQqbD/pgSBdl7RuyGmSDFGmgwgIhALFq5BRQUwxVYv3YFAMIHzvRrA+MH5S35N8rvO7DCkOy"}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_3.0.1_1631966164811_0.1904503355963929"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"3.0.2":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher.","version":"3.0.2","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","async","dispatcher"],"scripts":{"benchmark":"ts-node ./benchmark/index.ts","build":"rollup --config","lint":"eslint ./src/**/*.ts ./test/**/*.ts","prepublishOnly":"yarn build && yarn lint && yarn test","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"1.0.1","@calmdownval/eslint-import-resolver-typescript":"1.0.0","@rollup/plugin-typescript":"8.2.5","@types/benchmark":"2.1.1","@types/mocha":"9.0.0","@types/node":"16.9.2","@types/sinon":"10.0.2","@typescript-eslint/eslint-plugin":"4.31.1","@typescript-eslint/parser":"4.31.1","benchmark":"2.1.4","eslint":"7.32.0","eslint-plugin-import":"2.24.2","mocha":"9.1.1","rollup":"2.56.3","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.0.0","rollup-plugin-terser":"7.0.2","sinon":"11.1.2","ts-mocha":"8.0.0","ts-node":"10.2.1","typescript":"4.4.3","tslib":"2.3.1"},"resolutions":{"ts-mocha/ts-node":"10.2.1"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@3.0.2","dist":{"shasum":"e432676af802d88e3ea055b6e85e386e67247939","integrity":"sha512-kPWF8oMQU4/5W1JYuxsSdhym3aFeVsPnpAI1FDjhcwZru2Z0TUl/+ZnXo3aBdGxmQfzjPUl2TKcD/wWj/i7bKg==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-3.0.2.tgz","fileCount":10,"unpackedSize":38201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzazTCRA9TVsSAnZWagAAct8P/2jDiFFBFF+WX4q415Lz\ny3mlKd4KVCeX7WgD71l23ZrrH0DufKBvIRqPsGEeXHpn+2amd8Dzq86csjwU\nLwjv/eXqAqbOUgUEDWfEnptPJ1kp/Khi/ZL8m57hbRBsBw/N2W+k78yOfqxR\nnj468+bgr0BnaMZoEvv91530QvKOgkZDC805CP5un2JIfV/ySpQuPTPeAeVv\nfTAsVKW91+3yXOhZc7C25N+n3xhgRhlDOzRoj9cLaLi7Q8qD96AYPp9cbnBK\nJrhQGnW8k+Fl3Mz8fB14IH0gDaPYmkK5EJ5XINyvdita6yOygrIsGD13FeWp\nxs0FWRjBJdFM9ysHfA0dSTZzis8zIvS23TIdgBN8eCWtwaGCqbvGohwBW5bJ\nM7lbhaKKI+sR/MwWygmzb8U8P6sB6G6v1q1wg+2kWJeEYfJcPkJHl9Jtu2Aw\nbJl4SN8VeBm3Xy54xWDNpCIJrdbPuBfJaqhCA6XtR0vP/7uS5SCkeKQYXM6e\n0llzuGJM3T8ujEB01lbS8fITc5NoLjZcJJlocIR3XccX+B3q7AmsJeByK3P7\n7hsA7b02neZgY+3Vu4lOa33/mQXXDPFE+qqoVfHHqVVf/l8wTAqX49gRYSo2\nHhgLTiXBGpmD0cymHPnM1jLEIgTMZaxRcZEebAsjNfIK+t69LMTfIe9+bh+R\n0j9K\r\n=TzSV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhLdgNEqYwu1OiWaI9PoFo2LZueyHuKRbePCkzJZrTtAiAc5WYMz0szR1sFWfzAEqNB/DWJzToy/CbROaQnXXkplw=="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_3.0.2_1631971713180_0.9539985376833582"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"3.1.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"3.1.0","license":"ISC","type":"commonjs","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.js","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","default":"./build/index.esm.min.js"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"benchmark":"ts-node ./benchmark/index.ts","build":"rollup --config","lint":"eslint ./src/**/*.ts ./test/**/*.ts","prepublishOnly":"yarn build && yarn lint && yarn test","test":"ts-mocha -p ./test/tsconfig.json ./test/**/*.ts"},"devDependencies":{"@calmdownval/eslint-config":"1.0.1","@calmdownval/eslint-import-resolver-typescript":"1.1.0","@rollup/plugin-typescript":"8.3.0","@types/benchmark":"2.1.1","@types/mocha":"9.1.0","@types/node":"17.0.18","@types/sinon":"10.0.11","@typescript-eslint/eslint-plugin":"5.12.0","@typescript-eslint/parser":"5.12.0","benchmark":"2.1.4","eslint":"8.9.0","eslint-plugin-import":"2.25.4","mocha":"9.2.0","rollup":"2.67.2","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.1.0","rollup-plugin-terser":"7.0.2","sinon":"13.0.1","ts-mocha":"9.0.2","ts-node":"10.5.0","typescript":"4.5.5","tslib":"2.3.1"},"resolutions":{"ts-mocha/ts-node":"10.5.0"},"licenseText":"Copyright 2021 Václav Lahuta\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"@calmdownval/signal@3.1.0","dist":{"shasum":"409142004e25e1e718bb276eb9c91b0bcbfb4360","integrity":"sha512-EujL3K70dQnrKMbeMbY60c70TwawTndBG/43Cdt5pawX+Q4Vfd6jSj6kEC4+7a+7/rmM2KpR6POkNS9xvUgSrA==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-3.1.0.tgz","fileCount":10,"unpackedSize":48459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDv4sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYHA/8C4fC6pGB7dA+n/DonS9oof+x9lxKsqIFX2+HbKBKF8MqwsF8\r\nhoACgELjfKCpBf1do/wDiDF2wstrdmHNs6DZKDv2BsBvpAyw+Fq2eBdS6KFV\r\n33lxunD8N6eD8gk/ixFPS+G4pliXo19Tq23viIPdpN1bAJZJfBGcW5GbcCg0\r\nJk77LGRS2UQB6IBvLGjlERq3AYbstsiW+EG0ffpydeyejwDXJATpoh2I/CQM\r\nsS3XKYHMp1LvQS5Cy7T16PYv/FCJE8nDxLVgReGLpHIvQqJQrpPYO4GceI2e\r\nCdCb9P/xVjHbD9L63fNGcKBNnyOC9sVh19h3nMVm0z596Lc9Kwf5Ndva4d7T\r\nDhg1aR7m6cEVX68ulkJ8uveohEHjkJ6QTygGDmq+QoMxpQg85723FZnsuemU\r\nJrecebK1UI6RTU6A86uw1i1yVfR7PlylNmkx/G5uq6KSFrguGAHoOuZK4R3B\r\n9FF9asxGTgHeaZLncpzvOeSp1vE/DCxY/yNTqyE9A++v4zoPmDF9nLhyOKp6\r\nQGFo6Hpp3573eecTMtHEeCk/0d+tJbKudXIQaZQ3N6xyimN8JAyTzNq9+saD\r\niSKgeDp5CFKbz8bSM2BIDPXPmpCVaq7A1fxg25qLmiaJmKoP/0v1iyKp1Dry\r\nqpM5hImWpJcHX9Yl66o8WYQfd2ljy/am90o=\r\n=8WOY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB7uuI3bGjhWmPi3zhUxGs+K5+gKfWG5yBNR9lAWtfy6AiB8Td6tY1OgRkaCXd5qUHnr2RBvNqa2AR2AzG8kbeQGBA=="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_3.1.0_1645149740276_0.2680022952872356"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"4.0.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"4.0.0","license":"ISC","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.mjs","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","import":"./build/index.esm.min.mjs","types":"./build/index.d.ts"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"build":"rollup --config"},"devDependencies":{"@rollup/plugin-typescript":"8.3.0","@typescript-eslint/eslint-plugin":"5.12.0","@typescript-eslint/parser":"5.12.0","rollup":"2.67.2","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.1.0","rollup-plugin-terser":"7.0.2","typescript":"4.5.5","tslib":"2.3.1"},"_id":"@calmdownval/signal@4.0.0","dist":{"shasum":"6232e0e361cbc49679216efa81b720d141b2689b","integrity":"sha512-3/d1Ulsn24LQr7cqSZDLHglcQr4jpSmgdbavVwX7Xhrsv40EPXfYGYEp6w8P+ClT9FD+CMAyfKn1jSQPmbnMaQ==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-4.0.0.tgz","fileCount":8,"unpackedSize":34966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiG88zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPUQ/8C3VXm49BDUbuqCEVCXvOPugEdsuHjxpITpQKx6SzaqJuYPCY\r\n6CdtyLA1FMOa2hId7FaBQVG6SdHKqyWoFB/WOUIqjdYIBY3KXWniVchaX+VX\r\nig4DF6wgnKo6e5bz8SnRPqBW5XwY9ssSjJNLS4TBlzVvUg6R9Yn+zVBKyrTW\r\nZJ2drWB9KsFf8FA7vNbg8hkR3OygrNoYCr8Ihhz7tAZ2HVPRBjOML1eevqVI\r\nMEsrz1V3IbAsL6dVM4zUTr0hxRLnv236F/9n2h3hWpBm2ytQ12T3LD87nh6g\r\nCqPzgbdgXRKiDHdyPOeIQ33gqBVpjrcPVvaNBzCts8HQ+R349WMfenyBpS71\r\nWyu7ydIBq50w9Fpe0PsjvYwdi7WLMrYqU2/t3sA4cI9bK4e0mcVDF/osojvk\r\nhznX/1ddowq6QtrysjEq6aHvDsoWLiD3fS6pWa1l3de5Sju8oyp+F4Pm7kaO\r\nHFTG0Uywiej8zsTKHb8m1mInZao+JvWfybMlDwfJ+t5kZxAGFgCuDFpeCRg5\r\nY1hl31cS5qMCYcE3nxJQPpa0tRFIh3HkEMuCljG4HOEqMGMz/++kf3+Ch5eg\r\nJGKf3oI96HaibCdK+vlIUenLRon+/nQzt5uYVw3KwfnFYuRQ7vxRsz5NnKpm\r\nDvlh2z3N9CgLOPz2FNwveKLjILKvds4X6+c=\r\n=UHan\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAV7deY8QR7gWlhoKPLh+Kw4pcxm9Bafek5LUKcca7UuAiEA0nR9IX8UP9O5JYgJ+eOn0adh4kSAZXBmbZ1kBtJ4sAE="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_4.0.0_1645989683128_0.852816098837446"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"4.0.1":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"4.0.1","license":"ISC","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.mjs","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","import":"./build/index.esm.min.mjs","types":"./build/index.d.ts"}},"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"build":"rollup --config"},"devDependencies":{"@rollup/plugin-typescript":"8.3.0","@typescript-eslint/eslint-plugin":"5.12.0","@typescript-eslint/parser":"5.12.0","rollup":"2.67.2","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.1.0","rollup-plugin-terser":"7.0.2","typescript":"4.5.5","tslib":"2.3.1"},"_id":"@calmdownval/signal@4.0.1","dist":{"shasum":"350f982748a52bf90ab825c1cfc589d1f805bc70","integrity":"sha512-mcz0NBmRUpavQ+eZYeyDIUXX7hVli7TYz6eTtiD/ESCd2yQw2fg2jpK+jia8jp066K7FQm5Bpb1fWAY+dDzWAw==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-4.0.1.tgz","fileCount":9,"unpackedSize":45939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiG+3HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrF6BAAkFYEiGmU8lgGRulifFrq9FH/gCkkTfYWj3tFMqUSB/sGnB0E\r\nwR1D834Ue6rhKXAfW86QUPEh+GES84EA3pX+zzeKG19vkE67u4WcCqQiok9L\r\n6sye6Glge6FBGTN9WPytd7wrewClgBiGIEAWdEsvZFOrZe/cLl4Bmj4vxNJO\r\nykFs2IHBPfxbq9GduBxyOK3Mt6Hrvs17wH85+/HVMLIADg5ZXMR6cOA8XBx7\r\nNL6W1X/yXi5ouuDK8Af+5JDnQv11+qRMeoepqm19fo9/4ptrCj2XuFD155ee\r\n0Mt/JZMST7/0pz4zIgdUrxAc2rDnypc41UMOZkSk4hkGl/8FXjTpB9giT852\r\nd/xjbwta8KgMU09ZGaoSXVPzwM9nrOB3PTdxqFMRzJmL+FK/XIp2jrtbUouS\r\nqZqY/tLxfZZqK417oVZ3s6+ciJwxytUAo8YNQEwN3KxgvwJWI8VNtGODvA8O\r\nKPPSJjTvVEZak1T9aTDlmz0WoVIajofEmFQu5kHSpi1D/YDt4OXKB2rsrX2L\r\n42eEWd8oIy/ON5tD4c5oHvtqMdQ11YA88VB/sX5IubcReGHEc/G1r0u7QjWZ\r\nrt/HH5kiHKgAK9xMSmR+KKTJXeIgT+1Zq3/U+Yb7p6DkQ2uA4t/JmCljep/V\r\ndA78fTNBSqCLbWFMbV091PsnHHC16BV6vYA=\r\n=QGlE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZFwmRqGo6DHi+AdNtmWgXM/5H9Tfjy31bAr4oWFNOgAiEA14zdghhS6wgHYmBhZRKXDHzE/thG5P2R3ovQ422Gh6M="}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_4.0.1_1645997511560_0.9527380272533097"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"4.0.2":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"4.0.2","license":"ISC","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.mjs","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","import":"./build/index.esm.min.mjs","types":"./build/index.d.ts"}},"homepage":"https://github.com/CalmDownVal/signal/tree/master/packages/signal","repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"build":"rollup --config"},"devDependencies":{"@rollup/plugin-typescript":"8.3.0","rollup":"2.67.2","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.1.0","rollup-plugin-terser":"7.0.2","typescript":"4.5.5","tslib":"2.3.1"},"_id":"@calmdownval/signal@4.0.2","dist":{"shasum":"69220843bd8e8e0bb9cd5066b5299879fc38fd5d","integrity":"sha512-PB0lq+qrq2d7BIWzuIlMiAoVPSy62slo/0WxFJeOkM96q3ogfJRbkBS4gpBmj4D/p9yBMkVDC+Viz6ssefe7HQ==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-4.0.2.tgz","fileCount":9,"unpackedSize":45769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiK4OHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbZw/9HJpRUDIPySKu+UCI2EylIKjTYP3PgSvWYW1Kkrr8+3yjh059\r\nx2GkYPYgOr9WVJKXM1P0cHRV0ylsdxxGrf1z3z0RnjnU6c1DcCQoyWKTTeDx\r\n/DqiVFSHWekAQS+Di5J/iDsFjFOpy8bcabtnOGIWWGCqxjUFvQdqkFQnt4xP\r\nbr6hT5I+aZvXTmAYG206pqog80Ejtbee6N/YifPHTxAbMx32H1LniGrAB+wS\r\n97Xe99rOTIxwkvOtwAaU3+O8itRdBX5WJcumrqLY9P6CxQ9ZTYaQj+lXtFWV\r\n1S3afLQ7SJSMUjxp4ORKISBkSTi2JLOhBYJ0tB7VlI/i2b0efTmNtiqOhyaI\r\nyCsbVTnIJtg8zRIX//267PlOM21AdxugSAanc84LpMXkcjwNcKqG4/AkKcJN\r\ntF2npvlBDpy2hIdxGfHjRb1W5FaGKArgqMoURkcJNPtPaatFqjAl9Ux3VJwK\r\npuFhAe3SngZeHX/7xS6DY49+D10xpD7Dw9ymR05KHoFb8KiUuXidtDriPnGv\r\nn68TdavsRjaod2RNvVHdIo4XO6I7l1Lds/p2J4uz8Uuh5jDZyIsHD1I8chTW\r\ntJNXa8th0gKZhmbW9VwrZRhp/CqF3PWRWvt2IE/RuRArLXKMrlQ+7mg+Lvw3\r\n/QDbBNQ+7ZSo6j5ZOeDM7d0M7K1Da2PI1aE=\r\n=hUTm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5zW2OzjjcDXCC/AdzsqSD1okI0tz/wZaaxl+2awU/+wIhALp3W7/z2viPKBpEJ4njac2wrd5/TtZ+uBDsJknpakzo"}]},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_4.0.2_1647018887519_0.40999479062152844"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"4.1.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"4.1.0","license":"ISC","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.mjs","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","import":"./build/index.esm.min.mjs","types":"./build/index.d.ts"}},"homepage":"https://github.com/CalmDownVal/signal/tree/master/packages/signal","repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"build":"rollup --config"},"devDependencies":{"@rollup/plugin-typescript":"8.3.3","rollup":"2.76.0","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"4.2.2","rollup-plugin-terser":"7.0.2","typescript":"4.7.4","tslib":"2.4.0"},"_id":"@calmdownval/signal@4.1.0","dist":{"shasum":"56ce2c9296366c0e65738ae117b922abb564cc2e","integrity":"sha512-cAKCMLzMnCk0ph523W5yqIKKkCN+oQIHaXfP2UCwk5NVM/uYvVebnMPhC2vWnb87og2yG/6vCEHvWqGFp1V4Pw==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-4.1.0.tgz","fileCount":9,"unpackedSize":46872,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFc7mRHYHNC75GAh4fhDlhG5YuufZLUu2ik1840Qr6kzAiEAj+CM+/nVsyHcEBz9kXWnaB8nauWhg7NlQsNQAANSMNo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyX/pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDvg//b7gfwYbupuft45S5gluzqAmfPuXJqrYNAb3fZjW6krZyWnqe\r\nkf3GynR5PBwwbAiMvwwQTTR+HsMtkeUyzLTNQCQEW965n3svbGmY3t/zm/vt\r\n3a85r1q97eQvfl9Re8xfEdTPbjaICn4lw7OKwwFL5MQ7rpX4e+Y13ERqBxTT\r\nECCngPfT0/Wrqgz3ya6Hl9AdTRMB4/g70VjvoEueseBoCKl5rkHtWFichRNe\r\n+Eje7AthGGIub5hg1BbNc0XW5eOnbLBxstxt11QAPRX/NnHDbnvgySr1PbTj\r\na+iM9xp2BqA7NplJ8plVe2zxIdWGo/TIrEtR7iPSzI/dZ5B4DJwj0/vG7Lfh\r\nmqfqlRRsxbvgj0nrH2YvCfl7ZjLCHgFiil5Dcs7EMpERZlq9F5jQNWOL1PtN\r\nY8lJ6sXiJ44Ns6FtNiXF1mjOnF/Wckhn5N7OW6Bhl6On5oIN7OITDWTQ67a2\r\noZI1ESYFkX82R+YLT82cVFYJc1GQjSBRZ7NXQc+N9oPiiJPF7G0VSW8QYh1B\r\n5FfhteQ2b8YtHW0xmx7T8Tn3NHqfiAv3Omd+I2KgNd2QjTFxIoScSzCYI5pS\r\nYQF2Lg3bO78urjVPHHrRhbBFwkG7WBjkk06wmL2i9KXhLZvzm5LbmxgfY+Es\r\nl8lXD9a5M1A8JXuBCtUSlm1avf5GoN4VNKA=\r\n=WTVe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_4.1.0_1657372648833_0.30768105012480396"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"4.2.0":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"4.2.0","license":"ISC","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.mjs","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","import":"./build/index.esm.min.mjs","types":"./build/index.d.ts"}},"homepage":"https://github.com/CalmDownVal/signal/tree/master/packages/signal","repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"build":"rollup --config"},"devDependencies":{"@rollup/plugin-typescript":"11.0.0","rollup":"3.15.0","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"5.1.1","rollup-plugin-terser":"7.0.2","typescript":"4.9.5","tslib":"2.5.0"},"_id":"@calmdownval/signal@4.2.0","dist":{"shasum":"7106b6e4a7a6b0b846827bdad4771ec01dd9f122","integrity":"sha512-JWqD5qDBeYqNesmuPf5Vwmgmq+Yk/0Akqd9aMF66c2DK7jg64QtlTsHJXB8JQ/ysXrIWg+0uotgqbNbsEw5zzw==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-4.2.0.tgz","fileCount":9,"unpackedSize":48599,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6UfxwqDPxARS/BbzweGaf054Zq5Rp63WmWNds6JObEAIgUbFLXbKTFf5ZAQJJCUDJqqliwqBBYE+pQn2unoLanec="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5+7yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqteQ//cIKBkqO9XS2lWdOERqSJZcxCZuHXgmRIas2mVRfEqol7EH6v\r\nvY7Go6KB+bYHElmdTCeSjflnlNIuQgPPV6f8/bKfwH/e8lhBvUO93obpfy0X\r\nGK0K11NHxtoihofr3BdKz3rX0UrMG46qk9AMlpBWqJOqD1ltlc8WEyoxk7sF\r\nIqjZgYUhtzpAv/t0YfB+3ETRejN6UTXYV+v+mlfl+fS21i9hp38/qMkMTW+j\r\nX14zO6dfh6lrOtgBA4wUEJ2jtdkILdwcBee84MaVZY15SciNeYv8zITADFZ9\r\npOCMFXoOmZnMIW/zoLkQGxOR6yZZ0zOvsh5CerKpK7fF4VJAyIaLQ1VSEZQg\r\nnhu+oTTUuNLQs8HUxRgvCbKbi5dxO5YKjw7u5uWcVVvze0CSwl4cYg1IjGWZ\r\nY7GlS8GYqEHOBxIAP0CmATPPo689YLl8qgfMyrpiORrixULOnOJ43UOHj0BX\r\nndecq3N53x7uNG7Gf+qreEgetZZxUwEZzDm5gnyh4AMmL/kZpgtBbubr9n+x\r\n4P1G9Z/soahkkmxEH1Kd0mQXaEP2q2prz4iOOPDg4nW+UU2r1fwK4t54PwWo\r\nPt26+LCmOLZ4POgxrJPVeuUfRGq7SVvtVDmDYFUCaToGk9q/XpNyIjGkVFag\r\nXJTbFPIH0Neqi9nVS08UWvSC5IO5CQmMU84=\r\n=zThv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_4.2.0_1676144369971_0.11615578441894447"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."},"4.2.1":{"name":"@calmdownval/signal","description":"A lightweight event dispatcher with async handler support.","version":"4.2.1","license":"ISC","main":"./build/index.cjs.min.js","module":"./build/index.esm.min.mjs","types":"./build/index.d.ts","exports":{".":{"require":"./build/index.cjs.min.js","import":"./build/index.esm.min.mjs","types":"./build/index.d.ts"}},"homepage":"https://github.com/CalmDownVal/signal/tree/master/packages/signal","repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"keywords":["signal","event","listener","dispatcher","async","asynchronous"],"scripts":{"build":"rollup --config"},"devDependencies":{"@rollup/plugin-typescript":"11.0.0","rollup":"3.15.0","rollup-plugin-delete":"2.0.0","rollup-plugin-dts":"5.1.1","rollup-plugin-terser":"7.0.2","typescript":"4.9.5","tslib":"2.5.0"},"_id":"@calmdownval/signal@4.2.1","dist":{"shasum":"238a9ca9b6ddd17b1ffcb0e9f3185b6bbc839645","integrity":"sha512-LhOnyL6PYncl1fQu30AERlS5PkhmKklzlyekgY/dK7Y7H4HE5FVKwVXdhQUBOwF58XppgEEpG7DTdZGelhbtjA==","tarball":"https://registry.npmjs.org/@calmdownval/signal/-/signal-4.2.1.tgz","fileCount":10,"unpackedSize":49678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoC6EQzhSCPJkecNVRRPPZaOLxY7si7I51oBlf/UpMVQIgX6wTkxRtG+UhCR22Kas/x6Lj/iRYYOZVjhEW/JtxGKY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5/HGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfAQ//Rets22wwwrvBdLujPU2H6fMuIVBQDKKnL55veyO2laNSHZTs\r\n3QB/yLSyFuMCtHJsCx78vvugURXKRoLDVVSceiLlJe1s8SnTRXTlKumkfKPb\r\nlHByXx7HYBblb4sHnqARddJZWFaf+DhNQnXtHxT/HWI5qM5sLb4f2GL8MTpd\r\nB07qYLZAZuk7euLJ2RjknA/c6ui6zaWAMvszSyeNU8sGB6dwRus5bi1gvtts\r\n+OZMEgkMx0mVPvaVFJMFnhpze5J0AvS/pID97OBrIWYU5EqRfpByiywT8zJb\r\nzXYrxkGRcw+PAaWlgm/icELkIYZTrXzgqISawOtxNXHiE8j+AIPbv/IWR2mU\r\nNHR8g0281WuIRyDwisBneHlNuC1nQTprRvRMWxus8fzb0XgcShzAofgmB1l9\r\nY6/YDuzL5XBhU9SBbNGOXoZNWxxEJKKCZOnTaggrNNxzq06gBnySSpg6Phn1\r\nuAvTnHbebhEZ1fcMf3/T7/oyc3xHICAvP9f/Yp6wqOzczwYkNFcrpSS10IT3\r\np8D8w/0Cv3BNpSmLTPNOfc6qP/LgnF9dDyWqN0t6op8l1pTaiR1ucKXNTv/3\r\nfJDXQLYvsqjpeLfWBTH5tsP4NAzpbBFURDK9Wo2w8hsJbOaQvTfesEDOefK9\r\nm9lBu5z3+cxZOhamfzAYyz5mEzWCdxfBDgE=\r\n=sERa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"},"directories":{},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/signal_4.2.1_1676145094004_0.6430241619710069"},"_hasShrinkwrap":false,"deprecated":"The package has been moved under `@cdv/signal`, please use the new identifier."}},"time":{"created":"2020-05-20T21:46:32.342Z","0.1.0":"2020-05-20T21:46:32.499Z","modified":"2023-09-13T00:28:52.060Z","1.0.0":"2020-06-29T09:12:55.620Z","1.0.1":"2020-07-18T23:13:30.547Z","1.0.2":"2020-09-20T18:48:06.681Z","1.0.3":"2020-12-11T21:02:32.595Z","2.0.0":"2021-05-28T18:46:15.696Z","2.0.1":"2021-06-26T00:06:00.810Z","2.0.2":"2021-09-18T04:16:56.703Z","3.0.0":"2021-09-18T04:20:19.763Z","3.0.1":"2021-09-18T11:56:04.966Z","3.0.2":"2021-09-18T13:28:33.352Z","3.1.0":"2022-02-18T02:02:20.454Z","4.0.0":"2022-02-27T19:21:23.310Z","4.0.1":"2022-02-27T21:31:51.741Z","4.0.2":"2022-03-11T17:14:47.758Z","4.1.0":"2022-07-09T13:17:28.979Z","4.2.0":"2023-02-11T19:39:30.268Z","4.2.1":"2023-02-11T19:51:34.193Z"},"maintainers":[{"name":"calmdownval","email":"vaclav.lahuta@gmail.com"}],"description":"A lightweight event dispatcher with async handler support.","keywords":["signal","event","listener","dispatcher","async","asynchronous"],"repository":{"type":"git","url":"https://github.com/CalmDownVal/signal.git"},"license":"ISC","readme":"# Signal\n\nA lightweight event dispatcher.\n\n- [Installation](#installation)\n- [Comparison with EventEmitter](#comparison-with-eventemitter)\n- [Usage Guide](#usage-guide)\n  - [Creating a Signal](#creating-a-signal)\n  - [Signal Backend](#signal-backend)\n  - [Adding Handlers](#adding-handlers)\n  - [Removing Handlers](#removing-handlers)\n  - [Triggering a Signal](#triggering-a-signal)\n  - [Checking for Handlers](#checking-for-handlers)\n  - [Async Signals](#async-signals)\n    - [Serial Execution](#serial-execution)\n    - [Parallel Execution](#parallel-execution)\n  - [Forwarding this](#forwarding-this)\n  - [Wrapping an EventEmitter](#wrapping-an-eventemitter)\n- [Changelog](#changelog)\n\n## Installation\n\nYou can install this package using NPM or Yarn. It already contains its own\ntypings and needs no additional dependencies to use with TypeScript.\n\n```sh\n# using NPM\nnpm install @calmdownval/signal\n\n# using Yarn\nyarn add @calmdownval/signal\n```\n\n## Why Signal?\n\nSignal is a somwehat niche alternative to the usual EventEmitter (Node) /\nEventTarget (DOM) APIs. It looks and feels quite different and may involve a\nslight learning curve, but here's why it may all be worth it:\n\n- ✅ supports async handlers with serial or parallel invocation\n- ✅ better equipped for high-performance applications\n- ✅ tiny (~2.4 kB) and without any dependencies\n- ✅ does not rely on class inheritance or mixins\n- ✅ comes bundled with TypeScript typings\n- ✅ smoothly integrates with standard event emitter APIs\n- ✅ does not rely on event name strings, which are harder to use with\n  autocompletion or type-checking and can be a source of silly bugs due to typos\n\n## Usage Guide\n\nThe library provides everything as named exports. Usually the best approach for\ngood code readability is to import the entire namespace as `Signal`.\n\n```ts\nimport * as Signal from '@calmdownval/signal';\n```\n\n### Creating a Signal\n\nTo create a signal call the `Signal.create` function. You can pass an options\nobject with the following properties:\n\n- `async: boolean = false`  \n  controls whether the signal should act with respect to promises returned by\n  event handlers\n- `parallel: boolean = false`  \n  controls whether asynchronous handlers will run in parallel or in series, only\n  has effect if async is set to true\n- `backend: 'array' | 'set' = 'array'`  \n  controls which data structure is used to hold the handler collection, see the\n  [Signal Backend](#signal-backend) section for more information\n\n```ts\n// will invoke handlers synchronously in series\nconst syncSignal = Signal.create();\n\n// will invoke handlers asynchronously, in series, one at a time\nconst serialAsyncSignal = Signal.create({ async: true });\n\n// will invoke handlers asynchronously, all at once, in parallel\nconst parallelAsyncSignal = Signal.create({\n  async: true,\n  parallel: true\n});\n\n// will use an ES6 Set to hold its list of handlers\nconst uniqueHandlerSignal = Signal.create({ backend: 'set' });\n```\n\n### Signal Backend\n\nSignals currently offer the choice between arrays and ES6 sets as the backing\ndata structure holding the collection of registered handlers. The key difference\nis that sets only store unique handlers whereas arrays allow the same handler\nto be added multiple times.\n\nArray is the default backend as it is supported in every environment and offers\nthe best overall performance for almost all use cases.\n\nSets have a larger memory footprint and decrease the speed of creating new\nSignal instances. Generally sets should be preferred when you want to enforce\nunique handlers or when optimizing for *a lot* of `on` and `off` calls.\n\nFor a more in-depth performance analysis see\n[latest benchmark results](../signal-benchmark/benchmark-results.md).\n\n### Adding Handlers\n\nTo add a handler use the `Signal.on` function. The first argument is always a\nsignal instance, the second is the handler to add.\n\n```ts\nSignal.on(mySignal, () => console.log('foo'));\n```\n\nHandlers will be invoked every time the signal is triggered. You can also set\nthe `once` flag to only invoke a handler once and then have it automatically\nremoved from the handler list.\n\n```ts\nSignal.on(mySignal, myHandler, { once: true });\n\n// shorter version using the .once util\nSignal.once(mySignal, myHandler);\n```\n\nAnother method to add handlers to a signal is the `Signal.subscribe` function.\nIt acts exactly the same as `Signal.on` except it additionally returns an\n'unsubscriber' function which is often useful when working with libraries like\nReact etc.\n\n### Removing Handlers\n\nTo remove a handler (regardless of the once option), use the `Signal.off`\nfunction.\n\nIf no specific handler is provided as the second argument the `.off` function\nwill remove *all* handlers registered for the signal.\n\n```ts\n// will remove the first found occurrence of myHandler\nSignal.off(s1, myHandler);\n\n// will remove all registered handlers\nSignal.off(s1);\n```\n\nThe `.off` function will return a boolean indicating whether the operation\nremoved any handlers.\n\n### Triggering a Signal\n\nEach signal instance is actually a function. Triggering it is as simple as\nadding a pair of brackets! You can pass any data as the first argument to a\nsignal, it will be forwarded to each handler. Typically this will be an event\nobject with additional information.\n\nSynchronous signals do not return any value (void), asynchronous return a\n`Promise<void>`.\n\n```ts\nmySignal(123);\n```\n\nSynchronous signals will always invoke handlers in series. If any one of them\nthrows the execution immediately stops. It is the caller's responsibility to\nhandle thrown exceptions:\n\n```ts\ntry {\n  mySignal();\n}\ncatch (ex) {\n  console.error('one of the handlers threw an exception', ex);\n}\n```\n\nYou can add async handlers to synchronous signals, but they will be executed in\na fire-and-forget fashion. This may be desirable in some cases, but keep in mind\nthat *any potential promise rejections will not be handled!*\n\n### Checking for Handlers\n\nWhen computationally expensive operations are needed for event data creation,\nit may be worth checking whether there are any handlers beforehand to avoid such\noperations when they're not necessary.\n\nFor this task, Signal provides the `lazy` utility function. It accepts a signal\ninstance and a factory callback to create event data. This callback will only be\ninvoked if the signal has any handlers.\n\n```ts\nSignal.lazy(mySignal, () => ({\n  value: heavyFn()\n}));\n```\n\nA boolean is returned indicating whether the signal (and thus the callback) has\nbeen triggered. This is useful for fallback behavior, e.g. logging when no\nhandlers are attached to an error signal.\n\n```ts\ntry {\n  // ...\n}\ncatch (ex) {\n  if (!Signal.lazy(errorSignal, () => ex)) {\n    console.error(ex);\n  }\n}\n```\n\nThe `lazy` function recognizes async signals and will return a promise in such\ncases.\n\n### Async Signals\n\nAsynchronous signal interface is almost identical to its synchronous\ncounterpart. The key difference is that an async signal will check the return\ntype of every handler and handle all promises it receives.\n\nWhen using async signals all promise rejections are guaranteed to be handled\nregardless of execution strategy used, errors may however get suppressed. See\nbelow for details.\n\nThe execution strategy of async handlers is configurable via the `parallel`\noption (see [Creating a Signal](#creating-a-signal)).\n\n#### Serial Execution\n\nThe default strategy is serial execution. Execution will await each handler\nbefore moving onto the next one.\n\nThis is the default strategy as it's the same one synchronous signals use.\nA promise rejection will immediately propagate upwards and terminate the\nexecution. Handlers further down the list will not execute in such case.\n\n```ts\nconst mySignal = Signal.create({ async: true });\n\nSignal.on(mySignal, () => sleep(100));\nSignal.on(mySignal, () => sleep(100));\n\n// will take ~200ms\nawait mySignal();\n```\n\n#### Parallel Execution\n\nWhen enabled, the signal will invoke all handlers simultaneously and resolve\nonce *all* have resolved. If a handler rejects the wrapping promise returned by\nthe signal will immediately reject as well. This is similar to the behavior of\n`Promise.all`.\n\n```ts\nconst mySignal = Signal.create({\n  async: true,\n  parallel: true\n});\n\nSignal.on(mySignal, () => sleep(100));\nSignal.on(mySignal, () => sleep(100));\n\n// will take ~100ms\nawait mySignal();\n```\n\nKeep in mind that if a handler rejects, other handlers continue their execution\nand there is no way to await them anymore. Should any additional rejections\noccur, they will be squelched to avoid unhandled rejections.\n\nWith parallel execution, it is a good practice to either make sure none of the\nhandlers ever reject or to pass an abort signal through the event object so that\nyou retain some control over the still-pending actions in case a rejection\noccurs, e.g.:\n\n```ts\nconst abort = Signal.create();\ntry {\n  await mySignal({ abort });\n}\ncatch (ex) {\n  console.error(ex);\n  abort();\n}\n```\n\nNote that the above example has nothing to do with the `AbortController` and\n`AbortSignal` browser APIs. However, you could use those for the same purpose,\ntoo!\n\n### Forwarding this\n\nSignals forward `this` to all its handlers, however there are a few caveats to\nusing this feature. These stem from how JavaScript functions and the binding of\n`this` work.\n\nAny handler that relies on forwarded `this` has to be a regular function, not an\narrow function. Signals also need to be contained within the object that you\nwish to forward as `this`.\n\n```ts\nconst obj = {\n  value: 'foo',\n  mySignal: Signal.create()\n};\n\nSignal.on(obj.mySignal, function () {\n  console.log(this.value);\n});\n\n// will print 'foo'\nobj.mySignal();\n```\n\nWhen signals are not contained within an object (or you need to forward a\ndifferent object), it is necessary to trigger using the `.call` method and\nmanually pass the desired reference:\n\n```ts\nconst obj = { value: 'bar' };\nconst mySignal = Signal.create();\n\nSignal.on(mySignal, function () {\n  console.log(this.value);\n});\n\n// will print 'bar'\nmySignal.call(obj);\n```\n\n### Wrapping an EventEmitter\n\nIf you have an EventEmitter (Node) or an EventTarget (browser) that you wish to\n'signalify' you can do so by passing a signal instance to the `addEventListener`\nmethod:\n\n```ts\nconst confirmed = Signal.create<MouseEvent>();\nconst button = document.getElementById('ok-button');\n\nbutton.addEventListener('click', confirmed);\n```\n\nNow every time the button is clicked the `confirmed` signal will trigger\nforwarding the `MouseEvent` object as well as `this` to all its handlers.\n\n## Changelog\n\n- 4.2.0\n  - Added the `subscribe` method.\n- 4.1.0\n  - The `lazy` util now returns booleans indicating if the signal was triggered.\n- 4.0.0\n  - Changed `es6map` backend to `set`.\n  - Removed `hasHandlers` getter, use `lazy` instead.\n  - Removed `createSync` util, use `create` instead.\n  - Removed `createAsync` util, use `create` instead.\n  - Improved performance and unit test coverage.\n- 3.1.0\n  - Added the `lazy` utility function.\n  - Added the `isAsync` property to signals.\n  - Added the `hasHandlers` property to signals.\n  - Added JSDoc comments.\n- 3.0.0\n  - Added the option to choose between backends.\n  - Renamed type `Handler` to `SignalHandler`.\n  - Renamed type `HandlerOptions` to `SignalHandlerOptions`.\n- 2.0.0\n  - Signals now only pass the first argument to handlers.\n- 1.0.0\n  - Initial implementation.\n","readmeFilename":"readme.md","homepage":"https://github.com/CalmDownVal/signal/tree/master/packages/signal"}