Evt.create(initalState?)
Static method to instanciate an Evt or a StatefulEvt.
Evt.create() is the prefered method for instantiating an Evt as this single method allow to instantiate Evt, StatefulEvt and VoidEvt.
The constructors are still useful however to avoid repeating the type of variable that are already typed e.g:
const evt: Evt<string | number> = new Evt()
import { Evt, VoidEvt, StatefulEvt } from "evt";
Evt.create<string>() ⇔ new Evt<string>()
Evt.create() ⇔ /* An object that implement VoidEvt */
Evt.create(false) ⇔ new StatefulEvt<boolean>(false)
When you instantiate an
Evt
with a void argument ( new Evt<void>()
), TypeScript forces you to pass undefined
to the post method ( it does not allows to call evt.post()
).
VoidEvt
( and respectively VoidCtx
) is a workaround for this annoyance.VoidEvt
object are instances of Evt<void>
that you can post without passing argument.import { Evt } from "evt";
const evtSocketConnect = Evt.create();
evtSocketConnect.attach(() => console.log("SOCKET CONNECTED"));
evtSocketConnect.post();
//"SOCKET CONNECTED" have been printed on the console.
Last modified 8mo ago