Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 1.7 KB

README-ja.md

File metadata and controls

90 lines (62 loc) · 1.7 KB

typedEventEmitter

publish

Package

Language: English

これはなに?

EventEmiter をTypeScriptで使いやすくするためのものです。

インストール

~/.npmrc

@8128-33550336:registry=https://npm.pkg.github.com

//npm.pkg.github.com/:_authToken=あなたのトークン
$ npm i @8128-33550336/typedeventemitter

使い方

親Classとして

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を歓迎します。