UNPKG

3.67 kBSource Map (JSON)View Raw
1{"version":3,"file":"ModelModule.js","names":["ModelModule","Schema","Model","model","dbName","Err","app","module","run","db","client","log","error","importFn","mergedOptions","defaultOptions","options","modelName","collection","schema","statics","loadClass","initSchema","mongooseModel","connection","createModel","Module"],"sources":["../src/ModelModule.js"],"sourcesContent":["import Err from '@lskjs/err';\nimport Module from '@lskjs/module';\n// @ts-ignore\nimport importFn from '@lskjs/utils/importFn';\nimport { Schema } from 'mongoose';\n\nexport class ModelModule extends Module {\n Schema = Schema;\n Model = null;\n model = null;\n dbName = 'db';\n async createModel() {\n // : Promise<any>\n if (!this.dbName) throw new Err('!this.dbName');\n const db = await this.app.module(this.dbName, { run: true });\n if (!db.client) {\n this.log.error('!db.client');\n throw new Err('!db.client');\n }\n if (!this.Model) {\n this.log.error('!Model');\n throw new Err('!Model');\n }\n const Model = await importFn(this.Model);\n const mergedOptions = { ...(Model.defaultOptions || {}), ...(Model.options || {}) };\n const { model: modelName, collection, ...options } = mergedOptions;\n if (!modelName) throw new Err('!options.model');\n if (!collection) throw new Err('!options.collection');\n const schema = new this.Schema(Model.schema, options);\n schema.statics.app = this.app;\n schema.loadClass(Model);\n if (Model.initSchema) await Model.initSchema(schema);\n const mongooseModel = db.client.connection.model(modelName, schema, collection);\n return mongooseModel;\n }\n async run() {\n // : Promise<void>\n await super.run();\n this.model = await this.createModel();\n }\n}\n\nexport default ModelModule;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA,IAErBA,WAAW;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,MACtBC,MAAM,GAAGA,gBAAM;IAAA,MACfC,KAAK,GAAG,IAAI;IAAA,MACZC,KAAK,GAAG,IAAI;IAAA,MACZC,MAAM,GAAG,IAAI;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,iGACb;QAAA;QAAA;UAAA;YAAA;cAAA,IAEO,IAAI,CAACA,MAAM;gBAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIC,eAAG,CAAC,cAAc,CAAC;YAAA;cAAA;cAAA,OAC9B,IAAI,CAACC,GAAG,CAACC,MAAM,CAAC,IAAI,CAACH,MAAM,EAAE;gBAAEI,GAAG,EAAE;cAAK,CAAC,CAAC;YAAA;cAAtDC,EAAE;cAAA,IACHA,EAAE,CAACC,MAAM;gBAAA;gBAAA;cAAA;cACZ,IAAI,CAACC,GAAG,CAACC,KAAK,CAAC,YAAY,CAAC;cAAC,MACvB,IAAIP,eAAG,CAAC,YAAY,CAAC;YAAA;cAAA,IAExB,IAAI,CAACH,KAAK;gBAAA;gBAAA;cAAA;cACb,IAAI,CAACS,GAAG,CAACC,KAAK,CAAC,QAAQ,CAAC;cAAC,MACnB,IAAIP,eAAG,CAAC,QAAQ,CAAC;YAAA;cAAA;cAAA,OAEL,IAAAQ,oBAAQ,EAAC,IAAI,CAACX,KAAK,CAAC;YAAA;cAAlCA,KAAK;cACLY,aAAa,mCAASZ,KAAK,CAACa,cAAc,IAAI,CAAC,CAAC,GAAOb,KAAK,CAACc,OAAO,IAAI,CAAC,CAAC;cACjEC,SAAS,GAA6BH,aAAa,CAA1DX,KAAK,EAAae,UAAU,GAAiBJ,aAAa,CAAxCI,UAAU,EAAKF,OAAO,6CAAKF,aAAa;cAAA,IAC7DG,SAAS;gBAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIZ,eAAG,CAAC,gBAAgB,CAAC;YAAA;cAAA,IAC1Ca,UAAU;gBAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIb,eAAG,CAAC,qBAAqB,CAAC;YAAA;cAC/Cc,MAAM,GAAG,IAAI,IAAI,CAAClB,MAAM,CAACC,KAAK,CAACiB,MAAM,EAAEH,OAAO,CAAC;cACrDG,MAAM,CAACC,OAAO,CAACd,GAAG,GAAG,IAAI,CAACA,GAAG;cAC7Ba,MAAM,CAACE,SAAS,CAACnB,KAAK,CAAC;cAAC,KACpBA,KAAK,CAACoB,UAAU;gBAAA;gBAAA;cAAA;cAAA;cAAA,OAAQpB,KAAK,CAACoB,UAAU,CAACH,MAAM,CAAC;YAAA;cAC9CI,aAAa,GAAGd,EAAE,CAACC,MAAM,CAACc,UAAU,CAACrB,KAAK,CAACc,SAAS,EAAEE,MAAM,EAAED,UAAU,CAAC;cAAA,iCACxEK,aAAa;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACrB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yFACD;QAAA;UAAA;YAAA;cAAA;cAAA;YAAA;cAAA;cAAA,OAGqB,IAAI,CAACE,WAAW,EAAE;YAAA;cAArC,IAAI,CAACtB,KAAK;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACX;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAjC8BuB,kBAAM;AAAA;AAAA,eAoCxB1B,WAAW;AAAA"}
\No newline at end of file