{"_id":"strict-event-emitter","_rev":"3550783","name":"strict-event-emitter","description":"Type-safe implementation of EventEmitter for browser and Node.js","dist-tags":{"latest":"0.5.1"},"maintainers":[{"name":"kettanaito","email":""}],"time":{"modified":"2024-09-19T02:42:01.000Z","created":"2020-12-17T12:35:04.552Z","0.5.1":"2023-09-21T08:33:11.732Z","0.5.0":"2023-03-21T10:49:34.638Z","0.4.6":"2023-02-05T19:59:30.571Z","0.4.5":"2023-02-05T19:57:42.429Z","0.4.4":"2023-01-20T12:58:36.190Z","0.4.3":"2022-12-21T15:28:00.465Z","0.4.2":"2022-12-21T15:19:32.535Z","0.4.1":"2022-12-21T14:54:39.244Z","0.4.0":"2022-12-21T13:38:40.298Z","0.3.2":"2022-12-21T13:34:21.825Z","0.3.1":"2022-12-20T20:07:19.070Z","0.3.0":"2022-12-20T18:35:05.410Z","0.2.8":"2022-10-18T23:20:18.141Z","0.2.7":"2022-10-07T10:07:35.305Z","0.2.6":"2022-10-01T11:20:58.056Z","0.2.5":"2022-09-27T19:07:07.411Z","0.2.4":"2022-03-31T22:27:26.671Z","0.2.3":"2022-03-31T15:02:52.731Z","0.2.2":"2022-03-31T14:42:56.650Z","0.2.1":"2022-03-31T14:16:06.829Z","0.2.0":"2021-03-01T14:47:26.985Z","0.1.0":"2020-12-17T12:35:04.552Z"},"users":{},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/open-draft/strict-event-emitter.git"},"versions":{"0.5.1":{"name":"strict-event-emitter","version":"0.5.1","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","module":"lib/index.mjs","typings":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js","default":"./lib/index.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","devDependencies":{"@ossjs/release":"^0.8.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","tsup":"^6.2.3","typescript":"4.8"},"scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"pnpm clean && tsup","release":"release publish"},"bugs":{"url":"https://github.com/open-draft/strict-event-emitter/issues"},"homepage":"https://github.com/open-draft/strict-event-emitter#readme","_id":"strict-event-emitter@0.5.1","_integrity":"sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==","_resolved":"/tmp/955835727a79aa9960e1d9276214f4d9/strict-event-emitter-0.5.1.tgz","_from":"file:strict-event-emitter-0.5.1.tgz","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"1602ece81c51574ca39c6815e09f1a3e8550bd93","size":7189,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.5.1.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.5.1_1695285191542_0.3071716502605826"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-21T08:33:11.732Z","publish_time":1695285191732,"_source_registry_name":"default","_cnpm_publish_time":1695285191732},"0.5.0":{"name":"strict-event-emitter","version":"0.5.0","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","module":"lib/index.mjs","typings":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js","default":"./lib/index.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","tsup":"^6.2.3","typescript":"4.8"},"scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"pnpm clean && tsup","release":"release publish"},"bugs":{"url":"https://github.com/open-draft/strict-event-emitter/issues"},"homepage":"https://github.com/open-draft/strict-event-emitter#readme","_id":"strict-event-emitter@0.5.0","_integrity":"sha512-sqnMpVJLSB3daNO6FcvsEk4Mq5IJeAwDeH80DP1S8+pgxrF6yZnE1+VeapesGled7nEcIkz1Ax87HzaIy+02kA==","_resolved":"/private/var/folders/mh/mfyzksxs34jfv5znybsfp_fr0000gn/T/5b4c7ae608499e987bea7c3433efc9ec/strict-event-emitter-0.5.0.tgz","_from":"file:strict-event-emitter-0.5.0.tgz","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"shasum":"a4aa84a3d9b4a9be12e750a75e089cabb3dbc0e2","size":6963,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.5.0.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.5.0_1679395774467_0.07376569191551297"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-21T10:49:34.638Z","publish_time":1679395774638,"_cnpm_publish_time":1679395774638},"0.4.6":{"name":"strict-event-emitter","version":"0.4.6","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.6","dist":{"shasum":"ff347c8162b3e931e3ff5f02cfce6772c3b07eb3","size":3964,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.6.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.6_1675627170414_0.6807688789825745"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-05T19:59:30.571Z","publish_time":1675627170571,"_cnpm_publish_time":1675627170571},"0.4.5":{"name":"strict-event-emitter","version":"0.4.5","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.5","dist":{"shasum":"44eb8c8899620afc2bd62ccbb1117b3712eff33d","size":3983,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.5.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.5_1675627062254_0.8839976044918574"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-05T19:57:42.429Z","publish_time":1675627062429,"_cnpm_publish_time":1675627062429},"0.4.4":{"name":"strict-event-emitter","version":"0.4.4","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.4","dist":{"shasum":"47e98eb408fbed187460592385f6547ca200cffb","size":3991,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.4.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.4_1674219516015_0.05534756949484665"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-20T12:58:36.190Z","publish_time":1674219516190,"_cnpm_publish_time":1674219516190},"0.4.3":{"name":"strict-event-emitter","version":"0.4.3","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.3","dist":{"shasum":"45d0f75e1dc071eeb7cfbdff864fd2b9172bc257","size":3968,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.3.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.3_1671636480172_0.37571323433899995"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T15:33:01.097Z","publish_time":1671636480465,"_cnpm_publish_time":1671636480465},"0.4.2":{"name":"strict-event-emitter","version":"0.4.2","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.2","dist":{"shasum":"a97985133145888ce15d913b6579846d989d2f81","size":3968,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.2.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.2_1671635972385_0.6677095276350382"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T15:22:52.131Z","publish_time":1671635972535,"_cnpm_publish_time":1671635972535},"0.4.1":{"name":"strict-event-emitter","version":"0.4.1","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.1","dist":{"shasum":"6427ad8410d9cf7be2f8328ce4c0c59c7597f707","size":3960,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.1.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.1_1671634479061_0.09018883217343099"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T14:54:59.520Z","publish_time":1671634479244,"_cnpm_publish_time":1671634479244},"0.4.0":{"name":"strict-event-emitter","version":"0.4.0","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"_id":"strict-event-emitter@0.4.0","dist":{"shasum":"1f45d3a46cf8653120d7bb2416f75401ee085037","size":3912,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.4.0.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.4.0_1671629920135_0.13664419982966924"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T13:41:24.381Z","publish_time":1671629920298,"_cnpm_publish_time":1671629920298},"0.3.2":{"name":"strict-event-emitter","version":"0.3.2","description":"Type-safe implementation of EventEmitter for browser and Node.js","main":"lib/index.js","typings":"lib/index.d.ts","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^29.2.4","jest":"^29.3.1","jest-extended":"^3.2.0","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-node":"^9.1.1","typescript":"4.8"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.3.2","dist":{"shasum":"3be3c377e7f1b60b732ce307f9162bcf761f05b8","size":4804,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.3.2.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.3.2_1671629661684_0.7310636057484521"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T13:41:23.441Z","publish_time":1671629661825,"_cnpm_publish_time":1671629661825},"0.3.1":{"name":"strict-event-emitter","version":"0.3.1","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"dev":"tsc -w","test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^26.0.19","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.3.1","dist":{"shasum":"2694ab77b1d8ebc44f525fbe24fac3fc11c1fa71","size":2822,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.3.1.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.3.1_1671566838803_0.9743191848102062"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-20T20:48:37.560Z","publish_time":1671566839070,"_cnpm_publish_time":1671566839070},"0.3.0":{"name":"strict-event-emitter","version":"0.3.0","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^26.0.19","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.3.0","dist":{"shasum":"9fa57b03eed596e356f3dcc8f8b4682ed33422fd","size":2807,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.3.0.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.3.0_1671561305281_0.36227388121218174"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-20T18:45:04.273Z","publish_time":1671561305410,"_cnpm_publish_time":1671561305410},"0.2.8":{"name":"strict-event-emitter","version":"0.2.8","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^26.0.19","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.8","dist":{"shasum":"b4e768927c67273c14c13d20e19d5e6c934b47ca","size":2792,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.8.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.8_1666135217926_0.5539393696214376"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-19T03:10:11.394Z","publish_time":1666135218141,"_cnpm_publish_time":1666135218141},"0.2.7":{"name":"strict-event-emitter","version":"0.2.7","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/events":"^3.0.0","@types/jest":"^26.0.19","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.7","dist":{"shasum":"5326a21811551995ab5f8158ea250de57fb2b04e","size":2814,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.7.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.7_1665137255151_0.9907921268966762"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-07T10:07:41.015Z","publish_time":1665137255305,"_cnpm_publish_time":1665137255305},"0.2.6":{"name":"strict-event-emitter","version":"0.2.6","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.6","dist":{"shasum":"7bb2022bdabcbf0058cec7118a7bbbfd64367366","size":2813,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.6.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.6_1664623257897_0.13323268504676689"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-01T11:31:49.278Z","publish_time":1664623258056,"_cnpm_publish_time":1664623258056},"0.2.5":{"name":"strict-event-emitter","version":"0.2.5","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","release":"release publish"},"devDependencies":{"@ossjs/release":"^0.4.0","@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.5","dist":{"shasum":"682894279b50c159f51ca91dec33a0ccb049b013","size":2810,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.5.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.5_1664305627207_0.8269240155359574"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-27T19:07:45.932Z","publish_time":1664305627411,"_cnpm_publish_time":1664305627411},"0.2.4":{"name":"strict-event-emitter","version":"0.2.4","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","prepublishOnly":"yarn test && yarn test:ts && yarn build"},"devDependencies":{"@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.4","dist":{"shasum":"365714f0c95f059db31064ca745d5b33e5b30f6e","size":2808,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.4.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.4_1648765646541_0.49211140413882304"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-31T22:27:30.163Z","publish_time":1648765646671,"_cnpm_publish_time":1648765646671},"0.2.3":{"name":"strict-event-emitter","version":"0.2.3","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","prepublishOnly":"yarn test && yarn test:ts && yarn build"},"devDependencies":{"@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.3","dist":{"shasum":"48fb55631e00819503a05525e4e3c22e670bea8e","size":2751,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.3.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.3_1648738972552_0.7775762643429398"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-31T15:07:23.319Z","publish_time":1648738972731,"_cnpm_publish_time":1648738972731},"0.2.2":{"name":"strict-event-emitter","version":"0.2.2","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","test:ts":"tsc -p test/typings.tsconfig.json","clean":"rimraf ./lib","build":"yarn clean && tsc","prepublishOnly":"yarn test && yarn test:ts && yarn build"},"devDependencies":{"@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.2","dist":{"shasum":"c3a22749f2a8b9c414bf67862f483c7a30a5ec64","size":2714,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.2.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.2_1648737776511_0.1710955451042"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-31T15:07:22.357Z","publish_time":1648737776650,"_cnpm_publish_time":1648737776650},"0.2.1":{"name":"strict-event-emitter","version":"0.2.1","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","clean":"rimraf ./lib","build":"yarn clean && tsc","prepublishOnly":"yarn test && yarn build"},"devDependencies":{"@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.1","dist":{"shasum":"3e9e17e4bd440ff8854ef66c71869b776ae944ed","size":2688,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.1.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.1_1648736166661_0.3310422608094781"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-31T15:07:20.862Z","publish_time":1648736166829,"_cnpm_publish_time":1648736166829},"0.2.0":{"name":"strict-event-emitter","version":"0.2.0","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","clean":"rimraf ./lib","build":"yarn clean && tsc","prepublishOnly":"yarn test && yarn build"},"devDependencies":{"@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"events":"^3.3.0"},"_id":"strict-event-emitter@0.2.0","dist":{"shasum":"78e2f75dc6ea502e5d8a877661065a1e2deedecd","size":2209,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.2.0.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.2.0_1614610046817_0.164718989162409"},"_hasShrinkwrap":false,"publish_time":1614610046985,"_cnpm_publish_time":1614610046985,"_cnpmcore_publish_time":"2021-12-16T18:59:35.883Z"},"0.1.0":{"name":"strict-event-emitter","version":"0.1.0","description":"Type-safe \"EventEmitter\" for everyday use","main":"lib/index.js","typings":"lib/index.js","repository":{"type":"git","url":"git@github.com:open-draft/strict-event-emitter.git"},"author":{"name":"Artem Zakharchenko","email":"kettanaito@gmail.com"},"license":"MIT","scripts":{"test":"jest","clean":"rimraf ./lib","build":"yarn clean && tsc","prepublishOnly":"yarn test && yarn build"},"devDependencies":{"@types/jest":"^26.0.19","@types/node":"^14.14.14","jest":"^26.6.3","rimraf":"^3.0.2","ts-jest":"^26.4.4","ts-node":"^9.1.1","typescript":"^4.1.3"},"_id":"strict-event-emitter@0.1.0","dist":{"shasum":"fd742c1fb7e3852f0b964ecdae2d7666a6fb7ef8","size":1666,"noattachment":false,"key":"/strict-event-emitter/-/strict-event-emitter-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/strict-event-emitter/download/strict-event-emitter-0.1.0.tgz"},"_npmUser":{"name":"kettanaito","email":"kettanaito@gmail.com"},"directories":{},"maintainers":[{"name":"kettanaito","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-event-emitter_0.1.0_1608208504447_0.84704428869533"},"_hasShrinkwrap":false,"publish_time":1608208504552,"_cnpm_publish_time":1608208504552,"_cnpmcore_publish_time":"2021-12-16T18:59:36.124Z"}},"readme":"# Strict Event Emitter\n\nA type-safe implementation of `EventEmitter` for browser and Node.js.\n\n## Motivation\n\nDespite event emitters potentially accepting any runtime value, defining a strict event contract is crucial when developing complex event-driven architectures. Unfortunately, the native type definitions for Node's `EventEmitter` annotate event names as `string`, which forbids any stricter type validation.\n\n```js\n// index.js\nconst emitter = new EventEmitter()\n\n// Let's say our application expects a \"ping\"\n// event with the number payload.\nemitter.on('ping', (n: number) => {})\n\n// We can, however, emit a different event by mistake.\nemitter.emit('pong', 1)\n\n// Or even the correct event with the wrong data.\nemitter.emit('ping', 'wait, not a number')\n```\n\nThe purpose of this library is to provide an `EventEmitter` instance that can accept a generic describing the expected events contract.\n\n```ts\nimport { Emitter } from 'strict-event-emitter'\n\n// Define a strict events contract where keys\n// represent event names and values represent\n// the list of arguments expected in \".emit()\".\ntype Events = {\n  ping: [number]\n}\n\nconst emitter = new Emitter<Events>()\nemitter.addListener('ping', (n) => {\n  // \"n\" argument type is inferred as \"number'.\n})\n\nemitter.emit('ping', 10) // OK\nemitter.emit('unknown', 10) // TypeError (invalid event name)\nemitter.emit('ping', 'wait, not a number') // TypeError (invalid data)\n```\n\nThis library is also a custom `EventEmitter` implementation, which makes it compatible with other environments, like browsers or React Native.\n\n## Getting started\n\n### Install\n\n```bash\nnpm install strict-event-emitter\n```\n\n### Use\n\n```ts\nimport { Emitter } from 'strict-event-emitter'\n\n// 1. Define an interface that describes your events.\n// Set event names as the keys, and their expected payloads as values.\ninterface Events {\n  connect: [id: string]\n  disconnect: [id: string]\n}\n\n// 2. Create a strict emitter and pass the previously defined \"Events\"\n// as its first generic argument.\nconst emitter = new Emitter<Events>()\n\n// 3. Use the \"emitter\" the same way you'd use the regular \"EventEmitter\" instance.\nemitter.addListener('connect', (id) => {})\nemitter.emit('connect', 'abc-123')\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/open-draft/strict-event-emitter#readme","bugs":{"url":"https://github.com/open-draft/strict-event-emitter/issues"},"license":"MIT"}