@fncts/schema 0.0.15 → 0.0.17
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/AST.d.ts +19 -6
- package/ASTAnnotation.d.ts +10 -2
- package/ParseError/ParseError.d.ts +231 -0
- package/ParseError/ParseErrorFormatter.d.ts +2 -0
- package/ParseError/PathFormatter.d.ts +13 -0
- package/ParseError/TreeFormatter.d.ts +14 -0
- package/ParseError.d.ts +4 -144
- package/ParseResult.d.ts +1 -8
- package/Parser/interpreter.d.ts +0 -1
- package/Schema/api/conc.d.ts +0 -2
- package/Schema/api/hashMap.d.ts +0 -1
- package/Schema/api/hashSet.d.ts +0 -1
- package/Schema/api/immutableArray.d.ts +0 -1
- package/Schema/api/list.d.ts +1 -2
- package/Schema/api/map.d.ts +19 -0
- package/Schema/api/set.d.ts +19 -0
- package/Schema/api.d.ts +12 -2
- package/Schema/derivations.d.ts +1 -1
- package/Schema.d.ts +2 -0
- package/Show.d.ts +7 -3
- package/_cjs/AST.cjs +180 -113
- package/_cjs/AST.cjs.map +1 -1
- package/_cjs/ASTAnnotation.cjs +6 -1
- package/_cjs/ASTAnnotation.cjs.map +1 -1
- package/_cjs/Gen.cjs +24 -24
- package/_cjs/Gen.cjs.map +1 -1
- package/_cjs/ParseError/ParseError.cjs +260 -0
- package/_cjs/ParseError/ParseError.cjs.map +1 -0
- package/_cjs/ParseError/ParseErrorFormatter.cjs +6 -0
- package/_cjs/ParseError/ParseErrorFormatter.cjs.map +1 -0
- package/_cjs/ParseError/PathFormatter.cjs +94 -0
- package/_cjs/ParseError/PathFormatter.cjs.map +1 -0
- package/_cjs/ParseError/TreeFormatter.cjs +123 -0
- package/_cjs/ParseError/TreeFormatter.cjs.map +1 -0
- package/_cjs/ParseError.cjs +43 -289
- package/_cjs/ParseError.cjs.map +1 -1
- package/_cjs/ParseResult.cjs +1 -10
- package/_cjs/ParseResult.cjs.map +1 -1
- package/_cjs/Parser/api.cjs +2 -2
- package/_cjs/Parser/api.cjs.map +1 -1
- package/_cjs/Parser/definition.cjs +1 -1
- package/_cjs/Parser/interpreter.cjs +121 -117
- package/_cjs/Parser/interpreter.cjs.map +1 -1
- package/_cjs/Schema/api/conc.cjs +35 -45
- package/_cjs/Schema/api/conc.cjs.map +1 -1
- package/_cjs/Schema/api/either.cjs +24 -30
- package/_cjs/Schema/api/either.cjs.map +1 -1
- package/_cjs/Schema/api/hashMap.cjs +41 -101
- package/_cjs/Schema/api/hashMap.cjs.map +1 -1
- package/_cjs/Schema/api/hashSet.cjs +46 -106
- package/_cjs/Schema/api/hashSet.cjs.map +1 -1
- package/_cjs/Schema/api/immutableArray.cjs +22 -48
- package/_cjs/Schema/api/immutableArray.cjs.map +1 -1
- package/_cjs/Schema/api/list.cjs +35 -52
- package/_cjs/Schema/api/list.cjs.map +1 -1
- package/_cjs/Schema/api/map.cjs +97 -0
- package/_cjs/Schema/api/map.cjs.map +1 -0
- package/_cjs/Schema/api/maybe.cjs +24 -35
- package/_cjs/Schema/api/maybe.cjs.map +1 -1
- package/_cjs/Schema/api/set.cjs +76 -0
- package/_cjs/Schema/api/set.cjs.map +1 -0
- package/_cjs/Schema/api.cjs +21 -3
- package/_cjs/Schema/api.cjs.map +1 -1
- package/_cjs/Schema.cjs +22 -0
- package/_cjs/Schema.cjs.map +1 -1
- package/_cjs/Show.cjs +106 -89
- package/_cjs/Show.cjs.map +1 -1
- package/_cjs/utils.cjs +5 -0
- package/_cjs/utils.cjs.map +1 -1
- package/_mjs/AST.mjs +177 -112
- package/_mjs/AST.mjs.map +1 -1
- package/_mjs/ASTAnnotation.mjs +5 -0
- package/_mjs/ASTAnnotation.mjs.map +1 -1
- package/_mjs/Gen.mjs +24 -24
- package/_mjs/Gen.mjs.map +1 -1
- package/_mjs/ParseError/ParseError.mjs +228 -0
- package/_mjs/ParseError/ParseError.mjs.map +1 -0
- package/_mjs/ParseError/ParseErrorFormatter.mjs +2 -0
- package/_mjs/ParseError/ParseErrorFormatter.mjs.map +1 -0
- package/_mjs/ParseError/PathFormatter.mjs +86 -0
- package/_mjs/ParseError/PathFormatter.mjs.map +1 -0
- package/_mjs/ParseError/TreeFormatter.mjs +113 -0
- package/_mjs/ParseError/TreeFormatter.mjs.map +1 -0
- package/_mjs/ParseError.mjs +6 -270
- package/_mjs/ParseError.mjs.map +1 -1
- package/_mjs/ParseResult.mjs +1 -9
- package/_mjs/ParseResult.mjs.map +1 -1
- package/_mjs/Parser/api.mjs +2 -2
- package/_mjs/Parser/api.mjs.map +1 -1
- package/_mjs/Parser/definition.mjs +1 -1
- package/_mjs/Parser/interpreter.mjs +121 -117
- package/_mjs/Parser/interpreter.mjs.map +1 -1
- package/_mjs/Schema/api/conc.mjs +35 -44
- package/_mjs/Schema/api/conc.mjs.map +1 -1
- package/_mjs/Schema/api/either.mjs +24 -30
- package/_mjs/Schema/api/either.mjs.map +1 -1
- package/_mjs/Schema/api/hashMap.mjs +41 -101
- package/_mjs/Schema/api/hashMap.mjs.map +1 -1
- package/_mjs/Schema/api/hashSet.mjs +46 -106
- package/_mjs/Schema/api/hashSet.mjs.map +1 -1
- package/_mjs/Schema/api/immutableArray.mjs +23 -49
- package/_mjs/Schema/api/immutableArray.mjs.map +1 -1
- package/_mjs/Schema/api/list.mjs +35 -52
- package/_mjs/Schema/api/list.mjs.map +1 -1
- package/_mjs/Schema/api/map.mjs +88 -0
- package/_mjs/Schema/api/map.mjs.map +1 -0
- package/_mjs/Schema/api/maybe.mjs +24 -35
- package/_mjs/Schema/api/maybe.mjs.map +1 -1
- package/_mjs/Schema/api/set.mjs +67 -0
- package/_mjs/Schema/api/set.mjs.map +1 -0
- package/_mjs/Schema/api.mjs +19 -3
- package/_mjs/Schema/api.mjs.map +1 -1
- package/_mjs/Schema.mjs +2 -0
- package/_mjs/Schema.mjs.map +1 -1
- package/_mjs/Show.mjs +106 -90
- package/_mjs/Show.mjs.map +1 -1
- package/_mjs/utils.mjs +4 -0
- package/_mjs/utils.mjs.map +1 -1
- package/_src/AST.ts +144 -43
- package/_src/ASTAnnotation.ts +8 -1
- package/_src/Gen.ts +12 -9
- package/_src/ParseError/ParseError.ts +304 -0
- package/_src/ParseError/ParseErrorFormatter.ts +1 -0
- package/_src/ParseError/PathFormatter.ts +117 -0
- package/_src/ParseError/TreeFormatter.ts +127 -0
- package/_src/ParseError.ts +7 -331
- package/_src/ParseResult.ts +2 -9
- package/_src/Parser/api.ts +1 -1
- package/_src/Parser/interpreter.ts +98 -75
- package/_src/Schema/api/conc.ts +33 -42
- package/_src/Schema/api/either.ts +20 -30
- package/_src/Schema/api/hashMap.ts +40 -124
- package/_src/Schema/api/hashSet.ts +31 -117
- package/_src/Schema/api/immutableArray.ts +15 -45
- package/_src/Schema/api/list.ts +32 -55
- package/_src/Schema/api/map.ts +93 -0
- package/_src/Schema/api/maybe.ts +19 -34
- package/_src/Schema/api/set.ts +74 -0
- package/_src/Schema/api.ts +21 -3
- package/_src/Schema/derivations.ts +1 -1
- package/_src/Schema.ts +2 -0
- package/_src/Show.ts +156 -128
- package/_src/global.ts +0 -4
- package/_src/utils.ts +5 -0
- package/global.d.ts +0 -4
- package/package.json +2 -2
- package/utils.d.ts +1 -0
- package/ParseFailure.d.ts +0 -18
- package/_cjs/ParseFailure.cjs +0 -28
- package/_cjs/ParseFailure.cjs.map +0 -1
- package/_mjs/ParseFailure.mjs +0 -20
- package/_mjs/ParseFailure.mjs.map +0 -1
- package/_src/ParseFailure.ts +0 -18
|
@@ -1,41 +1,38 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@fncts/
|
|
2
|
-
import * as tsplus_module_2 from "@fncts/schema/
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/
|
|
4
|
-
import * as tsplus_module_4 from "@fncts/
|
|
5
|
-
import * as tsplus_module_5 from "@fncts/base/
|
|
6
|
-
import * as tsplus_module_6 from "@fncts/base/
|
|
7
|
-
import * as tsplus_module_7 from "@fncts/schema/
|
|
8
|
-
import * as tsplus_module_8 from "@fncts/
|
|
9
|
-
import * as tsplus_module_9 from "@fncts/schema/
|
|
10
|
-
import * as tsplus_module_10 from "@fncts/
|
|
11
|
-
import * as tsplus_module_11 from "@fncts/base/
|
|
12
|
-
import * as tsplus_module_12 from "@fncts/
|
|
13
|
-
import * as tsplus_module_13 from "@fncts/
|
|
14
|
-
import * as tsplus_module_14 from "@fncts/
|
|
15
|
-
import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/schema/Show";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
4
|
+
import * as tsplus_module_4 from "@fncts/schema/Schema/api";
|
|
5
|
+
import * as tsplus_module_5 from "@fncts/base/collection/immutable/HashSet/api";
|
|
6
|
+
import * as tsplus_module_6 from "@fncts/base/data/function/api";
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/schema/Parser/api";
|
|
8
|
+
import * as tsplus_module_8 from "@fncts/base/collection/immutable/HashSet/definition";
|
|
9
|
+
import * as tsplus_module_9 from "@fncts/schema/ParseError/ParseError";
|
|
10
|
+
import * as tsplus_module_10 from "@fncts/schema/ParseResult";
|
|
11
|
+
import * as tsplus_module_11 from "@fncts/base/data/Either/api";
|
|
12
|
+
import * as tsplus_module_12 from "@fncts/base/collection/immutable/Vector/internal";
|
|
13
|
+
import * as tsplus_module_13 from "@fncts/schema/Parser/definition";
|
|
14
|
+
import * as tsplus_module_14 from "@fncts/test/control/Gen/api";
|
|
16
15
|
export const hashSetFromArray = hashSetFromArray_1;
|
|
17
|
-
import { HashSetTypeId, HashSetVariance } from "@fncts/base/collection/immutable/HashSet/definition";
|
|
18
|
-
import { ASTAnnotationMap } from "@fncts/schema/ASTAnnotationMap";
|
|
19
16
|
export function hashSet(value) {
|
|
20
|
-
return
|
|
17
|
+
return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `HashSet<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), hashSetParser(true), hashSetParser(false))));
|
|
21
18
|
}
|
|
22
19
|
/**
|
|
23
20
|
* @tsplus static fncts.schema.SchemaOps hashSetFromArray
|
|
24
21
|
*/
|
|
25
22
|
function hashSetFromArray_1(value) {
|
|
26
|
-
return
|
|
27
|
-
const out =
|
|
23
|
+
return tsplus_module_4.transform(hashSet(value), input => {
|
|
24
|
+
const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
|
|
28
25
|
for (const v of input) {
|
|
29
|
-
|
|
26
|
+
tsplus_module_5.add(v)(out);
|
|
30
27
|
}
|
|
31
|
-
return
|
|
28
|
+
return tsplus_module_5.endMutation(out);
|
|
32
29
|
}, input => {
|
|
33
30
|
const out = [];
|
|
34
|
-
|
|
31
|
+
tsplus_module_5.forEach(v => {
|
|
35
32
|
out.push(v);
|
|
36
33
|
})(input);
|
|
37
34
|
return out;
|
|
38
|
-
})(
|
|
35
|
+
})(tsplus_module_4.array(value));
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
41
38
|
* @tsplus derive fncts.schema.Schema[fncts.HashSet]<_> 10
|
|
@@ -43,91 +40,34 @@ function hashSetFromArray_1(value) {
|
|
|
43
40
|
export function deriveHashSet(...[value]) {
|
|
44
41
|
return hashSetFromArray_1(value);
|
|
45
42
|
}
|
|
46
|
-
function hashSetParser(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (
|
|
61
|
-
|
|
43
|
+
function hashSetParser(isDecoding) {
|
|
44
|
+
return value => {
|
|
45
|
+
const schema = hashSet(value);
|
|
46
|
+
const parseValue = isDecoding ? tsplus_module_7.decode(value) : tsplus_module_7.encode(value);
|
|
47
|
+
return tsplus_module_13.make((u, options) => {
|
|
48
|
+
if (!tsplus_module_8.isHashSet(u)) {
|
|
49
|
+
return tsplus_module_10.fail(tsplus_module_9.typeError(schema.ast, u));
|
|
50
|
+
}
|
|
51
|
+
const allErrors = options?.allErrors;
|
|
52
|
+
const errors = tsplus_module_3.emptyPushable();
|
|
53
|
+
const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
|
|
54
|
+
for (const v of u) {
|
|
55
|
+
const tv = parseValue(v, options);
|
|
56
|
+
void 0;
|
|
57
|
+
if (tsplus_module_11.isLeft(tv)) {
|
|
58
|
+
tsplus_module_12.push(tsplus_module_9.keyError(value.ast, value, tv.left))(errors);
|
|
59
|
+
if (!allErrors) {
|
|
60
|
+
return tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors));
|
|
61
|
+
}
|
|
62
|
+
continue;
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
+
tsplus_module_5.add(tv.right)(out);
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
function emptyNodeSchema(_value) {
|
|
71
|
-
return tsplus_module_3.struct({
|
|
72
|
-
_tag: tsplus_module_3.literal("EmptyNode"),
|
|
73
|
-
modify: tsplus_module_3.any
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
function leafNodeSchema(value) {
|
|
77
|
-
return tsplus_module_3.struct({
|
|
78
|
-
_tag: tsplus_module_3.literal("LeafNode"),
|
|
79
|
-
edit: tsplus_module_3.number,
|
|
80
|
-
hash: tsplus_module_3.number,
|
|
81
|
-
value: value,
|
|
82
|
-
modify: tsplus_module_3.any
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
function collisionNodeSchema(value) {
|
|
86
|
-
return tsplus_module_3.lazy(() => tsplus_module_3.struct({
|
|
87
|
-
_tag: tsplus_module_3.literal("CollisionNode"),
|
|
88
|
-
edit: tsplus_module_3.number,
|
|
89
|
-
hash: tsplus_module_3.number,
|
|
90
|
-
children: tsplus_module_3.mutableArray(nodeSchema(value)),
|
|
91
|
-
modify: tsplus_module_3.any
|
|
92
|
-
}));
|
|
93
|
-
}
|
|
94
|
-
function indexedNodeSchema(value) {
|
|
95
|
-
return tsplus_module_3.lazy(() => tsplus_module_3.struct({
|
|
96
|
-
_tag: tsplus_module_3.literal("IndexedNode"),
|
|
97
|
-
edit: tsplus_module_3.number,
|
|
98
|
-
mask: tsplus_module_3.number,
|
|
99
|
-
children: tsplus_module_3.mutableArray(nodeSchema(value)),
|
|
100
|
-
modify: tsplus_module_3.any
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
function arrayNodeSchema(value) {
|
|
104
|
-
return tsplus_module_3.lazy(() => tsplus_module_3.struct({
|
|
105
|
-
_tag: tsplus_module_3.literal("ArrayNode"),
|
|
106
|
-
edit: tsplus_module_3.number,
|
|
107
|
-
size: tsplus_module_3.number,
|
|
108
|
-
children: tsplus_module_3.mutableArray(nodeSchema(value)),
|
|
109
|
-
modify: tsplus_module_3.any
|
|
110
|
-
}));
|
|
111
|
-
}
|
|
112
|
-
function nodeSchema(value) {
|
|
113
|
-
return tsplus_module_3.union(emptyNodeSchema(value), leafNodeSchema(value), collisionNodeSchema(value), indexedNodeSchema(value), arrayNodeSchema(value));
|
|
114
|
-
}
|
|
115
|
-
function inline(value) {
|
|
116
|
-
return tsplus_module_3.struct({
|
|
117
|
-
[HashSetTypeId]: tsplus_module_3.uniqueSymbol(HashSetTypeId),
|
|
118
|
-
[HashSetVariance]: tsplus_module_3.any,
|
|
119
|
-
_editable: tsplus_module_3.boolean,
|
|
120
|
-
_edit: tsplus_module_3.number,
|
|
121
|
-
config: tsplus_module_3.any,
|
|
122
|
-
_root: nodeSchema(value),
|
|
123
|
-
_size: tsplus_module_3.number,
|
|
124
|
-
size: tsplus_module_3.number,
|
|
125
|
-
[Symbol.iterator]: tsplus_module_3.any,
|
|
126
|
-
[tsplus_module_13.hashSymbol]: tsplus_module_3.any,
|
|
127
|
-
[tsplus_module_14.equalsSymbol]: tsplus_module_3.any
|
|
128
|
-
});
|
|
66
|
+
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors)) : tsplus_module_10.succeed(tsplus_module_5.endMutation(out));
|
|
67
|
+
});
|
|
68
|
+
};
|
|
129
69
|
}
|
|
130
70
|
function gen(value) {
|
|
131
|
-
return
|
|
71
|
+
return tsplus_module_14.map(tsplus_module_5.from)(tsplus_module_14.array(value));
|
|
132
72
|
}
|
|
133
73
|
//# sourceMappingURL=hashSet.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashSet.mjs","names":["hashSetFromArray","hashSetFromArray_1","
|
|
1
|
+
{"version":3,"file":"hashSet.mjs","names":["hashSetFromArray","hashSetFromArray_1","hashSet","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","hashSetParser","transform","input","out","tsplus_module_5","beginMutation","empty","v","add","endMutation","forEach","push","array","deriveHashSet","isDecoding","schema","parseValue","tsplus_module_7","decode","encode","tsplus_module_13","make","u","options","tsplus_module_8","isHashSet","tsplus_module_10","fail","tsplus_module_9","typeError","ast","allErrors","errors","emptyPushable","tv","tsplus_module_11","isLeft","tsplus_module_12","keyError","left","iterableError","right","isNonEmpty","succeed","tsplus_module_14","map","from"],"sources":["../../../_src/Schema/api/hashSet.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@fncts/
|
|
2
|
-
import * as tsplus_module_2 from "@fncts/schema/
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/schema/Show";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
4
4
|
import * as tsplus_module_4 from "@fncts/schema/Schema/api";
|
|
5
5
|
import * as tsplus_module_5 from "@fncts/base/data/function/api";
|
|
6
|
-
import * as tsplus_module_6 from "@fncts/
|
|
7
|
-
import * as tsplus_module_7 from "@fncts/
|
|
8
|
-
import * as tsplus_module_8 from "@fncts/schema/
|
|
9
|
-
import * as tsplus_module_9 from "@fncts/schema/
|
|
6
|
+
import * as tsplus_module_6 from "@fncts/schema/Parser/api";
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/base/collection/immutable/ImmutableArray/definition";
|
|
8
|
+
import * as tsplus_module_8 from "@fncts/schema/ParseError/ParseError";
|
|
9
|
+
import * as tsplus_module_9 from "@fncts/schema/ParseResult";
|
|
10
10
|
import * as tsplus_module_10 from "@fncts/base/data/Either/api";
|
|
11
|
-
import * as tsplus_module_11 from "@fncts/
|
|
12
|
-
import * as tsplus_module_12 from "@fncts/
|
|
13
|
-
import * as tsplus_module_13 from "@fncts/base/data/Equatable/definition";
|
|
14
|
-
import * as tsplus_module_14 from "@fncts/base/data/Hashable/definition";
|
|
15
|
-
import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
|
|
11
|
+
import * as tsplus_module_11 from "@fncts/schema/Parser/definition";
|
|
12
|
+
import * as tsplus_module_12 from "@fncts/test/control/Gen/api";
|
|
16
13
|
export const immutableArray = immutableArray_1;
|
|
17
14
|
export const immutableArrayFromArray = immutableArrayFromArray_1;
|
|
18
|
-
import { ImmutableArray
|
|
15
|
+
import { ImmutableArray } from "@fncts/base/collection/immutable/ImmutableArray";
|
|
19
16
|
import { Vector } from "@fncts/base/collection/immutable/Vector";
|
|
20
17
|
/**
|
|
21
18
|
* @tsplus getter fncts.schema.Schema immutableArray
|
|
22
19
|
* @tsplus static fncts.schema.SchemaOps immutableArray
|
|
23
20
|
*/
|
|
24
21
|
function immutableArray_1(value) {
|
|
25
|
-
return tsplus_module_4.
|
|
22
|
+
return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `ImmutableArray<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), parser(true), parser(false))));
|
|
26
23
|
}
|
|
27
24
|
/**
|
|
28
25
|
* @tsplus getter fncts.schema.Schema immutableArrayFromArray
|
|
@@ -37,43 +34,20 @@ function immutableArrayFromArray_1(value) {
|
|
|
37
34
|
export function deriveImmutableArray(...[value]) {
|
|
38
35
|
return immutableArrayFromArray_1(value);
|
|
39
36
|
}
|
|
40
|
-
function parser(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const allErrors = options?.allErrors;
|
|
49
|
-
const index = 0;
|
|
50
|
-
for (const v of u) {
|
|
51
|
-
const t = tsplus_module_9.decode(value)(v, options);
|
|
52
|
-
void 0;
|
|
53
|
-
if (tsplus_module_10.isLeft(t)) {
|
|
54
|
-
tsplus_module_11.push(tsplus_module_7.indexError(index, t.left.errors))(errors);
|
|
55
|
-
if (allErrors) {
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
return tsplus_module_8.failures(errors);
|
|
59
|
-
} else {
|
|
60
|
-
out.push(t.right);
|
|
37
|
+
function parser(isDecoding) {
|
|
38
|
+
return value => {
|
|
39
|
+
const schema = immutableArray_1(value);
|
|
40
|
+
const arraySchema = tsplus_module_4.array(value);
|
|
41
|
+
const parse = isDecoding ? tsplus_module_6.decode(arraySchema) : tsplus_module_6.encode(arraySchema);
|
|
42
|
+
return tsplus_module_11.make((u, options) => {
|
|
43
|
+
if (!tsplus_module_7.isImmutableArray(u)) {
|
|
44
|
+
return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
|
|
61
45
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function inline(value) {
|
|
67
|
-
return tsplus_module_4.struct({
|
|
68
|
-
[ImmutableArrayTypeId]: tsplus_module_4.uniqueSymbol(ImmutableArrayTypeId),
|
|
69
|
-
[ImmutableArrayVariance]: tsplus_module_4.any,
|
|
70
|
-
_array: tsplus_module_4.array(value),
|
|
71
|
-
[tsplus_module_13.equalsSymbol]: tsplus_module_4.any,
|
|
72
|
-
[tsplus_module_14.hashSymbol]: tsplus_module_4.any,
|
|
73
|
-
[Symbol.iterator]: tsplus_module_4.any
|
|
74
|
-
});
|
|
46
|
+
return tsplus_module_10.map(out => new ImmutableArray(out))(parse(u, options));
|
|
47
|
+
});
|
|
48
|
+
};
|
|
75
49
|
}
|
|
76
50
|
function gen(value) {
|
|
77
|
-
return
|
|
51
|
+
return tsplus_module_12.map(array => new ImmutableArray(array))(tsplus_module_12.array(value));
|
|
78
52
|
}
|
|
79
53
|
//# sourceMappingURL=immutableArray.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"immutableArray.mjs","names":["immutableArray","immutableArray_1","immutableArrayFromArray","immutableArrayFromArray_1","ImmutableArray","
|
|
1
|
+
{"version":3,"file":"immutableArray.mjs","names":["immutableArray","immutableArray_1","immutableArrayFromArray","immutableArrayFromArray_1","ImmutableArray","Vector","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","parser","transform","input","_array","array","deriveImmutableArray","isDecoding","schema","arraySchema","parse","tsplus_module_6","decode","encode","tsplus_module_11","make","u","options","tsplus_module_7","isImmutableArray","tsplus_module_9","fail","tsplus_module_8","typeError","ast","tsplus_module_10","map","out","tsplus_module_12"],"sources":["../../../_src/Schema/api/immutableArray.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;aASgBA,cAAc,GAAAC,gBAAA;aAUdC,uBAAuB,GAAAC,yBAAA;AAjBvC,SAASC,cAAc,QAAQ,iDAAiD;AAChF,SAASC,MAAM,QAAQ,yCAAyC;AAEhE;;;;AAIA,SAAAJ,iBAAkCK,KAAgB;EAChD,OAAOC,eAAA,CAAAC,QAAA,CAAAC,eAAA,CAAAC,OAAA,EAE4BC,GAAG,EAF/BJ,eAAA,CAAAC,QAAA,CAAAC,eAAA,CAAAG,UAAA,EAC+B,kBAAkBC,eAAA,CAAAC,IAAA,GAAAR,KAAK,CAAO,GAAG,EADhEC,eAAA,CAAAQ,WAAA,CAAmBC,eAAA,CAAAC,MAAA,CAAOX,KAAK,CAAC,EAAEY,MAAM,CAAC,IAAI,CAAC,EAAEA,MAAM,CAAC,KAAK,CAAC,CAAC,CACG,CACjC;AACzC;AAEA;;;;AAIA,SAAAf,0BAA2CG,KAAgB;EACzD,OAAOC,eAAA,CAAAY,SAAA,CACLlB,gBAAA,CAAeK,KAAK,CAAC,EACpBc,KAAK,IAAK,IAAIhB,cAAc,CAACgB,KAAK,CAAC,EACnCA,KAAK,IAAKA,KAAK,CAACC,MAAM,EAHlBd,eAAA,CAAAe,KAAA,CAAahB,KAAK,CAAC,CAIzB;AACH;AAEA;;;AAGA,OAAM,SAAUiB,oBAAoBA,CAClC,GAAG,CAACjB,KAAK,CAIA;EAET,OAAoBH,yBAAA,CAAwBG,KAAK,CAAC;AACpD;AAEA,SAASY,MAAMA,CAACM,UAAmB;EACjC,OAAWlB,KAAgB,IAAqC;IAC9D,MAAMmB,MAAM,GAAQxB,gBAAA,CAAeK,KAAK,CAAC;IACzC,MAAMoB,WAAW,GAAAnB,eAAA,CAAAe,KAAA,CAAGhB,KAAK,CAAM;IAC/B,MAAMqB,KAAK,GAASH,UAAU,GAAEI,eAAA,CAAAC,MAAA,CAACH,WAAW,IAASE,eAAA,CAAAE,MAAA,CAACJ,WAAW,CAAO;IACxE,OAAOK,gBAAA,CAAAC,IAAA,CAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;MAChC,IAAI,CAACC,eAAA,CAAAC,gBAAA,CAAkBH,CAAC,CAAC,EAAE;QACzB,OAAOI,eAAA,CAAAC,IAAA,CAAiBC,eAAA,CAAAC,SAAA,CAAqBf,MAAM,CAACgB,GAAG,EAAER,CAAC,CAAC,CAAC;MAC9D;MAEA,OAAOS,gBAAA,CAAAC,GAAA,CAAuBC,GAAG,IAAK,IAAIxC,cAAc,CAACwC,GAAqB,CAAC,EAAxEjB,KAAK,CAACM,CAAC,EAAEC,OAAO,CAAC,CAAwD;IAClF,CAAC,CAAC;EACJ,CAAC;AACH;AAEA,SAASvB,GAAGA,CAAIL,KAAoB;EAClC,OAAOuC,gBAAA,CAAAF,GAAA,CAAsBrB,KAAK,IAAK,IAAIlB,cAAc,CAACkB,KAAK,CAAC,EAAzDuB,gBAAA,CAAAvB,KAAA,CAAUhB,KAAK,CAAC,CAA0C;AACnE"}
|
package/_mjs/Schema/api/list.mjs
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@fncts/
|
|
2
|
-
import * as tsplus_module_2 from "@fncts/schema/
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/schema/Show";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
4
4
|
import * as tsplus_module_4 from "@fncts/schema/Schema/api";
|
|
5
5
|
import * as tsplus_module_5 from "@fncts/base/collection/immutable/List/constructors";
|
|
6
6
|
import * as tsplus_module_6 from "@fncts/base/data/function/api";
|
|
7
|
-
import * as tsplus_module_7 from "@fncts/
|
|
8
|
-
import * as tsplus_module_8 from "@fncts/
|
|
9
|
-
import * as tsplus_module_9 from "@fncts/schema/
|
|
10
|
-
import * as tsplus_module_10 from "@fncts/
|
|
11
|
-
import * as tsplus_module_11 from "@fncts/
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/schema/Parser/api";
|
|
8
|
+
import * as tsplus_module_8 from "@fncts/base/collection/immutable/List/definition";
|
|
9
|
+
import * as tsplus_module_9 from "@fncts/schema/ParseError/ParseError";
|
|
10
|
+
import * as tsplus_module_10 from "@fncts/schema/ParseResult";
|
|
11
|
+
import * as tsplus_module_11 from "@fncts/base/collection/mutable/ListBuffer";
|
|
12
12
|
import * as tsplus_module_12 from "@fncts/base/data/Either/api";
|
|
13
13
|
import * as tsplus_module_13 from "@fncts/base/collection/immutable/Vector/internal";
|
|
14
14
|
import * as tsplus_module_14 from "@fncts/schema/Parser/definition";
|
|
15
15
|
import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
|
|
16
16
|
export const list = list_1;
|
|
17
17
|
export const listFromArray = listFromArray_1;
|
|
18
|
-
import { ListTypeId } from "@fncts/base/collection/immutable/List";
|
|
19
18
|
/**
|
|
20
19
|
* @tsplus static fncts.schema.SchemaOps list
|
|
21
20
|
* @tsplus getter fncts.Schema.Schema list
|
|
22
21
|
*/
|
|
23
22
|
function list_1(value) {
|
|
24
|
-
return tsplus_module_4.
|
|
23
|
+
return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `List<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), parser(true), parser(false))));
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* @tsplus static fncts.schema.SchemaOps listFromArray
|
|
@@ -36,50 +35,34 @@ function listFromArray_1(value) {
|
|
|
36
35
|
export function deriveList(...[value]) {
|
|
37
36
|
return listFromArray_1(value);
|
|
38
37
|
}
|
|
39
|
-
function parser(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (
|
|
55
|
-
|
|
38
|
+
function parser(isDecoding) {
|
|
39
|
+
return value => {
|
|
40
|
+
const schema = list_1(value);
|
|
41
|
+
const parseValue = isDecoding ? tsplus_module_7.decode(value) : tsplus_module_7.encode(value);
|
|
42
|
+
return tsplus_module_14.make((u, options) => {
|
|
43
|
+
if (!tsplus_module_8.isList(u)) {
|
|
44
|
+
return tsplus_module_10.fail(tsplus_module_9.typeError(schema.ast, u));
|
|
45
|
+
}
|
|
46
|
+
const out = new tsplus_module_11.ListBuffer();
|
|
47
|
+
const errors = tsplus_module_3.emptyPushable();
|
|
48
|
+
const allErrors = options?.allErrors;
|
|
49
|
+
const index = 0;
|
|
50
|
+
for (const v of u) {
|
|
51
|
+
const t = parseValue(v, options);
|
|
52
|
+
void 0;
|
|
53
|
+
if (tsplus_module_12.isLeft(t)) {
|
|
54
|
+
tsplus_module_13.push(tsplus_module_9.indexError(index, t.left))(errors);
|
|
55
|
+
if (allErrors) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
return tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors));
|
|
59
|
+
} else {
|
|
60
|
+
out.append(t.right);
|
|
56
61
|
}
|
|
57
|
-
return tsplus_module_9.failures(errors);
|
|
58
|
-
} else {
|
|
59
|
-
out.append(t.right);
|
|
60
62
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function nil(_value) {
|
|
66
|
-
return tsplus_module_4.struct({
|
|
67
|
-
_tag: tsplus_module_4.literal("Nil"),
|
|
68
|
-
[ListTypeId]: tsplus_module_4.uniqueSymbol(ListTypeId),
|
|
69
|
-
[Symbol.iterator]: tsplus_module_4.any
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
function cons(value) {
|
|
73
|
-
return tsplus_module_4.lazy(() => tsplus_module_4.struct({
|
|
74
|
-
_tag: tsplus_module_4.literal("Cons"),
|
|
75
|
-
[ListTypeId]: tsplus_module_4.uniqueSymbol(ListTypeId),
|
|
76
|
-
[Symbol.iterator]: tsplus_module_4.any,
|
|
77
|
-
head: value,
|
|
78
|
-
tail: inline(value)
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
function inline(value) {
|
|
82
|
-
return tsplus_module_4.lazy(() => tsplus_module_4.union(nil(value), cons(value)));
|
|
63
|
+
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors)) : tsplus_module_10.succeed(out.toList);
|
|
64
|
+
});
|
|
65
|
+
};
|
|
83
66
|
}
|
|
84
67
|
function gen(value) {
|
|
85
68
|
return tsplus_module_15.map(array => tsplus_module_5.from(array))(tsplus_module_15.array(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.mjs","names":["list","list_1","listFromArray","listFromArray_1","
|
|
1
|
+
{"version":3,"file":"list.mjs","names":["list","list_1","listFromArray","listFromArray_1","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","parser","transform","input","tsplus_module_5","from","Array","array","deriveList","isDecoding","schema","parseValue","tsplus_module_7","decode","encode","tsplus_module_14","make","u","options","tsplus_module_8","isList","tsplus_module_10","fail","tsplus_module_9","typeError","ast","out","tsplus_module_11","ListBuffer","errors","emptyPushable","allErrors","index","v","t","tsplus_module_12","isLeft","tsplus_module_13","push","indexError","left","iterableError","append","right","isNonEmpty","succeed","toList","tsplus_module_15","map"],"sources":["../../../_src/Schema/api/list.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;aAOgBA,IAAI,GAAAC,MAAA;aAUJC,aAAa,GAAAC,eAAA;AAd7B;;;;AAIA,SAAAF,OAAwBG,KAAgB;EACtC,OAAOC,eAAA,CAAAC,QAAA,CAAAC,eAAA,CAAAC,OAAA,EAE4BC,GAAG,EAF/BJ,eAAA,CAAAC,QAAA,CAAAC,eAAA,CAAAG,UAAA,EAC+B,QAAQC,eAAA,CAAAC,IAAA,GAAAR,KAAK,CAAO,GAAG,EADtDC,eAAA,CAAAQ,WAAA,CAAmBC,eAAA,CAAAC,MAAA,CAAOX,KAAK,CAAC,EAAEY,MAAM,CAAC,IAAI,CAAC,EAAEA,MAAM,CAAC,KAAK,CAAC,CAAC,CACP,CACvB;AACzC;AAEA;;;;AAIA,SAAAb,gBAAiCC,KAAgB;EAC/C,OAAOC,eAAA,CAAAY,SAAA,CACLhB,MAAA,CAAKG,KAAK,CAAC,EACVc,KAAK,IAAKC,eAAA,CAAAC,IAAA,CAAUF,KAAK,CAAC,EAC1BA,KAAK,IAAKG,KAAK,CAACD,IAAI,CAACF,KAAK,CAAC,EAHvBb,eAAA,CAAAiB,KAAA,CAAalB,KAAK,CAAC,CAIzB;AACH;AAEA;;;AAGA,OAAM,SAAUmB,UAAUA,CACxB,GAAG,CAACnB,KAAK,CAIA;EAET,OAAoBD,eAAA,CAAcC,KAAK,CAAC;AAC1C;AAEA,SAASY,MAAMA,CAACQ,UAAmB;EACjC,OAAWpB,KAAgB,IAA2B;IACpD,MAAMqB,MAAM,GAAOxB,MAAA,CAAKG,KAAK,CAAC;IAC9B,MAAMsB,UAAU,GAAGF,UAAU,GAAEG,eAAA,CAAAC,MAAA,CAACxB,KAAK,IAASuB,eAAA,CAAAE,MAAA,CAACzB,KAAK,CAAO;IAC3D,OAAO0B,gBAAA,CAAAC,IAAA,CAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;MAChC,IAAI,CAACC,eAAA,CAAAC,MAAA,CAAQH,CAAC,CAAC,EAAE;QACf,OAAOI,gBAAA,CAAAC,IAAA,CAAiBC,eAAA,CAAAC,SAAA,CAAqBd,MAAM,CAACe,GAAG,EAAER,CAAC,CAAC,CAAC;MAC9D;MACA,MAAMS,GAAG,GAAS,IAAAC,gBAAA,CAAIC,UAAU,EAAW;MAC3C,MAAMC,MAAM,GAAM9B,eAAA,CAAA+B,aAAA,EAAkC;MACpD,MAAMC,SAAS,GAAGb,OAAO,EAAEa,SAAS;MACpC,MAAMC,KAAK,GAAO,CAAC;MACnB,KAAK,MAAMC,CAAC,IAAIhB,CAAC,EAAE;QACjB,MAAMiB,CAAC,GAAGvB,UAAU,CAACsB,CAAC,EAAEf,OAAO,CAAC;QAChC;QACA,IAAIiB,gBAAA,CAAAC,MAAA,CAAAF,CAAC,CAAS,EAAE;UACdG,gBAAA,CAAAC,IAAA,CAAYf,eAAA,CAAAgB,UAAA,CAAsBP,KAAK,EAAEE,CAAC,CAACM,IAAI,CAAC,EAAhDX,MAAM,CAA2C;UACjD,IAAIE,SAAS,EAAE;YACb;UACF;UACA,OAAOV,gBAAA,CAAAC,IAAA,CAAiBC,eAAA,CAAAkB,aAAA,CAAyB/B,MAAM,CAACe,GAAG,EAAER,CAAC,EAAEY,MAAM,CAAC,CAAC;QAC1E,CAAC,MAAM;UACLH,GAAG,CAACgB,MAAM,CAACR,CAAC,CAACS,KAAK,CAAC;QACrB;MACF;MACA,OAAO5C,eAAA,CAAA6C,UAAA,CAAAf,MAAM,CAAa,GACtBR,gBAAA,CAAAC,IAAA,CAAiBC,eAAA,CAAAkB,aAAA,CAAyB/B,MAAM,CAACe,GAAG,EAAER,CAAC,EAAEY,MAAM,CAAC,CAAC,GACjER,gBAAA,CAAAwB,OAAA,CAAoBnB,GAAG,CAACoB,MAAM,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC;AACH;AAEA,SAASpD,GAAGA,CAAIL,KAAoB;EAClC,OAAO0D,gBAAA,CAAAC,GAAA,CAAsBzC,KAAK,IAAKH,eAAA,CAAAC,IAAA,CAAUE,KAAK,CAAC,EAAhDwC,gBAAA,CAAAxC,KAAA,CAAUlB,KAAK,CAAC,CAAiC;AAC1D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/schema/Show";
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
4
|
+
import * as tsplus_module_4 from "@fncts/schema/Schema/api";
|
|
5
|
+
import * as tsplus_module_5 from "@fncts/base/data/function/api";
|
|
6
|
+
import * as tsplus_module_6 from "@fncts/schema/ParseError/ParseError";
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/schema/ParseResult";
|
|
8
|
+
import * as tsplus_module_8 from "@fncts/schema/Parser/api";
|
|
9
|
+
import * as tsplus_module_9 from "@fncts/base/data/Either/api";
|
|
10
|
+
import * as tsplus_module_10 from "@fncts/base/collection/immutable/Vector/internal";
|
|
11
|
+
import * as tsplus_module_11 from "@fncts/schema/Parser/definition";
|
|
12
|
+
import * as tsplus_module_12 from "@fncts/test/control/Gen/api";
|
|
13
|
+
export const map = map_1;
|
|
14
|
+
export const mapFromRecord = mapFromRecord_1;
|
|
15
|
+
/**
|
|
16
|
+
* @tsplus static fncts.schema.SchemaOps map
|
|
17
|
+
*/
|
|
18
|
+
function map_1(key, value) {
|
|
19
|
+
return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `Map<${tsplus_module_2.show()(key)}, ${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(key, value), mapParser(true), mapParser(false))));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @tsplus static fncts.schema.SchemaOps mapFromRecord
|
|
23
|
+
*/
|
|
24
|
+
function mapFromRecord_1(key, value) {
|
|
25
|
+
return tsplus_module_4.transform(map_1(key, value), input => {
|
|
26
|
+
const out = new Map();
|
|
27
|
+
for (const [k, v] of Object.entries(input)) {
|
|
28
|
+
out.set(k, v);
|
|
29
|
+
}
|
|
30
|
+
return out;
|
|
31
|
+
}, input => {
|
|
32
|
+
const out = {};
|
|
33
|
+
input.forEach((v, k) => {
|
|
34
|
+
out[k] = v;
|
|
35
|
+
});
|
|
36
|
+
return out;
|
|
37
|
+
})(tsplus_module_4.record(key, value));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @tsplus derive fncts.schema.Schema[fncts.Map]<_> 10
|
|
41
|
+
*/
|
|
42
|
+
export function deriveMap(
|
|
43
|
+
// @ts-expect-error
|
|
44
|
+
...[key, value]) {
|
|
45
|
+
return mapFromRecord_1(key, value);
|
|
46
|
+
}
|
|
47
|
+
function mapParser(isDecoding) {
|
|
48
|
+
return (key, value) => {
|
|
49
|
+
const schema = map_1(key, value);
|
|
50
|
+
return tsplus_module_11.make((u, options) => {
|
|
51
|
+
if (!(u instanceof Map)) {
|
|
52
|
+
return tsplus_module_7.fail(tsplus_module_6.typeError(schema.ast, u));
|
|
53
|
+
}
|
|
54
|
+
const allErrors = options?.allErrors;
|
|
55
|
+
const errors = tsplus_module_3.emptyPushable();
|
|
56
|
+
const out = new Map();
|
|
57
|
+
const keyParser = isDecoding ? tsplus_module_8.decode(key) : tsplus_module_8.encode(key);
|
|
58
|
+
const valueParser = isDecoding ? tsplus_module_8.decode(value) : tsplus_module_8.encode(value);
|
|
59
|
+
for (const [k, v] of u) {
|
|
60
|
+
const tk = keyParser(k, options);
|
|
61
|
+
void 0;
|
|
62
|
+
if (tsplus_module_9.isLeft(tk)) {
|
|
63
|
+
tsplus_module_10.push(tsplus_module_6.keyError(key.ast, k, tk.left))(errors);
|
|
64
|
+
if (!allErrors) {
|
|
65
|
+
return tsplus_module_7.fail(tsplus_module_6.iterableError(schema.ast, u, errors));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const tv = valueParser(v, options);
|
|
69
|
+
void 0;
|
|
70
|
+
if (tsplus_module_9.isLeft(tv)) {
|
|
71
|
+
tsplus_module_10.push(tsplus_module_6.keyError(key.ast, k, tsplus_module_6.typeError(value.ast, tv.left)))(errors);
|
|
72
|
+
if (!allErrors) {
|
|
73
|
+
return tsplus_module_7.fail(tsplus_module_6.iterableError(schema.ast, u, errors));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (tsplus_module_9.isLeft(tk) || tsplus_module_9.isLeft(tv)) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
out.set(tk.right, tv.right);
|
|
80
|
+
}
|
|
81
|
+
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_7.fail(tsplus_module_6.iterableError(schema.ast, u, errors)) : tsplus_module_7.succeed(out);
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function gen(key, value) {
|
|
86
|
+
return tsplus_module_12.map(pairs => new Map(pairs))(tsplus_module_12.array(tsplus_module_12.tuple(key, value)));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=map.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.mjs","names":["map","map_1","mapFromRecord","mapFromRecord_1","key","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","mapParser","transform","input","out","Map","k","v","Object","entries","set","forEach","record","deriveMap","isDecoding","schema","tsplus_module_11","make","u","options","tsplus_module_7","fail","tsplus_module_6","typeError","ast","allErrors","errors","emptyPushable","keyParser","tsplus_module_8","decode","encode","valueParser","tk","tsplus_module_9","isLeft","tsplus_module_10","push","keyError","left","iterableError","tv","right","isNonEmpty","succeed","tsplus_module_12","pairs","array","tuple"],"sources":["../../../_src/Schema/api/map.ts"],"sourcesContent":[null],"mappings":"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"}
|