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/dist/dts/Effect.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ import type * as HashMap from "./HashMap.js";
|
|
|
25
25
|
import type * as HashSet from "./HashSet.js";
|
|
26
26
|
import type { TypeLambda } from "./HKT.js";
|
|
27
27
|
import type * as Layer from "./Layer.js";
|
|
28
|
-
import type
|
|
28
|
+
import type * as LogLevel from "./LogLevel.js";
|
|
29
29
|
import type * as ManagedRuntime from "./ManagedRuntime.js";
|
|
30
30
|
import type * as Metric from "./Metric.js";
|
|
31
31
|
import type * as MetricLabel from "./MetricLabel.js";
|
|
@@ -14196,7 +14196,7 @@ export declare const provideService: {
|
|
|
14196
14196
|
* @since 2.0.0
|
|
14197
14197
|
* @category Context
|
|
14198
14198
|
*/
|
|
14199
|
-
<
|
|
14199
|
+
<I, S>(tag: Context.Tag<I, S>, service: NoInfer<S>): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, Exclude<R, I>>;
|
|
14200
14200
|
/**
|
|
14201
14201
|
* Provides an implementation for a service in the context of an effect.
|
|
14202
14202
|
*
|
|
@@ -14249,7 +14249,7 @@ export declare const provideService: {
|
|
|
14249
14249
|
* @since 2.0.0
|
|
14250
14250
|
* @category Context
|
|
14251
14251
|
*/
|
|
14252
|
-
<A, E, R,
|
|
14252
|
+
<A, E, R, I, S>(self: Effect<A, E, R>, tag: Context.Tag<I, S>, service: NoInfer<S>): Effect<A, E, Exclude<R, I>>;
|
|
14253
14253
|
};
|
|
14254
14254
|
/**
|
|
14255
14255
|
* Dynamically provides an implementation for a service using an effect.
|
|
@@ -14288,7 +14288,7 @@ export declare const provideServiceEffect: {
|
|
|
14288
14288
|
* @since 2.0.0
|
|
14289
14289
|
* @category Context
|
|
14290
14290
|
*/
|
|
14291
|
-
<
|
|
14291
|
+
<I, S, E1, R1>(tag: Context.Tag<I, S>, effect: Effect<NoInfer<S>, E1, R1>): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | E1, R1 | Exclude<R, I>>;
|
|
14292
14292
|
/**
|
|
14293
14293
|
* Dynamically provides an implementation for a service using an effect.
|
|
14294
14294
|
*
|
|
@@ -14307,7 +14307,7 @@ export declare const provideServiceEffect: {
|
|
|
14307
14307
|
* @since 2.0.0
|
|
14308
14308
|
* @category Context
|
|
14309
14309
|
*/
|
|
14310
|
-
<A, E, R,
|
|
14310
|
+
<A, E, R, I, S, E1, R1>(self: Effect<A, E, R>, tag: Context.Tag<I, S>, effect: Effect<NoInfer<S>, E1, R1>): Effect<A, E | E1, R1 | Exclude<R, I>>;
|
|
14311
14311
|
};
|
|
14312
14312
|
/**
|
|
14313
14313
|
* Creates a function that uses a service from the context to produce a value.
|
|
@@ -14435,7 +14435,7 @@ export declare const updateService: {
|
|
|
14435
14435
|
* @since 2.0.0
|
|
14436
14436
|
* @category Context
|
|
14437
14437
|
*/
|
|
14438
|
-
<
|
|
14438
|
+
<I, S>(tag: Context.Tag<I, S>, f: (service: NoInfer<S>) => NoInfer<S>): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R | I>;
|
|
14439
14439
|
/**
|
|
14440
14440
|
* Updates a service in the context with a new implementation.
|
|
14441
14441
|
*
|
|
@@ -14454,7 +14454,7 @@ export declare const updateService: {
|
|
|
14454
14454
|
* @since 2.0.0
|
|
14455
14455
|
* @category Context
|
|
14456
14456
|
*/
|
|
14457
|
-
<A, E, R,
|
|
14457
|
+
<A, E, R, I, S>(self: Effect<A, E, R>, tag: Context.Tag<I, S>, f: (service: NoInfer<S>) => NoInfer<S>): Effect<A, E, R | I>;
|
|
14458
14458
|
};
|
|
14459
14459
|
/**
|
|
14460
14460
|
* 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`.
|
|
@@ -15841,6 +15841,251 @@ export declare const filterOrFail: {
|
|
|
15841
15841
|
*/
|
|
15842
15842
|
<A, E, R>(self: Effect<A, E, R>, predicate: Predicate<A>): Effect<A, E | Cause.NoSuchElementException, R>;
|
|
15843
15843
|
};
|
|
15844
|
+
/**
|
|
15845
|
+
* Filters an effect with an effectful predicate, falling back to an alternative
|
|
15846
|
+
* effect if the predicate fails.
|
|
15847
|
+
*
|
|
15848
|
+
* **Details**
|
|
15849
|
+
*
|
|
15850
|
+
* This function applies a predicate to the result of an effect. If the
|
|
15851
|
+
* predicate evaluates to `false`, the effect falls back to the `orElse`
|
|
15852
|
+
* effect. The `orElse` effect can produce an alternative value or perform
|
|
15853
|
+
* additional computations.
|
|
15854
|
+
*
|
|
15855
|
+
* @example
|
|
15856
|
+
* ```ts
|
|
15857
|
+
* import { Effect, pipe } from "effect"
|
|
15858
|
+
*
|
|
15859
|
+
* // Define a user interface
|
|
15860
|
+
* interface User {
|
|
15861
|
+
* readonly name: string
|
|
15862
|
+
* }
|
|
15863
|
+
*
|
|
15864
|
+
* // Simulate an asynchronous authentication function
|
|
15865
|
+
* declare const auth: () => Promise<User | null>
|
|
15866
|
+
*
|
|
15867
|
+
* const program = pipe(
|
|
15868
|
+
* Effect.promise(() => auth()),
|
|
15869
|
+
* // Use filterEffectOrElse with an effectful predicate
|
|
15870
|
+
* Effect.filterEffectOrElse({
|
|
15871
|
+
* predicate: (user) => Effect.succeed(user !== null),
|
|
15872
|
+
* orElse: (user) => Effect.fail(new Error(`Unauthorized user: ${user}`))
|
|
15873
|
+
* }),
|
|
15874
|
+
* )
|
|
15875
|
+
* ```
|
|
15876
|
+
*
|
|
15877
|
+
* @since 3.13.0
|
|
15878
|
+
* @category Filtering
|
|
15879
|
+
*/
|
|
15880
|
+
export declare const filterEffectOrElse: {
|
|
15881
|
+
/**
|
|
15882
|
+
* Filters an effect with an effectful predicate, falling back to an alternative
|
|
15883
|
+
* effect if the predicate fails.
|
|
15884
|
+
*
|
|
15885
|
+
* **Details**
|
|
15886
|
+
*
|
|
15887
|
+
* This function applies a predicate to the result of an effect. If the
|
|
15888
|
+
* predicate evaluates to `false`, the effect falls back to the `orElse`
|
|
15889
|
+
* effect. The `orElse` effect can produce an alternative value or perform
|
|
15890
|
+
* additional computations.
|
|
15891
|
+
*
|
|
15892
|
+
* @example
|
|
15893
|
+
* ```ts
|
|
15894
|
+
* import { Effect, pipe } from "effect"
|
|
15895
|
+
*
|
|
15896
|
+
* // Define a user interface
|
|
15897
|
+
* interface User {
|
|
15898
|
+
* readonly name: string
|
|
15899
|
+
* }
|
|
15900
|
+
*
|
|
15901
|
+
* // Simulate an asynchronous authentication function
|
|
15902
|
+
* declare const auth: () => Promise<User | null>
|
|
15903
|
+
*
|
|
15904
|
+
* const program = pipe(
|
|
15905
|
+
* Effect.promise(() => auth()),
|
|
15906
|
+
* // Use filterEffectOrElse with an effectful predicate
|
|
15907
|
+
* Effect.filterEffectOrElse({
|
|
15908
|
+
* predicate: (user) => Effect.succeed(user !== null),
|
|
15909
|
+
* orElse: (user) => Effect.fail(new Error(`Unauthorized user: ${user}`))
|
|
15910
|
+
* }),
|
|
15911
|
+
* )
|
|
15912
|
+
* ```
|
|
15913
|
+
*
|
|
15914
|
+
* @since 3.13.0
|
|
15915
|
+
* @category Filtering
|
|
15916
|
+
*/
|
|
15917
|
+
<A, E2, R2, A2, E3, R3>(options: {
|
|
15918
|
+
readonly predicate: (a: NoInfer<A>) => Effect<boolean, E2, R2>;
|
|
15919
|
+
readonly orElse: (a: NoInfer<A>) => Effect<A2, E3, R3>;
|
|
15920
|
+
}): <E, R>(self: Effect<A, E, R>) => Effect<A | A2, E | E2 | E3, R | R2 | R3>;
|
|
15921
|
+
/**
|
|
15922
|
+
* Filters an effect with an effectful predicate, falling back to an alternative
|
|
15923
|
+
* effect if the predicate fails.
|
|
15924
|
+
*
|
|
15925
|
+
* **Details**
|
|
15926
|
+
*
|
|
15927
|
+
* This function applies a predicate to the result of an effect. If the
|
|
15928
|
+
* predicate evaluates to `false`, the effect falls back to the `orElse`
|
|
15929
|
+
* effect. The `orElse` effect can produce an alternative value or perform
|
|
15930
|
+
* additional computations.
|
|
15931
|
+
*
|
|
15932
|
+
* @example
|
|
15933
|
+
* ```ts
|
|
15934
|
+
* import { Effect, pipe } from "effect"
|
|
15935
|
+
*
|
|
15936
|
+
* // Define a user interface
|
|
15937
|
+
* interface User {
|
|
15938
|
+
* readonly name: string
|
|
15939
|
+
* }
|
|
15940
|
+
*
|
|
15941
|
+
* // Simulate an asynchronous authentication function
|
|
15942
|
+
* declare const auth: () => Promise<User | null>
|
|
15943
|
+
*
|
|
15944
|
+
* const program = pipe(
|
|
15945
|
+
* Effect.promise(() => auth()),
|
|
15946
|
+
* // Use filterEffectOrElse with an effectful predicate
|
|
15947
|
+
* Effect.filterEffectOrElse({
|
|
15948
|
+
* predicate: (user) => Effect.succeed(user !== null),
|
|
15949
|
+
* orElse: (user) => Effect.fail(new Error(`Unauthorized user: ${user}`))
|
|
15950
|
+
* }),
|
|
15951
|
+
* )
|
|
15952
|
+
* ```
|
|
15953
|
+
*
|
|
15954
|
+
* @since 3.13.0
|
|
15955
|
+
* @category Filtering
|
|
15956
|
+
*/
|
|
15957
|
+
<A, E, R, E2, R2, A2, E3, R3>(self: Effect<A, E, R>, options: {
|
|
15958
|
+
readonly predicate: (a: A) => Effect<boolean, E2, R2>;
|
|
15959
|
+
readonly orElse: (a: A) => Effect<A2, E3, R3>;
|
|
15960
|
+
}): Effect<A | A2, E | E2 | E3, R | R2 | R3>;
|
|
15961
|
+
};
|
|
15962
|
+
/**
|
|
15963
|
+
* Filters an effect with an effectful predicate, failing with a custom error if the predicate fails.
|
|
15964
|
+
*
|
|
15965
|
+
* **Details**
|
|
15966
|
+
*
|
|
15967
|
+
* This function applies a predicate to the result of an effect. If the
|
|
15968
|
+
* predicate evaluates to `false`, the effect fails with a custom error
|
|
15969
|
+
* generated by the `orFailWith` function.
|
|
15970
|
+
*
|
|
15971
|
+
* **When to Use**
|
|
15972
|
+
*
|
|
15973
|
+
* This is useful for enforcing constraints and treating violations as
|
|
15974
|
+
* recoverable errors.
|
|
15975
|
+
*
|
|
15976
|
+
* @example
|
|
15977
|
+
* ```ts
|
|
15978
|
+
* import { Effect, pipe } from "effect"
|
|
15979
|
+
*
|
|
15980
|
+
* // Define a user interface
|
|
15981
|
+
* interface User {
|
|
15982
|
+
* readonly name: string
|
|
15983
|
+
* }
|
|
15984
|
+
*
|
|
15985
|
+
* // Simulate an asynchronous authentication function
|
|
15986
|
+
* declare const auth: () => Promise<User | null>
|
|
15987
|
+
*
|
|
15988
|
+
* const program = pipe(
|
|
15989
|
+
* Effect.promise(() => auth()),
|
|
15990
|
+
* // Use filterEffectOrFail with an effectful predicate
|
|
15991
|
+
* Effect.filterEffectOrFail({
|
|
15992
|
+
* predicate: (user) => Effect.succeed(user !== null),
|
|
15993
|
+
* orFailWith: () => new Error("Unauthorized")
|
|
15994
|
+
* }),
|
|
15995
|
+
* )
|
|
15996
|
+
* ```
|
|
15997
|
+
*
|
|
15998
|
+
* @since 3.13.0
|
|
15999
|
+
* @category Filtering
|
|
16000
|
+
*/
|
|
16001
|
+
export declare const filterEffectOrFail: {
|
|
16002
|
+
/**
|
|
16003
|
+
* Filters an effect with an effectful predicate, failing with a custom error if the predicate fails.
|
|
16004
|
+
*
|
|
16005
|
+
* **Details**
|
|
16006
|
+
*
|
|
16007
|
+
* This function applies a predicate to the result of an effect. If the
|
|
16008
|
+
* predicate evaluates to `false`, the effect fails with a custom error
|
|
16009
|
+
* generated by the `orFailWith` function.
|
|
16010
|
+
*
|
|
16011
|
+
* **When to Use**
|
|
16012
|
+
*
|
|
16013
|
+
* This is useful for enforcing constraints and treating violations as
|
|
16014
|
+
* recoverable errors.
|
|
16015
|
+
*
|
|
16016
|
+
* @example
|
|
16017
|
+
* ```ts
|
|
16018
|
+
* import { Effect, pipe } from "effect"
|
|
16019
|
+
*
|
|
16020
|
+
* // Define a user interface
|
|
16021
|
+
* interface User {
|
|
16022
|
+
* readonly name: string
|
|
16023
|
+
* }
|
|
16024
|
+
*
|
|
16025
|
+
* // Simulate an asynchronous authentication function
|
|
16026
|
+
* declare const auth: () => Promise<User | null>
|
|
16027
|
+
*
|
|
16028
|
+
* const program = pipe(
|
|
16029
|
+
* Effect.promise(() => auth()),
|
|
16030
|
+
* // Use filterEffectOrFail with an effectful predicate
|
|
16031
|
+
* Effect.filterEffectOrFail({
|
|
16032
|
+
* predicate: (user) => Effect.succeed(user !== null),
|
|
16033
|
+
* orFailWith: () => new Error("Unauthorized")
|
|
16034
|
+
* }),
|
|
16035
|
+
* )
|
|
16036
|
+
* ```
|
|
16037
|
+
*
|
|
16038
|
+
* @since 3.13.0
|
|
16039
|
+
* @category Filtering
|
|
16040
|
+
*/
|
|
16041
|
+
<A, E2, R2, E3>(options: {
|
|
16042
|
+
readonly predicate: (a: NoInfer<A>) => Effect<boolean, E2, R2>;
|
|
16043
|
+
readonly orFailWith: (a: NoInfer<A>) => E3;
|
|
16044
|
+
}): <E, R>(self: Effect<A, E, R>) => Effect<A, E | E2 | E3, R | R2>;
|
|
16045
|
+
/**
|
|
16046
|
+
* Filters an effect with an effectful predicate, failing with a custom error if the predicate fails.
|
|
16047
|
+
*
|
|
16048
|
+
* **Details**
|
|
16049
|
+
*
|
|
16050
|
+
* This function applies a predicate to the result of an effect. If the
|
|
16051
|
+
* predicate evaluates to `false`, the effect fails with a custom error
|
|
16052
|
+
* generated by the `orFailWith` function.
|
|
16053
|
+
*
|
|
16054
|
+
* **When to Use**
|
|
16055
|
+
*
|
|
16056
|
+
* This is useful for enforcing constraints and treating violations as
|
|
16057
|
+
* recoverable errors.
|
|
16058
|
+
*
|
|
16059
|
+
* @example
|
|
16060
|
+
* ```ts
|
|
16061
|
+
* import { Effect, pipe } from "effect"
|
|
16062
|
+
*
|
|
16063
|
+
* // Define a user interface
|
|
16064
|
+
* interface User {
|
|
16065
|
+
* readonly name: string
|
|
16066
|
+
* }
|
|
16067
|
+
*
|
|
16068
|
+
* // Simulate an asynchronous authentication function
|
|
16069
|
+
* declare const auth: () => Promise<User | null>
|
|
16070
|
+
*
|
|
16071
|
+
* const program = pipe(
|
|
16072
|
+
* Effect.promise(() => auth()),
|
|
16073
|
+
* // Use filterEffectOrFail with an effectful predicate
|
|
16074
|
+
* Effect.filterEffectOrFail({
|
|
16075
|
+
* predicate: (user) => Effect.succeed(user !== null),
|
|
16076
|
+
* orFailWith: () => new Error("Unauthorized")
|
|
16077
|
+
* }),
|
|
16078
|
+
* )
|
|
16079
|
+
* ```
|
|
16080
|
+
*
|
|
16081
|
+
* @since 3.13.0
|
|
16082
|
+
* @category Filtering
|
|
16083
|
+
*/
|
|
16084
|
+
<A, E, R, E2, R2, E3>(self: Effect<A, E, R>, options: {
|
|
16085
|
+
readonly predicate: (a: A) => Effect<boolean, E2, R2>;
|
|
16086
|
+
readonly orFailWith: (a: A) => E3;
|
|
16087
|
+
}): Effect<A, E | E2 | E3, R | R2>;
|
|
16088
|
+
};
|
|
15844
16089
|
/**
|
|
15845
16090
|
* Executes an effect only if the condition is `false`.
|
|
15846
16091
|
*
|
|
@@ -21625,7 +21870,7 @@ export declare const log: (...message: ReadonlyArray<any>) => Effect<void, never
|
|
|
21625
21870
|
* @since 2.0.0
|
|
21626
21871
|
* @category Logging
|
|
21627
21872
|
*/
|
|
21628
|
-
export declare const logWithLevel: (level: LogLevel, ...message: ReadonlyArray<any>) => Effect<void>;
|
|
21873
|
+
export declare const logWithLevel: (level: LogLevel.LogLevel, ...message: ReadonlyArray<any>) => Effect<void>;
|
|
21629
21874
|
/**
|
|
21630
21875
|
* Logs messages at the TRACE log level.
|
|
21631
21876
|
*
|
|
@@ -22228,7 +22473,7 @@ export declare const withUnhandledErrorLogLevel: {
|
|
|
22228
22473
|
* @since 2.0.0
|
|
22229
22474
|
* @category Logging
|
|
22230
22475
|
*/
|
|
22231
|
-
(level: Option.Option<LogLevel>): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
22476
|
+
(level: Option.Option<LogLevel.LogLevel>): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
22232
22477
|
/**
|
|
22233
22478
|
* Configures whether child fibers will log unhandled errors and at what log
|
|
22234
22479
|
* level.
|
|
@@ -22263,7 +22508,104 @@ export declare const withUnhandledErrorLogLevel: {
|
|
|
22263
22508
|
* @since 2.0.0
|
|
22264
22509
|
* @category Logging
|
|
22265
22510
|
*/
|
|
22266
|
-
<A, E, R>(self: Effect<A, E, R>, level: Option.Option<LogLevel>): Effect<A, E, R>;
|
|
22511
|
+
<A, E, R>(self: Effect<A, E, R>, level: Option.Option<LogLevel.LogLevel>): Effect<A, E, R>;
|
|
22512
|
+
};
|
|
22513
|
+
/**
|
|
22514
|
+
* Conditionally executes an effect based on the specified log level and currently enabled log level.
|
|
22515
|
+
*
|
|
22516
|
+
* **Details**
|
|
22517
|
+
*
|
|
22518
|
+
* This function runs the provided effect only if the specified log level is
|
|
22519
|
+
* enabled. If the log level is enabled, the effect is executed and its result
|
|
22520
|
+
* is wrapped in `Some`. If the log level is not enabled, the effect is not
|
|
22521
|
+
* executed and `None` is returned.
|
|
22522
|
+
*
|
|
22523
|
+
* This function is useful for conditionally executing logging-related effects
|
|
22524
|
+
* or other operations that depend on the current log level configuration.
|
|
22525
|
+
*
|
|
22526
|
+
* @example
|
|
22527
|
+
* ```ts
|
|
22528
|
+
* import { Effect, Logger, LogLevel } from "effect"
|
|
22529
|
+
*
|
|
22530
|
+
* const program = Effect.gen(function* () {
|
|
22531
|
+
* yield* Effect.whenLogLevel(Effect.logTrace("message1"), LogLevel.Trace); // returns `None`
|
|
22532
|
+
* yield* Effect.whenLogLevel(Effect.logDebug("message2"), LogLevel.Debug); // returns `Some`
|
|
22533
|
+
* }).pipe(Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
22534
|
+
*
|
|
22535
|
+
* // Effect.runFork(program)
|
|
22536
|
+
* // timestamp=... level=DEBUG fiber=#0 message=message2
|
|
22537
|
+
* ```
|
|
22538
|
+
*
|
|
22539
|
+
* @see {@link FiberRef.minimumLogLevel} to retrieve the current minimum log level.
|
|
22540
|
+
*
|
|
22541
|
+
* @since 3.13.0
|
|
22542
|
+
* @category Logging
|
|
22543
|
+
*/
|
|
22544
|
+
export declare const whenLogLevel: {
|
|
22545
|
+
/**
|
|
22546
|
+
* Conditionally executes an effect based on the specified log level and currently enabled log level.
|
|
22547
|
+
*
|
|
22548
|
+
* **Details**
|
|
22549
|
+
*
|
|
22550
|
+
* This function runs the provided effect only if the specified log level is
|
|
22551
|
+
* enabled. If the log level is enabled, the effect is executed and its result
|
|
22552
|
+
* is wrapped in `Some`. If the log level is not enabled, the effect is not
|
|
22553
|
+
* executed and `None` is returned.
|
|
22554
|
+
*
|
|
22555
|
+
* This function is useful for conditionally executing logging-related effects
|
|
22556
|
+
* or other operations that depend on the current log level configuration.
|
|
22557
|
+
*
|
|
22558
|
+
* @example
|
|
22559
|
+
* ```ts
|
|
22560
|
+
* import { Effect, Logger, LogLevel } from "effect"
|
|
22561
|
+
*
|
|
22562
|
+
* const program = Effect.gen(function* () {
|
|
22563
|
+
* yield* Effect.whenLogLevel(Effect.logTrace("message1"), LogLevel.Trace); // returns `None`
|
|
22564
|
+
* yield* Effect.whenLogLevel(Effect.logDebug("message2"), LogLevel.Debug); // returns `Some`
|
|
22565
|
+
* }).pipe(Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
22566
|
+
*
|
|
22567
|
+
* // Effect.runFork(program)
|
|
22568
|
+
* // timestamp=... level=DEBUG fiber=#0 message=message2
|
|
22569
|
+
* ```
|
|
22570
|
+
*
|
|
22571
|
+
* @see {@link FiberRef.minimumLogLevel} to retrieve the current minimum log level.
|
|
22572
|
+
*
|
|
22573
|
+
* @since 3.13.0
|
|
22574
|
+
* @category Logging
|
|
22575
|
+
*/
|
|
22576
|
+
(level: LogLevel.LogLevel | LogLevel.Literal): <A, E, R>(self: Effect<A, E, R>) => Effect<Option.Option<A>, E, R>;
|
|
22577
|
+
/**
|
|
22578
|
+
* Conditionally executes an effect based on the specified log level and currently enabled log level.
|
|
22579
|
+
*
|
|
22580
|
+
* **Details**
|
|
22581
|
+
*
|
|
22582
|
+
* This function runs the provided effect only if the specified log level is
|
|
22583
|
+
* enabled. If the log level is enabled, the effect is executed and its result
|
|
22584
|
+
* is wrapped in `Some`. If the log level is not enabled, the effect is not
|
|
22585
|
+
* executed and `None` is returned.
|
|
22586
|
+
*
|
|
22587
|
+
* This function is useful for conditionally executing logging-related effects
|
|
22588
|
+
* or other operations that depend on the current log level configuration.
|
|
22589
|
+
*
|
|
22590
|
+
* @example
|
|
22591
|
+
* ```ts
|
|
22592
|
+
* import { Effect, Logger, LogLevel } from "effect"
|
|
22593
|
+
*
|
|
22594
|
+
* const program = Effect.gen(function* () {
|
|
22595
|
+
* yield* Effect.whenLogLevel(Effect.logTrace("message1"), LogLevel.Trace); // returns `None`
|
|
22596
|
+
* yield* Effect.whenLogLevel(Effect.logDebug("message2"), LogLevel.Debug); // returns `Some`
|
|
22597
|
+
* }).pipe(Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
22598
|
+
*
|
|
22599
|
+
* // Effect.runFork(program)
|
|
22600
|
+
* // timestamp=... level=DEBUG fiber=#0 message=message2
|
|
22601
|
+
* ```
|
|
22602
|
+
*
|
|
22603
|
+
* @see {@link FiberRef.minimumLogLevel} to retrieve the current minimum log level.
|
|
22604
|
+
*
|
|
22605
|
+
* @since 3.13.0
|
|
22606
|
+
* @category Logging
|
|
22607
|
+
*/
|
|
22608
|
+
<A, E, R>(self: Effect<A, E, R>, level: LogLevel.LogLevel | LogLevel.Literal): Effect<Option.Option<A>, E, R>;
|
|
22267
22609
|
};
|
|
22268
22610
|
/**
|
|
22269
22611
|
* Converts an effect's failure into a fiber termination, removing the error
|
|
@@ -25300,7 +25642,7 @@ export declare const withParentSpan: {
|
|
|
25300
25642
|
* ```
|
|
25301
25643
|
*
|
|
25302
25644
|
* @since 2.0.0
|
|
25303
|
-
* @category Optional Wrapping
|
|
25645
|
+
* @category Optional Wrapping & Unwrapping
|
|
25304
25646
|
*/
|
|
25305
25647
|
export declare const fromNullable: <A>(value: A) => Effect<NonNullable<A>, Cause.NoSuchElementException>;
|
|
25306
25648
|
/**
|
|
@@ -25354,9 +25696,39 @@ export declare const fromNullable: <A>(value: A) => Effect<NonNullable<A>, Cause
|
|
|
25354
25696
|
* ```
|
|
25355
25697
|
*
|
|
25356
25698
|
* @since 2.0.0
|
|
25357
|
-
* @category Optional Wrapping
|
|
25699
|
+
* @category Optional Wrapping & Unwrapping
|
|
25358
25700
|
*/
|
|
25359
25701
|
export declare const optionFromOptional: <A, E, R>(self: Effect<A, E, R>) => Effect<Option.Option<A>, Exclude<E, Cause.NoSuchElementException>, R>;
|
|
25702
|
+
/**
|
|
25703
|
+
* Converts an `Option` of an `Effect` into an `Effect` of an `Option`.
|
|
25704
|
+
*
|
|
25705
|
+
* **Details**
|
|
25706
|
+
*
|
|
25707
|
+
* This function transforms an `Option<Effect<A, E, R>>` into an
|
|
25708
|
+
* `Effect<Option<A>, E, R>`. If the `Option` is `None`, the resulting `Effect`
|
|
25709
|
+
* will immediately succeed with a `None` value. If the `Option` is `Some`, the
|
|
25710
|
+
* inner `Effect` will be executed, and its result wrapped in a `Some`.
|
|
25711
|
+
*
|
|
25712
|
+
* @example
|
|
25713
|
+
* ```ts
|
|
25714
|
+
* import { Effect, Option } from "effect"
|
|
25715
|
+
*
|
|
25716
|
+
* // ┌─── Option<Effect<number, never, never>>
|
|
25717
|
+
* // ▼
|
|
25718
|
+
* const maybe = Option.some(Effect.succeed(42))
|
|
25719
|
+
*
|
|
25720
|
+
* // ┌─── Effect<Option<number>, never, never>
|
|
25721
|
+
* // ▼
|
|
25722
|
+
* const result = Effect.transposeOption(maybe)
|
|
25723
|
+
*
|
|
25724
|
+
* console.log(Effect.runSync(result))
|
|
25725
|
+
* // Output: { _id: 'Option', _tag: 'Some', value: 42 }
|
|
25726
|
+
* ```
|
|
25727
|
+
*
|
|
25728
|
+
* @since 3.13.0
|
|
25729
|
+
* @category Optional Wrapping & Unwrapping
|
|
25730
|
+
*/
|
|
25731
|
+
export declare const transposeOption: <A = never, E = never, R = never>(self: Option.Option<Effect<A, E, R>>) => Effect<Option.Option<A>, E, R>;
|
|
25360
25732
|
/**
|
|
25361
25733
|
* @since 2.0.0
|
|
25362
25734
|
* @category Models
|
|
@@ -25640,47 +26012,47 @@ export declare namespace fn {
|
|
|
25640
26012
|
Eff
|
|
25641
26013
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25642
26014
|
Eff
|
|
25643
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26015
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A): (...args: Args) => A;
|
|
25644
26016
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25645
26017
|
Eff
|
|
25646
26018
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25647
26019
|
Eff
|
|
25648
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26020
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B): (...args: Args) => B;
|
|
25649
26021
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25650
26022
|
Eff
|
|
25651
26023
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25652
26024
|
Eff
|
|
25653
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26025
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C): (...args: Args) => C;
|
|
25654
26026
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25655
26027
|
Eff
|
|
25656
26028
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25657
26029
|
Eff
|
|
25658
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26030
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C, d: (_: C, ...args: Args) => D): (...args: Args) => D;
|
|
25659
26031
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25660
26032
|
Eff
|
|
25661
26033
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25662
26034
|
Eff
|
|
25663
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26035
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C, d: (_: C, ...args: Args) => D, e: (_: D, ...args: Args) => E): (...args: Args) => E;
|
|
25664
26036
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25665
26037
|
Eff
|
|
25666
26038
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25667
26039
|
Eff
|
|
25668
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26040
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C, d: (_: C, ...args: Args) => D, e: (_: D, ...args: Args) => E, f: (_: E, ...args: Args) => F): (...args: Args) => F;
|
|
25669
26041
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25670
26042
|
Eff
|
|
25671
26043
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25672
26044
|
Eff
|
|
25673
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26045
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C, d: (_: C, ...args: Args) => D, e: (_: D, ...args: Args) => E, f: (_: E, ...args: Args) => F, g: (_: F, ...args: Args) => G): (...args: Args) => G;
|
|
25674
26046
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G, H extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25675
26047
|
Eff
|
|
25676
26048
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25677
26049
|
Eff
|
|
25678
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26050
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C, d: (_: C, ...args: Args) => D, e: (_: D, ...args: Args) => E, f: (_: E, ...args: Args) => F, g: (_: F, ...args: Args) => G, h: (_: G, ...args: Args) => H): (...args: Args) => H;
|
|
25679
26051
|
<Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G, H, I extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
|
|
25680
26052
|
Eff
|
|
25681
26053
|
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
25682
26054
|
Eff
|
|
25683
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
26055
|
+
] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C, d: (_: C, ...args: Args) => D, e: (_: D, ...args: Args) => E, f: (_: E, ...args: Args) => F, g: (_: F, ...args: Args) => G, h: (_: G, ...args: Args) => H, i: (_: H, ...args: Args) => I): (...args: Args) => I;
|
|
25684
26056
|
};
|
|
25685
26057
|
/**
|
|
25686
26058
|
* @since 3.11.0
|
|
@@ -25688,15 +26060,15 @@ export declare namespace fn {
|
|
|
25688
26060
|
*/
|
|
25689
26061
|
type NonGen = {
|
|
25690
26062
|
<Eff extends Effect<any, any, any>, Args extends Array<any>>(body: (...args: Args) => Eff): (...args: Args) => Eff;
|
|
25691
|
-
<Eff extends Effect<any, any, any>, A, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => Eff): (...args: Args) => Eff;
|
|
25692
|
-
<Eff extends Effect<any, any, any>, A, B, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => Eff): (...args: Args) => Eff;
|
|
25693
|
-
<Eff extends Effect<any, any, any>, A, B, C, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => Eff): (...args: Args) => Eff;
|
|
25694
|
-
<Eff extends Effect<any, any, any>, A, B, C, D, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => D, d: (_: D) => Eff): (...args: Args) => Eff;
|
|
25695
|
-
<Eff extends Effect<any, any, any>, A, B, C, D, E, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => D, d: (_: D) => E, e: (_: E) => Eff): (...args: Args) => Eff;
|
|
25696
|
-
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => D, d: (_: D) => E, e: (_: E) => F, f: (_:
|
|
25697
|
-
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => D, d: (_: D) => E, e: (_: E) => F, f: (_:
|
|
25698
|
-
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, H, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => D, d: (_: D) => E, e: (_: E) => F, f: (_:
|
|
25699
|
-
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, H, I, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A) => B, b: (_: B) => C, c: (_: C) => D, d: (_: D) => E, e: (_: E) => F, f: (_:
|
|
26063
|
+
<Eff extends Effect<any, any, any>, A, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26064
|
+
<Eff extends Effect<any, any, any>, A, B, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26065
|
+
<Eff extends Effect<any, any, any>, A, B, C, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26066
|
+
<Eff extends Effect<any, any, any>, A, B, C, D, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => D, d: (_: D, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26067
|
+
<Eff extends Effect<any, any, any>, A, B, C, D, E, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => D, d: (_: D, ...args: Args) => E, e: (_: E, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26068
|
+
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => D, d: (_: D, ...args: Args) => E, e: (_: E, ...args: Args) => F, f: (_: F, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26069
|
+
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => D, d: (_: D, ...args: Args) => E, e: (_: E, ...args: Args) => F, f: (_: F, ...args: Args) => G, g: (_: G, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26070
|
+
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, H, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => D, d: (_: D, ...args: Args) => E, e: (_: E, ...args: Args) => F, f: (_: F, ...args: Args) => G, g: (_: G, ...args: Args) => H, h: (_: H, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
26071
|
+
<Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, H, I, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: Args) => B, b: (_: B, ...args: Args) => C, c: (_: C, ...args: Args) => D, d: (_: D, ...args: Args) => E, e: (_: E, ...args: Args) => F, f: (_: F, ...args: Args) => G, g: (_: G, ...args: Args) => H, h: (_: H, ...args: Args) => I, i: (_: H, ...args: Args) => Eff): (...args: Args) => Eff;
|
|
25700
26072
|
};
|
|
25701
26073
|
}
|
|
25702
26074
|
/**
|