UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

61 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asObservable = exports.isObservable = exports.Observable = void 0; class Observable { constructor() { this._observers = []; } /** * ajoute un observateur à la liste */ addObserver(o) { if (this._observers.indexOf(o) === -1) { this._observers.push(o); } } /** * supprime un observateur de la liste */ removeObserver(o) { this._observers = this._observers.filter((a) => a !== o); } /** * notifie un événement aux observateurs */ notifyObservers(data, sender) { if (sender === undefined) { sender = this; } for (const o of this._observers) { o.update(sender, data); } } getObservers() { return this._observers; } } exports.Observable = Observable; /** * @return true si l'objet passé implémente IObservable * @param o objet à tester */ function isObservable(o) { if (o === undefined) { return false; } const ob = o; return typeof ob.addObserver === "function"; } exports.isObservable = isObservable; /** * cast d'un objet implémentant IObservable * @param o objet à convertir */ function asObservable(o) { if (isObservable(o)) { return o; } return undefined; } exports.asObservable = asObservable; //# sourceMappingURL=observer.js.map