/** * The Laction JS(lactionQueue JS) entry file. * Slight version. * Only includes the core build (No event system). * For smaller build bundle. */ import { EnvAssociate } from './utils/util'; import { InitStore } from './core/store'; import { InitCore } from './core/lycabinet'; import { InitLazyDepartment } from './core/lazy-support'; import { InitMixin } from "./core/mixin"; // set light on EnvAssociate.Light = true; /** * Using fake event system. * @param {*} Lycabinet */ const InitEventSystem = function(Lycabinet){ const Protos = Lycabinet.prototype; const FakeFunc = new Function(); Protos._isHappend = FakeFunc; Protos._setlog = FakeFunc; Protos._once = FakeFunc; Protos._trigger = FakeFunc; Protos._off = FakeFunc; Protos._on = FakeFunc; } function Lycabinet(...options){ if (process.env.NODE_ENV !== 'production' && !(this instanceof Lycabinet) ) { (global.warn || console.warn)('Lycabinet is a constructor and should be called with the `new` keyword'); return null; } this.__init.apply(this, options); } InitStore(Lycabinet); InitEventSystem(Lycabinet); InitCore(Lycabinet); InitLazyDepartment(Lycabinet); InitMixin(Lycabinet); /** * Manually select the optional Extends modules. */ // import { initImbedding } from './core/immbedding'; // initImbedding(Lycabinet); // import { addFilter } from './extends/filter'; // addFilter(Lycabinet); // import { addObserver } from './extends/observer'; // addObserver(Lycabinet); // import { addCheck } from './extends/check'; // addCheck(Lycabinet); // import { addZip } from './extends/zip'; // addZip(Lycabinet); import { initAlias } from './extends/alias'; initAlias(Lycabinet); export default Lycabinet;