plain-observable
Version:
A simple implementation of observable pattern
27 lines (26 loc) • 664 B
JavaScript
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;
;