2.0.0 • Published 1 year ago
@magnusreeves/event-manager v2.0.0
Event manager
An event manager with data validation and event name type checking
import { CreateEventManager } from "@magnusreeves/event-manager";
type EventNames = "DataDone" | "Error";
type ExampleData = {
name: string;
};
const someProcessEvent = CreateEventManager<EventNames>();
//or
const { emitEvent, addSubscriber } = CreateEventManager<EventNames>();
addSubscriber(
"DataDone",
(data: ExampleData) => {
//the subscriber
//do something with the data
},
(data: ExampleData) => {
//the validator, optional
//validate the data, throw an error if bad
}
);
emitEvent("DataDone", {
name: "magnus",
});