@pvorona/failable 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@ input, missing config, not found, or a dependency call that can fail. Return a
8
8
 
9
9
  A `Failable<T, E>` is either `Success<T>` or `Failure<E>`.
10
10
 
11
- - `success(...)` / `failure()` / `failure(...)` create results
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
14
 
@@ -20,98 +20,45 @@ npm i @pvorona/failable
20
20
 
21
21
  This package is ESM-only and requires Node 18+.
22
22
 
23
- ## Migration Note
24
-
25
- If you are upgrading from the previous API name:
26
-
27
- - `createFailable(x)` -> `failable(x)`
28
- - `CreateFailableNormalizeErrorOptions` -> `FailableNormalizeErrorOptions`
29
- - `result.isError` -> `result.isFailure`
30
- - `.error` is unchanged
31
- - `failure(...)`, `Failure<E>`, `throwIfError(...)`, and `getOrThrow()` are unchanged
32
-
33
23
  ## Basic Usage
34
24
 
35
- Use `Failable` when callers need different behavior for different expected
36
- failures. This is especially useful for business rules that schema validators do
37
- not model for you:
25
+ Return `success(...)` or `failure(...)`, then branch on `result.isFailure`.
26
+ The typed error lets the caller decide what to do for each failure reason.
38
27
 
39
28
  ```ts
40
29
  import { failure, success, type Failable } from '@pvorona/failable';
41
30
 
42
- type TransferRequest = {
43
- fromAccountId: string;
44
- toAccountId: string;
45
- amountCents: number;
46
- };
47
-
48
- type TransferPlan = TransferRequest & {
49
- feeCents: number;
50
- };
51
-
52
- type TransferError =
53
- | { code: 'same_account' }
54
- | { code: 'amount_too_small'; minAmountCents: number }
55
- | {
56
- code: 'insufficient_funds';
57
- balanceCents: number;
58
- attemptedCents: number;
59
- };
60
-
61
- function planTransfer(
62
- request: TransferRequest,
63
- balanceCents: number,
64
- ): Failable<TransferPlan, TransferError> {
65
- if (request.fromAccountId === request.toAccountId) {
66
- return failure({ code: 'same_account' });
67
- }
31
+ type ReadPortError =
32
+ | { code: 'missing' }
33
+ | { code: 'invalid'; raw: string };
68
34
 
69
- if (request.amountCents < 100) {
70
- return failure({ code: 'amount_too_small', minAmountCents: 100 });
71
- }
35
+ function readPort(raw: string | undefined): Failable<number, ReadPortError> {
36
+ if (raw === undefined) return failure({ code: 'missing' });
72
37
 
73
- if (balanceCents < request.amountCents) {
74
- return failure({
75
- code: 'insufficient_funds',
76
- balanceCents,
77
- attemptedCents: request.amountCents,
78
- });
38
+ const port = Number(raw);
39
+ if (!Number.isInteger(port) || port <= 0) {
40
+ return failure({ code: 'invalid', raw });
79
41
  }
80
42
 
81
- return success({ ...request, feeCents: 25 });
43
+ return success(port);
82
44
  }
83
45
 
84
- const result = planTransfer(
85
- {
86
- fromAccountId: 'checking',
87
- toAccountId: 'savings',
88
- amountCents: 10_000,
89
- },
90
- 4_500,
91
- );
46
+ const result = readPort(process.env.PORT);
92
47
 
93
48
  if (result.isFailure) {
94
49
  switch (result.error.code) {
95
- case 'same_account':
96
- console.error('Choose a different destination account');
97
- break;
98
- case 'amount_too_small':
99
- console.error(`Transfers start at ${result.error.minAmountCents} cents`);
50
+ case 'missing':
51
+ console.error('PORT is not set');
100
52
  break;
101
- case 'insufficient_funds':
102
- console.error(
103
- `Balance ${result.error.balanceCents} is below ${result.error.attemptedCents}`
104
- );
53
+ case 'invalid':
54
+ console.error(`PORT is not a valid number: ${result.error.raw}`);
105
55
  break;
106
56
  }
107
57
  } else {
108
- console.log(result.data.feeCents);
58
+ console.log(`Listening on ${result.data}`);
109
59
  }
110
60
  ```
111
61
 
112
- That is the default usage model for this package: return a typed result that
113
- carries both the success value and the expected failure reason.
114
-
115
62
  ## Choose The Right API
116
63
 
117
64
  | Need | Use |
@@ -129,7 +76,7 @@ carries both the success value and the expected failure reason.
129
76
  ## Unwrapping And Recovery
130
77
 
131
78
  Start with ordinary branching on `result.isFailure` or `result.isSuccess`. When
132
- you need a shorter form, use the helper that matches the job:
79
+ you want something shorter, use the helper that matches the job:
133
80
 
134
81
  - `result.getOr(fallback)`: return the success value or an eager fallback
135
82
  - `result.getOrElse(() => fallback)`: same, but lazily
@@ -141,81 +88,66 @@ you need a shorter form, use the helper that matches the job:
141
88
 
142
89
  Use the lazy forms when the fallback is expensive or has side effects.
143
90
 
144
- ```ts
145
- import { failure, success, throwIfError } from '@pvorona/failable';
91
+ Using `readPort` from above:
146
92
 
147
- const feeResult =
148
- Math.random() > 0.5
149
- ? success(25)
150
- : failure({ code: 'pricing_unavailable' as const });
93
+ ```ts
94
+ const result = readPort(process.env.PORT);
151
95
 
152
- const feeCents = feeResult.getOr(25);
153
- const status = feeResult.match(
154
- (value) => `Fee is ${value} cents`,
155
- ({ code }) => `Cannot quote fee: ${code}`
96
+ const port = result.getOr(3000);
97
+ const label = result.match(
98
+ (port) => `Listening on ${port}`,
99
+ (error) => `Using default port (${error.code})`
156
100
  );
157
-
158
- throwIfError(feeResult);
159
- console.log(feeCents, status, feeResult.data);
160
101
  ```
161
102
 
162
- ## Capture Thrown Or Rejected Failures With `failable(...)`
103
+ `throwIfError` narrows the result to `Success` in place, so
104
+ subsequent code can access `.data` without branching:
163
105
 
164
- Use `failable(...)` at boundaries that throw or reject, then normalize
165
- that failure once at the boundary if needed:
106
+ ```ts
107
+ import { throwIfError } from '@pvorona/failable';
166
108
 
167
- Using `TransferPlan` from above:
109
+ const result = readPort(process.env.PORT);
168
110
 
169
- ```ts
170
- import {
171
- failable,
172
- run,
173
- success,
174
- type Failable,
175
- } from '@pvorona/failable';
111
+ throwIfError(result);
112
+ console.log(result.data * 2);
113
+ ```
176
114
 
177
- type SubmitTransferError = Error;
115
+ ## Capture Thrown Or Rejected Failures With `failable(...)`
178
116
 
179
- async function postToLedger(
180
- plan: TransferPlan,
181
- ): Promise<Failable<{ transferId: string }, SubmitTransferError>> {
182
- const request = (async () => {
183
- if (plan.amountCents > 5_000) {
184
- throw { code: 'ledger_unavailable' } as const;
185
- }
117
+ Use `failable(...)` at a boundary you do not control. It turns a thrown or
118
+ rejected value into `Failure`, so the rest of your code can stay in normal
119
+ `Failable` flow.
186
120
 
187
- return { transferId: 'tr_123' };
188
- })();
121
+ Use the callback form for synchronous code that can throw:
189
122
 
190
- return await failable(request, {
191
- normalizeError(error) {
192
- return new Error('Ledger unavailable', { cause: error });
193
- },
194
- });
195
- }
123
+ ```ts
124
+ import { failable, NormalizedErrors } from '@pvorona/failable';
196
125
 
197
- async function submitTransfer(
198
- plan: TransferPlan,
199
- ): Promise<Failable<{ transferId: string }, SubmitTransferError>> {
200
- return await run(async function* ({ get }) {
201
- const created = yield* get(postToLedger(plan));
126
+ const rawConfig = '{"theme":"dark"}';
127
+ const configResult = failable(() => JSON.parse(rawConfig), NormalizedErrors);
202
128
 
203
- return success(created);
204
- });
129
+ if (configResult.isFailure) {
130
+ console.error(configResult.error.message);
131
+ } else {
132
+ console.log(configResult.data);
205
133
  }
206
134
  ```
207
135
 
208
- `postToLedger(...)` is the boundary adapter. It uses
209
- `failable(..., { normalizeError })` to capture a raw throw/rejection once
210
- and expose one stable `Error` shape to the rest of the app. If you only need
211
- generic `Error` normalization, `NormalizedErrors` is the built-in shortcut.
212
- Once that helper already returns `Failable`, `submitTransfer(...)` can use
213
- `run(...)` to compose it like any other step.
136
+ `NormalizedErrors` is the built-in shortcut when you want `.error` to be an
137
+ `Error`.
214
138
 
215
139
  Pass a promise directly when you want rejection capture:
216
140
 
217
141
  ```ts
218
- const responseResult = await failable(fetch(url));
142
+ import { failable, NormalizedErrors } from '@pvorona/failable';
143
+ import { readFile } from 'node:fs/promises';
144
+
145
+ const fileResult = await failable(
146
+ readFile('config.json', 'utf8'),
147
+ NormalizedErrors
148
+ );
149
+
150
+ const config = fileResult.getOr('{}');
219
151
  ```
220
152
 
221
153
  `failable(...)` can:
@@ -235,174 +167,136 @@ you to pass the promise directly instead.
235
167
  ## Compose Existing `Failable` Steps With `run(...)`
236
168
 
237
169
  Use `run(...)` when each step already returns `Failable` and you want to write
238
- the success path once:
170
+ the success path once. If any yielded step fails, `run(...)` returns that same
171
+ failure unchanged.
239
172
 
240
- Without `run(...)`, composition often becomes an error ladder:
173
+ Without `run(...)`, composing steps means checking each result before
174
+ continuing:
241
175
 
242
176
  ```ts
243
177
  import { failure, success, type Failable } from '@pvorona/failable';
244
178
 
245
- type Account = {
246
- id: string;
247
- balanceCents: number;
248
- };
249
-
250
- type TransferPlanningError =
251
- | TransferError
252
- | { code: 'source_account_not_found'; accountId: string }
253
- | { code: 'destination_account_not_found'; accountId: string };
254
-
255
- function readSourceAccount(
256
- accountId: string,
257
- ): Failable<Account, TransferPlanningError> {
258
- if (accountId !== 'checking') {
259
- return failure({ code: 'source_account_not_found', accountId });
260
- }
261
-
262
- return success({ id: 'checking', balanceCents: 5_000 });
263
- }
179
+ type ConfigError =
180
+ | { code: 'missing'; key: string }
181
+ | { code: 'invalid'; key: string; raw: string };
264
182
 
265
- function readDestinationAccount(
266
- accountId: string,
267
- ): Failable<Account, TransferPlanningError> {
268
- if (accountId !== 'savings') {
269
- return failure({ code: 'destination_account_not_found', accountId });
270
- }
183
+ function readEnv(
184
+ key: string,
185
+ env: Record<string, string | undefined>,
186
+ ): Failable<string, ConfigError> {
187
+ const raw = env[key];
188
+ if (raw === undefined) return failure({ code: 'missing', key });
271
189
 
272
- return success({ id: 'savings', balanceCents: 20_000 });
190
+ return success(raw);
273
191
  }
274
192
 
275
-
276
- function ensureSufficientFunds(
277
- source: Account,
278
- amountCents: number,
279
- ): Failable<Account, TransferPlanningError> {
280
- if (source.balanceCents < amountCents) {
281
- return failure({
282
- code: 'insufficient_funds',
283
- balanceCents: source.balanceCents,
284
- attemptedCents: amountCents,
285
- });
193
+ function parsePort(raw: string): Failable<number, ConfigError> {
194
+ const port = Number(raw);
195
+ if (!Number.isInteger(port) || port <= 0) {
196
+ return failure({ code: 'invalid', key: 'PORT', raw });
286
197
  }
287
198
 
288
- return success(source);
199
+ return success(port);
289
200
  }
290
201
 
291
- function planTransfer(
292
- { fromAccountId, toAccountId, amountCents }: TransferRequest,
293
- ): Failable<TransferPlan, TransferPlanningError> {
294
- const source = readSourceAccount(fromAccountId);
202
+ function loadConfig(
203
+ env: Record<string, string | undefined>,
204
+ ): Failable<{ host: string; port: number }, ConfigError> {
205
+ const hostResult = readEnv('HOST', env);
206
+ if (hostResult.isFailure) return hostResult;
295
207
 
296
- if (source.isFailure) {
297
- return source;
298
- }
208
+ const rawPortResult = readEnv('PORT', env);
209
+ if (rawPortResult.isFailure) return rawPortResult;
299
210
 
300
- if (source.balanceCents < amountCents) {
301
- return failure({
302
- code: 'insufficient_funds',
303
- balanceCents: source.balanceCents,
304
- attemptedCents: amountCents,
305
- });
306
- }
211
+ const portResult = parsePort(rawPortResult.data);
212
+ if (portResult.isFailure) return portResult;
307
213
 
308
- const destination = readDestinationAccount(toAccountId);
214
+ return success({ host: hostResult.data, port: portResult.data });
215
+ }
216
+ ```
309
217
 
310
- if (destination.isFailure) {
311
- return destination;
312
- }
218
+ With `run(...)`, the same flow stays linear:
313
219
 
314
- if (source.id === destination.id) {
315
- return failure({ code: 'same_account' });
316
- }
220
+ ```ts
221
+ import { run, success, type Failable } from '@pvorona/failable';
222
+
223
+ function loadConfig(
224
+ env: Record<string, string | undefined>,
225
+ ): Failable<{ host: string; port: number }, ConfigError> {
226
+ return run(function* ({ get }) {
227
+ const host = yield* get(readEnv('HOST', env));
228
+ const rawPort = yield* get(readEnv('PORT', env));
229
+ const port = yield* get(parsePort(rawPort));
317
230
 
318
- return success({ fromAccountId, toAccountId, amountCents, feeCents: 25 });
231
+ return success({ host, port });
232
+ });
319
233
  }
320
234
  ```
321
235
 
322
- With the same helpers, `run(...)` keeps the flow linear:
236
+ For async flows, switch to `run(async function* ...)`. `get(...)` also accepts
237
+ promises that resolve to `Success` / `Failure` unions, so helper functions can
238
+ stay unannotated and still infer the full error union:
323
239
 
324
240
  ```ts
325
- import { failure, run, success, type Failable } from '@pvorona/failable';
241
+ import {
242
+ failable,
243
+ failure,
244
+ run,
245
+ success,
246
+ type Failable,
247
+ } from '@pvorona/failable';
326
248
 
327
- function planTransfer(
328
- { fromAccountId, toAccountId, amountCents }: TransferRequest,
329
- ): Failable<TransferPlan, TransferPlanningError> {
330
- return run(function* ({ get }) {
331
- const source = yield* get(readSourceAccount(fromAccountId));
249
+ type ApiError =
250
+ | { code: 'network_error'; cause: unknown }
251
+ | { code: 'http_error'; status: number }
252
+ | { code: 'json_parse_error'; cause: unknown };
332
253
 
333
- if (source.balanceCents < amountCents) {
334
- return failure({
335
- code: 'insufficient_funds',
336
- balanceCents: source.balanceCents,
337
- attemptedCents: amountCents,
338
- });
339
- }
254
+ type User = { id: string; email: string };
255
+ type Profile = { id: string; pictureUrl: string };
340
256
 
341
- const destination = yield* get(readDestinationAccount(toAccountId));
257
+ async function readJson<T>(url: string) {
258
+ const responseResult = await failable(fetch(url));
259
+ if (responseResult.isFailure) {
260
+ return failure({ code: 'network_error', cause: responseResult.error } as const);
261
+ }
342
262
 
343
- if (source.id === destination.id) {
344
- return failure({ code: 'same_account' });
345
- }
263
+ const response = responseResult.data;
264
+ if (!response.ok) {
265
+ return failure({ code: 'http_error', status: response.status } as const);
266
+ }
346
267
 
347
- return success({ fromAccountId, toAccountId, amountCents, feeCents: 25 });
348
- });
349
- }
350
- ```
268
+ const jsonResult = await failable(response.json());
269
+ if (jsonResult.isFailure) {
270
+ return failure({ code: 'json_parse_error', cause: jsonResult.error } as const);
271
+ }
351
272
 
352
- With one async rule added, the shape stays the same:
273
+ return success(jsonResult.data as T);
274
+ }
353
275
 
354
- ```ts
355
- import { failure, run, success, type Failable } from '@pvorona/failable';
276
+ async function getUser(userId: string) {
277
+ return readJson<User>(`https://api.example.com/users/${userId}`);
278
+ }
356
279
 
357
- type TransferAsyncError =
358
- | TransferPlanningError
359
- | { code: 'daily_limit_exceeded'; remainingCents: number };
280
+ async function getUserProfile(userId: string) {
281
+ return readJson<Profile>(`https://api.example.com/users/${userId}/profile`);
282
+ }
360
283
 
361
- async function planTransfer(
362
- { fromAccountId, toAccountId, amountCents }: TransferRequest,
363
- ): Promise<Failable<TransferPlan, TransferAsyncError>> {
284
+ async function loadUserPage(
285
+ userId: string,
286
+ ): Promise<Failable<{ user: User; profile: Profile }, ApiError>> {
364
287
  return await run(async function* ({ get }) {
365
- const source = yield* get(readSourceAccount(fromAccountId));
366
-
367
- if (source.balanceCents < amountCents) {
368
- return failure({
369
- code: 'insufficient_funds',
370
- balanceCents: source.balanceCents,
371
- attemptedCents: amountCents,
372
- });
373
- }
374
-
375
- const destination = yield* get(readDestinationAccount(toAccountId));
376
-
377
- if (source.id === destination.id) {
378
- return failure({ code: 'same_account' });
379
- }
380
-
381
- // Simulate an async step that can fail
382
- yield* get(
383
- (async () => {
384
- const remainingCents = source.id === 'checking' ? 3_000 : 0;
385
- if (amountCents > remainingCents) {
386
- return failure({ code: 'daily_limit_exceeded', remainingCents });
387
- }
388
-
389
- return success();
390
- })()
391
- );
392
-
393
- return success({ fromAccountId, toAccountId, amountCents, feeCents: 25 });
288
+ const user = yield* get(getUser(userId));
289
+ const profile = yield* get(getUserProfile(userId));
290
+
291
+ return success({ user, profile });
394
292
  });
395
293
  }
396
294
  ```
397
295
 
398
- Keep these rules in mind:
399
-
400
- - `run(...)` composes existing `Failable` values
401
296
  - if a yielded step fails, `run(...)` returns that original failure unchanged
402
297
  - in async builders, keep using `yield* get(...)`; do not write `await get(...)`
403
- - `run(...)` does not capture thrown values or rejected promises into `Failure`
404
- - wrap throwing or rejecting boundaries with `failable(...)` before they
405
- enter `run(...)`
298
+ - `run(...)` does not capture thrown values or rejected promises into `Failure`;
299
+ wrap throwing boundaries with `failable(...)` before they enter `run(...)`
406
300
 
407
301
  ## Transport And Runtime Validation
408
302
 
@@ -413,18 +307,12 @@ side:
413
307
 
414
308
  ```ts
415
309
  import {
310
+ failure,
416
311
  failable,
417
312
  toFailableLike,
418
313
  } from '@pvorona/failable';
419
314
 
420
- const result = planTransfer(
421
- {
422
- fromAccountId: 'checking',
423
- toAccountId: 'savings',
424
- amountCents: 2_500,
425
- },
426
- 5_000,
427
- );
315
+ const result = failure({ code: 'missing' as const });
428
316
 
429
317
  const wire = toFailableLike(result);
430
318
  const hydrated = failable(wire);
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
- import { isFunction as d, isObject as c, hasOwnPropertyValue as S, hasOwnKey as y } from "@pvorona/assert";
1
+ import { isFunction as E, isObject as i, hasOwnPropertyValue as S, hasOwnKey as y } from "@pvorona/assert";
2
2
  import { notImplemented as a } from "@pvorona/not-implemented";
3
- const F = /* @__PURE__ */ Symbol("Failable"), A = /* @__PURE__ */ Symbol("Success"), O = /* @__PURE__ */ Symbol("Failure"), u = Object.freeze({
3
+ const F = /* @__PURE__ */ Symbol("Failable"), A = /* @__PURE__ */ Symbol("Success"), O = /* @__PURE__ */ Symbol("Failure"), o = Object.freeze({
4
4
  Success: "success",
5
5
  Failure: "failure"
6
6
  }), k = Object.freeze({
7
7
  mode: "normalized-errors"
8
8
  });
9
9
  function G(r) {
10
- return c(r) && Object.keys(r).length === 2 && S(r, "status", u.Success) && y(r, "data");
10
+ return i(r) && Object.keys(r).length === 2 && S(r, "status", o.Success) && y(r, "data");
11
11
  }
12
12
  function T(r) {
13
- return c(r) && Object.keys(r).length === 2 && S(r, "status", u.Failure) && y(r, "error");
13
+ return i(r) && Object.keys(r).length === 2 && S(r, "status", o.Failure) && y(r, "error");
14
14
  }
15
15
  function w(r) {
16
16
  return T(r) || G(r);
@@ -29,7 +29,7 @@ const m = {
29
29
  match: a
30
30
  }, p = (() => {
31
31
  const r = Object.create(m);
32
- return r[A] = !0, r.status = u.Success, r.isSuccess = !0, r.or = function() {
32
+ return r[A] = !0, r.status = o.Success, r.isSuccess = !0, r.or = function() {
33
33
  return this;
34
34
  }, r.orElse = function() {
35
35
  return this;
@@ -44,7 +44,7 @@ const m = {
44
44
  }, Object.freeze(r);
45
45
  })(), N = (() => {
46
46
  const r = Object.create(m);
47
- return r[O] = !0, r.status = u.Failure, r.isFailure = !0, r.or = function(t) {
47
+ return r[O] = !0, r.status = o.Failure, r.isFailure = !0, r.or = function(t) {
48
48
  return f(t);
49
49
  }, r.orElse = function(t) {
50
50
  return f(t());
@@ -53,36 +53,36 @@ const m = {
53
53
  }, r.getOrElse = function(t) {
54
54
  return t();
55
55
  }, r.getOrThrow = function() {
56
- throw this.error;
56
+ throw this.error === void 0 ? new Error("getOrThrow() called on Failure<void> with no error value") : this.error;
57
57
  }, r.match = function(t, n) {
58
58
  return n(this.error);
59
59
  }, Object.freeze(r);
60
60
  })();
61
- function b(r, e) {
62
- return c(r) ? r[e] === !0 : !1;
61
+ function h(r, e) {
62
+ return i(r) ? r[e] === !0 : !1;
63
63
  }
64
- function i(r) {
65
- return b(r, F);
64
+ function c(r) {
65
+ return h(r, F);
66
66
  }
67
- function ir(r) {
68
- return b(r, A);
67
+ function cr(r) {
68
+ return h(r, A);
69
69
  }
70
70
  function sr(r) {
71
- return b(r, O);
71
+ return h(r, O);
72
72
  }
73
73
  function f(r) {
74
74
  const e = Object.create(p);
75
75
  return e.data = r, Object.freeze(e);
76
76
  }
77
- function E(r) {
77
+ function d(r) {
78
78
  const e = Object.create(N);
79
79
  return e.error = r, Object.freeze(e);
80
80
  }
81
81
  function ar(r) {
82
- if (r.status === u.Failure) throw r.error;
82
+ if (r.status === o.Failure) throw r.error;
83
83
  }
84
84
  function fr(r) {
85
- return r.status === u.Failure ? { status: u.Failure, error: r.error } : { status: u.Success, data: r.data };
85
+ return r.status === o.Failure ? { status: o.Failure, error: r.error } : { status: o.Success, data: r.data };
86
86
  }
87
87
  const U = "`failable(() => ...)` only accepts synchronous callbacks. This callback returned a Promise. Pass the promise directly instead: `await failable(promise)`.", j = /* @__PURE__ */ Symbol("FailablePromiseCallbackGuard"), C = /* @__PURE__ */ Symbol("RunGet");
88
88
  class s {
@@ -103,7 +103,7 @@ async function* B(r) {
103
103
  return yield s.create(r);
104
104
  }
105
105
  function R(r) {
106
- return !c(r) && !d(r) ? !1 : d(r.then);
106
+ return !i(r) && !E(r) ? !1 : E(r.then);
107
107
  }
108
108
  function x(r) {
109
109
  return R(r) ? B(r) : z(r);
@@ -115,7 +115,7 @@ function I(r) {
115
115
  if (!(r instanceof s))
116
116
  throw new Error(l);
117
117
  const e = r.source;
118
- if (!i(e))
118
+ if (!c(e))
119
119
  throw new Error(l);
120
120
  return e;
121
121
  }
@@ -123,7 +123,7 @@ async function V(r) {
123
123
  if (!(r instanceof s))
124
124
  throw new Error(l);
125
125
  const e = await r.source;
126
- if (!i(e))
126
+ if (!c(e))
127
127
  throw new Error(l);
128
128
  return e;
129
129
  }
@@ -136,7 +136,7 @@ async function L(r) {
136
136
  } catch (t) {
137
137
  return { kind: "rejection", rejection: t };
138
138
  }
139
- if (!i(e))
139
+ if (!c(e))
140
140
  throw new Error(l);
141
141
  return { kind: "source", source: e };
142
142
  }
@@ -144,7 +144,7 @@ function K(r, e) {
144
144
  let t = r.return(e);
145
145
  for (; !t.done; ) {
146
146
  const n = I(t.value);
147
- if (n.status === u.Failure) {
147
+ if (n.status === o.Failure) {
148
148
  t = r.return(e);
149
149
  continue;
150
150
  }
@@ -155,7 +155,7 @@ async function H(r, e) {
155
155
  let t = await r.return(e);
156
156
  for (; !t.done; ) {
157
157
  const n = await V(t.value);
158
- if (n.status === u.Failure) {
158
+ if (n.status === o.Failure) {
159
159
  t = await r.return(e);
160
160
  continue;
161
161
  }
@@ -171,7 +171,7 @@ async function J(r) {
171
171
  continue;
172
172
  }
173
173
  const n = t.source;
174
- if (n.status === u.Failure) {
174
+ if (n.status === o.Failure) {
175
175
  e = await r.return(void 0);
176
176
  continue;
177
177
  }
@@ -179,7 +179,7 @@ async function J(r) {
179
179
  }
180
180
  }
181
181
  function P(r) {
182
- if (i(r))
182
+ if (c(r))
183
183
  return r;
184
184
  if (r === void 0)
185
185
  return f();
@@ -192,7 +192,7 @@ function Y(r) {
192
192
  let e = r.next();
193
193
  for (; !e.done; ) {
194
194
  const t = I(e.value);
195
- if (t.status === u.Failure)
195
+ if (t.status === o.Failure)
196
196
  return K(r, t), t;
197
197
  e = r.next(t.data);
198
198
  }
@@ -205,7 +205,7 @@ async function q(r) {
205
205
  if (t.kind === "rejection")
206
206
  throw await J(r), t.rejection;
207
207
  const n = t.source;
208
- if (n.status === u.Failure)
208
+ if (n.status === o.Failure)
209
209
  return await H(r, n), n;
210
210
  e = await r.next(n.data);
211
211
  }
@@ -215,11 +215,11 @@ function lr(r) {
215
215
  const e = r(D);
216
216
  return W(e) ? q(e) : Y(e);
217
217
  }
218
- function Er(r, e) {
219
- return i(r) ? o(r, e) : w(r) ? o(g(r), e) : d(r) ? $(r, e) : v(r, e);
218
+ function dr(r, e) {
219
+ return c(r) ? u(r, e) : w(r) ? u(b(r), e) : E(r) ? $(r, e) : v(r, e);
220
220
  }
221
- function g(r) {
222
- return r.status === u.Success ? f(r.data) : E(r.error);
221
+ function b(r) {
222
+ return r.status === o.Success ? f(r.data) : d(r.error);
223
223
  }
224
224
  function Q() {
225
225
  const r = new Error(
@@ -245,40 +245,40 @@ function Z(r) {
245
245
  function $(r, e) {
246
246
  try {
247
247
  const t = r();
248
- return R(t) ? (Z(t), o(
249
- E(Q()),
248
+ return R(t) ? (Z(t), u(
249
+ d(Q()),
250
250
  e
251
- )) : i(t) ? o(t, e) : w(t) ? o(g(t), e) : f(t);
251
+ )) : c(t) ? u(t, e) : w(t) ? u(b(t), e) : f(t);
252
252
  } catch (t) {
253
- return o(E(t), e);
253
+ return u(d(t), e);
254
254
  }
255
255
  }
256
256
  function v(r, e) {
257
257
  return Promise.resolve(r).then(
258
- (t) => i(t) ? o(t, e) : w(t) ? o(g(t), e) : f(t),
259
- (t) => o(E(t), e)
258
+ (t) => c(t) ? u(t, e) : w(t) ? u(b(t), e) : f(t),
259
+ (t) => u(d(t), e)
260
260
  );
261
261
  }
262
- function o(r, e) {
263
- if (r.status === u.Success || X(r.error)) return r;
262
+ function u(r, e) {
263
+ if (r.status === o.Success || X(r.error)) return r;
264
264
  const t = rr(e);
265
- return t === null || r.error instanceof Error && e !== void 0 && _(e) ? r : E(t(r.error));
265
+ return t === null || r.error instanceof Error && e !== void 0 && _(e) ? r : d(t(r.error));
266
266
  }
267
267
  function rr(r) {
268
- return r === void 0 ? null : _(r) ? ur : er(r) ? r.normalizeError : null;
268
+ return r === void 0 ? null : _(r) ? or : er(r) ? r.normalizeError : null;
269
269
  }
270
270
  function _(r) {
271
- return !c(r) || Object.keys(r).length !== 1 ? !1 : Object.getOwnPropertyDescriptor(r, "mode")?.value === k.mode;
271
+ return !i(r) || Object.keys(r).length !== 1 ? !1 : Object.getOwnPropertyDescriptor(r, "mode")?.value === k.mode;
272
272
  }
273
273
  function er(r) {
274
- return c(r) ? d(r.normalizeError) : !1;
274
+ return i(r) ? E(r.normalizeError) : !1;
275
275
  }
276
276
  function tr(r) {
277
- if (!c(r) || Array.isArray(r)) return !1;
277
+ if (!i(r) || Array.isArray(r)) return !1;
278
278
  const e = Object.getPrototypeOf(r);
279
279
  return e === Object.prototype || e === null;
280
280
  }
281
- function h(r) {
281
+ function g(r) {
282
282
  try {
283
283
  const e = JSON.stringify(r);
284
284
  if (typeof e == "string") return e;
@@ -289,26 +289,26 @@ function h(r) {
289
289
  }
290
290
  function nr(r) {
291
291
  if (Object.getPrototypeOf(r) === null) {
292
- const n = h(r);
292
+ const n = g(r);
293
293
  return n !== null ? n : Object.prototype.toString.call(r);
294
294
  }
295
295
  const e = String(r);
296
296
  if (e !== "[object Object]") return e;
297
- const t = h(r);
297
+ const t = g(r);
298
298
  return t === null ? e : t;
299
299
  }
300
- function ur(r) {
300
+ function or(r) {
301
301
  return r instanceof Error ? r : Array.isArray(r) ? new AggregateError(r, "Multiple errors", { cause: r }) : tr(r) ? new Error(nr(r), { cause: r }) : new Error(String(r), { cause: r });
302
302
  }
303
303
  export {
304
- u as FailableStatus,
304
+ o as FailableStatus,
305
305
  k as NormalizedErrors,
306
- Er as failable,
307
- E as failure,
308
- i as isFailable,
306
+ dr as failable,
307
+ d as failure,
308
+ c as isFailable,
309
309
  w as isFailableLike,
310
310
  sr as isFailure,
311
- ir as isSuccess,
311
+ cr as isSuccess,
312
312
  lr as run,
313
313
  f as success,
314
314
  ar as throwIfError,
@@ -100,6 +100,22 @@ type FailableSyncOnlyCallback<F extends () => unknown> = F & (HasKnownPromiseLik
100
100
  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
101
  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
102
  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;
103
119
  declare class RunGet<T, E, TSource = Failable<T, E>> {
104
120
  readonly [RUN_GET_TAG] = true;
105
121
  readonly source: TSource;
@@ -115,7 +131,7 @@ type RunHelpers = {
115
131
  <T, E>(source: Failable<T, E>): RunGetIterator<T, E, Failable<T, E>>;
116
132
  <T>(source: PromiseLike<Success<T>>): AsyncRunGetIterator<T, never, PromiseLike<Success<T>>>;
117
133
  <E>(source: PromiseLike<Failure<E>>): AsyncRunGetIterator<never, E, PromiseLike<Failure<E>>>;
118
- <T, E>(source: PromiseLike<Failable<T, E>>): AsyncRunGetIterator<T, E, PromiseLike<Failable<T, E>>>;
134
+ <TPromise extends PromiseLike<unknown>>(source: TPromise & PromiseLike<RunSource<unknown, unknown>>): AsyncRunGetIterator<InferRunSourceData<TPromise>, InferRunSourceError<TPromise>, PromiseLike<Failable<InferRunSourceData<TPromise>, InferRunSourceError<TPromise>>>>;
119
135
  };
120
136
  };
121
137
  type RunYield = RunGet<unknown, unknown, unknown>;
@@ -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.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "Typed success/failure results for expected failures in TypeScript.",
5
5
  "keywords": [
6
6
  "failable",
@@ -41,7 +41,6 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@pvorona/assert": "~1.0.0",
44
- "@pvorona/not-implemented": "~0.0.1",
45
- "@pvorona/types": "^0.0.0"
44
+ "@pvorona/not-implemented": "~0.0.1"
46
45
  }
47
46
  }