UNPKG

@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
"use strict"; 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;