effect 3.13.0 → 3.13.2
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/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Duration.js +1 -3
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricPolling.js.map +1 -1
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/Option.js +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/ParseResult.js.map +1 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/SchemaAST.js +1 -1
- package/dist/cjs/SchemaAST.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Subscribable.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/Unify.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +1 -3
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts.map +1 -1
- package/dist/dts/MergeStrategy.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +3 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/ParseResult.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/RedBlackTree.d.ts.map +1 -1
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Subscribable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TSubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/Unify.d.ts.map +1 -1
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Duration.js +1 -3
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricKey.js.map +1 -1
- package/dist/esm/MetricPolling.js.map +1 -1
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/Option.js +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/ParseResult.js.map +1 -1
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/SchemaAST.js +1 -1
- package/dist/esm/SchemaAST.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Subscribable.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/Unify.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +22 -82
- package/src/Cause.ts +20 -20
- package/src/Channel.ts +14 -44
- package/src/ChildExecutorDecision.ts +11 -11
- package/src/Chunk.ts +23 -36
- package/src/Config.ts +27 -27
- package/src/ConfigProvider.ts +3 -3
- package/src/Console.ts +9 -9
- package/src/Context.ts +2 -9
- package/src/DateTime.ts +96 -104
- package/src/Duration.ts +1 -3
- package/src/Effect.ts +64 -229
- package/src/Either.ts +2 -8
- package/src/ExecutionStrategy.ts +11 -11
- package/src/Exit.ts +27 -29
- package/src/Fiber.ts +9 -9
- package/src/FiberRefsPatch.ts +3 -3
- package/src/Function.ts +2 -8
- package/src/GroupBy.ts +5 -5
- package/src/HashSet.ts +2 -7
- package/src/Iterable.ts +2 -7
- package/src/Layer.ts +22 -77
- package/src/List.ts +32 -43
- package/src/Logger.ts +21 -55
- package/src/Mailbox.ts +9 -9
- package/src/MergeDecision.ts +9 -9
- package/src/MergeStrategy.ts +9 -9
- package/src/Metric.ts +13 -47
- package/src/MetricKey.ts +4 -16
- package/src/MetricPolling.ts +1 -3
- package/src/Micro.ts +43 -104
- package/src/MutableHashMap.ts +1 -4
- package/src/Option.ts +4 -7
- package/src/ParseResult.ts +4 -14
- package/src/Predicate.ts +2 -6
- package/src/RcMap.ts +10 -10
- package/src/Record.ts +24 -90
- package/src/RedBlackTree.ts +14 -14
- package/src/Request.ts +2 -7
- package/src/RequestResolver.ts +6 -22
- package/src/Runtime.ts +4 -4
- package/src/STM.ts +17 -67
- package/src/Schedule.ts +37 -126
- package/src/Schema.ts +99 -123
- package/src/SchemaAST.ts +1 -1
- package/src/Sink.ts +20 -68
- package/src/SortedMap.ts +1 -3
- package/src/Stream.ts +86 -311
- package/src/StreamHaltStrategy.ts +13 -13
- package/src/Struct.ts +2 -7
- package/src/Subscribable.ts +1 -3
- package/src/SubscriptionRef.ts +1 -3
- package/src/SynchronizedRef.ts +17 -19
- package/src/TArray.ts +7 -10
- package/src/TMap.ts +4 -13
- package/src/TSubscriptionRef.ts +3 -3
- package/src/Take.ts +24 -29
- package/src/TestServices.ts +1 -3
- package/src/Unify.ts +1 -3
- package/src/UpstreamPullRequest.ts +9 -9
- package/src/UpstreamPullStrategy.ts +9 -9
- package/src/internal/version.ts +1 -1
package/src/Micro.ts
CHANGED
|
@@ -1370,10 +1370,7 @@ export const andThen: {
|
|
|
1370
1370
|
* @experimental
|
|
1371
1371
|
* @category mapping & sequencing
|
|
1372
1372
|
*/
|
|
1373
|
-
<A, E, R, X>(
|
|
1374
|
-
self: Micro<A, E, R>,
|
|
1375
|
-
f: (a: A) => X
|
|
1376
|
-
): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1373
|
+
<A, E, R, X>(self: Micro<A, E, R>, f: (a: A) => X): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1377
1374
|
: Micro<X, E, R>
|
|
1378
1375
|
/**
|
|
1379
1376
|
* A more flexible version of `flatMap` that combines `map` and `flatMap` into a
|
|
@@ -1386,10 +1383,7 @@ export const andThen: {
|
|
|
1386
1383
|
* @experimental
|
|
1387
1384
|
* @category mapping & sequencing
|
|
1388
1385
|
*/
|
|
1389
|
-
<A, E, R, X>(
|
|
1390
|
-
self: Micro<A, E, R>,
|
|
1391
|
-
f: NotFunction<X>
|
|
1392
|
-
): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1386
|
+
<A, E, R, X>(self: Micro<A, E, R>, f: NotFunction<X>): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1393
1387
|
: Micro<X, E, R>
|
|
1394
1388
|
} = dual(
|
|
1395
1389
|
2,
|
|
@@ -1445,10 +1439,7 @@ export const tap: {
|
|
|
1445
1439
|
* @experimental
|
|
1446
1440
|
* @category mapping & sequencing
|
|
1447
1441
|
*/
|
|
1448
|
-
<A, E, R, X>(
|
|
1449
|
-
self: Micro<A, E, R>,
|
|
1450
|
-
f: (a: NoInfer<A>) => X
|
|
1451
|
-
): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1442
|
+
<A, E, R, X>(self: Micro<A, E, R>, f: (a: NoInfer<A>) => X): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1452
1443
|
: Micro<A, E, R>
|
|
1453
1444
|
/**
|
|
1454
1445
|
* Execute a side effect from the success value of the `Micro` effect.
|
|
@@ -1459,10 +1450,7 @@ export const tap: {
|
|
|
1459
1450
|
* @experimental
|
|
1460
1451
|
* @category mapping & sequencing
|
|
1461
1452
|
*/
|
|
1462
|
-
<A, E, R, X>(
|
|
1463
|
-
self: Micro<A, E, R>,
|
|
1464
|
-
f: NotFunction<X>
|
|
1465
|
-
): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1453
|
+
<A, E, R, X>(self: Micro<A, E, R>, f: NotFunction<X>): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1466
1454
|
: Micro<A, E, R>
|
|
1467
1455
|
} = dual(
|
|
1468
1456
|
2,
|
|
@@ -2048,9 +2036,7 @@ export const updateContext: {
|
|
|
2048
2036
|
* @experimental
|
|
2049
2037
|
* @category environment
|
|
2050
2038
|
*/
|
|
2051
|
-
<R2, R>(
|
|
2052
|
-
f: (context: Context.Context<R2>) => Context.Context<NoInfer<R>>
|
|
2053
|
-
): <A, E>(self: Micro<A, E, R>) => Micro<A, E, R2>
|
|
2039
|
+
<R2, R>(f: (context: Context.Context<R2>) => Context.Context<NoInfer<R>>): <A, E>(self: Micro<A, E, R>) => Micro<A, E, R2>
|
|
2054
2040
|
/**
|
|
2055
2041
|
* Update the Context with the given mapping function.
|
|
2056
2042
|
*
|
|
@@ -2068,30 +2054,28 @@ export const updateContext: {
|
|
|
2068
2054
|
self: Micro<A, E, R>,
|
|
2069
2055
|
f: (context: Context.Context<R2>) => Context.Context<NoInfer<R>>
|
|
2070
2056
|
): Micro<A, E, R2> =>
|
|
2071
|
-
withMicroFiber
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
R2
|
|
2094
|
-
>((fiber) => {
|
|
2057
|
+
withMicroFiber</**
|
|
2058
|
+
* Update the Context with the given mapping function.
|
|
2059
|
+
*
|
|
2060
|
+
* @since 3.11.0
|
|
2061
|
+
* @experimental
|
|
2062
|
+
* @category environment
|
|
2063
|
+
*/
|
|
2064
|
+
A, /**
|
|
2065
|
+
* Update the Context with the given mapping function.
|
|
2066
|
+
*
|
|
2067
|
+
* @since 3.11.0
|
|
2068
|
+
* @experimental
|
|
2069
|
+
* @category environment
|
|
2070
|
+
*/
|
|
2071
|
+
E, /**
|
|
2072
|
+
* Update the Context with the given mapping function.
|
|
2073
|
+
*
|
|
2074
|
+
* @since 3.11.0
|
|
2075
|
+
* @experimental
|
|
2076
|
+
* @category environment
|
|
2077
|
+
*/
|
|
2078
|
+
R2>((fiber) => {
|
|
2095
2079
|
const prev = fiber.context as Context.Context<R2>
|
|
2096
2080
|
fiber.context = f(prev)
|
|
2097
2081
|
return onExit(
|
|
@@ -2256,10 +2240,7 @@ export const provideServiceEffect: {
|
|
|
2256
2240
|
* @experimental
|
|
2257
2241
|
* @category environment
|
|
2258
2242
|
*/
|
|
2259
|
-
<I, S, E2, R2>(
|
|
2260
|
-
tag: Context.Tag<I, S>,
|
|
2261
|
-
acquire: Micro<S, E2, R2>
|
|
2262
|
-
): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | E2, Exclude<R, I> | R2>
|
|
2243
|
+
<I, S, E2, R2>(tag: Context.Tag<I, S>, acquire: Micro<S, E2, R2>): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | E2, Exclude<R, I> | R2>
|
|
2263
2244
|
/**
|
|
2264
2245
|
* Create a service using the provided `Micro` effect, and add it to the
|
|
2265
2246
|
* current context.
|
|
@@ -2268,11 +2249,7 @@ export const provideServiceEffect: {
|
|
|
2268
2249
|
* @experimental
|
|
2269
2250
|
* @category environment
|
|
2270
2251
|
*/
|
|
2271
|
-
<A, E, R, I, S, E2, R2>(
|
|
2272
|
-
self: Micro<A, E, R>,
|
|
2273
|
-
tag: Context.Tag<I, S>,
|
|
2274
|
-
acquire: Micro<S, E2, R2>
|
|
2275
|
-
): Micro<A, E | E2, Exclude<R, I> | R2>
|
|
2252
|
+
<A, E, R, I, S, E2, R2>(self: Micro<A, E, R>, tag: Context.Tag<I, S>, acquire: Micro<S, E2, R2>): Micro<A, E | E2, Exclude<R, I> | R2>
|
|
2276
2253
|
} = dual(
|
|
2277
2254
|
3,
|
|
2278
2255
|
<A, E, R, I, S, E2, R2>(
|
|
@@ -2620,10 +2597,7 @@ export const filterOrFail: {
|
|
|
2620
2597
|
* @experimental
|
|
2621
2598
|
* @category filtering & conditionals
|
|
2622
2599
|
*/
|
|
2623
|
-
<A, B extends A, E2>(
|
|
2624
|
-
refinement: Refinement<A, B>,
|
|
2625
|
-
orFailWith: (a: NoInfer<A>) => E2
|
|
2626
|
-
): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R>
|
|
2600
|
+
<A, B extends A, E2>(refinement: Refinement<A, B>, orFailWith: (a: NoInfer<A>) => E2): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R>
|
|
2627
2601
|
/**
|
|
2628
2602
|
* Filter the specified effect with the provided function, failing with specified
|
|
2629
2603
|
* error if the predicate fails.
|
|
@@ -2635,10 +2609,7 @@ export const filterOrFail: {
|
|
|
2635
2609
|
* @experimental
|
|
2636
2610
|
* @category filtering & conditionals
|
|
2637
2611
|
*/
|
|
2638
|
-
<A, E2>(
|
|
2639
|
-
predicate: Predicate<NoInfer<A>>,
|
|
2640
|
-
orFailWith: (a: NoInfer<A>) => E2
|
|
2641
|
-
): <E, R>(self: Micro<A, E, R>) => Micro<A, E2 | E, R>
|
|
2612
|
+
<A, E2>(predicate: Predicate<NoInfer<A>>, orFailWith: (a: NoInfer<A>) => E2): <E, R>(self: Micro<A, E, R>) => Micro<A, E2 | E, R>
|
|
2642
2613
|
/**
|
|
2643
2614
|
* Filter the specified effect with the provided function, failing with specified
|
|
2644
2615
|
* error if the predicate fails.
|
|
@@ -2688,9 +2659,7 @@ export const when: {
|
|
|
2688
2659
|
* @experimental
|
|
2689
2660
|
* @category filtering & conditionals
|
|
2690
2661
|
*/
|
|
2691
|
-
<E2 = never, R2 = never>(
|
|
2692
|
-
condition: LazyArg<boolean> | Micro<boolean, E2, R2>
|
|
2693
|
-
): <A, E, R>(self: Micro<A, E, R>) => Micro<Option.Option<A>, E | E2, R | R2>
|
|
2662
|
+
<E2 = never, R2 = never>(condition: LazyArg<boolean> | Micro<boolean, E2, R2>): <A, E, R>(self: Micro<A, E, R>) => Micro<Option.Option<A>, E | E2, R | R2>
|
|
2694
2663
|
/**
|
|
2695
2664
|
* The moral equivalent of `if (p) exp`.
|
|
2696
2665
|
*
|
|
@@ -2698,10 +2667,7 @@ export const when: {
|
|
|
2698
2667
|
* @experimental
|
|
2699
2668
|
* @category filtering & conditionals
|
|
2700
2669
|
*/
|
|
2701
|
-
<A, E, R, E2 = never, R2 = never>(
|
|
2702
|
-
self: Micro<A, E, R>,
|
|
2703
|
-
condition: LazyArg<boolean> | Micro<boolean, E2, R2>
|
|
2704
|
-
): Micro<Option.Option<A>, E | E2, R | R2>
|
|
2670
|
+
<A, E, R, E2 = never, R2 = never>(self: Micro<A, E, R>, condition: LazyArg<boolean> | Micro<boolean, E2, R2>): Micro<Option.Option<A>, E | E2, R | R2>
|
|
2705
2671
|
} = dual(
|
|
2706
2672
|
2,
|
|
2707
2673
|
<A, E, R, E2 = never, R2 = never>(
|
|
@@ -3206,9 +3172,7 @@ export const catchAllCause: {
|
|
|
3206
3172
|
* @experimental
|
|
3207
3173
|
* @category error handling
|
|
3208
3174
|
*/
|
|
3209
|
-
<E, B, E2, R2>(
|
|
3210
|
-
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
3211
|
-
): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E2, R | R2>
|
|
3175
|
+
<E, B, E2, R2>(f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E2, R | R2>
|
|
3212
3176
|
// ----------------------------------------------------------------------------
|
|
3213
3177
|
// error handling
|
|
3214
3178
|
// ----------------------------------------------------------------------------
|
|
@@ -3399,9 +3363,7 @@ export const tapErrorCause: {
|
|
|
3399
3363
|
* @experimental
|
|
3400
3364
|
* @category error handling
|
|
3401
3365
|
*/
|
|
3402
|
-
<E, B, E2, R2>(
|
|
3403
|
-
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
3404
|
-
): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3366
|
+
<E, B, E2, R2>(f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3405
3367
|
/**
|
|
3406
3368
|
* Perform a side effect using the full `MicroCause` object of the given `Micro`.
|
|
3407
3369
|
*
|
|
@@ -3438,10 +3400,7 @@ export const tapErrorCauseIf: {
|
|
|
3438
3400
|
* @experimental
|
|
3439
3401
|
* @category error handling
|
|
3440
3402
|
*/
|
|
3441
|
-
<E, B, E2, R2, EB extends MicroCause<E>>(
|
|
3442
|
-
refinement: Refinement<MicroCause<E>, EB>,
|
|
3443
|
-
f: (a: EB) => Micro<B, E2, R2>
|
|
3444
|
-
): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3403
|
+
<E, B, E2, R2, EB extends MicroCause<E>>(refinement: Refinement<MicroCause<E>, EB>, f: (a: EB) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3445
3404
|
/**
|
|
3446
3405
|
* Perform a side effect using if a `MicroCause` object matches the specified
|
|
3447
3406
|
* predicate.
|
|
@@ -3564,10 +3523,7 @@ export const catchIf: {
|
|
|
3564
3523
|
* @experimental
|
|
3565
3524
|
* @category error handling
|
|
3566
3525
|
*/
|
|
3567
|
-
<E, EB extends E, A2, E2, R2>(
|
|
3568
|
-
refinement: Refinement<NoInfer<E>, EB>,
|
|
3569
|
-
f: (e: EB) => Micro<A2, E2, R2>
|
|
3570
|
-
): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E2 | Exclude<E, EB>, R2 | R>
|
|
3526
|
+
<E, EB extends E, A2, E2, R2>(refinement: Refinement<NoInfer<E>, EB>, f: (e: EB) => Micro<A2, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E2 | Exclude<E, EB>, R2 | R>
|
|
3571
3527
|
/**
|
|
3572
3528
|
* Catch any expected errors that match the specified predicate.
|
|
3573
3529
|
*
|
|
@@ -3575,10 +3531,7 @@ export const catchIf: {
|
|
|
3575
3531
|
* @experimental
|
|
3576
3532
|
* @category error handling
|
|
3577
3533
|
*/
|
|
3578
|
-
<E, A2, E2, R2>(
|
|
3579
|
-
predicate: Predicate<NoInfer<E>>,
|
|
3580
|
-
f: (e: NoInfer<E>) => Micro<A2, E2, R2>
|
|
3581
|
-
): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E | E2, R2 | R>
|
|
3534
|
+
<E, A2, E2, R2>(predicate: Predicate<NoInfer<E>>, f: (e: NoInfer<E>) => Micro<A2, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E | E2, R2 | R>
|
|
3582
3535
|
/**
|
|
3583
3536
|
* Catch any expected errors that match the specified predicate.
|
|
3584
3537
|
*
|
|
@@ -3632,10 +3585,7 @@ export const catchTag: {
|
|
|
3632
3585
|
* @experimental
|
|
3633
3586
|
* @category error handling
|
|
3634
3587
|
*/
|
|
3635
|
-
<K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(
|
|
3636
|
-
k: K,
|
|
3637
|
-
f: (e: Extract<E, { _tag: K }>) => Micro<A1, E1, R1>
|
|
3638
|
-
): <A, R>(self: Micro<A, E, R>) => Micro<A1 | A, E1 | Exclude<E, { _tag: K }>, R1 | R>
|
|
3588
|
+
<K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(k: K, f: (e: Extract<E, { _tag: K }>) => Micro<A1, E1, R1>): <A, R>(self: Micro<A, E, R>) => Micro<A1 | A, E1 | Exclude<E, { _tag: K }>, R1 | R>
|
|
3639
3589
|
/**
|
|
3640
3590
|
* Recovers from the specified tagged error.
|
|
3641
3591
|
*
|
|
@@ -4521,9 +4471,7 @@ export const onExit: {
|
|
|
4521
4471
|
* @experimental
|
|
4522
4472
|
* @category resources & finalization
|
|
4523
4473
|
*/
|
|
4524
|
-
<A, E, XE, XR>(
|
|
4525
|
-
f: (exit: MicroExit<A, E>) => Micro<void, XE, XR>
|
|
4526
|
-
): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4474
|
+
<A, E, XE, XR>(f: (exit: MicroExit<A, E>) => Micro<void, XE, XR>): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4527
4475
|
/**
|
|
4528
4476
|
* When the `Micro` effect is completed, run the given finalizer effect with the
|
|
4529
4477
|
* `MicroExit` of the executed effect.
|
|
@@ -4664,9 +4612,7 @@ export const onError: {
|
|
|
4664
4612
|
* @experimental
|
|
4665
4613
|
* @category resources & finalization
|
|
4666
4614
|
*/
|
|
4667
|
-
<A, E, XE, XR>(
|
|
4668
|
-
f: (cause: MicroCause<NoInfer<E>>) => Micro<void, XE, XR>
|
|
4669
|
-
): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4615
|
+
<A, E, XE, XR>(f: (cause: MicroCause<NoInfer<E>>) => Micro<void, XE, XR>): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4670
4616
|
/**
|
|
4671
4617
|
* When the `Micro` effect fails, run the given finalizer effect with the
|
|
4672
4618
|
* `MicroCause` of the executed effect.
|
|
@@ -5240,10 +5186,7 @@ export const bind: {
|
|
|
5240
5186
|
* @experimental
|
|
5241
5187
|
* @category do notation
|
|
5242
5188
|
*/
|
|
5243
|
-
<N extends string, A extends Record<string, any>, B, E2, R2>(
|
|
5244
|
-
name: N,
|
|
5245
|
-
f: (a: NoInfer<A>) => Micro<B, E2, R2>
|
|
5246
|
-
): <E, R>(self: Micro<A, E, R>) => Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
|
|
5189
|
+
<N extends string, A extends Record<string, any>, B, E2, R2>(name: N, f: (a: NoInfer<A>) => Micro<B, E2, R2>): <E, R>(self: Micro<A, E, R>) => Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
|
|
5247
5190
|
/**
|
|
5248
5191
|
* Bind the success value of this `Micro` effect to the provided name.
|
|
5249
5192
|
*
|
|
@@ -5251,11 +5194,7 @@ export const bind: {
|
|
|
5251
5194
|
* @experimental
|
|
5252
5195
|
* @category do notation
|
|
5253
5196
|
*/
|
|
5254
|
-
<A extends Record<string, any>, E, R, B, E2, R2, N extends string>(
|
|
5255
|
-
self: Micro<A, E, R>,
|
|
5256
|
-
name: N,
|
|
5257
|
-
f: (a: NoInfer<A>) => Micro<B, E2, R2>
|
|
5258
|
-
): Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
|
|
5197
|
+
<A extends Record<string, any>, E, R, B, E2, R2, N extends string>(self: Micro<A, E, R>, name: N, f: (a: NoInfer<A>) => Micro<B, E2, R2>): Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
|
|
5259
5198
|
} = doNotation.bind<MicroTypeLambda>(map, flatMap)
|
|
5260
5199
|
|
|
5261
5200
|
const let_: {
|
package/src/MutableHashMap.ts
CHANGED
|
@@ -376,10 +376,7 @@ export const modifyAt: {
|
|
|
376
376
|
*
|
|
377
377
|
* @since 2.0.0
|
|
378
378
|
*/
|
|
379
|
-
<K, V>(
|
|
380
|
-
key: K,
|
|
381
|
-
f: (value: Option.Option<V>) => Option.Option<V>
|
|
382
|
-
) => (self: MutableHashMap<K, V>) => MutableHashMap<K, V>,
|
|
379
|
+
<K, V>(key: K, f: (value: Option.Option<V>) => Option.Option<V>) => (self: MutableHashMap<K, V>) => MutableHashMap<K, V>,
|
|
383
380
|
/**
|
|
384
381
|
* Set or remove the specified key in the `MutableHashMap` using the specified
|
|
385
382
|
* update function.
|
package/src/Option.ts
CHANGED
|
@@ -2889,7 +2889,7 @@ export const partitionMap: {
|
|
|
2889
2889
|
*
|
|
2890
2890
|
* // Transform and filter numbers
|
|
2891
2891
|
* const transformEven = (n: Option.Option<number>): Option.Option<string> =>
|
|
2892
|
-
* Option.
|
|
2892
|
+
* Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
|
|
2893
2893
|
*
|
|
2894
2894
|
* console.log(transformEven(Option.none()))
|
|
2895
2895
|
* // Output: { _id: 'Option', _tag: 'None' }
|
|
@@ -2927,7 +2927,7 @@ export const filterMap: {
|
|
|
2927
2927
|
*
|
|
2928
2928
|
* // Transform and filter numbers
|
|
2929
2929
|
* const transformEven = (n: Option.Option<number>): Option.Option<string> =>
|
|
2930
|
-
* Option.
|
|
2930
|
+
* Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
|
|
2931
2931
|
*
|
|
2932
2932
|
* console.log(transformEven(Option.none()))
|
|
2933
2933
|
* // Output: { _id: 'Option', _tag: 'None' }
|
|
@@ -2965,7 +2965,7 @@ export const filterMap: {
|
|
|
2965
2965
|
*
|
|
2966
2966
|
* // Transform and filter numbers
|
|
2967
2967
|
* const transformEven = (n: Option.Option<number>): Option.Option<string> =>
|
|
2968
|
-
* Option.
|
|
2968
|
+
* Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
|
|
2969
2969
|
*
|
|
2970
2970
|
* console.log(transformEven(Option.none()))
|
|
2971
2971
|
* // Output: { _id: 'Option', _tag: 'None' }
|
|
@@ -3919,10 +3919,7 @@ export const bind: {
|
|
|
3919
3919
|
* @category Do notation
|
|
3920
3920
|
* @since 2.0.0
|
|
3921
3921
|
*/
|
|
3922
|
-
<N extends string, A extends object, B>(
|
|
3923
|
-
name: Exclude<N, keyof A>,
|
|
3924
|
-
f: (a: NoInfer<A>) => Option<B>
|
|
3925
|
-
): (self: Option<A>) => Option<{ [K in N | keyof A]: K extends keyof A ? A[K] : B }>
|
|
3922
|
+
<N extends string, A extends object, B>(name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): (self: Option<A>) => Option<{ [K in N | keyof A]: K extends keyof A ? A[K] : B }>
|
|
3926
3923
|
/**
|
|
3927
3924
|
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
3928
3925
|
*
|
package/src/ParseResult.ts
CHANGED
|
@@ -318,17 +318,12 @@ export const flatMap: {
|
|
|
318
318
|
* @category optimisation
|
|
319
319
|
* @since 3.10.0
|
|
320
320
|
*/
|
|
321
|
-
<A, B, E1, R1>(
|
|
322
|
-
f: (a: A) => Effect.Effect<B, E1, R1>
|
|
323
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E1 | E, R1 | R>
|
|
321
|
+
<A, B, E1, R1>(f: (a: A) => Effect.Effect<B, E1, R1>): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E1 | E, R1 | R>
|
|
324
322
|
/**
|
|
325
323
|
* @category optimisation
|
|
326
324
|
* @since 3.10.0
|
|
327
325
|
*/
|
|
328
|
-
<A, E, R, B, E1, R1>(
|
|
329
|
-
self: Effect.Effect<A, E, R>,
|
|
330
|
-
f: (a: A) => Effect.Effect<B, E1, R1>
|
|
331
|
-
): Effect.Effect<B, E | E1, R | R1>
|
|
326
|
+
<A, E, R, B, E1, R1>(self: Effect.Effect<A, E, R>, f: (a: A) => Effect.Effect<B, E1, R1>): Effect.Effect<B, E | E1, R | R1>
|
|
332
327
|
} = dual(2, <A, E, R, B, E1, R1>(
|
|
333
328
|
self: Effect.Effect<A, E, R>,
|
|
334
329
|
f: (a: A) => Effect.Effect<B, E1, R1>
|
|
@@ -431,17 +426,12 @@ export const orElse: {
|
|
|
431
426
|
* @category optimisation
|
|
432
427
|
* @since 3.10.0
|
|
433
428
|
*/
|
|
434
|
-
<E, A2, E2, R2>(
|
|
435
|
-
f: (e: E) => Effect.Effect<A2, E2, R2>
|
|
436
|
-
): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A2 | A, E2, R2 | R>
|
|
429
|
+
<E, A2, E2, R2>(f: (e: E) => Effect.Effect<A2, E2, R2>): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A2 | A, E2, R2 | R>
|
|
437
430
|
/**
|
|
438
431
|
* @category optimisation
|
|
439
432
|
* @since 3.10.0
|
|
440
433
|
*/
|
|
441
|
-
<A, E, R, A2, E2, R2>(
|
|
442
|
-
self: Effect.Effect<A, E, R>,
|
|
443
|
-
f: (e: E) => Effect.Effect<A2, E2, R2>
|
|
444
|
-
): Effect.Effect<A2 | A, E2, R2 | R>
|
|
434
|
+
<A, E, R, A2, E2, R2>(self: Effect.Effect<A, E, R>, f: (e: E) => Effect.Effect<A2, E2, R2>): Effect.Effect<A2 | A, E2, R2 | R>
|
|
445
435
|
} = dual(2, <A, E, R, A2, E2, R2>(
|
|
446
436
|
self: Effect.Effect<A, E, R>,
|
|
447
437
|
f: (e: E) => Effect.Effect<A2, E2, R2>
|
package/src/Predicate.ts
CHANGED
|
@@ -1040,9 +1040,7 @@ export const tuple: {
|
|
|
1040
1040
|
*
|
|
1041
1041
|
* @since 2.0.0
|
|
1042
1042
|
*/
|
|
1043
|
-
<T extends ReadonlyArray<Predicate.Any>>(
|
|
1044
|
-
...elements: T
|
|
1045
|
-
): [Extract<T[number], Refinement.Any>] extends [never] ? Predicate<{ readonly [I in keyof T]: Predicate.In<T[I]> }>
|
|
1043
|
+
<T extends ReadonlyArray<Predicate.Any>>(...elements: T): [Extract<T[number], Refinement.Any>] extends [never] ? Predicate<{ readonly [I in keyof T]: Predicate.In<T[I]> }>
|
|
1046
1044
|
: Refinement<
|
|
1047
1045
|
{ readonly [I in keyof T]: T[I] extends Refinement.Any ? Refinement.In<T[I]> : Predicate.In<T[I]> },
|
|
1048
1046
|
{ readonly [I in keyof T]: T[I] extends Refinement.Any ? Refinement.Out<T[I]> : Predicate.In<T[I]> }
|
|
@@ -1068,9 +1066,7 @@ export const struct: {
|
|
|
1068
1066
|
*
|
|
1069
1067
|
* @since 2.0.0
|
|
1070
1068
|
*/
|
|
1071
|
-
<R extends Record<string, Predicate.Any>>(
|
|
1072
|
-
fields: R
|
|
1073
|
-
): [Extract<R[keyof R], Refinement.Any>] extends [never] ?
|
|
1069
|
+
<R extends Record<string, Predicate.Any>>(fields: R): [Extract<R[keyof R], Refinement.Any>] extends [never] ?
|
|
1074
1070
|
Predicate<{ readonly [K in keyof R]: Predicate.In<R[K]> }> :
|
|
1075
1071
|
Refinement<
|
|
1076
1072
|
{ readonly [K in keyof R]: R[K] extends Refinement.Any ? Refinement.In<R[K]> : Predicate.In<R[K]> },
|
package/src/RcMap.ts
CHANGED
|
@@ -113,11 +113,11 @@ export const make: {
|
|
|
113
113
|
* ```
|
|
114
114
|
*/
|
|
115
115
|
<K, A, E, R>(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
116
|
+
options: {
|
|
117
|
+
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
118
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
119
|
+
readonly capacity?: undefined
|
|
120
|
+
}
|
|
121
121
|
): Effect.Effect<RcMap<K, A, E>, never, Scope.Scope | R>
|
|
122
122
|
/**
|
|
123
123
|
* An `RcMap` can contain multiple reference counted resources that can be indexed
|
|
@@ -153,11 +153,11 @@ export const make: {
|
|
|
153
153
|
* ```
|
|
154
154
|
*/
|
|
155
155
|
<K, A, E, R>(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
options: {
|
|
157
|
+
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
158
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
159
|
+
readonly capacity: number
|
|
160
|
+
}
|
|
161
161
|
): Effect.Effect<RcMap<K, A, E | Cause.ExceededCapacityException>, never, Scope.Scope | R>
|
|
162
162
|
} = internal.make
|
|
163
163
|
|