UNPKG

plain-observable

Version:

A simple implementation of observable pattern

27 lines (26 loc) 664 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const observer_1 = require("./observer"); class Subject { constructor() { this.observers = new observer_1.ObserversList(); } register(obs) { this.observers.add(obs); return () => { this.unregister(obs); }; } notify(value) { for (let i = 0; i < this.observers.size; i++) { this.observers.get(i).update(value); } } get size() { return this.observers.size; } unregister(obs) { this.observers.remove(obs); } } exports.default = Subject;