{"_id":"@prezly/typed-events","_rev":"27-ac01457ed00047f2ca860311dc850303","name":"@prezly/typed-events","dist-tags":{"next":"1.0.0-alpha.0","latest":"1.0.1"},"versions":{"1.0.0-alpha.0":{"name":"@prezly/typed-events","version":"1.0.0-alpha.0","license":"MIT","_id":"@prezly/typed-events@1.0.0-alpha.0","maintainers":[{"name":"markogresak","email":"gresak.marko@gmail.com"},{"name":"kudlik","email":"kudlajzzz@gmail.com"},{"name":"kamilmielnik","email":"kamil.adam.mielnik@gmail.com"},{"name":"e1npm","email":"ivan.voskoboinyk@gmail.com"}],"homepage":"https://github.com/prezly/typed-events#readme","bugs":{"url":"https://github.com/prezly/typed-events/issues"},"dist":{"shasum":"2fb8874960b8fbff6436ba93710ff9993d58baa7","tarball":"https://registry.npmjs.org/@prezly/typed-events/-/typed-events-1.0.0-alpha.0.tgz","fileCount":16,"integrity":"sha512-6rRZOoo/60OSmfZb91doQJR0wo+DDFTmMqYburz+sAbu+RvTPH44WCWq9YzayFMOPZSvL5k9VSQSb0Zn1RUIyw==","signatures":[{"sig":"MEYCIQCY9bLgRD3C0yWHgvlp0q0vEViOtDVa6J/o7CW2C0DrrAIhAJrQw5LOtFaavmOej/Zm0meis15/G+XTsXbTeEjSpQoS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL8dsCRA9TVsSAnZWagAAE0IP/1mSiBZkb9xvU3K5TI05\nTfJF9qPcsuYknKdF0/0x9bns7nPy9cSA5iBeeb19jVIhwuSQYHGFGs27bsyq\niWtMt1GE0ccN/AXGwd6OEeeM9sx4baxpxlSCRZYSnSBuHWw3VvnzkHF/AA/Y\ne8iICJ6OA6PLJ27gWaIofJUGl8Y9wqjyucTR1RI9g7cAITMx/4blF9CGVf7o\nxtAxaXrDuyio5wNPVeSFgLSF3xXMjoGB9XL2rY7dy2sSssw0vDdjkfMs2DsJ\nIBx1x65EpPj9GzNpBFpRZbwq3IPHvvZo5/OMjUpHC9fHK8+LbeewXB+LMC6o\nYRVcar1MSeDB+xAVx0IFrzOM8i5aVaE/mKcHmimUBUeEqSZg4oXRH2FOMmpA\nXwN/qHuvJePiB2FL7kdrhaMXt6rR1tl2BgpC4a19d3fK91P8BEjA4EX8Wk8Z\nqe73C3NRPDBrapjKhy1nWkmMwWQFYHd75tVB5nyaendbOCR4UyrptN8lmM1p\nB6is95uSZhU6osPMkR1V3zDvAw/fexZfOxCytqK9JYGVSeK/C7QEz7qJZvC1\nRu4MC6+X95cKcVFl5urVsG9gLzqsv1Waaio7UpHLfpi8BfUg+ggW0Wflv32P\nC8WbfXZvkfhaKNtCrj0Ez0CIo+wj3kBOUD4mhF9k4BvZ1oR8hjfZBy8vUWhT\nHgQ5\r\n=32O2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"build/index.js","types":"build/index.d.ts","gitHead":"bc5822cb12f7be439327aac348e15279020b4d7e","scripts":{"build":"tsc --project .","check":"npm run prettier","clean":"rimraf build/ node_modules/","release":"npm run release:prepare && npm run release:publish","prettier":"prettier --check './**/*.(js|ts|scss)'","prettier:fix":"npm run prettier -- --write --no-list-different","release:prepare":"npm run clean && npm install && npm run build && npm run check","release:publish":"np --no-2fa"},"_npmUser":{"name":"kamilmielnik","email":"kamil.adam.mielnik@gmail.com"},"repository":{"url":"git+https://github.com/prezly/typed-events.git","type":"git"},"_npmVersion":"6.14.4","description":"Event emitter with DOM-like EventTarget API & strong TypeScript typings","directories":{},"_nodeVersion":"12.18.0","_hasShrinkwrap":false,"devDependencies":{"np":"^7.3.0","rimraf":"^3.0.2","prettier":"^2.2.1","typescript":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/typed-events_1.0.0-alpha.0_1613743980146_0.3729387740050405","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@prezly/typed-events","version":"1.0.0","license":"MIT","_id":"@prezly/typed-events@1.0.0","maintainers":[{"name":"markogresak","email":"gresak.marko@gmail.com"},{"name":"kudlik","email":"kudlajzzz@gmail.com"},{"name":"kamilmielnik","email":"kamil.adam.mielnik@gmail.com"},{"name":"e1npm","email":"ivan.voskoboinyk@gmail.com"}],"homepage":"https://github.com/prezly/typed-events#readme","bugs":{"url":"https://github.com/prezly/typed-events/issues"},"dist":{"shasum":"d52dab19a77a58474139e8939d0ec0266b82158f","tarball":"https://registry.npmjs.org/@prezly/typed-events/-/typed-events-1.0.0.tgz","fileCount":16,"integrity":"sha512-XmupSzDfHq/MYFrzDxr9vU0xKQULn0H+lCbFnMjWR5EqWf8Xe7Xrsl8FXSGA/a2Gefj/6Lk6rbzcD23HGwfUoQ==","signatures":[{"sig":"MEYCIQDdLKD7KSfPDuNmIwDoxivYtPZofCSW9VhfelIdkv4eAQIhAI9nWU+8g7lgKqMOG63V43/Fcr6D0VoGq4VPlFuI9cNI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL8jpCRA9TVsSAnZWagAAr8cP/RpIBkTHgY2bdrZSQvlO\nKvvSVuIpB1/NU5q4S65XekxuByua71ey4K8pqusfFaTScTAana+oDfcr5ugG\nbOSWgizhkjmRD/oOMEE2386M80K0FiPAe1yI7a+UO1nxikN7RK2xwtreyZp2\nLzgOTBWqMsAU+ACAIc0iMzLUI8EyvxEfAdYJpLVSIyhR8njpTVuck0py//47\n6OxW301dBW2aTGf5rzcO5X4D09TeVL4Tmv0syb319xF4wGqmqY4k66+VDMIo\n8/DdlTRb0dVqs81NEERjOkHJACrX1Zt3teXLHc3Ay9VyMc6ix8kci5IvpMTV\nNxVnJciUY3DKgA9svWiGjHGTQb7vhZO4dyeZEVuXCWODOWkTiyuKvwtmV3DQ\nz2FexKB1N32WidZk/fwlRPLSKVGMH36/senrKZeZywkoR59r8+4Nm5uwYMEr\ni7ZcNMP1I8SaqEzaGeENa4fXC8TdryDBAtTBdMbZXqAs5/yNvMY4XdWwFmoG\nTOrxJTVJwCdrJk0vSb6nwBFtM8fz0BzuLeU7i1yhIiBxfOjdGvgSBxVGk73E\ntdiaxwrjHJYI5nAbHwr5cUvUqY0ffpSUMx33BuGqTzY+sUAxfKn5u5iSI4gZ\nFbQlpaNqAbFCzXPF4dyXMepBuFBQOPBBRcbsqu50+56y5yU8aGe+Eii/33ij\nzS8K\r\n=72Rp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"build/index.js","types":"build/index.d.ts","gitHead":"539de15de4a97ad7f5078b7bd2e631e1ce870aab","scripts":{"build":"tsc --project .","check":"npm run prettier","clean":"rimraf build/ node_modules/","release":"npm run release:prepare && npm run release:publish","prettier":"prettier --check './**/*.(js|ts|scss)'","prettier:fix":"npm run prettier -- --write --no-list-different","release:prepare":"npm run clean && npm install && npm run build && npm run check","release:publish":"np --no-2fa"},"_npmUser":{"name":"kamilmielnik","email":"kamil.adam.mielnik@gmail.com"},"deprecated":"Package has been renamed to @prezly/events","repository":{"url":"git+https://github.com/prezly/typed-events.git","type":"git"},"_npmVersion":"6.14.4","description":"Event emitter with DOM-like EventTarget API & strong TypeScript typings","directories":{},"_nodeVersion":"12.18.0","_hasShrinkwrap":false,"devDependencies":{"np":"^7.3.0","rimraf":"^3.0.2","prettier":"^2.2.1","typescript":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/typed-events_1.0.0_1613744360704_0.622553505496152","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@prezly/typed-events","version":"1.0.1","license":"MIT","_id":"@prezly/typed-events@1.0.1","maintainers":[{"name":"markogresak","email":"gresak.marko@gmail.com"},{"name":"kudlik","email":"kudlajzzz@gmail.com"},{"name":"kamilmielnik","email":"kamil.adam.mielnik@gmail.com"},{"name":"e1npm","email":"ivan.voskoboinyk@gmail.com"}],"homepage":"https://github.com/prezly/typed-events#readme","bugs":{"url":"https://github.com/prezly/typed-events/issues"},"dist":{"shasum":"cc3c294421dcdd517666b8a9fec0cdb1d3fcf026","tarball":"https://registry.npmjs.org/@prezly/typed-events/-/typed-events-1.0.1.tgz","fileCount":20,"integrity":"sha512-6amDBKGRN3tGj8tAhhv/p6mRWxxVMb7i046hlEtGgU3c+04BpELpuMd4eLvDPyiD4MzA2FN5Mhc7IbaqT8CbNA==","signatures":[{"sig":"MEQCIHqD4Q312lA26FG774q1Wb2ggMbU/JHtOv2wvrfSMzdzAiBYrMS2hGwmy0BLc/Ir5cC42xpRi5OEGngTvpb3dM8R/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM2lgCRA9TVsSAnZWagAAfaoP/jVtgLFMieLrt+5A3F6l\nABTczY6jrArx08ykx+YGL5vSCbP5dmYzKaVu52iaLgmOY/ZaN+dvYNoKfUtu\nITxwnmbjRjulNlSe71II/CcclZ+JwJmYZBKRDqAQbIkgH8oYohoA1DlPWjio\nwTT009ysQvAkCW5/pr01lOHj5l8CgvTiZyWZpx7+IWt+X3l3gJnFoaUvvTOW\nwMw2sCE74Lyf2u3CVS6R0Ka2rFPDQryaYYAqh7iA4W6HmNety5U9tQdsRaYE\nGE8z+kxyjwZBgN8LSdDdBxZEIUkBwA5lz0Vi+ZZW3VndKROtR/SONBnZ3hhU\nVFmCF2yQw8ywCiZNrBx0KKMyyBUzFWXm5DwSqZEHzT8xPiEQkFrCIoku3OcS\nHt4xEU2ErdCZF10R9oUGCruJR0Z8x6UDgc0RHvom/z4F4h/QXeMJ8rd63Mw6\n7giuJ1dlZCJjcXdfnRey19qX8GTk/MQwR7PbDQDT/hmlrv1r2pyYH8wmh0eT\nJdmgxL5ve5JRYgp/zdDV7w0LNR5eeiAA1uZSHWpZqbdqq/YDnZbo04FLw58Q\n1T21eVOD6q0klszJOrZL8Zuf+dLUxWUQ5TOlo/d1nHvHyB/c17kYCQdhDVSZ\nslgFHsWSCCr0CErDIQ+SG1LLhwbaMFiGa/WnQ98vuRqqfwsjWB4z36A+xI2Q\nbIbo\r\n=cZmE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"build/index.js","types":"build/index.d.ts","gitHead":"bb50af50642abb22095243fcd4e50b642c843e76","scripts":{"build":"tsc --project .","check":"npm run prettier","clean":"rimraf build/ node_modules/","release":"npm run release:prepare && npm run release:publish","prettier":"prettier --check './**/*.(js|ts|scss)'","prettier:fix":"npm run prettier -- --write --no-list-different","release:prepare":"npm run clean && npm install && npm run build && npm run check","release:publish":"np --no-2fa"},"_npmUser":{"name":"kamilmielnik","email":"kamil.adam.mielnik@gmail.com"},"deprecated":"Package has been renamed to @prezly/events","repository":{"url":"git+https://github.com/prezly/typed-events.git","type":"git"},"_npmVersion":"6.14.4","description":"Event emitter with DOM-like EventTarget API & strong TypeScript typings","directories":{},"_nodeVersion":"12.18.0","_hasShrinkwrap":false,"devDependencies":{"np":"^7.3.0","rimraf":"^3.0.2","prettier":"^2.2.1","typescript":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/typed-events_1.0.1_1613982048386_0.7499955342580158","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-02-19T14:12:59.987Z","modified":"2026-09-24T10:34:20.324Z","1.0.0-alpha.0":"2021-02-19T14:13:00.301Z","1.0.0":"2021-02-19T14:19:20.927Z","1.0.1":"2021-02-22T08:20:48.547Z"},"bugs":{"url":"https://github.com/prezly/typed-events/issues"},"license":"MIT","homepage":"https://github.com/prezly/typed-events#readme","repository":{"url":"git+https://github.com/prezly/typed-events.git","type":"git"},"description":"Event emitter with DOM-like EventTarget API & strong TypeScript typings","maintainers":[{"email":"gijs@prezly.com","name":"digitalbase"},{"email":"francis@prezly.com","name":"francis-prezly"},{"email":"camil@prezly.com","name":"prezlynpm"},{"email":"jesse@prezly.com","name":"jessewynants"},{"email":"patrycja@prezly.com","name":"patrycja_prezly"},{"email":"edvinas@prezly.com","name":"edvinas_prezly"}],"readme":"# @prezly/typed-events\n\n![Version](https://img.shields.io/npm/v/@prezly/typed-events)\n![License](https://img.shields.io/npm/l/@prezly/typed-events)\n![Build](https://github.com/prezly/typed-events/workflows/Build/badge.svg)\n![Prettier](https://github.com/prezly/typed-events/workflows/Prettier/badge.svg)\n\nEvent emitter with [DOM-like `EventTarget` API](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) & strong TypeScript typings.\n\n---\n\n## Alternatives\n\nThere's this great [mitt](https://github.com/developit/mitt) package which implements `EventEmitter` interface from node.js but it does not have strong typings. [There's a PR pending](https://github.com/developit/mitt/pull/114) with this feature, but there's been no activity for 7 months. Perhaps in the future we might not want to maintain this `@prezly/typed-events` package. But on the other hand, we should think twice before using a package where last PR got merged over half year ago.\n\n## Example\n\nDemo: https://codesandbox.io/s/prezlytyped-events-demo-2k7pd\n\n```tsx\nimport Events from '@prezly/typed-events';\n\nconst ref = { current: 0 };\n\nconst events = new Events<{\n    add: number;\n    substract: number;\n    log: never; // \"never\" means that event has no payload\n}>();\n\nconst add = (value: number) => {\n    ref.current += value;\n};\n\nconst substract = (value: number) => {\n    ref.current -= value;\n};\n\nconst log = () => {\n    console.log(ref.current);\n};\n\n// Attach event handlers\nevents.addEventListener('add', add);\nevents.addEventListener('substract', substract);\nconst removeLogListener = events.addEventListener('log', log);\n\n// Dispatch events\nevents.dispatchEvent('add', 2);\nevents.dispatchEvent('substract', 5);\nevents.dispatchEvent('log');\n\n// Remove event handlers\nevents.removeEventListener('add', add);\nevents.removeEventListener('substract', substract);\nremoveLogListener(); // this is another way to unsubscribe event listener\n```\n\n---\n\nBrought to you by [Prezly](https://www.prezly.com/?utm_source=github&utm_campaign=@prezly/typed-events).\n","readmeFilename":"README.md"}