UNPKG

3.73 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/ModelsModule.ts"],"names":["ModelsModule","__models","models","key","value","m","dbName","Err","app","module","run","model","nameOrNames","options","modelModule","Module","Array","isArray","getModels","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;;;;;;;IAIaA,Y;;;;;;;;;;;;;;;UAGXC,Q;UAKAC,M;;;;;;;AAEA;AACF;AACA;;qGACE;AAAA;AAAA;AAAA;AAAA;AAAA,iFAEQ,KAAKA,MAAL,IAAe,EAFvB,GAGQ,KAAKD,QAAL,IAAiB,EAHzB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAOA,iBAAQE,GAAR,EAAqBC,KAArB,EAAgD;AAC9C;AACA,UAAID,GAAG,KAAK,QAAZ,EAAsB,mHAAqB,UAArB,EAAiCC,KAAjC,EAFwB,CAG9C;;AACA,yHAAqBD,GAArB,EAA0BC,KAA1B;AACD;;;;wGAED,kBAAmBC,CAAnB;AAAA;AAAA;AAAA;AAAA;AAAA,oBAEOA,CAAC,CAACC,MAFT;AAAA;AAAA;AAAA;;AAAA,sBAEuB,IAAIC,eAAJ,CAAQ,cAAR,CAFvB;;AAAA;AAAA;AAAA,uBAIQF,CAAC,CAACG,GAAF,CAAMC,MAAN,CAAaJ,CAAC,CAACC,MAAf,EAAuB;AAAEI,kBAAAA,GAAG,EAAE;AAAP,iBAAvB,CAJR;;AAAA;AAAA,kDAMSL,CAAC,CAACM,KANX;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iGASA,kBAAYC,WAAZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACQC,gBAAAA,OADR;AACoBH,kBAAAA,GAAG,EAAE;AADzB,mBACmC,gDAAW,EAD9C;AAAA;AAAA,uBAE4B,KAAKD,MAAL,CAAYG,WAAZ,EAAyBC,OAAzB,CAF5B;;AAAA;AAEQC,gBAAAA,WAFR;;AAAA,sBAGMA,WAAW,YAAYC,cAH7B;AAAA;AAAA;AAAA;;AAAA,kDAKWD,WAAW,CAACH,KALvB;;AAAA;AAAA,qBAQMK,KAAK,CAACC,OAAN,CAAcL,WAAd,CARN;AAAA;AAAA;AAAA;;AAAA,kDAUW,2BAAUE,WAAV,EAAuB,UAACT,CAAD;AAAA,yBAAOA,CAAC,CAACM,KAAT;AAAA,iBAAvB,CAVX;;AAAA;AAAA,kDAaSG,WAbT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sGAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACuB,KAAKI,SAAL,EADvB;;AAAA;AACQhB,gBAAAA,MADR;AAAA,mMAIO,2BAAUA,MAAV,EAAkB,UAACiB,KAAD;AAAA,yBAAwB,CAAC;AAAA;AAAA,6DAAa,eAAb;AAAA;AAAA,mBAAD,EAAgC;AAAEA,oBAAAA,KAAK,EAALA;AAAF,mBAAhC,CAAxB;AAAA,iBAAlB,CAJP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EApDgCJ,c;;;eA6DnBf,Y","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"],"file":"ModelsModule.js"}
\No newline at end of file