@pvorona/failable 0.6.4 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +197 -171
- package/dist/lib/failable.d.ts +45 -47
- package/dist/lib/failable.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ A `Failable<T, E>` is either `Success<T>` or `Failure<E>`.
|
|
|
11
11
|
- `success()` / `success(data)` / `failure()` / `failure(error)` create results
|
|
12
12
|
- `failable(...)` captures thrown or rejected boundaries
|
|
13
13
|
- `run(...)` composes multiple `Failable` steps
|
|
14
|
+
- `all(...)`, `allSettled(...)`, and `race(...)` combine multiple sources
|
|
14
15
|
|
|
15
16
|
## Install
|
|
16
17
|
|
|
@@ -70,6 +71,7 @@ if (result.isFailure) {
|
|
|
70
71
|
| Throw the stored failure unchanged | `getOrThrow()` / `throwIfError(result)` |
|
|
71
72
|
| Capture a throwing or rejecting boundary | `failable(...)` |
|
|
72
73
|
| Compose multiple `Failable` steps | `run(...)` |
|
|
74
|
+
| Combine multiple `Failable` sources | `all(...)`, `allSettled(...)`, `race(...)` |
|
|
73
75
|
| Cross a structured-clone boundary | `toFailableLike(...)` + `failable(...)` |
|
|
74
76
|
| Validate `unknown` input | `isFailable(...)`, `isSuccess(...)`, `isFailure(...)`, `isFailableLike(...)` |
|
|
75
77
|
|
|
@@ -223,22 +225,30 @@ import { run, success, type Failable } from '@pvorona/failable';
|
|
|
223
225
|
function loadConfig(
|
|
224
226
|
env: Record<string, string | undefined>,
|
|
225
227
|
): Failable<{ host: string; port: number }, ConfigError> {
|
|
226
|
-
return run(function* (
|
|
227
|
-
const host = yield*
|
|
228
|
-
const rawPort = yield*
|
|
229
|
-
const port = yield*
|
|
228
|
+
return run(function* () {
|
|
229
|
+
const host = yield* readEnv('HOST', env);
|
|
230
|
+
const rawPort = yield* readEnv('PORT', env);
|
|
231
|
+
const port = yield* parsePort(rawPort);
|
|
230
232
|
|
|
231
233
|
return success({ host, port });
|
|
232
234
|
});
|
|
233
235
|
}
|
|
234
236
|
```
|
|
235
237
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
238
|
+
When a helper already returns a hydrated `Failable`, yield it directly with
|
|
239
|
+
`yield* helper()`. For promised sources in async builders, await them first and
|
|
240
|
+
then yield the hydrated result with `yield* await promisedHelper()`.
|
|
241
|
+
|
|
242
|
+
`run(...)` does not inject helper arguments. Import the top-level combinators
|
|
243
|
+
you need and use them directly inside the builder.
|
|
244
|
+
|
|
245
|
+
For async flows, switch to `run(async function* ...)`. Sync hydrated helpers
|
|
246
|
+
still work with direct `yield* helper()`, and promised sources compose with
|
|
247
|
+
`yield* await ...`:
|
|
239
248
|
|
|
240
249
|
```ts
|
|
241
250
|
import {
|
|
251
|
+
all,
|
|
242
252
|
failable,
|
|
243
253
|
failure,
|
|
244
254
|
run,
|
|
@@ -284,9 +294,11 @@ async function getUserProfile(userId: string) {
|
|
|
284
294
|
async function loadUserPage(
|
|
285
295
|
userId: string,
|
|
286
296
|
): Promise<Failable<{ user: User; profile: Profile }, ApiError>> {
|
|
287
|
-
return await run(async function* (
|
|
288
|
-
const user = yield*
|
|
289
|
-
|
|
297
|
+
return await run(async function* () {
|
|
298
|
+
const [user, profile] = yield* await all(
|
|
299
|
+
getUser(userId),
|
|
300
|
+
getUserProfile(userId)
|
|
301
|
+
);
|
|
290
302
|
|
|
291
303
|
return success({ user, profile });
|
|
292
304
|
});
|
|
@@ -294,10 +306,62 @@ async function loadUserPage(
|
|
|
294
306
|
```
|
|
295
307
|
|
|
296
308
|
- if a yielded step fails, `run(...)` returns that original failure unchanged
|
|
297
|
-
-
|
|
309
|
+
- sync hydrated `Failable` helpers can use direct `yield* helper()` in both sync
|
|
310
|
+
and async builders
|
|
311
|
+
- promised sources in async builders use `yield* await promisedHelper()`
|
|
312
|
+
- in async builders, use `yield* await all(...)` to run multiple sources in
|
|
313
|
+
parallel and get a success tuple or the first failure
|
|
314
|
+
- use `yield* all(...)` in sync builders when every source is already a hydrated
|
|
315
|
+
`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
|
|
298
321
|
- `run(...)` does not capture thrown values or rejected promises into `Failure`;
|
|
299
322
|
wrap throwing boundaries with `failable(...)` before they enter `run(...)`
|
|
300
323
|
|
|
324
|
+
## Parallel Combinators
|
|
325
|
+
|
|
326
|
+
Import `all(...)`, `allSettled(...)`, and `race(...)` from the package root when
|
|
327
|
+
you want to combine multiple sources outside `run(...)` or inside async
|
|
328
|
+
builders.
|
|
329
|
+
|
|
330
|
+
```ts
|
|
331
|
+
import {
|
|
332
|
+
all,
|
|
333
|
+
allSettled,
|
|
334
|
+
race,
|
|
335
|
+
success,
|
|
336
|
+
type Failable,
|
|
337
|
+
} from '@pvorona/failable';
|
|
338
|
+
|
|
339
|
+
const syncTuple = all(success(1 as const), success('two' as const));
|
|
340
|
+
const mixedTuple = await all(
|
|
341
|
+
success(1 as const),
|
|
342
|
+
Promise.resolve(success('two' as const))
|
|
343
|
+
);
|
|
344
|
+
|
|
345
|
+
const settled = await allSettled(
|
|
346
|
+
Promise.resolve(success(1 as const)),
|
|
347
|
+
Promise.resolve<Failable<number, 'missing'>>(success(2))
|
|
348
|
+
);
|
|
349
|
+
|
|
350
|
+
const winner = await race(
|
|
351
|
+
Promise.resolve(success('fast' as const)),
|
|
352
|
+
Promise.resolve(success('slow' as const))
|
|
353
|
+
);
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Key semantics:
|
|
357
|
+
|
|
358
|
+
- `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
|
|
363
|
+
- `race()` with zero sources rejects with a clear error instead of hanging
|
|
364
|
+
|
|
301
365
|
## Transport And Runtime Validation
|
|
302
366
|
|
|
303
367
|
`Failable` values are hydrated objects with methods. Keep them inside your
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FailableStatus, NormalizedErrors, failable, failure, isFailable, isFailableLike, isFailure, isSuccess, run, success, throwIfError, toFailableLike, } from './lib/failable.js';
|
|
1
|
+
export { all, allSettled, FailableStatus, NormalizedErrors, failable, failure, isFailable, isFailableLike, isFailure, isSuccess, race, run, success, throwIfError, 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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,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,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"}
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { isFunction as
|
|
1
|
+
import { isFunction as b, isObject as s, hasOwnPropertyValue as A, hasOwnKey as O } from "@pvorona/assert";
|
|
2
2
|
import { notImplemented as a } from "@pvorona/not-implemented";
|
|
3
|
-
const
|
|
3
|
+
const j = /* @__PURE__ */ Symbol("Failable"), P = /* @__PURE__ */ Symbol("Success"), R = /* @__PURE__ */ Symbol("Failure"), n = Object.freeze({
|
|
4
4
|
Success: "success",
|
|
5
5
|
Failure: "failure"
|
|
6
|
-
}),
|
|
6
|
+
}), U = Object.freeze({
|
|
7
7
|
mode: "normalized-errors"
|
|
8
8
|
});
|
|
9
|
-
function
|
|
10
|
-
return
|
|
9
|
+
function C(r) {
|
|
10
|
+
return s(r) && Object.keys(r).length === 2 && A(r, "status", n.Success) && O(r, "data");
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
return
|
|
12
|
+
function M(r) {
|
|
13
|
+
return s(r) && Object.keys(r).length === 2 && A(r, "status", n.Failure) && O(r, "error");
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
return
|
|
15
|
+
function h(r) {
|
|
16
|
+
return M(r) || C(r);
|
|
17
17
|
}
|
|
18
|
-
const
|
|
19
|
-
[
|
|
18
|
+
const I = {
|
|
19
|
+
[j]: !0,
|
|
20
20
|
isSuccess: !1,
|
|
21
21
|
isFailure: !1,
|
|
22
22
|
data: null,
|
|
@@ -26,10 +26,16 @@ const m = {
|
|
|
26
26
|
getOr: a,
|
|
27
27
|
getOrElse: a,
|
|
28
28
|
getOrThrow: a,
|
|
29
|
-
match: a
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
match: a,
|
|
30
|
+
[Symbol.iterator]: function() {
|
|
31
|
+
return K(this);
|
|
32
|
+
},
|
|
33
|
+
[Symbol.asyncIterator]: function() {
|
|
34
|
+
return H(this);
|
|
35
|
+
}
|
|
36
|
+
}, z = (() => {
|
|
37
|
+
const r = Object.create(I);
|
|
38
|
+
return r[P] = !0, r.status = n.Success, r.isSuccess = !0, r.or = function() {
|
|
33
39
|
return this;
|
|
34
40
|
}, r.orElse = function() {
|
|
35
41
|
return this;
|
|
@@ -42,243 +48,260 @@ const m = {
|
|
|
42
48
|
}, r.match = function(t) {
|
|
43
49
|
return t(this.data);
|
|
44
50
|
}, Object.freeze(r);
|
|
45
|
-
})(),
|
|
46
|
-
const r = Object.create(
|
|
47
|
-
return r[
|
|
48
|
-
return
|
|
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);
|
|
49
55
|
}, r.orElse = function(t) {
|
|
50
|
-
return
|
|
56
|
+
return u(t());
|
|
51
57
|
}, r.getOr = function(t) {
|
|
52
58
|
return t;
|
|
53
59
|
}, r.getOrElse = function(t) {
|
|
54
60
|
return t();
|
|
55
61
|
}, r.getOrThrow = function() {
|
|
56
|
-
throw this.error === void 0 ? new Error(
|
|
57
|
-
|
|
58
|
-
|
|
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);
|
|
59
67
|
}, Object.freeze(r);
|
|
60
68
|
})();
|
|
61
|
-
function
|
|
62
|
-
return
|
|
69
|
+
function m(r, e) {
|
|
70
|
+
return s(r) ? r[e] === !0 : !1;
|
|
63
71
|
}
|
|
64
72
|
function c(r) {
|
|
65
|
-
return
|
|
73
|
+
return m(r, j);
|
|
66
74
|
}
|
|
67
|
-
function
|
|
68
|
-
return
|
|
75
|
+
function ar(r) {
|
|
76
|
+
return m(r, P);
|
|
69
77
|
}
|
|
70
|
-
function
|
|
71
|
-
return
|
|
78
|
+
function lr(r) {
|
|
79
|
+
return m(r, R);
|
|
72
80
|
}
|
|
73
|
-
function
|
|
74
|
-
const e = Object.create(
|
|
81
|
+
function u(r) {
|
|
82
|
+
const e = Object.create(z);
|
|
75
83
|
return e.data = r, Object.freeze(e);
|
|
76
84
|
}
|
|
77
|
-
function
|
|
78
|
-
const e = Object.create(
|
|
85
|
+
function l(r) {
|
|
86
|
+
const e = Object.create(B);
|
|
79
87
|
return e.error = r, Object.freeze(e);
|
|
80
88
|
}
|
|
81
|
-
function ar(r) {
|
|
82
|
-
if (r.status === o.Failure) throw r.error;
|
|
83
|
-
}
|
|
84
89
|
function fr(r) {
|
|
85
|
-
|
|
90
|
+
if (r.status === n.Failure) throw r.error;
|
|
91
|
+
}
|
|
92
|
+
function br(r) {
|
|
93
|
+
return r.status === n.Failure ? { status: n.Failure, error: r.error } : { status: n.Success, data: r.data };
|
|
86
94
|
}
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
const x = "`failable(() => ...)` only accepts synchronous callbacks. This callback returned a Promise. Pass the promise directly instead: `await failable(promise)`.", p = /* @__PURE__ */ Symbol(
|
|
96
|
+
"FailablePromiseCallbackGuard"
|
|
97
|
+
), D = /* @__PURE__ */ Symbol("RunGet");
|
|
98
|
+
class f {
|
|
99
|
+
[D] = !0;
|
|
90
100
|
source;
|
|
91
101
|
constructor(e) {
|
|
92
102
|
this.source = e;
|
|
93
103
|
}
|
|
94
104
|
static create(e) {
|
|
95
|
-
return new
|
|
105
|
+
return new f(e);
|
|
96
106
|
}
|
|
97
107
|
}
|
|
98
|
-
const
|
|
99
|
-
function*
|
|
100
|
-
return yield
|
|
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) {
|
|
110
|
+
return yield f.create(r);
|
|
101
111
|
}
|
|
102
|
-
async function*
|
|
103
|
-
return yield
|
|
112
|
+
async function* H(r) {
|
|
113
|
+
return yield f.create(r);
|
|
104
114
|
}
|
|
105
|
-
function
|
|
106
|
-
return !
|
|
115
|
+
function S(r) {
|
|
116
|
+
return !s(r) && !b(r) ? !1 : b(r.then);
|
|
107
117
|
}
|
|
108
|
-
|
|
109
|
-
|
|
118
|
+
const q = Object.freeze({});
|
|
119
|
+
function E(r) {
|
|
120
|
+
return c(r) ? r : l(r);
|
|
110
121
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
122
|
+
function L(r) {
|
|
123
|
+
for (const e of r)
|
|
124
|
+
if (S(e)) return !0;
|
|
125
|
+
return !1;
|
|
126
|
+
}
|
|
127
|
+
async function _(r) {
|
|
128
|
+
return (await Promise.all(
|
|
129
|
+
r.map((t) => Promise.resolve(t))
|
|
130
|
+
)).map((t) => E(t));
|
|
131
|
+
}
|
|
132
|
+
function y(r) {
|
|
133
|
+
for (const t of r)
|
|
134
|
+
if (t.status === n.Failure)
|
|
135
|
+
return t;
|
|
136
|
+
const e = r.map(
|
|
137
|
+
(t) => t.data
|
|
138
|
+
);
|
|
139
|
+
return u(e);
|
|
140
|
+
}
|
|
141
|
+
function g(r) {
|
|
142
|
+
return u(r);
|
|
143
|
+
}
|
|
144
|
+
function dr(...r) {
|
|
145
|
+
return L(r) ? _(r).then(
|
|
146
|
+
(e) => y(e)
|
|
147
|
+
) : y(
|
|
148
|
+
r.map((e) => E(e))
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
function Er(...r) {
|
|
152
|
+
return L(r) ? _(r).then(
|
|
153
|
+
(e) => g(e)
|
|
154
|
+
) : g(
|
|
155
|
+
r.map((e) => E(e))
|
|
156
|
+
);
|
|
157
|
+
}
|
|
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(
|
|
169
|
+
(e) => E(e)
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
function G(r) {
|
|
173
|
+
if (!(r instanceof f))
|
|
174
|
+
throw new Error(d);
|
|
117
175
|
const e = r.source;
|
|
118
176
|
if (!c(e))
|
|
119
|
-
throw new Error(
|
|
177
|
+
throw new Error(d);
|
|
120
178
|
return e;
|
|
121
179
|
}
|
|
122
|
-
async function
|
|
123
|
-
if (!(r instanceof
|
|
124
|
-
throw new Error(
|
|
180
|
+
async function k(r) {
|
|
181
|
+
if (!(r instanceof f))
|
|
182
|
+
throw new Error(d);
|
|
125
183
|
const e = await r.source;
|
|
126
184
|
if (!c(e))
|
|
127
|
-
throw new Error(
|
|
185
|
+
throw new Error(d);
|
|
128
186
|
return e;
|
|
129
187
|
}
|
|
130
|
-
|
|
131
|
-
if (!(r instanceof s))
|
|
132
|
-
throw new Error(l);
|
|
133
|
-
let e;
|
|
134
|
-
try {
|
|
135
|
-
e = await r.source;
|
|
136
|
-
} catch (t) {
|
|
137
|
-
return { kind: "rejection", rejection: t };
|
|
138
|
-
}
|
|
139
|
-
if (!c(e))
|
|
140
|
-
throw new Error(l);
|
|
141
|
-
return { kind: "source", source: e };
|
|
142
|
-
}
|
|
143
|
-
function K(r, e) {
|
|
188
|
+
function J(r, e) {
|
|
144
189
|
let t = r.return(e);
|
|
145
190
|
for (; !t.done; ) {
|
|
146
|
-
const
|
|
147
|
-
if (
|
|
191
|
+
const o = G(t.value);
|
|
192
|
+
if (o.status === n.Failure) {
|
|
148
193
|
t = r.return(e);
|
|
149
194
|
continue;
|
|
150
195
|
}
|
|
151
|
-
t = r.next(
|
|
196
|
+
t = r.next(o.data);
|
|
152
197
|
}
|
|
153
198
|
}
|
|
154
|
-
async function
|
|
199
|
+
async function Y(r, e) {
|
|
155
200
|
let t = await r.return(e);
|
|
156
201
|
for (; !t.done; ) {
|
|
157
|
-
const
|
|
158
|
-
if (
|
|
202
|
+
const o = await k(t.value);
|
|
203
|
+
if (o.status === n.Failure) {
|
|
159
204
|
t = await r.return(e);
|
|
160
205
|
continue;
|
|
161
206
|
}
|
|
162
|
-
t = await r.next(
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
async function J(r) {
|
|
166
|
-
let e = await r.return(void 0);
|
|
167
|
-
for (; !e.done; ) {
|
|
168
|
-
const t = await L(e.value);
|
|
169
|
-
if (t.kind === "rejection") {
|
|
170
|
-
e = await r.return(void 0);
|
|
171
|
-
continue;
|
|
172
|
-
}
|
|
173
|
-
const n = t.source;
|
|
174
|
-
if (n.status === o.Failure) {
|
|
175
|
-
e = await r.return(void 0);
|
|
176
|
-
continue;
|
|
177
|
-
}
|
|
178
|
-
e = await r.next(n.data);
|
|
207
|
+
t = await r.next(o.data);
|
|
179
208
|
}
|
|
180
209
|
}
|
|
181
|
-
function
|
|
210
|
+
function T(r) {
|
|
182
211
|
if (c(r))
|
|
183
212
|
return r;
|
|
184
213
|
if (r === void 0)
|
|
185
|
-
return
|
|
186
|
-
throw new Error(
|
|
214
|
+
return u();
|
|
215
|
+
throw new Error(V);
|
|
187
216
|
}
|
|
188
|
-
function
|
|
217
|
+
function Q(r) {
|
|
189
218
|
return Symbol.asyncIterator in r;
|
|
190
219
|
}
|
|
191
|
-
function
|
|
220
|
+
function W(r) {
|
|
192
221
|
let e = r.next();
|
|
193
222
|
for (; !e.done; ) {
|
|
194
|
-
const t =
|
|
195
|
-
if (t.status ===
|
|
196
|
-
return
|
|
223
|
+
const t = G(e.value);
|
|
224
|
+
if (t.status === n.Failure)
|
|
225
|
+
return J(r, t), t;
|
|
197
226
|
e = r.next(t.data);
|
|
198
227
|
}
|
|
199
|
-
return
|
|
228
|
+
return T(e.value);
|
|
200
229
|
}
|
|
201
|
-
async function
|
|
230
|
+
async function X(r) {
|
|
202
231
|
let e = await r.next();
|
|
203
232
|
for (; !e.done; ) {
|
|
204
|
-
const t = await
|
|
205
|
-
if (t.
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
if (n.status === o.Failure)
|
|
209
|
-
return await H(r, n), n;
|
|
210
|
-
e = await r.next(n.data);
|
|
233
|
+
const t = await k(e.value);
|
|
234
|
+
if (t.status === n.Failure)
|
|
235
|
+
return await Y(r, t), t;
|
|
236
|
+
e = await r.next(t.data);
|
|
211
237
|
}
|
|
212
|
-
return
|
|
238
|
+
return T(e.value);
|
|
213
239
|
}
|
|
214
|
-
function
|
|
215
|
-
const e = r(
|
|
216
|
-
return
|
|
240
|
+
function mr(r) {
|
|
241
|
+
const e = r(q);
|
|
242
|
+
return Q(e) ? X(e) : W(e);
|
|
217
243
|
}
|
|
218
|
-
function
|
|
219
|
-
return c(r) ?
|
|
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);
|
|
220
246
|
}
|
|
221
|
-
function
|
|
222
|
-
return r.status ===
|
|
247
|
+
function w(r) {
|
|
248
|
+
return r.status === n.Success ? u(r.data) : l(r.error);
|
|
223
249
|
}
|
|
224
|
-
function
|
|
250
|
+
function Z() {
|
|
225
251
|
const r = new Error(
|
|
226
|
-
|
|
252
|
+
x
|
|
227
253
|
);
|
|
228
|
-
return Object.defineProperty(r,
|
|
254
|
+
return Object.defineProperty(r, p, {
|
|
229
255
|
value: !0,
|
|
230
256
|
enumerable: !1,
|
|
231
257
|
configurable: !1,
|
|
232
258
|
writable: !1
|
|
233
259
|
}), r;
|
|
234
260
|
}
|
|
235
|
-
function
|
|
236
|
-
return r instanceof Error ? Object.getOwnPropertyDescriptor(
|
|
237
|
-
r,
|
|
238
|
-
j
|
|
239
|
-
)?.value === !0 : !1;
|
|
261
|
+
function $(r) {
|
|
262
|
+
return r instanceof Error ? Object.getOwnPropertyDescriptor(r, p)?.value === !0 : !1;
|
|
240
263
|
}
|
|
241
|
-
function
|
|
264
|
+
function v(r) {
|
|
242
265
|
Promise.resolve(r).catch(() => {
|
|
243
266
|
});
|
|
244
267
|
}
|
|
245
|
-
function
|
|
268
|
+
function rr(r, e) {
|
|
246
269
|
try {
|
|
247
270
|
const t = r();
|
|
248
|
-
return
|
|
249
|
-
|
|
271
|
+
return S(t) ? (v(t), i(
|
|
272
|
+
l(Z()),
|
|
250
273
|
e
|
|
251
|
-
)) : c(t) ?
|
|
274
|
+
)) : c(t) ? i(t, e) : h(t) ? i(w(t), e) : u(t);
|
|
252
275
|
} catch (t) {
|
|
253
|
-
return
|
|
276
|
+
return i(l(t), e);
|
|
254
277
|
}
|
|
255
278
|
}
|
|
256
|
-
function
|
|
279
|
+
function er(r, e) {
|
|
257
280
|
return Promise.resolve(r).then(
|
|
258
|
-
(t) => c(t) ?
|
|
259
|
-
(t) =>
|
|
281
|
+
(t) => c(t) ? i(t, e) : h(t) ? i(w(t), e) : u(t),
|
|
282
|
+
(t) => i(l(t), e)
|
|
260
283
|
);
|
|
261
284
|
}
|
|
262
|
-
function
|
|
263
|
-
if (r.status ===
|
|
264
|
-
const t =
|
|
265
|
-
return t === null || r.error instanceof Error && e !== void 0 &&
|
|
285
|
+
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));
|
|
266
289
|
}
|
|
267
|
-
function
|
|
268
|
-
return r === void 0 ? null :
|
|
290
|
+
function tr(r) {
|
|
291
|
+
return r === void 0 ? null : N(r) ? ur : nr(r) ? r.normalizeError : null;
|
|
269
292
|
}
|
|
270
|
-
function
|
|
271
|
-
return !
|
|
293
|
+
function N(r) {
|
|
294
|
+
return !s(r) || Object.keys(r).length !== 1 ? !1 : Object.getOwnPropertyDescriptor(r, "mode")?.value === U.mode;
|
|
272
295
|
}
|
|
273
|
-
function
|
|
274
|
-
return
|
|
296
|
+
function nr(r) {
|
|
297
|
+
return s(r) ? b(r.normalizeError) : !1;
|
|
275
298
|
}
|
|
276
|
-
function
|
|
277
|
-
if (!
|
|
299
|
+
function or(r) {
|
|
300
|
+
if (!s(r) || Array.isArray(r)) return !1;
|
|
278
301
|
const e = Object.getPrototypeOf(r);
|
|
279
302
|
return e === Object.prototype || e === null;
|
|
280
303
|
}
|
|
281
|
-
function
|
|
304
|
+
function F(r) {
|
|
282
305
|
try {
|
|
283
306
|
const e = JSON.stringify(r);
|
|
284
307
|
if (typeof e == "string") return e;
|
|
@@ -287,30 +310,33 @@ function g(r) {
|
|
|
287
310
|
}
|
|
288
311
|
return null;
|
|
289
312
|
}
|
|
290
|
-
function
|
|
313
|
+
function ir(r) {
|
|
291
314
|
if (Object.getPrototypeOf(r) === null) {
|
|
292
|
-
const
|
|
293
|
-
return
|
|
315
|
+
const o = F(r);
|
|
316
|
+
return o !== null ? o : Object.prototype.toString.call(r);
|
|
294
317
|
}
|
|
295
318
|
const e = String(r);
|
|
296
319
|
if (e !== "[object Object]") return e;
|
|
297
|
-
const t =
|
|
320
|
+
const t = F(r);
|
|
298
321
|
return t === null ? e : t;
|
|
299
322
|
}
|
|
300
|
-
function
|
|
301
|
-
return r instanceof Error ? r : Array.isArray(r) ? new AggregateError(r, "Multiple errors", { cause: r }) :
|
|
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 });
|
|
302
325
|
}
|
|
303
326
|
export {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
dr as
|
|
307
|
-
|
|
327
|
+
n as FailableStatus,
|
|
328
|
+
U as NormalizedErrors,
|
|
329
|
+
dr as all,
|
|
330
|
+
Er as allSettled,
|
|
331
|
+
Sr as failable,
|
|
332
|
+
l as failure,
|
|
308
333
|
c as isFailable,
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
fr as
|
|
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
|
|
316
342
|
};
|
package/dist/lib/failable.d.ts
CHANGED
|
@@ -11,11 +11,11 @@ export type FailableNormalizeErrorOptions = {
|
|
|
11
11
|
};
|
|
12
12
|
type FailableNormalizeErrorInput = typeof NormalizedErrors | FailableNormalizeErrorOptions;
|
|
13
13
|
type Match<T, E> = <U>(onSuccess: (data: T) => U, onFailure: (error: E) => U) => U;
|
|
14
|
-
export type Failable<T, E> = (
|
|
14
|
+
export type Failable<T, E> = (Success<T> & {
|
|
15
15
|
readonly match: Match<T, E>;
|
|
16
16
|
}) | (Failure<E> & {
|
|
17
17
|
readonly match: Match<T, E>;
|
|
18
|
-
})
|
|
18
|
+
});
|
|
19
19
|
/**
|
|
20
20
|
* Structured-clone-friendly representation of {@link Failable}.
|
|
21
21
|
*
|
|
@@ -59,6 +59,8 @@ export type Success<T> = {
|
|
|
59
59
|
readonly getOrElse: <U>(getValue: () => U) => T;
|
|
60
60
|
readonly getOrThrow: () => T;
|
|
61
61
|
readonly match: SuccessMatch<T>;
|
|
62
|
+
readonly [Symbol.iterator]: () => RunGetIterator<T, never, Success<T>>;
|
|
63
|
+
readonly [Symbol.asyncIterator]: () => AsyncRunGetIterator<T, never, Success<T>>;
|
|
62
64
|
};
|
|
63
65
|
export type Failure<E> = {
|
|
64
66
|
readonly status: typeof FailableStatus.Failure;
|
|
@@ -72,6 +74,8 @@ export type Failure<E> = {
|
|
|
72
74
|
readonly getOrElse: <U>(getValue: () => U) => U;
|
|
73
75
|
readonly getOrThrow: () => never;
|
|
74
76
|
readonly match: FailureMatch<E>;
|
|
77
|
+
readonly [Symbol.iterator]: () => RunGetIterator<never, E, Failure<E>>;
|
|
78
|
+
readonly [Symbol.asyncIterator]: () => AsyncRunGetIterator<never, E, Failure<E>>;
|
|
75
79
|
};
|
|
76
80
|
export declare function isFailable(value: unknown): value is Failable<unknown, unknown>;
|
|
77
81
|
export declare function isSuccess(value: unknown): value is Success<unknown>;
|
|
@@ -100,58 +104,24 @@ type FailableSyncOnlyCallback<F extends () => unknown> = F & (HasKnownPromiseLik
|
|
|
100
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>>;
|
|
101
105
|
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>;
|
|
102
106
|
declare const RUN_GET_TAG: unique symbol;
|
|
103
|
-
type RunSource<T, E> = Success<T> | Failure<E> | Failable<T, E>;
|
|
104
|
-
type RunSourceSuccessLike<TData = unknown> = {
|
|
105
|
-
readonly status: typeof FailableStatus.Success;
|
|
106
|
-
readonly data: TData;
|
|
107
|
-
};
|
|
108
|
-
type RunSourceFailureLike<TError = unknown> = {
|
|
109
|
-
readonly status: typeof FailableStatus.Failure;
|
|
110
|
-
readonly error: TError;
|
|
111
|
-
};
|
|
112
|
-
type InferRunSourceValue<TSource> = TSource extends PromiseLike<infer TValue> ? TValue : TSource;
|
|
113
|
-
type InferRunSourceData<TSource> = Extract<InferRunSourceValue<TSource>, RunSourceSuccessLike> extends {
|
|
114
|
-
readonly data: infer TData;
|
|
115
|
-
} ? TData : never;
|
|
116
|
-
type InferRunSourceError<TSource> = Extract<InferRunSourceValue<TSource>, RunSourceFailureLike> extends {
|
|
117
|
-
readonly error: infer TError;
|
|
118
|
-
} ? TError : never;
|
|
119
107
|
declare class RunGet<T, E, TSource = Failable<T, E>> {
|
|
120
108
|
readonly [RUN_GET_TAG] = true;
|
|
121
109
|
readonly source: TSource;
|
|
122
110
|
private constructor();
|
|
123
|
-
static create<T, E, TSource extends Failable<T, E
|
|
111
|
+
static create<T, E, TSource extends Failable<T, E>>(source: TSource): RunGet<T, E, TSource>;
|
|
124
112
|
}
|
|
125
113
|
type RunGetIterator<T, E, TSource extends Failable<T, E> = Failable<T, E>> = Generator<RunGet<T, E, TSource>, T, unknown>;
|
|
126
|
-
type AsyncRunGetIterator<T, E, TSource extends Failable<T, E>
|
|
127
|
-
type RunHelpers = {
|
|
128
|
-
readonly get: {
|
|
129
|
-
<T>(source: Success<T>): RunGetIterator<T, never, Success<T>>;
|
|
130
|
-
<E>(source: Failure<E>): RunGetIterator<never, E, Failure<E>>;
|
|
131
|
-
<T, E>(source: Failable<T, E>): RunGetIterator<T, E, Failable<T, E>>;
|
|
132
|
-
<T>(source: PromiseLike<Success<T>>): AsyncRunGetIterator<T, never, PromiseLike<Success<T>>>;
|
|
133
|
-
<E>(source: PromiseLike<Failure<E>>): AsyncRunGetIterator<never, E, PromiseLike<Failure<E>>>;
|
|
134
|
-
<TPromise extends PromiseLike<unknown>>(source: TPromise & PromiseLike<RunSource<unknown, unknown>>): AsyncRunGetIterator<InferRunSourceData<TPromise>, InferRunSourceError<TPromise>, PromiseLike<Failable<InferRunSourceData<TPromise>, InferRunSourceError<TPromise>>>>;
|
|
135
|
-
};
|
|
136
|
-
};
|
|
114
|
+
type AsyncRunGetIterator<T, E, TSource extends Failable<T, E> = Failable<T, E>> = AsyncGenerator<RunGet<T, E, TSource>, T, unknown>;
|
|
137
115
|
type RunYield = RunGet<unknown, unknown, unknown>;
|
|
138
|
-
type
|
|
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>;
|
|
139
119
|
type InferRunYieldError<TYield> = TYield extends RunGet<unknown, infer TError, unknown> ? TError : never;
|
|
140
|
-
type InferRunGuaranteedFailureError<TYield> = TYield extends RunGet<unknown, infer TError, infer TSource> ? [TSource] extends [Failure<TError>
|
|
141
|
-
type RunReturnSuccessLike<TData = unknown> = {
|
|
142
|
-
readonly status: typeof FailableStatus.Success;
|
|
143
|
-
readonly data: TData;
|
|
144
|
-
readonly error: null;
|
|
145
|
-
};
|
|
146
|
-
type RunReturnFailureLike<TError = unknown> = {
|
|
147
|
-
readonly status: typeof FailableStatus.Failure;
|
|
148
|
-
readonly data: null;
|
|
149
|
-
readonly error: TError;
|
|
150
|
-
};
|
|
120
|
+
type InferRunGuaranteedFailureError<TYield> = TYield extends RunGet<unknown, infer TError, infer TSource> ? [TSource] extends [Failure<TError>] ? TError : never : never;
|
|
151
121
|
type MergeRunErrors<TYield, TError> = InferRunYieldError<TYield> | TError;
|
|
152
|
-
type InferRunSuccessResult<TYield, TData> = [
|
|
153
|
-
|
|
154
|
-
] ? Success<TData> : Failable<TData, InferRunYieldError<TYield>>;
|
|
122
|
+
type InferRunSuccessResult<TYield, TData> = [
|
|
123
|
+
InferRunYieldError<TYield>
|
|
124
|
+
] extends [never] ? Success<TData> : Failable<TData, InferRunYieldError<TYield>>;
|
|
155
125
|
type InferRunNeverSuccessResult<TYield> = [InferRunYieldError<TYield>] extends [
|
|
156
126
|
never
|
|
157
127
|
] ? Success<never> : [InferRunGuaranteedFailureError<TYield>] extends [never] ? Failable<never, InferRunYieldError<TYield>> : Failure<InferRunYieldError<TYield>>;
|
|
@@ -162,8 +132,36 @@ type InferRunUnionReturnError<TResult> = Extract<TResult, RunReturnFailureLike>
|
|
|
162
132
|
readonly error: infer TError;
|
|
163
133
|
} ? TError : never;
|
|
164
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>>>;
|
|
165
|
-
|
|
166
|
-
|
|
135
|
+
type RunNoHelpers = {
|
|
136
|
+
readonly __runNoHelpers?: never;
|
|
137
|
+
};
|
|
138
|
+
type FailableSource<T, E> = Failable<T, E> | PromiseLike<Failable<T, E>>;
|
|
139
|
+
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
|
+
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
|
+
type AllTupleError<T> = T extends readonly (infer P)[] ? FailableSourceError<P> : never;
|
|
142
|
+
type AllTupleData<T> = {
|
|
143
|
+
readonly [K in keyof T]: FailableSourceData<T[K]>;
|
|
144
|
+
};
|
|
145
|
+
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;
|
|
147
|
+
type FailableSourceHasGuaranteedFailure<T> = T extends Failure<unknown> | PromiseLike<Failure<unknown>> ? true : false;
|
|
148
|
+
type TupleHasAsync<T> = T extends readonly [infer First, ...infer Rest] ? FailableSourceIsAsync<First> extends true ? true : Rest extends readonly unknown[] ? TupleHasAsync<Rest> : false : false;
|
|
149
|
+
/** True when at least one element of T is Failure<...> or PromiseLike<Failure<...>>. */
|
|
150
|
+
type AllTupleHasGuaranteedFailure<T> = T extends readonly [
|
|
151
|
+
infer First,
|
|
152
|
+
...infer Rest
|
|
153
|
+
] ? FailableSourceHasGuaranteedFailure<First> extends true ? true : Rest extends readonly unknown[] ? AllTupleHasGuaranteedFailure<Rest> : false : false;
|
|
154
|
+
type AllReturnData<T> = AllTupleHasGuaranteedFailure<T> extends true ? never : AllTupleData<T>;
|
|
155
|
+
type AllSettledTuple<T> = {
|
|
156
|
+
readonly [K in keyof T]: FailableSourceSettled<T[K]>;
|
|
157
|
+
};
|
|
158
|
+
type RaceData<T> = T extends readonly (infer P)[] ? FailableSourceData<P> : never;
|
|
159
|
+
type RaceError<T> = T extends readonly (infer P)[] ? FailableSourceError<P> : never;
|
|
160
|
+
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>;
|
|
167
165
|
export declare function failable<T>(value: Success<T>): Success<T>;
|
|
168
166
|
export declare function failable<E>(value: Failure<E>): Failure<E>;
|
|
169
167
|
export declare function failable<T, E>(value: Failable<T, E>): Failable<T, E>;
|
|
@@ -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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"}
|