@fncts/schema 0.0.23 → 0.0.25
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 +60 -29
- package/ASTAnnotationMap.d.ts +4 -1
- package/LICENSE +26 -0
- package/ParseError/ParseError.d.ts +28 -13
- package/_cjs/AST.cjs +1096 -1087
- package/_cjs/AST.cjs.map +1 -1
- package/_cjs/ASTAnnotation.cjs +114 -83
- package/_cjs/ASTAnnotation.cjs.map +1 -1
- package/_cjs/ASTAnnotationMap.cjs +43 -32
- package/_cjs/ASTAnnotationMap.cjs.map +1 -1
- package/_cjs/Eq.cjs +113 -145
- package/_cjs/Eq.cjs.map +1 -1
- package/_cjs/Gen.cjs +131 -167
- package/_cjs/Gen.cjs.map +1 -1
- package/_cjs/Guard.cjs +167 -267
- package/_cjs/Guard.cjs.map +1 -1
- package/_cjs/InvalidInterpretationError.cjs +9 -15
- package/_cjs/InvalidInterpretationError.cjs.map +1 -1
- package/_cjs/ParseError/ParseError.cjs +285 -209
- package/_cjs/ParseError/ParseError.cjs.map +1 -1
- package/_cjs/ParseError/ParseErrorFormatter.cjs +0 -2
- package/_cjs/ParseError/PathFormatter.cjs +55 -87
- package/_cjs/ParseError/PathFormatter.cjs.map +1 -1
- package/_cjs/ParseError/TreeFormatter.cjs +70 -102
- package/_cjs/ParseError/TreeFormatter.cjs.map +1 -1
- package/_cjs/ParseError.cjs +35 -50
- package/_cjs/ParseResult.cjs +15 -15
- package/_cjs/ParseResult.cjs.map +1 -1
- package/_cjs/Parser/api.cjs +54 -50
- package/_cjs/Parser/api.cjs.map +1 -1
- package/_cjs/Parser/definition.cjs +17 -16
- package/_cjs/Parser/definition.cjs.map +1 -1
- package/_cjs/Parser/interpreter.cjs +276 -358
- package/_cjs/Parser/interpreter.cjs.map +1 -1
- package/_cjs/Parser.cjs +12 -39
- package/_cjs/Schema/api/conc.cjs +64 -59
- package/_cjs/Schema/api/conc.cjs.map +1 -1
- package/_cjs/Schema/api/either.cjs +73 -72
- package/_cjs/Schema/api/either.cjs.map +1 -1
- package/_cjs/Schema/api/hashMap.cjs +85 -85
- package/_cjs/Schema/api/hashMap.cjs.map +1 -1
- package/_cjs/Schema/api/hashSet.cjs +75 -69
- package/_cjs/Schema/api/hashSet.cjs.map +1 -1
- package/_cjs/Schema/api/list.cjs +74 -64
- package/_cjs/Schema/api/list.cjs.map +1 -1
- package/_cjs/Schema/api/map.cjs +81 -83
- package/_cjs/Schema/api/map.cjs.map +1 -1
- package/_cjs/Schema/api/maybe.cjs +56 -49
- package/_cjs/Schema/api/maybe.cjs.map +1 -1
- package/_cjs/Schema/api/set.cjs +68 -61
- package/_cjs/Schema/api/set.cjs.map +1 -1
- package/_cjs/Schema/api.cjs +332 -350
- package/_cjs/Schema/api.cjs.map +1 -1
- package/_cjs/Schema/definition.cjs +28 -27
- package/_cjs/Schema/definition.cjs.map +1 -1
- package/_cjs/Schema/derivations.cjs +85 -100
- package/_cjs/Schema/derivations.cjs.map +1 -1
- package/_cjs/Schema.cjs +95 -127
- package/_cjs/Show.cjs +91 -151
- package/_cjs/Show.cjs.map +1 -1
- package/_cjs/chunk.cjs +28 -0
- package/_cjs/global.cjs +0 -2
- package/_cjs/index.cjs +0 -2
- package/_cjs/utils.cjs +41 -46
- package/_cjs/utils.cjs.map +1 -1
- package/_mjs/AST.mjs +1007 -1031
- package/_mjs/AST.mjs.map +1 -1
- package/_mjs/ASTAnnotation.mjs +77 -71
- package/_mjs/ASTAnnotation.mjs.map +1 -1
- package/_mjs/ASTAnnotationMap.mjs +36 -25
- package/_mjs/ASTAnnotationMap.mjs.map +1 -1
- package/_mjs/Eq.mjs +101 -134
- package/_mjs/Eq.mjs.map +1 -1
- package/_mjs/Gen.mjs +117 -157
- package/_mjs/Gen.mjs.map +1 -1
- package/_mjs/Guard.mjs +154 -257
- package/_mjs/Guard.mjs.map +1 -1
- package/_mjs/InvalidInterpretationError.mjs +8 -9
- package/_mjs/InvalidInterpretationError.mjs.map +1 -1
- package/_mjs/ParseError/ParseError.mjs +270 -190
- package/_mjs/ParseError/ParseError.mjs.map +1 -1
- package/_mjs/ParseError/ParseErrorFormatter.mjs +0 -2
- package/_mjs/ParseError/PathFormatter.mjs +51 -80
- package/_mjs/ParseError/PathFormatter.mjs.map +1 -1
- package/_mjs/ParseError/TreeFormatter.mjs +62 -94
- package/_mjs/ParseError/TreeFormatter.mjs.map +1 -1
- package/_mjs/ParseError.mjs +5 -6
- package/_mjs/ParseResult.mjs +13 -9
- package/_mjs/ParseResult.mjs.map +1 -1
- package/_mjs/Parser/api.mjs +43 -39
- package/_mjs/Parser/api.mjs.map +1 -1
- package/_mjs/Parser/definition.mjs +12 -8
- package/_mjs/Parser/definition.mjs.map +1 -1
- package/_mjs/Parser/interpreter.mjs +262 -348
- package/_mjs/Parser/interpreter.mjs.map +1 -1
- package/_mjs/Parser.mjs +4 -5
- package/_mjs/Schema/api/conc.mjs +41 -45
- package/_mjs/Schema/api/conc.mjs.map +1 -1
- package/_mjs/Schema/api/either.mjs +55 -61
- package/_mjs/Schema/api/either.mjs.map +1 -1
- package/_mjs/Schema/api/hashMap.mjs +61 -71
- package/_mjs/Schema/api/hashMap.mjs.map +1 -1
- package/_mjs/Schema/api/hashSet.mjs +53 -56
- package/_mjs/Schema/api/hashSet.mjs.map +1 -1
- package/_mjs/Schema/api/list.mjs +50 -51
- package/_mjs/Schema/api/list.mjs.map +1 -1
- package/_mjs/Schema/api/map.mjs +59 -69
- package/_mjs/Schema/api/map.mjs.map +1 -1
- package/_mjs/Schema/api/maybe.mjs +34 -36
- package/_mjs/Schema/api/maybe.mjs.map +1 -1
- package/_mjs/Schema/api/set.mjs +47 -48
- package/_mjs/Schema/api/set.mjs.map +1 -1
- package/_mjs/Schema/api.mjs +304 -346
- package/_mjs/Schema/api.mjs.map +1 -1
- package/_mjs/Schema/definition.mjs +21 -18
- package/_mjs/Schema/definition.mjs.map +1 -1
- package/_mjs/Schema/derivations.mjs +71 -90
- package/_mjs/Schema/derivations.mjs.map +1 -1
- package/_mjs/Schema.mjs +12 -15
- package/_mjs/Show.mjs +79 -139
- package/_mjs/Show.mjs.map +1 -1
- package/_mjs/global.mjs +0 -2
- package/_mjs/index.mjs +0 -2
- package/_mjs/utils.mjs +35 -37
- package/_mjs/utils.mjs.map +1 -1
- package/_src/AST.ts +226 -28
- package/_src/ASTAnnotationMap.ts +14 -1
- package/_src/ParseError/ParseError.ts +128 -13
- package/_src/Schema/api/hashMap.ts +1 -1
- package/_src/Schema/api/hashSet.ts +1 -1
- package/_src/Schema/api/list.ts +3 -1
- package/_src/Schema/api/map.ts +1 -1
- package/_src/Schema/api/set.ts +1 -1
- package/package.json +7 -3
- package/_cjs/ParseError/ParseErrorFormatter.cjs.map +0 -1
- package/_cjs/ParseError.cjs.map +0 -1
- package/_cjs/Parser.cjs.map +0 -1
- package/_cjs/Schema.cjs.map +0 -1
- package/_cjs/global.cjs.map +0 -1
- package/_cjs/index.cjs.map +0 -1
- package/_mjs/ParseError/ParseErrorFormatter.mjs.map +0 -1
- package/_mjs/ParseError.mjs.map +0 -1
- package/_mjs/Parser.mjs.map +0 -1
- package/_mjs/Schema.mjs.map +0 -1
- package/_mjs/global.mjs.map +0 -1
- package/_mjs/index.mjs.map +0 -1
package/_mjs/Show.mjs
CHANGED
|
@@ -1,166 +1,106 @@
|
|
|
1
|
+
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/schema/AST";
|
|
2
3
|
import * as tsplus_module_2 from "@fncts/base/data/Maybe/api";
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
4
4
|
import * as tsplus_module_4 from "@fncts/base/data/Maybe/constructors";
|
|
5
5
|
import * as tsplus_module_5 from "@fncts/base/data/Maybe/destructors";
|
|
6
6
|
import { globalValue } from "@fncts/base/data/Global";
|
|
7
7
|
import { formatUnknown } from "@fncts/schema/utils";
|
|
8
|
-
|
|
9
|
-
const
|
|
8
|
+
//#region build/esm/Show.js
|
|
9
|
+
const showMemoMap = globalValue(Symbol.for("fncts.schema.Guard.showMemoMap"), () => /* @__PURE__ */ new WeakMap());
|
|
10
|
+
const showMemoMapVerbose = globalValue(Symbol.for("fncts.schema.Guard.showMemoMapVerbose"), () => /* @__PURE__ */ new WeakMap());
|
|
10
11
|
function goMemo(ast, verbose) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
memoMap.set(ast, s);
|
|
18
|
-
return s;
|
|
12
|
+
const memoMap = verbose ? showMemoMapVerbose : showMemoMap;
|
|
13
|
+
const memo = memoMap.get(ast);
|
|
14
|
+
if (memo) return memo;
|
|
15
|
+
const s = go(ast, verbose);
|
|
16
|
+
memoMap.set(ast, s);
|
|
17
|
+
return s;
|
|
19
18
|
}
|
|
20
19
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
* @tsplus pipeable fncts.schema.Schema show
|
|
21
|
+
*/
|
|
22
|
+
function show(verbose = false) {
|
|
23
|
+
return (self) => goMemo(self.ast, verbose);
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
* @tsplus pipeable fncts.schema.AST show
|
|
27
|
+
*/
|
|
28
|
+
function showAST(verbose = false) {
|
|
29
|
+
return (self) => goMemo(self, verbose);
|
|
31
30
|
}
|
|
32
31
|
function go(ast, verbose) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return tsplus_module_2.getOrElse(() => "boolean")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
59
|
-
case 11 /* ASTTag.BigIntKeyword */:
|
|
60
|
-
return tsplus_module_2.getOrElse(() => "bigint")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
61
|
-
case 12 /* ASTTag.SymbolKeyword */:
|
|
62
|
-
return tsplus_module_2.getOrElse(() => "symbol")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
63
|
-
case 13 /* ASTTag.ObjectKeyword */:
|
|
64
|
-
return tsplus_module_2.getOrElse(() => "object")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
65
|
-
case 15 /* ASTTag.TemplateLiteral */:
|
|
66
|
-
return tsplus_module_2.getOrElse(() => formatTemplateLiteral(ast))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
67
|
-
case 16 /* ASTTag.Tuple */:
|
|
68
|
-
{
|
|
69
|
-
return tsplus_module_2.getOrElse(() => formatTuple(ast, verbose))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
70
|
-
}
|
|
71
|
-
case 17 /* ASTTag.TypeLiteral */:
|
|
72
|
-
{
|
|
73
|
-
return tsplus_module_2.getOrElse(() => formatTypeLiteral(ast, verbose))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
74
|
-
}
|
|
75
|
-
case 18 /* ASTTag.Union */:
|
|
76
|
-
{
|
|
77
|
-
return tsplus_module_2.getOrElse(() => tsplus_module_3.join(" | ")(tsplus_module_3.map(ast => goMemo(ast, verbose))(ast.types)))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
78
|
-
}
|
|
79
|
-
case 19 /* ASTTag.Lazy */:
|
|
80
|
-
{
|
|
81
|
-
return tsplus_module_2.getOrElse(() => "<lazy schema>")(tsplus_module_2.orElse(() => tsplus_module_2.flatMap(ast => tsplus_module_1.getFormattedExpected(verbose)(ast))(tsplus_module_4.tryCatch(ast.getAST)))(tsplus_module_1.getFormattedExpected(verbose)(ast)));
|
|
82
|
-
}
|
|
83
|
-
case 14 /* ASTTag.Enum */:
|
|
84
|
-
{
|
|
85
|
-
return tsplus_module_2.getOrElse(() => `<enum ${ast.enums.length} values(s): ${tsplus_module_3.join(" | ")(tsplus_module_3.map(([_, value]) => JSON.stringify(value))(ast.enums))}`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
86
|
-
}
|
|
87
|
-
case 20 /* ASTTag.Refinement */:
|
|
88
|
-
{
|
|
89
|
-
return tsplus_module_2.getOrElse(() => `{ ${goMemo(ast.from, verbose)} | filter }`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
90
|
-
}
|
|
91
|
-
case 21 /* ASTTag.Transform */:
|
|
92
|
-
{
|
|
93
|
-
return tsplus_module_2.getOrElse(() => `(${goMemo(ast.from, verbose)} <-> ${goMemo(ast.to, verbose)})`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
94
|
-
}
|
|
95
|
-
case 22 /* ASTTag.Validation */:
|
|
96
|
-
{
|
|
97
|
-
return tsplus_module_2.getOrElse(() => `${goMemo(ast.from, verbose)} (${tsplus_module_3.join(" & ")(tsplus_module_3.map(v => v.name)(ast.validation))})`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
98
|
-
}
|
|
99
|
-
}
|
|
32
|
+
switch (ast._tag) {
|
|
33
|
+
case 0: return tsplus_module_2.getOrElse(() => "<declaration schema>")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
34
|
+
case 1: return tsplus_module_2.getOrElse(() => formatUnknown(ast.literal))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
35
|
+
case 2: return tsplus_module_2.getOrElse(() => formatUnknown(ast.symbol))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
36
|
+
case 3: return tsplus_module_2.getOrElse(() => "undefined")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
37
|
+
case 4: return tsplus_module_2.getOrElse(() => "void")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
38
|
+
case 5: return tsplus_module_2.getOrElse(() => "never")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
39
|
+
case 6: return tsplus_module_2.getOrElse(() => "unknown")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
40
|
+
case 7: return tsplus_module_2.getOrElse(() => "any")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
41
|
+
case 8: return tsplus_module_2.getOrElse(() => "string")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
42
|
+
case 9: return tsplus_module_2.getOrElse(() => "number")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
43
|
+
case 10: return tsplus_module_2.getOrElse(() => "boolean")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
44
|
+
case 11: return tsplus_module_2.getOrElse(() => "bigint")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
45
|
+
case 12: return tsplus_module_2.getOrElse(() => "symbol")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
46
|
+
case 13: return tsplus_module_2.getOrElse(() => "object")(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
47
|
+
case 15: return tsplus_module_2.getOrElse(() => formatTemplateLiteral(ast))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
48
|
+
case 16: return tsplus_module_2.getOrElse(() => formatTuple(ast, verbose))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
49
|
+
case 17: return tsplus_module_2.getOrElse(() => formatTypeLiteral(ast, verbose))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
50
|
+
case 18: return tsplus_module_2.getOrElse(() => tsplus_module_3.join(" | ")(tsplus_module_3.map((ast) => goMemo(ast, verbose))(ast.types)))(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
51
|
+
case 19: return tsplus_module_2.getOrElse(() => "<lazy schema>")(tsplus_module_2.orElse(() => tsplus_module_2.flatMap((ast) => tsplus_module_1.getFormattedExpected(verbose)(ast))(tsplus_module_4.tryCatch(ast.getAST)))(tsplus_module_1.getFormattedExpected(verbose)(ast)));
|
|
52
|
+
case 14: return tsplus_module_2.getOrElse(() => `<enum ${ast.enums.length} values(s): ${tsplus_module_3.join(" | ")(tsplus_module_3.map(([_, value]) => JSON.stringify(value))(ast.enums))}`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
53
|
+
case 20: return tsplus_module_2.getOrElse(() => `{ ${goMemo(ast.from, verbose)} | filter }`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
54
|
+
case 21: return tsplus_module_2.getOrElse(() => `(${goMemo(ast.from, verbose)} <-> ${goMemo(ast.to, verbose)})`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
55
|
+
case 22: return tsplus_module_2.getOrElse(() => `${goMemo(ast.from, verbose)} (${tsplus_module_3.join(" & ")(tsplus_module_3.map((v) => v.name)(ast.validation))})`)(tsplus_module_1.getFormattedExpected(verbose)(ast));
|
|
56
|
+
}
|
|
100
57
|
}
|
|
101
58
|
function formatTemplateLiteralSpan(span) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return "${number}";
|
|
107
|
-
}
|
|
59
|
+
switch (span.type._tag) {
|
|
60
|
+
case 8: return "${string}";
|
|
61
|
+
case 9: return "${number}";
|
|
62
|
+
}
|
|
108
63
|
}
|
|
109
64
|
function formatTemplateLiteral(ast) {
|
|
110
|
-
|
|
65
|
+
return "`" + ast.head + tsplus_module_3.join("")(tsplus_module_3.map((span) => formatTemplateLiteralSpan(span) + span.literal)(ast.spans)) + "`";
|
|
111
66
|
}
|
|
112
67
|
function formatElement(ast, verbose) {
|
|
113
|
-
|
|
68
|
+
return goMemo(ast.type, verbose) + (ast.isOptional ? "?" : "");
|
|
114
69
|
}
|
|
115
70
|
function getParameterBase(self) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return getParameterBase(self);
|
|
124
|
-
}
|
|
71
|
+
switch (self._tag) {
|
|
72
|
+
case 9:
|
|
73
|
+
case 8:
|
|
74
|
+
case 12:
|
|
75
|
+
case 15: return self;
|
|
76
|
+
case 20: return getParameterBase(self);
|
|
77
|
+
}
|
|
125
78
|
}
|
|
126
79
|
function formatTuple(ast, verbose) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
} else {
|
|
141
|
-
if (ast.elements.length > 0) {
|
|
142
|
-
return `${ast.isReadonly ? "readonly " : " "}[${formattedElements}, ...${wrappedHead}[]]`;
|
|
143
|
-
} else {
|
|
144
|
-
return `${ast.isReadonly ? "Readonly" : ""}Array<${formattedHead}>`;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
})(tsplus_module_2.filter(rest => tsplus_module_3.isNonEmpty(rest))(ast.rest));
|
|
80
|
+
const formattedElements = tsplus_module_3.join(", ")(tsplus_module_3.map((element) => formatElement(element, verbose))(ast.elements));
|
|
81
|
+
return tsplus_module_5.match(() => `${ast.isReadonly ? "readonly " : ""}[${formattedElements}]`, (rest) => {
|
|
82
|
+
const head = tsplus_module_3.unsafeHead(rest);
|
|
83
|
+
const tail = tsplus_module_3.tail(rest);
|
|
84
|
+
const formattedHead = goMemo(head, verbose);
|
|
85
|
+
const wrappedHead = formattedHead.includes(" | ") ? `(${formattedHead})` : formattedHead;
|
|
86
|
+
if (tail.length > 0) {
|
|
87
|
+
const formattedTail = tsplus_module_3.join(", ")(tsplus_module_3.map((ast) => goMemo(ast, verbose))(tail));
|
|
88
|
+
if (ast.elements.length > 0) return `${ast.isReadonly ? "readonly " : " "}[${formattedElements}, ...${wrappedHead}[], ${formattedTail}]`;
|
|
89
|
+
else return `${ast.isReadonly ? "readonly " : " "}[...${wrappedHead}[], ${formattedTail}]`;
|
|
90
|
+
} else if (ast.elements.length > 0) return `${ast.isReadonly ? "readonly " : " "}[${formattedElements}, ...${wrappedHead}[]]`;
|
|
91
|
+
else return `${ast.isReadonly ? "Readonly" : ""}Array<${formattedHead}>`;
|
|
92
|
+
})(tsplus_module_2.filter((rest) => tsplus_module_3.isNonEmpty(rest))(ast.rest));
|
|
148
93
|
}
|
|
149
94
|
function formatTypeLiteral(ast, verbose) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
} else {
|
|
159
|
-
if (ast.propertySignatures.length > 0) {
|
|
160
|
-
return `{ ${formattedPropertySignatures} }`;
|
|
161
|
-
} else {
|
|
162
|
-
return "{}";
|
|
163
|
-
}
|
|
164
|
-
}
|
|
95
|
+
const formattedPropertySignatures = tsplus_module_3.join("; ")(tsplus_module_3.map((ps) => (ps.isReadonly ? "readonly " : "") + String(ps.name) + (ps.isOptional ? "?" : "") + ": " + goMemo(ps.type, verbose))(ast.propertySignatures));
|
|
96
|
+
if (ast.indexSignatures.length > 0) {
|
|
97
|
+
const formattedIndexSignatures = tsplus_module_3.join("; ")(tsplus_module_3.map((is) => (is.isReadonly ? "readonly " : "") + `[x: ${goMemo(getParameterBase(is.parameter), verbose)}]: ${goMemo(is.type, verbose)}`)(ast.indexSignatures));
|
|
98
|
+
if (ast.propertySignatures.length > 0) return `{ ${formattedPropertySignatures}; ${formattedIndexSignatures} }`;
|
|
99
|
+
else return `{ ${formattedIndexSignatures} }`;
|
|
100
|
+
} else if (ast.propertySignatures.length > 0) return `{ ${formattedPropertySignatures} }`;
|
|
101
|
+
else return "{}";
|
|
165
102
|
}
|
|
103
|
+
//#endregion
|
|
104
|
+
export { show, showAST };
|
|
105
|
+
|
|
166
106
|
//# sourceMappingURL=Show.mjs.map
|
package/_mjs/Show.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Show.mjs","names":["globalValue","formatUnknown","showMemoMap","Symbol","for","WeakMap","showMemoMapVerbose","goMemo","ast","verbose","memoMap","memo","get","s","go","set","show","self","showAST","_tag","tsplus_module_2","getOrElse","tsplus_module_1","getFormattedExpected","literal","symbol","formatTemplateLiteral","formatTuple","formatTypeLiteral","tsplus_module_3","join","map","types","orElse","flatMap","tsplus_module_4","tryCatch","getAST","enums","length","_","value","JSON","stringify","from","to","v","name","validation","formatTemplateLiteralSpan","span","type","head","spans","formatElement","isOptional","getParameterBase","formattedElements","element","elements","tsplus_module_5","match","isReadonly","rest","unsafeHead","tail","formattedHead","wrappedHead","includes","formattedTail","filter","isNonEmpty","formattedPropertySignatures","ps","String","propertySignatures","indexSignatures","formattedIndexSignatures","is","parameter"],"sources":["../_src/Show.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Show.mjs","names":[],"sources":["../esm/Show.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/schema/AST\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_3 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_4 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Maybe/destructors\";\nimport { globalValue } from \"@fncts/base/data/Global\";\nimport { formatUnknown } from \"@fncts/schema/utils\";\nconst showMemoMap = globalValue(Symbol.for(\"fncts.schema.Guard.showMemoMap\"), () => new WeakMap());\nconst showMemoMapVerbose = globalValue(Symbol.for(\"fncts.schema.Guard.showMemoMapVerbose\"), () => new WeakMap());\nfunction goMemo(ast, verbose) {\n const memoMap = verbose ? showMemoMapVerbose : showMemoMap;\n const memo = memoMap.get(ast);\n if (memo) {\n return memo;\n }\n const s = go(ast, verbose);\n memoMap.set(ast, s);\n return s;\n}\n/**\n * @tsplus pipeable fncts.schema.Schema show\n */\nexport function show(verbose = false) {\n return (self) => goMemo(self.ast, verbose);\n}\n/**\n * @tsplus pipeable fncts.schema.AST show\n */\nexport function showAST(verbose = false) {\n return (self) => goMemo(self, verbose);\n}\nfunction go(ast, verbose) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */: {\n return tsplus_module_2.getOrElse(() => \"<declaration schema>\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 1 /* ASTTag.Literal */:\n return tsplus_module_2.getOrElse(() => formatUnknown(ast.literal))(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 2 /* ASTTag.UniqueSymbol */:\n return tsplus_module_2.getOrElse(() => formatUnknown(ast.symbol))(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 3 /* ASTTag.UndefinedKeyword */:\n return tsplus_module_2.getOrElse(() => \"undefined\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 4 /* ASTTag.VoidKeyword */:\n return tsplus_module_2.getOrElse(() => \"void\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 5 /* ASTTag.NeverKeyword */:\n return tsplus_module_2.getOrElse(() => \"never\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 6 /* ASTTag.UnknownKeyword */:\n return tsplus_module_2.getOrElse(() => \"unknown\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 7 /* ASTTag.AnyKeyword */:\n return tsplus_module_2.getOrElse(() => \"any\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 8 /* ASTTag.StringKeyword */:\n return tsplus_module_2.getOrElse(() => \"string\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 9 /* ASTTag.NumberKeyword */:\n return tsplus_module_2.getOrElse(() => \"number\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 10 /* ASTTag.BooleanKeyword */:\n return tsplus_module_2.getOrElse(() => \"boolean\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 11 /* ASTTag.BigIntKeyword */:\n return tsplus_module_2.getOrElse(() => \"bigint\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 12 /* ASTTag.SymbolKeyword */:\n return tsplus_module_2.getOrElse(() => \"symbol\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 13 /* ASTTag.ObjectKeyword */:\n return tsplus_module_2.getOrElse(() => \"object\")(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 15 /* ASTTag.TemplateLiteral */:\n return tsplus_module_2.getOrElse(() => formatTemplateLiteral(ast))(tsplus_module_1.getFormattedExpected(verbose)(ast));\n case 16 /* ASTTag.Tuple */: {\n return tsplus_module_2.getOrElse(() => formatTuple(ast, verbose))(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 17 /* ASTTag.TypeLiteral */: {\n return tsplus_module_2.getOrElse(() => formatTypeLiteral(ast, verbose))(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 18 /* ASTTag.Union */: {\n return tsplus_module_2.getOrElse(() => tsplus_module_3.join(\" | \")(tsplus_module_3.map((ast) => goMemo(ast, verbose))(ast.types)))(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 19 /* ASTTag.Lazy */: {\n return tsplus_module_2.getOrElse(() => \"<lazy schema>\")(tsplus_module_2.orElse(() => tsplus_module_2.flatMap((ast) => tsplus_module_1.getFormattedExpected(verbose)(ast))(tsplus_module_4.tryCatch(ast.getAST)))(tsplus_module_1.getFormattedExpected(verbose)(ast)));\n }\n case 14 /* ASTTag.Enum */: {\n return tsplus_module_2.getOrElse(() => `<enum ${ast.enums.length} values(s): ${tsplus_module_3.join(\" | \")(tsplus_module_3.map(([_, value]) => JSON.stringify(value))(ast.enums))}`)(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 20 /* ASTTag.Refinement */: {\n return tsplus_module_2.getOrElse(() => `{ ${goMemo(ast.from, verbose)} | filter }`)(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 21 /* ASTTag.Transform */: {\n return tsplus_module_2.getOrElse(() => `(${goMemo(ast.from, verbose)} <-> ${goMemo(ast.to, verbose)})`)(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n case 22 /* ASTTag.Validation */: {\n return tsplus_module_2.getOrElse(() => `${goMemo(ast.from, verbose)} (${tsplus_module_3.join(\" & \")(tsplus_module_3.map((v) => v.name)(ast.validation))})`)(tsplus_module_1.getFormattedExpected(verbose)(ast));\n }\n }\n}\nfunction formatTemplateLiteralSpan(span) {\n switch (span.type._tag) {\n case 8 /* ASTTag.StringKeyword */:\n return \"${string}\";\n case 9 /* ASTTag.NumberKeyword */:\n return \"${number}\";\n }\n}\nfunction formatTemplateLiteral(ast) {\n return \"`\" + ast.head + tsplus_module_3.join(\"\")(tsplus_module_3.map((span) => formatTemplateLiteralSpan(span) + span.literal)(ast.spans)) + \"`\";\n}\nfunction formatElement(ast, verbose) {\n return goMemo(ast.type, verbose) + (ast.isOptional ? \"?\" : \"\");\n}\nfunction getParameterBase(self) {\n switch (self._tag) {\n case 9 /* ASTTag.NumberKeyword */:\n case 8 /* ASTTag.StringKeyword */:\n case 12 /* ASTTag.SymbolKeyword */:\n case 15 /* ASTTag.TemplateLiteral */:\n return self;\n case 20 /* ASTTag.Refinement */:\n return getParameterBase(self);\n }\n}\nfunction formatTuple(ast, verbose) {\n const formattedElements = tsplus_module_3.join(\", \")(tsplus_module_3.map((element) => formatElement(element, verbose))(ast.elements));\n return tsplus_module_5.match(() => `${ast.isReadonly ? \"readonly \" : \"\"}[${formattedElements}]`, (rest) => {\n const head = tsplus_module_3.unsafeHead(rest);\n const tail = tsplus_module_3.tail(rest);\n const formattedHead = goMemo(head, verbose);\n const wrappedHead = formattedHead.includes(\" | \") ? `(${formattedHead})` : formattedHead;\n if (tail.length > 0) {\n const formattedTail = tsplus_module_3.join(\", \")(tsplus_module_3.map((ast) => goMemo(ast, verbose))(tail));\n if (ast.elements.length > 0) {\n return `${ast.isReadonly ? \"readonly \" : \" \"}[${formattedElements}, ...${wrappedHead}[], ${formattedTail}]`;\n }\n else {\n return `${ast.isReadonly ? \"readonly \" : \" \"}[...${wrappedHead}[], ${formattedTail}]`;\n }\n }\n else {\n if (ast.elements.length > 0) {\n return `${ast.isReadonly ? \"readonly \" : \" \"}[${formattedElements}, ...${wrappedHead}[]]`;\n }\n else {\n return `${ast.isReadonly ? \"Readonly\" : \"\"}Array<${formattedHead}>`;\n }\n }\n })(tsplus_module_2.filter((rest) => tsplus_module_3.isNonEmpty(rest))(ast.rest));\n}\nfunction formatTypeLiteral(ast, verbose) {\n const formattedPropertySignatures = tsplus_module_3.join(\"; \")(tsplus_module_3.map((ps) => (ps.isReadonly ? \"readonly \" : \"\") +\n String(ps.name) +\n (ps.isOptional ? \"?\" : \"\") +\n \": \" +\n goMemo(ps.type, verbose))(ast.propertySignatures));\n if (ast.indexSignatures.length > 0) {\n const formattedIndexSignatures = tsplus_module_3.join(\"; \")(tsplus_module_3.map((is) => (is.isReadonly ? \"readonly \" : \"\") +\n `[x: ${goMemo(getParameterBase(is.parameter), verbose)}]: ${goMemo(is.type, verbose)}`)(ast.indexSignatures));\n if (ast.propertySignatures.length > 0) {\n return `{ ${formattedPropertySignatures}; ${formattedIndexSignatures} }`;\n }\n else {\n return `{ ${formattedIndexSignatures} }`;\n }\n }\n else {\n if (ast.propertySignatures.length > 0) {\n return `{ ${formattedPropertySignatures} }`;\n }\n else {\n return \"{}\";\n }\n }\n}\n//# sourceMappingURL=Show.js.map"],"mappings":"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"}
|
package/_mjs/global.mjs
CHANGED
package/_mjs/index.mjs
CHANGED
package/_mjs/utils.mjs
CHANGED
|
@@ -1,46 +1,44 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/base/collection/immutable/Vector/api";
|
|
2
2
|
import * as tsplus_module_2 from "@fncts/schema/AST";
|
|
3
3
|
import { showWithOptions } from "@fncts/base/data/Showable";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
//#region build/esm/utils.js
|
|
5
|
+
function memoize(f) {
|
|
6
|
+
const cache = /* @__PURE__ */ new Map();
|
|
7
|
+
return (a) => {
|
|
8
|
+
if (!cache.has(a)) {
|
|
9
|
+
const b = f(a);
|
|
10
|
+
cache.set(a, b);
|
|
11
|
+
return b;
|
|
12
|
+
}
|
|
13
|
+
return cache.get(a);
|
|
14
|
+
};
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function ownKeys(o) {
|
|
17
|
+
return o ? tsplus_module_1.from(Reflect.ownKeys(o)) : tsplus_module_1.empty();
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
pattern += "$";
|
|
29
|
-
return new RegExp(pattern);
|
|
19
|
+
function getTemplateLiteralRegex(ast) {
|
|
20
|
+
let pattern = `^${ast.head}`;
|
|
21
|
+
for (const span of ast.spans) {
|
|
22
|
+
if (tsplus_module_2.isStringKeyword(span.type)) pattern += ".*";
|
|
23
|
+
else if (tsplus_module_2.isNumberKeyword(span.type)) pattern += "-?\\d+(\\.\\d+)?";
|
|
24
|
+
pattern += span.literal;
|
|
25
|
+
}
|
|
26
|
+
pattern += "$";
|
|
27
|
+
return new RegExp(pattern);
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
case 20 /* ASTTag.Refinement */:
|
|
40
|
-
return getKeysForIndexSignature(input, parameter.from);
|
|
41
|
-
}
|
|
29
|
+
function getKeysForIndexSignature(input, parameter) {
|
|
30
|
+
switch (parameter._tag) {
|
|
31
|
+
case 9:
|
|
32
|
+
case 8:
|
|
33
|
+
case 15: return tsplus_module_1.from(Object.keys(input));
|
|
34
|
+
case 12: return tsplus_module_1.from(Object.getOwnPropertySymbols(input));
|
|
35
|
+
case 20: return getKeysForIndexSignature(input, parameter.from);
|
|
36
|
+
}
|
|
42
37
|
}
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
function formatUnknown(u) {
|
|
39
|
+
return showWithOptions(u, {});
|
|
45
40
|
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { formatUnknown, getKeysForIndexSignature, getTemplateLiteralRegex, memoize, ownKeys };
|
|
43
|
+
|
|
46
44
|
//# sourceMappingURL=utils.mjs.map
|
package/_mjs/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":["
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../esm/utils.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_2 from \"@fncts/schema/AST\";\nimport { showWithOptions } from \"@fncts/base/data/Showable\";\nexport function memoize(f) {\n const cache = new Map();\n return (a) => {\n if (!cache.has(a)) {\n const b = f(a);\n cache.set(a, b);\n return b;\n }\n return cache.get(a);\n };\n}\nexport function ownKeys(o) {\n return o ? tsplus_module_1.from(Reflect.ownKeys(o)) : tsplus_module_1.empty();\n}\nexport function getTemplateLiteralRegex(ast) {\n let pattern = `^${ast.head}`;\n for (const span of ast.spans) {\n if (tsplus_module_2.isStringKeyword(span.type)) {\n pattern += \".*\";\n }\n else if (tsplus_module_2.isNumberKeyword(span.type)) {\n pattern += \"-?\\\\d+(\\\\.\\\\d+)?\";\n }\n pattern += span.literal;\n }\n pattern += \"$\";\n return new RegExp(pattern);\n}\nexport function getKeysForIndexSignature(input, parameter) {\n switch (parameter._tag) {\n case 9 /* ASTTag.NumberKeyword */:\n case 8 /* ASTTag.StringKeyword */:\n case 15 /* ASTTag.TemplateLiteral */:\n return tsplus_module_1.from(Object.keys(input));\n case 12 /* ASTTag.SymbolKeyword */:\n return tsplus_module_1.from(Object.getOwnPropertySymbols(input));\n case 20 /* ASTTag.Refinement */:\n return getKeysForIndexSignature(input, parameter.from);\n }\n}\nexport function formatUnknown(u) {\n return showWithOptions(u, {});\n}\n//# sourceMappingURL=utils.js.map"],"mappings":";;;;AAGA,SAAgB,QAAQ,GAAG;CACvB,MAAM,wBAAQ,IAAI,KAAK;AACvB,SAAQ,MAAM;AACV,MAAI,CAAC,MAAM,IAAI,EAAE,EAAE;GACf,MAAM,IAAI,EAAE,EAAE;AACd,SAAM,IAAI,GAAG,EAAE;AACf,UAAO;;AAEX,SAAO,MAAM,IAAI,EAAE;;;AAG3B,SAAgB,QAAQ,GAAG;AACvB,QAAO,IAAI,gBAAgB,KAAK,QAAQ,QAAQ,EAAE,CAAC,GAAG,gBAAgB,OAAO;;AAEjF,SAAgB,wBAAwB,KAAK;CACzC,IAAI,UAAU,IAAI,IAAI;AACtB,MAAK,MAAM,QAAQ,IAAI,OAAO;AAC1B,MAAI,gBAAgB,gBAAgB,KAAK,KAAK,CAC1C,YAAW;WAEN,gBAAgB,gBAAgB,KAAK,KAAK,CAC/C,YAAW;AAEf,aAAW,KAAK;;AAEpB,YAAW;AACX,QAAO,IAAI,OAAO,QAAQ;;AAE9B,SAAgB,yBAAyB,OAAO,WAAW;AACvD,SAAQ,UAAU,MAAlB;EACI,KAAK;EACL,KAAK;EACL,KAAK,GACD,QAAO,gBAAgB,KAAK,OAAO,KAAK,MAAM,CAAC;EACnD,KAAK,GACD,QAAO,gBAAgB,KAAK,OAAO,sBAAsB,MAAM,CAAC;EACpE,KAAK,GACD,QAAO,yBAAyB,OAAO,UAAU,KAAK;;;AAGlE,SAAgB,cAAc,GAAG;AAC7B,QAAO,gBAAgB,GAAG,EAAE,CAAC"}
|