Language: English
EventEmiter
をTypeScriptで使いやすくするためのものです。
~/.npmrc
@8128-33550336:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=あなたのトークン
$ npm i @8128-33550336/typedeventemitter
class MyClass extends TypedEventEmitter<{
hoge: [value: string];
fuga: [];
piyo: [value: number];
}> {
constructor() {
super();
this.on('piyo', num => {
this.emit('hoge', num + '');
this.emit('fuga');
});
}
}
const myClass = new MyClass();
myClass.on('hoge', value => {
console.log('hoge', value);
});
myClass.on('fuga', () => {
console.log('fuga');
});
myClass.emit('piyo', 42);
const myEventEmitter = new TypedEventEmitter();
myEventEmitter.on('piyo', num => {
myEventEmitter.emit('hoge', num + '');
myEventEmitter.emit('fuga');
});
myEventEmitter.on('hoge', value => {
console.log('hoge', value);
});
myEventEmitter.on('fuga', () => {
console.log('fuga');
});
myEventEmitter.emit('piyo', 42);
ぜひ使ってください
IssueやPullRequestを歓迎します。