@pvorona/failable 0.8.0 → 0.9.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
@@ -12,6 +12,7 @@ A `Failable<T, E>` is either `Success<T>` or `Failure<E>`.
12
12
  - `failable(...)` captures thrown or rejected boundaries
13
13
  - `run(...)` composes multiple `Failable` steps
14
14
  - `all(...)`, `allSettled(...)`, and `race(...)` combine multiple sources
15
+ - `result.map(...)` / `result.flatMap(...)` transform and chain success values
15
16
 
16
17
  ## Install
17
18
 
@@ -68,10 +69,12 @@ if (result.isFailure) {
68
69
  | Read the value or provide a fallback | `getOr(...)` / `getOrElse(...)` |
69
70
  | Recover to `Success<T>` | `or(...)` / `orElse(...)` |
70
71
  | Map both branches to one output | `match(onSuccess, onFailure)` |
71
- | Throw the stored failure unchanged | `getOrThrow()` / `throwIfError(result)` |
72
+ | Throw an `Error` from a failure | `getOrThrow(normalizeOption?)` / `throwIfFailure(result, normalizeOption?)` |
72
73
  | Capture a throwing or rejecting boundary | `failable(...)` |
73
74
  | Compose multiple `Failable` steps | `run(...)` |
74
75
  | Combine multiple `Failable` sources | `all(...)`, `allSettled(...)`, `race(...)` |
76
+ | Transform a successful value only | `map(...)` |
77
+ | Chain another `Failable` step | `flatMap(...)` |
75
78
  | Cross a structured-clone boundary | `toFailableLike(...)` + `failable(...)` |
76
79
  | Validate `unknown` input | `isFailable(...)`, `isSuccess(...)`, `isFailure(...)`, `isFailableLike(...)` |
77
80
 
@@ -81,14 +84,36 @@ Start with ordinary branching on `result.isFailure` or `result.isSuccess`. When
81
84
  you want something shorter, use the helper that matches the job:
82
85
 
83
86
  - `result.getOr(fallback)`: return the success value or an eager fallback
84
- - `result.getOrElse(() => fallback)`: same, but lazily
87
+ - `result.getOrElse(() => fallback)`: lazy fallback
88
+ - `result.getOrElse((error) => fallback)`: lazy fallback derived from the failure
85
89
  - `result.or(fallback)`: recover to `Success<T>` with an eager fallback
86
- - `result.orElse(() => fallback)`: recover to `Success<T>` lazily
90
+ - `result.orElse(() => fallback)`: lazy recovery to `Success<T>`
91
+ - `result.orElse((error) => fallback)`: lazy recovery to `Success<T>` derived from the failure
87
92
  - `result.match(onSuccess, onFailure)`: map both branches to one output
88
- - `result.getOrThrow()`: return the success value or throw `result.error`
89
- - `throwIfError(result)`: throw `result.error` and narrow the same variable
93
+ - `result.getOrThrow(normalizeOption?)`: return the success value or throw an `Error` derived from the failure
94
+ - `throwIfFailure(result, normalizeOption?)`: throw an `Error` derived from the failure and narrow the same variable
90
95
 
91
- Use the lazy forms when the fallback is expensive or has side effects.
96
+ Both throw helpers preserve existing `Error` instances unchanged by default.
97
+ Other failure values are normalized with the built-in rules: arrays become
98
+ `AggregateError`; plain objects become `Error` with `cause`; primitives and
99
+ `undefined` become `Error(String(value), { cause: value })`.
100
+
101
+ Pass `NormalizedErrors` or a custom `normalizeError(...)` when you need a
102
+ specific `Error` shape at the throw boundary. Normalize earlier with
103
+ `failable(...)` only when you need that normalized `Error` inside the
104
+ `Failure` channel before anything throws. If built-in message derivation
105
+ itself fails, normalization still returns an `Error` with message
106
+ `Unstringifiable error value` and `cause` set to the original raw value.
107
+
108
+ Use the lazy forms when the fallback is expensive or has side effects. Failure
109
+ callbacks receive the stored error, so `() => ...` can ignore it and
110
+ `(error) => ...` can use it:
111
+
112
+ ```ts
113
+ const port = result.getOrElse((error) => {
114
+ return error.code === 'missing' ? 3000 : 8080;
115
+ });
116
+ ```
92
117
 
93
118
  Using `readPort` from above:
94
119
 
@@ -102,18 +127,83 @@ const label = result.match(
102
127
  );
103
128
  ```
104
129
 
105
- `throwIfError` narrows the result to `Success` in place, so
130
+ `throwIfFailure` narrows the result to `Success` in place, so
106
131
  subsequent code can access `.data` without branching:
107
132
 
108
133
  ```ts
109
- import { throwIfError } from '@pvorona/failable';
134
+ import { throwIfFailure } from '@pvorona/failable';
110
135
 
111
136
  const result = readPort(process.env.PORT);
112
137
 
113
- throwIfError(result);
138
+ throwIfFailure(result);
114
139
  console.log(result.data * 2);
115
140
  ```
116
141
 
142
+ When you want a specific `Error` shape only at the throw site, pass the
143
+ normalize option there:
144
+
145
+ ```ts
146
+ import { NormalizedErrors } from '@pvorona/failable';
147
+
148
+ const port = readPort(process.env.PORT).getOrThrow(NormalizedErrors);
149
+ ```
150
+
151
+ ## Transform And Chain With `map(...)` And `flatMap(...)`
152
+
153
+ Use `result.map(fn)` when you only need to change the success value. The callback
154
+ runs on `Success` only; on `Failure`, the same failure is returned unchanged.
155
+
156
+ Use `result.flatMap(fn)` when the next step can fail again. The callback must
157
+ return another `Failable`. On `Success`, that result becomes the outcome; on
158
+ `Failure`, `flatMap` short-circuits and keeps the original error.
159
+
160
+ Building on `readPort` from [Basic Usage](#basic-usage):
161
+
162
+ ```ts
163
+ import { failure, success, type Failable } from '@pvorona/failable';
164
+
165
+ type ReadPortError =
166
+ | { code: 'missing' }
167
+ | { code: 'invalid'; raw: string };
168
+
169
+ type ApplicationPortError =
170
+ | ReadPortError
171
+ | { code: 'not_application_port'; port: number };
172
+
173
+ function readPort(raw: string | undefined): Failable<number, ReadPortError> {
174
+ if (raw === undefined) return failure({ code: 'missing' });
175
+
176
+ const port = Number(raw);
177
+ if (!Number.isInteger(port) || port <= 0) {
178
+ return failure({ code: 'invalid', raw });
179
+ }
180
+
181
+ return success(port);
182
+ }
183
+
184
+ function ensureApplicationPort(
185
+ port: number,
186
+ ): Failable<number, ApplicationPortError> {
187
+ if (port < 3000 || port > 3999) {
188
+ return failure({ code: 'not_application_port', port });
189
+ }
190
+
191
+ return success(port);
192
+ }
193
+
194
+ const appPortResult = readPort(process.env.PORT).flatMap((port) =>
195
+ ensureApplicationPort(port),
196
+ );
197
+
198
+ const labelResult = appPortResult.map(
199
+ (port) => `Application listening on ${port}`,
200
+ );
201
+ ```
202
+
203
+ When you pass object literals directly into `success(...)` or `failure(...)`,
204
+ TypeScript often keeps their types as narrow as possible (literal fields where
205
+ that makes sense), which helps `switch` on `error.code` and similar patterns.
206
+
117
207
  ## Capture Thrown Or Rejected Failures With `failable(...)`
118
208
 
119
209
  Use `failable(...)` at a boundary you do not control. It turns a thrown or
@@ -136,7 +226,8 @@ if (configResult.isFailure) {
136
226
  ```
137
227
 
138
228
  `NormalizedErrors` is the built-in shortcut when you want `.error` to be an
139
- `Error`.
229
+ `Error`, including when the thrown or rejected non-`Error` value cannot be
230
+ stringified safely.
140
231
 
141
232
  Pass a promise directly when you want rejection capture:
142
233
 
@@ -157,20 +248,34 @@ const config = fileResult.getOr('{}');
157
248
  - preserve an existing `Failable`
158
249
  - rehydrate a `FailableLike`
159
250
  - capture sync throws from a callback
160
- - capture promise rejections from a promise
251
+ - capture promise rejections from a promise passed directly
161
252
  - normalize failures with `NormalizedErrors` or a custom `normalizeError(...)`
162
253
 
163
254
  By default, the thrown or rejected value becomes `.error` unchanged.
164
255
 
165
- Pass the promise itself when you want rejection capture.
166
- `failable(async () => value)` is misuse and returns a `Failure<Error>` telling
167
- you to pass the promise directly instead.
256
+ Pass the promise itself when you want rejection capture. In TypeScript,
257
+ obviously promise-returning callbacks like `async () => ...` and
258
+ `() => Promise.resolve(...)` are rejected. JS callers, plus `any`/`unknown`-typed
259
+ callbacks, receive a `Failure<Error>` telling them to pass the promise directly
260
+ instead.
168
261
 
169
262
  ## Compose Existing `Failable` Steps With `run(...)`
170
263
 
171
264
  Use `run(...)` when each step already returns `Failable` and you want to write
172
- the success path once. If any yielded step fails, `run(...)` returns that same
173
- failure unchanged.
265
+ the success path once. If any yielded step fails, that failure becomes the
266
+ default unwind result. Cleanup still runs first, and an explicit `return`
267
+ reached in `finally` overrides it. Yielded cleanup `Failure` values keep the
268
+ current unwind result unless a later cleanup `return` overrides it.
269
+
270
+ Inside a `run(...)` builder, there are two valid delegation forms:
271
+
272
+ - `yield* result` when `result` is already a hydrated `Failable`
273
+ - `yield* await promisedResult` in async builders when you have a
274
+ `Promise<Failable<...>>`
275
+
276
+ Hydrated `Failable` values expose sync and async iterators so `run(...)` can
277
+ intercept `yield* result` in both sync and async builders. Outside `run(...)`,
278
+ treat them as result objects rather than as a general-purpose collection API.
174
279
 
175
280
  Without `run(...)`, composing steps means checking each result before
176
281
  continuing:
@@ -267,17 +372,17 @@ type Profile = { id: string; pictureUrl: string };
267
372
  async function readJson<T>(url: string) {
268
373
  const responseResult = await failable(fetch(url));
269
374
  if (responseResult.isFailure) {
270
- return failure({ code: 'network_error', cause: responseResult.error } as const);
375
+ return failure({ code: 'network_error', cause: responseResult.error });
271
376
  }
272
377
 
273
378
  const response = responseResult.data;
274
379
  if (!response.ok) {
275
- return failure({ code: 'http_error', status: response.status } as const);
380
+ return failure({ code: 'http_error', status: response.status });
276
381
  }
277
382
 
278
383
  const jsonResult = await failable(response.json());
279
384
  if (jsonResult.isFailure) {
280
- return failure({ code: 'json_parse_error', cause: jsonResult.error } as const);
385
+ return failure({ code: 'json_parse_error', cause: jsonResult.error });
281
386
  }
282
387
 
283
388
  return success(jsonResult.data as T);
@@ -305,7 +410,10 @@ async function loadUserPage(
305
410
  }
306
411
  ```
307
412
 
308
- - if a yielded step fails, `run(...)` returns that original failure unchanged
413
+ - if a yielded step fails, that failure becomes the default unwind result
414
+ - cleanup still runs, and the last explicit `return` reached in `finally` wins
415
+ - yielded cleanup `Failure` values keep the current unwind result unless a
416
+ later cleanup `return` overrides it
309
417
  - sync hydrated `Failable` helpers can use direct `yield* helper()` in both sync
310
418
  and async builders
311
419
  - promised sources in async builders use `yield* await promisedHelper()`
@@ -313,11 +421,13 @@ async function loadUserPage(
313
421
  parallel and get a success tuple or the first failure
314
422
  - use `yield* all(...)` in sync builders when every source is already a hydrated
315
423
  `Failable`
316
- - use `yield* await allSettled(...)` to wait for all sources to resolve and get
317
- a `Success` tuple of each `Failable` result
318
- - use `yield* await race(...)` to take the first promised `Failable` to settle
319
- - rejected promised sources follow normal async `await` / `try` / `finally`
320
- semantics rather than a helper-managed rejection path
424
+ - use `await allSettled(...)` to inspect the settled tuple of sources that
425
+ resolve to `Failable`; source promise rejections still reject unchanged
426
+ - use `yield* race(...)` when every raced source is already a hydrated
427
+ `Failable`
428
+ - use `yield* await race(...)` when any raced source is promised
429
+ - direct promised sources still follow normal async `await` / `try` /
430
+ `finally` semantics rather than a helper-managed rejection path
321
431
  - `run(...)` does not capture thrown values or rejected promises into `Failure`;
322
432
  wrap throwing boundaries with `failable(...)` before they enter `run(...)`
323
433
 
@@ -331,35 +441,50 @@ builders.
331
441
  import {
332
442
  all,
333
443
  allSettled,
444
+ failure,
334
445
  race,
335
446
  success,
336
- type Failable,
337
447
  } from '@pvorona/failable';
338
448
 
339
- const syncTuple = all(success(1 as const), success('two' as const));
449
+ const syncTuple = all(success(1), success('two'));
340
450
  const mixedTuple = await all(
341
- success(1 as const),
342
- Promise.resolve(success('two' as const))
451
+ success(1),
452
+ Promise.resolve(success('two'))
343
453
  );
344
454
 
345
455
  const settled = await allSettled(
346
- Promise.resolve(success(1 as const)),
347
- Promise.resolve<Failable<number, 'missing'>>(success(2))
456
+ Promise.resolve(success(1)),
457
+ Promise.resolve(failure('missing-profile'))
458
+ );
459
+
460
+ const syncWinner = race(
461
+ success('cached'),
462
+ success('stale')
348
463
  );
349
464
 
350
- const winner = await race(
351
- Promise.resolve(success('fast' as const)),
352
- Promise.resolve(success('slow' as const))
465
+ const mixedWinner = await race(
466
+ success('cached'),
467
+ Promise.resolve(success('network'))
353
468
  );
354
469
  ```
355
470
 
356
471
  Key semantics:
357
472
 
358
473
  - `all(...)` returns the first failure in input order
359
- - `allSettled(...)` preserves `Failure` values in the returned success tuple
360
- - async `allSettled(...)` still rejects if a promise rejects; it is not
361
- `Promise.allSettled(...)`
362
- - `race(...)` accepts promised `Failable` sources only
474
+ - `allSettled(...)` returns a plain settled tuple rather than a `Success` wrapper
475
+ - `allSettled(...)` preserves `Failure` values in the returned settled tuple
476
+ - `allSettled(...)` only settles sources that resolve to `Failable` values
477
+ - promised source rejections in `allSettled(...)` still reject the combinator
478
+ - wrap rejecting boundaries with `failable(...)` first if you want a rejection
479
+ converted into `Failure`
480
+ - bare `Promise.reject(...)` inputs are rejected at type level as a best-effort
481
+ guardrail; TypeScript still cannot model arbitrary promise rejection channels
482
+ precisely
483
+ - `race(...)` accepts sync or promised `Failable` sources
484
+ - `race(...)` returns sync `Failable` when every source is sync, otherwise
485
+ `Promise<Failable>`
486
+ - when `race(...)` mixes already-settled sync and promised sources, winner
487
+ order follows normal `Promise.race(...)` input ordering
363
488
  - `race()` with zero sources rejects with a clear error instead of hanging
364
489
 
365
490
  ## Transport And Runtime Validation
@@ -376,7 +501,7 @@ import {
376
501
  toFailableLike,
377
502
  } from '@pvorona/failable';
378
503
 
379
- const result = failure({ code: 'missing' as const });
504
+ const result = failure({ code: 'missing' });
380
505
 
381
506
  const wire = toFailableLike(result);
382
507
  const hydrated = failable(wire);
@@ -406,14 +531,17 @@ if (isFailable(candidate) && candidate.isFailure) {
406
531
  - `type Success<T>` / `type Failure<E>`: hydrated result variants
407
532
  - `type FailableLike<T, E>`: structured-clone-friendly wire shape
408
533
  - `success()` / `success(data)` / `failure()` / `failure(error)`: create hydrated results
409
- - `throwIfError(result)` / `result.getOrThrow()`: throw the stored failure
410
- unchanged
534
+ - `throwIfFailure(result, normalizeOption?)` / `result.getOrThrow(normalizeOption?)`:
535
+ throw an `Error`, preserving existing `Error` instances unchanged by default
411
536
  - `failable(...)`: preserve, rehydrate, capture, or normalize failures at
412
537
  a boundary
413
538
  - `run(...)`: compose `Failable` steps without nested branching
539
+ - `result.map(...)`: transform success data; failures pass through unchanged
540
+ - `result.flatMap(...)`: chain another `Failable`; failures short-circuit
414
541
  - `toFailableLike(...)`: convert a hydrated result into a wire shape
415
542
  - `isFailableLike(...)`: validate a wire shape
416
543
  - `isFailable(...)`, `isSuccess(...)`, `isFailure(...)`: validate hydrated
417
544
  results
418
- - `NormalizedErrors`: built-in `Error` normalization for `failable(...)`
545
+ - `NormalizedErrors`: built-in `Error` normalization for `failable(...)` and
546
+ throw-boundary helpers
419
547
  - `FailableStatus`: runtime success/failure status values
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { all, allSettled, FailableStatus, NormalizedErrors, failable, failure, isFailable, isFailableLike, isFailure, isSuccess, race, run, success, throwIfError, toFailableLike, } from './lib/failable.js';
1
+ export { all, allSettled, FailableStatus, NormalizedErrors, failable, failure, isFailable, isFailableLike, isFailure, isSuccess, race, run, success, throwIfFailure, toFailableLike, } from './lib/failable.js';
2
2
  export type { FailableNormalizeErrorOptions, Failable, FailableLike, FailableLikeFailure, FailableLikeSuccess, Failure, Success, } from './lib/failable.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,YAAY,EACZ,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,6BAA6B,EAC7B,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,GACR,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,6BAA6B,EAC7B,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,GACR,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,41 +1,56 @@
1
- import { isFunction as b, isObject as s, hasOwnPropertyValue as A, hasOwnKey as O } from "@pvorona/assert";
2
- import { notImplemented as a } from "@pvorona/not-implemented";
3
- const j = /* @__PURE__ */ Symbol("Failable"), P = /* @__PURE__ */ Symbol("Success"), R = /* @__PURE__ */ Symbol("Failure"), n = Object.freeze({
1
+ import { isFunction as b, isObject as c, hasOwnPropertyValue as j, hasOwnKey as I } from "@pvorona/assert";
2
+ import { notImplemented as o } from "@pvorona/not-implemented";
3
+ const P = /* @__PURE__ */ Symbol("Failable"), L = /* @__PURE__ */ Symbol("Success"), _ = /* @__PURE__ */ Symbol("Failure"), n = Object.freeze({
4
4
  Success: "success",
5
5
  Failure: "failure"
6
- }), U = Object.freeze({
6
+ }), x = Object.freeze({
7
7
  mode: "normalized-errors"
8
8
  });
9
- function C(r) {
10
- return s(r) && Object.keys(r).length === 2 && A(r, "status", n.Success) && O(r, "data");
9
+ function D(r) {
10
+ return c(r) && Object.keys(r).length === 2 && j(r, "status", n.Success) && I(r, "data");
11
11
  }
12
- function M(r) {
13
- return s(r) && Object.keys(r).length === 2 && A(r, "status", n.Failure) && O(r, "error");
12
+ function V(r) {
13
+ return c(r) && Object.keys(r).length === 2 && j(r, "status", n.Failure) && I(r, "error");
14
14
  }
15
- function h(r) {
16
- return M(r) || C(r);
15
+ function y(r) {
16
+ return V(r) || D(r);
17
17
  }
18
- const I = {
19
- [j]: !0,
18
+ const G = {
19
+ [P]: !0,
20
20
  isSuccess: !1,
21
21
  isFailure: !1,
22
22
  data: null,
23
23
  error: null,
24
- or: a,
25
- orElse: a,
26
- getOr: a,
27
- getOrElse: a,
28
- getOrThrow: a,
29
- match: a,
24
+ or: o,
25
+ orElse: o,
26
+ getOr: o,
27
+ getOrElse: o,
28
+ getOrThrow: o,
29
+ match: o,
30
+ map: o,
31
+ flatMap: o,
30
32
  [Symbol.iterator]: function() {
31
- return K(this);
33
+ return Q(this);
32
34
  },
33
35
  [Symbol.asyncIterator]: function() {
34
- return H(this);
36
+ return W(this);
35
37
  }
36
- }, z = (() => {
37
- const r = Object.create(I);
38
- return r[P] = !0, r.status = n.Success, r.isSuccess = !0, r.or = function() {
38
+ };
39
+ function O(r, e) {
40
+ return r(e);
41
+ }
42
+ function K(r, e) {
43
+ if (e === void 0)
44
+ return m(r);
45
+ const t = C(e);
46
+ return t === null ? m(r) : r instanceof Error && A(e) ? r : t(r);
47
+ }
48
+ function M(r, e) {
49
+ throw K(r, e);
50
+ }
51
+ const H = (() => {
52
+ const r = Object.create(G);
53
+ return r[L] = !0, r.status = n.Success, r.isSuccess = !0, r.or = function() {
39
54
  return this;
40
55
  }, r.orElse = function() {
41
56
  return this;
@@ -43,60 +58,66 @@ const I = {
43
58
  return this.data;
44
59
  }, r.getOrElse = function() {
45
60
  return this.data;
46
- }, r.getOrThrow = function() {
61
+ }, r.getOrThrow = function(t) {
47
62
  return this.data;
48
63
  }, r.match = function(t) {
49
64
  return t(this.data);
65
+ }, r.map = function(t) {
66
+ return s(t(this.data));
67
+ }, r.flatMap = function(t) {
68
+ return t(this.data);
50
69
  }, Object.freeze(r);
51
- })(), B = (() => {
52
- const r = Object.create(I);
53
- return r[R] = !0, r.status = n.Failure, r.isFailure = !0, r.or = function(t) {
54
- return u(t);
70
+ })(), q = (() => {
71
+ const r = Object.create(G);
72
+ return r[_] = !0, r.status = n.Failure, r.isFailure = !0, r.or = function(t) {
73
+ return s(t);
55
74
  }, r.orElse = function(t) {
56
- return u(t());
75
+ return s(O(t, this.error));
57
76
  }, r.getOr = function(t) {
58
77
  return t;
59
78
  }, r.getOrElse = function(t) {
60
- return t();
61
- }, r.getOrThrow = function() {
62
- throw this.error === void 0 ? new Error(
63
- "getOrThrow() called on Failure<void> with no error value"
64
- ) : this.error;
65
- }, r.match = function(t, o) {
66
- return o(this.error);
79
+ return O(t, this.error);
80
+ }, r.getOrThrow = function(t) {
81
+ M(this.error, t);
82
+ }, r.match = function(t, u) {
83
+ return u(this.error);
84
+ }, r.map = function() {
85
+ return this;
86
+ }, r.flatMap = function() {
87
+ return this;
67
88
  }, Object.freeze(r);
68
89
  })();
69
- function m(r, e) {
70
- return s(r) ? r[e] === !0 : !1;
90
+ function g(r, e) {
91
+ return c(r) ? r[e] === !0 : !1;
71
92
  }
72
- function c(r) {
73
- return m(r, j);
93
+ function a(r) {
94
+ return g(r, P);
74
95
  }
75
- function ar(r) {
76
- return m(r, P);
96
+ function hr(r) {
97
+ return g(r, L);
77
98
  }
78
- function lr(r) {
79
- return m(r, R);
99
+ function dr(r) {
100
+ return g(r, _);
80
101
  }
81
- function u(r) {
82
- const e = Object.create(z);
102
+ function s(r) {
103
+ const e = Object.create(H);
83
104
  return e.data = r, Object.freeze(e);
84
105
  }
85
106
  function l(r) {
86
- const e = Object.create(B);
107
+ const e = Object.create(q);
87
108
  return e.error = r, Object.freeze(e);
88
109
  }
89
- function fr(r) {
90
- if (r.status === n.Failure) throw r.error;
110
+ function Sr(r, e) {
111
+ r.status === n.Failure && M(r.error, e);
91
112
  }
92
- function br(r) {
113
+ function mr(r) {
93
114
  return r.status === n.Failure ? { status: n.Failure, error: r.error } : { status: n.Success, data: r.data };
94
115
  }
95
- const x = "`failable(() => ...)` only accepts synchronous callbacks. This callback returned a Promise. Pass the promise directly instead: `await failable(promise)`.", p = /* @__PURE__ */ Symbol(
116
+ const J = "`failable(() => ...)` only accepts synchronous callbacks. This callback returned a Promise. Pass the promise directly instead: `await failable(promise)`.", T = /* @__PURE__ */ Symbol(
96
117
  "FailablePromiseCallbackGuard"
97
- ), D = /* @__PURE__ */ Symbol("RunGet");
118
+ ), Y = /* @__PURE__ */ Symbol("RunGet");
98
119
  class f {
99
- [D] = !0;
120
+ [Y] = !0;
100
121
  source;
101
122
  constructor(e) {
102
123
  this.source = e;
@@ -105,203 +126,196 @@ class f {
105
126
  return new f(e);
106
127
  }
107
128
  }
108
- const d = "`run()` generators must use `yield*` only with hydrated `Failable` values. Use `yield* helper()` for sync helpers and `yield* await promisedHelper()` for promised sources.", V = "`run()` generators must return a `Failable` or finish without returning a value.";
109
- function* K(r) {
129
+ const h = "`run()` generators must use `yield*` only with hydrated `Failable` values. Use `yield* helper()` for sync helpers and `yield* await promisedHelper()` for promised sources.", v = "`run()` generators must return a `Failable` or finish without returning a value.";
130
+ function* Q(r) {
110
131
  return yield f.create(r);
111
132
  }
112
- async function* H(r) {
133
+ async function* W(r) {
113
134
  return yield f.create(r);
114
135
  }
115
- function S(r) {
116
- return !s(r) && !b(r) ? !1 : b(r.then);
136
+ function k(r) {
137
+ return !c(r) && !b(r) ? !1 : b(r.then);
117
138
  }
118
- const q = Object.freeze({});
139
+ const X = Object.freeze({});
119
140
  function E(r) {
120
- return c(r) ? r : l(r);
141
+ return a(r) ? r : l(r);
121
142
  }
122
- function L(r) {
143
+ function F(r) {
123
144
  for (const e of r)
124
- if (S(e)) return !0;
145
+ if (k(e)) return !0;
125
146
  return !1;
126
147
  }
127
- async function _(r) {
148
+ async function N(r) {
128
149
  return (await Promise.all(
129
150
  r.map((t) => Promise.resolve(t))
130
151
  )).map((t) => E(t));
131
152
  }
132
- function y(r) {
153
+ function p(r) {
133
154
  for (const t of r)
134
155
  if (t.status === n.Failure)
135
156
  return t;
136
157
  const e = r.map(
137
158
  (t) => t.data
138
159
  );
139
- return u(e);
140
- }
141
- function g(r) {
142
- return u(r);
160
+ return s(e);
143
161
  }
144
- function dr(...r) {
145
- return L(r) ? _(r).then(
146
- (e) => y(e)
147
- ) : y(
162
+ function yr(...r) {
163
+ return F(r) ? N(r).then(
164
+ (e) => p(e)
165
+ ) : p(
148
166
  r.map((e) => E(e))
149
167
  );
150
168
  }
151
- function Er(...r) {
152
- return L(r) ? _(r).then(
153
- (e) => g(e)
154
- ) : g(
155
- r.map((e) => E(e))
156
- );
169
+ function gr(...r) {
170
+ return F(r) ? N(r).then(
171
+ (e) => e
172
+ ) : r.map((e) => E(e));
157
173
  }
158
- function hr(...r) {
159
- if (r.length === 0)
160
- return Promise.reject(
161
- new Error("`race()` requires at least one promised `Failable` source.")
162
- );
163
- for (const e of r)
164
- if (!S(e))
165
- return Promise.reject(
166
- new Error("`race()` only accepts promised `Failable` sources.")
167
- );
168
- return Promise.race(r.map((e) => Promise.resolve(e))).then(
174
+ function Fr(...r) {
175
+ return r.length === 0 ? Promise.reject(
176
+ new Error("`race()` requires at least one `Failable` source.")
177
+ ) : F(r) ? Promise.race(r.map((e) => Promise.resolve(e))).then(
169
178
  (e) => E(e)
170
- );
179
+ ) : E(r[0]);
171
180
  }
172
- function G(r) {
181
+ function U(r) {
173
182
  if (!(r instanceof f))
174
- throw new Error(d);
183
+ throw new Error(h);
175
184
  const e = r.source;
176
- if (!c(e))
177
- throw new Error(d);
185
+ if (!a(e))
186
+ throw new Error(h);
178
187
  return e;
179
188
  }
180
- async function k(r) {
189
+ async function z(r) {
181
190
  if (!(r instanceof f))
182
- throw new Error(d);
191
+ throw new Error(h);
183
192
  const e = await r.source;
184
- if (!c(e))
185
- throw new Error(d);
193
+ if (!a(e))
194
+ throw new Error(h);
186
195
  return e;
187
196
  }
188
- function J(r, e) {
197
+ function Z(r, e) {
189
198
  let t = r.return(e);
190
199
  for (; !t.done; ) {
191
- const o = G(t.value);
192
- if (o.status === n.Failure) {
200
+ const u = U(t.value);
201
+ if (u.status === n.Failure) {
193
202
  t = r.return(e);
194
203
  continue;
195
204
  }
196
- t = r.next(o.data);
205
+ t = r.next(u.data);
197
206
  }
207
+ return d(t.value);
198
208
  }
199
- async function Y(r, e) {
209
+ async function $(r, e) {
200
210
  let t = await r.return(e);
201
211
  for (; !t.done; ) {
202
- const o = await k(t.value);
203
- if (o.status === n.Failure) {
212
+ const u = await z(t.value);
213
+ if (u.status === n.Failure) {
204
214
  t = await r.return(e);
205
215
  continue;
206
216
  }
207
- t = await r.next(o.data);
217
+ t = await r.next(u.data);
208
218
  }
219
+ return d(t.value);
209
220
  }
210
- function T(r) {
211
- if (c(r))
221
+ function d(r) {
222
+ if (a(r))
212
223
  return r;
213
224
  if (r === void 0)
214
- return u();
215
- throw new Error(V);
225
+ return s();
226
+ throw new Error(v);
216
227
  }
217
- function Q(r) {
228
+ function rr(r) {
218
229
  return Symbol.asyncIterator in r;
219
230
  }
220
- function W(r) {
231
+ function er(r) {
221
232
  let e = r.next();
222
233
  for (; !e.done; ) {
223
- const t = G(e.value);
234
+ const t = U(e.value);
224
235
  if (t.status === n.Failure)
225
- return J(r, t), t;
236
+ return Z(r, t);
226
237
  e = r.next(t.data);
227
238
  }
228
- return T(e.value);
239
+ return d(e.value);
229
240
  }
230
- async function X(r) {
241
+ async function tr(r) {
231
242
  let e = await r.next();
232
243
  for (; !e.done; ) {
233
- const t = await k(e.value);
244
+ const t = await z(e.value);
234
245
  if (t.status === n.Failure)
235
- return await Y(r, t), t;
246
+ return $(r, t);
236
247
  e = await r.next(t.data);
237
248
  }
238
- return T(e.value);
249
+ return d(e.value);
239
250
  }
240
- function mr(r) {
241
- const e = r(q);
242
- return Q(e) ? X(e) : W(e);
251
+ function wr(r) {
252
+ const e = r(X);
253
+ return rr(e) ? tr(e) : er(e);
243
254
  }
244
- function Sr(r, e) {
245
- return c(r) ? i(r, e) : h(r) ? i(w(r), e) : b(r) ? rr(r, e) : er(r, e);
255
+ function Ar(r, e) {
256
+ return a(r) ? i(r, e) : y(r) ? i(w(r), e) : b(r) ? or(r, e) : sr(r, e);
246
257
  }
247
258
  function w(r) {
248
- return r.status === n.Success ? u(r.data) : l(r.error);
259
+ return r.status === n.Success ? s(r.data) : l(r.error);
249
260
  }
250
- function Z() {
261
+ function nr() {
251
262
  const r = new Error(
252
- x
263
+ J
253
264
  );
254
- return Object.defineProperty(r, p, {
265
+ return Object.defineProperty(r, T, {
255
266
  value: !0,
256
267
  enumerable: !1,
257
268
  configurable: !1,
258
269
  writable: !1
259
270
  }), r;
260
271
  }
261
- function $(r) {
262
- return r instanceof Error ? Object.getOwnPropertyDescriptor(r, p)?.value === !0 : !1;
272
+ function ur(r) {
273
+ return r instanceof Error ? Object.getOwnPropertyDescriptor(
274
+ r,
275
+ T
276
+ )?.value === !0 : !1;
263
277
  }
264
- function v(r) {
278
+ function ir(r) {
265
279
  Promise.resolve(r).catch(() => {
266
280
  });
267
281
  }
268
- function rr(r, e) {
282
+ function or(r, e) {
269
283
  try {
270
284
  const t = r();
271
- return S(t) ? (v(t), i(
272
- l(Z()),
285
+ return k(t) ? (ir(t), i(
286
+ l(nr()),
273
287
  e
274
- )) : c(t) ? i(t, e) : h(t) ? i(w(t), e) : u(t);
288
+ )) : a(t) ? i(t, e) : y(t) ? i(w(t), e) : s(t);
275
289
  } catch (t) {
276
290
  return i(l(t), e);
277
291
  }
278
292
  }
279
- function er(r, e) {
293
+ function sr(r, e) {
280
294
  return Promise.resolve(r).then(
281
- (t) => c(t) ? i(t, e) : h(t) ? i(w(t), e) : u(t),
295
+ (t) => a(t) ? i(t, e) : y(t) ? i(w(t), e) : s(t),
282
296
  (t) => i(l(t), e)
283
297
  );
284
298
  }
285
299
  function i(r, e) {
286
- if (r.status === n.Success || $(r.error)) return r;
287
- const t = tr(e);
288
- return t === null || r.error instanceof Error && e !== void 0 && N(e) ? r : l(t(r.error));
300
+ if (r.status === n.Success || ur(r.error)) return r;
301
+ const t = C(e);
302
+ return t === null || r.error instanceof Error && e !== void 0 && A(e) ? r : l(t(r.error));
289
303
  }
290
- function tr(r) {
291
- return r === void 0 ? null : N(r) ? ur : nr(r) ? r.normalizeError : null;
304
+ function C(r) {
305
+ return r === void 0 ? null : A(r) ? m : cr(r) ? r.normalizeError : null;
292
306
  }
293
- function N(r) {
294
- return !s(r) || Object.keys(r).length !== 1 ? !1 : Object.getOwnPropertyDescriptor(r, "mode")?.value === U.mode;
307
+ function A(r) {
308
+ return !c(r) || Object.keys(r).length !== 1 ? !1 : Object.getOwnPropertyDescriptor(r, "mode")?.value === x.mode;
295
309
  }
296
- function nr(r) {
297
- return s(r) ? b(r.normalizeError) : !1;
310
+ function cr(r) {
311
+ return c(r) ? b(r.normalizeError) : !1;
298
312
  }
299
- function or(r) {
300
- if (!s(r) || Array.isArray(r)) return !1;
313
+ function ar(r) {
314
+ if (!c(r) || Array.isArray(r)) return !1;
301
315
  const e = Object.getPrototypeOf(r);
302
316
  return e === Object.prototype || e === null;
303
317
  }
304
- function F(r) {
318
+ function R(r) {
305
319
  try {
306
320
  const e = JSON.stringify(r);
307
321
  if (typeof e == "string") return e;
@@ -310,33 +324,51 @@ function F(r) {
310
324
  }
311
325
  return null;
312
326
  }
313
- function ir(r) {
314
- if (Object.getPrototypeOf(r) === null) {
315
- const o = F(r);
316
- return o !== null ? o : Object.prototype.toString.call(r);
327
+ const S = "Unstringifiable error value";
328
+ function B(r) {
329
+ try {
330
+ return String(r);
331
+ } catch {
332
+ return null;
317
333
  }
318
- const e = String(r);
319
- if (e !== "[object Object]") return e;
320
- const t = F(r);
321
- return t === null ? e : t;
322
334
  }
323
- function ur(r) {
324
- return r instanceof Error ? r : Array.isArray(r) ? new AggregateError(r, "Multiple errors", { cause: r }) : or(r) ? new Error(ir(r), { cause: r }) : new Error(String(r), { cause: r });
335
+ function lr(r) {
336
+ try {
337
+ return Object.prototype.toString.call(r);
338
+ } catch {
339
+ return null;
340
+ }
341
+ }
342
+ function fr(r) {
343
+ if (Object.getPrototypeOf(r) === null) {
344
+ const u = R(r);
345
+ return u !== null ? u : lr(r) ?? S;
346
+ }
347
+ const e = B(r);
348
+ if (e !== null && e !== "[object Object]") return e;
349
+ const t = R(r);
350
+ return t !== null ? t : e ?? S;
351
+ }
352
+ function m(r) {
353
+ return r instanceof Error ? r : Array.isArray(r) ? new AggregateError(r, "Multiple errors", { cause: r }) : ar(r) ? new Error(fr(r), { cause: r }) : new Error(
354
+ B(r) ?? S,
355
+ { cause: r }
356
+ );
325
357
  }
326
358
  export {
327
359
  n as FailableStatus,
328
- U as NormalizedErrors,
329
- dr as all,
330
- Er as allSettled,
331
- Sr as failable,
360
+ x as NormalizedErrors,
361
+ yr as all,
362
+ gr as allSettled,
363
+ Ar as failable,
332
364
  l as failure,
333
- c as isFailable,
334
- h as isFailableLike,
335
- lr as isFailure,
336
- ar as isSuccess,
337
- hr as race,
338
- mr as run,
339
- u as success,
340
- fr as throwIfError,
341
- br as toFailableLike
365
+ a as isFailable,
366
+ y as isFailableLike,
367
+ dr as isFailure,
368
+ hr as isSuccess,
369
+ Fr as race,
370
+ wr as run,
371
+ s as success,
372
+ Sr as throwIfFailure,
373
+ mr as toFailableLike
342
374
  };
@@ -10,11 +10,27 @@ export type FailableNormalizeErrorOptions = {
10
10
  readonly normalizeError: (error: unknown) => Error;
11
11
  };
12
12
  type FailableNormalizeErrorInput = typeof NormalizedErrors | FailableNormalizeErrorOptions;
13
+ type LazyFallback<U, E> = (error: E) => U;
13
14
  type Match<T, E> = <U>(onSuccess: (data: T) => U, onFailure: (error: E) => U) => U;
14
- export type Failable<T, E> = (Success<T> & {
15
+ /**
16
+ * Hydrated `Failable` values are sync-iterable only so `run(...)` can intercept
17
+ * `yield* result` through its existing step protocol.
18
+ *
19
+ * Outside `run(...)`, treat them as result objects rather than as a
20
+ * general-purpose collection API.
21
+ */
22
+ export type Failable<T, E> = (Omit<Success<T>, 'orElse' | 'getOrElse' | 'map' | 'flatMap'> & {
23
+ readonly orElse: <U>(getValue: LazyFallback<U, E>) => Success<T>;
24
+ readonly getOrElse: <U>(getValue: LazyFallback<U, E>) => T;
15
25
  readonly match: Match<T, E>;
16
- }) | (Failure<E> & {
26
+ readonly map: FailableMap<T, E>;
27
+ readonly flatMap: FailableFlatMap<T, E>;
28
+ }) | (Omit<Failure<E>, 'orElse' | 'getOrElse' | 'map' | 'flatMap'> & {
29
+ readonly orElse: <U>(getValue: LazyFallback<U, E>) => Success<U>;
30
+ readonly getOrElse: <U>(getValue: LazyFallback<U, E>) => U;
17
31
  readonly match: Match<T, E>;
32
+ readonly map: FailableMap<T, E>;
33
+ readonly flatMap: FailableFlatMap<T, E>;
18
34
  });
19
35
  /**
20
36
  * Structured-clone-friendly representation of {@link Failable}.
@@ -46,6 +62,29 @@ type SuccessMatch<T> = {
46
62
  type FailureMatch<E> = {
47
63
  <U>(onSuccess: (data: never) => U, onFailure: (error: E) => U): U;
48
64
  };
65
+ type SuccessMap<T> = {
66
+ <U>(fn: (data: T) => U): Success<U>;
67
+ };
68
+ type FailureMap<E> = {
69
+ <U>(fn: (data: never) => U): Failure<E>;
70
+ };
71
+ type SuccessFlatMap<T> = {
72
+ <Next>(fn: (data: T) => Success<Next>): Success<Next>;
73
+ <E2>(fn: (data: T) => Failure<E2>): Failure<E2>;
74
+ <Next, E2>(fn: (data: T) => Failable<Next, E2>): Failable<Next, E2>;
75
+ };
76
+ type FailureFlatMap<E> = {
77
+ <Next, E2>(fn: (data: never) => Failable<Next, E2>): Failure<E>;
78
+ };
79
+ type FailableMap<T, E> = {
80
+ <U>(fn: (data: T) => U): Failable<U, E>;
81
+ };
82
+ type FailableFlatMap<T, E> = {
83
+ <Next>(fn: (data: T) => Success<Next>): Failable<Next, E>;
84
+ <E2>(fn: (data: T) => Failure<E2>): Failure<E | E2>;
85
+ <Next, E2>(fn: (data: T) => Success<Next> | Failure<E2>): Failable<Next, E | E2>;
86
+ <Next, E2>(fn: (data: T) => Failable<Next, E2>): Failable<Next, E | E2>;
87
+ };
49
88
  export declare function isFailableLike(value: unknown): value is FailableLike<unknown, unknown>;
50
89
  export type Success<T> = {
51
90
  readonly status: typeof FailableStatus.Success;
@@ -54,11 +93,13 @@ export type Success<T> = {
54
93
  readonly data: T;
55
94
  readonly error: null;
56
95
  readonly or: <U>(value: U) => Success<T>;
57
- readonly orElse: <U>(getValue: () => U) => Success<T>;
96
+ readonly orElse: <U>(getValue: LazyFallback<U, never>) => Success<T>;
58
97
  readonly getOr: <U>(value: U) => T;
59
- readonly getOrElse: <U>(getValue: () => U) => T;
60
- readonly getOrThrow: () => T;
98
+ readonly getOrElse: <U>(getValue: LazyFallback<U, never>) => T;
99
+ readonly getOrThrow: (normalizeOption?: FailableNormalizeErrorInput) => T;
61
100
  readonly match: SuccessMatch<T>;
101
+ readonly map: SuccessMap<T>;
102
+ readonly flatMap: SuccessFlatMap<T>;
62
103
  readonly [Symbol.iterator]: () => RunGetIterator<T, never, Success<T>>;
63
104
  readonly [Symbol.asyncIterator]: () => AsyncRunGetIterator<T, never, Success<T>>;
64
105
  };
@@ -69,11 +110,13 @@ export type Failure<E> = {
69
110
  readonly error: E;
70
111
  readonly data: null;
71
112
  readonly or: <U>(value: U) => Success<U>;
72
- readonly orElse: <U>(getValue: () => U) => Success<U>;
113
+ readonly orElse: <U>(getValue: LazyFallback<U, E>) => Success<U>;
73
114
  readonly getOr: <U>(value: U) => U;
74
- readonly getOrElse: <U>(getValue: () => U) => U;
75
- readonly getOrThrow: () => never;
115
+ readonly getOrElse: <U>(getValue: LazyFallback<U, E>) => U;
116
+ readonly getOrThrow: (normalizeOption?: FailableNormalizeErrorInput) => never;
76
117
  readonly match: FailureMatch<E>;
118
+ readonly map: FailureMap<E>;
119
+ readonly flatMap: FailureFlatMap<E>;
77
120
  readonly [Symbol.iterator]: () => RunGetIterator<never, E, Failure<E>>;
78
121
  readonly [Symbol.asyncIterator]: () => AsyncRunGetIterator<never, E, Failure<E>>;
79
122
  };
@@ -81,17 +124,18 @@ export declare function isFailable(value: unknown): value is Failable<unknown, u
81
124
  export declare function isSuccess(value: unknown): value is Success<unknown>;
82
125
  export declare function isFailure(value: unknown): value is Failure<unknown>;
83
126
  export declare function success(): Success<void>;
84
- export declare function success<T>(data: T): Success<T>;
127
+ export declare function success<const T>(data: T): Success<T>;
85
128
  export declare function failure(): Failure<void>;
86
- export declare function failure<E>(error: E): Failure<E>;
129
+ export declare function failure<const E>(error: E): Failure<E>;
87
130
  /**
88
- * Throw `result.error` unchanged on failure, or narrow the same result to {@link Success} on return.
131
+ * Throw an `Error` on failure, or narrow the same result to {@link Success} on return.
89
132
  *
90
133
  * Use this when you want control-flow narrowing without replacing the original variable.
91
134
  * Use `result.getOrThrow()` when you need the success value itself in expression or return position.
92
- * If you need `Error`-shaped failures, normalize earlier with `failable(...)`.
135
+ * Existing `Error` instances are thrown unchanged by default. Pass `NormalizedErrors`
136
+ * or `{ normalizeError }` when you need a specific `Error` shape at the throw boundary.
93
137
  */
94
- export declare function throwIfError<T, E>(result: Failable<T, E>): asserts result is Success<T>;
138
+ export declare function throwIfFailure<T, E>(result: Failable<T, E>, normalizeOption?: FailableNormalizeErrorInput): asserts result is Success<T>;
95
139
  export declare function toFailableLike<T>(value: Success<T>): FailableLikeSuccess<T>;
96
140
  export declare function toFailableLike<E>(value: Failure<E>): FailableLikeFailure<E>;
97
141
  export declare function toFailableLike<T, E>(value: Failable<T, E>): FailableLike<T, E>;
@@ -101,7 +145,7 @@ type HasKnownPromiseLikeReturn<T> = IsAny<T> extends true ? false : unknown exte
101
145
  type FailableSyncOnlyCallback<F extends () => unknown> = F & (HasKnownPromiseLikeReturn<ReturnType<F>> extends true ? {
102
146
  readonly __failablePassPromiseDirectly: never;
103
147
  } : unknown);
104
- type InferReturnTypeFromPromise<T, E = unknown, P extends PromiseLike<T> = PromiseLike<T>> = [Awaited<P>] extends [never] ? Promise<Failure<E>> : Awaited<P> extends Success<infer A> ? Promise<Success<A>> : Awaited<P> extends Failure<infer A> ? Promise<Failure<A>> : Awaited<P> extends Failable<unknown, unknown> ? Promise<Awaited<P>> : Awaited<P> extends FailableLikeSuccess<infer A> ? Promise<Success<A>> : Awaited<P> extends FailableLikeFailure<infer A> ? Promise<Failure<A>> : Awaited<P> extends FailableLike<infer A, infer B> ? Promise<Failable<A, B>> : Promise<Failable<Awaited<P>, E>>;
148
+ type InferReturnTypeFromPromise<P extends PromiseLike<unknown>, E = unknown> = [Awaited<P>] extends [never] ? Promise<Failure<E>> : Awaited<P> extends Success<infer A> ? Promise<Success<A>> : Awaited<P> extends Failure<infer A> ? Promise<Failure<A>> : Awaited<P> extends Failable<unknown, unknown> ? Promise<Awaited<P>> : Awaited<P> extends FailableLikeSuccess<infer A> ? Promise<Success<A>> : Awaited<P> extends FailableLikeFailure<infer A> ? Promise<Failure<A>> : Awaited<P> extends FailableLike<infer A, infer B> ? Promise<Failable<A, B>> : Promise<Failable<Awaited<P>, E>>;
105
149
  type NormalizeFailableResult<T> = [T] extends [never] ? Failure<Error> : T extends Success<infer A> ? Success<A> : T extends Failure<unknown> ? Failure<Error> : T extends FailableLikeSuccess<infer A> ? Success<A> : T extends FailableLikeFailure<unknown> ? Failure<Error> : T extends Failable<infer A, unknown> ? Failable<A, Error> : T extends FailableLike<infer A, unknown> ? Failable<A, Error> : Failable<T, Error>;
106
150
  declare const RUN_GET_TAG: unique symbol;
107
151
  declare class RunGet<T, E, TSource = Failable<T, E>> {
@@ -113,9 +157,7 @@ declare class RunGet<T, E, TSource = Failable<T, E>> {
113
157
  type RunGetIterator<T, E, TSource extends Failable<T, E> = Failable<T, E>> = Generator<RunGet<T, E, TSource>, T, unknown>;
114
158
  type AsyncRunGetIterator<T, E, TSource extends Failable<T, E> = Failable<T, E>> = AsyncGenerator<RunGet<T, E, TSource>, T, unknown>;
115
159
  type RunYield = RunGet<unknown, unknown, unknown>;
116
- type RunReturnSuccessLike<TData = unknown> = Pick<Success<TData>, 'status' | 'data' | 'error' | 'match'>;
117
- type RunReturnFailureLike<TError = unknown> = Pick<Failure<TError>, 'status' | 'data' | 'error' | 'match'>;
118
- type RunReturn = void | RunReturnSuccessLike<unknown> | RunReturnFailureLike<unknown> | Failable<unknown, unknown>;
160
+ type RunReturn = void | Failable<unknown, unknown>;
119
161
  type InferRunYieldError<TYield> = TYield extends RunGet<unknown, infer TError, unknown> ? TError : never;
120
162
  type InferRunGuaranteedFailureError<TYield> = TYield extends RunGet<unknown, infer TError, infer TSource> ? [TSource] extends [Failure<TError>] ? TError : never : never;
121
163
  type MergeRunErrors<TYield, TError> = InferRunYieldError<TYield> | TError;
@@ -125,17 +167,37 @@ type InferRunSuccessResult<TYield, TData> = [
125
167
  type InferRunNeverSuccessResult<TYield> = [InferRunYieldError<TYield>] extends [
126
168
  never
127
169
  ] ? Success<never> : [InferRunGuaranteedFailureError<TYield>] extends [never] ? Failable<never, InferRunYieldError<TYield>> : Failure<InferRunYieldError<TYield>>;
128
- type InferRunUnionReturnData<TResult> = ([Extract<TResult, void>] extends [never] ? never : void) | (Extract<TResult, RunReturnSuccessLike> extends {
170
+ type InferRunUnionReturnData<TResult> = ([Extract<TResult, void>] extends [never] ? never : void) | (Extract<TResult, {
171
+ readonly isSuccess: true;
172
+ readonly data: unknown;
173
+ }> extends {
129
174
  readonly data: infer TData;
130
175
  } ? TData : never);
131
- type InferRunUnionReturnError<TResult> = Extract<TResult, RunReturnFailureLike> extends {
176
+ type InferRunUnionReturnError<TResult> = Extract<TResult, {
177
+ readonly isFailure: true;
178
+ readonly error: unknown;
179
+ }> extends {
132
180
  readonly error: infer TError;
133
181
  } ? TError : never;
134
- type InferRunResult<TYield, TResult> = [TResult] extends [never] ? [InferRunYieldError<TYield>] extends [never] ? never : Failure<InferRunYieldError<TYield>> : [TResult] extends [void] ? InferRunSuccessResult<TYield, void> : [TResult] extends [RunReturnSuccessLike<infer TData>] ? [TData] extends [never] ? InferRunNeverSuccessResult<TYield> : InferRunSuccessResult<TYield, TData> : [TResult] extends [RunReturnFailureLike<infer TError>] ? Failure<MergeRunErrors<TYield, TError>> : [MergeRunErrors<TYield, InferRunUnionReturnError<TResult>>] extends [never] ? Success<InferRunUnionReturnData<TResult>> : Failable<InferRunUnionReturnData<TResult>, MergeRunErrors<TYield, InferRunUnionReturnError<TResult>>>;
182
+ type InferRunResult<TYield, TResult> = [TResult] extends [never] ? [InferRunYieldError<TYield>] extends [never] ? never : Failure<InferRunYieldError<TYield>> : [TResult] extends [void] ? InferRunSuccessResult<TYield, void> : [TResult] extends [Success<infer TData>] ? [TData] extends [never] ? InferRunNeverSuccessResult<TYield> : InferRunSuccessResult<TYield, TData> : [TResult] extends [Failure<infer TError>] ? Failure<MergeRunErrors<TYield, TError>> : [MergeRunErrors<TYield, InferRunUnionReturnError<TResult>>] extends [never] ? Success<InferRunUnionReturnData<TResult>> : Failable<InferRunUnionReturnData<TResult>, MergeRunErrors<TYield, InferRunUnionReturnError<TResult>>>;
135
183
  type RunNoHelpers = {
136
184
  readonly __runNoHelpers?: never;
137
185
  };
186
+ type ValidateRunReturn<TResult> = [TResult] extends [RunReturn] ? unknown : {
187
+ readonly __runInvalidReturn: never;
188
+ };
138
189
  type FailableSource<T, E> = Failable<T, E> | PromiseLike<Failable<T, E>>;
190
+ /**
191
+ * Reject obvious bare `Promise.reject(...)` inputs (`PromiseLike<never>`) while
192
+ * preserving the caller's original tuple types for valid sources.
193
+ */
194
+ type GuardedFailableSourceInput<T> = T extends PromiseLike<infer U> ? [U] extends [never] ? never : T extends PromiseLike<Failable<unknown, unknown>> ? T : never : T extends Failable<unknown, unknown> ? T : never;
195
+ type AllSettledSources<T extends readonly unknown[]> = {
196
+ readonly [K in keyof T]: GuardedFailableSourceInput<T[K]>;
197
+ };
198
+ type RaceSources<T extends readonly unknown[]> = {
199
+ readonly [K in keyof T]: GuardedFailableSourceInput<T[K]>;
200
+ };
139
201
  type FailableSourceError<T> = T extends Success<unknown> ? never : T extends Failure<infer E> ? E : T extends Failable<unknown, infer E> ? E : T extends PromiseLike<Success<unknown>> ? never : T extends PromiseLike<Failure<infer E>> ? E : T extends PromiseLike<Failable<unknown, infer E>> ? E : never;
140
202
  type FailableSourceData<T> = T extends Success<infer D> ? D : T extends Failure<unknown> ? never : T extends Failable<infer D, unknown> ? D : T extends PromiseLike<Success<infer D>> ? D : T extends PromiseLike<Failure<unknown>> ? never : T extends PromiseLike<Failable<infer D, unknown>> ? D : never;
141
203
  type AllTupleError<T> = T extends readonly (infer P)[] ? FailableSourceError<P> : never;
@@ -143,7 +205,9 @@ type AllTupleData<T> = {
143
205
  readonly [K in keyof T]: FailableSourceData<T[K]>;
144
206
  };
145
207
  type FailableSourceSettled<T> = T extends Success<infer D> ? Success<D> : T extends Failure<infer E> ? Failure<E> : T extends Failable<infer D, infer E> ? Failable<D, E> : T extends PromiseLike<Success<infer D>> ? Success<D> : T extends PromiseLike<Failure<infer E>> ? Failure<E> : T extends PromiseLike<Failable<infer D, infer E>> ? Failable<D, E> : never;
146
- type FailableSourceIsAsync<T> = T extends PromiseLike<Failable<unknown, unknown>> ? true : false;
208
+ type FailableSourceIsAsync<T> = [
209
+ Extract<T, PromiseLike<Failable<unknown, unknown>>>
210
+ ] extends [never] ? false : true;
147
211
  type FailableSourceHasGuaranteedFailure<T> = T extends Failure<unknown> | PromiseLike<Failure<unknown>> ? true : false;
148
212
  type TupleHasAsync<T> = T extends readonly [infer First, ...infer Rest] ? FailableSourceIsAsync<First> extends true ? true : Rest extends readonly unknown[] ? TupleHasAsync<Rest> : false : false;
149
213
  /** True when at least one element of T is Failure<...> or PromiseLike<Failure<...>>. */
@@ -157,11 +221,27 @@ type AllSettledTuple<T> = {
157
221
  };
158
222
  type RaceData<T> = T extends readonly (infer P)[] ? FailableSourceData<P> : never;
159
223
  type RaceError<T> = T extends readonly (infer P)[] ? FailableSourceError<P> : never;
224
+ type RaceReturn<T extends readonly unknown[]> = T extends readonly [] ? Promise<Failable<RaceData<T>, RaceError<T>>> : TupleHasAsync<T> extends true ? Promise<Failable<RaceData<T>, RaceError<T>>> : Failable<RaceData<T>, RaceError<T>>;
160
225
  export declare function all<const T extends readonly FailableSource<unknown, unknown>[]>(...sources: T): TupleHasAsync<T> extends true ? Promise<Failable<AllReturnData<T>, AllTupleError<T>>> : Failable<AllReturnData<T>, AllTupleError<T>>;
161
- export declare function allSettled<const T extends readonly FailableSource<unknown, unknown>[]>(...sources: T): TupleHasAsync<T> extends true ? Promise<Success<AllSettledTuple<T>>> : Success<AllSettledTuple<T>>;
162
- export declare function race<const T extends readonly PromiseLike<Failable<unknown, unknown>>[]>(...sources: T): Promise<Failable<RaceData<T>, RaceError<T>>>;
163
- export declare function run<TYield extends RunGet<unknown, unknown, unknown> = never, TResult extends RunReturn = RunReturn>(builder: (_helpers: RunNoHelpers) => AsyncGenerator<TYield, TResult, unknown>): Promise<InferRunResult<TYield, TResult>>;
164
- export declare function run<TYield extends RunYield = never, TResult extends RunReturn = RunReturn>(builder: (_helpers: RunNoHelpers) => Generator<TYield, TResult, unknown>): InferRunResult<TYield, TResult>;
226
+ /**
227
+ * Wait for every source that resolves successfully and return a tuple of their
228
+ * `Failable` results.
229
+ *
230
+ * If a source promise rejects before producing a `Failable`, the combinator
231
+ * rejects unchanged. Wrap that boundary with `failable(...)` first if you want
232
+ * the rejection converted into `Failure`.
233
+ */
234
+ export declare function allSettled<const T extends readonly unknown[]>(...sources: T & AllSettledSources<T>): TupleHasAsync<T> extends true ? Promise<AllSettledTuple<T>> : AllSettledTuple<T>;
235
+ /**
236
+ * Take the first `Failable` source to settle.
237
+ *
238
+ * When every source is already hydrated, the first source in input order wins
239
+ * synchronously. When any source is promised, winner ordering follows normal
240
+ * `Promise.race(...)` semantics for already-settled entries.
241
+ */
242
+ export declare function race<const T extends readonly unknown[]>(...sources: T & RaceSources<T>): RaceReturn<T>;
243
+ export declare function run<TYield extends RunGet<unknown, unknown, unknown> = never, TResult = RunReturn>(builder: ((_helpers: RunNoHelpers) => AsyncGenerator<TYield, TResult, unknown>) & ValidateRunReturn<TResult>): Promise<InferRunResult<TYield, Extract<TResult, RunReturn>>>;
244
+ export declare function run<TYield extends RunYield = never, TResult = RunReturn>(builder: ((_helpers: RunNoHelpers) => Generator<TYield, TResult, unknown>) & ValidateRunReturn<TResult>): InferRunResult<TYield, Extract<TResult, RunReturn>>;
165
245
  export declare function failable<T>(value: Success<T>): Success<T>;
166
246
  export declare function failable<E>(value: Failure<E>): Failure<E>;
167
247
  export declare function failable<T, E>(value: Failable<T, E>): Failable<T, E>;
@@ -186,8 +266,8 @@ export declare function failable<T, E>(value: FailableLike<T, E>, normalizeOptio
186
266
  * them to pass the promise directly instead. That guard error is preserved even when
187
267
  * a custom `normalizeError` callback is provided.
188
268
  */
189
- export declare function failable<T, P extends PromiseLike<T> = PromiseLike<T>>(promise: P, normalizeOption: FailableNormalizeErrorInput): Promise<NormalizeFailableResult<Awaited<P>>>;
190
- export declare function failable<T, E = unknown, P extends PromiseLike<T> = PromiseLike<T>>(promise: P): InferReturnTypeFromPromise<T, E, P>;
269
+ export declare function failable<P extends PromiseLike<unknown>>(promise: P, normalizeOption: FailableNormalizeErrorInput): Promise<NormalizeFailableResult<Awaited<P>>>;
270
+ export declare function failable<P extends PromiseLike<unknown>, E = unknown>(promise: P): InferReturnTypeFromPromise<P, E>;
191
271
  export declare function failable<F extends () => unknown>(fun: FailableSyncOnlyCallback<F>, normalizeOption: FailableNormalizeErrorInput): NormalizeFailableResult<ReturnType<F>>;
192
272
  export declare function failable<F extends () => unknown, E = unknown>(fun: FailableSyncOnlyCallback<F>): InferFailableFromValue<ReturnType<F>, E>;
193
273
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"failable.d.ts","sourceRoot":"","sources":["../../src/lib/failable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failable.d.ts","sourceRoot":"","sources":["../../src/lib/failable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pvorona/failable",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "Typed success/failure results for expected failures in TypeScript.",
5
5
  "keywords": [
6
6
  "failable",
@@ -40,7 +40,7 @@
40
40
  "access": "public"
41
41
  },
42
42
  "dependencies": {
43
- "@pvorona/assert": "~1.0.0",
43
+ "@pvorona/assert": "~1.0.1",
44
44
  "@pvorona/not-implemented": "~0.0.1"
45
45
  }
46
46
  }