@fncts/schema 0.0.16 → 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 +11 -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 +20 -2
- 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 +18 -2
- 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 +20 -2
- 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
package/_mjs/Schema/api/conc.mjs
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
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/Conc/definition";
|
|
6
6
|
import * as tsplus_module_6 from "@fncts/base/data/function/api";
|
|
7
|
-
import * as tsplus_module_7 from "@fncts/schema/ParseError";
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/schema/ParseError/ParseError";
|
|
8
8
|
import * as tsplus_module_8 from "@fncts/schema/ParseResult";
|
|
9
9
|
import * as tsplus_module_9 from "@fncts/schema/Parser/api";
|
|
10
10
|
import * as tsplus_module_10 from "@fncts/base/data/Either/api";
|
|
11
11
|
import * as tsplus_module_11 from "@fncts/base/collection/immutable/Vector/internal";
|
|
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";
|
|
12
|
+
import * as tsplus_module_12 from "@fncts/base/collection/immutable/Conc/constructors";
|
|
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 concFromArray = concFromArray_1;
|
|
17
|
-
import { ConcTypeId } from "@fncts/base/collection/immutable/Conc";
|
|
18
16
|
export function conc(value) {
|
|
19
|
-
return tsplus_module_4.
|
|
17
|
+
return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `Conc<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), concParser(true), concParser(false))));
|
|
20
18
|
}
|
|
21
19
|
/**
|
|
22
20
|
* @tsplus static fncts.schema.SchemaOps concFromArray
|
|
@@ -30,43 +28,36 @@ function concFromArray_1(value) {
|
|
|
30
28
|
export function deriveConc(...[value]) {
|
|
31
29
|
return concFromArray_1(value);
|
|
32
30
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (
|
|
49
|
-
|
|
31
|
+
function concParser(isDecoding) {
|
|
32
|
+
return value => {
|
|
33
|
+
const schema = conc(value);
|
|
34
|
+
return tsplus_module_13.make((u, options) => {
|
|
35
|
+
if (!tsplus_module_5.isConc(u)) {
|
|
36
|
+
return tsplus_module_8.fail(tsplus_module_7.typeError(schema.ast, u));
|
|
37
|
+
}
|
|
38
|
+
const allErrors = options?.allErrors;
|
|
39
|
+
const errors = tsplus_module_3.emptyPushable();
|
|
40
|
+
const out = [];
|
|
41
|
+
let i = 0;
|
|
42
|
+
for (const v of u) {
|
|
43
|
+
const parser = isDecoding ? tsplus_module_9.decode(value) : tsplus_module_9.encode(value);
|
|
44
|
+
const t = parser(v, options);
|
|
45
|
+
void 0;
|
|
46
|
+
if (tsplus_module_10.isLeft(t)) {
|
|
47
|
+
tsplus_module_11.push(tsplus_module_7.indexError(i, t.left))(errors);
|
|
48
|
+
if (!allErrors) {
|
|
49
|
+
return tsplus_module_8.fail(tsplus_module_7.iterableError(schema.ast, u, errors));
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
out.push(t.right);
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
out.push(t.right);
|
|
54
|
+
i++;
|
|
53
55
|
}
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
function inline(_value) {
|
|
60
|
-
return tsplus_module_4.struct({
|
|
61
|
-
_A: tsplus_module_4.any,
|
|
62
|
-
[ConcTypeId]: tsplus_module_4.uniqueSymbol(ConcTypeId),
|
|
63
|
-
length: tsplus_module_4.number,
|
|
64
|
-
[Symbol.iterator]: tsplus_module_4.any,
|
|
65
|
-
[tsplus_module_13.hashSymbol]: tsplus_module_4.any,
|
|
66
|
-
[tsplus_module_14.equalsSymbol]: tsplus_module_4.any
|
|
67
|
-
});
|
|
56
|
+
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_8.fail(tsplus_module_7.iterableError(schema.ast, u, errors)) : tsplus_module_8.succeed(tsplus_module_12.from(out));
|
|
57
|
+
});
|
|
58
|
+
};
|
|
68
59
|
}
|
|
69
60
|
function gen(value) {
|
|
70
|
-
return
|
|
61
|
+
return tsplus_module_14.conc(value);
|
|
71
62
|
}
|
|
72
63
|
//# sourceMappingURL=conc.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conc.mjs","names":["concFromArray","concFromArray_1","
|
|
1
|
+
{"version":3,"file":"conc.mjs","names":["concFromArray","concFromArray_1","conc","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","concParser","transform","input","tsplus_module_5","fromArray","toArray","array","deriveConc","isDecoding","schema","tsplus_module_13","make","u","options","isConc","tsplus_module_8","fail","tsplus_module_7","typeError","ast","allErrors","errors","emptyPushable","out","i","v","parser","tsplus_module_9","decode","encode","t","tsplus_module_10","isLeft","tsplus_module_11","push","indexError","left","iterableError","right","isNonEmpty","succeed","tsplus_module_12","from","tsplus_module_14"],"sources":["../../../_src/Schema/api/conc.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
const fileName_1 = "(@fncts/schema) src/Schema/api/either.ts";
|
|
2
|
-
import * as tsplus_module_1 from "@fncts/
|
|
3
|
-
import * as tsplus_module_2 from "@fncts/schema/
|
|
4
|
-
import * as tsplus_module_3 from "@fncts/
|
|
2
|
+
import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
|
|
3
|
+
import * as tsplus_module_2 from "@fncts/schema/Show";
|
|
4
|
+
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
5
5
|
import * as tsplus_module_4 from "@fncts/schema/Schema/api";
|
|
6
6
|
import * as tsplus_module_5 from "@fncts/base/data/Either/constructors";
|
|
7
7
|
import * as tsplus_module_6 from "@fncts/base/data/Either/api";
|
|
8
8
|
import * as tsplus_module_7 from "@fncts/base/data/function/api";
|
|
9
|
-
import * as tsplus_module_8 from "@fncts/schema/ParseError";
|
|
9
|
+
import * as tsplus_module_8 from "@fncts/schema/ParseError/ParseError";
|
|
10
10
|
import * as tsplus_module_9 from "@fncts/schema/ParseResult";
|
|
11
11
|
import * as tsplus_module_10 from "@fncts/schema/Parser/api";
|
|
12
12
|
import * as tsplus_module_11 from "@fncts/schema/Parser/definition";
|
|
13
13
|
export const either = either_1;
|
|
14
14
|
export const eitherFromJson = eitherFromJson_1;
|
|
15
|
-
import { EitherTypeId, EitherVariance } from "@fncts/base/data/Either";
|
|
16
|
-
import { IOTypeId } from "@fncts/io/IO";
|
|
17
15
|
/**
|
|
18
16
|
* @tsplus static fncts.schema.SchemaOps either
|
|
19
17
|
*/
|
|
20
18
|
function either_1(left, right) {
|
|
21
|
-
return tsplus_module_4.
|
|
19
|
+
return tsplus_module_4.annotate(tsplus_module_1.Identifier, `Either<${tsplus_module_2.show()(left)}, ${tsplus_module_2.show()(right)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(left, right), eitherParser(true), eitherParser(false)));
|
|
22
20
|
}
|
|
23
21
|
function eitherJson(left, right) {
|
|
24
22
|
return tsplus_module_4.union(tsplus_module_4.struct({
|
|
@@ -35,9 +33,9 @@ function eitherJson(left, right) {
|
|
|
35
33
|
function eitherFromJson_1(left, right) {
|
|
36
34
|
return tsplus_module_4.transform(either_1(left, right), input => {
|
|
37
35
|
if (input._tag === "Left") {
|
|
38
|
-
return tsplus_module_5.left(input.left, fileName_1 + ":
|
|
36
|
+
return tsplus_module_5.left(input.left, fileName_1 + ":34:27");
|
|
39
37
|
} else {
|
|
40
|
-
return tsplus_module_5.right(input.right, fileName_1 + ":
|
|
38
|
+
return tsplus_module_5.right(input.right, fileName_1 + ":36:28");
|
|
41
39
|
}
|
|
42
40
|
}, input => {
|
|
43
41
|
void 0;
|
|
@@ -60,26 +58,22 @@ function eitherFromJson_1(left, right) {
|
|
|
60
58
|
export function deriveEither(...[left, right]) {
|
|
61
59
|
return eitherFromJson_1(left, right);
|
|
62
60
|
}
|
|
63
|
-
function eitherParser(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
[EitherVariance]: tsplus_module_4.any,
|
|
81
|
-
[IOTypeId]: tsplus_module_4.uniqueSymbol(IOTypeId),
|
|
82
|
-
trace: tsplus_module_4._undefined
|
|
83
|
-
});
|
|
61
|
+
function eitherParser(isDecoding) {
|
|
62
|
+
return (left, right) => {
|
|
63
|
+
const schema = either_1(left, right);
|
|
64
|
+
return tsplus_module_11.make((u, options) => {
|
|
65
|
+
if (!tsplus_module_6.isEither(u)) {
|
|
66
|
+
return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
|
|
67
|
+
}
|
|
68
|
+
void 0;
|
|
69
|
+
if (tsplus_module_6.isLeft(u)) {
|
|
70
|
+
const parse = isDecoding ? tsplus_module_10.decode(left) : tsplus_module_10.encode(left);
|
|
71
|
+
return tsplus_module_6.map(tsplus_module_5.left)(parse(u.left, options));
|
|
72
|
+
} else {
|
|
73
|
+
const parse = isDecoding ? tsplus_module_10.decode(right) : tsplus_module_10.encode(right);
|
|
74
|
+
return tsplus_module_6.map(tsplus_module_5.right)(parse(u.right, options));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
84
78
|
}
|
|
85
79
|
//# sourceMappingURL=either.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"either.mjs","names":["either","either_1","eitherFromJson","eitherFromJson_1","
|
|
1
|
+
{"version":3,"file":"either.mjs","names":["either","either_1","eitherFromJson","eitherFromJson_1","left","right","tsplus_module_4","annotate","tsplus_module_1","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","eitherParser","eitherJson","union","struct","_tag","literal","transform","input","tsplus_module_5","fileName_1","tsplus_module_6","isLeft","deriveEither","isDecoding","schema","tsplus_module_11","make","u","options","isEither","tsplus_module_9","fail","tsplus_module_8","typeError","ast","parse","tsplus_module_10","decode","encode","map"],"sources":["../../../_src/Schema/api/either.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,28 +1,24 @@
|
|
|
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/HashMap/api";
|
|
6
6
|
import * as tsplus_module_6 from "@fncts/base/data/function/api";
|
|
7
7
|
import * as tsplus_module_7 from "@fncts/base/collection/immutable/HashMap/definition";
|
|
8
|
-
import * as tsplus_module_8 from "@fncts/schema/ParseError";
|
|
8
|
+
import * as tsplus_module_8 from "@fncts/schema/ParseError/ParseError";
|
|
9
9
|
import * as tsplus_module_9 from "@fncts/schema/ParseResult";
|
|
10
10
|
import * as tsplus_module_10 from "@fncts/schema/Parser/api";
|
|
11
11
|
import * as tsplus_module_11 from "@fncts/base/data/Either/api";
|
|
12
12
|
import * as tsplus_module_12 from "@fncts/base/collection/immutable/Vector/internal";
|
|
13
13
|
import * as tsplus_module_13 from "@fncts/schema/Parser/definition";
|
|
14
|
-
import * as tsplus_module_14 from "@fncts/
|
|
15
|
-
import * as tsplus_module_15 from "@fncts/base/data/Hashable/definition";
|
|
16
|
-
import * as tsplus_module_16 from "@fncts/base/data/Equatable/definition";
|
|
17
|
-
import * as tsplus_module_17 from "@fncts/test/control/Gen/api";
|
|
14
|
+
import * as tsplus_module_14 from "@fncts/test/control/Gen/api";
|
|
18
15
|
export const hashMap = hashMap_1;
|
|
19
16
|
export const hashMapFromRecord = hashMapFromRecord_1;
|
|
20
|
-
import { HashMapTypeId, HashMapVariance } from "@fncts/base/collection/immutable/HashMap";
|
|
21
17
|
/**
|
|
22
18
|
* @tsplus static fncts.schema.SchemaOps hashMap
|
|
23
19
|
*/
|
|
24
20
|
function hashMap_1(key, value) {
|
|
25
|
-
return tsplus_module_4.
|
|
21
|
+
return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `HashMap<${tsplus_module_2.show()(key)}, ${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(key, value), hashMapParser(true), hashMapParser(false))));
|
|
26
22
|
}
|
|
27
23
|
/**
|
|
28
24
|
* @tsplus static fncts.schema.SchemaOps hashMapFromRecord
|
|
@@ -50,101 +46,45 @@ export function deriveHashMap(
|
|
|
50
46
|
...[key, value]) {
|
|
51
47
|
return hashMapFromRecord_1(key, value);
|
|
52
48
|
}
|
|
53
|
-
function hashMapParser(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const allErrors = options?.allErrors;
|
|
60
|
-
const errors = tsplus_module_1.emptyPushable();
|
|
61
|
-
const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
|
|
62
|
-
for (const [k, v] of u) {
|
|
63
|
-
const tk = tsplus_module_10.decode(key)(k, options);
|
|
64
|
-
void 0;
|
|
65
|
-
if (tsplus_module_11.isLeft(tk)) {
|
|
66
|
-
tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tk.left.errors))(errors);
|
|
67
|
-
if (!allErrors) {
|
|
68
|
-
return tsplus_module_9.failures(errors);
|
|
69
|
-
}
|
|
49
|
+
function hashMapParser(isDecoding) {
|
|
50
|
+
return (key, value) => {
|
|
51
|
+
const schema = hashMap_1(key, value);
|
|
52
|
+
return tsplus_module_13.make((u, options) => {
|
|
53
|
+
if (!tsplus_module_7.isHashMap(u)) {
|
|
54
|
+
return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
|
|
70
55
|
}
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
56
|
+
const allErrors = options?.allErrors;
|
|
57
|
+
const errors = tsplus_module_3.emptyPushable();
|
|
58
|
+
const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
|
|
59
|
+
const keyParser = isDecoding ? tsplus_module_10.decode(key) : tsplus_module_10.encode(key);
|
|
60
|
+
const valueParser = isDecoding ? tsplus_module_10.decode(value) : tsplus_module_10.encode(value);
|
|
61
|
+
for (const [k, v] of u) {
|
|
62
|
+
const tk = keyParser(k, options);
|
|
63
|
+
void 0;
|
|
64
|
+
if (tsplus_module_11.isLeft(tk)) {
|
|
65
|
+
tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tk.left))(errors);
|
|
66
|
+
if (!allErrors) {
|
|
67
|
+
return tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors));
|
|
68
|
+
}
|
|
77
69
|
}
|
|
70
|
+
const tv = valueParser(v, options);
|
|
71
|
+
void 0;
|
|
72
|
+
if (tsplus_module_11.isLeft(tv)) {
|
|
73
|
+
tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tsplus_module_8.typeError(value.ast, tv.left)))(errors);
|
|
74
|
+
if (!allErrors) {
|
|
75
|
+
return tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (tsplus_module_11.isLeft(tk) || tsplus_module_11.isLeft(tv)) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
tsplus_module_5.set(tk.right, tv.right)(out);
|
|
78
82
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
tsplus_module_5.set(tk.right, tv.right)(out);
|
|
83
|
-
}
|
|
84
|
-
return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_9.failures(errors) : tsplus_module_9.succeed(tsplus_module_5.endMutation(out));
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function emptyNodeSchema(_key, _value) {
|
|
88
|
-
return tsplus_module_4.struct({
|
|
89
|
-
_tag: tsplus_module_4.literal("EmptyNode"),
|
|
90
|
-
modify: tsplus_module_4.any
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
function leafNodeSchema(key, value) {
|
|
94
|
-
return tsplus_module_4.struct({
|
|
95
|
-
_tag: tsplus_module_4.literal("LeafNode"),
|
|
96
|
-
edit: tsplus_module_4.number,
|
|
97
|
-
hash: tsplus_module_4.number,
|
|
98
|
-
key,
|
|
99
|
-
value: tsplus_module_14.maybe(value),
|
|
100
|
-
modify: tsplus_module_4.any
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
function collisionNodeSchema(key, value) {
|
|
104
|
-
return tsplus_module_4.lazy(() => tsplus_module_4.struct({
|
|
105
|
-
_tag: tsplus_module_4.literal("CollisionNode"),
|
|
106
|
-
edit: tsplus_module_4.number,
|
|
107
|
-
hash: tsplus_module_4.number,
|
|
108
|
-
children: tsplus_module_4.mutableArray(nodeSchema(key, value)),
|
|
109
|
-
modify: tsplus_module_4.any
|
|
110
|
-
}));
|
|
111
|
-
}
|
|
112
|
-
function indexedNodeSchema(key, value) {
|
|
113
|
-
return tsplus_module_4.lazy(() => tsplus_module_4.struct({
|
|
114
|
-
_tag: tsplus_module_4.literal("IndexedNode"),
|
|
115
|
-
edit: tsplus_module_4.number,
|
|
116
|
-
mask: tsplus_module_4.number,
|
|
117
|
-
children: tsplus_module_4.mutableArray(nodeSchema(key, value)),
|
|
118
|
-
modify: tsplus_module_4.any
|
|
119
|
-
}));
|
|
120
|
-
}
|
|
121
|
-
function arrayNodeSchema(key, value) {
|
|
122
|
-
return tsplus_module_4.lazy(() => tsplus_module_4.struct({
|
|
123
|
-
_tag: tsplus_module_4.literal("ArrayNode"),
|
|
124
|
-
edit: tsplus_module_4.number,
|
|
125
|
-
size: tsplus_module_4.number,
|
|
126
|
-
children: tsplus_module_4.mutableArray(nodeSchema(key, value)),
|
|
127
|
-
modify: tsplus_module_4.any
|
|
128
|
-
}));
|
|
129
|
-
}
|
|
130
|
-
function nodeSchema(key, value) {
|
|
131
|
-
return tsplus_module_4.union(emptyNodeSchema(key, value), leafNodeSchema(key, value), collisionNodeSchema(key, value), indexedNodeSchema(key, value), arrayNodeSchema(key, value));
|
|
132
|
-
}
|
|
133
|
-
function inline(key, value) {
|
|
134
|
-
return tsplus_module_4.struct({
|
|
135
|
-
[HashMapTypeId]: tsplus_module_4.uniqueSymbol(HashMapTypeId),
|
|
136
|
-
[HashMapVariance]: tsplus_module_4.any,
|
|
137
|
-
editable: tsplus_module_4.boolean,
|
|
138
|
-
edit: tsplus_module_4.number,
|
|
139
|
-
config: tsplus_module_4.any,
|
|
140
|
-
root: nodeSchema(key, value),
|
|
141
|
-
size: tsplus_module_4.number,
|
|
142
|
-
[Symbol.iterator]: tsplus_module_4.any,
|
|
143
|
-
[tsplus_module_15.hashSymbol]: tsplus_module_4.any,
|
|
144
|
-
[tsplus_module_16.equalsSymbol]: tsplus_module_4.any
|
|
145
|
-
});
|
|
83
|
+
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors)) : tsplus_module_9.succeed(tsplus_module_5.endMutation(out));
|
|
84
|
+
});
|
|
85
|
+
};
|
|
146
86
|
}
|
|
147
87
|
function gen(key, value) {
|
|
148
|
-
return
|
|
88
|
+
return tsplus_module_14.map(pairs => tsplus_module_5.from(pairs))(tsplus_module_14.array(tsplus_module_14.tuple(key, value)));
|
|
149
89
|
}
|
|
150
90
|
//# sourceMappingURL=hashMap.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashMap.mjs","names":["hashMap","hashMap_1","hashMapFromRecord","hashMapFromRecord_1","
|
|
1
|
+
{"version":3,"file":"hashMap.mjs","names":["hashMap","hashMap_1","hashMapFromRecord","hashMapFromRecord_1","key","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","hashMapParser","transform","input","out","tsplus_module_5","beginMutation","empty","k","v","Object","entries","set","endMutation","forEachWithIndex","record","deriveHashMap","isDecoding","schema","tsplus_module_13","make","u","options","tsplus_module_7","isHashMap","tsplus_module_9","fail","tsplus_module_8","typeError","ast","allErrors","errors","emptyPushable","keyParser","tsplus_module_10","decode","encode","valueParser","tk","tsplus_module_11","isLeft","tsplus_module_12","push","keyError","left","iterableError","tv","right","isNonEmpty","succeed","tsplus_module_14","map","pairs","from","array","tuple"],"sources":["../../../_src/Schema/api/hashMap.ts"],"sourcesContent":[null],"mappings":"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"}
|