UNPKG

3.86 kBSource Map (JSON)View Raw
1{"version":3,"file":"Model.js","names":["Model","__model","state","forEach","value","key","set","markModified","def","get","obj","params","toObjectOne","o","toObject2","Object","keys","length","toObject","Array","isArray","Bluebird","map","prepareOne","res","Schema","Types","defaultOptions","timestamps","options"],"sources":["../src/Model.ts"],"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"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAkC,IAIrBA,KAAK;EAAA;IAAA;IAAA,KAChBC,OAAO,GAAG,IAAI;EAAA;EAAA;IAAA;IAAA,OAUd,oBAAqB;MAAA;MAAA,IAAZC,KAAK,uEAAG,CAAC,CAAC;MACjB,IAAAC,mBAAO,EAACD,KAAK,EAAE,UAACE,KAAU,EAAEC,GAAQ,EAAK;QACvC,IAAAC,eAAG,EAAC,KAAI,EAAED,GAAG,EAAED,KAAK,CAAC;QACrB;QACA,KAAI,CAACG,YAAY,CAACF,GAAG,CAAC;MACxB,CAAC,CAAC;IACJ;EAAC;IAAA;IAAA,OACD,kBAASA,GAAW,EAAEG,GAAQ,EAAE;MAC9B,IAAI,CAACH,GAAG,EAAE,OAAO,IAAI;MACrB,OAAO,IAAAI,eAAG,EAAC,IAAI,EAAEJ,GAAG,EAAEG,GAAG,CAAC;IAC5B;;IAEA;EAAA;IAAA;IAAA;MAAA,gGACA,iBAAwBE,GAAQ,EAAEC,MAAW;QAAA;UAAA;YAAA;cAAA,iCACpCD,GAAG;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACX;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6FACD,kBAAqBA,GAAgB;QAAA;QAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAEC,MAAW,8DAAG,CAAC,CAAC;cACrD;cACA;cACMC,WAAW,GAAG,SAAdA,WAAW,CAAIC,CAAM,EAAK;gBAC9B,IAAI,CAACF,MAAM,CAACG,SAAS,IAAI,CAACC,MAAM,CAACC,IAAI,CAACL,MAAM,CAACG,SAAS,CAAC,CAACG,MAAM,EAAE,OAAOJ,CAAC;gBACxE,IAAIA,CAAC,IAAIA,CAAC,CAACK,QAAQ,EAAE,OAAOL,CAAC,CAACK,QAAQ,CAACP,MAAM,CAACG,SAAS,CAAC;gBACxD,OAAOD,CAAC;cACV,CAAC;cAAA,KAGGM,KAAK,CAACC,OAAO,CAACV,GAAG,CAAC;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACRW,oBAAQ,CAACC,GAAG,CAACZ,GAAG,EAAE,UAACG,CAAC;gBAAA,OAAK,MAAI,CAACU,UAAU,CAACV,CAAC,EAAEF,MAAM,CAAC;cAAA,EAAC;YAAA;cAAhEa,GAAG;cAAA;cAAA;YAAA;cAAA;cAAA,OAES,IAAI,CAACD,UAAU,CAACb,GAAG,EAAEC,MAAM,CAAC;YAAA;cAAxCa,GAAG;YAAA;cAAA,KAGDL,KAAK,CAACC,OAAO,CAACI,GAAG,CAAC;gBAAA;gBAAA;cAAA;cAAA,kCACbA,GAAG,CAACF,GAAG,CAACV,WAAW,CAAC;YAAA;cAAA,kCAEtBA,WAAW,CAACY,GAAG,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACxB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA;AA/CUxB,KAAK,CAETyB,MAAM,GAAGA,gBAAM;AAFXzB,KAAK,CAGT0B,KAAK,GAAGD,gBAAM,CAACC,KAAK;AAHhB1B,KAAK,CAKT2B,cAAc,GAA2B;EAC9CC,UAAU,EAAE;AACd,CAAC;AAPU5B,KAAK,CAST6B,OAAO,GAA2B,CAAC,CAAC;AAAA,eAyC9B7B,KAAK;AAAA"}
\No newline at end of file