@onrails/result 0.4.2 → 0.5.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/DESIGN.md +12 -1
- package/README.md +45 -1
- package/dist/compat/neverthrow.cjs +234 -48
- package/dist/compat/neverthrow.cjs.map +1 -1
- package/dist/compat/neverthrow.d.cts +38 -4
- package/dist/compat/neverthrow.d.ts +38 -4
- package/dist/compat/neverthrow.js +230 -49
- package/dist/compat/neverthrow.js.map +1 -1
- package/dist/extra.cjs +43 -2
- package/dist/extra.cjs.map +1 -1
- package/dist/extra.js +43 -2
- package/dist/extra.js.map +1 -1
- package/dist/fluent.cjs +88 -14
- package/dist/fluent.cjs.map +1 -1
- package/dist/fluent.js +88 -14
- package/dist/fluent.js.map +1 -1
- package/dist/index.cjs +120 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +120 -38
- package/dist/index.js.map +1 -1
- package/dist/internal/ctor.d.cts +8 -8
- package/dist/internal/ctor.d.ts +8 -8
- package/dist/internal/proto.d.cts +3 -0
- package/dist/internal/proto.d.ts +3 -0
- package/dist/railway.cjs +105 -31
- package/dist/railway.cjs.map +1 -1
- package/dist/railway.js +105 -31
- package/dist/railway.js.map +1 -1
- package/dist/try-gen.cjs +43 -6
- package/dist/try-gen.cjs.map +1 -1
- package/dist/try-gen.js +43 -6
- package/dist/try-gen.js.map +1 -1
- package/dist/types.d.cts +67 -9
- package/dist/types.d.ts +67 -9
- package/package.json +2 -1
|
@@ -1,12 +1,86 @@
|
|
|
1
|
-
// src/internal/
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
// src/internal/proto.ts
|
|
2
|
+
var INSPECT = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
3
|
+
var OkImpl = class _OkImpl {
|
|
4
|
+
_tag;
|
|
5
|
+
value;
|
|
6
|
+
// explicit assignment order keeps `_tag` first, so JSON key order matches the plain-data shape
|
|
7
|
+
constructor(value) {
|
|
8
|
+
this._tag = "Ok";
|
|
9
|
+
this.value = value;
|
|
10
|
+
}
|
|
11
|
+
[INSPECT](_depth, options, inspect) {
|
|
12
|
+
return `Ok(${inspect(this.value, options)})`;
|
|
13
|
+
}
|
|
14
|
+
map(fn) {
|
|
15
|
+
return new _OkImpl(fn(this.value));
|
|
16
|
+
}
|
|
17
|
+
mapErr(_fn) {
|
|
18
|
+
return new _OkImpl(this.value);
|
|
19
|
+
}
|
|
20
|
+
flatMap(fn) {
|
|
21
|
+
return fn(this.value);
|
|
22
|
+
}
|
|
23
|
+
andThen(fn) {
|
|
24
|
+
return fn(this.value);
|
|
25
|
+
}
|
|
26
|
+
recover(_fn) {
|
|
27
|
+
return new _OkImpl(this.value);
|
|
28
|
+
}
|
|
29
|
+
tap(fn) {
|
|
30
|
+
fn(this.value);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
tapErr(_fn) {
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
match(onOk, _onErr) {
|
|
37
|
+
return onOk(this.value);
|
|
38
|
+
}
|
|
39
|
+
unwrapOr(_defaultValue) {
|
|
40
|
+
return this.value;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var ErrImpl = class _ErrImpl {
|
|
44
|
+
_tag;
|
|
45
|
+
error;
|
|
46
|
+
constructor(error) {
|
|
47
|
+
this._tag = "Err";
|
|
48
|
+
this.error = error;
|
|
49
|
+
}
|
|
50
|
+
[INSPECT](_depth, options, inspect) {
|
|
51
|
+
return `Err(${inspect(this.error, options)})`;
|
|
52
|
+
}
|
|
53
|
+
map(_fn) {
|
|
54
|
+
return new _ErrImpl(this.error);
|
|
55
|
+
}
|
|
56
|
+
mapErr(fn) {
|
|
57
|
+
return new _ErrImpl(fn(this.error));
|
|
58
|
+
}
|
|
59
|
+
flatMap(_fn) {
|
|
60
|
+
return new _ErrImpl(this.error);
|
|
61
|
+
}
|
|
62
|
+
andThen(_fn) {
|
|
63
|
+
return new _ErrImpl(this.error);
|
|
64
|
+
}
|
|
65
|
+
recover(fn) {
|
|
66
|
+
return fn(this.error);
|
|
67
|
+
}
|
|
68
|
+
tap(_fn) {
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
tapErr(fn) {
|
|
72
|
+
fn(this.error);
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
match(_onOk, onErr) {
|
|
76
|
+
return onErr(this.error);
|
|
77
|
+
}
|
|
78
|
+
unwrapOr(defaultValue) {
|
|
79
|
+
return defaultValue;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
var newOk = (value) => new OkImpl(value);
|
|
83
|
+
var newErr = (error) => new ErrImpl(error);
|
|
10
84
|
|
|
11
85
|
// src/internal/dual.ts
|
|
12
86
|
var dual = (arity, body) => {
|
|
@@ -20,30 +94,22 @@ var isOk = (result) => result._tag === "Ok";
|
|
|
20
94
|
var isErr = (result) => result._tag === "Err";
|
|
21
95
|
var map = dual(
|
|
22
96
|
2,
|
|
23
|
-
(result, fn) => isOk(result) ?
|
|
97
|
+
(result, fn) => isOk(result) ? newOk(fn(result.value)) : newErr(result.error)
|
|
24
98
|
);
|
|
25
99
|
var mapErr = dual(
|
|
26
100
|
2,
|
|
27
|
-
(result, fn) => isErr(result) ?
|
|
101
|
+
(result, fn) => isErr(result) ? newErr(fn(result.error)) : newOk(result.value)
|
|
28
102
|
);
|
|
29
103
|
var bimap = dual(
|
|
30
104
|
3,
|
|
31
|
-
(result, onOk, onErr) => isOk(result) ?
|
|
32
|
-
);
|
|
33
|
-
var flatMap = dual(
|
|
34
|
-
2,
|
|
35
|
-
(result, fn) => isOk(result) ? fn(result.value) : mkErr(result.error)
|
|
36
|
-
);
|
|
37
|
-
var unwrapOr = dual(
|
|
38
|
-
2,
|
|
39
|
-
(result, defaultValue) => isOk(result) ? result.value : defaultValue
|
|
105
|
+
(result, onOk, onErr) => isOk(result) ? newOk(onOk(result.value)) : newErr(onErr(result.error))
|
|
40
106
|
);
|
|
41
107
|
function fromThrowable(fn, onThrow) {
|
|
42
108
|
return (...args) => {
|
|
43
109
|
try {
|
|
44
|
-
return
|
|
110
|
+
return newOk(fn(...args));
|
|
45
111
|
} catch (error) {
|
|
46
|
-
return
|
|
112
|
+
return newErr(onThrow(error));
|
|
47
113
|
}
|
|
48
114
|
};
|
|
49
115
|
}
|
|
@@ -63,11 +129,11 @@ var sequenceSettled = (settled) => {
|
|
|
63
129
|
const values = [];
|
|
64
130
|
for (const result of settled) {
|
|
65
131
|
if (isErr(result)) {
|
|
66
|
-
return
|
|
132
|
+
return newErr(result.error);
|
|
67
133
|
}
|
|
68
134
|
values.push(result.value);
|
|
69
135
|
}
|
|
70
|
-
return
|
|
136
|
+
return newOk(values);
|
|
71
137
|
};
|
|
72
138
|
var ResultAsync = class _ResultAsync {
|
|
73
139
|
constructor(run) {
|
|
@@ -104,9 +170,9 @@ var ResultAsync = class _ResultAsync {
|
|
|
104
170
|
static fromPromise(promise, onReject) {
|
|
105
171
|
return new _ResultAsync(async () => {
|
|
106
172
|
try {
|
|
107
|
-
return
|
|
173
|
+
return newOk(await promise);
|
|
108
174
|
} catch (error) {
|
|
109
|
-
return
|
|
175
|
+
return newErr(onReject(error));
|
|
110
176
|
}
|
|
111
177
|
});
|
|
112
178
|
}
|
|
@@ -120,7 +186,7 @@ var ResultAsync = class _ResultAsync {
|
|
|
120
186
|
* ```
|
|
121
187
|
*/
|
|
122
188
|
static fromSafePromise(promise) {
|
|
123
|
-
return new _ResultAsync(async () =>
|
|
189
|
+
return new _ResultAsync(async () => newOk(await promise));
|
|
124
190
|
}
|
|
125
191
|
/**
|
|
126
192
|
* Defers work until {@link resolve}. Unlike {@link fromPromise}, the factory
|
|
@@ -138,13 +204,13 @@ var ResultAsync = class _ResultAsync {
|
|
|
138
204
|
return new _ResultAsync(fn);
|
|
139
205
|
}
|
|
140
206
|
static ok(value) {
|
|
141
|
-
return new _ResultAsync(async () =>
|
|
207
|
+
return new _ResultAsync(async () => newOk(value));
|
|
142
208
|
}
|
|
143
209
|
static of(value) {
|
|
144
210
|
return _ResultAsync.ok(value);
|
|
145
211
|
}
|
|
146
212
|
static err(error) {
|
|
147
|
-
return new _ResultAsync(async () =>
|
|
213
|
+
return new _ResultAsync(async () => newErr(error));
|
|
148
214
|
}
|
|
149
215
|
/**
|
|
150
216
|
* Lifts an existing `Promise<Result<T, E>>` (e.g. from interop code) into a
|
|
@@ -162,7 +228,7 @@ var ResultAsync = class _ResultAsync {
|
|
|
162
228
|
try {
|
|
163
229
|
return await promise;
|
|
164
230
|
} catch (error) {
|
|
165
|
-
return
|
|
231
|
+
return newErr(mapDefect(error));
|
|
166
232
|
}
|
|
167
233
|
});
|
|
168
234
|
}
|
|
@@ -184,11 +250,11 @@ var ResultAsync = class _ResultAsync {
|
|
|
184
250
|
for (const ra of results) {
|
|
185
251
|
const result = await ra.resolve();
|
|
186
252
|
if (isErr(result)) {
|
|
187
|
-
return
|
|
253
|
+
return newErr(result.error);
|
|
188
254
|
}
|
|
189
255
|
values.push(result.value);
|
|
190
256
|
}
|
|
191
|
-
return
|
|
257
|
+
return newOk(values);
|
|
192
258
|
});
|
|
193
259
|
}
|
|
194
260
|
/**
|
|
@@ -283,7 +349,7 @@ var ResultAsync = class _ResultAsync {
|
|
|
283
349
|
return new _ResultAsync(async () => {
|
|
284
350
|
const first = await this.resolve();
|
|
285
351
|
if (isErr(first)) {
|
|
286
|
-
return first;
|
|
352
|
+
return newErr(first.error);
|
|
287
353
|
}
|
|
288
354
|
const next = fn(first.value);
|
|
289
355
|
return next instanceof _ResultAsync ? next.resolve() : next;
|
|
@@ -315,7 +381,7 @@ var ResultAsync = class _ResultAsync {
|
|
|
315
381
|
return new _ResultAsync(async () => {
|
|
316
382
|
const first = await this.resolve();
|
|
317
383
|
if (!isErr(first)) {
|
|
318
|
-
return first;
|
|
384
|
+
return newOk(first.value);
|
|
319
385
|
}
|
|
320
386
|
const next = fn(first.error);
|
|
321
387
|
return next instanceof _ResultAsync ? next.resolve() : next;
|
|
@@ -436,15 +502,29 @@ var ResultAsync = class _ResultAsync {
|
|
|
436
502
|
var combine = (results) => {
|
|
437
503
|
const values = [];
|
|
438
504
|
for (const result of results) {
|
|
439
|
-
if (isErr(result)) return
|
|
505
|
+
if (isErr(result)) return newErr(result.error);
|
|
440
506
|
values.push(result.value);
|
|
441
507
|
}
|
|
442
|
-
return
|
|
508
|
+
return newOk(values);
|
|
443
509
|
};
|
|
444
510
|
var combineTuple = (results, ..._guard) => (
|
|
445
511
|
// Runtime identical to combine; the cast restores per-index tuple types.
|
|
512
|
+
// `unknown` hop: the tuple type is computed from R, which TS cannot relate to the runtime array.
|
|
446
513
|
combine(results)
|
|
447
514
|
);
|
|
515
|
+
function validateAll(results, combineErrors) {
|
|
516
|
+
const values = [];
|
|
517
|
+
const errors = [];
|
|
518
|
+
for (const result of results) {
|
|
519
|
+
if (isErr(result)) {
|
|
520
|
+
errors.push(result.error);
|
|
521
|
+
} else {
|
|
522
|
+
values.push(result.value);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
if (errors.length === 0) return newOk(values);
|
|
526
|
+
return newErr(errors);
|
|
527
|
+
}
|
|
448
528
|
|
|
449
529
|
// src/compat/neverthrow.ts
|
|
450
530
|
var CompatResult = class _CompatResult {
|
|
@@ -461,11 +541,12 @@ var CompatResult = class _CompatResult {
|
|
|
461
541
|
combineTuple(results.map((r) => r.inner))
|
|
462
542
|
);
|
|
463
543
|
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
544
|
+
// The `as unknown as` casts below restore per-index tuple types computed from R, which TS cannot
|
|
545
|
+
// relate to the runtime arrays.
|
|
546
|
+
static combineWithAllErrors(results) {
|
|
547
|
+
return new _CompatResult(
|
|
548
|
+
validateAll(results.map((r) => r.inner))
|
|
549
|
+
);
|
|
469
550
|
}
|
|
470
551
|
isOk() {
|
|
471
552
|
return isOk(this.inner);
|
|
@@ -474,25 +555,68 @@ var CompatResult = class _CompatResult {
|
|
|
474
555
|
return isErr(this.inner);
|
|
475
556
|
}
|
|
476
557
|
map(fn) {
|
|
477
|
-
return new _CompatResult(
|
|
558
|
+
return new _CompatResult(this.inner.map(fn));
|
|
478
559
|
}
|
|
479
560
|
mapErr(fn) {
|
|
480
|
-
return new _CompatResult(
|
|
561
|
+
return new _CompatResult(this.inner.mapErr(fn));
|
|
481
562
|
}
|
|
482
563
|
andThen(fn) {
|
|
483
|
-
return new _CompatResult(
|
|
564
|
+
return new _CompatResult(this.inner.flatMap((value) => fn(value).inner));
|
|
484
565
|
}
|
|
485
566
|
asyncAndThen(fn) {
|
|
486
567
|
return isErr(this.inner) ? CompatResultAsync.err(this.inner.error) : CompatResultAsync.fromInner(coerceToCoreAsync(fn(this.inner.value)));
|
|
487
568
|
}
|
|
488
569
|
orElse(fn) {
|
|
489
|
-
return isOk(this.inner) ? new _CompatResult(this.inner) : fn(this.inner.error);
|
|
570
|
+
return isOk(this.inner) ? new _CompatResult(newOk(this.inner.value)) : fn(this.inner.error);
|
|
490
571
|
}
|
|
491
572
|
match(onOk, onErr) {
|
|
492
573
|
return isOk(this.inner) ? onOk(this.inner.value) : onErr(this.inner.error);
|
|
493
574
|
}
|
|
494
575
|
unwrapOr(defaultValue) {
|
|
495
|
-
return
|
|
576
|
+
return this.inner.unwrapOr(defaultValue);
|
|
577
|
+
}
|
|
578
|
+
andTee(fn) {
|
|
579
|
+
if (isOk(this.inner)) {
|
|
580
|
+
try {
|
|
581
|
+
fn(this.inner.value);
|
|
582
|
+
} catch {
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
return this;
|
|
586
|
+
}
|
|
587
|
+
orTee(fn) {
|
|
588
|
+
if (isErr(this.inner)) {
|
|
589
|
+
try {
|
|
590
|
+
fn(this.inner.error);
|
|
591
|
+
} catch {
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
return this;
|
|
595
|
+
}
|
|
596
|
+
andThrough(fn) {
|
|
597
|
+
if (isErr(this.inner)) return this;
|
|
598
|
+
const through = fn(this.inner.value).inner;
|
|
599
|
+
return isErr(through) ? new _CompatResult(newErr(through.error)) : this;
|
|
600
|
+
}
|
|
601
|
+
asyncAndThrough(fn) {
|
|
602
|
+
const inner = this.inner;
|
|
603
|
+
return CompatResultAsync.fromInner(
|
|
604
|
+
ResultAsync.defer(async () => {
|
|
605
|
+
if (isErr(inner)) return inner;
|
|
606
|
+
const through = await coerceToCoreAsync(fn(inner.value)).resolve();
|
|
607
|
+
return isErr(through) ? newErr(through.error) : inner;
|
|
608
|
+
})
|
|
609
|
+
);
|
|
610
|
+
}
|
|
611
|
+
asyncMap(fn) {
|
|
612
|
+
return isErr(this.inner) ? CompatResultAsync.err(this.inner.error) : CompatResultAsync.fromSafePromise(fn(this.inner.value));
|
|
613
|
+
}
|
|
614
|
+
/** Yields the `Err` to {@link safeTry} on failure; returns the `Ok` value otherwise. */
|
|
615
|
+
*safeUnwrap() {
|
|
616
|
+
if (isErr(this.inner)) {
|
|
617
|
+
yield new _CompatResult(newErr(this.inner.error));
|
|
618
|
+
}
|
|
619
|
+
return this._unsafeUnwrap();
|
|
496
620
|
}
|
|
497
621
|
_unsafeUnwrap() {
|
|
498
622
|
if (isErr(this.inner)) {
|
|
@@ -508,8 +632,34 @@ var CompatResult = class _CompatResult {
|
|
|
508
632
|
}
|
|
509
633
|
};
|
|
510
634
|
var Result = CompatResult;
|
|
511
|
-
var ok = (value) => new CompatResult(
|
|
512
|
-
var err = (error) => new CompatResult(
|
|
635
|
+
var ok = (value) => new CompatResult(newOk(value));
|
|
636
|
+
var err = (error) => new CompatResult(newErr(error));
|
|
637
|
+
Object.defineProperty(CompatResult.prototype, "value", {
|
|
638
|
+
get() {
|
|
639
|
+
return this._unsafeUnwrap();
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
Object.defineProperty(CompatResult.prototype, "error", {
|
|
643
|
+
get() {
|
|
644
|
+
return this._unsafeUnwrapErr();
|
|
645
|
+
}
|
|
646
|
+
});
|
|
647
|
+
var Ok = class extends CompatResult {
|
|
648
|
+
constructor(value) {
|
|
649
|
+
super(newOk(value));
|
|
650
|
+
}
|
|
651
|
+
static [Symbol.hasInstance](candidate) {
|
|
652
|
+
return candidate instanceof CompatResult && isOk(candidate.inner);
|
|
653
|
+
}
|
|
654
|
+
};
|
|
655
|
+
var Err = class extends CompatResult {
|
|
656
|
+
constructor(error) {
|
|
657
|
+
super(newErr(error));
|
|
658
|
+
}
|
|
659
|
+
static [Symbol.hasInstance](candidate) {
|
|
660
|
+
return candidate instanceof CompatResult && isErr(candidate.inner);
|
|
661
|
+
}
|
|
662
|
+
};
|
|
513
663
|
var CompatResultAsync = class _CompatResultAsync {
|
|
514
664
|
constructor(inner) {
|
|
515
665
|
this.inner = inner;
|
|
@@ -541,6 +691,13 @@ var CompatResultAsync = class _CompatResultAsync {
|
|
|
541
691
|
ResultAsync.combine(results.map((r) => r.inner))
|
|
542
692
|
);
|
|
543
693
|
}
|
|
694
|
+
static combineWithAllErrors(results) {
|
|
695
|
+
return new _CompatResultAsync(
|
|
696
|
+
ResultAsync.defer(
|
|
697
|
+
async () => validateAll(await Promise.all(results.map((r) => r.resolve())))
|
|
698
|
+
)
|
|
699
|
+
);
|
|
700
|
+
}
|
|
544
701
|
// biome-ignore lint/suspicious/noThenProperty: thenable shim for `await ra` -> CompatResult
|
|
545
702
|
then(onfulfilled, onrejected) {
|
|
546
703
|
return this.inner.resolve().then((r) => {
|
|
@@ -605,6 +762,21 @@ var CompatResultAsync = class _CompatResultAsync {
|
|
|
605
762
|
})
|
|
606
763
|
);
|
|
607
764
|
}
|
|
765
|
+
andThrough(fn) {
|
|
766
|
+
return new _CompatResultAsync(
|
|
767
|
+
ResultAsync.defer(async () => {
|
|
768
|
+
const r = await this.inner.resolve();
|
|
769
|
+
if (isErr(r)) return r;
|
|
770
|
+
const next = coerceToCore(fn(r.value));
|
|
771
|
+
const through = next instanceof ResultAsync ? await next.resolve() : next;
|
|
772
|
+
return isErr(through) ? newErr(through.error) : r;
|
|
773
|
+
})
|
|
774
|
+
);
|
|
775
|
+
}
|
|
776
|
+
/** Async twin of {@link CompatResult.safeUnwrap}. */
|
|
777
|
+
async *safeUnwrap() {
|
|
778
|
+
return yield* new CompatResult(await this.inner.resolve()).safeUnwrap();
|
|
779
|
+
}
|
|
608
780
|
orTee(fn) {
|
|
609
781
|
return new _CompatResultAsync(
|
|
610
782
|
ResultAsync.defer(async () => {
|
|
@@ -627,11 +799,20 @@ function coerceToCore(next) {
|
|
|
627
799
|
return next;
|
|
628
800
|
}
|
|
629
801
|
var coerceToCoreAsync = (next) => next instanceof CompatResultAsync ? next.toCore() : next;
|
|
802
|
+
function safeTry(body) {
|
|
803
|
+
const step = body().next();
|
|
804
|
+
if (step instanceof Promise) {
|
|
805
|
+
return CompatResultAsync.fromInner(ResultAsync.defer(async () => (await step).value.inner));
|
|
806
|
+
}
|
|
807
|
+
return step.value;
|
|
808
|
+
}
|
|
630
809
|
var okAsync = CompatResultAsync.ok;
|
|
631
810
|
var errAsync = CompatResultAsync.err;
|
|
632
811
|
var fromPromise = CompatResultAsync.fromPromise;
|
|
633
812
|
var fromSafePromise = CompatResultAsync.fromSafePromise;
|
|
813
|
+
var fromThrowable2 = CompatResult.fromThrowable;
|
|
814
|
+
var fromAsyncThrowable = CompatResultAsync.fromThrowable;
|
|
634
815
|
|
|
635
|
-
export { CompatResult, CompatResultAsync, Result, CompatResultAsync as ResultAsync, err, errAsync, fromPromise, fromSafePromise, ok, okAsync };
|
|
816
|
+
export { CompatResult, CompatResultAsync, Err, Ok, Result, CompatResultAsync as ResultAsync, err, errAsync, fromAsyncThrowable, fromPromise, fromSafePromise, fromThrowable2 as fromThrowable, ok, okAsync, safeTry };
|
|
636
817
|
//# sourceMappingURL=neverthrow.js.map
|
|
637
818
|
//# sourceMappingURL=neverthrow.js.map
|