decoders 1.25.5 → 1.26.0-beta2
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/CHANGELOG.md +4 -0
- package/{array.js → cjs/array.js} +5 -5
- package/{array.js.flow → cjs/array.js.flow} +1 -1
- package/{boolean.js → cjs/boolean.js} +3 -3
- package/{boolean.js.flow → cjs/boolean.js.flow} +1 -1
- package/{constants.js → cjs/constants.js} +6 -6
- package/{constants.js.flow → cjs/constants.js.flow} +1 -1
- package/{date.js → cjs/date.js} +2 -2
- package/{date.js.flow → cjs/date.js.flow} +1 -1
- package/{describe.js → cjs/describe.js} +0 -0
- package/{describe.js.flow → cjs/describe.js.flow} +0 -0
- package/{dispatch.js → cjs/dispatch.js} +0 -0
- package/{dispatch.js.flow → cjs/dispatch.js.flow} +0 -0
- package/{either.js → cjs/either.js} +6 -6
- package/{either.js.flow → cjs/either.js.flow} +1 -1
- package/{fail.js → cjs/fail.js} +2 -2
- package/{fail.js.flow → cjs/fail.js.flow} +1 -1
- package/{guard.js → cjs/guard.js} +0 -0
- package/{guard.js.flow → cjs/guard.js.flow} +0 -0
- package/{index.js → cjs/index.js} +0 -0
- package/{index.js.flow → cjs/index.js.flow} +0 -0
- package/{instanceOf.js → cjs/instanceOf.js} +2 -2
- package/{instanceOf.js.flow → cjs/instanceOf.js.flow} +1 -1
- package/{json.js → cjs/json.js} +0 -0
- package/{json.js.flow → cjs/json.js.flow} +0 -0
- package/{lazy.js → cjs/lazy.js} +0 -0
- package/{lazy.js.flow → cjs/lazy.js.flow} +0 -0
- package/{mapping.js → cjs/mapping.js} +3 -3
- package/{mapping.js.flow → cjs/mapping.js.flow} +1 -1
- package/{number.js → cjs/number.js} +2 -2
- package/{number.js.flow → cjs/number.js.flow} +1 -1
- package/{object.js → cjs/object.js} +7 -7
- package/{object.js.flow → cjs/object.js.flow} +1 -1
- package/{optional.js → cjs/optional.js} +3 -3
- package/{optional.js.flow → cjs/optional.js.flow} +1 -1
- package/{string.js → cjs/string.js} +5 -5
- package/{string.js.flow → cjs/string.js.flow} +1 -1
- package/{tuple.js → cjs/tuple.js} +13 -13
- package/{tuple.js.flow → cjs/tuple.js.flow} +1 -1
- package/cjs/types.js +3 -0
- package/{types.js.flow → cjs/types.js.flow} +1 -1
- package/{utils.js → cjs/utils.js} +4 -4
- package/{utils.js.flow → cjs/utils.js.flow} +1 -1
- package/es/index.js +1039 -0
- package/package.json +9 -5
- package/{array.d.ts → ts/array.d.ts} +0 -0
- package/{boolean.d.ts → ts/boolean.d.ts} +0 -0
- package/{constants.d.ts → ts/constants.d.ts} +0 -0
- package/{date.d.ts → ts/date.d.ts} +0 -0
- package/{describe.d.ts → ts/describe.d.ts} +0 -0
- package/{dispatch.d.ts → ts/dispatch.d.ts} +0 -0
- package/{either.d.ts → ts/either.d.ts} +0 -0
- package/{fail.d.ts → ts/fail.d.ts} +0 -0
- package/{guard.d.ts → ts/guard.d.ts} +0 -0
- package/{helpers.d.ts → ts/helpers.d.ts} +0 -0
- package/{index.d.ts → ts/index.d.ts} +0 -0
- package/{instanceOf.d.ts → ts/instanceOf.d.ts} +0 -0
- package/{json.d.ts → ts/json.d.ts} +0 -0
- package/{lazy.d.ts → ts/lazy.d.ts} +0 -0
- package/{mapping.d.ts → ts/mapping.d.ts} +0 -0
- package/{number.d.ts → ts/number.d.ts} +0 -0
- package/{object.d.ts → ts/object.d.ts} +0 -0
- package/{optional.d.ts → ts/optional.d.ts} +0 -0
- package/{string.d.ts → ts/string.d.ts} +0 -0
- package/{tuple.d.ts → ts/tuple.d.ts} +0 -0
- package/{types.d.ts → ts/types.d.ts} +1 -1
- package/{utils.d.ts → ts/utils.d.ts} +0 -0
- package/types.js +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -9,7 +9,7 @@ exports.poja = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _debrief = require("debrief");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _lemons = require("lemons");
|
|
13
13
|
|
|
14
14
|
var _utils = require("./utils");
|
|
15
15
|
|
|
@@ -33,10 +33,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
33
33
|
*/
|
|
34
34
|
var poja = function poja(blob) {
|
|
35
35
|
if (!Array.isArray(blob)) {
|
|
36
|
-
return (0,
|
|
36
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be an array'));
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
return (0,
|
|
39
|
+
return (0, _lemons.Ok)( // NOTE: Since Flow 0.98, Array.isArray() returns $ReadOnlyArray<mixed>
|
|
40
40
|
// instead of Array<mixed>. For rationale, see
|
|
41
41
|
// https://github.com/facebook/flow/issues/7684. In this case, we
|
|
42
42
|
// don't want to output read-only types because it's up to the user of
|
|
@@ -85,7 +85,7 @@ function all(iterable, blobs) {
|
|
|
85
85
|
// errValue.push('...'); // TODO: make special mark, not string!
|
|
86
86
|
// }
|
|
87
87
|
|
|
88
|
-
return (0,
|
|
88
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(clone));
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
index++;
|
|
@@ -96,7 +96,7 @@ function all(iterable, blobs) {
|
|
|
96
96
|
_iterator.f();
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
return (0,
|
|
99
|
+
return (0, _lemons.Ok)(results);
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
102
|
* Given a T, builds a decoder that assumes an array input and returns an
|
|
@@ -7,7 +7,7 @@ exports.truthy = exports.numericBoolean = exports["boolean"] = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _debrief = require("debrief");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _lemons = require("lemons");
|
|
11
11
|
|
|
12
12
|
var _number = require("./number");
|
|
13
13
|
|
|
@@ -17,7 +17,7 @@ var _utils = require("./utils");
|
|
|
17
17
|
* Decoder that only returns Ok for boolean inputs. Err otherwise.
|
|
18
18
|
*/
|
|
19
19
|
var _boolean = function _boolean(blob) {
|
|
20
|
-
return typeof blob === 'boolean' ? (0,
|
|
20
|
+
return typeof blob === 'boolean' ? (0, _lemons.Ok)(blob) : (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be boolean'));
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
23
|
* Decoder that returns true for all truthy values, and false otherwise. Never fails.
|
|
@@ -27,7 +27,7 @@ var _boolean = function _boolean(blob) {
|
|
|
27
27
|
exports["boolean"] = _boolean;
|
|
28
28
|
|
|
29
29
|
var truthy = function truthy(blob) {
|
|
30
|
-
return (0,
|
|
30
|
+
return (0, _lemons.Ok)(!!blob);
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Decoder that only returns Ok for numeric input values representing booleans.
|
|
@@ -9,13 +9,13 @@ exports.unknown = exports.undefined_ = exports.null_ = exports.mixed = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _debrief = require("debrief");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _lemons = require("lemons");
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Decoder that only returns Ok for `null` inputs. Err otherwise.
|
|
16
16
|
*/
|
|
17
17
|
var null_ = function null_(blob) {
|
|
18
|
-
return blob === null ? (0,
|
|
18
|
+
return blob === null ? (0, _lemons.Ok)(blob) : (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be null'));
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
21
21
|
* Decoder that only returns Ok for `undefined` inputs. Err otherwise.
|
|
@@ -25,7 +25,7 @@ var null_ = function null_(blob) {
|
|
|
25
25
|
exports.null_ = null_;
|
|
26
26
|
|
|
27
27
|
var undefined_ = function undefined_(blob) {
|
|
28
|
-
return blob === undefined ? (0,
|
|
28
|
+
return blob === undefined ? (0, _lemons.Ok)(blob) : (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be undefined'));
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
31
|
* Decoder that only returns Ok for the given value constant. Err otherwise.
|
|
@@ -36,7 +36,7 @@ exports.undefined_ = undefined_;
|
|
|
36
36
|
|
|
37
37
|
function constant(value) {
|
|
38
38
|
return function (blob) {
|
|
39
|
-
return blob === value ? (0,
|
|
39
|
+
return blob === value ? (0, _lemons.Ok)(value) : (0, _lemons.Err)((0, _debrief.annotate)(blob, "Must be constant ".concat(String(value))));
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
@@ -46,7 +46,7 @@ function constant(value) {
|
|
|
46
46
|
|
|
47
47
|
function hardcoded(value) {
|
|
48
48
|
return function (_) {
|
|
49
|
-
return (0,
|
|
49
|
+
return (0, _lemons.Ok)(value);
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -55,7 +55,7 @@ function hardcoded(value) {
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
var mixed = function mixed(blob) {
|
|
58
|
-
return (0,
|
|
58
|
+
return (0, _lemons.Ok)(blob);
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
61
|
* Alias of mixed.
|
package/{date.js → cjs/date.js}
RENAMED
|
@@ -7,7 +7,7 @@ exports.iso8601 = exports.date = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _debrief = require("debrief");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _lemons = require("lemons");
|
|
11
11
|
|
|
12
12
|
var _string = require("./string");
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ var _utils = require("./utils");
|
|
|
19
19
|
var iso8601_re = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:[.]\d+)?(?:Z|[+-]\d{2}:?\d{2})$/;
|
|
20
20
|
|
|
21
21
|
var date = function date(value) {
|
|
22
|
-
return (0, _utils.isDate)(value) ? (0,
|
|
22
|
+
return (0, _utils.isDate)(value) ? (0, _lemons.Ok)(value) : (0, _lemons.Err)((0, _debrief.annotate)(value, 'Must be a Date'));
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
25
|
* Decoder that only returns Ok for strings that are valid ISO8601 date
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -15,7 +15,7 @@ exports.oneOf = oneOf;
|
|
|
15
15
|
|
|
16
16
|
var _debrief = require("debrief");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _lemons = require("lemons");
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Indents and adds a dash in front of this (potentially multiline) string.
|
|
@@ -29,12 +29,12 @@ function itemize() {
|
|
|
29
29
|
function either(d1, d2) {
|
|
30
30
|
return function (blob) {
|
|
31
31
|
return d1(blob).dispatch(function (value1) {
|
|
32
|
-
return (0,
|
|
32
|
+
return (0, _lemons.Ok)(value1);
|
|
33
33
|
}, function (err1) {
|
|
34
34
|
return d2(blob).dispatch(function (value2) {
|
|
35
|
-
return (0,
|
|
35
|
+
return (0, _lemons.Ok)(value2);
|
|
36
36
|
}, function (err2) {
|
|
37
|
-
return (0,
|
|
37
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(blob, ['Either:', itemize((0, _debrief.summarize)(err1).join('\n')), itemize((0, _debrief.summarize)(err2).join('\n'))].join('\n')));
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
40
|
};
|
|
@@ -75,10 +75,10 @@ function oneOf(constants) {
|
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
if (winner !== undefined) {
|
|
78
|
-
return (0,
|
|
78
|
+
return (0, _lemons.Ok)(winner);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
return (0,
|
|
81
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(blob, "Must be one of ".concat(constants.map(function (value) {
|
|
82
82
|
return JSON.stringify(value);
|
|
83
83
|
}).join(', '))));
|
|
84
84
|
};
|
package/{fail.js → cjs/fail.js}
RENAMED
|
@@ -7,13 +7,13 @@ exports.fail = fail;
|
|
|
7
7
|
|
|
8
8
|
var _debrief = require("debrief");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _lemons = require("lemons");
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Decoder that always fails with the given error message, no matter what the input.
|
|
14
14
|
*/
|
|
15
15
|
function fail(msg) {
|
|
16
16
|
return function (blob) {
|
|
17
|
-
return (0,
|
|
17
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(blob, msg));
|
|
18
18
|
};
|
|
19
19
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -7,11 +7,11 @@ exports.instanceOf = instanceOf;
|
|
|
7
7
|
|
|
8
8
|
var _debrief = require("debrief");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _lemons = require("lemons");
|
|
11
11
|
|
|
12
12
|
function instanceOf(klass) {
|
|
13
13
|
return function (blob) {
|
|
14
|
-
return blob instanceof klass ? (0,
|
|
14
|
+
return blob instanceof klass ? (0, _lemons.Ok)(blob) : (0, _lemons.Err)((0, _debrief.annotate)(blob, "Must be ".concat( // $FlowFixMe[incompatible-use] - klass.name is fine?
|
|
15
15
|
klass.name, " instance")));
|
|
16
16
|
};
|
|
17
17
|
}
|
package/{json.js → cjs/json.js}
RENAMED
|
File without changes
|
|
File without changes
|
package/{lazy.js → cjs/lazy.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -8,7 +8,7 @@ exports.mapping = mapping;
|
|
|
8
8
|
|
|
9
9
|
var _debrief = require("debrief");
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _lemons = require("lemons");
|
|
12
12
|
|
|
13
13
|
var _object = require("./object");
|
|
14
14
|
|
|
@@ -74,9 +74,9 @@ function mapping(decoder) {
|
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
if (errors.length > 0) {
|
|
77
|
-
return (0,
|
|
77
|
+
return (0, _lemons.Err)((0, _debrief.annotateFields)(blob, errors));
|
|
78
78
|
} else {
|
|
79
|
-
return (0,
|
|
79
|
+
return (0, _lemons.Ok)(new Map(tuples));
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
}
|
|
@@ -7,12 +7,12 @@ exports.positiveNumber = exports.positiveInteger = exports.number = exports.inte
|
|
|
7
7
|
|
|
8
8
|
var _debrief = require("debrief");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _lemons = require("lemons");
|
|
11
11
|
|
|
12
12
|
var _utils = require("./utils");
|
|
13
13
|
|
|
14
14
|
var anyNumber = function anyNumber(blob) {
|
|
15
|
-
return typeof blob === 'number' && !Number.isNaN(blob) ? (0,
|
|
15
|
+
return typeof blob === 'number' && !Number.isNaN(blob) ? (0, _lemons.Ok)(blob) : (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be number'));
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
var isInteger = function isInteger(n) {
|
|
@@ -10,7 +10,7 @@ exports.pojo = void 0;
|
|
|
10
10
|
|
|
11
11
|
var _debrief = require("debrief");
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _lemons = require("lemons");
|
|
14
14
|
|
|
15
15
|
var _utils = require("./utils");
|
|
16
16
|
|
|
@@ -59,7 +59,7 @@ function subtract(xs, ys) {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
var pojo = function pojo(blob) {
|
|
62
|
-
return isPojo(blob) ? (0,
|
|
62
|
+
return isPojo(blob) ? (0, _lemons.Ok)( // NOTE:
|
|
63
63
|
// Since Flow 0.98, typeof o === 'object' refines to
|
|
64
64
|
// {| +[string]: mixed |}
|
|
65
65
|
// instead of
|
|
@@ -73,7 +73,7 @@ var pojo = function pojo(blob) {
|
|
|
73
73
|
// way to turn a read-only Object to a writeable one in ES6 seems
|
|
74
74
|
// to be to use object-spread. (Going off this benchmark:
|
|
75
75
|
// https://thecodebarbarian.com/object-assign-vs-object-spread.html)
|
|
76
|
-
_objectSpread({}, blob)) : (0,
|
|
76
|
+
_objectSpread({}, blob)) : (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be an object'));
|
|
77
77
|
};
|
|
78
78
|
/**
|
|
79
79
|
* Given a mapping of fields-to-decoders, builds a decoder for an object type.
|
|
@@ -175,10 +175,10 @@ function object(mapping) {
|
|
|
175
175
|
err = (0, _debrief.annotate)(err, "Missing ".concat(pluralized, ": ").concat(errMsg));
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
return (0,
|
|
178
|
+
return (0, _lemons.Err)(err);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
return (0,
|
|
181
|
+
return (0, _lemons.Ok)(record);
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
|
|
@@ -190,10 +190,10 @@ function exact(mapping) {
|
|
|
190
190
|
var superfluous = subtract(actual, allowed);
|
|
191
191
|
|
|
192
192
|
if (superfluous.size > 0) {
|
|
193
|
-
return (0,
|
|
193
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(blob, "Superfluous keys: ".concat(Array.from(superfluous).join(', '))));
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
return (0,
|
|
196
|
+
return (0, _lemons.Ok)(blob);
|
|
197
197
|
}); // Defer to the "object" decoder for doing the real decoding work. Since
|
|
198
198
|
// we made sure there are no superfluous keys in this structure, it's now
|
|
199
199
|
// safe to force-cast it to an $Exact<> type.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { annotate, annotateFields, isAnnotation } from 'debrief';
|
|
4
4
|
import type { Annotation } from 'debrief';
|
|
5
|
-
import { Err, Ok } from 'lemons
|
|
5
|
+
import { Err, Ok } from 'lemons';
|
|
6
6
|
|
|
7
7
|
import type { $DecoderType, Decoder } from './types';
|
|
8
8
|
import { compose, map } from './utils';
|
|
@@ -9,7 +9,7 @@ exports.optional = optional;
|
|
|
9
9
|
|
|
10
10
|
var _debrief = require("debrief");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _lemons = require("lemons");
|
|
13
13
|
|
|
14
14
|
var _constants = require("./constants");
|
|
15
15
|
|
|
@@ -39,8 +39,8 @@ function nullable(decoder) {
|
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
var undefined_or_null = function undefined_or_null(blob) {
|
|
42
|
-
return blob === undefined || blob === null ? (0,
|
|
43
|
-
(0,
|
|
42
|
+
return blob === undefined || blob === null ? (0, _lemons.Ok)(blob) : // Combine error message into a single line
|
|
43
|
+
(0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be undefined or null'));
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
46
|
* Decoder that only returns Ok for `null` or `undefined` inputs.
|
|
@@ -9,7 +9,7 @@ exports.url = exports.string = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _debrief = require("debrief");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _lemons = require("lemons");
|
|
13
13
|
|
|
14
14
|
var _utils = require("./utils");
|
|
15
15
|
|
|
@@ -28,7 +28,7 @@ var DEFAULT_SCHEMES = ['https'];
|
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
30
|
var string = function string(blob) {
|
|
31
|
-
return typeof blob === 'string' ? (0,
|
|
31
|
+
return typeof blob === 'string' ? (0, _lemons.Ok)(blob) : (0, _lemons.Err)((0, _debrief.annotate)(blob, 'Must be string'));
|
|
32
32
|
};
|
|
33
33
|
/**
|
|
34
34
|
* Decoder that only returns Ok for non-empty string inputs. Err otherwise.
|
|
@@ -77,14 +77,14 @@ var url = function url() {
|
|
|
77
77
|
var matches = value.match(url_re);
|
|
78
78
|
|
|
79
79
|
if (!matches) {
|
|
80
|
-
return (0,
|
|
80
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(value, 'Must be URL'));
|
|
81
81
|
} else {
|
|
82
82
|
var scheme = matches[1];
|
|
83
83
|
|
|
84
84
|
if (schemes.length === 0 || schemes.includes(scheme.toLowerCase())) {
|
|
85
|
-
return (0,
|
|
85
|
+
return (0, _lemons.Ok)(value);
|
|
86
86
|
} else {
|
|
87
|
-
return (0,
|
|
87
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(value, "URL scheme must be any of: ".concat(schemes.join(', '))));
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
});
|
|
@@ -12,7 +12,7 @@ exports.tuple6 = tuple6;
|
|
|
12
12
|
|
|
13
13
|
var _debrief = require("debrief");
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _lemons = require("lemons");
|
|
16
16
|
|
|
17
17
|
var _array = require("./array");
|
|
18
18
|
|
|
@@ -49,11 +49,11 @@ function tuple1(decoder1) {
|
|
|
49
49
|
var result1 = decoder1(blob1);
|
|
50
50
|
|
|
51
51
|
try {
|
|
52
|
-
return (0,
|
|
52
|
+
return (0, _lemons.Ok)([result1.unwrap()]);
|
|
53
53
|
} catch (e) {
|
|
54
54
|
// If a decoder error has happened while unwrapping all the
|
|
55
55
|
// results, try to construct a good error message
|
|
56
|
-
return (0,
|
|
56
|
+
return (0, _lemons.Err)((0, _debrief.annotate)(result1.errValue()));
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -73,11 +73,11 @@ function tuple2(decoder1, decoder2) {
|
|
|
73
73
|
var result2 = decoder2(blob2);
|
|
74
74
|
|
|
75
75
|
try {
|
|
76
|
-
return (0,
|
|
76
|
+
return (0, _lemons.Ok)([result1.unwrap(), result2.unwrap()]);
|
|
77
77
|
} catch (e) {
|
|
78
78
|
// If a decoder error has happened while unwrapping all the
|
|
79
79
|
// results, try to construct a good error message
|
|
80
|
-
return (0,
|
|
80
|
+
return (0, _lemons.Err)((0, _debrief.annotate)([result1.isErr() ? result1.errValue() : result1.value(), result2.isErr() ? result2.errValue() : result2.value()]));
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
}
|
|
@@ -99,11 +99,11 @@ function tuple3(decoder1, decoder2, decoder3) {
|
|
|
99
99
|
var result3 = decoder3(blob3);
|
|
100
100
|
|
|
101
101
|
try {
|
|
102
|
-
return (0,
|
|
102
|
+
return (0, _lemons.Ok)([result1.unwrap(), result2.unwrap(), result3.unwrap()]);
|
|
103
103
|
} catch (e) {
|
|
104
104
|
// If a decoder error has happened while unwrapping all the
|
|
105
105
|
// results, try to construct a good error message
|
|
106
|
-
return (0,
|
|
106
|
+
return (0, _lemons.Err)((0, _debrief.annotate)([result1.isErr() ? result1.errValue() : result1.value(), result2.isErr() ? result2.errValue() : result2.value(), result3.isErr() ? result3.errValue() : result3.value()]));
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
}
|
|
@@ -127,11 +127,11 @@ function tuple4(decoder1, decoder2, decoder3, decoder4) {
|
|
|
127
127
|
var result4 = decoder4(blob4);
|
|
128
128
|
|
|
129
129
|
try {
|
|
130
|
-
return (0,
|
|
130
|
+
return (0, _lemons.Ok)([result1.unwrap(), result2.unwrap(), result3.unwrap(), result4.unwrap()]);
|
|
131
131
|
} catch (e) {
|
|
132
132
|
// If a decoder error has happened while unwrapping all the
|
|
133
133
|
// results, try to construct a good error message
|
|
134
|
-
return (0,
|
|
134
|
+
return (0, _lemons.Err)((0, _debrief.annotate)([result1.isErr() ? result1.errValue() : result1.value(), result2.isErr() ? result2.errValue() : result2.value(), result3.isErr() ? result3.errValue() : result3.value(), result4.isErr() ? result4.errValue() : result4.value()]));
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
137
|
}
|
|
@@ -157,11 +157,11 @@ function tuple5(decoder1, decoder2, decoder3, decoder4, decoder5) {
|
|
|
157
157
|
var result5 = decoder5(blob5);
|
|
158
158
|
|
|
159
159
|
try {
|
|
160
|
-
return (0,
|
|
160
|
+
return (0, _lemons.Ok)([result1.unwrap(), result2.unwrap(), result3.unwrap(), result4.unwrap(), result5.unwrap()]);
|
|
161
161
|
} catch (e) {
|
|
162
162
|
// If a decoder error has happened while unwrapping all the
|
|
163
163
|
// results, try to construct a good error message
|
|
164
|
-
return (0,
|
|
164
|
+
return (0, _lemons.Err)((0, _debrief.annotate)([result1.isErr() ? result1.errValue() : result1.value(), result2.isErr() ? result2.errValue() : result2.value(), result3.isErr() ? result3.errValue() : result3.value(), result4.isErr() ? result4.errValue() : result4.value(), result5.isErr() ? result5.errValue() : result5.value()]));
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
167
|
}
|
|
@@ -189,11 +189,11 @@ function tuple6(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6) {
|
|
|
189
189
|
var result6 = decoder6(blob6);
|
|
190
190
|
|
|
191
191
|
try {
|
|
192
|
-
return (0,
|
|
192
|
+
return (0, _lemons.Ok)([result1.unwrap(), result2.unwrap(), result3.unwrap(), result4.unwrap(), result5.unwrap(), result6.unwrap()]);
|
|
193
193
|
} catch (e) {
|
|
194
194
|
// If a decoder error has happened while unwrapping all the
|
|
195
195
|
// results, try to construct a good error message
|
|
196
|
-
return (0,
|
|
196
|
+
return (0, _lemons.Err)((0, _debrief.annotate)([result1.isErr() ? result1.errValue() : result1.value(), result2.isErr() ? result2.errValue() : result2.value(), result3.isErr() ? result3.errValue() : result3.value(), result4.isErr() ? result4.errValue() : result4.value(), result5.isErr() ? result5.errValue() : result5.value(), result6.isErr() ? result6.errValue() : result6.value()]));
|
|
197
197
|
}
|
|
198
198
|
});
|
|
199
199
|
}
|
package/cjs/types.js
ADDED