unthrown 5.0.0-beta.2 → 5.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -152,7 +152,7 @@ var Res = class {
152
152
  return defectRes(cause);
153
153
  }
154
154
  }
155
- mapErr(f) {
155
+ mapErrCases(f) {
156
156
  if (this.tag !== "Err") return passThrough(this);
157
157
  try {
158
158
  const out = runMatch(f, this.error);
@@ -162,7 +162,7 @@ var Res = class {
162
162
  return defectRes(cause);
163
163
  }
164
164
  }
165
- flatMapErr(f) {
165
+ flatMapErrCases(f) {
166
166
  if (this.tag !== "Err") return passThrough(this);
167
167
  try {
168
168
  const out = runMatch(f, this.error);
@@ -173,7 +173,7 @@ var Res = class {
173
173
  return defectRes(cause);
174
174
  }
175
175
  }
176
- recoverErr(f) {
176
+ recoverErrCases(f) {
177
177
  if (this.tag !== "Err") return passThrough(this);
178
178
  try {
179
179
  const out = runMatch(f, this.error);
@@ -183,7 +183,7 @@ var Res = class {
183
183
  return defectRes(cause);
184
184
  }
185
185
  }
186
- tapErr(f) {
186
+ tapErrCases(f) {
187
187
  if (this.tag !== "Err") return this;
188
188
  try {
189
189
  runMatch(f, this.error);
@@ -192,7 +192,7 @@ var Res = class {
192
192
  return observerThrowToDefect(cause, this.error);
193
193
  }
194
194
  }
195
- flatTapErr(f) {
195
+ flatTapErrCases(f) {
196
196
  if (this.tag !== "Err") return this;
197
197
  try {
198
198
  const r = runMatch(f, this.error);
@@ -410,7 +410,7 @@ function runMatch(f, error) {
410
410
  return f((0, ts_pattern.match)(error), defect).run();
411
411
  }
412
412
  /**
413
- * A throw inside a *failure observer* (`tapErr` / `tapDefect` / `flatTapErr`)
413
+ * A throw inside a *failure observer* (`tapErrCases` / `tapDefect` / `flatTapErrCases`)
414
414
  * must not destroy the failure being observed — that is the exact place (e.g. a
415
415
  * failing error-logger) where losing the underlying failure hurts most. The
416
416
  * resulting Defect aggregates both: `errors[0]` is the observer's throw,
@@ -547,7 +547,7 @@ var AsyncRes = class AsyncRes {
547
547
  }
548
548
  }));
549
549
  }
550
- mapErr(f) {
550
+ mapErrCases(f) {
551
551
  return new AsyncRes(this.#promise.then((r) => {
552
552
  if (r.tag !== "Err") return passThrough(r);
553
553
  try {
@@ -559,7 +559,7 @@ var AsyncRes = class AsyncRes {
559
559
  }
560
560
  }));
561
561
  }
562
- flatMapErr(f) {
562
+ flatMapErrCases(f) {
563
563
  return new AsyncRes(this.#promise.then(async (r) => {
564
564
  if (r.tag !== "Err") return passThrough(r);
565
565
  try {
@@ -573,7 +573,7 @@ var AsyncRes = class AsyncRes {
573
573
  }
574
574
  }));
575
575
  }
576
- recoverErr(f) {
576
+ recoverErrCases(f) {
577
577
  return new AsyncRes(this.#promise.then((r) => {
578
578
  if (r.tag !== "Err") return passThrough(r);
579
579
  try {
@@ -585,7 +585,7 @@ var AsyncRes = class AsyncRes {
585
585
  }
586
586
  }));
587
587
  }
588
- tapErr(f) {
588
+ tapErrCases(f) {
589
589
  return new AsyncRes(this.#promise.then((r) => {
590
590
  if (r.tag !== "Err") return r;
591
591
  try {
@@ -596,7 +596,7 @@ var AsyncRes = class AsyncRes {
596
596
  }
597
597
  }));
598
598
  }
599
- flatTapErr(f) {
599
+ flatTapErrCases(f) {
600
600
  return new AsyncRes(this.#promise.then(async (r) => {
601
601
  if (r.tag !== "Err") return passThrough(r);
602
602
  try {
@@ -1006,6 +1006,11 @@ function fromSafeThrowable(fn) {
1006
1006
  * @param promise - the promise, or a thunk returning one.
1007
1007
  * @param qualify - triages a rejection `cause` into a modeled `E`, or marks it
1008
1008
  * unmodeled by returning `defect(cause)` (the helper passed as its second arg).
1009
+ * @param _guard - compile-time only; never pass it. The phantom rest-tuple that
1010
+ * enforces "qualify is synchronous": an `async` qualify makes this demand an
1011
+ * impossible extra argument (whose type spells out the error), while a
1012
+ * synchronous one leaves it empty. Encoded here — not on `qualify`'s return
1013
+ * type — so `T`'s inference from `promise` is undisturbed.
1009
1014
  *
1010
1015
  * @category Interop
1011
1016
  *
@@ -1022,7 +1027,7 @@ function fromSafeThrowable(fn) {
1022
1027
  * // when fetchUser rejects with NotFoundError: user is Err("not_found")
1023
1028
  * ```
1024
1029
  */
1025
- function fromPromise(promise, qualify) {
1030
+ function fromPromise(promise, qualify, ..._guard) {
1026
1031
  const triage = qualify;
1027
1032
  return new AsyncRes((typeof promise === "function" ? Promise.resolve().then(promise) : Promise.resolve(promise)).then((value) => okRes(value), (cause) => qualifyToResult(cause, triage)));
1028
1033
  }
@@ -1337,7 +1342,7 @@ const AsyncResult = {
1337
1342
  * *narrowing* structured field.
1338
1343
  *
1339
1344
  * `_tag` is the discriminant matched by {@link tag} in the error combinators
1340
- * (`result.mapErr((matcher) => matcher.with(tag("NotFound"), …))`) and in
1345
+ * (`result.mapErrCases((matcher) => matcher.with(tag("NotFound"), …))`) and in
1341
1346
  * `match`; `Error.name` is the human-facing label in stack traces and logs. By
1342
1347
  * default they coincide, but
1343
1348
  * they can be **decoupled** with `options.name` — so a tag can be namespaced for
@@ -1411,7 +1416,7 @@ function TaggedError(tag, options) {
1411
1416
  *
1412
1417
  * @example
1413
1418
  * ```ts
1414
- * result.mapErr((matcher) =>
1419
+ * result.mapErrCases((matcher) =>
1415
1420
  * matcher
1416
1421
  * .with(tag("NotFound"), () => new NotFoundException())
1417
1422
  * .with(tag("Conflict"), (e) => new ConflictException(e.key)),
package/dist/index.d.cts CHANGED
@@ -99,7 +99,7 @@ type MatchOut<M> = M extends ExhaustiveMatch<infer O> ? O : never;
99
99
  type MatchErrOut<M> = Exclude<MatchOut<M>, Defect>;
100
100
  /**
101
101
  * The fluent method surface every {@link Result} variant carries — the
102
- * combinators (`map`, `flatMap`, `mapErr`, `match`, `get`, …), documented one
102
+ * combinators (`map`, `flatMap`, `mapErrCases`, `match`, `get`, …), documented one
103
103
  * per entry below. Factored out so the three variants ({@link OkView},
104
104
  * {@link ErrView}, {@link DefectView}) can each intersect it; {@link AsyncResult}
105
105
  * mirrors this surface with async signatures.
@@ -272,7 +272,7 @@ type ResultMethods<out T, out E> = {
272
272
  * @remarks
273
273
  * The callback receives `match(error)` (an {@link ErrMatcher}) and the
274
274
  * injected `defect` helper. Chain `.with(pattern, handler)` and **return the
275
- * un-terminated builder** — `mapErr` calls `.exhaustive()` itself, so a
275
+ * un-terminated builder** — `mapErrCases` calls `.exhaustive()` itself, so a
276
276
  * missing case is a compile error at the call site (there is no `.exhaustive()`
277
277
  * to forget, and no way to slip in `.otherwise()`). The outgoing error type is
278
278
  * the union of the branch returns with the `Defect` arm subtracted
@@ -287,7 +287,7 @@ type ResultMethods<out T, out E> = {
287
287
  * @typeParam M - the exhaustive builder the callback returns.
288
288
  * @param f - builds the match over the error (returns the un-terminated builder).
289
289
  */
290
- mapErr<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): Result$1<T, MatchErrOut<M>>;
290
+ mapErrCases<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): Result$1<T, MatchErrOut<M>>;
291
291
  /**
292
292
  * Sequence from an `Err` by producing another `Result` — the error-channel
293
293
  * mirror of {@link ResultMethods.flatMap | flatMap}, **matching the error
@@ -300,7 +300,7 @@ type ResultMethods<out T, out E> = {
300
300
  * @typeParam M - the exhaustive builder the callback returns.
301
301
  * @param f - builds the match; each branch produces a fallback `Result`.
302
302
  */
303
- flatMapErr<M extends ExhaustiveMatch<Result$1<unknown, unknown> | Defect>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): Result$1<T | OkOf<MatchOut<M>>, ErrOf<MatchOut<M>>>;
303
+ flatMapErrCases<M extends ExhaustiveMatch<Result$1<unknown, unknown> | Defect>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): Result$1<T | OkOf<MatchOut<M>>, ErrOf<MatchOut<M>>>;
304
304
  /**
305
305
  * Recover from an `Err` by producing a success value, emptying the error
306
306
  * channel — **matching the error exhaustively** ({@link ErrMatcher}). Pairs
@@ -315,7 +315,7 @@ type ResultMethods<out T, out E> = {
315
315
  * @typeParam M - the exhaustive builder the callback returns.
316
316
  * @param f - builds the match; each branch produces a success value.
317
317
  */
318
- recoverErr<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): Result$1<T | MatchErrOut<M>, never>;
318
+ recoverErrCases<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): Result$1<T | MatchErrOut<M>, never>;
319
319
  /**
320
320
  * Run a side effect on the error — **matched exhaustively** ({@link ErrMatcher})
321
321
  * — and pass the `Result` through unchanged.
@@ -330,11 +330,11 @@ type ResultMethods<out T, out E> = {
330
330
  * because the branch results are discarded, a returned `Promise` would float
331
331
  * unobserved and its rejection would vanish. A failable
332
332
  * `Result`-returning effect belongs in
333
- * {@link ResultMethods.flatTapErr | flatTapErr}.
333
+ * {@link ResultMethods.flatTapErrCases | flatTapErrCases}.
334
334
  *
335
335
  * @param f - builds the match; branch returns are ignored.
336
336
  */
337
- tapErr<R>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<R & NotThenable<R>>): Result$1<T, E>;
337
+ tapErrCases<R>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<R & NotThenable<R>>): Result$1<T, E>;
338
338
  /**
339
339
  * Run a **failable** side effect on the error, keeping the original error but
340
340
  * threading the effect's own error — **matched exhaustively**
@@ -353,7 +353,7 @@ type ResultMethods<out T, out E> = {
353
353
  * @typeParam M - the exhaustive builder the callback returns.
354
354
  * @param f - builds the match; each branch is a failable effect (its `Ok` is ignored).
355
355
  */
356
- flatTapErr<E2>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<Result$1<unknown, E2>>): Result$1<T, E | E2>;
356
+ flatTapErrCases<E2>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<Result$1<unknown, E2>>): Result$1<T, E | E2>;
357
357
  /**
358
358
  * Recover from a `Defect` — the **only** combinator that can touch one.
359
359
  *
@@ -382,7 +382,7 @@ type ResultMethods<out T, out E> = {
382
382
  * Run a side effect on **any failure** — `Err` or `Defect` — and pass the
383
383
  * `Result` through unchanged. The one cross-channel observer, for the shared
384
384
  * "it went KO" concern (logging, metrics, rollback) that would otherwise be
385
- * duplicated across {@link ResultMethods.tapErr | tapErr} and
385
+ * duplicated across {@link ResultMethods.tapErrCases | tapErrCases} and
386
386
  * {@link ResultMethods.tapDefect | tapDefect}.
387
387
  *
388
388
  * @remarks
@@ -393,7 +393,7 @@ type ResultMethods<out T, out E> = {
393
393
  * treat it opaquely for a shared logger. Runs on `Err` and `Defect`; `Ok`
394
394
  * passes through. It **observes without consuming**: the failure flows on
395
395
  * unchanged — to also recover, use
396
- * {@link ResultMethods.recoverErr | recoverErr} /
396
+ * {@link ResultMethods.recoverErrCases | recoverErrCases} /
397
397
  * {@link ResultMethods.recoverDefect | recoverDefect} (deliberately separate
398
398
  * acts) or {@link ResultMethods.match | match} at the edge. If `f` throws, the
399
399
  * result is a `Defect` whose cause is an `AggregateError` of `[thrown,
@@ -437,7 +437,7 @@ type ResultMethods<out T, out E> = {
437
437
  *
438
438
  * @remarks
439
439
  * Compiles only when the error channel is empty (`E = never`) — eliminate
440
- * modeled errors first (`match` / `recoverErr` / `flatMapErr`), or reach for the
440
+ * modeled errors first (`match` / `recoverErrCases` / `flatMapErrCases`), or reach for the
441
441
  * `getOr` / `getOrElse` / `getOrNull` / `getOrUndefined` family (which
442
442
  * recover an `Err`). If you get a `'this' context` type error here, that is
443
443
  * the gate: the receiver still has a non-`never` error channel.
@@ -501,8 +501,8 @@ type ResultMethods<out T, out E> = {
501
501
  * `throw` behind a method, so a `no-throw` lint rule can ban raw throws while
502
502
  * this one sanctioned extraction remains — _not_ to replace principled
503
503
  * handling. When you can keep the error a value, prefer
504
- * {@link ResultMethods.match | match} / {@link ResultMethods.recoverErr | recoverErr} /
505
- * {@link ResultMethods.flatMapErr | flatMapErr}.
504
+ * {@link ResultMethods.match | match} / {@link ResultMethods.recoverErrCases | recoverErrCases} /
505
+ * {@link ResultMethods.flatMapErrCases | flatMapErrCases}.
506
506
  *
507
507
  * Type-gated as the **complement** of {@link ResultMethods.get | get}: it
508
508
  * compiles only when the error channel is **non-empty** (`E` is not `never`) —
@@ -537,10 +537,10 @@ type ResultMethods<out T, out E> = {
537
537
  *
538
538
  * @category Types
539
539
  */
540
- type OkView<T, E = never> = ResultMethods<T, E> & {
540
+ interface OkView<out T, out E = never> extends ResultMethods<T, E> {
541
541
  readonly tag: "Ok";
542
542
  readonly value: T;
543
- };
543
+ }
544
544
  /**
545
545
  * The `Err` variant of a {@link Result}: a modeled failure carrying an `error`.
546
546
  * This is what a successful `isErr` guard narrows to, exposing `.error`. It also
@@ -561,10 +561,10 @@ type OkView<T, E = never> = ResultMethods<T, E> & {
561
561
  *
562
562
  * @category Types
563
563
  */
564
- type ErrView<E, T = never> = ResultMethods<T, E> & {
564
+ interface ErrView<out E, out T = never> extends ResultMethods<T, E> {
565
565
  readonly tag: "Err";
566
566
  readonly error: E;
567
- };
567
+ }
568
568
  /**
569
569
  * The `Defect` variant of a {@link Result}: an unmodeled failure carrying a
570
570
  * `cause`. This is what a successful `isDefect` guard narrows to, exposing
@@ -577,10 +577,10 @@ type ErrView<E, T = never> = ResultMethods<T, E> & {
577
577
  *
578
578
  * @category Types
579
579
  */
580
- type DefectView<T = never, E = never> = ResultMethods<T, E> & {
580
+ interface DefectView<out T = never, out E = never> extends ResultMethods<T, E> {
581
581
  readonly tag: "Defect";
582
582
  readonly cause: unknown;
583
- };
583
+ }
584
584
  /**
585
585
  * A failure variant of a {@link Result}: an {@link ErrView} **or** a
586
586
  * {@link DefectView}. This is what a `tapFailure` callback receives — the
@@ -666,7 +666,7 @@ type Awaitable<out T> = {
666
666
  };
667
667
  /**
668
668
  * The async method surface every {@link AsyncResult} carries — the combinators
669
- * (`map`, `flatMap`, `mapErr`, `match`, `get`, …) with their asynchronous
669
+ * (`map`, `flatMap`, `mapErrCases`, `match`, `get`, …) with their asynchronous
670
670
  * signatures, documented one per entry below. The async mirror of
671
671
  * {@link ResultMethods}: each entry links its synchronous counterpart and states
672
672
  * only the async delta.
@@ -756,24 +756,24 @@ type AsyncResultMethods<out T, out E> = {
756
756
  /** Boolean form of the asynchronous {@link ResultMethods.ensure | ensure} — validates without refining, keeping `T`. */
757
757
  ensure<E2>(predicate: (value: T) => boolean, onFail: (value: T) => E2 & NotThenable<E2>): AsyncResult$1<T, E | E2>;
758
758
  /**
759
- * Asynchronous {@link ResultMethods.mapErr | mapErr} — the same exhaustive
759
+ * Asynchronous {@link ResultMethods.mapErrCases | mapErrCases} — the same exhaustive
760
760
  * {@link ErrMatcher} form; the combinator calls `.exhaustive()`.
761
761
  */
762
- mapErr<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): AsyncResult$1<T, MatchErrOut<M>>;
762
+ mapErrCases<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): AsyncResult$1<T, MatchErrOut<M>>;
763
763
  /**
764
- * Asynchronous {@link ResultMethods.flatMapErr | flatMapErr} — the same
764
+ * Asynchronous {@link ResultMethods.flatMapErrCases | flatMapErrCases} — the same
765
765
  * exhaustive {@link ErrMatcher} form. Unlike the sync form, a branch may
766
766
  * return a `Result` **or** an `AsyncResult`.
767
767
  */
768
- flatMapErr<M extends ExhaustiveMatch<Result$1<unknown, unknown> | AsyncResult$1<unknown, unknown> | Defect>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): AsyncResult$1<T | OkOf<MatchOut<M>> | AsyncOkOf<MatchOut<M>>, ErrOf<MatchOut<M>> | AsyncErrOf<MatchOut<M>>>;
768
+ flatMapErrCases<M extends ExhaustiveMatch<Result$1<unknown, unknown> | AsyncResult$1<unknown, unknown> | Defect>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): AsyncResult$1<T | OkOf<MatchOut<M>> | AsyncOkOf<MatchOut<M>>, ErrOf<MatchOut<M>> | AsyncErrOf<MatchOut<M>>>;
769
769
  /**
770
- * Asynchronous {@link ResultMethods.recoverErr | recoverErr} — the same
770
+ * Asynchronous {@link ResultMethods.recoverErrCases | recoverErrCases} — the same
771
771
  * exhaustive {@link ErrMatcher} form. Branches are synchronous; a throw
772
772
  * becomes a `Defect`.
773
773
  */
774
- recoverErr<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): AsyncResult$1<T | MatchErrOut<M>, never>;
774
+ recoverErrCases<M extends ExhaustiveMatch<unknown>>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => M): AsyncResult$1<T | MatchErrOut<M>, never>;
775
775
  /**
776
- * Asynchronous {@link ResultMethods.tapErr | tapErr}. `f` is synchronous; if it
776
+ * Asynchronous {@link ResultMethods.tapErrCases | tapErrCases}. `f` is synchronous; if it
777
777
  * throws, the result is a `Defect` whose cause is an `AggregateError` of
778
778
  * `[thrown, original failure]` — observing a failure never destroys it. An
779
779
  * async branch is rejected at compile time ({@link NotThenable} on the
@@ -781,18 +781,18 @@ type AsyncResultMethods<out T, out E> = {
781
781
  * would float unobserved. The
782
782
  * {@link AsyncResultMethods.tap | tap} fire-and-forget caveat applies here
783
783
  * too — a failable effect belongs in
784
- * {@link AsyncResultMethods.flatTapErr | flatTapErr}.
784
+ * {@link AsyncResultMethods.flatTapErrCases | flatTapErrCases}.
785
785
  */
786
- tapErr<R>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<R & NotThenable<R>>): AsyncResult$1<T, E>;
786
+ tapErrCases<R>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<R & NotThenable<R>>): AsyncResult$1<T, E>;
787
787
  /**
788
- * Asynchronous {@link ResultMethods.flatTapErr | flatTapErr} — the
788
+ * Asynchronous {@link ResultMethods.flatTapErrCases | flatTapErrCases} — the
789
789
  * error-channel mirror of `flatTap`. `f` may return a `Result` **or** an
790
790
  * `AsyncResult`; its `Ok` value is discarded, an `Err`/`Defect` from `f`
791
791
  * threads through, and if `f` throws, the result is a `Defect` whose cause is
792
792
  * an `AggregateError` of `[thrown, original failure]` — observing a failure
793
793
  * never destroys it.
794
794
  */
795
- flatTapErr<E2>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<Result$1<unknown, E2> | AsyncResult$1<unknown, E2>>): AsyncResult$1<T, E | E2>;
795
+ flatTapErrCases<E2>(f: (matcher: ErrMatcher<E>, defect: (cause: unknown) => Defect) => ExhaustiveMatch<Result$1<unknown, E2> | AsyncResult$1<unknown, E2>>): AsyncResult$1<T, E | E2>;
796
796
  /**
797
797
  * Asynchronous {@link ResultMethods.recoverDefect | recoverDefect}. `f` may
798
798
  * return a `Result` or an `AsyncResult`.
@@ -864,7 +864,7 @@ type AsyncResultMethods<out T, out E> = {
864
864
  * {@link fromPromise} forces. To do further async work, re-enter through a
865
865
  * qualified boundary and compose it: `ar.flatMap((v) => fromPromise(work(v),
866
866
  * qualify))`. The eliminators (`get`, …) return promises; the binds
867
- * (`flatMap`, `flatTap`, `flatMapErr`, `recoverDefect`) additionally accept an
867
+ * (`flatMap`, `flatTap`, `flatMapErrCases`, `recoverDefect`) additionally accept an
868
868
  * `AsyncResult`. Its combinators are documented one per entry on
869
869
  * {@link AsyncResultMethods}.
870
870
  *
@@ -873,7 +873,7 @@ type AsyncResultMethods<out T, out E> = {
873
873
  * @typeParam T - the success value type.
874
874
  * @typeParam E - the modeled error type.
875
875
  */
876
- type AsyncResult$1<T, E> = Awaitable<Result$1<T, E>> & AsyncResultMethods<T, E>;
876
+ interface AsyncResult$1<out T, out E> extends Awaitable<Result$1<T, E>>, AsyncResultMethods<T, E> {}
877
877
  /**
878
878
  * Extract the success type `T` from a `Result` type — derive one type from
879
879
  * another instead of restating it (e.g. the payload a function returns).
@@ -1375,6 +1375,11 @@ declare function fromSafeThrowable<A extends unknown[], T>(fn: (...args: A) => T
1375
1375
  * @param promise - the promise, or a thunk returning one.
1376
1376
  * @param qualify - triages a rejection `cause` into a modeled `E`, or marks it
1377
1377
  * unmodeled by returning `defect(cause)` (the helper passed as its second arg).
1378
+ * @param _guard - compile-time only; never pass it. The phantom rest-tuple that
1379
+ * enforces "qualify is synchronous": an `async` qualify makes this demand an
1380
+ * impossible extra argument (whose type spells out the error), while a
1381
+ * synchronous one leaves it empty. Encoded here — not on `qualify`'s return
1382
+ * type — so `T`'s inference from `promise` is undisturbed.
1378
1383
  *
1379
1384
  * @category Interop
1380
1385
  *
@@ -1391,7 +1396,7 @@ declare function fromSafeThrowable<A extends unknown[], T>(fn: (...args: A) => T
1391
1396
  * // when fetchUser rejects with NotFoundError: user is Err("not_found")
1392
1397
  * ```
1393
1398
  */
1394
- declare function fromPromise<T, R>(promise: Promise<T> | (() => Promise<T>), qualify: (cause: unknown, defect: (cause: unknown) => Defect) => R & NotThenable<R>): AsyncResult$1<T, Exclude<R, Defect>>;
1399
+ declare function fromPromise<T, R>(promise: Promise<T> | (() => Promise<T>), qualify: (cause: unknown, defect: (cause: unknown) => Defect) => R, ..._guard: [Extract<R, PromiseLike<unknown>>] extends [never] ? [] : ["unthrown: qualify must be synchronous — its Promise would land in E un-triaged"]): AsyncResult$1<T, Exclude<R, Defect>>;
1395
1400
  /**
1396
1401
  * Wrap a `Promise` asserted **not** to fail in any modeled way: any rejection
1397
1402
  * becomes a `Defect`.
@@ -1578,7 +1583,7 @@ declare const Result: {
1578
1583
  * alias. Its fluent combinators (`map`, `flatMap`, `match`, `get`, …) are
1579
1584
  * documented one per entry on {@link ResultMethods} — the shared method surface
1580
1585
  * every variant carries. For "which one do I reach for?", see the
1581
- * [Choosing a combinator](/guide/choosing-a-combinator) guide.
1586
+ * [Choosing a combinator](/reference/combinators) guide.
1582
1587
  *
1583
1588
  * @category Facade
1584
1589
  */
@@ -1629,7 +1634,7 @@ declare const AsyncResult: {
1629
1634
  * `AsyncResult` carries the async fluent surface; its combinators (`map`,
1630
1635
  * `flatMap`, `match`, `get`, …) are documented one per entry — with their
1631
1636
  * async signatures — on {@link AsyncResultMethods}. For "which one do I reach
1632
- * for?", see the [Choosing a combinator](/guide/choosing-a-combinator) guide.
1637
+ * for?", see the [Choosing a combinator](/reference/combinators) guide.
1633
1638
  *
1634
1639
  * @category Facade
1635
1640
  */
@@ -1699,7 +1704,7 @@ type TaggedErrorConstructor<Tag extends string> = {
1699
1704
  * *narrowing* structured field.
1700
1705
  *
1701
1706
  * `_tag` is the discriminant matched by {@link tag} in the error combinators
1702
- * (`result.mapErr((matcher) => matcher.with(tag("NotFound"), …))`) and in
1707
+ * (`result.mapErrCases((matcher) => matcher.with(tag("NotFound"), …))`) and in
1703
1708
  * `match`; `Error.name` is the human-facing label in stack traces and logs. By
1704
1709
  * default they coincide, but
1705
1710
  * they can be **decoupled** with `options.name` — so a tag can be namespaced for
@@ -1751,7 +1756,7 @@ declare function TaggedError<Tag extends string>(tag: Tag, options?: {
1751
1756
  *
1752
1757
  * @example
1753
1758
  * ```ts
1754
- * result.mapErr((matcher) =>
1759
+ * result.mapErrCases((matcher) =>
1755
1760
  * matcher
1756
1761
  * .with(tag("NotFound"), () => new NotFoundException())
1757
1762
  * .with(tag("Conflict"), (e) => new ConflictException(e.key)),
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/defect.ts","../src/types.ts","../src/constructors.ts","../src/core.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/defect.ts","../src/types.ts","../src/constructors.ts","../src/core.ts","../src/do.ts","../src/interop.ts","../src/facade.ts","../src/tagged.ts"],"mappings":"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"}