Skip to content

Commit 17e6368

Browse files
committed
services: review Effect.provide usage in examples
1 parent 3244faa commit 17e6368

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

packages/services/examples/db-instance-multiple.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import * as Collection from "effect-mongodb/Collection"
44
import * as Db from "effect-mongodb/Db"
55
import * as FindCursor from "effect-mongodb/FindCursor"
66
import * as Effect from "effect/Effect"
7+
import * as Layer from "effect/Layer"
78
import * as Schema from "effect/Schema"
89

910
const Todo = Schema.Struct({
@@ -41,8 +42,9 @@ const ReplicaDbLive = DbInstance.layer(ReplicaDb, {
4142
client: { url: "mongodb://localhost:37017" }
4243
})
4344

45+
const MainLive = Layer.mergeAll(MainDbLive, ReplicaDbLive)
46+
4447
await program.pipe(
45-
Effect.provide(MainDbLive),
46-
Effect.provide(ReplicaDbLive),
48+
Effect.provide(MainLive),
4749
Effect.runPromise
4850
)

packages/services/examples/layers.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import * as FindCursor from "effect-mongodb/FindCursor"
66
import * as Effect from "effect/Effect"
77
import * as Schema from "effect/Schema"
88

9+
import * as Layer from "effect/Layer"
10+
911
const Todo = Schema.Struct({
1012
userId: Schema.Number,
1113
id: Schema.Number,
@@ -31,8 +33,9 @@ const MyMongoClient = MongoClientService.Tag("MyMongoClient")
3133
const MyDbLive = DbService.layer(MyDb, MyMongoClient, "mydb")
3234
const MyMongoClientLive = MongoClientService.layer(MyMongoClient, "mongodb://localhost:27017")
3335

36+
const MainLive = Layer.provide(MyDbLive, MyMongoClientLive)
37+
3438
await program.pipe(
35-
Effect.provide(MyDbLive),
36-
Effect.provide(MyMongoClientLive),
39+
Effect.provide(MainLive),
3740
Effect.runPromise
3841
)

packages/services/examples/multiple-mongodb-instances.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import * as FindCursor from "effect-mongodb/FindCursor"
66
import * as Effect from "effect/Effect"
77
import * as Schema from "effect/Schema"
88

9+
import * as Layer from "effect/Layer"
10+
911
const Todo = Schema.Struct({
1012
userId: Schema.Number,
1113
id: Schema.Number,
@@ -39,10 +41,12 @@ const ReplicaMongoClient = MongoClientService.Tag("ReplicaMongoClient")
3941
const ReplicaDbLive = DbService.layer(ReplicaDb, ReplicaMongoClient, "mydb")
4042
const ReplicaMongoClientLive = MongoClientService.layer(ReplicaMongoClient, "mongodb://localhost:37017")
4143

44+
const MainLive = Layer.mergeAll(
45+
Layer.provide(MainDbLive, MainMongoClientLive),
46+
Layer.provide(ReplicaDbLive, ReplicaMongoClientLive)
47+
)
48+
4249
await program.pipe(
43-
Effect.provide(MainDbLive),
44-
Effect.provide(MainMongoClientLive),
45-
Effect.provide(ReplicaDbLive),
46-
Effect.provide(ReplicaMongoClientLive),
50+
Effect.provide(MainLive),
4751
Effect.runPromise
4852
)

0 commit comments

Comments
 (0)