Skip to content

Commit 565719c

Browse files
committed
update examples
1 parent 7a96703 commit 565719c

File tree

2 files changed

+33
-15
lines changed

2 files changed

+33
-15
lines changed

.changeset/true-eagles-peel.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,17 @@ class GreeterMap extends LayerMap.Service<GreeterMap>()("GreeterMap", {
3636
}) {}
3737

3838
// usage
39-
Effect.gen(function* () {
40-
// access and use the Greeter service
41-
const greeter = yield* Greeter
42-
yield* Effect.log(yield* greeter.greet)
43-
}).pipe(
39+
const program: Effect.Effect<void, never, GreeterMap> = Effect.gen(
40+
function* () {
41+
// access and use the Greeter service
42+
const greeter = yield* Greeter
43+
yield* Effect.log(yield* greeter.greet)
44+
}
45+
).pipe(
4446
// use the GreeterMap service to provide a variant of the Greeter service
45-
Effect.provide(GreeterMap.get("John")),
46-
NodeRuntime.runMain
47+
Effect.provide(GreeterMap.get("John"))
4748
)
49+
50+
// run the program
51+
program.pipe(Effect.provide(GreeterMap.Default), NodeRuntime.runMain)
4852
```

packages/effect/src/LayerMap.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export interface LayerMap<in K, in out I, out E = never> {
6868
*
6969
* ```ts
7070
* import { NodeRuntime } from "@effect/platform-node"
71-
* import { Context, Effect, Layer, LayerMap } from "effect"
71+
* import { Context, Effect, FiberRef, Layer, LayerMap } from "effect"
7272
*
7373
* class Greeter extends Context.Tag("Greeter")<Greeter, {
7474
* greet: Effect.Effect<string>
@@ -83,7 +83,9 @@ export interface LayerMap<in K, in out I, out E = never> {
8383
* lookup: (name: string) =>
8484
* Layer.succeed(Greeter, {
8585
* greet: Effect.succeed(`Hello, ${name}!`)
86-
* }),
86+
* }).pipe(
87+
* Layer.merge(Layer.locallyScoped(FiberRef.currentConcurrency, 123))
88+
* ),
8789
*
8890
* // If a layer is not used for a certain amount of time, it can be removed
8991
* idleTimeToLive: "5 seconds",
@@ -93,13 +95,18 @@ export interface LayerMap<in K, in out I, out E = never> {
9395
* }) {}
9496
*
9597
* // usage
96-
* Effect.gen(function*() {
98+
* const program: Effect.Effect<void, never, GreeterMap> = Effect.gen(function*() {
9799
* // access and use the Greeter service
98100
* const greeter = yield* Greeter
99101
* yield* Effect.log(yield* greeter.greet)
100102
* }).pipe(
101103
* // use the GreeterMap service to provide a variant of the Greeter service
102-
* Effect.provide(GreeterMap.get("John").pipe(Layer.provide(GreeterMap.Default))),
104+
* Effect.provide(GreeterMap.get("John"))
105+
* )
106+
*
107+
* // run the program
108+
* program.pipe(
109+
* Effect.provide(GreeterMap.Default),
103110
* NodeRuntime.runMain
104111
* )
105112
* ```
@@ -252,7 +259,7 @@ export interface TagClass<
252259
*
253260
* ```ts
254261
* import { NodeRuntime } from "@effect/platform-node"
255-
* import { Context, Effect, Layer, LayerMap } from "effect"
262+
* import { Context, Effect, FiberRef, Layer, LayerMap } from "effect"
256263
*
257264
* class Greeter extends Context.Tag("Greeter")<Greeter, {
258265
* greet: Effect.Effect<string>
@@ -267,7 +274,9 @@ export interface TagClass<
267274
* lookup: (name: string) =>
268275
* Layer.succeed(Greeter, {
269276
* greet: Effect.succeed(`Hello, ${name}!`)
270-
* }),
277+
* }).pipe(
278+
* Layer.merge(Layer.locallyScoped(FiberRef.currentConcurrency, 123))
279+
* ),
271280
*
272281
* // If a layer is not used for a certain amount of time, it can be removed
273282
* idleTimeToLive: "5 seconds",
@@ -277,13 +286,18 @@ export interface TagClass<
277286
* }) {}
278287
*
279288
* // usage
280-
* Effect.gen(function*() {
289+
* const program: Effect.Effect<void, never, GreeterMap> = Effect.gen(function*() {
281290
* // access and use the Greeter service
282291
* const greeter = yield* Greeter
283292
* yield* Effect.log(yield* greeter.greet)
284293
* }).pipe(
285294
* // use the GreeterMap service to provide a variant of the Greeter service
286-
* Effect.provide(GreeterMap.get("John").pipe(Layer.provide(GreeterMap.Default))),
295+
* Effect.provide(GreeterMap.get("John"))
296+
* )
297+
*
298+
* // run the program
299+
* program.pipe(
300+
* Effect.provide(GreeterMap.Default),
287301
* NodeRuntime.runMain
288302
* )
289303
* ```

0 commit comments

Comments
 (0)