Skip to content

Commit 3f9d487

Browse files
committed
Collection: fix insertOne success return type InsertOneResult<I> to allow custom defined _id types
1 parent 891b6bf commit 3f9d487

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

.changeset/quiet-lizards-yell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"effect-mongodb": patch
3+
---
4+
5+
Fix `Collection.insertOne` success return type `InsertOneResult<I>` to allow custom defined `_id` types

packages/effect-mongodb/dtslint/Collection.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ F.pipe(collection, Collection.findOne({ birthday: "2024-11-28" }))
4141
// insertOne
4242
// -------------------------------------------------------------------------------------
4343

44-
// $ExpectType Effect<InsertOneResult<Document>, MongoError | ParseError, never>
44+
// $ExpectType Effect<InsertOneResult<{ readonly birthday: string; }>, MongoError | ParseError, never>
4545
Collection.insertOne(collection, myType)
4646

47-
// $ExpectType Effect<InsertOneResult<Document>, MongoError | ParseError, never>
47+
// $ExpectType Effect<InsertOneResult<{ readonly birthday: string; }>, MongoError | ParseError, never>
4848
F.pipe(collection, Collection.insertOne(myType))
4949

5050
// -------------------------------------------------------------------------------------

packages/effect-mongodb/src/Collection.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,17 @@ export const findOne: {
101101
export const insertOne: {
102102
<A extends Document>(doc: A, options?: InsertOneOptions): <I extends Document, R>(
103103
collection: Collection<A, I, R>
104-
) => Effect.Effect<InsertOneResult, MongoError.MongoError | ParseResult.ParseError, R>
104+
) => Effect.Effect<InsertOneResult<I>, MongoError.MongoError | ParseResult.ParseError, R>
105105
<A extends Document, I extends Document, R>(
106106
collection: Collection<A, I, R>,
107107
doc: A,
108108
options?: InsertOneOptions
109-
): Effect.Effect<InsertOneResult, MongoError.MongoError | ParseResult.ParseError, R>
109+
): Effect.Effect<InsertOneResult<I>, MongoError.MongoError | ParseResult.ParseError, R>
110110
} = F.dual((args) => isCollection(args[0]), <A extends Document, I extends Document, R>(
111111
collection: Collection<A, I, R>,
112112
doc: A,
113113
options?: InsertOneOptions
114-
): Effect.Effect<InsertOneResult, MongoError.MongoError | ParseResult.ParseError, R> =>
114+
): Effect.Effect<InsertOneResult<I>, MongoError.MongoError | ParseResult.ParseError, R> =>
115115
F.pipe(
116116
collection.encode(doc),
117117
Effect.flatMap((doc) => Effect.promise(() => collection.collection.insertOne(doc, options))),

0 commit comments

Comments
 (0)