A simple typescript class for subscribe/publishing events.
It creates a way for classes/components to communicate, but aims for loose coupling between these classes/components.
Inspired by DDDs domain events.
import { Mediator } from "mediator"
new Mediator().publish({
name: "person-created",
data: {
id : 1,
name: "Vincent"
}
});
import { Mediator } from "mediator"
new Mediator().subscribe("person-created", function(data) {
console.log("person created with name " + data.name); // When event is published, will output "person created with name Vincent"
});
The data is provided as argument in the subscribers callback function.
Multiple subscribers can subscribe to a event.