UNPKG

@dubaua/observable

Version:
3 lines (2 loc) 670 B
class Observable{constructor(t){this.callbacks=[],this.internal=t,this.initialValue=t}subscribe(t){if("function"!=typeof t)throw new TypeError("[createObservable]: expected callback to be a function.");return this.callbacks.push(t),()=>{const s=this.callbacks.indexOf(t);this.callbacks=this.callbacks.slice(0,s).concat(this.callbacks.slice(s+1))}}get value(){return this.internal}set value(t){if(t!==this.internal){const s=this.internal;this.internal=t;for(let t=0;t<this.callbacks.length;t++)this.callbacks[t](this.internal,s)}}reset(){this.callbacks=[],this.internal=this.initialValue}}export{Observable as default}; //# sourceMappingURL=observable.min.modern.mjs.map