{"_id":"typed-emitter","_rev":"17-223d900587a9dc0790b325818d94346f","name":"typed-emitter","description":"Strictly typed event emitter interface for TypeScript 3.","dist-tags":{"latest":"2.1.0","testing":"1.5.0-from-event"},"versions":{"0.0.1":{"name":"typed-emitter","version":"0.0.1","description":"Basic pub/sub/emitter class for React apps, inspired by Flux","main":"emitter.js","scripts":{"test":"node test.js && eslint *.js && echo 'Tests passed, eslint passed'"},"repository":{"type":"git","url":"git+https://github.com/wyantb/typed-emitter.git"},"keywords":["emitter","events"],"author":{"name":"Brian Wyant"},"license":"MIT","bugs":{"url":"https://github.com/wyantb/typed-emitter/issues"},"homepage":"https://github.com/wyantb/typed-emitter#readme","dependencies":{"lodash":"^4.11.1"},"devDependencies":{"eslint":"^2.8.0","eslint-config-airbnb":"^8.0.0","eslint-plugin-import":"^1.5.0"},"gitHead":"5917d86bce95622ecfcdb582fce16c76c068ac38","_id":"typed-emitter@0.0.1","_shasum":"9ab64ece9d878014b65d4a75e25b5f5ad669016f","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"wyantb","email":"wyantb@gmail.com"},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"dist":{"shasum":"9ab64ece9d878014b65d4a75e25b5f5ad669016f","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-0.0.1.tgz","integrity":"sha512-yZay0bbxGQySwhE7jKjTgbCJSUHDRuhtXDuGiWtviQDtX1sqHRDFcqijRJKRYQTlnep7McVS6BxCENSjcZXh4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/ZzGFClDcl66IULc2akdK9R52ytmdo7ASjbGzpbGTiAiEAv+1hoPTEfS/qUd0jdVCzOtGUGDdEzUhwRaMTs9uUa1k="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/typed-emitter-0.0.1.tgz_1461371857941_0.16576259746216238"},"directories":{}},"0.0.2":{"name":"typed-emitter","version":"0.0.2","description":"Basic pub/sub/emitter class for React apps, inspired by Flux","main":"emitter.js","scripts":{"test":"node test.js && eslint *.js && echo 'Tests passed, eslint passed'"},"repository":{"type":"git","url":"git+https://github.com/wyantb/typed-emitter.git"},"keywords":["emitter","events"],"author":{"name":"Brian Wyant"},"license":"MIT","bugs":{"url":"https://github.com/wyantb/typed-emitter/issues"},"homepage":"https://github.com/wyantb/typed-emitter#readme","dependencies":{"lodash":"^4.11.1"},"devDependencies":{"eslint":"^2.8.0","eslint-config-airbnb":"^8.0.0","eslint-plugin-import":"^1.5.0"},"gitHead":"f49fe04c6fdca10aa8bb8c1be9b8a28e1711e92c","_id":"typed-emitter@0.0.2","_shasum":"d9652569941f5242de2e9f995e45a7a00246592e","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"wyantb","email":"wyantb@gmail.com"},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"dist":{"shasum":"d9652569941f5242de2e9f995e45a7a00246592e","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-0.0.2.tgz","integrity":"sha512-9KCGgmxVhvsjTBZm76XYKPj6GGykGvANiiQu8FrLkeghuMV7EklUKFnK4+ht5uUwX3jOVL3Fwuo6eZujAsiQqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPzLZ3/HeCDWlRt6vG5kpdb2x+GsAJOu1d0ypW8t4epAiEA+NnrlvnmnrHh1FbtscCZYcrgKVxm84ipBprfSqi/8z4="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/typed-emitter-0.0.2.tgz_1461416020109_0.23727099038660526"},"directories":{}},"0.1.0":{"name":"typed-emitter","version":"0.1.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"peerDepedencies":{"typescript":">= 3.0"},"gitHead":"33b993b95cce499bc0f2d5c6328ab22303dc03e6","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"andywer","email":"andy.dev@next-step-software.com"},"dist":{"integrity":"sha512-Tfay0l6gJMP5rkil8CzGbLthukn+9BN/VXWcABVFPjOoelJ+koW8BuPZYk+h/L+lEeIp1fSzVRiWRPIjKVjPdg==","shasum":"ca532f100ccbf850e3a73b8ebf43d43e4f1f3849","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-0.1.0.tgz","fileCount":4,"unpackedSize":4686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrR1cCRA9TVsSAnZWagAAtqwP/RVFZIme2m1qsKNpIT5O\nLN5pl85JYb0CfdaWwCHd6n6qXnDHXXIshoaANpkeQ+R/KIqRjUdZ+25kSaPR\nFiJh/RA7FP/wqJVESVb4ERCjUfJOLX+21AqKnQgywjNyoErGVHBA1n0VGkj6\n4KhiQk7xHaKkkRaIDs/oiaSMXhxV7Ggnwol5ZOKUtJyXtDdl9EbcDJFV1nhk\ntATkeAj+4ZbDNmMxisBhj1shaoIIamqVGpFOBWk4eX50MYnLJkohYWh9+E97\nI8vJTmatywcFWTqQH255VEHzZ3TSHoO8IC7d8a+COpnGyXYT9xt27btOKScm\nU2HRcbO0hk68xpmXSvMyav6bkmQVFjnJas0Huq1a0qx+WYq4Uh7LSzQEfcSp\neOeavrmcZR7bdx2YgjN1I6Gs21imOnjnKsJnQep/7oZrxmQCcY2fEn5zJkI6\nAtOUaSjH65FwDA5eWE7Hx/ioVz/3lldpxvJWIQz1/VUz6SsEk5V/m0pIMvAQ\nfb/1hamfgzkqzciSrmVkMtpQlx/8b0ILm8Gu+KcM9X3YVFDWr7ddmASSR9r9\nJ600yAu0WmSTIQ9Iy2gvz7fffnaPsVN+JJkrEg4OToo5B9jRzXEqQxDjl9Pz\nJLG149l7Tv2C6uRPdP6ab8/RpOgjucj9aNkog8iNwloREK55kCym13rN1vFi\nJtu3\r\n=64U2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXQYuYVojwv0k+PU5Cwu9q4sTYxQc867NsT2F6uKuUzAiEAg3HpqYjKmApsR/I+6xzBlwXau64aNh8pFQPDEPeKxeo="}]},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_0.1.0_1538071899333_0.9815151863316631"},"_hasShrinkwrap":false},"0.2.0":{"name":"typed-emitter","version":"0.2.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"gitHead":"1f9fda93c760c36b7f40a2658d184e5ee307170f","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@0.2.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bq2aUggcZW+YM2wUHVLzGJ2Zvxr63oM6CJJXwioy3xIWyRWr7cmph4iSEZPWX67+qpMKETZQc0Bp55FwcNCmXg==","shasum":"ede9a20a3aa78cb853c2866ddad968a3925830e1","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-0.2.0.tgz","fileCount":4,"unpackedSize":4809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrgfsCRA9TVsSAnZWagAAtzAP/2n/I8zijJRLKMroLjMv\nQzOpdxEH+IwM1mtyuDgcr9Jrzr83uYyMuVe0ViSJn4sdxr61I6uazSzVMeiU\nxev0khRGa1LHdMIhYkfjyevhvuOv0234C1CkQhCrE4pXbEUC6nkPRuvysVb5\nEzLuuq/UEpFrZV4sE4ei8D2+tz9f71T1IsHQgdHG92mC9w4bisgUqDuqZCTq\nOxXX7TCWHd9CpDMa1NjcDB+npGQ3GRFknDMPt+LT2EYIBq3y6birTUEoaUuQ\nEbqUnS32VLrWKkmwJv3Np0nExLfrgCeVpu5ub9GdrVq/Faz25Ih+ot/lyV4o\n0bjfC3LKQ1hvcY4fgPi7AqGT/ef7j0BzhiP3mPA7vP21i9nm18+0bNic3xmE\nILJ6YM6oGkybT37ldk7mbv3T1b8buE2QOypMXLtmj3rSLtC3bCIztvDIJBc+\no9bB2N2yV9z+Zyqmgkguk5HmaucCeDvrdjsLFQy/dT3jFMXG4Ig+9Yr+SgZ1\nYDRoj2dIoNp9uQQ6hJenPf01fqor2OqzZYJ85auP6cZuiERMmB2Gx10fGZeU\nOm1LAmiYooZdJLcqgcCuPrhf30XIlX4ug97dx4HCfCMtLAIACk+A19cqvBme\nFGjtT9YpXBqazeSyUWdpZccBkhKM4pNYoUyS3XjAnL2oEHL0c3xUQP9fhB8l\nhUoH\r\n=VQNL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG9IyKDPeLWS/4AL+V6/zScsZrxEZQ8MO51s7i1cWNqRAiEAt1IhjOAe6yPeFWxia3F6z5u+ilmjoTRErM99iaYDomA="}]},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"_npmUser":{"name":"andywer","email":"andy.dev@next-step-software.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_0.2.0_1571686379613_0.2601200771621084"},"_hasShrinkwrap":false},"1.0.0":{"name":"typed-emitter","version":"1.0.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"gitHead":"2942782ce940518e2e0841ac117ef178268ef493","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@1.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.14.2","dist":{"integrity":"sha512-bZS13Bz8kgF1kxJ370V7QMwzpqlrVJ4cu9bsBWRqDL2kzKLcx0vCDPkZ0NgJ31HZ4tXFSOxChXii6YLG6Rqz4A==","shasum":"e21a0151539fc6f61e1f59b0d3655f6879b59eb5","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.0.0.tgz","fileCount":4,"unpackedSize":4810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegNM1CRA9TVsSAnZWagAA8PYP/3zTThvqGw6crcPt4pxQ\nA56Rn97ch5he0E9xxLjajlN+j0e3M1hK29p7l//UZv+TPoqkdEzDyKd81CNm\nAa8MtcVu16A5iGBi3Gk71pZtxaVeIFykOaDfRlkifYkLzZ9GAm6t9Qo+SpY2\n0JBuCWh1mY2a2B/qJGPbYsMkUjcEIP4G1DlbM0GNVeh4zllMLPXwmuYSAK+i\ntgvgRbz4JPU/A+JfMtUCsuAoXunlFuWCc5kqSsUtqqYRlrBJWGtWunV/2Sv9\n3OYusONQ3FDVb5kN+obw7fWwEWNnqlW/hYxDEgHPp49MAIYUhRvmqFcfebZr\nUxwkDuKp5ZHZNV8KGn7tqxw09GhQ5BOFnwi1MTRWXzCht+vNt52S1M+CYezr\nt2AeC4nnUYDmPgV7JbQfb6Dly57PAwrW85VM1ICmS2IFLNh+cWdwRH7dDKwf\nD4utd1Pc9u7MxZGcr7xOtQAgPdw+ewkDUn/srThpVbMfHTYqnJpeK7HT3KY2\nVgl5VAk5sCv9ituU7MHQMta6rteNtf6kIjVfzz/5d0IcB+E20UZmZ3JoNnvn\nB/pGjegKMGdd81jIYrNtpZ8hB2BVHAp1eRNyzA8pnhdWyc0L82z4mX9hay6I\nF5+1p/8vlEeRNg4PoPgYEvrdgon+bDwMo7Bce3Y8vw4XlnABVSXM7AhO1WR7\ncx7z\r\n=8Edz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMOpIwFkzc+crwhIBk/G6lgld0eoowwxROMfACWeQNSAIhAPTmg3IHpZG8qGXcwtGThzKL9Uemfhkl5dRmRxiIsOYg"}]},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"_npmUser":{"name":"andywer","email":"andy.dev@next-step-software.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.0.0_1585500981308_0.3917390857291161"},"_hasShrinkwrap":false},"1.1.0":{"name":"typed-emitter","version":"1.1.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"gitHead":"fba2cc2ea1899f88026f6d193b6f1647074b8100","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@1.1.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Y0POB7WUJdWGwt+sRA7crRzsrZ9t9rcMy5BxrUmsOyKZJ6U2tVdas6JPBXLAIE8lxdWoeGfbk1lMMgkfrVVKnQ==","shasum":"800089150fffcb8da9c6e7ca1373529196cb1953","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.1.0.tgz","fileCount":4,"unpackedSize":4828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeypZtCRA9TVsSAnZWagAA4eIP/iYWOIsTiHuVru3xLysl\nzwIxUS67nDpz/luUjf+h1lTzxlmiQAzHh6FeWt/g4bmCir7pszPEnQ+UIAQy\nOs8oQEnhCgeRlp3LYhEI3sdcqLPH7Jbr3btk4M9JCPQTaFa8zNq8AH+v23gt\n3PtCBIMoURdWXpnhX70DJUVbbVn3UiRTHXgwPnHhD2c5+fxp5Mc4lDatKL7S\n0DtGdKRGXppVsTaHHJ4JTwaOrE9n/Cj42ol2Sh8rjRgIGNM/U8FxXecGiob3\n3H4KeyU4SwUbii9EnsToE41OI1CoAXCon9QNEMLiuOqs/PcQJx64pCEmFw/9\ngxQENdvDM1cF435+ANUt/QOJ1VyVhZ4QXfyKTVZfIbO5lXAt9I5SrPdvxdVW\nNah8+ajl7uTgQYF3VJJbo4IufUGwiJos9ZHk60m+SQMIuwN4GZdja+Velf0z\nGIe9wMdBEQiO8Mib8LbFZW/NVe7h8yUl6QlXzvRdJ4puz7VwPh3zPD8v3c7Z\nQJujiJBB++RmUSTDUQR2o4/0tXcYJdIdVNh0IozodDeGN8+fDxeuDYaSamWJ\nPQxR0QFpQ5oxR2Mx4hVL01PXPFueOz09RX17M8/IGf0x9UspJ9baZHD57b0+\nF0nzMLb0R923aRuF6Hq0vrpfh5E2X2NZwPv42XR5aj3t4P0OlIUqw0WRB2Lq\n25Qp\r\n=202f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICR/z41BZS4DOcwo+Vb6mk0sW9YTFW8j2XfdcXg9Gq5sAiEAsmN4Kog1ci9tv2M4mq2O8QRvnk6zcAGGXp7ctHoImAc="}]},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"_npmUser":{"name":"andywer","email":"andy.dev@next-step-software.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.1.0_1590335084492_0.3337408622183753"},"_hasShrinkwrap":false},"1.2.0":{"name":"typed-emitter","version":"1.2.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"gitHead":"5637e20ef26019d7f22ddc9bad0d5b73167dbde8","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@1.2.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-lfkPbyK+/ZasvvSur2bSJ2Wb7GLUcXDMw+UhvkHUH+yd5/bKWkYOaizboa6xCRA3I7Q+97jkQDJgOVWqPJy3Gw==","shasum":"2b2b42ba78b3986ed0f37cc17b14d393022bc1e5","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.2.0.tgz","fileCount":4,"unpackedSize":4890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezhjmCRA9TVsSAnZWagAASF8P/0hqvDensZgPm+VXsPiU\nK70hHQiDBZT4u4RaIWCPtM0JqFRlR9gncFRIvHY9vQT9lGlK5GLPb+9/YVDs\nhNd/NYb3DUYOL/r0qLk/Ocik+4tXKVkH+hMYzUBYNnTOKHi8AF5dbLlU61Ue\nQgSPl90yF0J0/rXu3tBFNRfKnchBU+yyU4kLLFzX4ym5SBHjaVEuEFyx5A1Q\nnVrHculV1mYP3+tLKfMXonIcyNhY6XSxUsvd0/NXZ7PQLw2SymHpqmmnleS8\nXpyiSmh3j9ANCIX2W+tY0FlghkQ+0S/O7/S90r++WZ1DDhniDfNJuDOUdQdG\n/6T+K6B8UiG6gZlUqXNI2I+P732YBpoemmjmw9BRo+E1IM1N1mVWVmIjPATQ\nl8sWCII+p8F01sg0YDhT2LN4EOdHTUKSxq4Oqh5ftSBB3XFbkqWHndMof+WL\nTxZpLwRrQP78IRpGGKUjMCIbxQ/SkqPVdIpCnNlmvACi/epxH9g8JmjhSrA5\n4MoAoMdMIQ1ZqrQ1HhVJjk3s+3Bnl4T6dGnwz/nU5fOGdqDa5mZ13ORVccap\nJ79EaVjv602Qhi306R7Rq5XYa49jV7C5EXb/PnVMiC9Ym8u3djza0JL0+rWd\nZHhGUv3uwAw9iqR7R0w1SqY+/ZnBAAranc3BE25ZlRCFhAIxOSzasmKa60D8\n0hmZ\r\n=aAi9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBaeY374WKxk/qNpufETONvpFGWxMht6M2lAR8yrrT7+AiEA4MklwgucO222XGXg3FkF5ZpPspLUihz/x0EtVpfPeYI="}]},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"_npmUser":{"name":"andywer","email":"andy.dev@next-step-software.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.2.0_1590565094019_0.3919410484433874"},"_hasShrinkwrap":false},"1.3.0":{"name":"typed-emitter","version":"1.3.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"gitHead":"b6a1cd7c040e40ffbfa4a188785c019c084ce50a","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@1.3.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sLA7oQv0OUgAbbWeadAm8OpzssufUxXof6O50JaBX6guZrRi2XbhCdKO321TleFN45oL/WdiR1UsKF6eUTwpZg==","shasum":"cb49ce288c9f066afc22ffe236a88879163eb0ee","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.3.0.tgz","fileCount":4,"unpackedSize":5312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOQUyCRA9TVsSAnZWagAAkcoP/2Hs39RLAHzVqtAiUFeJ\ng+Hnvarx/FccdRAzzA9TL5lVevbYU5Tn6Cg4547KY+tgUUHMc4m7/+OFfoZj\npMdczpHmSSU1xO2LEDqsmpUcZ0Wj7QpXoAjQxLeE0ngJLD6HXIPeb1ky9Tr1\n10B1WMMq9/R57jHLKq/PhP2vBuCyxzSK1neS3lA1B2FVU3uOzO8J2yotF9Go\nKleS9naVHK/eDES2SpzSEuNXFkUxuk/hjOAlkrPrJ/5LILL8JtB4OLTfpa0O\nRWChuSE+RSajeogTkr2ftTdk/RQ7z8sddim3Ej57He37YcAD7Kml/v8AVMv8\nC1Pc9s2NBQsNezxkYOXtvnW6o9ePF/b/xzZ/kUPrlQWNJuha/sVCOIKhmv43\nHZhsdvFsqp2LFh3FsPv7uB98hL6il4IAj6e6/DtgTpK0QJ/KrrKuS0HcJrSe\nGC0jrv3G8XNKeRd403gl5Rl76kohLy4UjTd2HKxprJg8ogQvXR3TWKp1jryy\nRRHoTfNmu4zXwu3PEbk1mjnzPmQBCsmDnlWKqiI/Ugn0JRzVP6ZiYFkmBHoD\nJnOHN+0cBhdp+INFs4iGNONndzjSEPHNDMcXAOZ2LHi+W+9234S3kcpTegrb\nQvTbWwLdqxK1uKxzF8omX7RBA9mKLpBdQ8VnLqLav2Qzcsp60Gso7EYQfuqO\ngtWi\r\n=Pl/h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBPprhfZ3q7QRwpC3uqUoArsq3P6degmPPd+aXgVZ98KAiBEtLfwG7OE6fSoeByRf4YdJtQqzHGHOBjc44ob/vOibw=="}]},"maintainers":[{"name":"wyantb","email":"wyantb@gmail.com"}],"_npmUser":{"name":"andywer","email":"github@andywer.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.3.0_1597572401696_0.4017756981930143"},"_hasShrinkwrap":false},"1.3.1":{"name":"typed-emitter","version":"1.3.1","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"main":"./index.d.ts","gitHead":"1c10b7fb450e19f715d01b3a31a70b8cf5939cb5","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@1.3.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2h7utWyXgd2R2u2IuL8B4yu1gqMxbgUj2VS/MGVbFhEVQNJKXoQQoS5CBMh+eW31zFeSmDfEQ3qQf4xy5SlPVQ==","shasum":"c98d71551a99d5f08ba9085ee44b8fc9b2357502","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.3.1.tgz","fileCount":4,"unpackedSize":5338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6MUCRA9TVsSAnZWagAA6MsP/jBT8/vEozm2ErQF7VMs\naKUy5nxB0VlBaQkwuwtb1FIjoW20has7bLnuC/We89vRSmW0usdFuZUQqTl7\nmGkd26Vj10T37fb2KXInvYP9xsmsGwidK1oIsHYBWlCHiQooA8MoxFIlplGD\npXgrRblC8ES2mESF1ZC8uN1GvyUehG2ZW2ssz9dlm/uKCJyOE33fHHSOaOf4\nqJkaRE8PmQP8HWni87sjc33xlGzpbHAGQ5IHQMjLPwhieKFWq+kGZBaZmY9e\n7ifHMT3bNQA2h/a1boJm+c6S2oGyZpCYLn99LvheMP21cQDm3hR8M+7ju79t\nRwXHNzTyhmYMgVI0ETbtcrO3We8BvHl1VF4rl8qJLVZYrbxQ1dZEy7I7VfkX\nbXRvf6bl8s06uOgd9RKcMIHXR0c1c/xZ2lh97hEEBUHPETc8eWgw7Z/gG4c2\npraORX9YDbfDOC3kxPrqpqYrlfvWPzIOrceZQIu9SGR1a+Dd1y3TlvHFvdRO\nLU4KXfVEUCGTNhmYuT/1atJTHgYgR+sRcVgZj02zMJOaMdgtegQO0BVP+IpX\nVievTIsD+aHvuFVAio/rDtAyZoXcdzzkeNfQZIFvZ2YQbUTwaoUn/3395D5q\n0woKbtnpt5eCeFBQ3qaTYHrjfx3/8A48/py1cldTELufE+E1tK5OilLASUzo\naNEA\r\n=Qhqj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvyEajieWAKbpQ8ae8OgoNxz3S2Zo8/V9UHzmG2p9SKAiAS5v68jswlbGIq90h55QCqPHqOfXz5xWeDrLIO6eoL0w=="}]},"maintainers":[{"name":"andywer","email":"github@andywer.com"}],"_npmUser":{"name":"andywer","email":"github@andywer.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.3.1_1600889620069_0.7935502566857398"},"_hasShrinkwrap":false},"1.4.0":{"name":"typed-emitter","version":"1.4.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"main":"./types.js","types":"./index.d.ts","gitHead":"d74555b38c8c891c46ace12fcbb84a7871b505f4","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","_id":"typed-emitter@1.4.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-weBmoo3HhpKGgLBOYwe8EB31CzDFuaK7CCL+axXhUYhn4jo6DSkHnbefboCF5i4DQ2aMFe0C/FdTWcPdObgHyg==","shasum":"38c6bf1224e764906bb20cb0b458fa914100607c","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.4.0.tgz","fileCount":5,"unpackedSize":5437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2+mYCRA9TVsSAnZWagAA8RcP/AlGft57p2T/xIw+HbSN\ndjzudJLY428UD6ttH/T0jH4iPH53lOSkuu8IEtESJztoW0/YelEV+SbrZxiV\nk1NhrCKtnl4fvbONNCCf+j2Dt5wLCH9xglqI6UNxr31vy0k8MPYhuk47uirt\nV3+0uZYgGATBNe9RCh4TroWacjeN+59KkZex514ZGH/kRqHIel4MiqLJACgP\nLRGKNE2QgtSA7VNFOcLyPx7LP0cfeCGfo62nFgt2d3LfiMYL8tW+EUICOq5C\nUzMYr/1LS0sJH5TD/ptx9q7qACFhbQBX6lHgOreU2ncLTaglv+9KMbK+QHoR\n+B4sTVSu3+PEusHk0Et1FfhlgZruIxkOSNRvy4L+vFnemTB/SDf/ZIriV5/c\nHh0SrwXWzIruoULgDXRNX2O3bYcOPwo3lJn9AzlJm6LVdnpIN6Y3JQjoRgji\nQuaiXt2nyprH0zGjXrgfbxlBBYJrpcpffshsvMVEp/cFuoC0qKkmITZmQCIg\nBuQIMwBuBoVt5k5Lcmoh8qRdgLviAsUKzIV4BHVnqy4Qa7Cq09lzDKglKQKY\nbmFnzJu0vwXHbWPVqCSbbeNjC8gjXwFYrBzTIWT2IDg7yVrAbrJW8aivNCYJ\nlIO9N3aMTYK52oO/hE5DiYEScG0AN7YRQ1lu4lexQOjVK1Ka1pgbtA3wYoCn\nP+fq\r\n=yAov\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM/4HNn2MSGhnwm+vZvTvM/wIMcqnFXbKwTGf6lD/hHgIhAMMwEatlOr6VGZtaiVPzInYztrA5CSSiTMS4PH51qodk"}]},"_npmUser":{"name":"andywer","email":"github@andywer.com"},"directories":{},"maintainers":[{"name":"andywer","email":"github@andywer.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.4.0_1634201029723_0.9554556113631574"},"_hasShrinkwrap":false},"1.5.0-from-event":{"name":"typed-emitter","version":"1.5.0-from-event","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"main":"./types.js","types":"./index.d.ts","optionalDependencies":{"rxjs":"*"},"readme":"# Typed-Emitter\n\n[![NPM Version](https://img.shields.io/npm/v/typed-emitter.svg)](https://www.npmjs.com/package/typed-emitter)\n\nStrictly typed event emitter interface for TypeScript.\n\nCode size: Zero bytes - Just the typings, no implementation. Use the default event emitter of the `events` module in node.js or bring your favorite implementation when writing code for the browser.\n\n\n## Installation\n\n```sh\n$ npm install --save-dev typed-emitter\n\n# Using yarn:\n$ yarn add --dev typed-emitter\n```\n\n\n## Usage\n\n```ts\nimport EventEmitter from \"events\"\nimport TypedEmitter from \"typed-emitter\"\n\n// Define your emitter's types like that:\n// Key: Event name; Value: Listener function signature\ninterface MessageEvents {\n  error: (error: Error) => void,\n  message: (body: string, from: string) => void\n}\n\nconst messageEmitter = new EventEmitter() as TypedEmitter<MessageEvents>\n\n// Good 👍\nmessageEmitter.emit(\"message\", \"Hi there!\", \"no-reply@test.com\")\n\n// TypeScript will catch those mistakes ✋\nmessageEmitter.emit(\"mail\", \"Hi there!\", \"no-reply@test.com\")\nmessageEmitter.emit(\"message\", \"Hi there!\", true)\n\n// Good 👍\nmessageEmitter.on(\"error\", (error: Error) => { /* ... */ })\n\n// TypeScript will catch those mistakes ✋\nmessageEmitter.on(\"error\", (error: string) => { /* ... */ })\nmessageEmitter.on(\"failure\", (error: Error) => { /* ... */ })\n```\n\n## Extending an emitter\n\nYou might find yourself in a situation where you need to extend an event emitter, but also want to strictly type its events. Here is how to.\n\n```ts\nclass MyEventEmitter extends (EventEmitter as new () => TypedEmitter<MyEvents>) {\n  // ...\n}\n```\n\nAs a generic class:\n\n```ts\nclass MyEventEmitter<T> extends (EventEmitter as { new<T>(): TypedEmitter<T> })<T> {\n  // ...\n}\n```\n\n## RxJS `fromEvent` types inference\n\nThe default `fromEvent` from RxJS will return an `Observable<unknown>` for our typed emitter.\n\nThis can be fixed by the following code, by replacing the `fromEvent` type with our enhanced one: `FromEvent`:\n\n```ts\nimport { fromEvent as rxFromEvent } from \"rxjs\"\nimport { FromEvent } from \"typed-emitter/rxjs\"\n\n// The `Observable` typing can be correctly inferenced\nconst fromEvent = rxFromEvent as FromEvent\n```\n\nLearn more from [rxjs fromEvent compatibility #9](https://github.com/andywer/typed-emitter/issues/9)\nfor the `fromEvent` compatibility discussions.\n\n## Why another package?\n\nThe interface that comes with `@types/node` is not type-safe at all. It does not even offer a way of specifying the events that the emitter will emit...\n\nThe `eventemitter3` package is a popular event emitter implementation that comes with TypeScript types out of the box. Unfortunately there is no way to declare the event arguments that the listeners have to expect.\n\nThere were a few other examples of type-safe event emitter interfaces out there as well. They were either not published to npm, had an inconsistent interface or other limitations.\n\n## License\n\nMIT\n","readmeFilename":"README.md","gitHead":"9587c7c6cff64aaa10cc415361861e8a719a1e62","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","dependencies":{"rxjs":"*"},"_id":"typed-emitter@1.5.0-from-event","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-KfCo0Zhj/5HSs5gxBINypaS/vMg/8KwyWeuD3YsBsIT95vRopuYWc5LE7sqpWydzNc6Zd/uQ1EHPZ/dpsmJSzw==","shasum":"ec5bcecbd1c7c702ca2965bdf60f0462875f60ef","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.5.0-from-event.tgz","fileCount":7,"unpackedSize":7220,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9Ax6D+4FhZaKgpKOEfZ8UfEFuU63zeKE1DFIki+R9OAiEAtIG+dXRTedDkjGMl8yPt8G3H91IRCKUbkq3xFhKx8kE="}]},"_npmUser":{"name":"andywer","email":"github@andywer.com"},"directories":{},"maintainers":[{"name":"andywer","email":"github@andywer.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_1.5.0-from-event_1636833383941_0.8538732069247874"},"_hasShrinkwrap":false},"2.0.0":{"name":"typed-emitter","version":"2.0.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"main":"./types.js","types":"./index.d.ts","optionalDependencies":{"rxjs":"*"},"gitHead":"2f837c3eb67852c8c0bc660ad0d6c71d7e75cd53","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","dependencies":{"rxjs":"*"},"_id":"typed-emitter@2.0.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-b4E14IqvWqg2bo7pWLJjMBer7kZ7F52sz6lCnmuFgZKjBXmZ2kmuL9Wz9sZozYCiFSLD65T5e0tvoNjUoizqUg==","shasum":"65becead654b51f158b6d8cb9e4efd9102928afd","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.0.0.tgz","fileCount":7,"unpackedSize":7143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4+Q3CRA9TVsSAnZWagAA0FQP/2NXvFGBSGUdQNzoPO0N\nNpSxzD8GEefThXwUtaMBcpfMC1HDQfFm1AoflU/f9E982jiZuXgEViMgzzv9\n7Kri8koIy1R+lJNv6sT7sk1hWrGPJ6i+SLPZdniBHTRobkSiicNr3kMpz5Z6\nH/9qNZFkwgc72bSCiVi2eDig7vX9XaErTaY8thPe1HGsRQhCKwcrXY5rSalA\nPKIMgpWOUrDrxB0jw/Y48SH0I8SdBwCj83Z1juH6Z/abfXEyiXhUcNEbRjua\nYXdyDfay6x3iUimu/n9ZhRHO4N/nvI+ddbor0NonLyc4m47AtUHu2MbUKEVN\n7bkn18XVyYaDRrPMbbgWOe30czKU0Ra4jpRVoB5ygvfS4dkQQ37bJ8mT3dSd\nMWSxoHKOXwbGOWAtFHlC3ptKufAxafOji4JVvBO581Mcyci93Dv6Z1xCoC1c\nbeU35I8FwFgT+yKas+C8U42xLj/1yi50fMwyF/Bwjk5egrlpMOKaXuV0XUa6\nOuoYaERkp8zy5By8FIpiWht4H7VXrv+DAy7S5vCVN4Lkjk7BFfJGtMWb4gVw\nkpsEZjyVPLraK2KFcoQOFRH68U91NGW/VUmBQCdOS/uRHjL6Xy0ln8wfZG8j\nGilXRUpN0xLzIMJzxT22vVLiwjMRoUEKqhB4GI+l4JWn5bJqk3PO7SFjXtBo\nKLn9\r\n=5RDi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLwsZjTuuVN59dwiO4PI0oBIJVC7WB0LjavBo8CKHYgAIhANJ6D/VqAWosPm/bKUV/hgWoJhVqpGLGN10We97lRrgi"}]},"_npmUser":{"name":"andywer","email":"github@andywer.com"},"directories":{},"maintainers":[{"name":"andywer","email":"github@andywer.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_2.0.0_1642325046718_0.12439220288660136"},"_hasShrinkwrap":false},"2.1.0":{"name":"typed-emitter","version":"2.1.0","license":"MIT","description":"Strictly typed event emitter interface for TypeScript 3.","author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"keywords":["event","emitter","typescript","interface"],"main":"./types.js","types":"./index.d.ts","optionalDependencies":{"rxjs":"*"},"devDependencies":{"rxjs":"^7.5.2"},"gitHead":"9a139b6fa0ec6b0db6141b5b756b784e4f7ef4e4","bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"homepage":"https://github.com/andywer/typed-emitter#readme","dependencies":{"rxjs":"*"},"_id":"typed-emitter@2.1.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==","shasum":"ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb","tarball":"https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz","fileCount":7,"unpackedSize":7341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7HLvCRA9TVsSAnZWagAAqB4P/i/eOdvCPrXQhltFQMHB\nLiklpJmXqRsO++n+jL/AT1bV07/gszAfx0kX3g8k6CnaDcc/YNQomWwKIQ9g\nCwRQd0dL9rK5/DH04nzt1gvoEmUjBpE9q70HRfVDehqQ+ELwFJAr073L3Z1J\n2U1jiGPN8ntWHRnHXyWHnF/OUyYcn0bPbvWkC9PqgV5DJtqtVRXE3j6DNfrm\nghvBrHskbAcXqbXUA0RyfmKVn/GaxicM+7iTa8BmsS6mTDWmqFZcLXaOObt+\nLbEqyjoTr2nAP8HfprZwHt6beLbReGdas9NLQaOULnKtdOxksUkg5Uf7fKIu\njsbGXr6RTJCoFYOu2bY0su1B4tVv1x13p46MxEiyGOAu9VXRxfRNgfa4C+rU\ncjaj0hbxsoZNJLyqZti7YLxNyM9zcAB0sXdoC2AUT1314jCNBoRSZbDPKGdI\nHDQfuEPT/rnNha1VckItIkFNUWfGZTMyHzPrE4i0GXlfs7MFVBtQMSAs3lbd\n0m/LAMrYNqXWhG2JMikrnvlCNXgbut9b/pfHIUdHCpjq1lOUPgvRAX3m+iez\nzBsBFfveIs2mzLB92fh3ofICz/LwavrDwfKHMr7VBIpRbe6eIRMJ6SSMqv0T\nORyMpJBgO8mDuvbny8+/LFeInnwC8CBXLZSadzWVDk6bcJ0Wa+hCwfTuabJL\nm6fB\r\n=iC9w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAmOUa1X33PShdWRi3mbbbcvA9m3Je6b80Gzs8nqRNxxAiEAuL+H/h8GPDbDcYnsvp2Qn/6SygSAMm0dSwcestvVeFo="}]},"_npmUser":{"name":"andywer","email":"github@andywer.com"},"directories":{},"maintainers":[{"name":"andywer","email":"github@andywer.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-emitter_2.1.0_1642885871084_0.6784502474265892"},"_hasShrinkwrap":false}},"readme":"# Typed-Emitter\n\n[![NPM Version](https://img.shields.io/npm/v/typed-emitter.svg)](https://www.npmjs.com/package/typed-emitter)\n\nStrictly typed event emitter interface for TypeScript.\n\nCode size: Zero bytes - Just the typings, no implementation. Use the default event emitter of the `events` module in node.js or bring your favorite implementation when writing code for the browser.\n\n\n## Installation\n\n```sh\n$ npm install --save-dev typed-emitter\n\n# Using yarn:\n$ yarn add --dev typed-emitter\n```\n\n\n## Usage\n\n```ts\nimport EventEmitter from \"events\"\nimport TypedEmitter from \"typed-emitter\"\n\n// Define your emitter's types like that:\n// Key: Event name; Value: Listener function signature\ntype MessageEvents = {\n  error: (error: Error) => void,\n  message: (body: string, from: string) => void\n}\n\nconst messageEmitter = new EventEmitter() as TypedEmitter<MessageEvents>\n\n// Good 👍\nmessageEmitter.emit(\"message\", \"Hi there!\", \"no-reply@test.com\")\n\n// TypeScript will catch those mistakes ✋\nmessageEmitter.emit(\"mail\", \"Hi there!\", \"no-reply@test.com\")\nmessageEmitter.emit(\"message\", \"Hi there!\", true)\n\n// Good 👍\nmessageEmitter.on(\"error\", (error: Error) => { /* ... */ })\n\n// TypeScript will catch those mistakes ✋\nmessageEmitter.on(\"error\", (error: string) => { /* ... */ })\nmessageEmitter.on(\"failure\", (error: Error) => { /* ... */ })\n```\n\n## Extending an emitter\n\nYou might find yourself in a situation where you need to extend an event emitter, but also want to strictly type its events. Here is how to.\n\n```ts\nclass MyEventEmitter extends (EventEmitter as new () => TypedEmitter<MyEvents>) {\n  // ...\n}\n```\n\nAs a generic class:\n\n```ts\nclass MyEventEmitter<T> extends (EventEmitter as { new<T>(): TypedEmitter<T> })<T> {\n  // ...\n}\n```\n\n## RxJS `fromEvent` types inference\n\nThe default `fromEvent` from RxJS will return an `Observable<unknown>` for our typed emitter.\n\nThis can be fixed by the following code, by replacing the `fromEvent` type with our enhanced one: `FromEvent`:\n\n```ts\nimport { fromEvent as rxFromEvent } from \"rxjs\"\nimport { default as TypedEmitter, FromEvent } from \"typed-emitter/rxjs\"\n\n// The `Observable` typing can be correctly inferenced\nconst fromEvent = rxFromEvent as FromEvent\n```\n\nLearn more from [rxjs fromEvent compatibility #9](https://github.com/andywer/typed-emitter/issues/9)\nfor the `fromEvent` compatibility discussions.\n\n## Why another package?\n\nThe interface that comes with `@types/node` is not type-safe at all. It does not even offer a way of specifying the events that the emitter will emit...\n\nThe `eventemitter3` package is a popular event emitter implementation that comes with TypeScript types out of the box. Unfortunately there is no way to declare the event arguments that the listeners have to expect.\n\nThere were a few other examples of type-safe event emitter interfaces out there as well. They were either not published to npm, had an inconsistent interface or other limitations.\n\n## License\n\nMIT\n","maintainers":[{"name":"andywer","email":"github@andywer.com"}],"time":{"modified":"2022-06-28T00:50:37.150Z","created":"2016-04-23T00:37:40.379Z","0.0.1":"2016-04-23T00:37:40.379Z","0.0.2":"2016-04-23T12:53:41.849Z","0.1.0":"2018-09-27T18:11:39.431Z","0.2.0":"2019-10-21T19:32:59.749Z","1.0.0":"2020-03-29T16:56:21.470Z","1.1.0":"2020-05-24T15:44:44.664Z","1.2.0":"2020-05-27T07:38:14.230Z","1.3.0":"2020-08-16T10:06:41.866Z","1.3.1":"2020-09-23T19:33:40.267Z","1.4.0":"2021-10-14T08:43:49.858Z","1.5.0-from-event":"2021-11-13T19:56:24.086Z","2.0.0":"2022-01-16T09:24:07.185Z","2.1.0":"2022-01-22T21:11:11.228Z"},"homepage":"https://github.com/andywer/typed-emitter#readme","keywords":["event","emitter","typescript","interface"],"repository":{"type":"git","url":"git+https://github.com/andywer/typed-emitter.git"},"author":{"name":"Andy Wermke","url":"https://github.com/andywer"},"bugs":{"url":"https://github.com/andywer/typed-emitter/issues"},"license":"MIT","readmeFilename":"README.md"}