unthrown 2.0.0 → 3.0.1

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 CHANGED
@@ -11,10 +11,10 @@ pnpm add unthrown
11
11
  ```
12
12
 
13
13
  ```ts
14
- import { Ok, Err, fromPromise, Defect, type Result } from "unthrown";
14
+ import { Ok, Err, fromPromise, type Result } from "unthrown";
15
15
 
16
- const user = fromPromise(fetchUser(id), (cause) =>
17
- cause instanceof NotFoundError ? new NotFound() : Defect(cause),
16
+ const user = fromPromise(fetchUser(id), (cause, defect) =>
17
+ cause instanceof NotFoundError ? new NotFound() : defect(cause),
18
18
  );
19
19
 
20
20
  const status = await user.match({
package/dist/index.cjs CHANGED
@@ -6,6 +6,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
6
  * `Ok`.
7
7
  *
8
8
  * @remarks
9
+ * The offending value is exposed two ways: the typed {@link UnwrapError.error}
10
+ * property for programmatic access, and the standard `Error.cause` for the
11
+ * runtime and devtools to chain — when `E` is an `Error` (e.g. a `TaggedError`)
12
+ * its original stack is printed under "caused by".
13
+ *
9
14
  * A `Defect` is never wrapped in an `UnwrapError`: its original cause is
10
15
  * re-thrown (with its original stack) instead.
11
16
  *
@@ -18,7 +23,7 @@ var UnwrapError = class extends Error {
18
23
  */
19
24
  error;
20
25
  constructor(error) {
21
- super("unthrown: called unwrap on a non-matching Result");
26
+ super("unthrown: called unwrap on a non-matching Result", { cause: error });
22
27
  this.name = "UnwrapError";
23
28
  this.error = error;
24
29
  Object.setPrototypeOf(this, new.target.prototype);
@@ -279,7 +284,7 @@ function passThrough(self) {
279
284
  * though, so a primitive `Ok` (e.g. `Ok(5).bind(...)`, or a chain whose value was
280
285
  * `map`-ped away from its scope) could reach it. Rather than let `{ ...5 }`
281
286
  * silently collapse to `{}` and drop the prior scope, we throw here — the
282
- * surrounding `try` turns it into a {@link Defect}, surfacing the misuse as the
287
+ * surrounding `try` turns it into a `Defect`, surfacing the misuse as the
283
288
  * bug it is (a defect is a bug, not an absent value). A `this: object` constraint
284
289
  * was rejected: TypeScript does not hard-enforce a constraint inferred solely
285
290
  * from `this`, and it breaks `AsyncRes implements AsyncResult`.
@@ -464,11 +469,7 @@ var AsyncRes = class AsyncRes {
464
469
  return this.promise.then((r) => r.unwrapOr(fallback));
465
470
  }
466
471
  unwrapOrElse(f) {
467
- return this.promise.then((r) => {
468
- if (r.tag === "Ok") return r.value;
469
- if (r.tag === "Defect") throw r.cause;
470
- return f(r.error);
471
- });
472
+ return this.promise.then((r) => r.unwrapOrElse(f));
472
473
  }
473
474
  getOrNull() {
474
475
  return this.promise.then((r) => r.getOrNull());
@@ -541,41 +542,6 @@ function isDefect(r) {
541
542
  return r.tag === "Defect";
542
543
  }
543
544
  //#endregion
544
- //#region src/defect.ts
545
- const DEFECT = Symbol("unthrown/Defect");
546
- /**
547
- * Wrap a cause as a {@link Defect} — the value you return from a `qualify`
548
- * function when a failure is **not** a modeled domain error.
549
- *
550
- * @param cause - the original thrown/rejected value.
551
- * @returns an opaque Defect marker carrying `cause`.
552
- *
553
- * @example
554
- * ```ts
555
- * import { fromPromise, Defect } from "unthrown";
556
- *
557
- * const user = fromPromise(fetchUser(id), (cause) =>
558
- * cause instanceof NotFoundError ? cause : Defect(cause),
559
- * );
560
- * ```
561
- */
562
- function Defect(cause) {
563
- return {
564
- [DEFECT]: true,
565
- cause
566
- };
567
- }
568
- /**
569
- * Internal guard for the qualify-time marker. Distinct from the public
570
- * {@link isDefect} state guard — this one narrows the `E | Defect` union a
571
- * `qualify` function returns, not a `Result`.
572
- *
573
- * @internal
574
- */
575
- function isDefectMarker(x) {
576
- return typeof x === "object" && x !== null && x[DEFECT] === true;
577
- }
578
- //#endregion
579
545
  //#region src/do.ts
580
546
  /**
581
547
  * Start a do-notation chain with an empty object scope, grown step by step with
@@ -603,6 +569,36 @@ function Do() {
603
569
  return Ok({});
604
570
  }
605
571
  //#endregion
572
+ //#region src/defect.ts
573
+ const DEFECT = Symbol("unthrown/Defect");
574
+ /**
575
+ * Wrap a cause as a `Defect` marker — the value returned from a `qualify`
576
+ * function when a failure is **not** a modeled domain error. The boundary
577
+ * (`fromPromise` / `fromThrowable`) passes this in as `qualify`'s second
578
+ * argument, so domain code never imports it.
579
+ *
580
+ * @param cause - the original thrown/rejected value.
581
+ * @returns an opaque Defect marker carrying `cause`.
582
+ *
583
+ * @internal
584
+ */
585
+ function defect(cause) {
586
+ return {
587
+ [DEFECT]: true,
588
+ cause
589
+ };
590
+ }
591
+ /**
592
+ * Internal guard for the qualify-time marker. Distinct from the public
593
+ * {@link isDefect} state guard — this one narrows the `E | Defect` union a
594
+ * `qualify` function returns, not a `Result`.
595
+ *
596
+ * @internal
597
+ */
598
+ function isDefectMarker(x) {
599
+ return typeof x === "object" && x !== null && x[DEFECT] === true;
600
+ }
601
+ //#endregion
606
602
  //#region src/interop.ts
607
603
  /**
608
604
  * Bridge a nullable value into a {@link Result}: absence becomes a **modeled**
@@ -632,12 +628,13 @@ function fromNullable(value, onAbsent) {
632
628
  *
633
629
  * @remarks
634
630
  * `qualify` **must** triage every thrown cause into a modeled error `E` or a
635
- * {@link Defect} (via {@link Defect}) — there is no path that leaves `unknown`
636
- * in `E`. A throw inside `qualify` itself is treated as a `Defect`.
631
+ * `Defect` (via the injected `defect` helper, its second argument) — there is no
632
+ * path that leaves `unknown` in `E`. A throw inside `qualify` itself is treated
633
+ * as a `Defect`.
637
634
  *
638
635
  * The modeled error type is `Exclude<R, Defect>` — the `Defect` arm of
639
636
  * `qualify`'s return is **subtracted** from `E`, never inferred into it. So a
640
- * `qualify` that returns *only* `Defect(cause)` yields `E = never` (a Defect is
637
+ * `qualify` that returns *only* `defect(cause)` yields `E = never` (a Defect is
641
638
  * out-of-band and must not pollute the error channel); reach for
642
639
  * {@link fromSafePromise} when every failure is a Defect.
643
640
  *
@@ -646,13 +643,14 @@ function fromNullable(value, onAbsent) {
646
643
  * @typeParam R - `qualify`'s return type; the modeled error `E` is
647
644
  * `Exclude<R, Defect>` (its `Defect` arm, if any, is subtracted).
648
645
  * @param fn - the throwing function to wrap.
649
- * @param qualify - triages a thrown cause into `E` or a `Defect`.
646
+ * @param qualify - triages a thrown `cause` into a modeled `E`, or marks it
647
+ * unmodeled by returning `defect(cause)` (the helper passed as its second arg).
650
648
  * @returns a function with the same arguments returning `Result<T, E>`.
651
649
  *
652
650
  * @example
653
651
  * ```ts
654
- * import { fromThrowable, Defect } from "unthrown";
655
- * const parse = fromThrowable(JSON.parse, (cause) => Defect(cause));
652
+ * import { fromThrowable } from "unthrown";
653
+ * const parse = fromThrowable(JSON.parse, (cause, defect) => defect(cause));
656
654
  * parse("{}").unwrap();
657
655
  * ```
658
656
  */
@@ -672,26 +670,27 @@ function fromThrowable(fn, qualify) {
672
670
  *
673
671
  * @remarks
674
672
  * `qualify` **must** map each rejection cause into a modeled error `E` or a
675
- * {@link Defect}. The returned `AsyncResult`'s internal promise never rejects;
676
- * `await`-ing it always yields a `Result`. A throw inside `qualify` is itself a
677
- * `Defect`.
673
+ * `Defect` (via the injected `defect` helper, its second argument). The returned
674
+ * `AsyncResult`'s internal promise never rejects; `await`-ing it always yields a
675
+ * `Result`. A throw inside `qualify` is itself a `Defect`.
678
676
  *
679
677
  * The modeled error type is `Exclude<R, Defect>` — the `Defect` arm of
680
678
  * `qualify`'s return is **subtracted** from `E`, never inferred into it. So a
681
- * `qualify` that returns *only* `Defect(cause)` yields `E = never`; when every
679
+ * `qualify` that returns *only* `defect(cause)` yields `E = never`; when every
682
680
  * rejection is a Defect, prefer {@link fromSafePromise}.
683
681
  *
684
682
  * @typeParam T - the resolved value type.
685
683
  * @typeParam R - `qualify`'s return type; the modeled error `E` is
686
684
  * `Exclude<R, Defect>` (its `Defect` arm, if any, is subtracted).
687
685
  * @param promise - the promise, or a thunk returning one.
688
- * @param qualify - triages a rejection cause into `E` or a `Defect`.
686
+ * @param qualify - triages a rejection `cause` into a modeled `E`, or marks it
687
+ * unmodeled by returning `defect(cause)` (the helper passed as its second arg).
689
688
  *
690
689
  * @example
691
690
  * ```ts
692
- * import { fromPromise, Defect } from "unthrown";
693
- * const user = await fromPromise(fetchUser(id), (cause) =>
694
- * cause instanceof NotFoundError ? ("not_found" as const) : Defect(cause),
691
+ * import { fromPromise } from "unthrown";
692
+ * const user = await fromPromise(fetchUser(id), (cause, defect) =>
693
+ * cause instanceof NotFoundError ? ("not_found" as const) : defect(cause),
695
694
  * );
696
695
  * ```
697
696
  */
@@ -716,7 +715,7 @@ function fromSafePromise(promise) {
716
715
  }
717
716
  function qualifyToResult(cause, qualify) {
718
717
  try {
719
- const q = qualify(cause);
718
+ const q = qualify(cause, defect);
720
719
  return isDefectMarker(q) ? defectRes(q.cause) : errRes(q);
721
720
  } catch (qErr) {
722
721
  return defectRes(qErr);
@@ -732,8 +731,10 @@ function foldArray(results) {
732
731
  let firstErr;
733
732
  let firstDefect;
734
733
  const values = [];
735
- for (const r of results) if (r.tag === "Defect") firstDefect ??= r;
736
- else if (r.tag === "Err") firstErr ??= r;
734
+ for (const r of results) if (r.tag === "Defect") {
735
+ firstDefect ??= r;
736
+ break;
737
+ } else if (r.tag === "Err") firstErr ??= r;
737
738
  else values.push(r.value);
738
739
  return firstDefect ?? firstErr ?? Ok(values);
739
740
  }
@@ -847,10 +848,9 @@ function allFromDictAsync(results) {
847
848
  /**
848
849
  * Companion object grouping the **`Result`-producing** entry points under a
849
850
  * single, discoverable namespace: {@link Result.Ok}, {@link Result.Err},
850
- * {@link Result.Defect}, {@link Result.Do}, {@link Result.fromNullable},
851
- * {@link Result.fromThrowable}, {@link Result.all}, {@link Result.allFromDict},
852
- * {@link Result.isOk}, {@link Result.isErr}, {@link Result.isDefect},
853
- * {@link Result.isResult}.
851
+ * {@link Result.Do}, {@link Result.fromNullable}, {@link Result.fromThrowable},
852
+ * {@link Result.all}, {@link Result.allFromDict}, {@link Result.isOk},
853
+ * {@link Result.isErr}, {@link Result.isDefect}, {@link Result.isResult}.
854
854
  *
855
855
  * @remarks
856
856
  * Purely additive sugar — each member **is** the corresponding free function.
@@ -871,7 +871,6 @@ function allFromDictAsync(results) {
871
871
  const Result = {
872
872
  Ok,
873
873
  Err,
874
- Defect,
875
874
  Do,
876
875
  fromNullable,
877
876
  fromThrowable,
@@ -899,8 +898,8 @@ const Result = {
899
898
  *
900
899
  * @example
901
900
  * ```ts
902
- * import { AsyncResult, Defect } from "unthrown";
903
- * const user = await AsyncResult.fromPromise(fetchUser(id), (c) => Defect(c));
901
+ * import { AsyncResult } from "unthrown";
902
+ * const user = await AsyncResult.fromPromise(fetchUser(id), (c, defect) => defect(c));
904
903
  * ```
905
904
  */
906
905
  const AsyncResult = {
@@ -978,7 +977,6 @@ function matchTags(result, handlers) {
978
977
  }
979
978
  //#endregion
980
979
  exports.AsyncResult = AsyncResult;
981
- exports.Defect = Defect;
982
980
  exports.Do = Do;
983
981
  exports.Err = Err;
984
982
  exports.Ok = Ok;
package/dist/index.d.cts CHANGED
@@ -191,7 +191,7 @@ type ResultMethods<T, E> = {
191
191
  recoverDefect<U, E2>(f: (cause: unknown) => Result$1<U, E2>): Result$1<T | U, E | E2>;
192
192
  /**
193
193
  * Run a side effect on a present `Defect`'s cause (e.g. logging) and pass the
194
- * `Defect` through unchanged.
194
+ * `Defect` through unchanged. If `f` throws, the throw becomes a new `Defect`.
195
195
  *
196
196
  * @param f - the side effect over the unknown cause.
197
197
  */
@@ -488,6 +488,11 @@ declare function isDefect<T, E>(r: Result$1<T, E>): r is DefectView<T, E>;
488
488
  * `Ok`.
489
489
  *
490
490
  * @remarks
491
+ * The offending value is exposed two ways: the typed {@link UnwrapError.error}
492
+ * property for programmatic access, and the standard `Error.cause` for the
493
+ * runtime and devtools to chain — when `E` is an `Error` (e.g. a `TaggedError`)
494
+ * its original stack is printed under "caused by".
495
+ *
491
496
  * A `Defect` is never wrapped in an `UnwrapError`: its original cause is
492
497
  * re-thrown (with its original stack) instead.
493
498
  *
@@ -515,40 +520,6 @@ declare class UnwrapError<E = unknown> extends Error {
515
520
  */
516
521
  declare function isResult(x: unknown): x is Result$1<unknown, unknown>;
517
522
  //#endregion
518
- //#region src/defect.d.ts
519
- declare const DEFECT: unique symbol;
520
- /**
521
- * The marker a `qualify` function returns to triage a cause as **unexpected**.
522
- *
523
- * @remarks
524
- * `qualify` (passed to {@link fromPromise} / {@link fromThrowable}) returns
525
- * `E | Defect`: either a modeled domain error, or a `Defect` produced by
526
- * {@link Defect} to say "this failure is not modeled". A `Defect` is opaque —
527
- * it carries the original cause for the boundary to convert into the third
528
- * runtime state of a `Result`.
529
- */
530
- type Defect = {
531
- readonly [DEFECT]: true;
532
- readonly cause: unknown;
533
- };
534
- /**
535
- * Wrap a cause as a {@link Defect} — the value you return from a `qualify`
536
- * function when a failure is **not** a modeled domain error.
537
- *
538
- * @param cause - the original thrown/rejected value.
539
- * @returns an opaque Defect marker carrying `cause`.
540
- *
541
- * @example
542
- * ```ts
543
- * import { fromPromise, Defect } from "unthrown";
544
- *
545
- * const user = fromPromise(fetchUser(id), (cause) =>
546
- * cause instanceof NotFoundError ? cause : Defect(cause),
547
- * );
548
- * ```
549
- */
550
- declare function Defect(cause: unknown): Defect;
551
- //#endregion
552
523
  //#region src/do.d.ts
553
524
  /**
554
525
  * Start a do-notation chain with an empty object scope, grown step by step with
@@ -574,6 +545,27 @@ declare function Defect(cause: unknown): Defect;
574
545
  */
575
546
  declare function Do(): Result$1<{}, never>;
576
547
  //#endregion
548
+ //#region src/defect.d.ts
549
+ declare const DEFECT: unique symbol;
550
+ /**
551
+ * The opaque marker a `qualify` function returns to triage a cause as
552
+ * **unexpected**.
553
+ *
554
+ * @remarks
555
+ * `qualify` (passed to {@link fromPromise} / {@link fromThrowable}) returns
556
+ * `E | Defect`: either a modeled domain error, or a `Defect` produced by the
557
+ * injected `defect` helper to say "this failure is not modeled". A `Defect` is
558
+ * opaque — it carries the original cause for the boundary to convert into the
559
+ * third runtime state of a `Result`. It is **not** a public value; the only way
560
+ * to mint one is the `defect` helper the boundary passes to `qualify`.
561
+ *
562
+ * @internal
563
+ */
564
+ type Defect = {
565
+ readonly [DEFECT]: true;
566
+ readonly cause: unknown;
567
+ };
568
+ //#endregion
577
569
  //#region src/interop.d.ts
578
570
  /**
579
571
  * Bridge a nullable value into a {@link Result}: absence becomes a **modeled**
@@ -601,12 +593,13 @@ declare function fromNullable<T, E>(value: T | null | undefined, onAbsent: () =>
601
593
  *
602
594
  * @remarks
603
595
  * `qualify` **must** triage every thrown cause into a modeled error `E` or a
604
- * {@link Defect} (via {@link Defect}) — there is no path that leaves `unknown`
605
- * in `E`. A throw inside `qualify` itself is treated as a `Defect`.
596
+ * `Defect` (via the injected `defect` helper, its second argument) — there is no
597
+ * path that leaves `unknown` in `E`. A throw inside `qualify` itself is treated
598
+ * as a `Defect`.
606
599
  *
607
600
  * The modeled error type is `Exclude<R, Defect>` — the `Defect` arm of
608
601
  * `qualify`'s return is **subtracted** from `E`, never inferred into it. So a
609
- * `qualify` that returns *only* `Defect(cause)` yields `E = never` (a Defect is
602
+ * `qualify` that returns *only* `defect(cause)` yields `E = never` (a Defect is
610
603
  * out-of-band and must not pollute the error channel); reach for
611
604
  * {@link fromSafePromise} when every failure is a Defect.
612
605
  *
@@ -615,47 +608,49 @@ declare function fromNullable<T, E>(value: T | null | undefined, onAbsent: () =>
615
608
  * @typeParam R - `qualify`'s return type; the modeled error `E` is
616
609
  * `Exclude<R, Defect>` (its `Defect` arm, if any, is subtracted).
617
610
  * @param fn - the throwing function to wrap.
618
- * @param qualify - triages a thrown cause into `E` or a `Defect`.
611
+ * @param qualify - triages a thrown `cause` into a modeled `E`, or marks it
612
+ * unmodeled by returning `defect(cause)` (the helper passed as its second arg).
619
613
  * @returns a function with the same arguments returning `Result<T, E>`.
620
614
  *
621
615
  * @example
622
616
  * ```ts
623
- * import { fromThrowable, Defect } from "unthrown";
624
- * const parse = fromThrowable(JSON.parse, (cause) => Defect(cause));
617
+ * import { fromThrowable } from "unthrown";
618
+ * const parse = fromThrowable(JSON.parse, (cause, defect) => defect(cause));
625
619
  * parse("{}").unwrap();
626
620
  * ```
627
621
  */
628
- declare function fromThrowable<A extends unknown[], T, R>(fn: (...args: A) => T, qualify: (cause: unknown) => R): (...args: A) => Result$1<T, Exclude<R, Defect>>;
622
+ declare function fromThrowable<A extends unknown[], T, R>(fn: (...args: A) => T, qualify: (cause: unknown, defect: (cause: unknown) => Defect) => R): (...args: A) => Result$1<T, Exclude<R, Defect>>;
629
623
  /**
630
624
  * Wrap a `Promise` (or a thunk producing one) as an {@link AsyncResult}, forcing
631
625
  * every rejection to be triaged.
632
626
  *
633
627
  * @remarks
634
628
  * `qualify` **must** map each rejection cause into a modeled error `E` or a
635
- * {@link Defect}. The returned `AsyncResult`'s internal promise never rejects;
636
- * `await`-ing it always yields a `Result`. A throw inside `qualify` is itself a
637
- * `Defect`.
629
+ * `Defect` (via the injected `defect` helper, its second argument). The returned
630
+ * `AsyncResult`'s internal promise never rejects; `await`-ing it always yields a
631
+ * `Result`. A throw inside `qualify` is itself a `Defect`.
638
632
  *
639
633
  * The modeled error type is `Exclude<R, Defect>` — the `Defect` arm of
640
634
  * `qualify`'s return is **subtracted** from `E`, never inferred into it. So a
641
- * `qualify` that returns *only* `Defect(cause)` yields `E = never`; when every
635
+ * `qualify` that returns *only* `defect(cause)` yields `E = never`; when every
642
636
  * rejection is a Defect, prefer {@link fromSafePromise}.
643
637
  *
644
638
  * @typeParam T - the resolved value type.
645
639
  * @typeParam R - `qualify`'s return type; the modeled error `E` is
646
640
  * `Exclude<R, Defect>` (its `Defect` arm, if any, is subtracted).
647
641
  * @param promise - the promise, or a thunk returning one.
648
- * @param qualify - triages a rejection cause into `E` or a `Defect`.
642
+ * @param qualify - triages a rejection `cause` into a modeled `E`, or marks it
643
+ * unmodeled by returning `defect(cause)` (the helper passed as its second arg).
649
644
  *
650
645
  * @example
651
646
  * ```ts
652
- * import { fromPromise, Defect } from "unthrown";
653
- * const user = await fromPromise(fetchUser(id), (cause) =>
654
- * cause instanceof NotFoundError ? ("not_found" as const) : Defect(cause),
647
+ * import { fromPromise } from "unthrown";
648
+ * const user = await fromPromise(fetchUser(id), (cause, defect) =>
649
+ * cause instanceof NotFoundError ? ("not_found" as const) : defect(cause),
655
650
  * );
656
651
  * ```
657
652
  */
658
- declare function fromPromise<T, R>(promise: Promise<T> | (() => Promise<T>), qualify: (cause: unknown) => R): AsyncResult$1<T, Exclude<R, Defect>>;
653
+ declare function fromPromise<T, R>(promise: Promise<T> | (() => Promise<T>), qualify: (cause: unknown, defect: (cause: unknown) => Defect) => R): AsyncResult$1<T, Exclude<R, Defect>>;
659
654
  /**
660
655
  * Wrap a `Promise` asserted **not** to fail in any modeled way: any rejection
661
656
  * becomes a `Defect`.
@@ -765,10 +760,9 @@ declare function allFromDictAsync<R extends AsyncResultRecord>(results: R): Asyn
765
760
  /**
766
761
  * Companion object grouping the **`Result`-producing** entry points under a
767
762
  * single, discoverable namespace: {@link Result.Ok}, {@link Result.Err},
768
- * {@link Result.Defect}, {@link Result.Do}, {@link Result.fromNullable},
769
- * {@link Result.fromThrowable}, {@link Result.all}, {@link Result.allFromDict},
770
- * {@link Result.isOk}, {@link Result.isErr}, {@link Result.isDefect},
771
- * {@link Result.isResult}.
763
+ * {@link Result.Do}, {@link Result.fromNullable}, {@link Result.fromThrowable},
764
+ * {@link Result.all}, {@link Result.allFromDict}, {@link Result.isOk},
765
+ * {@link Result.isErr}, {@link Result.isDefect}, {@link Result.isResult}.
772
766
  *
773
767
  * @remarks
774
768
  * Purely additive sugar — each member **is** the corresponding free function.
@@ -789,7 +783,6 @@ declare function allFromDictAsync<R extends AsyncResultRecord>(results: R): Asyn
789
783
  declare const Result: {
790
784
  readonly Ok: typeof Ok;
791
785
  readonly Err: typeof Err;
792
- readonly Defect: typeof Defect;
793
786
  readonly Do: typeof Do;
794
787
  readonly fromNullable: typeof fromNullable;
795
788
  readonly fromThrowable: typeof fromThrowable;
@@ -818,8 +811,8 @@ type Result<T, E> = Result$1<T, E>;
818
811
  *
819
812
  * @example
820
813
  * ```ts
821
- * import { AsyncResult, Defect } from "unthrown";
822
- * const user = await AsyncResult.fromPromise(fetchUser(id), (c) => Defect(c));
814
+ * import { AsyncResult } from "unthrown";
815
+ * const user = await AsyncResult.fromPromise(fetchUser(id), (c, defect) => defect(c));
823
816
  * ```
824
817
  */
825
818
  declare const AsyncResult: {
@@ -952,5 +945,5 @@ declare function matchTags<T, E extends {
952
945
  _tag: string;
953
946
  }, R>(result: AsyncResult$1<T, E>, handlers: TagHandlers<T, E, R>): Promise<R>;
954
947
  //#endregion
955
- export { type AsyncErrOf, type AsyncOkOf, AsyncResult, type Awaitable, Defect, type DefectView, Do, Err, type ErrOf, type ErrView, Ok, type OkOf, type OkView, Result, type TagHandlers, TaggedError, type TaggedErrorConstructor, type TaggedErrorInstance, UnwrapError, all, allAsync, allFromDict, allFromDictAsync, fromNullable, fromPromise, fromSafePromise, fromThrowable, isDefect, isErr, isOk, isResult, matchTags };
948
+ export { type AsyncErrOf, type AsyncOkOf, AsyncResult, type Awaitable, type DefectView, Do, Err, type ErrOf, type ErrView, Ok, type OkOf, type OkView, Result, type TagHandlers, TaggedError, type TaggedErrorConstructor, type TaggedErrorInstance, UnwrapError, all, allAsync, allFromDict, allFromDictAsync, fromNullable, fromPromise, fromSafePromise, fromThrowable, isDefect, isErr, isOk, isResult, matchTags };
956
949
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/constructors.ts","../src/core.ts","../src/defect.ts","../src/do.ts","../src/interop.ts","../src/facade.ts","../src/tagged.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/constructors.ts","../src/core.ts","../src/do.ts","../src/defect.ts","../src/interop.ts","../src/facade.ts","../src/tagged.ts"],"mappings":"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"}