Socket
Socket
Sign inDemoInstall

@typegoose/typegoose

Package Overview
Dependencies
Maintainers
1
Versions
221
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 11.6.0 to 11.7.0-beta.1

164

lib/hooks.d.ts

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

/// <reference types="mongoose/types/inferschematype" />
import type { Aggregate, AggregateExtract, CallbackError, Document, MongooseQueryOrDocumentMiddleware, ErrorHandlingMiddlewareFunction, Model, MongooseDocumentMiddleware, MongooseQueryMiddleware, PostMiddlewareFunction, PreMiddlewareFunction, PreSaveMiddlewareFunction, Query, SchemaPostOptions, SchemaPreOptions } from 'mongoose';
import type { Aggregate, AggregateExtract, CallbackError, Document, MongooseQueryOrDocumentMiddleware, ErrorHandlingMiddlewareFunction, Model, MongooseDocumentMiddleware, MongooseQueryMiddleware, PostMiddlewareFunction, PreMiddlewareFunction, PreSaveMiddlewareFunction, Query, SchemaPostOptions, SchemaPreOptions, MongooseDistinctDocumentMiddleware, MongooseDefaultQueryMiddleware, MongooseDistinctQueryMiddleware, MongooseQueryAndDocumentMiddleware, InsertManyOptions } from 'mongoose';
import type { AnyParamConstructor, DocumentType, ReturnModelType } from './types';

@@ -31,15 +31,45 @@ /** Type copied from mongoose, because it is not exported but used in hooks */

export declare const pre: {
<S extends unknown, T = S extends Document<any, any, any> ? S : import("mongoose").IfAny<DocumentType<S, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[], fn: PreMiddlewareFunction<T>, options: SchemaPreOptions & {
<S extends never, T = S>(method: 'save', fn: PreSaveMiddlewareFunction<T>, options?: SchemaPreOptions & {
document: false;
query: boolean;
}): ClassDecorator;
<S_1 extends never, T_1 = S_1>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_1>, options?: SchemaPreOptions & {
document: false;
query: false;
}): ClassDecorator;
<S_2 extends never, T_2 = S_2>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PreMiddlewareFunction<T_2>, options?: SchemaPreOptions & {
document: boolean;
query: false;
}): ClassDecorator;
<S_3 extends never, T_3 = S_3>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_3>, options?: SchemaPreOptions & {
document: false;
query: boolean;
}): ClassDecorator;
<S_4 extends unknown, T_4 = S_4 extends Query<any, any, {}, any, "find"> ? S_4 : S_4 extends Document<any, any, any> ? S_4 : import("mongoose").IfAny<DocumentType<S_4, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_4, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_4, import("./types").BeAnObject>>>>(method: MongooseQueryAndDocumentMiddleware | MongooseQueryAndDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_4>, options?: SchemaPreOptions & {
document: true;
query: true;
}): ClassDecorator;
<S_5 extends unknown, T_5 = S_5 extends Document<any, any, any> ? S_5 : import("mongoose").IfAny<DocumentType<S_5, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_5, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_5, import("./types").BeAnObject>>>>(method: 'save', fn: PreSaveMiddlewareFunction<T_5>, options?: SchemaPreOptions): ClassDecorator;
<S_6 extends unknown, T_6 = S_6 extends Document<any, any, any> ? S_6 : import("mongoose").IfAny<DocumentType<S_6, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_6, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_6, import("./types").BeAnObject>>>>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[], fn: PreMiddlewareFunction<T_6>, options?: SchemaPreOptions): ClassDecorator;
<S_7 extends unknown, T_7 = S_7 extends Document<any, any, any> ? S_7 : import("mongoose").IfAny<DocumentType<S_7, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_7, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_7, import("./types").BeAnObject>>>>(method: MongooseQueryAndDocumentMiddleware | MongooseQueryAndDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_7>, options?: SchemaPreOptions & {
document: true;
}): ClassDecorator;
<S_8 extends unknown, T_8 = S_8 extends Document<any, any, any> ? S_8 : import("mongoose").IfAny<DocumentType<S_8, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_8, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_8, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_8>, options?: SchemaPreOptions & {
document: true;
query: false;
}): ClassDecorator;
<S_1 extends object | Query<any, any, {}, any, "find">, T_1 = S_1 extends Query<any, any, {}, any, "find"> ? S_1 : Query<DocumentType<S_1, import("./types").BeAnObject>, DocumentType<S_1, import("./types").BeAnObject>, {}, DocumentType<S_1, import("./types").BeAnObject>, "find">>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[], fn: PreMiddlewareFunction<T_1>, options: SchemaPreOptions & {
<S_9 extends object | Query<any, any, {}, any, "find">, T_9 = S_9 extends Query<any, any, {}, any, "find"> ? S_9 : Query<DocumentType<S_9, import("./types").BeAnObject>, DocumentType<S_9, import("./types").BeAnObject>, {}, DocumentType<S_9, import("./types").BeAnObject>, "find">>(method: MongooseDefaultQueryMiddleware | MongooseDefaultQueryMiddleware[], fn: PreMiddlewareFunction<T_9>): ClassDecorator;
<S_10 extends object | Query<any, any, {}, any, "find">, T_10 = S_10 extends Query<any, any, {}, any, "find"> ? S_10 : Query<DocumentType<S_10, import("./types").BeAnObject>, DocumentType<S_10, import("./types").BeAnObject>, {}, DocumentType<S_10, import("./types").BeAnObject>, "find">>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PreMiddlewareFunction<T_10>, options?: SchemaPreOptions): ClassDecorator;
<S_11 extends object | Query<any, any, {}, any, "find">, T_11 = S_11 extends Query<any, any, {}, any, "find"> ? S_11 : Query<DocumentType<S_11, import("./types").BeAnObject>, DocumentType<S_11, import("./types").BeAnObject>, {}, DocumentType<S_11, import("./types").BeAnObject>, "find">>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_11>, options?: SchemaPreOptions & {
document: false;
query: true;
}): ClassDecorator;
<S_2 extends unknown, T_2 = S_2 extends Document<any, any, any> ? S_2 : import("mongoose").IfAny<DocumentType<S_2, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_2, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_2, import("./types").BeAnObject>>>>(method: 'save', fn: PreSaveMiddlewareFunction<T_2>, options?: SchemaPreOptions): ClassDecorator;
<S_3 extends object | Query<any, any, {}, any, "find">, T_3 = S_3 extends Query<any, any, {}, any, "find"> ? S_3 : Query<DocumentType<S_3, import("./types").BeAnObject>, DocumentType<S_3, import("./types").BeAnObject>, {}, DocumentType<S_3, import("./types").BeAnObject>, "find">>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_3>, options?: SchemaPreOptions): ClassDecorator;
<S_4 extends unknown, T_4 = S_4 extends Document<any, any, any> ? S_4 : import("mongoose").IfAny<DocumentType<S_4, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_4, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_4, import("./types").BeAnObject>>>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_4>, options?: SchemaPreOptions): ClassDecorator;
<T_5 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PreMiddlewareFunction<T_5>, options?: SchemaPreOptions): ClassDecorator;
<S_5 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_6 = S_5 extends Model<any, {}, {}, {}, any, any> ? S_5 : ReturnModelType<S_5, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: (this: T_6, next: (err?: CallbackError) => void, docs: any | Array<any>) => void | Promise<void>, options?: SchemaPreOptions): ClassDecorator;
<S_12 extends unknown, T_12 = S_12 extends Query<any, any, {}, any, "find"> ? S_12 : S_12 extends Document<any, any, any> ? S_12 : import("mongoose").IfAny<DocumentType<S_12, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_12, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_12, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_12>, options?: SchemaPreOptions & {
document: true;
query: true;
}): ClassDecorator;
<T_13 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PreMiddlewareFunction<T_13>, options?: SchemaPreOptions): ClassDecorator;
<S_13 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_14 = S_13 extends Model<any, {}, {}, {}, any, any> ? S_13 : ReturnModelType<S_13, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: (this: T_14, next: (err?: CallbackError) => void, docs: any | Array<any>, options?: InsertManyOptions & {
lean?: boolean;
}) => void | Promise<void>, options?: SchemaPreOptions): ClassDecorator;
};

@@ -59,25 +89,76 @@ export declare const post: {

}): ClassDecorator;
<S_3 extends object | Query<any, any, {}, any, "find">, T_4 = S_3 extends Query<any, any, {}, any, "find"> ? S_3 : Query<DocumentType<S_3, import("./types").BeAnObject>, DocumentType<S_3, import("./types").BeAnObject>, {}, DocumentType<S_3, import("./types").BeAnObject>, "find">>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_4, QueryResultType<T_4>>, options?: SchemaPostOptions): ClassDecorator;
<S_4 extends unknown, T_5 = S_4 extends Document<any, any, any> ? S_4 : import("mongoose").IfAny<DocumentType<S_4, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_4, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_4, import("./types").BeAnObject>>>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_5, T_5>, options?: SchemaPostOptions): ClassDecorator;
<T_6 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PostMiddlewareFunction<T_6, AggregateExtract<T_6>[]>, options?: SchemaPostOptions): ClassDecorator;
<S_5 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_7 = S_5 extends Model<any, {}, {}, {}, any, any> ? S_5 : ReturnModelType<S_5, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: PostMiddlewareFunction<T_7, T_7>, options?: SchemaPostOptions): ClassDecorator;
<S_6 extends object | Query<any, any, {}, any, "find">, T_8 = S_6 extends Query<any, any, {}, any, "find"> ? S_6 : Query<DocumentType<S_6, import("./types").BeAnObject>, DocumentType<S_6, import("./types").BeAnObject>, {}, DocumentType<S_6, import("./types").BeAnObject>, "find">>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | RegExp, fn: ErrorHandlingMiddlewareFunction<T_8, any>, options?: SchemaPostOptions): ClassDecorator;
<S_7 extends unknown, T_9 = S_7 extends Document<any, any, any> ? S_7 : import("mongoose").IfAny<DocumentType<S_7, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_7, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_7, import("./types").BeAnObject>>>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: ErrorHandlingMiddlewareFunction<T_9, any>, options?: SchemaPostOptions): ClassDecorator;
<T_10 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: ErrorHandlingMiddlewareFunction<T_10, any[]>, options?: SchemaPostOptions): ClassDecorator;
<S_8 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_11 = S_8 extends Model<any, {}, {}, {}, any, any> ? S_8 : ReturnModelType<S_8, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: ErrorHandlingMiddlewareFunction<T_11, any>, options?: SchemaPostOptions): ClassDecorator;
<S_3 extends never, T_4 = S_3>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_4, T_4>, options?: SchemaPostOptions & {
document: false;
query: false;
}): ClassDecorator;
<S_4 extends never, T_5 = S_4>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PostMiddlewareFunction<T_5, T_5>, options?: SchemaPostOptions & {
document: boolean;
query: false;
}): ClassDecorator;
<S_5 extends never, T_6 = S_5>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[], fn: PostMiddlewareFunction<T_6, T_6>, options?: SchemaPostOptions & {
document: false;
query: true;
}): ClassDecorator;
<S_6 extends unknown, T_7 = S_6 extends Document<any, any, any> ? S_6 : import("mongoose").IfAny<DocumentType<S_6, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_6, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_6, import("./types").BeAnObject>>>>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[], fn: PostMiddlewareFunction<T_7, T_7>, options?: SchemaPostOptions): ClassDecorator;
<S_7 extends unknown, T_8 = S_7 extends Document<any, any, any> ? S_7 : import("mongoose").IfAny<DocumentType<S_7, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_7, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_7, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_8, T_8>, options?: SchemaPostOptions & {
document: true;
query: false;
}): ClassDecorator;
<S_8 extends object | Query<any, any, {}, any, "find">, T_9 = S_8 extends Query<any, any, {}, any, "find"> ? S_8 : Query<DocumentType<S_8, import("./types").BeAnObject>, DocumentType<S_8, import("./types").BeAnObject>, {}, DocumentType<S_8, import("./types").BeAnObject>, "find">>(method: MongooseDefaultQueryMiddleware | MongooseDefaultQueryMiddleware[], fn: PostMiddlewareFunction<T_9, QueryResultType<T_9>>): ClassDecorator;
<S_9 extends object | Query<any, any, {}, any, "find">, T_10 = S_9 extends Query<any, any, {}, any, "find"> ? S_9 : Query<DocumentType<S_9, import("./types").BeAnObject>, DocumentType<S_9, import("./types").BeAnObject>, {}, DocumentType<S_9, import("./types").BeAnObject>, "find">>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PostMiddlewareFunction<T_10, QueryResultType<T_10>>, options?: SchemaPostOptions): ClassDecorator;
<S_10 extends object | Query<any, any, {}, any, "find">, T_11 = S_10 extends Query<any, any, {}, any, "find"> ? S_10 : Query<DocumentType<S_10, import("./types").BeAnObject>, DocumentType<S_10, import("./types").BeAnObject>, {}, DocumentType<S_10, import("./types").BeAnObject>, "find">>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_11, QueryResultType<T_11>>, options?: SchemaPostOptions & {
document: false;
query: true;
}): ClassDecorator;
<S_11 extends unknown, T_12 = S_11 extends Query<any, any, {}, any, "find"> ? S_11 : S_11 extends Document<any, any, any> ? S_11 : import("mongoose").IfAny<DocumentType<S_11, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_11, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_11, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: ErrorHandlingMiddlewareFunction<T_12, any>, options?: SchemaPostOptions & {
document: true;
query: true;
}): ClassDecorator;
<T_13 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PostMiddlewareFunction<T_13, AggregateExtract<T_13>[]>, options?: SchemaPostOptions): ClassDecorator;
<S_12 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_14 = S_12 extends Model<any, {}, {}, {}, any, any> ? S_12 : ReturnModelType<S_12, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: PostMiddlewareFunction<T_14, T_14>, options?: SchemaPostOptions): ClassDecorator;
};
export declare const Pre: {
<S extends unknown, T = S extends Document<any, any, any> ? S : import("mongoose").IfAny<DocumentType<S, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[], fn: PreMiddlewareFunction<T>, options: SchemaPreOptions & {
<S extends never, T = S>(method: 'save', fn: PreSaveMiddlewareFunction<T>, options?: SchemaPreOptions & {
document: false;
query: boolean;
}): ClassDecorator;
<S_1 extends never, T_1 = S_1>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_1>, options?: SchemaPreOptions & {
document: false;
query: false;
}): ClassDecorator;
<S_2 extends never, T_2 = S_2>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PreMiddlewareFunction<T_2>, options?: SchemaPreOptions & {
document: boolean;
query: false;
}): ClassDecorator;
<S_3 extends never, T_3 = S_3>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_3>, options?: SchemaPreOptions & {
document: false;
query: boolean;
}): ClassDecorator;
<S_4 extends unknown, T_4 = S_4 extends Query<any, any, {}, any, "find"> ? S_4 : S_4 extends Document<any, any, any> ? S_4 : import("mongoose").IfAny<DocumentType<S_4, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_4, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_4, import("./types").BeAnObject>>>>(method: MongooseQueryAndDocumentMiddleware | MongooseQueryAndDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_4>, options?: SchemaPreOptions & {
document: true;
query: true;
}): ClassDecorator;
<S_5 extends unknown, T_5 = S_5 extends Document<any, any, any> ? S_5 : import("mongoose").IfAny<DocumentType<S_5, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_5, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_5, import("./types").BeAnObject>>>>(method: 'save', fn: PreSaveMiddlewareFunction<T_5>, options?: SchemaPreOptions): ClassDecorator;
<S_6 extends unknown, T_6 = S_6 extends Document<any, any, any> ? S_6 : import("mongoose").IfAny<DocumentType<S_6, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_6, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_6, import("./types").BeAnObject>>>>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[], fn: PreMiddlewareFunction<T_6>, options?: SchemaPreOptions): ClassDecorator;
<S_7 extends unknown, T_7 = S_7 extends Document<any, any, any> ? S_7 : import("mongoose").IfAny<DocumentType<S_7, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_7, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_7, import("./types").BeAnObject>>>>(method: MongooseQueryAndDocumentMiddleware | MongooseQueryAndDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_7>, options?: SchemaPreOptions & {
document: true;
}): ClassDecorator;
<S_8 extends unknown, T_8 = S_8 extends Document<any, any, any> ? S_8 : import("mongoose").IfAny<DocumentType<S_8, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_8, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_8, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_8>, options?: SchemaPreOptions & {
document: true;
query: false;
}): ClassDecorator;
<S_1 extends object | Query<any, any, {}, any, "find">, T_1 = S_1 extends Query<any, any, {}, any, "find"> ? S_1 : Query<DocumentType<S_1, import("./types").BeAnObject>, DocumentType<S_1, import("./types").BeAnObject>, {}, DocumentType<S_1, import("./types").BeAnObject>, "find">>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[], fn: PreMiddlewareFunction<T_1>, options: SchemaPreOptions & {
<S_9 extends object | Query<any, any, {}, any, "find">, T_9 = S_9 extends Query<any, any, {}, any, "find"> ? S_9 : Query<DocumentType<S_9, import("./types").BeAnObject>, DocumentType<S_9, import("./types").BeAnObject>, {}, DocumentType<S_9, import("./types").BeAnObject>, "find">>(method: MongooseDefaultQueryMiddleware | MongooseDefaultQueryMiddleware[], fn: PreMiddlewareFunction<T_9>): ClassDecorator;
<S_10 extends object | Query<any, any, {}, any, "find">, T_10 = S_10 extends Query<any, any, {}, any, "find"> ? S_10 : Query<DocumentType<S_10, import("./types").BeAnObject>, DocumentType<S_10, import("./types").BeAnObject>, {}, DocumentType<S_10, import("./types").BeAnObject>, "find">>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PreMiddlewareFunction<T_10>, options?: SchemaPreOptions): ClassDecorator;
<S_11 extends object | Query<any, any, {}, any, "find">, T_11 = S_11 extends Query<any, any, {}, any, "find"> ? S_11 : Query<DocumentType<S_11, import("./types").BeAnObject>, DocumentType<S_11, import("./types").BeAnObject>, {}, DocumentType<S_11, import("./types").BeAnObject>, "find">>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_11>, options?: SchemaPreOptions & {
document: false;
query: true;
}): ClassDecorator;
<S_2 extends unknown, T_2 = S_2 extends Document<any, any, any> ? S_2 : import("mongoose").IfAny<DocumentType<S_2, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_2, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_2, import("./types").BeAnObject>>>>(method: 'save', fn: PreSaveMiddlewareFunction<T_2>, options?: SchemaPreOptions): ClassDecorator;
<S_3 extends object | Query<any, any, {}, any, "find">, T_3 = S_3 extends Query<any, any, {}, any, "find"> ? S_3 : Query<DocumentType<S_3, import("./types").BeAnObject>, DocumentType<S_3, import("./types").BeAnObject>, {}, DocumentType<S_3, import("./types").BeAnObject>, "find">>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_3>, options?: SchemaPreOptions): ClassDecorator;
<S_4 extends unknown, T_4 = S_4 extends Document<any, any, any> ? S_4 : import("mongoose").IfAny<DocumentType<S_4, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_4, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_4, import("./types").BeAnObject>>>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_4>, options?: SchemaPreOptions): ClassDecorator;
<T_5 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PreMiddlewareFunction<T_5>, options?: SchemaPreOptions): ClassDecorator;
<S_5 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_6 = S_5 extends Model<any, {}, {}, {}, any, any> ? S_5 : ReturnModelType<S_5, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: (this: T_6, next: (err?: CallbackError) => void, docs: any | Array<any>) => void | Promise<void>, options?: SchemaPreOptions): ClassDecorator;
<S_12 extends unknown, T_12 = S_12 extends Query<any, any, {}, any, "find"> ? S_12 : S_12 extends Document<any, any, any> ? S_12 : import("mongoose").IfAny<DocumentType<S_12, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_12, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_12, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PreMiddlewareFunction<T_12>, options?: SchemaPreOptions & {
document: true;
query: true;
}): ClassDecorator;
<T_13 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PreMiddlewareFunction<T_13>, options?: SchemaPreOptions): ClassDecorator;
<S_13 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_14 = S_13 extends Model<any, {}, {}, {}, any, any> ? S_13 : ReturnModelType<S_13, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: (this: T_14, next: (err?: CallbackError) => void, docs: any | Array<any>, options?: InsertManyOptions & {
lean?: boolean;
}) => void | Promise<void>, options?: SchemaPreOptions): ClassDecorator;
};

@@ -97,11 +178,32 @@ export declare const Post: {

}): ClassDecorator;
<S_3 extends object | Query<any, any, {}, any, "find">, T_4 = S_3 extends Query<any, any, {}, any, "find"> ? S_3 : Query<DocumentType<S_3, import("./types").BeAnObject>, DocumentType<S_3, import("./types").BeAnObject>, {}, DocumentType<S_3, import("./types").BeAnObject>, "find">>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_4, QueryResultType<T_4>>, options?: SchemaPostOptions): ClassDecorator;
<S_4 extends unknown, T_5 = S_4 extends Document<any, any, any> ? S_4 : import("mongoose").IfAny<DocumentType<S_4, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_4, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_4, import("./types").BeAnObject>>>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_5, T_5>, options?: SchemaPostOptions): ClassDecorator;
<T_6 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PostMiddlewareFunction<T_6, AggregateExtract<T_6>[]>, options?: SchemaPostOptions): ClassDecorator;
<S_5 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_7 = S_5 extends Model<any, {}, {}, {}, any, any> ? S_5 : ReturnModelType<S_5, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: PostMiddlewareFunction<T_7, T_7>, options?: SchemaPostOptions): ClassDecorator;
<S_6 extends object | Query<any, any, {}, any, "find">, T_8 = S_6 extends Query<any, any, {}, any, "find"> ? S_6 : Query<DocumentType<S_6, import("./types").BeAnObject>, DocumentType<S_6, import("./types").BeAnObject>, {}, DocumentType<S_6, import("./types").BeAnObject>, "find">>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | RegExp, fn: ErrorHandlingMiddlewareFunction<T_8, any>, options?: SchemaPostOptions): ClassDecorator;
<S_7 extends unknown, T_9 = S_7 extends Document<any, any, any> ? S_7 : import("mongoose").IfAny<DocumentType<S_7, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_7, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_7, import("./types").BeAnObject>>>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: ErrorHandlingMiddlewareFunction<T_9, any>, options?: SchemaPostOptions): ClassDecorator;
<T_10 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: ErrorHandlingMiddlewareFunction<T_10, any[]>, options?: SchemaPostOptions): ClassDecorator;
<S_8 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_11 = S_8 extends Model<any, {}, {}, {}, any, any> ? S_8 : ReturnModelType<S_8, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: ErrorHandlingMiddlewareFunction<T_11, any>, options?: SchemaPostOptions): ClassDecorator;
<S_3 extends never, T_4 = S_3>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_4, T_4>, options?: SchemaPostOptions & {
document: false;
query: false;
}): ClassDecorator;
<S_4 extends never, T_5 = S_4>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PostMiddlewareFunction<T_5, T_5>, options?: SchemaPostOptions & {
document: boolean;
query: false;
}): ClassDecorator;
<S_5 extends never, T_6 = S_5>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[], fn: PostMiddlewareFunction<T_6, T_6>, options?: SchemaPostOptions & {
document: false;
query: true;
}): ClassDecorator;
<S_6 extends unknown, T_7 = S_6 extends Document<any, any, any> ? S_6 : import("mongoose").IfAny<DocumentType<S_6, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_6, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_6, import("./types").BeAnObject>>>>(method: MongooseDistinctDocumentMiddleware | MongooseDistinctDocumentMiddleware[], fn: PostMiddlewareFunction<T_7, T_7>, options?: SchemaPostOptions): ClassDecorator;
<S_7 extends unknown, T_8 = S_7 extends Document<any, any, any> ? S_7 : import("mongoose").IfAny<DocumentType<S_7, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_7, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_7, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_8, T_8>, options?: SchemaPostOptions & {
document: true;
query: false;
}): ClassDecorator;
<S_8 extends object | Query<any, any, {}, any, "find">, T_9 = S_8 extends Query<any, any, {}, any, "find"> ? S_8 : Query<DocumentType<S_8, import("./types").BeAnObject>, DocumentType<S_8, import("./types").BeAnObject>, {}, DocumentType<S_8, import("./types").BeAnObject>, "find">>(method: MongooseDefaultQueryMiddleware | MongooseDefaultQueryMiddleware[], fn: PostMiddlewareFunction<T_9, QueryResultType<T_9>>): ClassDecorator;
<S_9 extends object | Query<any, any, {}, any, "find">, T_10 = S_9 extends Query<any, any, {}, any, "find"> ? S_9 : Query<DocumentType<S_9, import("./types").BeAnObject>, DocumentType<S_9, import("./types").BeAnObject>, {}, DocumentType<S_9, import("./types").BeAnObject>, "find">>(method: MongooseDistinctQueryMiddleware | MongooseDistinctQueryMiddleware[], fn: PostMiddlewareFunction<T_10, QueryResultType<T_10>>, options?: SchemaPostOptions): ClassDecorator;
<S_10 extends object | Query<any, any, {}, any, "find">, T_11 = S_10 extends Query<any, any, {}, any, "find"> ? S_10 : Query<DocumentType<S_10, import("./types").BeAnObject>, DocumentType<S_10, import("./types").BeAnObject>, {}, DocumentType<S_10, import("./types").BeAnObject>, "find">>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T_11, QueryResultType<T_11>>, options?: SchemaPostOptions & {
document: false;
query: true;
}): ClassDecorator;
<S_11 extends unknown, T_12 = S_11 extends Query<any, any, {}, any, "find"> ? S_11 : S_11 extends Document<any, any, any> ? S_11 : import("mongoose").IfAny<DocumentType<S_11, import("./types").BeAnObject>, any, Document<unknown, {}, DocumentType<S_11, import("./types").BeAnObject>> & import("mongoose").Require_id<DocumentType<S_11, import("./types").BeAnObject>>>>(method: MongooseQueryOrDocumentMiddleware | MongooseQueryOrDocumentMiddleware[] | RegExp, fn: ErrorHandlingMiddlewareFunction<T_12, any>, options?: SchemaPostOptions & {
document: true;
query: true;
}): ClassDecorator;
<T_13 extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PostMiddlewareFunction<T_13, AggregateExtract<T_13>[]>, options?: SchemaPostOptions): ClassDecorator;
<S_12 extends Model<any, {}, {}, {}, any, any> | AnyParamConstructor<any>, T_14 = S_12 extends Model<any, {}, {}, {}, any, any> ? S_12 : ReturnModelType<S_12, import("./types").BeAnObject>>(method: 'insertMany' | RegExp, fn: PostMiddlewareFunction<T_14, T_14>, options?: SchemaPostOptions): ClassDecorator;
};
export {};

2

lib/hooks.js

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

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

@@ -97,6 +97,7 @@ import * as mongoose from 'mongoose';

* @param cl The Class to read the metadata from
* @param getOwn Use "getOwnMetadata" isntead of "getMetadata"
* @returns Returns the merged output, where "value" overwrites existing Metadata values
* @internal
*/
export declare function mergeMetadata<T = any>(key: DecoratorKeys, value: unknown, cl: AnyParamConstructor<any>): T;
export declare function mergeMetadata<T = any>(key: DecoratorKeys, value: unknown, cl: AnyParamConstructor<any>, getOwn?: boolean): T;
/**

@@ -184,5 +185,6 @@ * Merge only schemaOptions from ModelOptions of the class

* @param cl The Class to get / set the ModelOptions on
* @param getOwn use "getOwnMetadata" instead of "getMetadata"
* @returns A ModelOptions object
*/
export declare function getMergedModelOptions(rawOptions: IModelOptions | undefined, cl: AnyParamConstructor<any>): IModelOptions;
export declare function getMergedModelOptions(rawOptions: IModelOptions | undefined, cl: AnyParamConstructor<any>, getOwn?: boolean): IModelOptions;
/**

@@ -189,0 +191,0 @@ * Loop over "dimensions" and create an array from that

@@ -217,10 +217,21 @@ "use strict";

* @param cl The Class to read the metadata from
* @param getOwn Use "getOwnMetadata" isntead of "getMetadata"
* @returns Returns the merged output, where "value" overwrites existing Metadata values
* @internal
*/
function mergeMetadata(key, value, cl) {
function mergeMetadata(key, value, cl, getOwn = false) {
assertion(typeof key === 'string' && key.length > 0, () => new errors_1.StringLengthExpectedError(1, key, getName(cl), 'key'));
assertionIsClass(cl);
let classMetadata = (getOwn ? Reflect.getOwnMetadata(key, cl) : Reflect.getMetadata(key, cl)) ?? {};
// dont inherit some options if the current class does not have its own metadata
// this is somewhat hacky
if (key === constants_1.DecoratorKeys.ModelOptions && !Reflect.hasOwnMetadata(key, cl) && 'options' in classMetadata) {
// this has to be done, because otherwise it will be deleted on the original
classMetadata = { ...classMetadata };
classMetadata.options = { ...classMetadata.options };
// dont inherit "disableLowerIndexes" because that would otherwise be inherited and so disable all indexes if inherited, not just from where it was set
delete classMetadata?.options?.disableLowerIndexes;
}
// Please don't remove the other values from the function, even when unused - it is made to be clear what is what
return (0, lodash_1.mergeWith)({}, Reflect.getMetadata(key, cl), value, (_objValue, srcValue, ckey) => customMerger(ckey, srcValue));
return (0, lodash_1.mergeWith)({}, classMetadata, value, (_objValue, srcValue, ckey) => customMerger(ckey, srcValue));
}

@@ -483,5 +494,6 @@ exports.mergeMetadata = mergeMetadata;

* @param cl The Class to get / set the ModelOptions on
* @param getOwn use "getOwnMetadata" instead of "getMetadata"
* @returns A ModelOptions object
*/
function getMergedModelOptions(rawOptions, cl) {
function getMergedModelOptions(rawOptions, cl, getOwn = false) {
const opt = typeof rawOptions === 'object' ? rawOptions : {};

@@ -491,3 +503,4 @@ if (assignGlobalModelOptions(cl)) {

}
const mergedOptions = opt?.[constants_1.AlreadyMerged] ? opt : mergeMetadata(constants_1.DecoratorKeys.ModelOptions, rawOptions, cl);
// dont skip merging if "getOwn" is "true"
const mergedOptions = opt?.[constants_1.AlreadyMerged] && !getOwn ? opt : mergeMetadata(constants_1.DecoratorKeys.ModelOptions, rawOptions, cl, getOwn);
mergedOptions[constants_1.AlreadyMerged] = true;

@@ -669,2 +682,2 @@ return mergedOptions;

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

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

/* istanbul ignore next */
if (semver.lt(mongoose?.version, '7.6.1')) {
throw new Error(`Please use mongoose 7.6.1 or higher (Current mongoose: ${mongoose.version}) [E001]`);
if (semver.lt(mongoose?.version, '7.6.3')) {
throw new Error(`Please use mongoose 7.6.3 or higher (Current mongoose: ${mongoose.version}) [E001]`);
}

@@ -125,13 +125,20 @@ /* istanbul ignore next */

const parentClasses = [];
let upperOptions = {};
/** Options for the next lower class that gets unshifted to {@link parentClasses} (ie the super-class) */
let superOptions = {};
// first run for some options based on input class options (if any), because the while-loop is for the prototypes (if any)
{
// get new options because "mergedOptions" is merged with lower options, but "upperOptions" requires the "own" version, if any
const mergedOwnOptions = (0, utils_1.getMergedModelOptions)(options, cl, true);
applySuperOptions(superOptions, mergedOwnOptions);
}
// iterate trough all parents to the lowest class
while (parentCtor?.name !== 'Object') {
// add lower classes (when extending) to the front of the array to be processed first
parentClasses.unshift([parentCtor, upperOptions]);
parentClasses.unshift([parentCtor, superOptions]);
// clone object, because otherwise it will affect the upper classes too because the same reference is used
upperOptions = { ...upperOptions };
const ropt = Reflect.getMetadata(constants_1.DecoratorKeys.ModelOptions, parentCtor) ?? {};
// only affect options of lower classes, not the class the options are from
if (ropt.options?.disableLowerIndexes) {
upperOptions.buildIndexes = false;
superOptions = { ...superOptions };
{
// only get the own metadata, possible because "upperOptions" at the moment only requires the "own" metadata
const ropt = Reflect.getOwnMetadata(constants_1.DecoratorKeys.ModelOptions, parentCtor) ?? {};
applySuperOptions(superOptions, ropt);
}

@@ -152,2 +159,13 @@ // set next parent

/**
* Apply options to "superOptions" object, based on "modelOptions"
* @param superOptions The "superOptions" object
* @param modelOptions The Model Options of the current class
*/
function applySuperOptions(superOptions, modelOptions) {
// only affect options of lower classes, not the class the options are from
if (modelOptions.options?.disableLowerIndexes) {
superOptions.buildIndexes = false;
}
}
/**
* Add a Class-Model Pair to the Typegoose Cache

@@ -308,2 +326,2 @@ * This can be used to add custom Models to Typegoose, with the type information of "cl"

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

@@ -463,2 +463,4 @@ import type * as mongoose from 'mongoose';

* Disable all lower indexes than this class (works like `sch.clone().clearIndexes()`)
*
* This option DOES NOT get inherited
* @default false

@@ -465,0 +467,0 @@ */

{
"name": "@typegoose/typegoose",
"version": "11.6.0",
"version": "11.7.0-beta.1",
"description": "Define Mongoose models using TypeScript classes",

@@ -39,3 +39,3 @@ "main": "lib/typegoose.js",

"peerDependencies": {
"mongoose": "~7.6.1"
"mongoose": "~7.6.3"
},

@@ -54,6 +54,6 @@ "devDependencies": {

"@tsd/typescript": "~4.9.5",
"@types/jest": "^29.5.5",
"@types/lodash": "^4.14.199",
"@types/jest": "^29.5.6",
"@types/lodash": "^4.14.200",
"@types/node": "~14.18.63",
"@types/semver": "^7.5.3",
"@types/semver": "^7.5.4",
"@typescript-eslint/eslint-plugin": "^5.62.0",

@@ -63,5 +63,5 @@ "@typescript-eslint/parser": "^5.62.0",

"commitlint": "^17.7.2",
"eslint": "^8.51.0",
"eslint": "^8.52.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-prettier": "^5.0.1",
"husky": "^8.0.3",

@@ -71,4 +71,4 @@ "jest": "^29.7.0",

"lint-staged": "^13.2.3",
"mongodb-memory-server": "^9.0.0",
"mongoose": "~7.6.1",
"mongodb-memory-server": "^9.0.1",
"mongoose": "~7.6.3",
"prettier": "^3.0.3",

@@ -75,0 +75,0 @@ "rimraf": "^5.0.5",

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