Skip to content

Commit 85f25a5

Browse files
committed
fix: fix overloads
1 parent 4baaed8 commit 85f25a5

File tree

3 files changed

+26
-13
lines changed

3 files changed

+26
-13
lines changed

src/collection.ts

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import type {
1919
OptionalUnlessRequiredId,
2020
TODO_NODE_3286,
2121
UpdateFilter,
22+
WithId,
2223
WithoutId
2324
} from './mongo_types';
24-
import { WithId } from './mongo_types';
2525
import type { AggregateOptions } from './operations/aggregate';
2626
import { BulkWriteOperation } from './operations/bulk_write';
2727
import type { IndexInformationOptions } from './operations/common_functions';
@@ -822,12 +822,17 @@ export class Collection<TSchema extends Document = Document> {
822822
*/
823823
async findOneAndDelete(
824824
filter: Filter<TSchema>,
825-
options?: FindOneAndDeleteOptions & { returnRawResult: false }
825+
options: FindOneAndDeleteOptions & { returnRawResult: false }
826826
): Promise<ModifyResult<TSchema>>;
827827
async findOneAndDelete(
828828
filter: Filter<TSchema>,
829-
options?: FindOneAndDeleteOptions & { returnRawResult: true | undefined }
829+
options: FindOneAndDeleteOptions & { returnRawResult: true }
830830
): Promise<WithId<TSchema> | null>;
831+
async findOneAndDelete(
832+
filter: Filter<TSchema>,
833+
options: FindOneAndDeleteOptions
834+
): Promise<WithId<TSchema> | null>;
835+
async findOneAndDelete(filter: Filter<TSchema>): Promise<WithId<TSchema> | null>;
831836
async findOneAndDelete(
832837
filter: Filter<TSchema>,
833838
options?: FindOneAndDeleteOptions
@@ -858,16 +863,16 @@ export class Collection<TSchema extends Document = Document> {
858863
filter: Filter<TSchema>,
859864
replacement: WithoutId<TSchema>,
860865
options: FindOneAndReplaceOptions & { returnRawResult: true }
861-
): Promise<WithId<TSchema>>;
866+
): Promise<WithId<TSchema> | null>;
862867
async findOneAndReplace(
863868
filter: Filter<TSchema>,
864869
replacement: WithoutId<TSchema>,
865870
options: FindOneAndReplaceOptions
866-
): Promise<WithId<TSchema>>;
871+
): Promise<WithId<TSchema> | null>;
867872
async findOneAndReplace(
868873
filter: Filter<TSchema>,
869874
replacement: WithoutId<TSchema>
870-
): Promise<WithId<TSchema>>;
875+
): Promise<WithId<TSchema> | null>;
871876
async findOneAndReplace(
872877
filter: Filter<TSchema>,
873878
replacement: WithoutId<TSchema>,
@@ -894,17 +899,26 @@ export class Collection<TSchema extends Document = Document> {
894899
async findOneAndUpdate(
895900
filter: Filter<TSchema>,
896901
update: UpdateFilter<TSchema>,
897-
options?: FindOneAndReplaceOptions & { returnRawResult: false }
902+
options: FindOneAndUpdateOptions & { returnRawResult: false }
898903
): Promise<ModifyResult<TSchema>>;
899904
async findOneAndUpdate(
900905
filter: Filter<TSchema>,
901906
update: UpdateFilter<TSchema>,
902-
options?: FindOneAndReplaceOptions & { returnRawResult: true | undefined }
903-
): Promise<WithId<TSchema>>;
907+
options: FindOneAndUpdateOptions & { returnRawResult: true }
908+
): Promise<WithId<TSchema> | null>;
904909
async findOneAndUpdate(
905910
filter: Filter<TSchema>,
906911
update: UpdateFilter<TSchema>,
907-
options?: FindOneAndReplaceOptions
912+
options: FindOneAndUpdateOptions
913+
): Promise<WithId<TSchema> | null>;
914+
async findOneAndUpdate(
915+
filter: Filter<TSchema>,
916+
update: UpdateFilter<TSchema>
917+
): Promise<WithId<TSchema> | null>;
918+
async findOneAndUpdate(
919+
filter: Filter<TSchema>,
920+
update: UpdateFilter<TSchema>,
921+
options?: FindOneAndUpdateOptions
908922
): Promise<WithId<TSchema> | ModifyResult<TSchema> | null> {
909923
return executeOperation(
910924
this.client,

test/types/community/transaction.test-d.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
2-
31
import { type ClientSession, MongoClient, ReadConcern } from '../../mongodb';
42

53
// TODO(NODE-3345): Improve these tests to use expect assertions more

test/types/schema_helpers.test-d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,8 @@ expectAssignable<SchemaWithIdNumberInterface | null>(
145145
).value
146146
);
147147
expectAssignable<SchemaWithIdNumberType | null>(
148-
(await typeNumberTestCollection.findOneAndUpdate({ a: 1 }, { a: 5 }, { returnRawResult: false })).value
148+
(await typeNumberTestCollection.findOneAndUpdate({ a: 1 }, { a: 5 }, { returnRawResult: false }))
149+
.value
149150
);
150151
expectAssignable<SchemaWithIdNumberInterface | null>(
151152
(

0 commit comments

Comments
 (0)