@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 +150 -262
- package/dist/index.js +53 -53
- package/dist/lib/failable.d.ts +17 -1
- package/dist/lib/failable.d.ts.map +1 -1
- package/package.json +2 -3
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('
|
|
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 '
|
|
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,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(...)`,
|
|
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
|
-
}
|
|
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
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
|
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
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
208
|
+
const rawPortResult = readEnv('PORT', env);
|
|
209
|
+
if (rawPortResult.isFailure) return rawPortResult;
|
|
299
210
|
|
|
300
|
-
|
|
301
|
-
|
|
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
|
-
|
|
214
|
+
return success({ host: hostResult.data, port: portResult.data });
|
|
215
|
+
}
|
|
216
|
+
```
|
|
309
217
|
|
|
310
|
-
|
|
311
|
-
return destination;
|
|
312
|
-
}
|
|
218
|
+
With `run(...)`, the same flow stays linear:
|
|
313
219
|
|
|
314
|
-
|
|
315
|
-
|
|
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
|
-
|
|
231
|
+
return success({ host, port });
|
|
232
|
+
});
|
|
319
233
|
}
|
|
320
234
|
```
|
|
321
235
|
|
|
322
|
-
|
|
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 {
|
|
241
|
+
import {
|
|
242
|
+
failable,
|
|
243
|
+
failure,
|
|
244
|
+
run,
|
|
245
|
+
success,
|
|
246
|
+
type Failable,
|
|
247
|
+
} from '@pvorona/failable';
|
|
326
248
|
|
|
327
|
-
|
|
328
|
-
{
|
|
329
|
-
|
|
330
|
-
|
|
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
|
-
|
|
334
|
-
|
|
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
|
-
|
|
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
|
-
|
|
344
|
-
|
|
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
|
-
|
|
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
|
-
|
|
273
|
+
return success(jsonResult.data as T);
|
|
274
|
+
}
|
|
353
275
|
|
|
354
|
-
|
|
355
|
-
|
|
276
|
+
async function getUser(userId: string) {
|
|
277
|
+
return readJson<User>(`https://api.example.com/users/${userId}`);
|
|
278
|
+
}
|
|
356
279
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
280
|
+
async function getUserProfile(userId: string) {
|
|
281
|
+
return readJson<Profile>(`https://api.example.com/users/${userId}/profile`);
|
|
282
|
+
}
|
|
360
283
|
|
|
361
|
-
async function
|
|
362
|
-
|
|
363
|
-
): Promise<Failable<
|
|
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
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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"),
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
62
|
-
return
|
|
61
|
+
function h(r, e) {
|
|
62
|
+
return i(r) ? r[e] === !0 : !1;
|
|
63
63
|
}
|
|
64
|
-
function
|
|
65
|
-
return
|
|
64
|
+
function c(r) {
|
|
65
|
+
return h(r, F);
|
|
66
66
|
}
|
|
67
|
-
function
|
|
68
|
-
return
|
|
67
|
+
function cr(r) {
|
|
68
|
+
return h(r, A);
|
|
69
69
|
}
|
|
70
70
|
function sr(r) {
|
|
71
|
-
return
|
|
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
|
|
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 ===
|
|
82
|
+
if (r.status === o.Failure) throw r.error;
|
|
83
83
|
}
|
|
84
84
|
function fr(r) {
|
|
85
|
-
return r.status ===
|
|
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 !
|
|
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 (!
|
|
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 (!
|
|
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 (!
|
|
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 ===
|
|
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 ===
|
|
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 ===
|
|
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 (
|
|
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 ===
|
|
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 ===
|
|
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
|
|
219
|
-
return
|
|
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
|
|
222
|
-
return r.status ===
|
|
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),
|
|
249
|
-
|
|
248
|
+
return R(t) ? (Z(t), u(
|
|
249
|
+
d(Q()),
|
|
250
250
|
e
|
|
251
|
-
)) :
|
|
251
|
+
)) : c(t) ? u(t, e) : w(t) ? u(b(t), e) : f(t);
|
|
252
252
|
} catch (t) {
|
|
253
|
-
return
|
|
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) =>
|
|
259
|
-
(t) =>
|
|
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
|
|
263
|
-
if (r.status ===
|
|
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 :
|
|
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) ?
|
|
268
|
+
return r === void 0 ? null : _(r) ? or : er(r) ? r.normalizeError : null;
|
|
269
269
|
}
|
|
270
270
|
function _(r) {
|
|
271
|
-
return !
|
|
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
|
|
274
|
+
return i(r) ? E(r.normalizeError) : !1;
|
|
275
275
|
}
|
|
276
276
|
function tr(r) {
|
|
277
|
-
if (!
|
|
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
|
|
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 =
|
|
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 =
|
|
297
|
+
const t = g(r);
|
|
298
298
|
return t === null ? e : t;
|
|
299
299
|
}
|
|
300
|
-
function
|
|
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
|
-
|
|
304
|
+
o as FailableStatus,
|
|
305
305
|
k as NormalizedErrors,
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
dr as failable,
|
|
307
|
+
d as failure,
|
|
308
|
+
c as isFailable,
|
|
309
309
|
w as isFailableLike,
|
|
310
310
|
sr as isFailure,
|
|
311
|
-
|
|
311
|
+
cr as isSuccess,
|
|
312
312
|
lr as run,
|
|
313
313
|
f as success,
|
|
314
314
|
ar as throwIfError,
|
package/dist/lib/failable.d.ts
CHANGED
|
@@ -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
|
-
<
|
|
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.
|
|
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
|
}
|