kiss-js-bloc
Version:
Bloc type state management solution for typescript
63 lines (35 loc) • 989 B
text/typescript
import { Bloc } from "./bloc";
// abstract class CounterEvent{}
// class IncrementEvent extends CounterEvent {
// public fNumber: number = 10;
// }
// class DecreamentEvent extends CounterEvent {
// public fNumber: number = 10;
// }
class CounterBloc extends Bloc<number> {
public increament() {
return this.addNewState(this.state + 4);
}
constructor() {
super(0);
}
public decreament() {
return this.addNewState(this.state - 4);
}
}
let bloc = new CounterBloc();
bloc.on("increament", (state) => {
bloc._state = bloc._state + state;
})
bloc.on("decreament", (state) => {
bloc._state = bloc._state - state;
})
bloc.call("increament", 12)
bloc.call("decreament", 2)
console.log(bloc.state);
// const events = require('events')
// var myEmitter = new events.EventEmitter()
// myEmitter.on(IncrementEvent, function(val: any) {
// console.log(val)
// })
// myEmitter.emit(IncrementEvent, "sadsd")