@artinir/nine.js
Version:
A js Event Listener With Stateful Components
1 lines • 2.17 kB
JavaScript
!function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e),n.d(e,"NINE",function(){return i}),n.d(e,"default",function(){return s});var i={v:function(){console.info("Nine.js version 1.0.0")},StatefulObject:function(t){var e=this;this._state=t,this._eventListeners={},this._deactivated=new Set,this.addListener=function(t,n){e._eventListeners[t]=n},this._callListener=function(t){e._deactivated.has(t)||e._eventListeners[t](e._state)},this._callListeners=function(){Object.keys(e._eventListeners).forEach(function(t,n){e._callListener(t)})},this.setState=function(t){e._state=Object.assign(e._state,t),e._callListeners()},this.getState=function(){return e._state},this.deavtivate=function(t){e._deactivated.add(t)},this.avtivate=function(t){e._deactivated.has(t)&&e._deactivated.delete(t)},this.removeListener=function(t){e.avtivateListener(t),e._eventListeners[t]=null}},Subscriber:function(t,e){var n=this;for(this.last_value,this._subscription=!0,this.unsubscribe=function(){n._subscription=!1},this.subscribe=function(){n._subscription=!0};this._subscription;)this._last_value=t(),this.last_value!==this._last_value&&e(this._last_value,function(){n.unsubscribe()})}};function s(){console.log("Nine.js v.1.0.0 has been installed!!!")}"undefined"!=typeof window&&(window.NINE=i)}]);