{"_id":"@anderpang/event-emitter","name":"@anderpang/event-emitter","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@anderpang/event-emitter","version":"1.0.0","description":"EventEmitter","publishConfig":{"access":"public"},"main":"EventEmitter.js","types":"EventEmitter.d.ts","scripts":{"build":"tsc --lib es2015 EventEmitter.ts","js":"uglifyjs js/EventEmitter.js -o dist/EventEmitter.js --comments /^!/ -m","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["EventEmitter"],"author":"","license":"ISC","_id":"@anderpang/event-emitter@1.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-lSezSkoDuyv/hKBpBmuwapUyp3oGd3vjGHo6YHvDvnPtqMZkGqG5ekSCQ1k5QN+3pbs0FgP9QV2nLqLKyFerfw==","shasum":"1029f5ff04eb2432b91f294a3cba69e29a603772","tarball":"https://registry.npmjs.org/@anderpang/event-emitter/-/event-emitter-1.0.0.tgz","fileCount":5,"unpackedSize":5849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICGyayQ4JkUiWqivIZW/vf4aeYQfOMVwvZM4MrFffoZLAiA3yJhU6l7CDPTfxL16Anw/xXqC0/+7KBF0IKNzgMO05Q=="}]},"_npmUser":{"name":"anderpang","email":"anderpang@qq.com"},"directories":{},"maintainers":[{"name":"anderpang","email":"anderpang@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-emitter_1.0.0_1701768108269_0.7792876770361779"},"_hasShrinkwrap":false}},"time":{"created":"2023-12-05T09:21:48.138Z","1.0.0":"2023-12-05T09:21:48.449Z","modified":"2023-12-05T09:21:48.728Z"},"maintainers":[{"name":"anderpang","email":"anderpang@qq.com"}],"description":"EventEmitter","keywords":["EventEmitter"],"license":"ISC","readme":"# EventEmitter\n\n## Install\n\n```js\nnpm install @anderpang/event-emitter\n```\n\n## Usage\n\nimport\n```js\n  import EventEmitter from \"@anderpang/event-emitter\";\n```\nor\n```html\n<script src=\"@anderpang/event-emitter/dist/EventEmitter.js\"></script>\n```\n\n*** Example ***\n\n```js\n  import EventEmitter from \"@anderpang/event-emitter\";\n\n   var emitter=new EventEmitter();\n\n        emitter.on(\"abc\",function(a,b,c){\n            console.log(a,b,c);\n        });\n\n        emitter.once(\"abc\",function(a,b,c){\n            console.log(\"once:\",a,b,c);\n        });\n\n        setTimeout(function(){\n            emitter.emit(\"abc\",\"a1\",{b:2},{hello:\"World\"});\n            emitter.emit(\"abc\",\"a2\",{b:22},{hello:\"World2\"});\n        },500);\n\n        /** print:\n        a1 {b: 2} {hello: 'World'}\n        ------------------------------\n        once: a1 {b: 2} {hello: 'World'}\n        ----------------------------------\n        a2 {b: 22} {hello: 'World2'}\n        ----------------------------------\n         * */\n```\n## Constructor\n\n```ts\ntype EventEmitterFunction = (a?: any, b?: any, c?: any) => void;\n\nexport default class EventEmitter {\n    on(type: string, f: EventEmitterFunction): this;\n    once(type: string, f: EventEmitterFunction): this;\n    off(type: string, f?: EventEmitterFunction): this;\n    emit(type: string, a?: any, b?: any, c?: any): this;\n}\n\n\n```","readmeFilename":"README.md"}