@stated-library/base
Version:
3 lines (2 loc) • 2.4 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@stated-library/core");function e(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function n(t,e){for(var n=0;n<e.length;n++){var a=e[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var a=function(t){return t};function r(t,e,n,r){return{rawState:t,event:e,state:(r&&r.deriveState||a)(t),meta:n}}function s(t){for(var e=Object.getPrototypeOf(t),n=Object.getOwnPropertyDescriptors(e),a=0,r=Object.keys(n);a<r.length;a++){var s=r[a];"constructor"!==s&&("function"==typeof n[s].value&&(t[s]=t[s].bind(t)))}}var o=function(){function a(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),this.opts=void 0,this.stateEvent$=void 0,this.state$=void 0,this.opts=Object.assign({},n);var s=this.opts.createObs||t.createObservable,o=r(e,"INIT",void 0,n);this.stateEvent$=s(o),this.state$=s(o.state)}var o,i,u;return o=a,u=[{key:"bindMethods",value:function(t){s(t)}}],(i=[{key:"setState",value:function(n,a,s){var o=t.shallowEqual(n,this.stateEvent$.value.rawState)?function(t){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{},r=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(a).filter(function(t){return Object.getOwnPropertyDescriptor(a,t).enumerable}))),r.forEach(function(n){e(t,n,a[n])})}return t}({},this.stateEvent$.value,{event:a,meta:s}):r(n,a,s,this.opts);Object.is(o.state,this.state$.value)||this.state$.next(o.state),this.stateEvent$.next(o)}},{key:"updateState",value:function(t,e,n){var a="function"==typeof t?t(this.state):t,r=Object.assign({},this.stateEvent$.value.rawState,a);this.setState(r,e,n)}},{key:"resetState",value:function(t,e,n){this.setState(t,e,n)}},{key:"state",get:function(){return this.stateEvent$.value.state}}])&&n(o.prototype,i),u&&n(o,u),a}();exports.default=o,exports.bindMethodsFromProto=s,exports.StatedLibBase=o,exports.createStatedLib=function(t,e,n){var a=new o(t,n);s(a);var r="function"==typeof e?e(a):e,i={get state(){return this.stateEvent$.value.state}};return Object.assign(i,a),Object.keys(r).forEach(function(t){"function"==typeof r[t]&&(i[t]=r[t].bind(i))}),i};
//# sourceMappingURL=index.production.js.map