Skip to content

Commit

Permalink
Revert "fix(types): set middleware function param based on query func…
Browse files Browse the repository at this point in the history
…tion name for query post hooks"

This reverts commit 35f6be9.
  • Loading branch information
vkarpov15 committed Jun 22, 2022
1 parent 35f6be9 commit 73156b5
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 12 deletions.
3 changes: 2 additions & 1 deletion test/types/middleware.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ schema.pre<Model<ITest>>('insertMany', function(next, docs: Array<ITest>) {
next();
});

schema.post<Query<ITest, ITest>>('findOneAndDelete', function(res: ITest, next) {
schema.post<Query<ITest, ITest>>('findOneAndDelete', function(res, next) {
expectType<ITest>(res);
next();
});

Expand Down
5 changes: 0 additions & 5 deletions types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -244,11 +244,6 @@ declare module 'mongoose' {
/** Defines a post hook for the model. */
post<T = HydratedDocument<DocType, TInstanceMethods>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, fn: PostMiddlewareFunction<T, T>): this;
post<T = HydratedDocument<DocType, TInstanceMethods>>(method: MongooseDocumentMiddleware | MongooseDocumentMiddleware[] | RegExp, options: SchemaPostOptions, fn: PostMiddlewareFunction<T, T>): this;
post<T extends Query<any, any>>(method: 'findOneAndUpdate' | 'findOneAndRemove' | 'findOneAndDelete', fn: PostMiddlewareFunction<T, HydratedDocument<EnforcedDocType, TInstanceMethods> | ModifyResult<HydratedDocument<EnforcedDocType, TInstanceMethods>> | null> | EnforcedDocType | ModifyResult<EnforcedDocType | null> | null): this;
post<T extends Query<any, any>>(method: 'findOne', fn: PostMiddlewareFunction<T, HydratedDocument<EnforcedDocType, TInstanceMethods> | EnforcedDocType | null>): this;
post<T extends Query<any, any>>(method: 'find', fn: PostMiddlewareFunction<T, HydratedDocument<EnforcedDocType, TInstanceMethods>[] | EnforcedDocType[]>): this;
post<T extends Query<any, any>>(method: 'update' | 'updateOne' | 'updateMany', fn: PostMiddlewareFunction<T, UpdateWriteOpResult>): this;
post<T extends Query<any, any>>(method: 'remove' | 'deleteOne' | 'deleteMany', fn: PostMiddlewareFunction<T, mongodb.DeleteResult>): this;
post<T extends Query<any, any>>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | string | RegExp, fn: PostMiddlewareFunction<T, QueryResultType<T>>): this;
post<T extends Query<any, any>>(method: MongooseQueryMiddleware | MongooseQueryMiddleware[] | string | RegExp, options: SchemaPostOptions, fn: PostMiddlewareFunction<T, QueryResultType<T>>): this;
post<T extends Aggregate<any>>(method: 'aggregate' | RegExp, fn: PostMiddlewareFunction<T, Array<AggregateExtract<T>>>): this;
Expand Down
12 changes: 6 additions & 6 deletions types/query.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -249,18 +249,18 @@ declare module 'mongoose' {
* remove, except it deletes _every_ document that matches `filter` in the
* collection, regardless of the value of `single`.
*/
deleteMany(filter?: FilterQuery<DocType>, options?: QueryOptions<DocType>, callback?: Callback): QueryWithHelpers<mongodb.DeleteResult, DocType, THelpers, RawDocType>;
deleteMany(filter: FilterQuery<DocType>, callback: Callback): QueryWithHelpers<mongodb.DeleteResult, DocType, THelpers, RawDocType>;
deleteMany(callback: Callback): QueryWithHelpers<mongodb.DeleteResult, DocType, THelpers, RawDocType>;
deleteMany(filter?: FilterQuery<DocType>, options?: QueryOptions<DocType>, callback?: Callback): QueryWithHelpers<any, DocType, THelpers, RawDocType>;
deleteMany(filter: FilterQuery<DocType>, callback: Callback): QueryWithHelpers<any, DocType, THelpers, RawDocType>;
deleteMany(callback: Callback): QueryWithHelpers<any, DocType, THelpers, RawDocType>;

/**
* Declare and/or execute this query as a `deleteOne()` operation. Works like
* remove, except it deletes at most one document regardless of the `single`
* option.
*/
deleteOne(filter?: FilterQuery<DocType>, options?: QueryOptions<DocType>, callback?: Callback): QueryWithHelpers<mongodb.DeleteResult, DocType, THelpers, RawDocType>;
deleteOne(filter: FilterQuery<DocType>, callback: Callback): QueryWithHelpers<mongodb.DeleteResult, DocType, THelpers, RawDocType>;
deleteOne(callback: Callback): QueryWithHelpers<mongodb.DeleteResult, DocType, THelpers, RawDocType>;
deleteOne(filter?: FilterQuery<DocType>, options?: QueryOptions<DocType>, callback?: Callback): QueryWithHelpers<any, DocType, THelpers, RawDocType>;
deleteOne(filter: FilterQuery<DocType>, callback: Callback): QueryWithHelpers<any, DocType, THelpers, RawDocType>;
deleteOne(callback: Callback): QueryWithHelpers<any, DocType, THelpers, RawDocType>;

/** Creates a `distinct` query: returns the distinct values of the given `field` that match `filter`. */
distinct<ReturnType = any>(field: string, filter?: FilterQuery<DocType>, callback?: Callback<number>): QueryWithHelpers<Array<ReturnType>, DocType, THelpers, RawDocType>;
Expand Down

0 comments on commit 73156b5

Please sign in to comment.