-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
/
middlewares.d.ts
32 lines (29 loc) · 1.82 KB
/
middlewares.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
declare module 'mongoose' {
type MongooseDocumentMiddleware = 'validate' | 'save' | 'remove' | 'updateOne' | 'deleteOne' | 'init';
type MongooseQueryMiddleware = 'count' | 'estimatedDocumentCount' | 'countDocuments' | 'deleteMany' | 'deleteOne' | 'distinct' | 'find' | 'findOne' | 'findOneAndDelete' | 'findOneAndRemove' | 'findOneAndReplace' | 'findOneAndUpdate' | 'remove' | 'replaceOne' | 'update' | 'updateOne' | 'updateMany';
type DocumentOrQueryMiddleware = 'updateOne' | 'deleteOne' | 'remove';
type MiddlewareOptions = {
/**
* Enable this Hook for the Document Methods
* @default true
*/
document?: boolean,
/**
* Enable this Hook for the Query Methods
* @default true
*/
query?: boolean,
/**
* Explicitly set this function to be a Error handler instead of based on how many arguments are used
* @default false
*/
errorHandler?: boolean
};
type SchemaPreOptions = MiddlewareOptions;
type SchemaPostOptions = MiddlewareOptions;
type PreMiddlewareFunction<ThisType = any> = (this: ThisType, next: CallbackWithoutResultAndOptionalError) => void | Promise<void>;
type PreSaveMiddlewareFunction<ThisType = any> = (this: ThisType, next: CallbackWithoutResultAndOptionalError, opts: SaveOptions) => void | Promise<void>;
type PostMiddlewareFunction<ThisType = any, ResType = any> = (this: ThisType, res: ResType, next: CallbackWithoutResultAndOptionalError) => void | Promise<void>;
type ErrorHandlingMiddlewareFunction<ThisType = any, ResType = any> = (this: ThisType, err: NativeError, res: ResType, next: CallbackWithoutResultAndOptionalError) => void;
type ErrorHandlingMiddlewareWithOption<ThisType = any, ResType = any> = (this: ThisType, err: NativeError, res: ResType | null, next: CallbackWithoutResultAndOptionalError) => void | Promise<void>;
}