UNPKG

san-composition

Version:
3 lines (2 loc) 7.01 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).sca={})}(this,(function(t){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}var s,a=[];function c(){return this.__scContext.initData}var r=["construct","compiled","inited","created","attached","detached","disposed","updated","error"];function p(){var t=this;r.forEach((function(e){var n=t.__scContext[e];if(n){var o=n.length;t[e]=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var s=0;s<o;s++)n[s].apply(this,e)}}}))}function u(){var t=this.__scContext.computed;if(t)for(var e=Object.keys(t),n=0;n<e.length;n++){var o=e[n],i=t[o],s=[];this.__scContext.computedDatas=s;var a=l(o,i);a.call(this);for(var c=0;c<s.length;c++)this.watch(s[c],a);this.__scContext.computedDatas=null}}function h(){var t=this.__scContext&&this.__scContext.watches;if(t)for(var e=this.__scContext.component,n=Object.keys(t),o=0;o<n.length;o++){var i=n[o];this.watch(i,t[i].bind(e))}}function m(){this.__scContext&&(this.__scContext.publicContext.dispose(),this.__scContext=null)}function l(t,e){return function(){var n=e.call(this);this.data.set(t,n)}}var f=function(){function t(e,o){n(this,t),this.name=e,this.component=o}return i(t,[{key:"get",value:function(t){var e=t?this._resolveName(t):this.name,n=this.component.__scContext,o=n&&n.computedDatas;return o&&o.push(e),this.component.data.get(e)}},{key:"set",value:function(t,e){void 0===e?this.component.data.set(this.name,t):this.component.data.set(this._resolveName(t),e)}},{key:"merge",value:function(t,e){e?this.component.data.merge(this._resolveName(t),e):this.component.data.merge(this.name,t)}},{key:"apply",value:function(t,e){e?this.component.data.apply(this._resolveName(t),e):this.component.data.apply(this.name,t)}},{key:"push",value:function(t,e){return void 0===e?this.component.data.push(this.name,t):this.component.data.push(this._resolveName(t),e)}},{key:"pop",value:function(t){return"string"==typeof t?this.component.data.pop(this._resolveName(t)):this.component.data.pop(this.name)}},{key:"shift",value:function(t){return"string"==typeof t?this.component.data.shift(this._resolveName(t)):this.component.data.shift(this.name)}},{key:"unshift",value:function(t,e){return void 0===e?this.component.data.unshift(this.name,t):this.component.data.unshift(this._resolveName(t),e)}},{key:"remove",value:function(t,e){return void 0===e?this.component.data.remove(this.name,t):this.component.data.remove(this._resolveName(t),e)}},{key:"removeAt",value:function(t,e){return void 0===e?this.component.data.removeAt(this.name,t):this.component.data.removeAt(this._resolveName(t),e)}},{key:"splice",value:function(t,e){return void 0===e?this.component.data.splice(this.name,t):this.component.data.splice(this._resolveName(t),e)}},{key:"_resolveName",value:function(t){return this.name+(/^[\[.]/.test(t)?t:"."+t)}}]),t}();var d=function(){function t(e,o){n(this,t),this.name=e,this.component=o}return i(t,[{key:"get",value:function(){var t=this.component.__scContext,e=t&&t.computedDatas;return e&&e.push(this.name),this.component.data.get(this.name)}}]),t}();function v(t){return function(n,o){if(s.creator)switch(s[t]=s[t]||{},e(n)){case"string":s[t][n]=o;break;case"object":Object.assign(s[t],n)}}}var y=v("filters"),_=v("components");function g(t){return function(e){s.creator||(s[t]=s[t]||[],s[t].push(e))}}var b=g("construct"),C=g("compiled"),k=g("inited"),x=g("created"),w=g("attached"),D=g("detached"),j=g("disposed"),N=g("updated"),A=g("error");var S=function(){function t(e){n(this,t),this.component=e,this._dataDefs={}}return i(t,[{key:"data",value:function(t){var e=this._dataDefs[t];return e||(e=this._dataDefs[t]=new f(t,this.component)),e}},{key:"dispatch",value:function(t,e){this.component&&this.component.dispatch(t,e)}},{key:"fire",value:function(t,e){this.component&&this.component.fire(t,e)}},{key:"ref",value:function(t){if(this.component)return this.component.ref(t)}},{key:"nextTick",value:function(t,e){this.component&&this.component.nextTick(t,e)}},{key:"dispose",value:function(){this.component=null}}]),t}();t.components=_,t.computed=function(t,e){if(!s.creator&&"string"==typeof t)return s.computed||(s.computed={}),s.computed[t]=e,new d(t,s.component)},t.data=function(t,e){if(!s.creator&&"string"==typeof t){s.initData||(s.initData={}),s.initData[t]=e;var n=s.publicContext._dataDefs;return n[t]?n[t]:n[t]=new f(t,s.component)}},t.defineComponent=function(t,e){var n={creator:t};s=n,a.push(s),t(),a.pop(),s=a[a.length-1];var o=function(t){this.__scContext={component:this,publicContext:new S(this),inited:[u],attached:[h]},s=this.__scContext,a.push(s),(0,n.creator)(s.publicContext),a.pop(),s=a[a.length-1],this.__scContext.disposed?this.__scContext.disposed.push(m):this.__scContext.disposed=[m],this.__scInitLifeCycle(),e.Component.call(this,t)};function i(){}return i.prototype=e.Component.prototype,(o.prototype=new i).constructor=o,o.prototype.initData=c,o.prototype.__scInitLifeCycle=p,n.template&&(o.prototype.template=n.template),n.filters&&(o.prototype.filters=n.filters),n.components&&(o.prototype.components=n.components),null!=n.trimWhitespace&&(o.prototype.trimWhitespace=n.trimWhitespace),null!=n.delimiters&&(o.prototype.delimiters=n.delimiters),null!=n.autoFillStyleAndId&&(o.prototype.autoFillStyleAndId=n.autoFillStyleAndId),o},t.filters=y,t.messages=function(t,n){if(!s.creator){var o=s.component;switch(e(t)){case"string":o.messages||(o.messages={}),o.messages[t]=n;break;case"object":o.messages?Object.assign(o.messages,t):o.messages=t}}},t.method=function(t,n){if(!s.creator)switch(e(t)){case"string":s.component[t]=n;break;case"object":Object.assign(s.component,t)}return n||t},t.onAttached=w,t.onCompiled=C,t.onConstruct=b,t.onCreated=x,t.onDetached=D,t.onDisposed=j,t.onError=A,t.onInited=k,t.onUpdated=N,t.template=function(t){if(s.creator)if(t instanceof Array){for(var e=t[0],n=1,o=t.length;n<o;n++)e+=arguments[n]+t[n];s.template=e}else s.template=t},t.templateOptions=function(t){var e=t.trimWhitespace,n=t.delimiters,o=t.autoFillStyleAndId;s.creator&&(s.trimWhitespace=e,s.delimiters=n,s.autoFillStyleAndId=o)},t.version="1.3.0",t.watch=function(t,n){if(!s.creator)switch(s.watches||(s.watches={}),e(t)){case"string":s.watches[t]=n;break;case"object":Object.assign(s.watches,t)}},Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=index.umd.js.map