easy-magix
Version:
view manager framewrok
1 lines • 16.8 kB
JavaScript
/*!3.7.0 MIT kooboy_li@163.com*/module.exports=function(){var $,x=require("$"),o=x.isPlainObject,I=x.isArray,a=function(){},f=0,V="",h=[],g=h.slice,q=null,t=window,e=document,r=x(e),i=JSON.stringify,A="\x1e",n="object",y="prototype",S="params",T="path",u=/[#?].*$/,c=/([^=&?\/#]+)=?([^&#?]*)/g,s=/(?!^)=|&/,U=function(t){return(t||"mx_")+f++},v=U(),l={rootId:U(),defaultView:v,error:function(t){throw t}},d=l.hasOwnProperty,p=function(t){return typeof t==n?t:e.getElementById(t)},m=function(t){return!t||typeof t!=n},w=function(t,n,e){var r,i,o,f=0;for(o in t)r=t[o],i=n[o],m(r)&&i==r||(f=e[o]=1),n[o]=r;return f},b=function(t,n,e){if(t=p(t),n=p(n),t&&n&&!(e=t==n))try{e=n.contains?n.contains(t):16&n.compareDocumentPosition(t)}catch(t){}return e},k=Object.assign||function(t,n,e){for(e in n)t[e]=n[e];return t},O=function(t,n){n&&!O[t]&&(O[t]=1,x("head").append("<style>"+n+"</style>"))},j=function(t,n,e,r,i,o){for(n=n||h,I(t)||(t=[t]),I(n)||(n=[n]),r=0;r<t.length;r++){o=t[r];try{i=o&&o.apply(e,n)}catch(t){l.error(t)}}return i},R=function(t,n){return t&&d.call(t,n)},E=function(t,n,e){var r,i;for(r in n)i=n[r],e[r]=(i+V).charAt(0)==A?t.get(i):i},H=function(t,n){return n.f-t.f||n.t-t.t},C=function(t,n,e,r){(r=this).c=[],r.b=0|n||5,r.x=r.b+(t||20),r.r=e};k(C[y],{get:function(t){var n=this.c[A+t];return n&&(n.f++,n.t=f++,n=n.v),n},each:function(t,n,e,r,i){for(i=(r=(e=this).c).length;i--;)t(r[i].v,n,e)},set:function(t,n){var e=this.c,r=A+t,i=e[r],o=this.b;if(!i){if(e.length>=this.x)for(e.sort(H);o--;)0<(i=e.pop()).f&&this.del(i.o);i={o:t},e.push(i),e[r]=i}i.v=n,i.f=1,i.t=f++},del:function(t){t=A+t;var n=this.c,e=n[t],r=this.r;e&&(e.f=-1,e.v=V,delete n[t],r&&j(r,e.o))},has:function(t){return R(this.c,A+t)}});var M,Z,L=x.isFunction,P=function(t,n){var e=l.views||a;if(e[v]||(e[v]=M),!t)return n();I(t)||(t=[t]);for(var r,i=[],o=0,f=function(){o||n.apply(Y,i)},u=function(t,n,e){(t=t(e=function(t){i[n]||(o--,i[n]=t,f())})).then&&t.then(e)},c=0;c<t.length;c++)r=e[t[c]],L(r)&&!r.extend?(o++,u(r,c)):i[c]=e[t[c]];f()},F=function(){},N=function(t,n,e,r,i){return F[y]=n[y],i=new F,k(i,e),k(t,r),(i.constructor=t)[y]=i,t},B=function(t,n,e){r.triggerHandler({type:"htmlchange",vId:e}),x(t).html(n),r.triggerHandler({type:"htmlchanged",vId:e})},D=x.find||x.zepto,z=D.matchesSelector||D.matches,J=function(t,n){n=t.data,t.eventTarget=n.e,j(n.f,t,n.v)},K=function(t,n,e,r,i){i&&(n+="."+i.i),r?x(t).off(n,e):x(t).on(n,i,e)},_=new C,G=function(t,n,e){try{e=decodeURIComponent(e)}catch(t){}Z[n]=e},Q=function(t){var n,e=_.get(t);return e||(Z={},t==(n=t.replace(u,V))&&s.test(n)&&(n=V),t.replace(n,V).replace(c,G),_.set(t,e={a:n,b:Z})),{path:e.a,params:k({},e.b)}},W=function(t,n){var e,r,i,o={};if(t&&(i=t.length))for(e=0;e<i;e++)r=t[e],o[n&&r?r[n]:r]=n?r:1+(0|o[r]);return o},X=Object.keys||function(t,n,e){for(e in n=[],t)R(t,e)&&n.push(e);return n},Y={config:function(t,n){return n=l,t&&(n=o(t)?k(n,t):n[t]),n},boot:function(t){k(l,t),P(l.exts,function(){vt().mountView(l.defaultView),at.on("changed",pt)})},toMap:W,toTry:j,toUrl:function(t,n,e){var r,i,o,f=[];for(i in n)r=n[i]+V,(!e||r||R(e,i))&&(r=encodeURIComponent(r),f.push(o=i+"="+r));return o&&(t+=(t&&(~t.indexOf("?")?"&":"?"))+f.join("&")),t},parseUrl:Q,mix:k,has:R,keys:X,inside:b,node:p,applyStyle:O,guid:U,Cache:C,use:P,define:function(t,n){(l.views||a)[t]=n}},tt={fire:function(t,n,e,r){var i,o,f,u,c=this,a=c[A+t];if(n||(n={}),n.type||(n.type=t),a)for(o=(i=a.length)-1;i--;)(u=a[f=r?i:o-i]).f?(u.x=1,j(u.f,n,c),u.x=V):u.x||(a.splice(f,1),o--);(a=c["on"+t])&&j(a,n,c),e&&c.off(t)},on:function(t,n){var e=A+t;(this[e]||(this[e]=[])).push({f:n})},off:function(t,n){var e,r,i=A+t,o=this[i];if(n){if(o)for(e=o.length;e--;)if((r=o[e]).f==n){r.f=V;break}}else delete this[i],delete this["on"+t]}};Y.Event=tt;var nt,et,rt={},it={},ot={},ft=0,ut=function(t){t=(t+V).split(",");for(var n,e=0;e<t.length;e++)n=t[e],R(it,n)?it[n]++:it[n]=1;return t},ct=function(t){for(var n,e=0;e<t.length;e++)n=t[e],R(it,n)&&(--it[n]||(delete it[n],delete rt[n]))},at=k({get:function(t){var n=t?rt[t]:rt;return n},set:function(t){return ft=w(t,rt,ot)||ft,this},digest:function(t){t&&at.set(t),ft&&(this.fire("changed",{keys:ot}),ft=0,ot={})},diff:function(){return ot},clean:function(t){return{ctor:function(){t=ut(t),this.on("destroy",function(){ct(t)})}}}},tt);Y.State=at;var st,$t=function(t,n,e){t.$d||t.$h||t.$cc!=t.$rc||(t.$cr||(t.$cr=1,t.$ca=0,t.fire("created")),n=t.id,(e=lt[t.pId])&&!R(e.$r,n)&&(e.$r[n]=1,e.$rc++,$t(e)))},ht=function(t,n,e,r){!t.$ca&&t.$cr&&(t.$cr=0,t.$ca=1,t.fire("alter",n),e=t.id,(r=lt[t.pId])&&R(r.$r,e)&&(r.$rc--,delete r.$r[e],ht(r,n)))},vt=function(t,n){return nt||($=e.body,p(t=l.rootId)||($.id=t),nt=new mt(t)),nt},lt={},dt=function(t,n,e){if(t&&t.$g!=st&&(e=t.$v)&&0<e.$s){(function(t,n,e){var r=t.$os;if(r)for(var i=r.length;i--;){var o=r[i];if(e=R(n,o))break}return e})(e,n)&&e.render();for(var r=t.children(),i=r.length,o=0;o<i;)dt(lt[r[o++]],n)}},pt=function(t){var n,e=vt();(n=t.view)?e.mountView(n.to):(st=f++,dt(e,t.keys))},mt=function(t,n,e){var r,i;(e=this).id=t,e.$c={},e.$cc=0,e.$rc=0,e.$s=1,e.$r={},e.$il=[],e.pId=n,i=e,R(lt,r=t)||(lt[r]=i,mt.fire("add",{vframe:i}),(r=p(r))&&(r.vframe=i))};k(mt,k({all:function(){return lt},get:function(t){return lt[t]}},tt)),k(k(mt[y],tt),{mountView:function(t,n){var e,r,i,o,f,u,c,a=this,s=a.id,$=p(s);!a.$a&&$&&(a.$a=1,a.$t=$.innerHTML),a.unmountView(),a.$d=0,$&&t&&(a.path=t,e=Q(t),i=e.path,r=++a.$s,o=e[S],u=a.pId,(c=(c=(c=lt[u])&&c.$v)&&c.$u)&&0<t.indexOf(A)&&E(c,o,o),k(o,n),P(i,function(t){if(r==a.$s){if(!t)return l.error(Error("id:"+s+" cannot load:"+i));f=Jt(t),i=new t({owner:a,id:s},o,f),a.$v=i,a.$g=st,Bt(i),i.init(o),i.render(),i.$t||(a.$a=0,i.$p||i.endUpdate())}}))},unmountView:function(){var t,n,e=this,r=e.$v,i=e.id;e.$il=[],r&&(et||(n=1,et={id:i}),e.$d=1,e.unmountZone(0,1),ht(e,et),(e.$v=0)<r.$s&&(r.$s=0,r.fire("destroy",0,1,1),Ft(r,1),Bt(r,1)),r.$s--,r.owner=q,(t=p(i))&&e.$a&&B(t,e.$t,i),n&&(et=0)),e.$s++},mountVframe:function(t,n,e){var r,i=this;return ht(i,{id:t}),(r=lt[t])||(R(i.$c,t)||(i.$cl=V,i.$cc++),i.$c[t]=t,r=new mt(t,i.id)),r.mountView(n,e),r},mountZone:function(t,n){var e,r,i,o=this,f=[];t=t||o.id;var u=x("#"+t+" [mx-view]");for(o.$h=1,e=0;e<u.length;e++)i=(r=u[e]).id||(r.id=U()),r.$m||(r.$m=1,f.push([i,r.getAttribute("mx-view")]));for(;f.length;)f[i=(r=f.shift())[0]]?l.error(Error("vf.id duplicate:"+i+" at "+o.path)):o.mountVframe(f[i]=i,r[1],n);o.$h=0,$t(o)},unmountVframe:function(t,n){var e,r,i,o,f,u;t=t?this.$c[t]:this.id,(e=lt[t])&&(r=e.$cr,i=e.pId,e.unmountView(),f=r,(u=lt[o=t])&&(delete lt[o],mt.fire("remove",{vframe:u,fcc:f}),(o=p(o))&&(o.vframe=q)),e.id=e.pId=V,(e=lt[i])&&R(e.$c,t)&&(delete e.$c[t],e.$cl=V,e.$cc--,n||$t(e)))},unmountZone:function(t,n){var e,r=this.$c;for(e in r)(!t||e!=t&&b(e,t))&&this.unmountVframe(e,1);n||$t(this)},parent:function(t,n){for(n=this,t=t>>>0||1;n&&t--;)n=lt[n.pId];return n},children:function(t){return(t=this).$cl||(t.$cl=X(t.$c))},invoke:function(t,n){var e,r,i,o,f,u=this.$il;return(r=this.$v)&&r.$p?e=(i=r[t])&&j(i,n,r):((o=u[f=A+t])&&(o.r=n===o.a),o={n:t,a:n,k:f},u.push(o),u[f]=o),e}}),Y.Vframe=mt,x.fn.invokeView=function(t,n){var e=this.length;if(e){var r=this[0],i=r.vframe;if(void 0===n)return i&&i.invoke(t);for(var o=0;o<e;o++)(i=(r=this[o]).vframe)&&i.invoke(t,n)}};var gt=new C(30,10),yt=/(?:([\w\-]+)\x1e)?([^(]+)\(([\s\S]*)?\)/,wt={},bt={},kt=function(t,n){var e,r,i,o,f,u=[],c=t,a=t.getAttribute("mx-"+n),s=[];if(a&&((i=gt.get(a))||((i={v:(i=a.match(yt)||h)[1],n:i[2],i:i[3]}).p=i.i&&j(Function("return "+i.i),h,t),gt.set(a,i)),i={r:a,v:i.v,p:i.p,i:i.i,n:i.n},u.push(i)),i&&!i.v||bt[n]){if(!(f=t.$v))for(s.push(c);c!=$&&(c=c.parentNode);){if(lt[r=c.id]||(r=c.$v)){f=r;break}s.push(c)}if(f){for(;a=s.pop();)a.$v=f;do{if((e=lt[f])&&(o=e.$v)){for(r in o.$so[n])z(t,r)&&u.push({r:r,v:f,n:r});if(o.$t){i&&!i.v&&(i.v=f);break}}}while(e&&(f=e.pId))}}return u},xt=function(t){for(var n,e,r,i,o,f,u,c=t.target,a=t.type,s=[];c!=$;){if((e=kt(c,a)).length)for(s=[];n=e.shift();){if(!n.v)return l.error(Error("bad "+a+":"+n.r));(o=(i=lt[n.v])&&i.$v)&&(f=o[n.n+A+a])&&(t.eventTarget=c,u=n.p||{},n.i&&0<n.i.indexOf(A)&&E(o.$u,u,u={}),t[S]=u,j(f,t,o))}if((r=c.$)&&r[a]||t.isPropagationStopped())break;s.push(c),c=c.parentNode||$}for(;c=s.pop();)(r=c.$||(c.$={}))[a]=1},Vt=/\\|'/g,It=/\r|\n/g,qt=/<%([@=!])?([\s\S]*?)%>|$/g,At=function(i){var o=0,f="$p+='";return i.replace(qt,function(t,n,e,r){return f+=i.slice(o,r).replace(Vt,"\\$&").replace(It,"\\n"),o=r+t.length,"@"==n?f+="';$p+=$i("+e+");$p+='":"="==n?f+="'+$e("+e+")+'":"!"==n?f+="'+$n("+e+")+'":e&&(f+="';"+e+";$p+='"),t}),f="var $t,$p='',$em={'&':'&','<':'<','>':'>','\"':'"','\\'':''','`':'`'},$er=/[&<>\"'`]/g,$n=function(v){return v==null?'':''+v},$ef=function(m){return $em[m]},$e=function(v){return $n(v).replace($er,$ef)},$i=function(v,k,f){for(f=$$[$g];--f;)if($$[k=$g+f]===v)return k;$$[k=$g+$$[$g]++]=v;return k},$um={'!':'%21','\\'':'%27','(':'%28',')':'%29','*':'%2A'},$uf=function(m){return $um[m]},$uq=/[!')(*]/g,$eu=function(v){return encodeURIComponent($n(v)).replace($uq,$uf)},$qr=/[\\\\'\"]/g,$eq=function(v){return $n(v).replace($qr,'\\\\$&')};"+(f+="';")+"return $p",Function("$g","$$",f)},St=new C,Tt=function(t,n){var e=St.get(t);return e||(e=At(t),St.set(t,e)),e.call(n,A,n)},Ut=/\d+\x1d/g,Ot=/([\w\-]+)(?:="([\s\S]*?)")?/g,jt={amp:"&",lt:"<",gt:">","#34":'"',"#39":"'","#96":"`"},Rt=/&([^;]+);/g,Et=function(t,n){return jt[n]||t},Ht=function(t,n,e,r,i,o,f){var u,c,a=t.id||(t.id=U()),s=n.owner;if(i){var $=Lt(Tt(e.attr,r),f),h={};$.replace(Ot,function(t,n,e){h[n]=e});for(var v,l,d,p,m,g=e.attrs.length;g--;)l=(v=e.attrs[g]).n,m=v.f,v.v?(u=1,c=h[l]):(p=R(h,l),(v.p?t[m||l]:t.getAttribute(l))!==(d=v.b?p:h[l]||V)&&(v.p?(v.q&&d.replace(Rt,Et),t[m||l]=d):p?t.setAttribute(l,d):t.removeAttribute(l)))}var y,w,b,k=lt[a];u&&!o&&k&&(b=(w=Q(c))[S],Q(k[T])[T]==w[T]&&(0<c.indexOf(A)&&E(n.$u,b,b),k[T]=c,(y=k.invoke("assign",b))&&k.invoke("render"))),y||(u&&s.unmountVframe(a,c),o&&n.setHTML(a,Tt(e.tmpl,r)),u&&c&&s.mountVframe(a,c))},Ct=function(t){this.$i=t,this.$t=t,this.$data={"\x1e":1},this.$keys={}};k(Ct.prototype,{to:function(t,n){return(n=this).$t=t,n},get:function(t){var n=this.$data;return t&&(n=n[t]),n},gain:function(t){for(var n=this.$data,e=t.split(".");n&&e.length;)n=n[e.shift()];return n},set:function(t){var n=this.$data,e=this.$keys;return w(t,n,e),this},digest:function(t){var n=this;t&&n.set(t),t=n.$data;var e=n.$keys;return n.$keys={},function(t,n,e){var r,i=t.$i,o=lt[i],f=o&&o.$v;if(f&&(r=f.tmpl)){var u=r.html,c=r.subs;if(t.$rd&&n)for(var a,s,$,h,v,l,d,p,m=c.length;m--;){if(h=$=0,v=1,d=(s=c[m]).mask,a=s.pKeys)for(l=a.length;l--;)if(R(n,a[l])){v=0;break}if(v){for(v=0,l=(a=s.keys).length;l--;)if(R(n,a[l])){if(v=1,!d||$&&h){$=s.tmpl,h=s.attr;break}p=d.charAt(l),$=$||1&p,h=h||2&p}if(v){var g=x(Lt(s.path,i));for(l=0;l<g.length;)Ht(g[l++],f,s,e,h,$,i)}}}else{if(!r[A]){r[A]=1;var y,w,b={},k=function(t){return b[t].tmpl};for(y=c.length;y--;)(w=c[y]).s&&((b[w.s]=w).tmpl=w.tmpl.replace(Ut,k));u=r.html=u.replace(Ut,k)}t.$rd=1,f.setHTML(t.$t,Tt(u,e))}}}(n,e,t),n},snapshot:function(){return this.$ss=i(this.$data),this},altered:function(){if(this.$ss)return this.$ss!=i(this.$data)}});var Mt=/^(\$?)([^<]+?)<([^>]+)>$/,Zt=/\x1f/g,Lt=function(t,n){return(t+V).replace(Zt,n||this.id)},Pt=function(t,n,e){return t.$l?e=t:((e=function(t){j(e.$l,t,this)}).$l=[t],e.$m=1),e.$l=e.$l.concat(n.$l||n),e},Ft=function(t,n){var e,r,i=t.$r;for(e in i)r=i[e],(n||r.x)&&Nt(i,e,1)},Nt=function(t,n,e,r){var i,o,f=t[n];return f&&f!=r&&((i=(o=f.e).destroy)&&e&&j(i,h,o),delete t[n]),o},Bt=function(t,n){var e,r,i,o,f,u,c,a=t.$eo,s=t.$so;for(e in a)o=s[i=e],f=n,void 0,u=0|wt[i],c=f?-1:1,u&&f!==u||K($,i,xt,f),wt[i]=u+c,o&&(bt[i]=(0|bt[i])+c);for(e=(a=t.$el).length;e--;)r=a[e],K(r.e,r.n,J,n,{i:t.id,v:t,f:r.f,e:r.e})},Dt=[],zt={win:t,doc:e},Jt=function(t){if(!t[A]){t[A]=[];var n,e,r,i,o,f,u,c,a,s=t[y],$={},h=[],v={},l={};if(c=0,e=s.mixins){for(a=e.length;c<a;)for(u in o=e[c++])n=o[u],r=l[u],"ctor"!=u?(Mt.test(u)&&(r?n=Pt(r,n):n.$m=1),l[u]=n):t[A].push(n);for(u in l)R(s,u)||(s[u]=l[u])}for(u in s)if(n=s[u],e=u.match(Mt))for(f=e[1],r=e[2],i=e[3].split(",");c=i.pop();){if(o=zt[r],a=1,f){if(o){h.push({f:n,e:o,n:c});continue}a=2,(o=v[c])||(o=v[c]={}),o[r]=1}$[c]=$[c]|a,(o=s[c=r+A+c])?o.$m&&(n.$m?s[c]=Pt(o,n):R(s,u)&&(s[c]=n)):s[c]=n}p=(d=s).render,d.render=function(){0<(m=this).$s&&(m.$s++,m.fire("rendercall"),Ft(m),j(p,g.call(arguments),m))},s.$eo=$,s.$el=h,s.$so=v,s.$t=!!s.tmpl}var d,p,m;return t[A]},Kt=function(t,n){k(n=this,t),n.$r={},n.$s=1,n.updater=n.$u=new Ct(n.id),j(Dt,t,n)},_t=Kt[y];k(Kt,{merge:function(t,n){(n=t&&t.ctor)&&Dt.push(n),k(_t,t)},extend:function(t,n){var r=this,e=(t=t||{}).ctor,i=[];e&&i.push(e);var o=function(t,n,e){r.call(this,t,n),j(i.concat(e),n,this)};return o.extend=r.extend,N(o,r,t,n)}}),k(k(_t,tt),{render:a,init:a,wrapEvent:Lt,beginUpdate:function(t,n){0<(n=this).$s&&n.$p&&(n.owner.unmountZone(t,1),n.fire("prerender",{id:t}))},endUpdate:function(t,n,e,r){0<(n=this).$s&&(t=t||n.id,n.fire("rendered",{id:t}),r=n.$p,n.$p=1,(e=n.owner).mountZone(t),r||setTimeout(n.wrapAsync(function(){!function(t,n,e){for(n=t.$il;n.length;)(e=n.shift()).r||t.invoke(e.n,e.a),delete n[e.k]}(e)}),0))},wrapAsync:function(t,n){var e=this,r=e.$s;return function(){0<r&&r==e.$s&&t&&t.apply(n||e,arguments)}},observeState:function(t){this.$os=(t+V).split(",")},capture:function(t,n,e,r,i){return r=this.$r,n?(Nt(r,t,1,n),i={e:n,x:e},r[t]=i):n=(i=r[t])&&i.e||n,n},release:function(t,n){return Nt(this.$r,t,n)},leaveTip:function(r,i){var o=this,f=function(t){var n="a",e="b";"change"!=t.type&&(n="b",e="a"),f[n]?(t.prevent(),t.reject()):i()?(t.prevent(),f[e]=1,o.leaveConfirm(r,function(){f[e]=0,t.resolve()},function(){f[e]=0,t.reject()})):t.resolve()},t=function(t){i()&&(t.msg=r)};Router.on("change",f),Router.on("pageunload",t),o.on("unload",f),o.on("destroy",function(){Router.off("change",f),Router.off("pageunload",t)})},setHTML:function(t,n){var e,r=this.id;this.beginUpdate(t),0<this.$s&&(e=p(t))&&B(e,Lt(n,r),r),this.endUpdate(t)}}),Y.View=Kt;var Gt=x.type,Qt=x.proxy,Wt=x.now||Date.now,Xt=function(){this.id=U("b"),this.$={}};k(Xt[y],{get:function(t,n,e){var r=n!=e,i=this.$;if(t){for(var o,f=I(t)?g.call(t):(t+V).split(".");(o=f.shift())&&i;)i=i[o];o&&(i=e)}return r&&Gt(n)!=Gt(i)&&(i=n),i},set:function(t,n){var e;o(t)||((e={})[t]=n,t=e),k(this.$,t)}});var Yt=function(t,n,e){(e=this[t])&&(delete this[t],j(e,n,e.e))},tn=function(t,n,e,r,i){if(t.$o)return t;if(t.$b)return t.enqueue(function(){tn(this,n,e,r,i)});t.$b=1;var o=t.constructor,f=o.$r;I(n)||(n=[n]);for(var a,s,$,h,v,l,d,p,m,u,c=n.length,g=(a=e,$=t,h=c,v=r,l=(s=o).$c,d=[],p=q,m=0,function(t,n){var e,r=this;m++;var i=r.$m,o=i.k,f={bag:d[t+1]=r,error:n};if(n)p=n,s.fire("fail",f),e=1;else if(!l.has(o)){o&&l.set(o,r),i.t=Wt();var u=i.a;u&&j(u,r,r),i.x&&s.clear(i.x),s.fire("done",f),e=1}if(!$.$o){var c=m==h;c&&($.$b=0,2==v&&(d[0]=p,j(a,d,$))),1==v&&j(a,[n||q,r,c,t],$)}e&&s.fire("end",f)}),y=0;y<c;y++)if(u=n[y]){var w,b=o.get(u,i),k=b.e,x=k.$m.k,V=Qt(g,k,y);x&&f[x]?f[x].push(V):b.u?(x&&((w=[V]).e=k,f[x]=w,V=Qt(Yt,f,x)),o.$s(k,V)):V()}return t},nn=function(){var t=this;t.id=U("s"),t.$q=[]};k(nn[y],{all:function(t,n){return tn(this,t,n,2)},save:function(t,n){return tn(this,t,n,2,1)},one:function(t,n){return tn(this,t,n,1)},enqueue:function(t){var n=this;return n.$o||(n.$q.push(t),n.dequeue(n.$a)),n},dequeue:function(){var n=this,e=g.call(arguments);n.$b||n.$o||(n.$b=1,setTimeout(function(){if(n.$b=0,!n.$o){var t=n.$q.shift();t&&j(t,n.$a=e,n)}},0))},destroy:function(t){(t=this).$o=1,t.$q=0}});var en=function(t,n,e){return[i(n),i(t)].join(A)},rn=function(t,n,e,r){(r=t&&t.$m)&&n[r.n]&&e.del(r.k)},on=k({add:function(t){var n=this.$m;I(t)||(t=[t]);for(var e,r,i=t.length;i--;)(e=t[i])&&(r=e.name,e.cache=0|e.cache,n[r]=e)},create:function(t){var n=this.meta(t),e=0|t.cache||n.cache,r=new Xt;r.set(n),r.$m={n:n.name,a:n.after,x:n.cleans,k:e&&en(n,t)},o(t)&&r.set(t);var i=n.before;return i&&j(i,r,r),this.fire("begin",{bag:r}),r},meta:function(t){return this.$m[t.name||t]||t},get:function(t,n){var e,r;return n||(e=this.cached(t)),e||(e=this.create(t),r=1),{e:e,u:r}},clear:function(t){this.$c.each(rn,W((t+V).split(",")))},cached:function(t){var n,e,r=this.$c,i=this.meta(t),o=0|t.cache||i.cache;if(o&&(e=en(i,t)),e){var f=this.$r[e];f?n=f.e:(n=r.get(e))&&Wt()-n.$m.t>o&&(r.del(e),n=0)}return n}},tt);nn.extend=function(t,n,e){var r=this,i=function(){r.call(this)};return i.$s=t,i.$c=new C(n,e),i.$r={},i.$m={},N(i,r,q,on)},Y.Service=nn;var fn=function(t,n){var e=this,r=t&&t.ctor,i=function(){var t=arguments;e.apply(this,t),r&&r.apply(this,t)};return i.extend=fn,N(i,e,t,n)};return k(a[y],tt),a.extend=fn,Y.Base=a,M=Kt.extend(),Y}();