UNPKG

3.69 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/Model.ts"],"names":["Model","__model","state","value","key","markModified","def","obj","params","toObjectOne","o","toObject2","Object","keys","length","toObject","Array","isArray","Bluebird","map","prepareOne","res","Schema","Types","defaultOptions","timestamps","options"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;IAIaA,K;;;SACXC,O,GAAU,I;;;;;WAUV,oBAAqB;AAAA;;AAAA,UAAZC,KAAY,uEAAJ,EAAI;AACnB,+BAAQA,KAAR,EAAe,UAACC,KAAD,EAAaC,GAAb,EAA0B;AACvC,6BAAI,KAAJ,EAAUA,GAAV,EAAeD,KAAf,EADuC,CAEvC;;AACA,QAAA,KAAI,CAACE,YAAL,CAAkBD,GAAlB;AACD,OAJD;AAKD;;;WACD,kBAASA,GAAT,EAAsBE,GAAtB,EAAgC;AAC9B,UAAI,CAACF,GAAL,EAAU,OAAO,IAAP;AACV,aAAO,qBAAI,IAAJ,EAAUA,GAAV,EAAeE,GAAf,CAAP;AACD,K,CAED;;;;;sGACA,iBAAwBC,GAAxB,EAAkCC,MAAlC;AAAA;AAAA;AAAA;AAAA;AAAA,iDACSD,GADT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mGAGA,kBAAqBA,GAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuCC,gBAAAA,MAAvC,8DAAqD,EAArD;;AACE;AACA;AACMC,gBAAAA,WAHR,GAGsB,SAAdA,WAAc,CAACC,CAAD,EAAY;AAC9B,sBAAI,CAACF,MAAM,CAACG,SAAR,IAAqB,CAACC,MAAM,CAACC,IAAP,CAAYL,MAAM,CAACG,SAAnB,EAA8BG,MAAxD,EAAgE,OAAOJ,CAAP;AAChE,sBAAIA,CAAC,IAAIA,CAAC,CAACK,QAAX,EAAqB,OAAOL,CAAC,CAACK,QAAF,CAAWP,MAAM,CAACG,SAAlB,CAAP;AACrB,yBAAOD,CAAP;AACD,iBAPH;;AAAA,qBAUMM,KAAK,CAACC,OAAN,CAAcV,GAAd,CAVN;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAWgBW,qBAASC,GAAT,CAAaZ,GAAb,EAAkB,UAACG,CAAD;AAAA,yBAAO,MAAI,CAACU,UAAL,CAAgBV,CAAhB,EAAmBF,MAAnB,CAAP;AAAA,iBAAlB,CAXhB;;AAAA;AAWIa,gBAAAA,GAXJ;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAagB,KAAKD,UAAL,CAAgBb,GAAhB,EAAqBC,MAArB,CAbhB;;AAAA;AAaIa,gBAAAA,GAbJ;;AAAA;AAAA,qBAgBML,KAAK,CAACC,OAAN,CAAcI,GAAd,CAhBN;AAAA;AAAA;AAAA;;AAAA,kDAiBWA,GAAG,CAACF,GAAJ,CAAQV,WAAR,CAjBX;;AAAA;AAAA,kDAmBSA,WAAW,CAACY,GAAD,CAnBpB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;;;AA3BWrB,K,CAEJsB,M,GAASA,gB;AAFLtB,K,CAGJuB,K,GAAQD,iBAAOC,K;AAHXvB,K,CAKJwB,c,GAAyC;AAC9CC,EAAAA,UAAU,EAAE;AADkC,C;AALrCzB,K,CASJ0B,O,GAAkC,E;eAyC5B1B,K","sourcesContent":["import Bluebird from 'bluebird';\nimport forEach from 'lodash/forEach';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport { Schema } from 'mongoose';\n\nimport { IModel } from './types';\n\nexport class Model implements IModel {\n __model = true;\n static Schema = Schema;\n static Types = Schema.Types;\n // TODO: еще раз об этом подумать\n static defaultOptions: { [key: string]: any } = {\n timestamps: true,\n };\n // overridable\n static options: { [key: string]: any } = {};\n\n setState(state = {}) {\n forEach(state, (value: any, key: any) => {\n set(this, key, value);\n // @ts-ignore\n this.markModified(key);\n });\n }\n getState(key: string, def: any) {\n if (!key) return this;\n return get(this, key, def);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static async prepareOne(obj: any, params: any): Promise<any> {\n return obj;\n }\n static async prepare(obj: any | any[], params: any = {}): Promise<any | any[]> {\n // // console.log('PREPARE params.toObject', params.toObject);\n // // console.log('params.toObject2@@@', params.toObject2);\n const toObjectOne = (o: any) => {\n if (!params.toObject2 || !Object.keys(params.toObject2).length) return o;\n if (o && o.toObject) return o.toObject(params.toObject2);\n return o;\n };\n\n let res;\n if (Array.isArray(obj)) {\n res = await Bluebird.map(obj, (o) => this.prepareOne(o, params));\n } else {\n res = await this.prepareOne(obj, params);\n }\n\n if (Array.isArray(res)) {\n return res.map(toObjectOne);\n }\n return toObjectOne(res);\n }\n}\n\nexport default Model;\n"],"file":"Model.js"}
\No newline at end of file