1.0.0 • Published 4 years ago
@stein197/ts-observer v1.0.0
Observer pattern implementation for TypeScript
This tiny package implements the observer pattern in two different classes - Observer and EventDispatcher.
Installation
Run:
npm i @stein197/ts-observerUsage
For Observer class:
const productObserver = new Observer<(id: number, name: string) => void>();
productObserver.addListener((id, name) => {/* ... */}); // Adding a listener
productObserver.notify(12, "Title"); // Notifying and passing parameters to all subscribed listenersFor EventDispatcher class:
type PlayerEvent = {
AfterJoin: (id: number) => void;
AfterUnjoin: (id: number, reason: string) => void;
}
const playerObserver = new ObserverGroup<PlayerEvent>();
playerObserver.addEventListener("AfterJoin", id => {/* ... */}); // Adding listener on "AfterJoin" event
playerObserver.addEventListener("AfterUnjoin", (id, reason) => {/* ... */}); // Adding listener on "AfterUnjoin" event
playerObserver.notify("AfterJoin", 12); // Firing all listeners subscribed on "AfterJoin" event
playerObserver.notify("AfterUnjoin", 12, "John"); // Firing all listeners subscribed on "AfterUnjoin" eventTesting
Run npm run test to test the package.
1.0.0
4 years ago