kiss-js-bloc
Version:
Bloc type state management solution for typescript
25 lines (18 loc) • 530 B
text/typescript
const events = require('events')
var myEmitter = new events.EventEmitter()
export interface Listener<State> {
(event: State) : any;
}
/// interface that dispose the event
export interface Disposable{
dispose() : any;
}
export class EventEmitter<State> {
on = (event: string, listener: Listener<State>): void => {
myEmitter.on(event, listener)
}
emit = (event: string, state: State): void => {
console.log("Event " + event + " State " + state)
myEmitter.emit(event, state)
}
}