effect 3.12.11 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -49
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/DateTime.js +17 -1
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js +128 -1
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +175 -37
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +2 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/FiberHandle.js +54 -21
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +51 -24
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +50 -17
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/HashMap.js +19 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js +9 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Layer.js +21 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/Match.js +659 -38
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/RcMap.js +11 -1
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/Reloadable.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +1074 -309
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Schema.js +73 -1
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +27 -3
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/dateTime.js +4 -1
- package/dist/cjs/internal/dateTime.js.map +1 -1
- package/dist/cjs/internal/differ.js +4 -0
- package/dist/cjs/internal/differ.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +3 -2
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +21 -7
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +10 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/rcMap.js +86 -56
- package/dist/cjs/internal/rcMap.js.map +1 -1
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Channel.d.ts +4 -4
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +16 -0
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +2 -1
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +64 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +402 -30
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +7 -0
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +26 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +26 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +25 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +38 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +7 -0
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +32 -13
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +731 -48
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +32 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +13 -13
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +4 -4
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +2294 -633
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +40 -4
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +8 -8
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +7 -7
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/index.d.ts +25 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts +2 -2
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/DateTime.js +16 -0
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Differ.js.map +1 -1
- package/dist/esm/Duration.js +124 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +170 -32
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +7 -0
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/FiberHandle.js +48 -18
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +46 -22
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +45 -15
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/HashMap.js +17 -0
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js +7 -0
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Layer.js +20 -0
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/Match.js +665 -40
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/RcMap.js +10 -0
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/Reloadable.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js +1074 -309
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Schema.js +71 -0
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/index.js +25 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +23 -0
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/dateTime.js +2 -0
- package/dist/esm/internal/dateTime.js.map +1 -1
- package/dist/esm/internal/differ.js +4 -0
- package/dist/esm/internal/differ.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +3 -2
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +18 -5
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/hashMap.js +9 -0
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/keyedPool.js +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/rcMap.js +85 -55
- package/dist/esm/internal/rcMap.js.map +1 -1
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +2 -1
- package/src/Channel.ts +14 -17
- package/src/DateTime.ts +17 -8
- package/src/Differ.ts +2 -1
- package/src/Duration.ts +147 -0
- package/src/Effect.ts +528 -140
- package/src/Either.ts +9 -0
- package/src/FiberHandle.ts +95 -35
- package/src/FiberMap.ts +104 -39
- package/src/FiberSet.ts +93 -24
- package/src/HashMap.ts +40 -0
- package/src/HashSet.ts +8 -0
- package/src/Layer.ts +94 -40
- package/src/Match.ts +733 -49
- package/src/RcMap.ts +34 -0
- package/src/Reloadable.ts +17 -27
- package/src/STM.ts +10 -17
- package/src/Schedule.ts +2325 -653
- package/src/Schema.ts +81 -4
- package/src/Stream.ts +26 -33
- package/src/Trie.ts +7 -7
- package/src/index.ts +25 -0
- package/src/internal/channel.ts +37 -39
- package/src/internal/core-effect.ts +84 -84
- package/src/internal/core.ts +80 -0
- package/src/internal/dateTime.ts +3 -0
- package/src/internal/differ.ts +4 -0
- package/src/internal/effect/circular.ts +3 -2
- package/src/internal/fiberRuntime.ts +31 -6
- package/src/internal/hashMap.ts +16 -0
- package/src/internal/keyedPool.ts +1 -1
- package/src/internal/layer.ts +52 -52
- package/src/internal/rcMap.ts +131 -89
- package/src/internal/reloadable.ts +25 -28
- package/src/internal/schedule.ts +29 -23
- package/src/internal/sink.ts +16 -15
- package/src/internal/stm/stm.ts +54 -46
- package/src/internal/stream.ts +100 -100
- package/src/internal/version.ts +1 -1
package/src/internal/stm/stm.ts
CHANGED
|
@@ -12,7 +12,7 @@ import * as Option from "../../Option.js"
|
|
|
12
12
|
import type { Predicate, Refinement } from "../../Predicate.js"
|
|
13
13
|
import * as predicate from "../../Predicate.js"
|
|
14
14
|
import type * as STM from "../../STM.js"
|
|
15
|
-
import type
|
|
15
|
+
import type * as Types from "../../Types.js"
|
|
16
16
|
import { yieldWrapGet } from "../../Utils.js"
|
|
17
17
|
import * as effectCore from "../core.js"
|
|
18
18
|
import * as core from "./core.js"
|
|
@@ -114,12 +114,12 @@ export const bind = dual<
|
|
|
114
114
|
<N extends string, K, A, E2, R2>(
|
|
115
115
|
tag: Exclude<N, keyof K>,
|
|
116
116
|
f: (_: K) => STM.STM<A, E2, R2>
|
|
117
|
-
) => <E, R>(self: STM.STM<K, E, R>) => STM.STM<MergeRecord<K, { [k in N]: A }>, E | E2, R | R2>,
|
|
117
|
+
) => <E, R>(self: STM.STM<K, E, R>) => STM.STM<Types.MergeRecord<K, { [k in N]: A }>, E | E2, R | R2>,
|
|
118
118
|
<K, E, R, N extends string, A, E2, R2>(
|
|
119
119
|
self: STM.STM<K, E, R>,
|
|
120
120
|
tag: Exclude<N, keyof K>,
|
|
121
121
|
f: (_: K) => STM.STM<A, E2, R2>
|
|
122
|
-
) => STM.STM<MergeRecord<K, { [k in N]: A }>, E | E2, R | R2>
|
|
122
|
+
) => STM.STM<Types.MergeRecord<K, { [k in N]: A }>, E | E2, R | R2>
|
|
123
123
|
>(3, <K, E, R, N extends string, A, E2, R2>(
|
|
124
124
|
self: STM.STM<K, E, R>,
|
|
125
125
|
tag: Exclude<N, keyof K>,
|
|
@@ -128,7 +128,7 @@ export const bind = dual<
|
|
|
128
128
|
core.flatMap(self, (k) =>
|
|
129
129
|
core.map(
|
|
130
130
|
f(k),
|
|
131
|
-
(a): MergeRecord<K, { [k in N]: A }> => ({ ...k, [tag]: a } as any)
|
|
131
|
+
(a): Types.MergeRecord<K, { [k in N]: A }> => ({ ...k, [tag]: a } as any)
|
|
132
132
|
)))
|
|
133
133
|
|
|
134
134
|
/* @internal */
|
|
@@ -158,7 +158,7 @@ export const let_ = dual<
|
|
|
158
158
|
tag: Exclude<N, keyof K>,
|
|
159
159
|
f: (_: K) => A
|
|
160
160
|
) => <E, R>(self: STM.STM<K, E, R>) => STM.STM<
|
|
161
|
-
MergeRecord<K, { [k in N]: A }>,
|
|
161
|
+
Types.MergeRecord<K, { [k in N]: A }>,
|
|
162
162
|
E,
|
|
163
163
|
R
|
|
164
164
|
>,
|
|
@@ -167,14 +167,14 @@ export const let_ = dual<
|
|
|
167
167
|
tag: Exclude<N, keyof K>,
|
|
168
168
|
f: (_: K) => A
|
|
169
169
|
) => STM.STM<
|
|
170
|
-
MergeRecord<K, { [k in N]: A }>,
|
|
170
|
+
Types.MergeRecord<K, { [k in N]: A }>,
|
|
171
171
|
E,
|
|
172
172
|
R
|
|
173
173
|
>
|
|
174
174
|
>(3, <K, E, R, N extends string, A>(self: STM.STM<K, E, R>, tag: Exclude<N, keyof K>, f: (_: K) => A) =>
|
|
175
175
|
core.map(
|
|
176
176
|
self,
|
|
177
|
-
(k): MergeRecord<K, { [k in N]: A }> => ({ ...k, [tag]: f(k) } as any)
|
|
177
|
+
(k): Types.MergeRecord<K, { [k in N]: A }> => ({ ...k, [tag]: f(k) } as any)
|
|
178
178
|
))
|
|
179
179
|
|
|
180
180
|
/** @internal */
|
|
@@ -330,7 +330,9 @@ export const eventually = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<A, E, R> =>
|
|
|
330
330
|
|
|
331
331
|
/** @internal */
|
|
332
332
|
export const every = dual<
|
|
333
|
-
<A, R, E>(
|
|
333
|
+
<A, R, E>(
|
|
334
|
+
predicate: (a: Types.NoInfer<A>) => STM.STM<boolean, E, R>
|
|
335
|
+
) => (iterable: Iterable<A>) => STM.STM<boolean, E, R>,
|
|
334
336
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM.STM<boolean, E, R>) => STM.STM<boolean, E, R>
|
|
335
337
|
>(
|
|
336
338
|
2,
|
|
@@ -357,7 +359,9 @@ export const every = dual<
|
|
|
357
359
|
|
|
358
360
|
/** @internal */
|
|
359
361
|
export const exists = dual<
|
|
360
|
-
<A, R, E>(
|
|
362
|
+
<A, R, E>(
|
|
363
|
+
predicate: (a: Types.NoInfer<A>) => STM.STM<boolean, E, R>
|
|
364
|
+
) => (iterable: Iterable<A>) => STM.STM<boolean, E, R>,
|
|
361
365
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM.STM<boolean, E, R>) => STM.STM<boolean, E, R>
|
|
362
366
|
>(
|
|
363
367
|
2,
|
|
@@ -382,7 +386,9 @@ export const fiberId: STM.STM<FiberId.FiberId> = core.effect<never, FiberId.Fibe
|
|
|
382
386
|
|
|
383
387
|
/** @internal */
|
|
384
388
|
export const filter = dual<
|
|
385
|
-
<A, R, E>(
|
|
389
|
+
<A, R, E>(
|
|
390
|
+
predicate: (a: Types.NoInfer<A>) => STM.STM<boolean, E, R>
|
|
391
|
+
) => (iterable: Iterable<A>) => STM.STM<Array<A>, E, R>,
|
|
386
392
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM.STM<boolean, E, R>) => STM.STM<Array<A>, E, R>
|
|
387
393
|
>(
|
|
388
394
|
2,
|
|
@@ -405,7 +411,9 @@ export const filter = dual<
|
|
|
405
411
|
|
|
406
412
|
/** @internal */
|
|
407
413
|
export const filterNot = dual<
|
|
408
|
-
<A, R, E>(
|
|
414
|
+
<A, R, E>(
|
|
415
|
+
predicate: (a: Types.NoInfer<A>) => STM.STM<boolean, E, R>
|
|
416
|
+
) => (iterable: Iterable<A>) => STM.STM<Array<A>, E, R>,
|
|
409
417
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM.STM<boolean, E, R>) => STM.STM<Array<A>, E, R>
|
|
410
418
|
>(
|
|
411
419
|
2,
|
|
@@ -416,11 +424,11 @@ export const filterNot = dual<
|
|
|
416
424
|
/** @internal */
|
|
417
425
|
export const filterOrDie: {
|
|
418
426
|
<A, B extends A>(
|
|
419
|
-
refinement: Refinement<NoInfer<A>, B>,
|
|
427
|
+
refinement: Refinement<Types.NoInfer<A>, B>,
|
|
420
428
|
defect: LazyArg<unknown>
|
|
421
429
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<B, E, R>
|
|
422
430
|
<A>(
|
|
423
|
-
predicate: Predicate<NoInfer<A>>,
|
|
431
|
+
predicate: Predicate<Types.NoInfer<A>>,
|
|
424
432
|
defect: LazyArg<unknown>
|
|
425
433
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E, R>
|
|
426
434
|
<A, E, R, B extends A>(
|
|
@@ -438,10 +446,10 @@ export const filterOrDie: {
|
|
|
438
446
|
/** @internal */
|
|
439
447
|
export const filterOrDieMessage: {
|
|
440
448
|
<A, B extends A>(
|
|
441
|
-
refinement: Refinement<NoInfer<A>, B>,
|
|
449
|
+
refinement: Refinement<Types.NoInfer<A>, B>,
|
|
442
450
|
message: string
|
|
443
451
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<B, E, R>
|
|
444
|
-
<A>(predicate: Predicate<NoInfer<A>>, message: string): <E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E, R>
|
|
452
|
+
<A>(predicate: Predicate<Types.NoInfer<A>>, message: string): <E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E, R>
|
|
445
453
|
<A, E, R, B extends A>(self: STM.STM<A, E, R>, refinement: Refinement<A, B>, message: string): STM.STM<B, E, R>
|
|
446
454
|
<A, E, R>(self: STM.STM<A, E, R>, predicate: Predicate<A>, message: string): STM.STM<A, E, R>
|
|
447
455
|
} = dual(
|
|
@@ -453,12 +461,12 @@ export const filterOrDieMessage: {
|
|
|
453
461
|
/** @internal */
|
|
454
462
|
export const filterOrElse: {
|
|
455
463
|
<A, B extends A, C, E2, R2>(
|
|
456
|
-
refinement: Refinement<NoInfer<A>, B>,
|
|
457
|
-
orElse: (a: NoInfer<A>) => STM.STM<C, E2, R2>
|
|
464
|
+
refinement: Refinement<Types.NoInfer<A>, B>,
|
|
465
|
+
orElse: (a: Types.NoInfer<A>) => STM.STM<C, E2, R2>
|
|
458
466
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<B | C, E2 | E, R2 | R>
|
|
459
467
|
<A, B, E2, R2>(
|
|
460
|
-
predicate: Predicate<NoInfer<A>>,
|
|
461
|
-
orElse: (a: NoInfer<A>) => STM.STM<B, E2, R2>
|
|
468
|
+
predicate: Predicate<Types.NoInfer<A>>,
|
|
469
|
+
orElse: (a: Types.NoInfer<A>) => STM.STM<B, E2, R2>
|
|
462
470
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<A | B, E2 | E, R2 | R>
|
|
463
471
|
<A, E, R, B extends A, C, E2, R2>(
|
|
464
472
|
self: STM.STM<A, E, R>,
|
|
@@ -483,12 +491,12 @@ export const filterOrElse: {
|
|
|
483
491
|
/** @internal */
|
|
484
492
|
export const filterOrFail: {
|
|
485
493
|
<A, B extends A, E2>(
|
|
486
|
-
refinement: Refinement<NoInfer<A>, B>,
|
|
487
|
-
orFailWith: (a: NoInfer<A>) => E2
|
|
494
|
+
refinement: Refinement<Types.NoInfer<A>, B>,
|
|
495
|
+
orFailWith: (a: Types.NoInfer<A>) => E2
|
|
488
496
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<B, E2 | E, R>
|
|
489
497
|
<A, E2>(
|
|
490
|
-
predicate: Predicate<NoInfer<A>>,
|
|
491
|
-
orFailWith: (a: NoInfer<A>) => E2
|
|
498
|
+
predicate: Predicate<Types.NoInfer<A>>,
|
|
499
|
+
orFailWith: (a: Types.NoInfer<A>) => E2
|
|
492
500
|
): <E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E2 | E, R>
|
|
493
501
|
<A, E, R, B extends A, E2>(
|
|
494
502
|
self: STM.STM<A, E, R>,
|
|
@@ -975,38 +983,38 @@ export const provideSomeContext = dual<
|
|
|
975
983
|
|
|
976
984
|
/** @internal */
|
|
977
985
|
export const provideService = dual<
|
|
978
|
-
<
|
|
979
|
-
tag:
|
|
980
|
-
resource:
|
|
986
|
+
<I, S>(
|
|
987
|
+
tag: Context.Tag<I, S>,
|
|
988
|
+
resource: Types.NoInfer<S>
|
|
981
989
|
) => <A, E, R>(
|
|
982
990
|
self: STM.STM<A, E, R>
|
|
983
|
-
) => STM.STM<A, E, Exclude<R,
|
|
984
|
-
<A, E, R,
|
|
991
|
+
) => STM.STM<A, E, Exclude<R, I>>,
|
|
992
|
+
<A, E, R, I, S>(
|
|
985
993
|
self: STM.STM<A, E, R>,
|
|
986
|
-
tag:
|
|
987
|
-
resource:
|
|
988
|
-
) => STM.STM<A, E, Exclude<R,
|
|
994
|
+
tag: Context.Tag<I, S>,
|
|
995
|
+
resource: Types.NoInfer<S>
|
|
996
|
+
) => STM.STM<A, E, Exclude<R, I>>
|
|
989
997
|
>(3, (self, tag, resource) => provideServiceSTM(self, tag, core.succeed(resource)))
|
|
990
998
|
|
|
991
999
|
/** @internal */
|
|
992
1000
|
export const provideServiceSTM = dual<
|
|
993
|
-
<
|
|
994
|
-
tag:
|
|
995
|
-
stm: STM.STM<
|
|
1001
|
+
<I, S, E1, R1>(
|
|
1002
|
+
tag: Context.Tag<I, S>,
|
|
1003
|
+
stm: STM.STM<Types.NoInfer<S>, E1, R1>
|
|
996
1004
|
) => <A, E, R>(
|
|
997
1005
|
self: STM.STM<A, E, R>
|
|
998
|
-
) => STM.STM<A, E1 | E, R1 | Exclude<R,
|
|
999
|
-
<A, E, R,
|
|
1006
|
+
) => STM.STM<A, E1 | E, R1 | Exclude<R, I>>,
|
|
1007
|
+
<A, E, R, I, S, E1, R1>(
|
|
1000
1008
|
self: STM.STM<A, E, R>,
|
|
1001
|
-
tag:
|
|
1002
|
-
stm: STM.STM<
|
|
1003
|
-
) => STM.STM<A, E1 | E, R1 | Exclude<R,
|
|
1004
|
-
>(3, <A, E, R,
|
|
1009
|
+
tag: Context.Tag<I, S>,
|
|
1010
|
+
stm: STM.STM<Types.NoInfer<S>, E1, R1>
|
|
1011
|
+
) => STM.STM<A, E1 | E, R1 | Exclude<R, I>>
|
|
1012
|
+
>(3, <A, E, R, I, S, E1, R1>(
|
|
1005
1013
|
self: STM.STM<A, E, R>,
|
|
1006
|
-
tag:
|
|
1007
|
-
stm: STM.STM<
|
|
1008
|
-
): STM.STM<A, E1 | E, R1 | Exclude<R,
|
|
1009
|
-
core.contextWithSTM((env: Context.Context<R1 | Exclude<R,
|
|
1014
|
+
tag: Context.Tag<I, S>,
|
|
1015
|
+
stm: STM.STM<Types.NoInfer<S>, E1, R1>
|
|
1016
|
+
): STM.STM<A, E1 | E, R1 | Exclude<R, I>> =>
|
|
1017
|
+
core.contextWithSTM((env: Context.Context<R1 | Exclude<R, I>>) =>
|
|
1010
1018
|
core.flatMap(
|
|
1011
1019
|
stm,
|
|
1012
1020
|
(service) =>
|
|
@@ -1176,7 +1184,7 @@ export const replicateSTMDiscard = dual<
|
|
|
1176
1184
|
/** @internal */
|
|
1177
1185
|
export const retryUntil = dual<
|
|
1178
1186
|
{
|
|
1179
|
-
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <E, R>(self: STM.STM<A, E, R>) => STM.STM<B, E, R>
|
|
1187
|
+
<A, B extends A>(refinement: Refinement<Types.NoInfer<A>, B>): <E, R>(self: STM.STM<A, E, R>) => STM.STM<B, E, R>
|
|
1180
1188
|
<A>(predicate: Predicate<A>): <E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E, R>
|
|
1181
1189
|
},
|
|
1182
1190
|
{
|
|
@@ -1318,7 +1326,7 @@ export const tapBoth = dual<
|
|
|
1318
1326
|
/** @internal */
|
|
1319
1327
|
export const tapError: {
|
|
1320
1328
|
<E, X, E2, R2>(
|
|
1321
|
-
f: (error: NoInfer<E>) => STM.STM<X, E2, R2>
|
|
1329
|
+
f: (error: Types.NoInfer<E>) => STM.STM<X, E2, R2>
|
|
1322
1330
|
): <A, R>(self: STM.STM<A, E, R>) => STM.STM<A, E | E2, R2 | R>
|
|
1323
1331
|
<A, E, R, X, E2, R2>(self: STM.STM<A, E, R>, f: (error: E) => STM.STM<X, E2, R2>): STM.STM<A, E | E2, R | R2>
|
|
1324
1332
|
} = dual(
|