UNPKG

@dubaua/observable

Version:
3 lines (2 loc) 1.3 kB
"use strict";function t(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}module.exports=/*#__PURE__*/function(){function Observable(t){this.callbacks=[],this.internal=t,this.initialValue=t}var e,i,r=Observable.prototype;return r.subscribe=function(t){var e=this;if("function"!=typeof t)throw new TypeError("[createObservable]: expected callback to be a function.");return this.callbacks.push(t),function(){var i=e.callbacks.indexOf(t);e.callbacks=e.callbacks.slice(0,i).concat(e.callbacks.slice(i+1))}},r.reset=function(){this.callbacks=[],this.internal=this.initialValue},e=Observable,(i=[{key:"value",get:function(){return this.internal},set:function(t){if(t!==this.internal){var e=this.internal;this.internal=t;for(var i=0;i<this.callbacks.length;i++)this.callbacks[i](this.internal,e)}}}])&&function(e,i){for(var r=0;r<i.length;r++){var n=i[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,t(n.key),n)}}(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),e}(); //# sourceMappingURL=observable.min.js.map