@pvorona/failable 0.6.1 → 0.6.3
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 +100 -240
- package/dist/index.js +14 -14
- package/dist/lib/failable.d.ts +4 -2
- package/dist/lib/failable.d.ts.map +1 -1
- package/package.json +1 -1
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(
|
|
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
|
-
|
|
36
|
-
|
|
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
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
35
|
+
function readPort(raw: string | undefined): Failable<number, ReadPortError> {
|
|
36
|
+
if (raw === undefined) return failure({ code: 'missing' });
|
|
72
37
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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(
|
|
43
|
+
return success(port);
|
|
82
44
|
}
|
|
83
45
|
|
|
84
|
-
const result =
|
|
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 '
|
|
96
|
-
console.error('
|
|
50
|
+
case 'missing':
|
|
51
|
+
console.error('PORT is not set');
|
|
97
52
|
break;
|
|
98
|
-
case '
|
|
99
|
-
console.error(`
|
|
100
|
-
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
|
|
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
|
|
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
|
-
|
|
145
|
-
import { failure, success, throwIfError } from '@pvorona/failable';
|
|
91
|
+
Using `readPort` from above:
|
|
146
92
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
? success(25)
|
|
150
|
-
: failure({ code: 'pricing_unavailable' as const });
|
|
93
|
+
```ts
|
|
94
|
+
const result = readPort(process.env.PORT);
|
|
151
95
|
|
|
152
|
-
const
|
|
153
|
-
const
|
|
154
|
-
(
|
|
155
|
-
(
|
|
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
|
-
|
|
103
|
+
`throwIfError` narrows the result to `Success` in place, so
|
|
104
|
+
subsequent code can access `.data` without branching:
|
|
163
105
|
|
|
164
|
-
|
|
165
|
-
|
|
106
|
+
```ts
|
|
107
|
+
import { throwIfError } from '@pvorona/failable';
|
|
166
108
|
|
|
167
|
-
|
|
109
|
+
const result = readPort(process.env.PORT);
|
|
168
110
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
run,
|
|
173
|
-
success,
|
|
174
|
-
type Failable,
|
|
175
|
-
} from '@pvorona/failable';
|
|
111
|
+
throwIfError(result);
|
|
112
|
+
console.log(result.data * 2);
|
|
113
|
+
```
|
|
176
114
|
|
|
177
|
-
|
|
115
|
+
## Capture Thrown Or Rejected Failures With `failable(...)`
|
|
178
116
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
-
|
|
188
|
-
})();
|
|
121
|
+
Use the callback form for synchronous code that can throw:
|
|
189
122
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
return new Error('Ledger unavailable', { cause: error });
|
|
193
|
-
},
|
|
194
|
-
});
|
|
195
|
-
}
|
|
123
|
+
```ts
|
|
124
|
+
import { failable, NormalizedErrors } from '@pvorona/failable';
|
|
196
125
|
|
|
197
|
-
|
|
198
|
-
|
|
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
|
-
|
|
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
|
-
`
|
|
209
|
-
`
|
|
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
|
-
|
|
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,142 +167,76 @@ 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(...)`,
|
|
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
|
|
246
|
-
|
|
247
|
-
|
|
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
|
-
}
|
|
179
|
+
type ConfigError =
|
|
180
|
+
| { code: 'missing'; key: string }
|
|
181
|
+
| { code: 'invalid'; key: string; raw: string };
|
|
261
182
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
):
|
|
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(
|
|
190
|
+
return success(raw);
|
|
273
191
|
}
|
|
274
192
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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(
|
|
199
|
+
return success(port);
|
|
289
200
|
}
|
|
290
201
|
|
|
291
|
-
function
|
|
292
|
-
|
|
293
|
-
): Failable<
|
|
294
|
-
const
|
|
295
|
-
if (
|
|
296
|
-
|
|
297
|
-
const destination = readDestinationAccount(request.toAccountId);
|
|
298
|
-
if (destination.isFailure) return destination;
|
|
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;
|
|
299
207
|
|
|
300
|
-
|
|
208
|
+
const rawPortResult = readEnv('PORT', env);
|
|
209
|
+
if (rawPortResult.isFailure) return rawPortResult;
|
|
301
210
|
|
|
302
|
-
const
|
|
303
|
-
if (
|
|
211
|
+
const portResult = parsePort(rawPortResult.data);
|
|
212
|
+
if (portResult.isFailure) return portResult;
|
|
304
213
|
|
|
305
|
-
return success({
|
|
214
|
+
return success({ host: hostResult.data, port: portResult.data });
|
|
306
215
|
}
|
|
307
216
|
```
|
|
308
217
|
|
|
309
|
-
With
|
|
218
|
+
With `run(...)`, the same flow stays linear:
|
|
310
219
|
|
|
311
220
|
```ts
|
|
312
221
|
import { run, success, type Failable } from '@pvorona/failable';
|
|
313
222
|
|
|
314
|
-
function
|
|
315
|
-
|
|
316
|
-
): Failable<
|
|
223
|
+
function loadConfig(
|
|
224
|
+
env: Record<string, string | undefined>,
|
|
225
|
+
): Failable<{ host: string; port: number }, ConfigError> {
|
|
317
226
|
return run(function* ({ get }) {
|
|
318
|
-
const
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
yield* get(ensureSufficientFunds(source, request.amountCents));
|
|
227
|
+
const host = yield* get(readEnv('HOST', env));
|
|
228
|
+
const rawPort = yield* get(readEnv('PORT', env));
|
|
229
|
+
const port = yield* get(parsePort(rawPort));
|
|
322
230
|
|
|
323
|
-
return success({
|
|
231
|
+
return success({ host, port });
|
|
324
232
|
});
|
|
325
233
|
}
|
|
326
234
|
```
|
|
327
235
|
|
|
328
|
-
With one async rule added, the shape stays the same:
|
|
329
|
-
|
|
330
|
-
```ts
|
|
331
|
-
import { failure, run, success, type Failable } from '@pvorona/failable';
|
|
332
|
-
|
|
333
|
-
type TransferAsyncError =
|
|
334
|
-
| TransferPlanningError
|
|
335
|
-
| { code: 'daily_limit_exceeded'; remainingCents: number };
|
|
336
|
-
|
|
337
|
-
const request = {
|
|
338
|
-
fromAccountId: 'checking',
|
|
339
|
-
toAccountId: 'savings',
|
|
340
|
-
amountCents: 2_500,
|
|
341
|
-
};
|
|
342
|
-
|
|
343
|
-
async function ensureWithinDailyLimit(
|
|
344
|
-
accountId: string,
|
|
345
|
-
amountCents: number,
|
|
346
|
-
): Promise<Failable<void, TransferAsyncError>> {
|
|
347
|
-
const remainingCents = accountId === 'checking' ? 3_000 : 0;
|
|
348
|
-
if (amountCents > remainingCents) {
|
|
349
|
-
return failure({ code: 'daily_limit_exceeded', remainingCents });
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
return success(undefined);
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
const result = await run(async function* ({ get }) {
|
|
356
|
-
const source = yield* get(readSourceAccount(request.fromAccountId));
|
|
357
|
-
const destination = yield* get(readDestinationAccount(request.toAccountId));
|
|
358
|
-
yield* get(ensureDifferentAccounts(source, destination));
|
|
359
|
-
yield* get(ensureSufficientFunds(source, request.amountCents));
|
|
360
|
-
yield* get(ensureWithinDailyLimit(source.id, request.amountCents));
|
|
361
|
-
|
|
362
|
-
return success({ ...request, feeCents: 25 });
|
|
363
|
-
});
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
Keep these rules in mind:
|
|
367
|
-
|
|
368
|
-
- `run(...)` composes existing `Failable` values
|
|
369
236
|
- if a yielded step fails, `run(...)` returns that original failure unchanged
|
|
370
237
|
- in async builders, keep using `yield* get(...)`; do not write `await get(...)`
|
|
371
|
-
- `run(...)` does not capture thrown values or rejected promises into `Failure
|
|
372
|
-
|
|
373
|
-
enter `run(...)`
|
|
238
|
+
- `run(...)` does not capture thrown values or rejected promises into `Failure`;
|
|
239
|
+
wrap throwing boundaries with `failable(...)` before they enter `run(...)`
|
|
374
240
|
|
|
375
241
|
## Transport And Runtime Validation
|
|
376
242
|
|
|
@@ -381,18 +247,12 @@ side:
|
|
|
381
247
|
|
|
382
248
|
```ts
|
|
383
249
|
import {
|
|
250
|
+
failure,
|
|
384
251
|
failable,
|
|
385
252
|
toFailableLike,
|
|
386
253
|
} from '@pvorona/failable';
|
|
387
254
|
|
|
388
|
-
const result =
|
|
389
|
-
{
|
|
390
|
-
fromAccountId: 'checking',
|
|
391
|
-
toAccountId: 'savings',
|
|
392
|
-
amountCents: 2_500,
|
|
393
|
-
},
|
|
394
|
-
5_000,
|
|
395
|
-
);
|
|
255
|
+
const result = failure({ code: 'missing' as const });
|
|
396
256
|
|
|
397
257
|
const wire = toFailableLike(result);
|
|
398
258
|
const hydrated = failable(wire);
|
|
@@ -421,7 +281,7 @@ if (isFailable(candidate) && candidate.isFailure) {
|
|
|
421
281
|
- `type Failable<T, E>`: `Success<T> | Failure<E>`
|
|
422
282
|
- `type Success<T>` / `type Failure<E>`: hydrated result variants
|
|
423
283
|
- `type FailableLike<T, E>`: structured-clone-friendly wire shape
|
|
424
|
-
- `success(data)` / `failure(error)`: create hydrated results
|
|
284
|
+
- `success()` / `success(data)` / `failure()` / `failure(error)`: create hydrated results
|
|
425
285
|
- `throwIfError(result)` / `result.getOrThrow()`: throw the stored failure
|
|
426
286
|
unchanged
|
|
427
287
|
- `failable(...)`: preserve, rehydrate, capture, or normalize failures at
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFunction as
|
|
1
|
+
import { isFunction as d, isObject as c, hasOwnPropertyValue as S, hasOwnKey as y } from "@pvorona/assert";
|
|
2
2
|
import { notImplemented as a } from "@pvorona/not-implemented";
|
|
3
3
|
const F = /* @__PURE__ */ Symbol("Failable"), A = /* @__PURE__ */ Symbol("Success"), O = /* @__PURE__ */ Symbol("Failure"), u = Object.freeze({
|
|
4
4
|
Success: "success",
|
|
@@ -74,7 +74,7 @@ function f(r) {
|
|
|
74
74
|
const e = Object.create(p);
|
|
75
75
|
return e.data = r, Object.freeze(e);
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function E(r) {
|
|
78
78
|
const e = Object.create(N);
|
|
79
79
|
return e.error = r, Object.freeze(e);
|
|
80
80
|
}
|
|
@@ -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) && !
|
|
106
|
+
return !c(r) && !d(r) ? !1 : d(r.then);
|
|
107
107
|
}
|
|
108
108
|
function x(r) {
|
|
109
109
|
return R(r) ? B(r) : z(r);
|
|
@@ -182,7 +182,7 @@ function P(r) {
|
|
|
182
182
|
if (i(r))
|
|
183
183
|
return r;
|
|
184
184
|
if (r === void 0)
|
|
185
|
-
return f(
|
|
185
|
+
return f();
|
|
186
186
|
throw new Error(M);
|
|
187
187
|
}
|
|
188
188
|
function W(r) {
|
|
@@ -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
|
|
219
|
-
return i(r) ? o(r, e) : w(r) ? o(g(r), e) :
|
|
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);
|
|
220
220
|
}
|
|
221
221
|
function g(r) {
|
|
222
|
-
return r.status === u.Success ? f(r.data) :
|
|
222
|
+
return r.status === u.Success ? f(r.data) : E(r.error);
|
|
223
223
|
}
|
|
224
224
|
function Q() {
|
|
225
225
|
const r = new Error(
|
|
@@ -246,23 +246,23 @@ function $(r, e) {
|
|
|
246
246
|
try {
|
|
247
247
|
const t = r();
|
|
248
248
|
return R(t) ? (Z(t), o(
|
|
249
|
-
|
|
249
|
+
E(Q()),
|
|
250
250
|
e
|
|
251
251
|
)) : i(t) ? o(t, e) : w(t) ? o(g(t), e) : f(t);
|
|
252
252
|
} catch (t) {
|
|
253
|
-
return o(
|
|
253
|
+
return o(E(t), e);
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
function v(r, e) {
|
|
257
257
|
return Promise.resolve(r).then(
|
|
258
258
|
(t) => i(t) ? o(t, e) : w(t) ? o(g(t), e) : f(t),
|
|
259
|
-
(t) => o(
|
|
259
|
+
(t) => o(E(t), e)
|
|
260
260
|
);
|
|
261
261
|
}
|
|
262
262
|
function o(r, e) {
|
|
263
263
|
if (r.status === u.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 :
|
|
265
|
+
return t === null || r.error instanceof Error && e !== void 0 && _(e) ? r : E(t(r.error));
|
|
266
266
|
}
|
|
267
267
|
function rr(r) {
|
|
268
268
|
return r === void 0 ? null : _(r) ? ur : er(r) ? r.normalizeError : null;
|
|
@@ -271,7 +271,7 @@ function _(r) {
|
|
|
271
271
|
return !c(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) ?
|
|
274
|
+
return c(r) ? d(r.normalizeError) : !1;
|
|
275
275
|
}
|
|
276
276
|
function tr(r) {
|
|
277
277
|
if (!c(r) || Array.isArray(r)) return !1;
|
|
@@ -303,8 +303,8 @@ function ur(r) {
|
|
|
303
303
|
export {
|
|
304
304
|
u as FailableStatus,
|
|
305
305
|
k as NormalizedErrors,
|
|
306
|
-
|
|
307
|
-
|
|
306
|
+
Er as failable,
|
|
307
|
+
E as failure,
|
|
308
308
|
i as isFailable,
|
|
309
309
|
w as isFailableLike,
|
|
310
310
|
sr as isFailure,
|
package/dist/lib/failable.d.ts
CHANGED
|
@@ -76,8 +76,10 @@ export type Failure<E> = {
|
|
|
76
76
|
export declare function isFailable(value: unknown): value is Failable<unknown, unknown>;
|
|
77
77
|
export declare function isSuccess(value: unknown): value is Success<unknown>;
|
|
78
78
|
export declare function isFailure(value: unknown): value is Failure<unknown>;
|
|
79
|
-
export declare function success
|
|
80
|
-
export declare function
|
|
79
|
+
export declare function success(): Success<void>;
|
|
80
|
+
export declare function success<T>(data: T): Success<T>;
|
|
81
|
+
export declare function failure(): Failure<void>;
|
|
82
|
+
export declare function failure<E>(error: E): Failure<E>;
|
|
81
83
|
/**
|
|
82
84
|
* Throw `result.error` unchanged on failure, or narrow the same result to {@link Success} on return.
|
|
83
85
|
*
|
|
@@ -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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"}
|