UNPKG

3.54 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/ModelModule.js"],"names":["ModelModule","Schema","Model","model","dbName","Err","app","module","run","db","client","log","error","mergedOptions","defaultOptions","options","modelName","collection","schema","statics","loadClass","initSchema","mongooseModel","connection","createModel","Module"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;;;;;IAEaA,W;;;;;;;;;;;;;;;UACXC,M,GAASA,gB;UACTC,K,GAAQ,I;UACRC,K,GAAQ,I;UACRC,M,GAAS,I;;;;;;;uGACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAEO,KAAKA,MAFZ;AAAA;AAAA;AAAA;;AAAA,sBAE0B,IAAIC,eAAJ,CAAQ,cAAR,CAF1B;;AAAA;AAAA;AAAA,uBAGmB,KAAKC,GAAL,CAASC,MAAT,CAAgB,KAAKH,MAArB,EAA6B;AAAEI,kBAAAA,GAAG,EAAE;AAAP,iBAA7B,CAHnB;;AAAA;AAGQC,gBAAAA,EAHR;;AAAA,oBAIOA,EAAE,CAACC,MAJV;AAAA;AAAA;AAAA;;AAKI,qBAAKC,GAAL,CAASC,KAAT,CAAe,YAAf;AALJ,sBAMU,IAAIP,eAAJ,CAAQ,YAAR,CANV;;AAAA;AAAA,oBAQO,KAAKH,KARZ;AAAA;AAAA;AAAA;;AASI,qBAAKS,GAAL,CAASC,KAAT,CAAe,QAAf;AATJ,sBAUU,IAAIP,eAAJ,CAAQ,QAAR,CAVV;;AAAA;AAAA;AAAA,uBAYsB,0BAAS,KAAKH,KAAd,CAZtB;;AAAA;AAYQA,gBAAAA,KAZR;AAaQW,gBAAAA,aAbR,mCAa8BX,KAAK,CAACY,cAAN,IAAwB,EAbtD,GAa+DZ,KAAK,CAACa,OAAN,IAAiB,EAbhF;AAciBC,gBAAAA,SAdjB,GAcuDH,aAdvD,CAcUV,KAdV,EAc4Bc,UAd5B,GAcuDJ,aAdvD,CAc4BI,UAd5B,EAc2CF,OAd3C,6CAcuDF,aAdvD;;AAAA,oBAeOG,SAfP;AAAA;AAAA;AAAA;;AAAA,sBAewB,IAAIX,eAAJ,CAAQ,gBAAR,CAfxB;;AAAA;AAAA,oBAgBOY,UAhBP;AAAA;AAAA;AAAA;;AAAA,sBAgByB,IAAIZ,eAAJ,CAAQ,qBAAR,CAhBzB;;AAAA;AAiBQa,gBAAAA,MAjBR,GAiBiB,IAAI,KAAKjB,MAAT,CAAgBC,KAAK,CAACgB,MAAtB,EAA8BH,OAA9B,CAjBjB;AAkBEG,gBAAAA,MAAM,CAACC,OAAP,CAAeb,GAAf,GAAqB,KAAKA,GAA1B;AACAY,gBAAAA,MAAM,CAACE,SAAP,CAAiBlB,KAAjB;;AAnBF,qBAoBMA,KAAK,CAACmB,UApBZ;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAoB8BnB,KAAK,CAACmB,UAAN,CAAiBH,MAAjB,CApB9B;;AAAA;AAqBQI,gBAAAA,aArBR,GAqBwBb,EAAE,CAACC,MAAH,CAAUa,UAAV,CAAqBpB,KAArB,CAA2Ba,SAA3B,EAAsCE,MAAtC,EAA8CD,UAA9C,CArBxB;AAAA,iDAsBSK,aAtBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+FAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAGqB,KAAKE,WAAL,EAHrB;;AAAA;AAGE,qBAAKrB,KAHP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA7B+BsB,kB;;;eAoClBzB,W","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"],"file":"ModelModule.js"}
\No newline at end of file