UNPKG

@joktec/mongo

Version:

JokTec - Mongo Service

25 lines 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildPlugin = buildPlugin; const utils_1 = require("@joktec/utils"); const typegoose_1 = require("@typegoose/typegoose"); const lodash_1 = require("lodash"); const plugins_1 = require("../plugins"); function buildPlugin(options) { const plugins = (0, utils_1.toArray)(options.plugins).map(p => (0, typegoose_1.plugin)(p.mongoosePlugin, p.options)); const deletedAt = (0, lodash_1.get)(options, 'paranoid.deletedAt.name', 'deletedAt'); const opts = { paranoidKey: options?.paranoid ? deletedAt : null }; plugins.push((0, typegoose_1.plugin)(plugins_1.StrictReferencePlugin, opts)); if (options.paranoid) { const paranoidOpts = { deletedAt: { name: 'deletedAt', type: Date }, }; if (typeof options?.paranoid === 'object') { Object.assign(paranoidOpts, options.paranoid); } plugins.push((0, typegoose_1.plugin)(plugins_1.ParanoidPlugin, paranoidOpts)); } plugins.push((0, typegoose_1.plugin)(plugins_1.TransformPlugin)); return plugins; } //# sourceMappingURL=mongo.plugin.js.map