UNPKG

kiss-js-bloc

Version:

Bloc type state management solution for typescript

63 lines (35 loc) 989 B
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")