@iahuang/result-ts 1.0.0 → 1.1.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 CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  A Typescript implementation of Rust's [`std::result::Result`](https://doc.rust-lang.org/std/result/enum.Result.html) enum type. Make errors in fallible subroutines predictable and impossible to ignore.
4
4
 
5
+ This library, compared to others, aims to be more thinly abstracted, stricter with regards to type safety, and more closely resemble the original Rust API.
6
+
7
+ ```
8
+ npm install @iahuang/result-ts
9
+ ```
10
+
5
11
  ## Example Usage
6
12
 
7
13
  ```ts
@@ -65,7 +71,8 @@ For readability, this library also provides a method chaining API.
65
71
  ```ts
66
72
  const timesTwo = chain(parseIntStrict("123"))
67
73
  .map((n) => n * 2)
68
- .unwrapOr(0);
74
+ .unwrapOr(0)
75
+ .result; // extract the plain Result type
69
76
  ```
70
77
 
71
78
  This more closely resembles the equivalent Rust code:
package/dist/index.d.ts CHANGED
@@ -35,13 +35,22 @@ export type Undetailed<E extends string> = {
35
35
  [K in E]: undefined;
36
36
  };
37
37
  export declare function ok<T>(value: T): Ok<T>;
38
+ export declare function err<E extends string, D>(error: E, detail: D): Err<{
39
+ [K in E]: D;
40
+ }>;
38
41
  export type OkConstructor<T> = (value: T) => Ok<T>;
39
42
  export type ErrConstructor<E> = <K extends keyof E>(error: K, ...args: E[K] extends undefined ? [] : [detail: E[K]]) => Err<E>;
43
+ export type OkChainConstructor<T, E> = (value: T) => Chain<T, E>;
44
+ export type ErrChainConstructor<T, E> = <K extends keyof E>(error: K, ...args: E[K] extends undefined ? [] : [detail: E[K]]) => Chain<T, E>;
40
45
  export declare function okConstructor<T>(): OkConstructor<T>;
41
46
  export declare function errConstructor<E>(): <K extends keyof E>(error: K, ...args: E[K] extends undefined ? [] : [detail: E[K]]) => Err<E>;
47
+ export declare function okChainConstructor<T, E>(): OkChainConstructor<T, E>;
48
+ export declare function errChainConstructor<T, E>(): ErrChainConstructor<T, E>;
42
49
  type ResultConstructors<T, E> = {
43
50
  ok: OkConstructor<T>;
44
51
  err: ErrConstructor<E>;
52
+ okChain: OkChainConstructor<T, E>;
53
+ errChain: ErrChainConstructor<T, E>;
45
54
  __result: Result<T, E>;
46
55
  };
47
56
  export declare function resultType<T, E>(): ResultConstructors<T, E>;
@@ -70,7 +79,31 @@ export declare function resultUnwrapErr<T, E>(result: Result<T, E>): Err<E>;
70
79
  export declare function resultUnwrapOr<T, E>(result: Result<T, E>, defaultValue: T): T;
71
80
  export declare function resultUnwrapOrElse<T, E>(result: Result<T, E>, fn: (err: Err<E>) => T): T;
72
81
  export declare function tryCatchResult<T, E>(fn: () => T, err: (e: unknown) => Err<E>): Result<T, E>;
82
+ export declare function asyncResultAnd<T, E>(result: Promise<Result<T, E>>, other: Promise<Result<T, E>>): Promise<Result<T, E>>;
83
+ export declare function asyncResultAndThen<T, E, R>(result: Promise<Result<T, E>>, fn: (value: T) => Promise<Result<R, E>>): Promise<Result<R, E>>;
84
+ export declare function asyncResultErr<T, E>(result: Promise<Result<T, E>>): Promise<Err<E> | null>;
85
+ export declare function asyncResultExpect<T, E>(result: Promise<Result<T, E>>, msg: string): Promise<T>;
86
+ export declare function asyncResultExpectErr<T, E>(result: Promise<Result<T, E>>, msg: string): Promise<Err<E>>;
87
+ export declare function asyncResultFlatten<T, E>(result: Promise<Result<Result<T, E>, E>>): Promise<Result<T, E>>;
88
+ export declare function asyncResultInspect<T, E>(result: Promise<Result<T, E>>, fn: (value: T) => void | Promise<void>): Promise<Result<T, E>>;
89
+ export declare function asyncResultInspectErr<T, E>(result: Promise<Result<T, E>>, fn: (err: Err<E>) => void | Promise<void>): Promise<Result<T, E>>;
90
+ export declare function asyncResultIsErr<T, E>(result: Promise<Result<T, E>>): Promise<boolean>;
91
+ export declare function asyncResultIsErrAnd<T, E>(result: Promise<Result<T, E>>, fn: (err: Err<E>) => boolean): Promise<boolean>;
92
+ export declare function asyncResultIsOk<T, E>(result: Promise<Result<T, E>>): Promise<boolean>;
93
+ export declare function asyncResultIsOkAnd<T, E>(result: Promise<Result<T, E>>, fn: (value: T) => boolean): Promise<boolean>;
94
+ export declare function asyncResultMap<T, E, R>(result: Promise<Result<T, E>>, fn: (value: T) => R | Promise<R>): Promise<Result<R, E>>;
95
+ export declare function asyncResultMapErr<T, E, F>(result: Promise<Result<T, E>>, fn: (err: Err<E>) => Err<F> | Promise<Err<F>>): Promise<Result<T, F>>;
96
+ export declare function asyncResultMapOr<T, E, R>(result: Promise<Result<T, E>>, defaultValue: R, fn: (value: T) => R | Promise<R>): Promise<R>;
97
+ export declare function asyncResultMapOrElse<T, E, R>(result: Promise<Result<T, E>>, defaultValue: (err: Err<E>) => R | Promise<R>, fn: (value: T) => R | Promise<R>): Promise<R>;
98
+ export declare function asyncResultOk<T, E>(result: Promise<Result<T, E>>): Promise<T | null>;
99
+ export declare function asyncResultOr<T, E>(result: Promise<Result<T, E>>, other: Promise<Result<T, E>>): Promise<Result<T, E>>;
100
+ export declare function asyncResultOrElse<T, E>(result: Promise<Result<T, E>>, fn: (err: Err<E>) => Promise<Result<T, E>>): Promise<Result<T, E>>;
101
+ export declare function asyncResultUnwrap<T, E>(result: Promise<Result<T, E>>): Promise<T>;
102
+ export declare function asyncResultUnwrapErr<T, E>(result: Promise<Result<T, E>>): Promise<Err<E>>;
103
+ export declare function asyncResultUnwrapOr<T, E>(result: Promise<Result<T, E>>, defaultValue: T): Promise<T>;
104
+ export declare function asyncResultUnwrapOrElse<T, E>(result: Promise<Result<T, E>>, fn: (err: Err<E>) => T | Promise<T>): Promise<T>;
73
105
  export declare function tryCatchResultAsync<T, E>(fn: () => Promise<T>, err: (e: unknown) => Err<E>): Promise<Result<T, E>>;
106
+ export declare function tryCatchResultPromise<T, E>(prom: Promise<T>, err: (e: unknown) => Err<E>): Promise<Result<T, E>>;
74
107
  type ChainAnd<T, E> = (other: Result<T, E>) => Chain<T, E>;
75
108
  type ChainAndThen<I, E> = <O>(fn: (value: I) => Result<O, E>) => Chain<O, E>;
76
109
  type ChainMap<I, E> = <O>(fn: (value: I) => O) => Chain<O, E>;
@@ -98,7 +131,7 @@ type ChainIsOkAnd<T> = (fn: (value: T) => boolean) => boolean;
98
131
  type ChainIsErrAnd<E> = (fn: (err: Err<E>) => boolean) => boolean;
99
132
  type ChainOk<T> = () => T | null;
100
133
  type ChainErr<E> = () => Err<E> | null;
101
- type Chain<T, E> = {
134
+ export type Chain<T, E> = {
102
135
  result: Result<T, E>;
103
136
  and: ChainAnd<T, E>;
104
137
  andThen: ChainAndThen<T, E>;
@@ -125,5 +158,59 @@ type Chain<T, E> = {
125
158
  err: ChainErr<E>;
126
159
  };
127
160
  export declare function chain<I, E>(initial: Result<I, E>): Chain<I, E>;
161
+ type AsyncChainAnd<T, E> = (other: Promise<Result<T, E>>) => AsyncChain<T, E>;
162
+ type AsyncChainAndThen<I, E> = <O>(fn: (value: I) => Promise<Result<O, E>>) => AsyncChain<O, E>;
163
+ type AsyncChainMap<I, E> = <O>(fn: (value: I) => O | Promise<O>) => AsyncChain<O, E>;
164
+ type AsyncChainMapErr<T, E> = <F>(fn: (err: Err<E>) => Err<F> | Promise<Err<F>>) => AsyncChain<T, F>;
165
+ type AsyncChainMapOr<I> = <R>(defaultValue: R, fn: (value: I) => R | Promise<R>) => Promise<R>;
166
+ type AsyncChainMapOrElse<I, E> = <R>(defaultValue: (err: Err<E>) => R | Promise<R>, fn: (value: I) => R | Promise<R>) => Promise<R>;
167
+ type AsyncChainOr<T, E> = (other: Promise<Result<T, E>>) => AsyncChain<T, E>;
168
+ type AsyncChainOrElse<T, E> = (fn: (err: Err<E>) => Promise<Result<T, E>>) => AsyncChain<T, E>;
169
+ type AsyncChainUnwrap<T> = () => Promise<T>;
170
+ type AsyncChainUnwrapOr<T> = (defaultValue: T) => Promise<T>;
171
+ type AsyncChainUnwrapOrElse<T, E> = (fn: (err: Err<E>) => T | Promise<T>) => Promise<T>;
172
+ type AsyncChainExpect<T> = (msg: string) => Promise<T>;
173
+ type AsyncChainExpectErr<E> = (msg: string) => Promise<Err<E>>;
174
+ type AsyncChainUnwrapErr<E> = () => Promise<Err<E>>;
175
+ type AsyncChainFlatten<T, E> = () => AsyncChain<T, E>;
176
+ type AsyncChainInspect<T, E> = (fn: (value: T) => void | Promise<void>) => AsyncChain<T, E>;
177
+ type AsyncChainInspectErr<T, E> = (fn: (err: Err<E>) => void | Promise<void>) => AsyncChain<T, E>;
178
+ type AsyncChainIsOk<T, E> = () => Promise<boolean & {
179
+ __phantom?: [T, E];
180
+ }>;
181
+ type AsyncChainIsErr<T, E> = () => Promise<boolean & {
182
+ __phantom?: [T, E];
183
+ }>;
184
+ type AsyncChainIsOkAnd<T> = (fn: (value: T) => boolean) => Promise<boolean>;
185
+ type AsyncChainIsErrAnd<E> = (fn: (err: Err<E>) => boolean) => Promise<boolean>;
186
+ type AsyncChainOk<T> = () => Promise<T | null>;
187
+ type AsyncChainErr<E> = () => Promise<Err<E> | null>;
188
+ export type AsyncChain<T, E> = {
189
+ result: Promise<Result<T, E>>;
190
+ and: AsyncChainAnd<T, E>;
191
+ andThen: AsyncChainAndThen<T, E>;
192
+ map: AsyncChainMap<T, E>;
193
+ mapErr: AsyncChainMapErr<T, E>;
194
+ mapOr: AsyncChainMapOr<T>;
195
+ mapOrElse: AsyncChainMapOrElse<T, E>;
196
+ or: AsyncChainOr<T, E>;
197
+ orElse: AsyncChainOrElse<T, E>;
198
+ unwrap: AsyncChainUnwrap<T>;
199
+ unwrapOr: AsyncChainUnwrapOr<T>;
200
+ unwrapOrElse: AsyncChainUnwrapOrElse<T, E>;
201
+ expect: AsyncChainExpect<T>;
202
+ expectErr: AsyncChainExpectErr<E>;
203
+ unwrapErr: AsyncChainUnwrapErr<E>;
204
+ flatten: T extends Result<infer U, E> ? AsyncChainFlatten<U, E> : never;
205
+ inspect: AsyncChainInspect<T, E>;
206
+ inspectErr: AsyncChainInspectErr<T, E>;
207
+ isOk: AsyncChainIsOk<T, E>;
208
+ isErr: AsyncChainIsErr<T, E>;
209
+ isOkAnd: AsyncChainIsOkAnd<T>;
210
+ isErrAnd: AsyncChainIsErrAnd<E>;
211
+ ok: AsyncChainOk<T>;
212
+ err: AsyncChainErr<E>;
213
+ };
214
+ export declare function asyncChain<I, E>(initial: Promise<Result<I, E>>): AsyncChain<I, E>;
128
215
  export {};
129
216
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -54,9 +54,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
54
54
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
55
  }
56
56
  };
57
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
58
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
59
+ if (ar || !(i in from)) {
60
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
61
+ ar[i] = from[i];
62
+ }
63
+ }
64
+ return to.concat(ar || Array.prototype.slice.call(from));
65
+ };
57
66
  export function ok(value) {
58
67
  return { ok: true, value: value };
59
68
  }
69
+ export function err(error, detail) {
70
+ return { ok: false, error: error, detail: detail };
71
+ }
60
72
  export function okConstructor() {
61
73
  return (function (value) { return ({ ok: true, value: value }); });
62
74
  }
@@ -73,10 +85,26 @@ export function errConstructor() {
73
85
  };
74
86
  };
75
87
  }
88
+ export function okChainConstructor() {
89
+ var constructor = okConstructor();
90
+ return function (value) { return chain(constructor(value)); };
91
+ }
92
+ export function errChainConstructor() {
93
+ var constructor = errConstructor();
94
+ return function (error) {
95
+ var args = [];
96
+ for (var _i = 1; _i < arguments.length; _i++) {
97
+ args[_i - 1] = arguments[_i];
98
+ }
99
+ return chain(constructor.apply(void 0, __spreadArray([error], args, false)));
100
+ };
101
+ }
76
102
  export function resultType() {
77
103
  return {
78
104
  ok: okConstructor(),
79
105
  err: errConstructor(),
106
+ okChain: okChainConstructor(),
107
+ errChain: errChainConstructor(),
80
108
  __result: undefined,
81
109
  };
82
110
  }
@@ -175,6 +203,305 @@ export function tryCatchResult(fn, err) {
175
203
  return err(e);
176
204
  }
177
205
  }
206
+ export function asyncResultAnd(result, other) {
207
+ return result.then(function (r) { return (r.ok ? other : r); });
208
+ }
209
+ export function asyncResultAndThen(result, fn) {
210
+ return result.then(function (r) { return (r.ok ? fn(r.value) : r); });
211
+ }
212
+ export function asyncResultErr(result) {
213
+ return __awaiter(this, void 0, void 0, function () {
214
+ var r;
215
+ return __generator(this, function (_a) {
216
+ switch (_a.label) {
217
+ case 0: return [4 /*yield*/, result];
218
+ case 1:
219
+ r = _a.sent();
220
+ return [2 /*return*/, !r.ok ? r : null];
221
+ }
222
+ });
223
+ });
224
+ }
225
+ export function asyncResultExpect(result, msg) {
226
+ return __awaiter(this, void 0, void 0, function () {
227
+ var r;
228
+ return __generator(this, function (_a) {
229
+ switch (_a.label) {
230
+ case 0: return [4 /*yield*/, result];
231
+ case 1:
232
+ r = _a.sent();
233
+ if (!r.ok) {
234
+ throw new Error(msg);
235
+ }
236
+ return [2 /*return*/, r.value];
237
+ }
238
+ });
239
+ });
240
+ }
241
+ export function asyncResultExpectErr(result, msg) {
242
+ return __awaiter(this, void 0, void 0, function () {
243
+ var r;
244
+ return __generator(this, function (_a) {
245
+ switch (_a.label) {
246
+ case 0: return [4 /*yield*/, result];
247
+ case 1:
248
+ r = _a.sent();
249
+ if (r.ok) {
250
+ throw new Error(msg);
251
+ }
252
+ return [2 /*return*/, r];
253
+ }
254
+ });
255
+ });
256
+ }
257
+ export function asyncResultFlatten(result) {
258
+ return result.then(function (r) { return (r.ok ? r.value : r); });
259
+ }
260
+ export function asyncResultInspect(result, fn) {
261
+ var _this = this;
262
+ return result.then(function (r) { return __awaiter(_this, void 0, void 0, function () {
263
+ return __generator(this, function (_a) {
264
+ switch (_a.label) {
265
+ case 0:
266
+ if (!r.ok) return [3 /*break*/, 2];
267
+ return [4 /*yield*/, fn(r.value)];
268
+ case 1:
269
+ _a.sent();
270
+ _a.label = 2;
271
+ case 2: return [2 /*return*/, r];
272
+ }
273
+ });
274
+ }); });
275
+ }
276
+ export function asyncResultInspectErr(result, fn) {
277
+ var _this = this;
278
+ return result.then(function (r) { return __awaiter(_this, void 0, void 0, function () {
279
+ return __generator(this, function (_a) {
280
+ switch (_a.label) {
281
+ case 0:
282
+ if (!!r.ok) return [3 /*break*/, 2];
283
+ return [4 /*yield*/, fn(r)];
284
+ case 1:
285
+ _a.sent();
286
+ _a.label = 2;
287
+ case 2: return [2 /*return*/, r];
288
+ }
289
+ });
290
+ }); });
291
+ }
292
+ export function asyncResultIsErr(result) {
293
+ return __awaiter(this, void 0, void 0, function () {
294
+ var r;
295
+ return __generator(this, function (_a) {
296
+ switch (_a.label) {
297
+ case 0: return [4 /*yield*/, result];
298
+ case 1:
299
+ r = _a.sent();
300
+ return [2 /*return*/, !r.ok];
301
+ }
302
+ });
303
+ });
304
+ }
305
+ export function asyncResultIsErrAnd(result, fn) {
306
+ return __awaiter(this, void 0, void 0, function () {
307
+ var r;
308
+ return __generator(this, function (_a) {
309
+ switch (_a.label) {
310
+ case 0: return [4 /*yield*/, result];
311
+ case 1:
312
+ r = _a.sent();
313
+ return [2 /*return*/, !r.ok && fn(r)];
314
+ }
315
+ });
316
+ });
317
+ }
318
+ export function asyncResultIsOk(result) {
319
+ return __awaiter(this, void 0, void 0, function () {
320
+ var r;
321
+ return __generator(this, function (_a) {
322
+ switch (_a.label) {
323
+ case 0: return [4 /*yield*/, result];
324
+ case 1:
325
+ r = _a.sent();
326
+ return [2 /*return*/, r.ok];
327
+ }
328
+ });
329
+ });
330
+ }
331
+ export function asyncResultIsOkAnd(result, fn) {
332
+ return __awaiter(this, void 0, void 0, function () {
333
+ var r;
334
+ return __generator(this, function (_a) {
335
+ switch (_a.label) {
336
+ case 0: return [4 /*yield*/, result];
337
+ case 1:
338
+ r = _a.sent();
339
+ return [2 /*return*/, r.ok && fn(r.value)];
340
+ }
341
+ });
342
+ });
343
+ }
344
+ export function asyncResultMap(result, fn) {
345
+ var _this = this;
346
+ return result.then(function (r) { return __awaiter(_this, void 0, void 0, function () { var _a, _b; return __generator(this, function (_c) {
347
+ switch (_c.label) {
348
+ case 0:
349
+ if (!r.ok) return [3 /*break*/, 2];
350
+ _b = ok;
351
+ return [4 /*yield*/, fn(r.value)];
352
+ case 1:
353
+ _a = _b.apply(void 0, [_c.sent()]);
354
+ return [3 /*break*/, 3];
355
+ case 2:
356
+ _a = r;
357
+ _c.label = 3;
358
+ case 3: return [2 /*return*/, (_a)];
359
+ }
360
+ }); }); });
361
+ }
362
+ export function asyncResultMapErr(result, fn) {
363
+ var _this = this;
364
+ return result.then(function (r) { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) {
365
+ switch (_b.label) {
366
+ case 0:
367
+ if (!r.ok) return [3 /*break*/, 1];
368
+ _a = r;
369
+ return [3 /*break*/, 3];
370
+ case 1: return [4 /*yield*/, fn(r)];
371
+ case 2:
372
+ _a = _b.sent();
373
+ _b.label = 3;
374
+ case 3: return [2 /*return*/, (_a)];
375
+ }
376
+ }); }); });
377
+ }
378
+ export function asyncResultMapOr(result, defaultValue, fn) {
379
+ return __awaiter(this, void 0, void 0, function () {
380
+ var r, _a;
381
+ return __generator(this, function (_b) {
382
+ switch (_b.label) {
383
+ case 0: return [4 /*yield*/, result];
384
+ case 1:
385
+ r = _b.sent();
386
+ if (!r.ok) return [3 /*break*/, 3];
387
+ return [4 /*yield*/, fn(r.value)];
388
+ case 2:
389
+ _a = _b.sent();
390
+ return [3 /*break*/, 4];
391
+ case 3:
392
+ _a = defaultValue;
393
+ _b.label = 4;
394
+ case 4: return [2 /*return*/, _a];
395
+ }
396
+ });
397
+ });
398
+ }
399
+ export function asyncResultMapOrElse(result, defaultValue, fn) {
400
+ return __awaiter(this, void 0, void 0, function () {
401
+ var r, _a;
402
+ return __generator(this, function (_b) {
403
+ switch (_b.label) {
404
+ case 0: return [4 /*yield*/, result];
405
+ case 1:
406
+ r = _b.sent();
407
+ if (!r.ok) return [3 /*break*/, 3];
408
+ return [4 /*yield*/, fn(r.value)];
409
+ case 2:
410
+ _a = _b.sent();
411
+ return [3 /*break*/, 5];
412
+ case 3: return [4 /*yield*/, defaultValue(r)];
413
+ case 4:
414
+ _a = _b.sent();
415
+ _b.label = 5;
416
+ case 5: return [2 /*return*/, _a];
417
+ }
418
+ });
419
+ });
420
+ }
421
+ export function asyncResultOk(result) {
422
+ return __awaiter(this, void 0, void 0, function () {
423
+ var r;
424
+ return __generator(this, function (_a) {
425
+ switch (_a.label) {
426
+ case 0: return [4 /*yield*/, result];
427
+ case 1:
428
+ r = _a.sent();
429
+ return [2 /*return*/, r.ok ? r.value : null];
430
+ }
431
+ });
432
+ });
433
+ }
434
+ export function asyncResultOr(result, other) {
435
+ return result.then(function (r) { return (r.ok ? r : other); });
436
+ }
437
+ export function asyncResultOrElse(result, fn) {
438
+ return result.then(function (r) { return (r.ok ? r : fn(r)); });
439
+ }
440
+ export function asyncResultUnwrap(result) {
441
+ return __awaiter(this, void 0, void 0, function () {
442
+ var r;
443
+ return __generator(this, function (_a) {
444
+ switch (_a.label) {
445
+ case 0: return [4 /*yield*/, result];
446
+ case 1:
447
+ r = _a.sent();
448
+ if (!r.ok) {
449
+ throw r;
450
+ }
451
+ return [2 /*return*/, r.value];
452
+ }
453
+ });
454
+ });
455
+ }
456
+ export function asyncResultUnwrapErr(result) {
457
+ return __awaiter(this, void 0, void 0, function () {
458
+ var r;
459
+ return __generator(this, function (_a) {
460
+ switch (_a.label) {
461
+ case 0: return [4 /*yield*/, result];
462
+ case 1:
463
+ r = _a.sent();
464
+ if (r.ok) {
465
+ throw new Error("Result is ok; expected an error");
466
+ }
467
+ return [2 /*return*/, r];
468
+ }
469
+ });
470
+ });
471
+ }
472
+ export function asyncResultUnwrapOr(result, defaultValue) {
473
+ return __awaiter(this, void 0, void 0, function () {
474
+ var r;
475
+ return __generator(this, function (_a) {
476
+ switch (_a.label) {
477
+ case 0: return [4 /*yield*/, result];
478
+ case 1:
479
+ r = _a.sent();
480
+ return [2 /*return*/, r.ok ? r.value : defaultValue];
481
+ }
482
+ });
483
+ });
484
+ }
485
+ export function asyncResultUnwrapOrElse(result, fn) {
486
+ return __awaiter(this, void 0, void 0, function () {
487
+ var r, _a;
488
+ return __generator(this, function (_b) {
489
+ switch (_b.label) {
490
+ case 0: return [4 /*yield*/, result];
491
+ case 1:
492
+ r = _b.sent();
493
+ if (!r.ok) return [3 /*break*/, 2];
494
+ _a = r.value;
495
+ return [3 /*break*/, 4];
496
+ case 2: return [4 /*yield*/, fn(r)];
497
+ case 3:
498
+ _a = _b.sent();
499
+ _b.label = 4;
500
+ case 4: return [2 /*return*/, _a];
501
+ }
502
+ });
503
+ });
504
+ }
178
505
  export function tryCatchResultAsync(fn, err) {
179
506
  return __awaiter(this, void 0, void 0, function () {
180
507
  var _a, e_1;
@@ -193,14 +520,36 @@ export function tryCatchResultAsync(fn, err) {
193
520
  });
194
521
  });
195
522
  }
523
+ export function tryCatchResultPromise(prom, err) {
524
+ return __awaiter(this, void 0, void 0, function () {
525
+ var _a, e_2;
526
+ return __generator(this, function (_b) {
527
+ switch (_b.label) {
528
+ case 0:
529
+ _b.trys.push([0, 2, , 3]);
530
+ _a = ok;
531
+ return [4 /*yield*/, prom];
532
+ case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
533
+ case 2:
534
+ e_2 = _b.sent();
535
+ return [2 /*return*/, err(e_2)];
536
+ case 3: return [2 /*return*/];
537
+ }
538
+ });
539
+ });
540
+ }
196
541
  export function chain(initial) {
197
542
  return {
198
543
  result: initial,
199
544
  and: function (other) { return chain(resultAnd(initial, other)); },
200
545
  andThen: function (fn) { return chain(resultAndThen(initial, fn)); },
201
546
  map: function (fn) { return chain(resultMap(initial, fn)); },
202
- mapErr: function (fn) { return chain(resultMapErr(initial, fn)); },
203
- mapOr: function (defaultValue, fn) { return resultMapOr(initial, defaultValue, fn); },
547
+ mapErr: function (fn) {
548
+ return chain(resultMapErr(initial, fn));
549
+ },
550
+ mapOr: function (defaultValue, fn) {
551
+ return resultMapOr(initial, defaultValue, fn);
552
+ },
204
553
  mapOrElse: function (defaultValue, fn) {
205
554
  return resultMapOrElse(initial, defaultValue, fn);
206
555
  },
@@ -223,4 +572,38 @@ export function chain(initial) {
223
572
  err: function () { return resultErr(initial); },
224
573
  };
225
574
  }
575
+ export function asyncChain(initial) {
576
+ return {
577
+ result: initial,
578
+ and: function (other) { return asyncChain(asyncResultAnd(initial, other)); },
579
+ andThen: function (fn) { return asyncChain(asyncResultAndThen(initial, fn)); },
580
+ map: function (fn) {
581
+ return asyncChain(asyncResultMap(initial, fn));
582
+ },
583
+ mapErr: function (fn) {
584
+ return asyncChain(asyncResultMapErr(initial, fn));
585
+ },
586
+ mapOr: function (defaultValue, fn) {
587
+ return asyncResultMapOr(initial, defaultValue, fn);
588
+ },
589
+ mapOrElse: function (defaultValue, fn) { return asyncResultMapOrElse(initial, defaultValue, fn); },
590
+ or: function (other) { return asyncChain(asyncResultOr(initial, other)); },
591
+ orElse: function (fn) { return asyncChain(asyncResultOrElse(initial, fn)); },
592
+ unwrap: function () { return asyncResultUnwrap(initial); },
593
+ unwrapOr: function (defaultValue) { return asyncResultUnwrapOr(initial, defaultValue); },
594
+ unwrapOrElse: function (fn) { return asyncResultUnwrapOrElse(initial, fn); },
595
+ expect: function (msg) { return asyncResultExpect(initial, msg); },
596
+ expectErr: function (msg) { return asyncResultExpectErr(initial, msg); },
597
+ unwrapErr: function () { return asyncResultUnwrapErr(initial); },
598
+ flatten: (function () { return asyncChain(asyncResultFlatten(initial)); }),
599
+ inspect: function (fn) { return asyncChain(asyncResultInspect(initial, fn)); },
600
+ inspectErr: function (fn) { return asyncChain(asyncResultInspectErr(initial, fn)); },
601
+ isOk: function () { return asyncResultIsOk(initial); },
602
+ isErr: function () { return asyncResultIsErr(initial); },
603
+ isOkAnd: function (fn) { return asyncResultIsOkAnd(initial, fn); },
604
+ isErrAnd: function (fn) { return asyncResultIsErrAnd(initial, fn); },
605
+ ok: function () { return asyncResultOk(initial); },
606
+ err: function () { return asyncResultErr(initial); },
607
+ };
608
+ }
226
609
  //# sourceMappingURL=index.js.map