UNPKG

core-fed-util

Version:

This is A collection of commonly used frontend utility functions‌

26 lines (25 loc) 818 B
import { Logger } from "../utils/Log"; /** * @description Observer class for implementing the Observer design pattern. */ export class Observer { constructor(name) { this.observers = []; this.name = name; this.log = new Logger(name, 0); // Default log level is DEBUG } // Method to add an observer addObserver(observer) { this.log.debug(`[Adding observer]: ${observer}`); this.observers.push(observer); } // Method to remove an observer removeObserver(observer) { this.observers = this.observers.filter(obs => obs !== observer); } // Method to notify all observers notifyObservers(...args) { this.log.debug(`[Notifying observers]: ${args}`); this.observers.forEach(observer => observer.update(...args)); } }