UNPKG

3.94 kBSource Map (JSON)View Raw
1{"version":3,"file":"ModelsModule.js","names":["ModelsModule","__models","models","key","value","m","dbName","Err","app","module","run","model","nameOrNames","options","modelModule","Module","Array","isArray","mapValues","getModels","Model"],"sources":["../src/ModelsModule.ts"],"sourcesContent":["// import Module from '@lskjs/module';\nimport Err from '@lskjs/err';\nimport { IModule, Module } from '@lskjs/module';\nimport mapValues from 'lodash/mapValues';\n\nimport { IAsyncModel, IAsyncModelKeyValue, IModel, IModelKeyValue, IModelsModule } from './types';\n\nexport class ModelsModule extends Module implements IModelsModule {\n /**\n */\n __models?: IAsyncModelKeyValue;\n\n /**\n * overridable\n */\n models?: IAsyncModelKeyValue;\n\n /**\n * overridable\n */\n async getModels(): Promise<IAsyncModelKeyValue> {\n return {\n ...(this.models || {}),\n ...(this.__models || {}),\n };\n }\n\n setProp(key: string, value: any): Promise<void> {\n // @ts-ignore\n if (key === 'models') return super.setProp('__models', value);\n // @ts-ignore\n return super.setProp(key, value);\n }\n\n async moduleGetter(m: IModule): Promise<any> {\n // @ts-ignore\n if (!m.dbName) throw new Err('!this.dbName');\n // @ts-ignore\n await m.app.module(m.dbName, { run: true });\n // @ts-ignore\n return m.model;\n }\n\n async model(nameOrNames: string | string[], ...args: any[]): Promise<IModel | IModelKeyValue> {\n const options = { run: true, ...(args[0] || {}) };\n const modelModule = await this.module(nameOrNames, options);\n if (modelModule instanceof Module) {\n // @ts-ignore\n return modelModule.model;\n }\n // @ts-ignore\n if (Array.isArray(nameOrNames)) {\n // @ts-ignore\n return mapValues(modelModule, (m) => m.model);\n }\n // @ts-ignore\n return modelModule;\n }\n\n async getModules(): Promise<IAsyncModelKeyValue> {\n const models = await this.getModels();\n return {\n ...super.getModules(),\n ...mapValues(models, (Model: IAsyncModel) => [() => import('./ModelModule'), { Model }]),\n };\n }\n}\n\nexport default ModelsModule;\n"],"mappings":";;;;;;;;;;;;;;;;;AACA;AACA;AACA;AAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAI5BA,YAAY;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,MAGvBC,QAAQ;IAAA,MAKRC,MAAM;IAAA;EAAA;EAAA;IAAA;IAAA;IAEN;AACF;AACA;IAFE;MAAA,+FAGA;QAAA;UAAA;YAAA;cAAA,iEAEQ,IAAI,CAACA,MAAM,IAAI,CAAC,CAAC,GACjB,IAAI,CAACD,QAAQ,IAAI,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAE1B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,iBAAQE,GAAW,EAAEC,KAAU,EAAiB;MAC9C;MACA,IAAID,GAAG,KAAK,QAAQ,EAAE,mHAAqB,UAAU,EAAEC,KAAK;MAC5D;MACA,mHAAqBD,GAAG,EAAEC,KAAK;IACjC;EAAC;IAAA;IAAA;MAAA,kGAED,kBAAmBC,CAAU;QAAA;UAAA;YAAA;cAAA,IAEtBA,CAAC,CAACC,MAAM;gBAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIC,eAAG,CAAC,cAAc,CAAC;YAAA;cAAA;cAAA,OAEtCF,CAAC,CAACG,GAAG,CAACC,MAAM,CAACJ,CAAC,CAACC,MAAM,EAAE;gBAAEI,GAAG,EAAE;cAAK,CAAC,CAAC;YAAA;cAAA,kCAEpCL,CAAC,CAACM,KAAK;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2FAED,kBAAYC,WAA8B;QAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAClCC,OAAO;gBAAKH,GAAG,EAAE;cAAI,GAAM,gDAAW,CAAC,CAAC;cAAA;cAAA,OACpB,IAAI,CAACD,MAAM,CAACG,WAAW,EAAEC,OAAO,CAAC;YAAA;cAArDC,WAAW;cAAA,MACbA,WAAW,YAAYC,cAAM;gBAAA;gBAAA;cAAA;cAAA,kCAExBD,WAAW,CAACH,KAAK;YAAA;cAAA,KAGtBK,KAAK,CAACC,OAAO,CAACL,WAAW,CAAC;gBAAA;gBAAA;cAAA;cAAA,kCAErB,IAAAM,qBAAS,EAACJ,WAAW,EAAE,UAACT,CAAC;gBAAA,OAAKA,CAAC,CAACM,KAAK;cAAA,EAAC;YAAA;cAAA,kCAGxCG,WAAW;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACnB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,gGAED;QAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACuB,IAAI,CAACK,SAAS,EAAE;YAAA;cAA/BjB,MAAM;cAAA,mLAGP,IAAAgB,qBAAS,EAAChB,MAAM,EAAE,UAACkB,KAAkB;gBAAA,OAAK,CAAC;kBAAA;oBAAA,uCAAa,eAAe;kBAAA;gBAAA,CAAC,EAAE;kBAAEA,KAAK,EAALA;gBAAM,CAAC,CAAC;cAAA,EAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAE3F;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA1D+BL,cAAM;AAAA;AAAA,eA6DzBf,YAAY;AAAA"}
\No newline at end of file