effect 3.16.1 → 3.16.3

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.
@@ -6712,6 +6712,66 @@ export declare const catchSomeDefect: {
6712
6712
  * @category Error handling
6713
6713
  */
6714
6714
  export declare const catchTag: {
6715
+ /**
6716
+ * Catches and handles specific errors by their `_tag` field, which is used as a
6717
+ * discriminator.
6718
+ *
6719
+ * **When to Use**
6720
+ *
6721
+ * `catchTag` is useful when your errors are tagged with a readonly `_tag` field
6722
+ * that identifies the error type. You can use this function to handle specific
6723
+ * error types by matching the `_tag` value. This allows for precise error
6724
+ * handling, ensuring that only specific errors are caught and handled.
6725
+ *
6726
+ * The error type must have a readonly `_tag` field to use `catchTag`. This
6727
+ * field is used to identify and match errors.
6728
+ *
6729
+ * **Example** (Handling Errors by Tag)
6730
+ *
6731
+ * ```ts
6732
+ * import { Effect, Random } from "effect"
6733
+ *
6734
+ * class HttpError {
6735
+ * readonly _tag = "HttpError"
6736
+ * }
6737
+ *
6738
+ * class ValidationError {
6739
+ * readonly _tag = "ValidationError"
6740
+ * }
6741
+ *
6742
+ * // ┌─── Effect<string, HttpError | ValidationError, never>
6743
+ * // ▼
6744
+ * const program = Effect.gen(function* () {
6745
+ * const n1 = yield* Random.next
6746
+ * const n2 = yield* Random.next
6747
+ * if (n1 < 0.5) {
6748
+ * yield* Effect.fail(new HttpError())
6749
+ * }
6750
+ * if (n2 < 0.5) {
6751
+ * yield* Effect.fail(new ValidationError())
6752
+ * }
6753
+ * return "some result"
6754
+ * })
6755
+ *
6756
+ * // ┌─── Effect<string, ValidationError, never>
6757
+ * // ▼
6758
+ * const recovered = program.pipe(
6759
+ * // Only handle HttpError errors
6760
+ * Effect.catchTag("HttpError", (_HttpError) =>
6761
+ * Effect.succeed("Recovering from HttpError")
6762
+ * )
6763
+ * )
6764
+ * ```
6765
+ *
6766
+ * @see {@link catchTags} for a version that allows you to handle multiple error
6767
+ * types at once.
6768
+ *
6769
+ * @since 2.0.0
6770
+ * @category Error handling
6771
+ */
6772
+ <E, const K extends RA.NonEmptyReadonlyArray<E extends {
6773
+ _tag: string;
6774
+ } ? E["_tag"] : never>>(...tags: K): <A, R>(self: Effect<A, E, R> & "missing error handler") => never;
6715
6775
  /**
6716
6776
  * Catches and handles specific errors by their `_tag` field, which is used as a
6717
6777
  * discriminator.
@@ -6776,6 +6836,66 @@ export declare const catchTag: {
6776
6836
  }>) => Effect<A1, E1, R1>]): <A, R>(self: Effect<A, E, R>) => Effect<A | A1, Exclude<E, {
6777
6837
  _tag: K[number];
6778
6838
  }> | E1, R | R1>;
6839
+ /**
6840
+ * Catches and handles specific errors by their `_tag` field, which is used as a
6841
+ * discriminator.
6842
+ *
6843
+ * **When to Use**
6844
+ *
6845
+ * `catchTag` is useful when your errors are tagged with a readonly `_tag` field
6846
+ * that identifies the error type. You can use this function to handle specific
6847
+ * error types by matching the `_tag` value. This allows for precise error
6848
+ * handling, ensuring that only specific errors are caught and handled.
6849
+ *
6850
+ * The error type must have a readonly `_tag` field to use `catchTag`. This
6851
+ * field is used to identify and match errors.
6852
+ *
6853
+ * **Example** (Handling Errors by Tag)
6854
+ *
6855
+ * ```ts
6856
+ * import { Effect, Random } from "effect"
6857
+ *
6858
+ * class HttpError {
6859
+ * readonly _tag = "HttpError"
6860
+ * }
6861
+ *
6862
+ * class ValidationError {
6863
+ * readonly _tag = "ValidationError"
6864
+ * }
6865
+ *
6866
+ * // ┌─── Effect<string, HttpError | ValidationError, never>
6867
+ * // ▼
6868
+ * const program = Effect.gen(function* () {
6869
+ * const n1 = yield* Random.next
6870
+ * const n2 = yield* Random.next
6871
+ * if (n1 < 0.5) {
6872
+ * yield* Effect.fail(new HttpError())
6873
+ * }
6874
+ * if (n2 < 0.5) {
6875
+ * yield* Effect.fail(new ValidationError())
6876
+ * }
6877
+ * return "some result"
6878
+ * })
6879
+ *
6880
+ * // ┌─── Effect<string, ValidationError, never>
6881
+ * // ▼
6882
+ * const recovered = program.pipe(
6883
+ * // Only handle HttpError errors
6884
+ * Effect.catchTag("HttpError", (_HttpError) =>
6885
+ * Effect.succeed("Recovering from HttpError")
6886
+ * )
6887
+ * )
6888
+ * ```
6889
+ *
6890
+ * @see {@link catchTags} for a version that allows you to handle multiple error
6891
+ * types at once.
6892
+ *
6893
+ * @since 2.0.0
6894
+ * @category Error handling
6895
+ */
6896
+ <A, E, R, const K extends RA.NonEmptyReadonlyArray<E extends {
6897
+ _tag: string;
6898
+ } ? E["_tag"] : never>>(self: Effect<A, E, R> & "missing error handler", ...tags: K): never;
6779
6899
  /**
6780
6900
  * Catches and handles specific errors by their `_tag` field, which is used as a
6781
6901
  * discriminator.
@@ -26602,128 +26722,128 @@ export declare namespace fn {
26602
26722
  * @category Models
26603
26723
  */
26604
26724
  type Gen = {
26605
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>): (this: Self, ...args: Args) => Effect<AEff, [
26725
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, never>): (...args: Args) => Effect<AEff, [
26606
26726
  Eff
26607
26727
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26608
26728
  Eff
26609
26729
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>;
26610
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A extends Effect<any, any, any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26730
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A extends Effect<any, any, any>>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26611
26731
  Eff
26612
26732
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26613
26733
  Eff
26614
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A): (this: Self, ...args: Args) => Effect.AsEffect<A>;
26615
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B extends Effect<any, any, any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26734
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A): (...args: Args) => Effect.AsEffect<A>;
26735
+ <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, [
26616
26736
  Eff
26617
26737
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26618
26738
  Eff
26619
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B): (this: Self, ...args: Args) => Effect.AsEffect<B>;
26620
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C extends Effect<any, any, any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26739
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B): (...args: Args) => Effect.AsEffect<B>;
26740
+ <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, [
26621
26741
  Eff
26622
26742
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26623
26743
  Eff
26624
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C): (this: Self, ...args: Args) => Effect.AsEffect<C>;
26625
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D extends Effect<any, any, any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26744
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C): (...args: Args) => Effect.AsEffect<C>;
26745
+ <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, [
26626
26746
  Eff
26627
26747
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26628
26748
  Eff
26629
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D): (this: Self, ...args: Args) => Effect.AsEffect<D>;
26630
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E extends Effect<any, any, any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26749
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D): (...args: Args) => Effect.AsEffect<D>;
26750
+ <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, [
26631
26751
  Eff
26632
26752
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26633
26753
  Eff
26634
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E): (this: Self, ...args: Args) => Effect.AsEffect<E>;
26635
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F extends Effect<any, any, any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26754
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E): (...args: Args) => Effect.AsEffect<E>;
26755
+ <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, [
26636
26756
  Eff
26637
26757
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26638
26758
  Eff
26639
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F): (this: Self, ...args: Args) => Effect.AsEffect<F>;
26640
- <Self, 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: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26759
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F): (...args: Args) => Effect.AsEffect<F>;
26760
+ <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, [
26641
26761
  Eff
26642
26762
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26643
26763
  Eff
26644
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G): (this: Self, ...args: Args) => Effect.AsEffect<G>;
26645
- <Self, 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: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26764
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G): (...args: Args) => Effect.AsEffect<G>;
26765
+ <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, [
26646
26766
  Eff
26647
26767
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26648
26768
  Eff
26649
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H): (this: Self, ...args: Args) => Effect.AsEffect<H>;
26650
- <Self, 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: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26769
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H): (...args: Args) => Effect.AsEffect<H>;
26770
+ <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, [
26651
26771
  Eff
26652
26772
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26653
26773
  Eff
26654
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H, i: (_: H, ...args: NoInfer<Args>) => I): (this: Self, ...args: Args) => Effect.AsEffect<I>;
26774
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H, i: (_: H, ...args: NoInfer<Args>) => I): (...args: Args) => Effect.AsEffect<I>;
26655
26775
  };
26656
26776
  /**
26657
26777
  * @since 3.11.0
26658
26778
  * @category Models
26659
26779
  */
26660
26780
  type NonGen = {
26661
- <Self, Eff extends Effect<any, any, any>, Args extends Array<any>>(body: (this: Self, ...args: Args) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26662
- <Self, Eff extends Effect<any, any, any>, A, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26663
- <Self, Eff extends Effect<any, any, any>, A, B, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26664
- <Self, Eff extends Effect<any, any, any>, A, B, C, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26665
- <Self, Eff extends Effect<any, any, any>, A, B, C, D, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26666
- <Self, Eff extends Effect<any, any, any>, A, B, C, D, E, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26667
- <Self, Eff extends Effect<any, any, any>, A, B, C, D, E, F, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26668
- <Self, Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => G, g: (_: G, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26669
- <Self, Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, H, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => G, g: (_: G, ...args: NoInfer<Args>) => H, h: (_: H, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26670
- <Self, Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, H, I, Args extends Array<any>>(body: (this: Self, ...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => G, g: (_: G, ...args: NoInfer<Args>) => H, h: (_: H, ...args: NoInfer<Args>) => I, i: (_: H, ...args: NoInfer<Args>) => Eff): (this: Self, ...args: Args) => Effect.AsEffect<Eff>;
26781
+ <Eff extends Effect<any, any, any>, Args extends Array<any>>(body: (...args: Args) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26782
+ <Eff extends Effect<any, any, any>, A, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26783
+ <Eff extends Effect<any, any, any>, A, B, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26784
+ <Eff extends Effect<any, any, any>, A, B, C, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26785
+ <Eff extends Effect<any, any, any>, A, B, C, D, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26786
+ <Eff extends Effect<any, any, any>, A, B, C, D, E, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26787
+ <Eff extends Effect<any, any, any>, A, B, C, D, E, F, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26788
+ <Eff extends Effect<any, any, any>, A, B, C, D, E, F, G, Args extends Array<any>>(body: (...args: Args) => A, a: (_: A, ...args: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => G, g: (_: G, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26789
+ <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: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => G, g: (_: G, ...args: NoInfer<Args>) => H, h: (_: H, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26790
+ <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: NoInfer<Args>) => B, b: (_: B, ...args: NoInfer<Args>) => C, c: (_: C, ...args: NoInfer<Args>) => D, d: (_: D, ...args: NoInfer<Args>) => E, e: (_: E, ...args: NoInfer<Args>) => F, f: (_: F, ...args: NoInfer<Args>) => G, g: (_: G, ...args: NoInfer<Args>) => H, h: (_: H, ...args: NoInfer<Args>) => I, i: (_: H, ...args: NoInfer<Args>) => Eff): (...args: Args) => Effect.AsEffect<Eff>;
26671
26791
  };
26672
26792
  /**
26673
26793
  * @since 3.11.0
26674
26794
  * @category Models
26675
26795
  */
26676
26796
  type Untraced = {
26677
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>): (this: Self, ...args: Args) => Effect<AEff, [
26797
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, never>): (...args: Args) => Effect<AEff, [
26678
26798
  Eff
26679
26799
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26680
26800
  Eff
26681
26801
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>;
26682
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26802
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26683
26803
  Eff
26684
26804
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26685
26805
  Eff
26686
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A): (this: Self, ...args: Args) => A;
26687
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26806
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A): (...args: Args) => A;
26807
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26688
26808
  Eff
26689
26809
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26690
26810
  Eff
26691
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B): (this: Self, ...args: Args) => B;
26692
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26811
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B): (...args: Args) => B;
26812
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26693
26813
  Eff
26694
26814
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26695
26815
  Eff
26696
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C): (this: Self, ...args: Args) => C;
26697
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26816
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C): (...args: Args) => C;
26817
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26698
26818
  Eff
26699
26819
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26700
26820
  Eff
26701
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D): (this: Self, ...args: Args) => D;
26702
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26821
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D): (...args: Args) => D;
26822
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26703
26823
  Eff
26704
26824
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26705
26825
  Eff
26706
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E): (this: Self, ...args: Args) => E;
26707
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26826
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E): (...args: Args) => E;
26827
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26708
26828
  Eff
26709
26829
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26710
26830
  Eff
26711
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F): (this: Self, ...args: Args) => F;
26712
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26831
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F): (...args: Args) => F;
26832
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26713
26833
  Eff
26714
26834
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26715
26835
  Eff
26716
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G): (this: Self, ...args: Args) => G;
26717
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G, H>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26836
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G): (...args: Args) => G;
26837
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G, H>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26718
26838
  Eff
26719
26839
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26720
26840
  Eff
26721
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H): (this: Self, ...args: Args) => H;
26722
- <Self, Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G, H, I>(body: (this: Self, ...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26841
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H): (...args: Args) => H;
26842
+ <Eff extends YieldWrap<Effect<any, any, any>>, AEff, Args extends Array<any>, A, B, C, D, E, F, G, H, I>(body: (...args: Args) => Generator<Eff, AEff, never>, a: (_: Effect<AEff, [
26723
26843
  Eff
26724
26844
  ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never, [
26725
26845
  Eff
26726
- ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H, i: (_: H, ...args: NoInfer<Args>) => I): (this: Self, ...args: Args) => I;
26846
+ ] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args>) => A, b: (_: A, ...args: NoInfer<Args>) => B, c: (_: B, ...args: NoInfer<Args>) => C, d: (_: C, ...args: NoInfer<Args>) => D, e: (_: D, ...args: NoInfer<Args>) => E, f: (_: E, ...args: NoInfer<Args>) => F, g: (_: F, ...args: NoInfer<Args>) => G, h: (_: G, ...args: NoInfer<Args>) => H, i: (_: H, ...args: NoInfer<Args>) => I): (...args: Args) => I;
26727
26847
  };
26728
26848
  }
26729
26849
  /**