@awesome-nodes/mvvm
Version:
Application development framework using the *model* *view* *view-model* design pattern.
2 lines • 1.51 kB
JavaScript
!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("mvvm",[],o):"object"==typeof exports?exports.mvvm=o():e.mvvm=o()}(global,(function(){return(()=>{"use strict";var e={d:(o,t)=>{for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{ServiceProviderBase:()=>d});const t=require("@awesome-nodes/object"),r=require("@awesome-nodes/object/data");class d extends t.ObjectBase{provide(e){const o=this.constructor.createFactoryProvider(e,this);return o.provide||(o.provide=e),this.inject({provide:o.provide,useFactory:o.useFactory,deps:o.deps})}static createFactoryProvider(e,o=new this){let t;switch(r.ENVIRONMENT_TOKEN.value){case null:case void 0:t=o.designFactory;break;case!1:t=o.developmentFactory;break;default:t=o.productionFactory}return t.provide||(t.provide=e),{provide:t.provide,useFactory:(...e)=>new(t.provide.bind(null,...e)),deps:t.deps||[]}}static createClassProvider(){const e=new this,o=e.productionFactory;let t;switch(r.ENVIRONMENT_TOKEN.value){case null:case void 0:t=e.designFactory;break;case!1:t=e.developmentFactory;break;default:t=o}return{provide:o.provide,useClass:t.provide}}}return o})()}));
//# sourceMappingURL=providers.min.js.map