@mirawision/observer
Version:
A lightweight and flexible observer pattern implementation for TypeScript, providing a simple way to implement event-driven architecture with type safety.
22 lines (21 loc) • 519 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Observer = void 0;
class Observer {
constructor() {
this.observers = new Set();
}
subscribe(observer) {
this.observers.add(observer);
}
unsubscribe(observer) {
this.observers.delete(observer);
}
unsubscribeAll() {
this.observers.clear();
}
notify(data) {
Array.from(this.observers).forEach((observer) => observer(data));
}
}
exports.Observer = Observer;