Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@typegoose/typegoose

Package Overview
Dependencies
Maintainers
1
Versions
223
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@typegoose/typegoose - npm Package Compare versions

Comparing version 7.2.0 to 7.3.0-0

lib/internal/processProp.d.ts

4

lib/defaultClasses.d.ts
import type { Types } from 'mongoose';
import type { AnyParamConstructor, DocumentType, RefType } from './types';
export declare abstract class TimeStamps {
createdAt: Readonly<Date>;
updatedAt: Readonly<Date>;
createdAt?: Date;
updatedAt?: Date;
}

@@ -7,0 +7,0 @@ /**

@@ -6,17 +6,14 @@ "use strict";

const modelOptions_1 = require("./modelOptions");
let TimeStamps = /** @class */ (() => {
let TimeStamps =
let TimeStamps =
/**
* This class can be used for already existing type information for the Timestamps
*/
class TimeStamps {
};
TimeStamps = tslib_1.__decorate([
modelOptions_1.modelOptions({ schemaOptions: { timestamps: true } })
/**
* This class can be used for already existing type information for the Timestamps
*/
class TimeStamps {
};
TimeStamps = tslib_1.__decorate([
modelOptions_1.modelOptions({ schemaOptions: { timestamps: true } })
/**
* This class can be used for already existing type information for the Timestamps
*/
], TimeStamps);
return TimeStamps;
})();
], TimeStamps);
exports.TimeStamps = TimeStamps;

@@ -35,2 +32,2 @@ /**

exports.FindOrCreate = FindOrCreate;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdENsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLGlEQUE4QztBQU85QztJQUFBLElBQXNCLFVBQVU7SUFIaEM7O09BRUc7SUFDSCxNQUFzQixVQUFVO0tBRy9CLENBQUE7SUFIcUIsVUFBVTtRQUovQiwyQkFBWSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7UUFDdEQ7O1dBRUc7T0FDbUIsVUFBVSxDQUcvQjtJQUFELGlCQUFDO0tBQUE7QUFIcUIsZ0NBQVU7QUFLaEM7O0dBRUc7QUFDSCxNQUFzQixJQUFJO0NBTXpCO0FBTkQsb0JBTUM7QUFPRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7Q0FLakM7QUFMRCxvQ0FLQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdENsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLGlEQUE4QztBQU85QyxJQUFzQixVQUFVO0FBSGhDOztHQUVHO0FBQ0gsTUFBc0IsVUFBVTtDQUcvQixDQUFBO0FBSHFCLFVBQVU7SUFKL0IsMkJBQVksQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ3REOztPQUVHO0dBQ21CLFVBQVUsQ0FHL0I7QUFIcUIsZ0NBQVU7QUFLaEM7O0dBRUc7QUFDSCxNQUFzQixJQUFJO0NBTXpCO0FBTkQsb0JBTUM7QUFPRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7Q0FLakM7QUFMRCxvQ0FLQyJ9
import type { Query } from 'mongoose';
import type { DocumentType, EmptyVoidFn } from './types';
declare type NDA<T> = number | DocumentType<T> | DocumentType<T>[];
declare type ClassDecorator = (target: any) => void;
declare type HookNextErrorFn = (err?: Error) => void;

@@ -6,0 +5,0 @@ declare type PreFnWithDocumentType<T> = (this: DocumentType<T>, next: HookNextErrorFn) => void;

@@ -49,2 +49,2 @@ "use strict";

exports.Post = hooks.post;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsb0RBQXFEO0FBQ3JELDRDQUFzRDtBQUN0RCwrQ0FBdUM7QUEwRHZDLGlGQUFpRjtBQUNqRixNQUFNLEtBQUssR0FBVTtJQUNuQixHQUFHLENBQUMsR0FBRyxJQUFJO1FBQ1QsT0FBTyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFHLElBQUk7UUFDVixPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsU0FBUyxVQUFVLENBQUMsTUFBVyxFQUFFLFFBQXdCLEVBQUUsSUFBVzs7SUFDcEUsdURBQXVEO0lBQ3ZELE1BQU0sT0FBTyxHQUFVLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxpQkFBUyxDQUNQLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFDN0IsSUFBSSxTQUFTLENBQUMsSUFBSSxlQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQ3JHLENBQUM7SUFDRixNQUFNLElBQUksR0FBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxDLG9CQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsZUFBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTFHLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1FBQzVCLFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssTUFBTTtnQkFDVCxNQUFNLFNBQVMsR0FBa0IsS0FBSyxDQUFDLElBQUksT0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDeEcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbkUsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNLFFBQVEsR0FBa0IsS0FBSyxDQUFDLElBQUksT0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDdEcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakUsTUFBTTtTQUNUO0tBQ0Y7QUFDSCxDQUFDO0FBRVksUUFBQSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUNoQixRQUFBLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBRS9CLHdCQUF3QjtBQUNYLFFBQUEsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDaEIsUUFBQSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsb0RBQXFEO0FBQ3JELDRDQUFzRDtBQUN0RCwrQ0FBdUM7QUF5RHZDLGlGQUFpRjtBQUNqRixNQUFNLEtBQUssR0FBVTtJQUNuQixHQUFHLENBQUMsR0FBRyxJQUFJO1FBQ1QsT0FBTyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFHLElBQUk7UUFDVixPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsU0FBUyxVQUFVLENBQUMsTUFBVyxFQUFFLFFBQXdCLEVBQUUsSUFBVzs7SUFDcEUsdURBQXVEO0lBQ3ZELE1BQU0sT0FBTyxHQUFVLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxpQkFBUyxDQUNQLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFDN0IsSUFBSSxTQUFTLENBQUMsSUFBSSxlQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQ3JHLENBQUM7SUFDRixNQUFNLElBQUksR0FBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxDLG9CQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsZUFBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTFHLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1FBQzVCLFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssTUFBTTtnQkFDVCxNQUFNLFNBQVMsR0FBa0IsS0FBSyxDQUFDLElBQUksT0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDeEcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbkUsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNLFFBQVEsR0FBa0IsS0FBSyxDQUFDLElBQUksT0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDdEcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakUsTUFBTTtTQUNUO0tBQ0Y7QUFDSCxDQUFDO0FBRVksUUFBQSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUNoQixRQUFBLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBRS9CLHdCQUF3QjtBQUNYLFFBQUEsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDaEIsUUFBQSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyJ9

@@ -8,7 +8,7 @@ import type { IndexOptions } from './types';

* ```
* @index({ article: 1, user: 1 }, { unique: true })
* class Name {}
* @index({ article: 1, user: 1 }, { unique: true })
* class Name {}
* ```
*/
export declare function index<T = {}>(fields: T, options?: IndexOptions<T>): (target: any) => void;
export declare function index<T = {}>(fields: T, options?: IndexOptions<T>): ClassDecorator;
export { index as Index };

@@ -13,4 +13,4 @@ "use strict";

* ```
* @index({ article: 1, user: 1 }, { unique: true })
* class Name {}
* @index({ article: 1, user: 1 }, { unique: true })
* class Name {}
* ```

@@ -17,0 +17,0 @@ */

@@ -46,3 +46,8 @@ /**

*/
QueryMethod = "typegoose:queryMethod"
QueryMethod = "typegoose:queryMethod",
/**
* Storage location for Nested Discriminators
* -> Use only for a class
*/
NestedDiscriminators = "typegoose:nestedDiscriminators"
}

@@ -49,0 +54,0 @@ /** This Enum is meant for baseProp to decide for diffrent props (like if it is an arrayProp or prop or mapProp) */

@@ -51,2 +51,7 @@ "use strict";

DecoratorKeys["QueryMethod"] = "typegoose:queryMethod";
/**
* Storage location for Nested Discriminators
* -> Use only for a class
*/
DecoratorKeys["NestedDiscriminators"] = "typegoose:nestedDiscriminators";
})(DecoratorKeys = exports.DecoratorKeys || (exports.DecoratorKeys = {}));

@@ -67,2 +72,2 @@ /** This Enum is meant for baseProp to decide for diffrent props (like if it is an arrayProp or prop or mapProp) */

})(Severity = exports.Severity || (exports.Severity = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILElBQVksYUEyQ1g7QUEzQ0QsV0FBWSxhQUFhO0lBQ3ZCLGtEQUFrRDtJQUNsRCxxQ0FBb0IsQ0FBQTtJQUNwQjs7O09BR0c7SUFDSCxtREFBa0MsQ0FBQTtJQUNsQzs7O09BR0c7SUFDSCxtREFBa0MsQ0FBQTtJQUNsQzs7O09BR0c7SUFDSCw0Q0FBMkIsQ0FBQTtJQUMzQjs7O09BR0c7SUFDSCw4Q0FBNkIsQ0FBQTtJQUM3Qjs7O09BR0c7SUFDSCxnREFBK0IsQ0FBQTtJQUMvQjs7O09BR0c7SUFDSCxrREFBaUMsQ0FBQTtJQUNqQzs7O09BR0c7SUFDSCw4REFBNkMsQ0FBQTtJQUM3Qzs7O09BR0c7SUFDSCxzREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBM0NXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBMkN4QjtBQUVELG1IQUFtSDtBQUNuSCxJQUFZLFFBSVg7QUFKRCxXQUFZLFFBQVE7SUFDbEIseUNBQUssQ0FBQTtJQUNMLHFDQUFHLENBQUE7SUFDSCx1Q0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBSW5CO0FBRUQsd0NBQXdDO0FBQ3hDLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQix5Q0FBSyxDQUFBO0lBQ0wsdUNBQUksQ0FBQTtJQUNKLHlDQUFLLENBQUE7QUFDUCxDQUFDLEVBSlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFJbkIifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILElBQVksYUFnRFg7QUFoREQsV0FBWSxhQUFhO0lBQ3ZCLGtEQUFrRDtJQUNsRCxxQ0FBb0IsQ0FBQTtJQUNwQjs7O09BR0c7SUFDSCxtREFBa0MsQ0FBQTtJQUNsQzs7O09BR0c7SUFDSCxtREFBa0MsQ0FBQTtJQUNsQzs7O09BR0c7SUFDSCw0Q0FBMkIsQ0FBQTtJQUMzQjs7O09BR0c7SUFDSCw4Q0FBNkIsQ0FBQTtJQUM3Qjs7O09BR0c7SUFDSCxnREFBK0IsQ0FBQTtJQUMvQjs7O09BR0c7SUFDSCxrREFBaUMsQ0FBQTtJQUNqQzs7O09BR0c7SUFDSCw4REFBNkMsQ0FBQTtJQUM3Qzs7O09BR0c7SUFDSCxzREFBcUMsQ0FBQTtJQUNyQzs7O09BR0c7SUFDSCx3RUFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBaERXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBZ0R4QjtBQUVELG1IQUFtSDtBQUNuSCxJQUFZLFFBSVg7QUFKRCxXQUFZLFFBQVE7SUFDbEIseUNBQUssQ0FBQTtJQUNMLHFDQUFHLENBQUE7SUFDSCx1Q0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBSW5CO0FBRUQsd0NBQXdDO0FBQ3hDLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQix5Q0FBSyxDQUFBO0lBQ0wsdUNBQUksQ0FBQTtJQUNKLHlDQUFLLENBQUE7QUFDUCxDQUFDLEVBSlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFJbkIifQ==

@@ -13,5 +13,2 @@ export declare class InvalidPropError extends Error {

}
export declare class NoMetadataError extends Error {
constructor(key: string);
}
/** Not All Virtual Populate Elements Error */

@@ -18,0 +15,0 @@ export declare class NotAllVPOPElementsError extends Error {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoValidClass = exports.NotAllVPOPElementsError = exports.NoMetadataError = exports.NotStringTypeError = exports.NotNumberTypeError = exports.InvalidTypeError = exports.InvalidPropError = void 0;
exports.NoValidClass = exports.NotAllVPOPElementsError = exports.NotStringTypeError = exports.NotNumberTypeError = exports.InvalidTypeError = exports.InvalidPropError = void 0;
const util_1 = require("util");

@@ -42,10 +42,2 @@ const utils_1 = require("./utils");

exports.NotStringTypeError = NotStringTypeError;
class NoMetadataError extends Error {
constructor(key) {
super(`There is no metadata for the "${key}" property.\n` +
'Check if emitDecoratorMetadata is enabled in tsconfig.json ' +
'or check if you\'ve declared a sub document\'s class after usage.');
}
}
exports.NoMetadataError = NoMetadataError;
/** Not All Virtual Populate Elements Error */

@@ -64,2 +56,2 @@ class NotAllVPOPElementsError extends Error {

exports.NoValidClass = NoValidClass;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBOEI7QUFDOUIsbUNBQTRDO0FBRTVDLE1BQWEsZ0JBQWlCLFNBQVEsS0FBSztJQUN6QyxZQUFZLFVBQWtCLEVBQUUsR0FBVztRQUN6QyxLQUFLLENBQUMsYUFBYSxVQUFVLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUpELDRDQUlDO0FBRUQsTUFBYSxnQkFBaUIsU0FBUSxLQUFLO0lBQ3pDLFlBQVksVUFBa0IsRUFBRSxHQUFXLEVBQUUsSUFBYTtRQUN4RCxLQUFLLENBQUMsSUFBSSxVQUFVLElBQUksR0FBRyxrQ0FBa0MsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0Y7QUFKRCw0Q0FJQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsS0FBSztJQUMzQyxZQUFZLFVBQWtCLEVBQUUsR0FBVyxFQUFFLE9BQWdCLEVBQUUsU0FBa0I7UUFDL0UsSUFBSSxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxhQUFNLENBQ1YsMkZBQTJGO2tCQUN6RixrQ0FBa0MsRUFDcEMsVUFBVSxFQUFFLEdBQUcsRUFDZixPQUFPLEVBQUUsT0FBTyxTQUFTLENBQzFCLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxLQUFLLENBQUMsWUFBWSxVQUFVLElBQUksR0FBRyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztDQUNGO0FBYkQsZ0RBYUM7QUFFRCxNQUFhLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBWSxVQUFrQixFQUFFLEdBQVcsRUFBRSxPQUFnQixFQUFFLFNBQWtCO1FBQy9FLElBQUksT0FBTyxJQUFJLFNBQVMsRUFBRTtZQUN4QixLQUFLLENBQUMsYUFBTSxDQUNWLHlEQUF5RDtrQkFDdkQsa0NBQWtDLEVBQ3BDLFVBQVUsRUFBRSxHQUFHLEVBQ2YsT0FBTyxFQUFFLE9BQU8sU0FBUyxDQUMxQixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsS0FBSyxDQUFDLFlBQVksVUFBVSxJQUFJLEdBQUcsNkJBQTZCLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7Q0FDRjtBQWJELGdEQWFDO0FBRUQsTUFBYSxlQUFnQixTQUFRLEtBQUs7SUFDeEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FDSCxpQ0FBaUMsR0FBRyxlQUFlO1lBQ25ELDZEQUE2RDtZQUM3RCxtRUFBbUUsQ0FDcEUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVJELDBDQVFDO0FBRUQsOENBQThDO0FBQzlDLE1BQWEsdUJBQXdCLFNBQVEsS0FBSztJQUNoRCxZQUFZLElBQVksRUFBRSxHQUFXO1FBQ25DLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLDhEQUE4RCx5QkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILENBQUM7Q0FDRjtBQUpELDBEQUlDO0FBRUQsTUFBYSxZQUFhLFNBQVEsU0FBUztJQUN6QyxZQUFZLEVBQU87UUFDakIsS0FBSyxDQUFDLElBQUksRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQUpELG9DQUlDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBOEI7QUFDOUIsbUNBQTRDO0FBRTVDLE1BQWEsZ0JBQWlCLFNBQVEsS0FBSztJQUN6QyxZQUFZLFVBQWtCLEVBQUUsR0FBVztRQUN6QyxLQUFLLENBQUMsYUFBYSxVQUFVLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUpELDRDQUlDO0FBRUQsTUFBYSxnQkFBaUIsU0FBUSxLQUFLO0lBQ3pDLFlBQVksVUFBa0IsRUFBRSxHQUFXLEVBQUUsSUFBYTtRQUN4RCxLQUFLLENBQUMsSUFBSSxVQUFVLElBQUksR0FBRyxrQ0FBa0MsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0Y7QUFKRCw0Q0FJQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsS0FBSztJQUMzQyxZQUFZLFVBQWtCLEVBQUUsR0FBVyxFQUFFLE9BQWdCLEVBQUUsU0FBa0I7UUFDL0UsSUFBSSxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxhQUFNLENBQ1YsMkZBQTJGO2tCQUN6RixrQ0FBa0MsRUFDcEMsVUFBVSxFQUFFLEdBQUcsRUFDZixPQUFPLEVBQUUsT0FBTyxTQUFTLENBQzFCLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxLQUFLLENBQUMsWUFBWSxVQUFVLElBQUksR0FBRyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztDQUNGO0FBYkQsZ0RBYUM7QUFFRCxNQUFhLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBWSxVQUFrQixFQUFFLEdBQVcsRUFBRSxPQUFnQixFQUFFLFNBQWtCO1FBQy9FLElBQUksT0FBTyxJQUFJLFNBQVMsRUFBRTtZQUN4QixLQUFLLENBQUMsYUFBTSxDQUNWLHlEQUF5RDtrQkFDdkQsa0NBQWtDLEVBQ3BDLFVBQVUsRUFBRSxHQUFHLEVBQ2YsT0FBTyxFQUFFLE9BQU8sU0FBUyxDQUMxQixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsS0FBSyxDQUFDLFlBQVksVUFBVSxJQUFJLEdBQUcsNkJBQTZCLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7Q0FDRjtBQWJELGdEQWFDO0FBRUQsOENBQThDO0FBQzlDLE1BQWEsdUJBQXdCLFNBQVEsS0FBSztJQUNoRCxZQUFZLElBQVksRUFBRSxHQUFXO1FBQ25DLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLDhEQUE4RCx5QkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILENBQUM7Q0FDRjtBQUpELDBEQUlDO0FBRUQsTUFBYSxZQUFhLFNBQVEsU0FBUztJQUN6QyxZQUFZLEVBQU87UUFDakIsS0FBSyxDQUFDLElBQUksRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQUpELG9DQUlDIn0=

@@ -5,6 +5,8 @@ "use strict";

const mongoose = require("mongoose");
const util_1 = require("util");
const logSettings_1 = require("../logSettings");
const prop_1 = require("../prop");
const typegoose_1 = require("../typegoose");
const constants_1 = require("./constants");
const data_1 = require("./data");
const processProp_1 = require("./processProp");
const utils_1 = require("./utils");

@@ -36,3 +38,3 @@ /**

for (const decorator of decorators.values()) {
prop_1._buildPropMetadata(decorator);
processProp_1.processProp(decorator);
}

@@ -52,2 +54,20 @@ }

if (isFinalSchema) {
/** Get Metadata for Nested Discriminators */
const disMap = Reflect.getMetadata(constants_1.DecoratorKeys.NestedDiscriminators, cl);
if (disMap instanceof Map) {
for (const [key, discriminators] of disMap) {
logSettings_1.logger.debug('Applying Nested Discriminators for:', key, discriminators);
const path = sch.path(key);
utils_1.assertion(!utils_1.isNullOrUndefined(path), new Error(util_1.format('Path "%s" does not exist on Schema of "%s"', key, name)));
utils_1.assertion(typeof path.discriminator === 'function', new Error(util_1.format('There is no function called "discriminator" on schema-path "%s" on Schema of "%s"', key, name)));
for (const { type: child, value: childName } of discriminators) {
const childSch = utils_1.getName(child) === name ? sch : typegoose_1.buildSchema(child);
const discriminatorKey = childSch.get('discriminatorKey');
if (childSch.path(discriminatorKey)) {
childSch.paths[discriminatorKey].options.$skipDiscriminatorCheck = true;
}
path.discriminator(utils_1.getName(child), childSch, childName);
}
}
}
// Hooks

@@ -68,3 +88,2 @@ {

const virtuals = Reflect.getMetadata(constants_1.DecoratorKeys.VirtualPopulate, cl);
/** Simplify the usage */
if (virtuals instanceof Map) {

@@ -110,2 +129,2 @@ for (const [key, options] of virtuals) {

exports._buildSchema = _buildSchema;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBcUM7QUFFckMsZ0RBQXdDO0FBQ3hDLGtDQUE2QztBQVc3QywyQ0FBNEM7QUFDNUMsaUNBQStDO0FBQy9DLG1DQUFxSDtBQUVySDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixZQUFZLENBQzFCLEVBQUssRUFDTCxHQUFxQixFQUNyQixHQUE0QixFQUM1QixnQkFBeUIsSUFBSTs7SUFFN0Isd0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFckIsZ0NBQXdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQ7SUFFMUYsdUJBQXVCO0lBQ3ZCLEdBQUcsR0FBRywwQkFBa0IsQ0FBQyx5QkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTNGLE1BQU0sSUFBSSxHQUFHLGVBQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV6QixvQkFBTSxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFcEUseUJBQXlCO0lBQ3pCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDL0IsTUFBTSxJQUFJLFNBQWtCLE9BQU8sQ0FBQyxXQUFXLENBQUMseUJBQWEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLG1DQUFJLEVBQUUsQ0FBQztJQUN0RixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxPQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxhQUFhLG1DQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVwRSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMs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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBcUM7QUFFckMsK0JBQThCO0FBQzlCLGdEQUF3QztBQUN4Qyw0Q0FBMkM7QUFhM0MsMkNBQTRDO0FBQzVDLGlDQUErQztBQUMvQywrQ0FBNEM7QUFDNUMsbUNBQWdJO0FBRWhJOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsRUFBSyxFQUNMLEdBQXFCLEVBQ3JCLEdBQTRCLEVBQzVCLGdCQUF5QixJQUFJOztJQUU3Qix3QkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVyQixnQ0FBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDREQUE0RDtJQUUxRix1QkFBdUI7SUFDdkIsR0FBRyxHQUFHLDBCQUFrQixDQUFDLHlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFM0YsTUFBTSxJQUFJLEdBQUcsZUFBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXpCLG9CQUFNLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVwRSx5QkFBeUI7SUFDekIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQixNQUFNLElBQUksU0FBa0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyx5QkFBYSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsbUNBQUksRUFBRSxDQUFDO0lBQ3RGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLE9BQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGFBQWEsbUNBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRXBF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

@@ -421,3 +421,3 @@ "use strict";

case constants_1.Severity.WARN:
logSettings_1.logger.warn('Implicitly setting "Mixed" is not allowed! (%s, %s)', name, key);
logSettings_1.logger.warn('Setting "Mixed" for property "%s.%s"\nLook here for how to disable this message: https://typegoose.github.io/typegoose/docs/decorators/modelOptions/#allowmixed', name, key);
break;

@@ -427,3 +427,3 @@ case constants_1.Severity.ALLOW:

case constants_1.Severity.ERROR:
throw new TypeError(util_1.format('Implicitly setting "Mixed" is not allowed! (%s, %s)', name, key));
throw new TypeError(util_1.format('Setting "Mixed" is not allowed! (%s, %s)', name, key));
}

@@ -514,2 +514,2 @@ return; // always return, if "allowMixed" is not "ERROR"

exports.isConstructor = isConstructor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQXlDO0FBQ3pDLHFDQUFxQztBQUNyQywrQkFBOEI7QUFFOUIsZ0RBQXdDO0FBYXhDLDJDQUFnRTtBQUNoRSxpQ0FBOEQ7QUFDOUQscUNBQXdDO0FBRXhDOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBUztJQUNuQyxJQUFJLFFBQU8sSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksQ0FBQSxLQUFLLFFBQVEsRUFBRTtRQUNsQyxrRkFBa0Y7UUFDbEYsc0RBQXNEO1FBQ3RELE9BQU8sQ0FDTCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyRSxtRUFBbUU7WUFDbkUsaUVBQWlFO1lBQ2pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDakYsQ0FBQztLQUNIO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBYkQsa0NBYUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLElBQVM7SUFDbkMsSUFBSSxRQUFPLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLENBQUEsS0FBSyxRQUFRLEVBQUU7UUFDbEMsMkVBQTJFO1FBQzNFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQXlDO0FBQ3pDLHFDQUFxQztBQUNyQywrQkFBOEI7QUFFOUIsZ0RBQXdDO0FBYXhDLDJDQUFnRTtBQUNoRSxpQ0FBOEQ7QUFDOUQscUNBQXdDO0FBRXhDOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBUztJQUNuQyxJQUFJLFFBQU8sSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksQ0FBQSxLQUFLLFFBQVEsRUFBRTtRQUNsQyxrRkFBa0Y7UUFDbEYsc0RBQXNEO1FBQ3RELE9BQU8sQ0FDTCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyRSxtRUFBbUU7WUFDbkUsaUVBQWlFO1lBQ2pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDakYsQ0FBQztLQUNIO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBYkQsa0NBYUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLElBQVM7SUFDbkMsSUFBSSxRQUFPLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLENBQUEsS0FBSyxRQUFRLEVBQUU7UUFDbEMsMkVBQTJFO1FBQzNFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFB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

@@ -7,9 +7,9 @@ import type { IModelOptions } from './types';

* ```
* @modelOptions({ schemaOptions: { timestamps: true } })
* class Name {}
* @modelOptions({ schemaOptions: { timestamps: true } })
* class Name {}
*
* // Note: The default Class "TimeStamps" can be used for type information and options already set
* // Note: The default Class "TimeStamps" can be used for type information and options already set
* ```
*/
export declare function modelOptions(options: IModelOptions): (target: any) => void;
export declare function modelOptions(options: IModelOptions): ClassDecorator;
export { modelOptions as ModelOptions };

@@ -11,6 +11,6 @@ "use strict";

* ```
* @modelOptions({ schemaOptions: { timestamps: true } })
* class Name {}
* @modelOptions({ schemaOptions: { timestamps: true } })
* class Name {}
*
* // Note: The default Class "TimeStamps" can be used for type information and options already set
* // Note: The default Class "TimeStamps" can be used for type information and options already set
* ```

@@ -17,0 +17,0 @@ */

@@ -7,3 +7,3 @@ import type { Func } from './types';

*/
export declare function plugin<TFunc extends Func, TParams = Parameters<TFunc>[1]>(mongoosePlugin: TFunc, options?: TParams): (target: any) => void;
export declare function plugin<TFunc extends Func, TParams = Parameters<TFunc>[1]>(mongoosePlugin: TFunc, options?: TParams): ClassDecorator;
export { plugin as Plugins };
import { WhatIsIt } from './internal/constants';
import type { ArrayPropOptions, BasePropOptions, DecoratedPropertyMetadata, MapPropOptions, PropOptionsForNumber, PropOptionsForString, VirtualOptions } from './types';
import type { ArrayPropOptions, BasePropOptions, MapPropOptions, PropOptionsForNumber, PropOptionsForString, VirtualOptions } from './types';
/**
* Function that is the actual processing of the prop's (used for caching)
* @param input All the options needed for prop's
*/
export declare function _buildPropMetadata(input: DecoratedPropertyMetadata): void;
/**
* Set Property Options for the property below

@@ -20,3 +15,3 @@ * @param options Options

*/
declare function prop(options?: BasePropOptions | ArrayPropOptions | MapPropOptions | PropOptionsForNumber | PropOptionsForString | VirtualOptions, kind?: WhatIsIt): (target: any, key: string) => void;
declare function prop(options?: BasePropOptions | ArrayPropOptions | MapPropOptions | PropOptionsForNumber | PropOptionsForString | VirtualOptions, kind?: WhatIsIt): PropertyDecorator;
/**

@@ -28,3 +23,3 @@ * Set Property(that are Maps) Options for the property below

*/
declare function mapProp(options: MapPropOptions): (target: any, key: string) => void;
declare function mapProp(options: MapPropOptions): PropertyDecorator;
/**

@@ -36,4 +31,4 @@ * Set Property(that are Arrays) Options for the property below

*/
declare function arrayProp(options: ArrayPropOptions): (target: any, key: string) => void;
declare function arrayProp(options: ArrayPropOptions): PropertyDecorator;
export { prop, arrayProp, mapProp };
export { prop as Prop, arrayProp as ArrayProp, mapProp as MapProp };
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MapProp = exports.ArrayProp = exports.Prop = exports.mapProp = exports.arrayProp = exports.prop = exports._buildPropMetadata = void 0;
const mongoose = require("mongoose");
exports.MapProp = exports.ArrayProp = exports.Prop = exports.mapProp = exports.arrayProp = exports.prop = void 0;
const util_1 = require("util");
const constants_1 = require("./internal/constants");
const data_1 = require("./internal/data");
const errors_1 = require("./internal/errors");
const utils = require("./internal/utils");
const logSettings_1 = require("./logSettings");
const typegoose_1 = require("./typegoose");
/**
* Base Function for prop & arrayProp
* @param input All the options needed for prop's
*/
function baseProp(input) {
const { Type, key, origOptions, target, whatis } = input;
if (Type === target.constructor) {
// prevent "infinite" buildSchema loop / Maximum Stack size exceeded
throw new TypeError('It seems like the type used is the same as the target class, which is not supported\n' +
`Please look at https://github.com/typegoose/typegoose/issues/42 for more information`);
}
const existingMapForTarget = Reflect.getOwnMetadata(constants_1.DecoratorKeys.PropCache, target);
if (utils.isNullOrUndefined(existingMapForTarget)) {
Reflect.defineMetadata(constants_1.DecoratorKeys.PropCache, new Map(), target);
}
const mapForTarget = existingMapForTarget !== null && existingMapForTarget !== void 0 ? existingMapForTarget : Reflect.getOwnMetadata(constants_1.DecoratorKeys.PropCache, target);
mapForTarget.set(key, { origOptions, Type, target, key, whatis });
logSettings_1.logger.debug('Added "%s.%s" to the Decorator Cache', utils.getName(target.constructor), key);
}
/**
* Function that is the actual processing of the prop's (used for caching)
* @param input All the options needed for prop's
*/
function _buildPropMetadata(input) {
var _a;
let { Type } = input;
const { key, origOptions, target, whatis } = input;
const rawOptions = Object.assign({}, origOptions);
logSettings_1.logger.debug('Starting to process "%s.%s"', utils.getName(target), key);
if (!utils.isNullOrUndefined(rawOptions.type)) {
logSettings_1.logger.info('Prop Option "type" is set to', rawOptions.type);
Type = utils.getType(rawOptions.type);
delete rawOptions.type;
}
if (utils.isNotDefined(Type)) {
typegoose_1.buildSchema(Type);
}
const name = utils.getName(target);
// allow setting the type asynchronously
if (!utils.isNullOrUndefined(rawOptions.ref)) {
rawOptions.ref = utils.getType(rawOptions.ref);
utils.assertion(!utils.isNullOrUndefined(rawOptions.ref), new Error(util_1.format('Option "ref" for "%s.%s" was defined with an arrow-function, but the function returned null/undefined!', name, key)));
rawOptions.ref = typeof rawOptions.ref === 'string' ? rawOptions.ref : utils.getName(rawOptions.ref);
}
if (utils.isWithVirtualPOP(rawOptions)) {
if (!utils.includesAllVirtualPOP(rawOptions)) {
throw new errors_1.NotAllVPOPElementsError(name, key);
}
const virtuals = new Map((_a = Reflect.getMetadata(constants_1.DecoratorKeys.VirtualPopulate, target.constructor)) !== null && _a !== void 0 ? _a : []);
virtuals.set(key, rawOptions);
Reflect.defineMetadata(constants_1.DecoratorKeys.VirtualPopulate, virtuals, target.constructor);
return;
}
const schemaProp = utils.initProperty(name, key, whatis);
if (!utils.isNullOrUndefined(rawOptions.set) || !utils.isNullOrUndefined(rawOptions.get)) {
utils.assertion(typeof rawOptions.set === 'function', new TypeError(`"${name}.${key}" does not have a set function!`));
utils.assertion(typeof rawOptions.get === 'function', new TypeError(`"${name}.${key}" does not have a get function!`));
/*
* Note:
* this doesn't have a check if prop & returntype of the function is the same,
* because it can't be accessed at runtime
*/
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), { type: Type }), rawOptions);
return;
}
// use "Type" if it is an suitable ref-type, otherwise default back to "ObjectId"
const refType = utils.isAnRefType(Type) ? Type : mongoose.Schema.Types.ObjectId;
if ('ref' in rawOptions) {
utils.assertion(!utils.isNullOrUndefined(rawOptions.ref), new Error(util_1.format('Options "ref" is set, but is undefined/null! (%s.%s)', name, key)));
const ref = rawOptions.ref;
delete rawOptions.ref;
switch (whatis) {
case constants_1.WhatIsIt.ARRAY:
schemaProp[key] = utils.createArrayFromDimensions(rawOptions, Object.assign(Object.assign(Object.assign({}, schemaProp[key][0]), { type: refType, ref }), rawOptions), name, key);
break;
case constants_1.WhatIsIt.NONE:
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), { type: refType, ref }), rawOptions);
break;
default:
throw new TypeError(util_1.format('"ref" is not supported for "%s"! (%s, %s)', whatis, utils.getName(target), key));
}
return;
}
const refPath = rawOptions.refPath;
if (refPath) {
utils.assertion(typeof refPath === 'string', new TypeError(util_1.format('"refPath" for "%s, %s" should be of type String!', utils.getName(target), key)));
delete rawOptions.refPath;
switch (whatis) {
case constants_1.WhatIsIt.ARRAY:
schemaProp[key] = utils.createArrayFromDimensions(rawOptions, Object.assign(Object.assign(Object.assign({}, schemaProp[key][0]), { type: refType, refPath }), rawOptions), name, key);
break;
case constants_1.WhatIsIt.NONE:
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), { type: refType, refPath }), rawOptions);
break;
default:
throw new TypeError(util_1.format('"refPath" is not supported for "%s"! (%s, %s)', whatis, utils.getName(target), key));
}
return;
}
const enumOption = rawOptions.enum;
if (!utils.isNullOrUndefined(enumOption)) {
// check if the supplied value is already "mongoose-consumeable"
if (!Array.isArray(enumOption)) {
if (Type === String || Type === mongoose.Schema.Types.String) {
rawOptions.enum = Object.entries(enumOption) // get all key-value pairs of the enum
// no reverse-filtering because if it is full of strings, there is no reverse mapping
.map(([enumKey, enumValue]) => {
// convert key-value pairs to an mongoose-usable enum
// safeguard, this should never happen because TypeScript only sets "design:type" to "String"
// if the enum is full of strings
if (typeof enumValue !== 'string') {
throw new errors_1.NotStringTypeError(name, key, enumKey, typeof enumValue);
}
return enumValue;
});
}
else if (Type === Number || Type === mongoose.Schema.Types.Number) {
rawOptions.enum = Object.entries(enumOption) // get all key-value pairs of the enum
// filter out the "reverse (value -> name) mappings"
// https://www.typescriptlang.org/docs/handbook/enums.html#reverse-mappings
.filter(([enumKey, enumValue], _i, arr) => {
// safeguard, this should never happen because typescript only sets "design:type" to "Number"
// if the enum is full of numbers
if (utils.isNullOrUndefined(enumValue) || arr.findIndex(([k]) => k === enumValue.toString()) <= -1) {
// if there is no reverse mapping, throw an error
throw new errors_1.NotNumberTypeError(name, key, enumKey, typeof enumValue);
}
return typeof enumValue === 'number';
})
.map(([enumKey, enumValue]) => {
// convert key-value pairs to an mongoose-useable enum
if (typeof enumValue !== 'number') {
throw new errors_1.NotNumberTypeError(name, key, enumKey, typeof enumValue);
}
return enumValue;
});
}
else {
// this will happen if the enum type is not "String" or "Number"
// most likely this error happened because the code got transpiled with babel or "tsc --transpile-only"
throw new Error(`Invalid type used for map!, got: "${Type}" (${name}.${key})`
+ 'Is the code transpiled with Babel or \'tsc --transpile-only\' or \'ts-node --transpile-only\'?\n'
+ 'See https://typegoose.github.io/typegoose/docs/decorators/prop/#enum');
}
}
}
if (!utils.isNullOrUndefined(rawOptions.addNullToEnum)) {
rawOptions.enum = Array.isArray(rawOptions.enum) ? rawOptions.enum : [];
rawOptions.enum.push(null);
delete rawOptions.addNullToEnum;
}
{
// check if Type is actually a real working Type
if (utils.isNullOrUndefined(Type) || typeof Type !== 'function') {
throw new errors_1.InvalidTypeError(utils.getName(target), key, Type);
}
// check for validation inconsistencies
if (utils.isWithStringValidate(rawOptions) && !utils.isString(Type)) {
throw new errors_1.NotStringTypeError(name, key);
}
// check for transform inconsistencies
if (utils.isWithStringTransform(rawOptions) && !utils.isString(Type)) {
throw new errors_1.NotStringTypeError(name, key);
}
if (utils.isWithNumberValidate(rawOptions) && !utils.isNumber(Type)) {
throw new errors_1.NotNumberTypeError(name, key);
}
}
/** Is this Type (/Class) in the schemas Map? */
const isInSchemas = data_1.schemas.has(utils.getName(Type));
if (!isInSchemas && !utils.isPrimitive(Type) && !utils.isObject(Type)) {
throw new errors_1.InvalidPropError(Type.name, key); // This seems to be never thrown!
}
if (utils.isPrimitive(Type)) {
if (utils.isObject(Type, true)) {
utils.warnMixed(target, key);
}
switch (whatis) {
case constants_1.WhatIsIt.ARRAY:
schemaProp[key] = Object.assign(Object.assign({}, schemaProp[key][0]), utils.mapArrayOptions(rawOptions, Type, target, key));
return;
case constants_1.WhatIsIt.MAP:
const mapped = utils.mapOptions(rawOptions, Type, target, key, true);
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), mapped.outer), { type: Map, of: Object.assign({ type: Type }, mapped.inner) });
return;
case constants_1.WhatIsIt.NONE:
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), rawOptions), { type: Type });
return;
default:
throw new Error(`"${whatis}"(whatis(primitive)) is invalid for "${name}.${key}"`);
}
}
// If the 'Type' is not a 'Primitive Type' and no subschema was found treat the type as 'Object'
// so that mongoose can store it as nested document
if (utils.isObject(Type) && !isInSchemas) {
utils.warnMixed(target, key);
logSettings_1.logger.warn('if someone can see this message, please open an new issue at https://github.com/typegoose/typegoose/issues with reproduction code for tests');
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), rawOptions), { type: mongoose.Schema.Types.Mixed });
return;
}
const virtualSchema = typegoose_1.buildSchema(Type);
switch (whatis) {
case constants_1.WhatIsIt.ARRAY:
schemaProp[key] = Object.assign(Object.assign({}, schemaProp[key][0]), utils.mapArrayOptions(rawOptions, virtualSchema, target, key, Type));
return;
case constants_1.WhatIsIt.MAP:
const mapped = utils.mapOptions(rawOptions, virtualSchema, target, key, false, Type);
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), mapped.outer), { type: Map, of: Object.assign({ type: virtualSchema }, mapped.inner) });
return;
case constants_1.WhatIsIt.NONE:
schemaProp[key] = Object.assign(Object.assign(Object.assign({}, schemaProp[key]), rawOptions), { type: virtualSchema });
return;
default:
throw new Error(`"${whatis}"(whatis(subSchema)) is invalid for "${name}.${key}"`);
}
}
exports._buildPropMetadata = _buildPropMetadata;
/**
* Set Property Options for the property below

@@ -243,71 +22,10 @@ * @param options Options

return (target, key) => {
let Type = Reflect.getMetadata(constants_1.DecoratorKeys.Type, target, key);
utils.assertion(!utils.isNullOrUndefined(Type), new errors_1.NoMetadataError(key));
options = options !== null && options !== void 0 ? options : {};
if (utils.isNullOrUndefined(kind)) {
if (Type === Array ||
Type === mongoose.Types.Array ||
Type === mongoose.Schema.Types.Array ||
Type === mongoose.Types.DocumentArray ||
Type === mongoose.Schema.Types.DocumentArray) {
kind = constants_1.WhatIsIt.ARRAY;
}
else if (Type === Map || Type === mongoose.Types.Map || Type === mongoose.Schema.Types.Map) {
kind = constants_1.WhatIsIt.MAP;
}
else {
kind = constants_1.WhatIsIt.NONE;
}
const existingMapForTarget = Reflect.getOwnMetadata(constants_1.DecoratorKeys.PropCache, target);
if (utils.isNullOrUndefined(existingMapForTarget)) {
Reflect.defineMetadata(constants_1.DecoratorKeys.PropCache, new Map(), target);
}
if ('refType' in options) {
options.type = options.refType;
delete options.refType;
util_1.deprecate(() => undefined, 'Option "refType" is deprecated, use option "type"', 'TDEP0003')();
}
if ('of' in options) {
util_1.deprecate(() => undefined, 'Option "of" is deprecated, use option "type"', 'TDEP0003')();
}
if ('items' in options) {
util_1.deprecate(() => undefined, 'Option "items" is deprecated, use option "type"', 'TDEP0003')();
}
// soft errors & "type"-alias mapping
switch (kind) {
case constants_1.WhatIsIt.NONE:
if ('items' in options) {
logSettings_1.logger.warn('You might not want to use option "items" for an non-array @prop type (%s.%s)', utils.getName(target), key);
}
if ('of' in options) {
logSettings_1.logger.warn('You might not want to use option "of" for an non-map @prop type (%s.%s)', utils.getName(target), key);
}
break;
case constants_1.WhatIsIt.ARRAY:
if ('items' in options) {
options.type = options.items;
delete options.items;
}
if ('of' in options) {
logSettings_1.logger.warn('You might not want to use option "of" where the "design:type" is "Array" (%s.%s)', utils.getName(target), key);
}
// set the "Type" to undefined, if "ref" or "refPath" are defined, otherwise the "refType" will be wrong
if ((('ref' in options) || ('refPath' in options)) && !('type' in options)) {
Type = undefined;
}
break;
case constants_1.WhatIsIt.MAP:
if ('of' in options) {
options.type = options.of;
delete options.of;
}
if ('items' in options) {
logSettings_1.logger.warn('You might not want to use option "items" where the "design:type" is "Map" (%s.%s)', utils.getName(target), key);
}
break;
}
baseProp({
Type,
key,
origOptions: options,
target,
whatis: kind
});
const mapForTarget = existingMapForTarget !== null && existingMapForTarget !== void 0 ? existingMapForTarget : Reflect.getOwnMetadata(constants_1.DecoratorKeys.PropCache, target);
mapForTarget.set(key, { options, target, key, whatis: kind });
logSettings_1.logger.debug('Added "%s.%s" to the Decorator Cache', utils.getName(target.constructor), key);
};

@@ -339,2 +57,2 @@ }

exports.ArrayProp = arrayProp;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFxQztBQUNyQywrQkFBeUM7QUFFekMsb0RBQStEO0FBQy9ELDBDQUEwQztBQUMxQyw4Q0FPMkI7QUFDM0IsMENBQTBDO0FBQzFDLCtDQUF1QztBQUN2QywyQ0FBMEM7QUFjMUM7OztHQUdHO0FBQ0gsU0FBUyxRQUFRLENBQUMsS0FBZ0M7SUFDaEQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDekQsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUMvQixvRUFBb0U7UUFDcEUsTUFBTSxJQUFJLFNBQVMsQ0FDakIsdUZBQXVGO1lBQ3ZGLHNGQUFzRixDQUN2RixDQUFDO0tBQ0g7SUFFRCxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMseUJBQWEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFpQyxDQUFDO0lBQ3JILElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLEVBQUU7UUFDakQsT0FBTyxDQUFDLGNBQWMsQ0FBQyx5QkFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBcUMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN2RztJQUNELE1BQU0sWUFBWSxHQUFHLG9CQUFvQixhQUFwQixvQkFBb0IsY0FBcEIsb0JBQW9CLEdBQUssT0FBTyxDQUFDLGNBQWMsQ0FBQyx5QkFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQWtDLENBQUM7SUFFdkksWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUVsRSxvQkFBTSxDQUFDLEtBQUssQ0FB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFpQztBQUVqQyxvREFBK0Q7QUFDL0QsMENBQTBDO0FBQzFDLCtDQUF1QztBQVl2Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQVMsSUFBSSxDQUNYLE9BQTRILEVBQzVILElBQWU7SUFFZixPQUFPLENBQUMsTUFBVyxFQUFFLEdBQW9CLEVBQUUsRUFBRTtRQUMzQyxPQUFPLEdBQUcsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO1FBRXhCLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyx5QkFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQWlDLENBQUM7UUFDckgsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUNqRCxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsU0FBUyxFQUFFLElBQUksR0FBRyxFQUFxQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZHO1FBQ0QsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLGFBQXBCLG9CQUFvQixjQUFwQixvQkFBb0IsR0FBSyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBa0MsQ0FBQztRQUV2SSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELG9CQUFNLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUMsQ0FBQztBQUNKLENBQUM7QUFzQlEsb0JBQUk7QUFHSSxvQkFBSTtBQXZCckI7Ozs7O0dBS0c7QUFDSCxTQUFTLE9BQU8sQ0FBQyxPQUF1QjtJQUN0QyxPQUFPLGdCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLG9CQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsK0NBQStDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDeEgsQ0FBQztBQVl5QiwwQkFBTztBQUd5QiwwQkFBTztBQWJqRTs7Ozs7R0FLRztBQUNILFNBQVMsU0FBUyxDQUFDLE9BQXlCO0lBQzFDLE9BQU8sZ0JBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsb0JBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxpREFBaUQsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBRWMsOEJBQVM7QUFHWSw4QkFBUyJ9

@@ -27,3 +27,3 @@ /// <reference types="mongoose" />

*/
export declare function queryMethod<QueryHelpers, U extends AnyParamConstructor<any>>(func: (this: ReturnModelType<U, QueryHelpers>, ...params: any[]) => mongoose.DocumentQuery<any, any>): (target: any) => void;
export declare function queryMethod<QueryHelpers, U extends AnyParamConstructor<any>>(func: (this: ReturnModelType<U, QueryHelpers>, ...params: any[]) => mongoose.DocumentQuery<any, any>): ClassDecorator;
export { queryMethod as QueryMethod };

@@ -101,3 +101,3 @@ import * as mongoose from 'mongoose';

* @param cl The Class to make a model out
* @param id The Identifier to use to differentiate documents (default: cl.name)
* @param value The Identifier to use to differentiate documents (default: cl.name)
* @example

@@ -112,2 +112,2 @@ * ```ts

*/
export declare function getDiscriminatorModelForClass<U extends AnyParamConstructor<any>, QueryHelpers = {}>(from: mongoose.Model<any>, cl: U, id?: string): ReturnModelType<U, QueryHelpers>;
export declare function getDiscriminatorModelForClass<U extends AnyParamConstructor<any>, QueryHelpers = {}>(from: mongoose.Model<any>, cl: U, value?: string): ReturnModelType<U, QueryHelpers>;

@@ -15,2 +15,3 @@ "use strict";

}
const logSettings_1 = require("./logSettings");
/* istanbul ignore next */

@@ -26,3 +27,2 @@ if (semver.lt(process.version.slice(1), '10.15.0')) {

const utils_1 = require("./internal/utils");
const logSettings_1 = require("./logSettings");
const typeguards_1 = require("./typeguards");

@@ -109,2 +109,3 @@ var logSettings_2 = require("./logSettings");

utils_1.assertionIsClass(cl);
logSettings_1.logger.debug('buildSchema called for "%s"', utils_1.getName(cl));
const mergedOptions = utils_1.mergeSchemaOptions(options, cl);

@@ -196,3 +197,3 @@ let sch;

* @param cl The Class to make a model out
* @param id The Identifier to use to differentiate documents (default: cl.name)
* @param value The Identifier to use to differentiate documents (default: cl.name)
* @example

@@ -207,3 +208,3 @@ * ```ts

*/
function getDiscriminatorModelForClass(from, cl, id) {
function getDiscriminatorModelForClass(from, cl, value) {
utils_1.assertion(typeguards_1.isModel(from), new TypeError(`"${from}" is not a valid Model!`));

@@ -220,6 +221,6 @@ utils_1.assertionIsClass(cl);

}
const model = from.discriminator(name, sch, id ? id : name);
const model = from.discriminator(name, sch, value ? value : name);
return addModelToTypegoose(model, cl);
}
exports.getDiscriminatorModelForClass = getDiscriminatorModelForClass;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWdvb3NlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3R5cGVnb29zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsYUFBYTtBQUNiLHFDQUFxQztBQTBCNUIsNEJBQVE7QUF6QmpCLDRCQUEwQjtBQUMxQixpQ0FBaUM7QUFDakMsK0JBQThCO0FBRTlCLDBCQUEwQjtBQUMxQixJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtJQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDekQ7QUFFRCwwQkFBMEI7QUFDMUIsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFO0lBQ2xELG9CQUFNLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7Q0FDOUU7QUFFRCxtREFBNkQ7QUFXMUMsaUdBWEEsZ0NBQWdCLE9BV0E7QUFWbkMsb0RBQXFEO0FBQ3JELDBDQUF1RDtBQUN2RCw4Q0FBaUQ7QUFDakQsNENBQTJHO0FBQzNHLCtDQUF1QztBQUN2Qyw2Q0FBdUM7QUFNdkMsNkNBQXVEO0FBQTlDLDBHQUFBLFdBQVcsT0FBQTtBQUFFLHdHQUFBLFNBQVMsT0FBQTtBQUMvQixpREFBdUI7QUFDdkIsa0RBQXdCO0FBQ3hCLG1EQUF5QjtBQUN6QixrREFBd0I7QUFDeEIseURBQStCO0FBQy9CLHdEQUE4QjtBQUM5Qix1REFBNkI7QUFDN0IscURBQW1EO0FBQ25ELDhDQUE0QztBQUM1QyxtQ0FBaUM7QUFFakMsMENBQTBFO0FBQWpFLDRHQUFBLG1CQUFtQixPQUFBO0FBQUUsaUdBQUEsUUFBUSxPQUFBO0FBQUUsZ0dBQUEsT0FBTyxPQUFBO0FBQy9DLGtEQUFnRDtBQUF2QyxxR0FBQSxRQUFRLE9BQUE7QUFFakIsd0JBQVEsRUFBRSxD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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWdvb3NlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3R5cGVnb29zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsYUFBYTtBQUNiLHFDQUFxQztBQWlDNUIsNEJBQVE7QUFoQ2pCLDRCQUEwQjtBQUMxQixpQ0FBaUM7QUFDakMsK0JBQThCO0FBRTlCLDBCQUEwQjtBQUMxQixJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtJQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDekQ7QUFFRCwrQ0FBdUM7QUFFdkMsMEJBQTBCO0FBQzFCLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRTtJQUNsRCxvQkFBTSxDQUFDLElBQUksQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0NBQzlFO0FBRUQsbURBQTZEO0FBZ0IxQyxpR0FoQkEsZ0NBQWdCLE9BZ0JBO0FBZm5DLG9EQUFxRDtBQUNyRCwwQ0FBdUQ7QUFDdkQsOENBQWlEO0FBQ2pELDRDQUEyRztBQUMzRyw2Q0FBdUM7QUFZdkMsNkNBQXVEO0FBQTlDLDBHQUFBLFdBQVcsT0FBQTtBQUFFLHdHQUFBLFNBQVMsT0FBQTtBQUMvQixpREFBdUI7QUFDdkIsa0RBQXdCO0FBQ3hCLG1EQUF5QjtBQUN6QixrREFBd0I7QUFDeEIseURBQStCO0FBQy9CLHdEQUE4QjtBQUM5Qix1REFBNkI7QUFDN0IscURBQW1EO0FBQ25ELDhDQUE0QztBQUM1QyxtQ0FBaUM7QUFFakMsMENBQTBFO0FBQWpFLDRHQUFBLG1CQUFtQixPQUFBO0FBQUUsaUdBQUEsUUFBUSxPQUFBO0FBQUUsZ0dBQUEsT0FBTyxPQUFBO0FBQy9DLGtEQUFnRDtBQUF2QyxxR0FBQSxRQUFRLE9BQUE7QUFFakIsd0JBQVEsRUFB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

@@ -12,4 +12,4 @@ import * as mongoose from 'mongoose';

*/
export declare function isDocumentArray<T, S extends RefType>(docs: mongoose.Types.Array<Ref<T, S>>): docs is mongoose.Types.Array<DocumentType<NonNullable<T>>>;
export declare function isDocumentArray<T, S extends RefType>(docs: Ref<T, S>[]): docs is DocumentType<NonNullable<T>>[];
export declare function isDocumentArray<T, S extends RefType>(docs: mongoose.Types.Array<Ref<T, S>> | undefined): docs is mongoose.Types.Array<DocumentType<NonNullable<T>>>;
export declare function isDocumentArray<T, S extends RefType>(docs: Ref<T, S>[] | undefined): docs is DocumentType<NonNullable<T>>[];
/**

@@ -19,3 +19,3 @@ * Check if the document is not undefined/null and is not an document

*/
export declare function isRefType<T, S extends RefType>(doc: Ref<T, S>): doc is NonNullable<S>;
export declare function isRefType<T, S extends RefType>(doc: Ref<T, S> | undefined): doc is NonNullable<S>;
/**

@@ -25,4 +25,4 @@ * Check if the document is not undefined/null and is not an document

*/
export declare function isRefTypeArray<T, S extends RefType>(docs: mongoose.Types.Array<Ref<T, S>>): docs is mongoose.Types.Array<NonNullable<S>>;
export declare function isRefTypeArray<T, S extends RefType>(docs: Ref<T, S>[]): docs is NonNullable<S>[];
export declare function isRefTypeArray<T, S extends RefType>(docs: mongoose.Types.Array<Ref<T, S>> | undefined): docs is mongoose.Types.Array<NonNullable<S>>;
export declare function isRefTypeArray<T, S extends RefType>(docs: Ref<T, S>[] | undefined): docs is NonNullable<S>[];
/**

@@ -29,0 +29,0 @@ * Check if the input is a mongoose.Model

@@ -38,2 +38,2 @@ "use strict";

exports.isModel = isModel;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWd1YXJkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlZ3VhcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFxQztBQUVyQyw0Q0FBcUQ7QUFHckQ7OztHQUdHO0FBQ0gsU0FBZ0IsVUFBVSxDQUF1QixHQUFjO0lBQzdELE9BQU8sR0FBRyxZQUFZLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDdkMsQ0FBQztBQUZELGdDQUVDO0FBWUQsU0FBZ0IsZUFBZSxDQUFDLElBQXFCO0lBQ25ELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRkQsMENBRUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixTQUFTLENBQXVCLEdBQWM7SUFDNUQsT0FBTyxDQUFDLHlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFGRCw4QkFFQztBQVFELFNBQWdCLGNBQWMsQ0FBQyxJQUFxQjtJQUNsRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUZELHdDQUVDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLEtBQVU7SUFDaEMsT0FBTyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLGFBQVksUUFBUSxDQUFDLEtBQUssQ0FBQztBQUNwRCxDQUFDO0FBRkQsMEJBRUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWd1YXJkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlZ3VhcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFxQztBQUVyQyw0Q0FBcUQ7QUFHckQ7OztHQUdHO0FBQ0gsU0FBZ0IsVUFBVSxDQUF1QixHQUFjO0lBQzdELE9BQU8sR0FBRyxZQUFZLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDdkMsQ0FBQztBQUZELGdDQUVDO0FBWUQsU0FBZ0IsZUFBZSxDQUM3QixJQUFpQztJQUVqQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUpELDBDQUlDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsU0FBUyxDQUF1QixHQUEwQjtJQUN4RSxPQUFPLENBQUMseUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUZELDhCQUVDO0FBWUQsU0FBZ0IsY0FBYyxDQUM1QixJQUFpQztJQUVqQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUpELHdDQUlDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLEtBQVU7SUFDaEMsT0FBTyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLGFBQVksUUFBUSxDQUFDLEtBQUssQ0FBQztBQUNwRCxDQUFDO0FBRkQsMEJBRUMifQ==

@@ -36,3 +36,7 @@ /// <reference types="node" />

export declare type Validator = ValidatorFunction | RegExp | ValidatorOptions | ValidatorOptions[];
export declare type DeferredFunc<T = any> = () => T;
/**
* Defer an reference with an function (or as other projects call it "Forward declaration")
* @param type This is just to comply with the common pattern of `type => ActualType`
*/
export declare type DeferredFunc<T = any> = (type: undefined) => T;
export interface BasePropOptions {

@@ -173,2 +177,7 @@ [key: string]: any;

refType?: NonNullable<BasePropOptions['type']> | RefType;
/**
* Set the Nested Discriminators
* Note: "_id: false" as an prop option dosnt work here
*/
discriminators?: DeferredFunc<(AnyParamConstructor<any> | DiscriminatorObject)[]>;
}

@@ -264,2 +273,12 @@ export interface ArrayPropOptions extends BasePropOptions {

export declare type EmptyVoidFn = () => void;
export interface DiscriminatorObject {
/** The Class to use */
type: AnyParamConstructor<any>;
/**
* The Name to differentiate between other classes
* Mongoose JSDOC: [value] the string stored in the `discriminatorKey` property. If not specified, Mongoose uses the `name` parameter.
* @default {string} The output of "getName"
*/
value?: string;
}
export interface IModelOptions {

@@ -300,13 +319,11 @@ /** An Existing Mongoose Connection */

/** Prop Options */
origOptions: any;
/** What the Property Type should be */
Type: AnyParamConstructor<any>;
options: any;
/** Target Class */
target: any;
target: AnyParamConstructor<any>;
/** Property name */
key: string;
key: string | symbol;
/** What is it for a prop type? */
whatis: WhatIsIt;
whatis?: WhatIsIt;
}
export declare type DecoratedPropertyMetadataMap = Map<string, DecoratedPropertyMetadata>;
export declare type DecoratedPropertyMetadataMap = Map<string | symbol, DecoratedPropertyMetadata>;
export interface IndexOptions<T> {

@@ -422,3 +439,3 @@ /**

* ```ts
* const queryMethods: QueryMethodMap = new Map(Reflect.getMetadata(DecoratorKeys.QueryMethod, target.constructor) ?? []);
* const queryMethods: QueryMethodMap = new Map(Reflect.getMetadata(DecoratorKeys.QueryMethod, target) ?? []);
* ```

@@ -428,2 +445,10 @@ */

/**
* Used for the Reflection of Nested Discriminators
* @example
* ```ts
* const disMap: NestedDiscriminatorsMap = new Map(Reflect.getMetadata(DecoratorKeys.NestedDiscriminators, target) ?? []);
* ```
*/
export declare type NestedDiscriminatorsMap = Map<string, DiscriminatorObject[]>;
/**
* Used for the Reflection of Hooks

@@ -430,0 +455,0 @@ * @example

{
"name": "@typegoose/typegoose",
"version": "7.2.0",
"version": "7.3.0-0",
"description": "Define Mongoose models using TypeScript classes",

@@ -42,9 +42,9 @@ "main": "lib/typegoose.js",

"peerDependencies": {
"mongoose": "^5.9.17",
"@types/mongoose": "^5.7.21"
"mongoose": "^5.9.19",
"@types/mongoose": "^5.7.27"
},
"devDependencies": {
"@types/jest": "^25.2.3",
"@types/lodash": "^4.14.154",
"@types/mongoose": "^5.7.21",
"@types/jest": "^26.0.0",
"@types/lodash": "^4.14.155",
"@types/mongoose": "^5.7.27",
"@types/node": "^10.17.16",

@@ -55,3 +55,3 @@ "@types/semver": "^7.2.0",

"mongodb-memory-server": "^6.6.1",
"mongoose": "^5.9.17",
"mongoose": "^5.9.19",
"mongoose-findorcreate": "^3.0.0",

@@ -65,3 +65,3 @@ "prettier": "^2.0.5",

"typedoc": "0.17.7",
"typescript": "3.9.3"
"typescript": "3.9.5"
},

@@ -68,0 +68,0 @@ "dependencies": {

@@ -112,3 +112,3 @@ # Typegoose

* Node 10.15+
* mongoose ^5.9.17
* mongoose ^5.9.19
* `experimentalDecorators` and `emitDecoratorMetadata` must be enabled in `tsconfig.json`

@@ -115,0 +115,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc