@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.
Files changed (146) hide show
  1. package/AST.d.ts +60 -29
  2. package/ASTAnnotationMap.d.ts +4 -1
  3. package/LICENSE +26 -0
  4. package/ParseError/ParseError.d.ts +28 -13
  5. package/_cjs/AST.cjs +1096 -1087
  6. package/_cjs/AST.cjs.map +1 -1
  7. package/_cjs/ASTAnnotation.cjs +114 -83
  8. package/_cjs/ASTAnnotation.cjs.map +1 -1
  9. package/_cjs/ASTAnnotationMap.cjs +43 -32
  10. package/_cjs/ASTAnnotationMap.cjs.map +1 -1
  11. package/_cjs/Eq.cjs +113 -145
  12. package/_cjs/Eq.cjs.map +1 -1
  13. package/_cjs/Gen.cjs +131 -167
  14. package/_cjs/Gen.cjs.map +1 -1
  15. package/_cjs/Guard.cjs +167 -267
  16. package/_cjs/Guard.cjs.map +1 -1
  17. package/_cjs/InvalidInterpretationError.cjs +9 -15
  18. package/_cjs/InvalidInterpretationError.cjs.map +1 -1
  19. package/_cjs/ParseError/ParseError.cjs +285 -209
  20. package/_cjs/ParseError/ParseError.cjs.map +1 -1
  21. package/_cjs/ParseError/ParseErrorFormatter.cjs +0 -2
  22. package/_cjs/ParseError/PathFormatter.cjs +55 -87
  23. package/_cjs/ParseError/PathFormatter.cjs.map +1 -1
  24. package/_cjs/ParseError/TreeFormatter.cjs +70 -102
  25. package/_cjs/ParseError/TreeFormatter.cjs.map +1 -1
  26. package/_cjs/ParseError.cjs +35 -50
  27. package/_cjs/ParseResult.cjs +15 -15
  28. package/_cjs/ParseResult.cjs.map +1 -1
  29. package/_cjs/Parser/api.cjs +54 -50
  30. package/_cjs/Parser/api.cjs.map +1 -1
  31. package/_cjs/Parser/definition.cjs +17 -16
  32. package/_cjs/Parser/definition.cjs.map +1 -1
  33. package/_cjs/Parser/interpreter.cjs +276 -358
  34. package/_cjs/Parser/interpreter.cjs.map +1 -1
  35. package/_cjs/Parser.cjs +12 -39
  36. package/_cjs/Schema/api/conc.cjs +64 -59
  37. package/_cjs/Schema/api/conc.cjs.map +1 -1
  38. package/_cjs/Schema/api/either.cjs +73 -72
  39. package/_cjs/Schema/api/either.cjs.map +1 -1
  40. package/_cjs/Schema/api/hashMap.cjs +85 -85
  41. package/_cjs/Schema/api/hashMap.cjs.map +1 -1
  42. package/_cjs/Schema/api/hashSet.cjs +75 -69
  43. package/_cjs/Schema/api/hashSet.cjs.map +1 -1
  44. package/_cjs/Schema/api/list.cjs +74 -64
  45. package/_cjs/Schema/api/list.cjs.map +1 -1
  46. package/_cjs/Schema/api/map.cjs +81 -83
  47. package/_cjs/Schema/api/map.cjs.map +1 -1
  48. package/_cjs/Schema/api/maybe.cjs +56 -49
  49. package/_cjs/Schema/api/maybe.cjs.map +1 -1
  50. package/_cjs/Schema/api/set.cjs +68 -61
  51. package/_cjs/Schema/api/set.cjs.map +1 -1
  52. package/_cjs/Schema/api.cjs +332 -350
  53. package/_cjs/Schema/api.cjs.map +1 -1
  54. package/_cjs/Schema/definition.cjs +28 -27
  55. package/_cjs/Schema/definition.cjs.map +1 -1
  56. package/_cjs/Schema/derivations.cjs +85 -100
  57. package/_cjs/Schema/derivations.cjs.map +1 -1
  58. package/_cjs/Schema.cjs +95 -127
  59. package/_cjs/Show.cjs +91 -151
  60. package/_cjs/Show.cjs.map +1 -1
  61. package/_cjs/chunk.cjs +28 -0
  62. package/_cjs/global.cjs +0 -2
  63. package/_cjs/index.cjs +0 -2
  64. package/_cjs/utils.cjs +41 -46
  65. package/_cjs/utils.cjs.map +1 -1
  66. package/_mjs/AST.mjs +1007 -1031
  67. package/_mjs/AST.mjs.map +1 -1
  68. package/_mjs/ASTAnnotation.mjs +77 -71
  69. package/_mjs/ASTAnnotation.mjs.map +1 -1
  70. package/_mjs/ASTAnnotationMap.mjs +36 -25
  71. package/_mjs/ASTAnnotationMap.mjs.map +1 -1
  72. package/_mjs/Eq.mjs +101 -134
  73. package/_mjs/Eq.mjs.map +1 -1
  74. package/_mjs/Gen.mjs +117 -157
  75. package/_mjs/Gen.mjs.map +1 -1
  76. package/_mjs/Guard.mjs +154 -257
  77. package/_mjs/Guard.mjs.map +1 -1
  78. package/_mjs/InvalidInterpretationError.mjs +8 -9
  79. package/_mjs/InvalidInterpretationError.mjs.map +1 -1
  80. package/_mjs/ParseError/ParseError.mjs +270 -190
  81. package/_mjs/ParseError/ParseError.mjs.map +1 -1
  82. package/_mjs/ParseError/ParseErrorFormatter.mjs +0 -2
  83. package/_mjs/ParseError/PathFormatter.mjs +51 -80
  84. package/_mjs/ParseError/PathFormatter.mjs.map +1 -1
  85. package/_mjs/ParseError/TreeFormatter.mjs +62 -94
  86. package/_mjs/ParseError/TreeFormatter.mjs.map +1 -1
  87. package/_mjs/ParseError.mjs +5 -6
  88. package/_mjs/ParseResult.mjs +13 -9
  89. package/_mjs/ParseResult.mjs.map +1 -1
  90. package/_mjs/Parser/api.mjs +43 -39
  91. package/_mjs/Parser/api.mjs.map +1 -1
  92. package/_mjs/Parser/definition.mjs +12 -8
  93. package/_mjs/Parser/definition.mjs.map +1 -1
  94. package/_mjs/Parser/interpreter.mjs +262 -348
  95. package/_mjs/Parser/interpreter.mjs.map +1 -1
  96. package/_mjs/Parser.mjs +4 -5
  97. package/_mjs/Schema/api/conc.mjs +41 -45
  98. package/_mjs/Schema/api/conc.mjs.map +1 -1
  99. package/_mjs/Schema/api/either.mjs +55 -61
  100. package/_mjs/Schema/api/either.mjs.map +1 -1
  101. package/_mjs/Schema/api/hashMap.mjs +61 -71
  102. package/_mjs/Schema/api/hashMap.mjs.map +1 -1
  103. package/_mjs/Schema/api/hashSet.mjs +53 -56
  104. package/_mjs/Schema/api/hashSet.mjs.map +1 -1
  105. package/_mjs/Schema/api/list.mjs +50 -51
  106. package/_mjs/Schema/api/list.mjs.map +1 -1
  107. package/_mjs/Schema/api/map.mjs +59 -69
  108. package/_mjs/Schema/api/map.mjs.map +1 -1
  109. package/_mjs/Schema/api/maybe.mjs +34 -36
  110. package/_mjs/Schema/api/maybe.mjs.map +1 -1
  111. package/_mjs/Schema/api/set.mjs +47 -48
  112. package/_mjs/Schema/api/set.mjs.map +1 -1
  113. package/_mjs/Schema/api.mjs +304 -346
  114. package/_mjs/Schema/api.mjs.map +1 -1
  115. package/_mjs/Schema/definition.mjs +21 -18
  116. package/_mjs/Schema/definition.mjs.map +1 -1
  117. package/_mjs/Schema/derivations.mjs +71 -90
  118. package/_mjs/Schema/derivations.mjs.map +1 -1
  119. package/_mjs/Schema.mjs +12 -15
  120. package/_mjs/Show.mjs +79 -139
  121. package/_mjs/Show.mjs.map +1 -1
  122. package/_mjs/global.mjs +0 -2
  123. package/_mjs/index.mjs +0 -2
  124. package/_mjs/utils.mjs +35 -37
  125. package/_mjs/utils.mjs.map +1 -1
  126. package/_src/AST.ts +226 -28
  127. package/_src/ASTAnnotationMap.ts +14 -1
  128. package/_src/ParseError/ParseError.ts +128 -13
  129. package/_src/Schema/api/hashMap.ts +1 -1
  130. package/_src/Schema/api/hashSet.ts +1 -1
  131. package/_src/Schema/api/list.ts +3 -1
  132. package/_src/Schema/api/map.ts +1 -1
  133. package/_src/Schema/api/set.ts +1 -1
  134. package/package.json +7 -3
  135. package/_cjs/ParseError/ParseErrorFormatter.cjs.map +0 -1
  136. package/_cjs/ParseError.cjs.map +0 -1
  137. package/_cjs/Parser.cjs.map +0 -1
  138. package/_cjs/Schema.cjs.map +0 -1
  139. package/_cjs/global.cjs.map +0 -1
  140. package/_cjs/index.cjs.map +0 -1
  141. package/_mjs/ParseError/ParseErrorFormatter.mjs.map +0 -1
  142. package/_mjs/ParseError.mjs.map +0 -1
  143. package/_mjs/Parser.mjs.map +0 -1
  144. package/_mjs/Schema.mjs.map +0 -1
  145. package/_mjs/global.mjs.map +0 -1
  146. package/_mjs/index.mjs.map +0 -1
package/_mjs/Gen.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Gen.mjs","names":["InvalidInterpretationError","memoize","genFrom","self","go","tsplus_module_1","getFrom","ast","genTo","getHook","annotations","get","tsplus_module_2","GenHook","record","key","value","tsplus_module_3","map","tuples","out","k","v","arrayWith","maxLength","tuple","_tag","tsplus_module_6","match","fromIO","tsplus_module_4","haltNow","fileName_1","hook","tsplus_module_5","typeParameters","constant","literal","symbol","undefined","anything","fullUnicodeString","float","boolean","bigInt","s","Symbol","for","components","head","span","spans","push","join","elements","e","type","rest","tsplus_module_7","restElement","output","length","tsplus_module_8","isNothing","firstOptionalIndex","findIndex","isOptional","flatMap","as","i","slice","intWith","min","max","isJust","unsafeHead","tail","j","a","unsafeGet","propertySignatureTypes","ps","propertySignatures","indexSignatures","is","parameter","requiredGens","optionalGens","name","zipWith","partial","b","struct","o","d","types","oneOf","f","getAST","defer","handler","enums","_","from","filter","tsplus_module_9","isRight","decode","to","every","validate","validation"],"sources":["../_src/Gen.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Gen.mjs","names":[],"sources":["../esm/Gen.js"],"sourcesContent":["const fileName_1 = \"(@fncts/schema) src/Gen.ts\";\nimport * as tsplus_module_1 from \"@fncts/schema/AST\";\nimport * as tsplus_module_2 from \"@fncts/schema/ASTAnnotation\";\nimport * as tsplus_module_3 from \"@fncts/test/control/Gen/api\";\nimport * as tsplus_module_4 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_5 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_6 from \"@fncts/base/data/Maybe/destructors\";\nimport * as tsplus_module_7 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Maybe/definition\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Either/api\";\nimport { InvalidInterpretationError } from \"@fncts/schema/InvalidInterpretationError\";\nimport { memoize } from \"@fncts/schema/utils\";\n/**\n * @tsplus getter fncts.schema.Schema genFrom\n */\nexport function genFrom(self) {\n return go(tsplus_module_1.getFrom(self.ast));\n}\n/**\n * @tsplus getter fncts.schema.Schema genTo\n */\nexport function genTo(self) {\n return go(self.ast);\n}\nfunction getHook(ast) {\n return ast.annotations.get(tsplus_module_2.GenHook);\n}\nfunction record(key, value) {\n return tsplus_module_3.map((tuples) => {\n const out = {};\n for (const [k, v] of tuples) {\n out[k] = v;\n }\n return out;\n })(tsplus_module_3.arrayWith({ maxLength: 10 })(tsplus_module_3.tuple(key, value)));\n}\nconst go = memoize(function go(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */:\n return tsplus_module_6.match(() => tsplus_module_3.fromIO(tsplus_module_4.haltNow(new InvalidInterpretationError(\"cannot build a Gen for a Declaration without a Gen hook\"), fileName_1 + \":49:23\")), (hook) => hook(...tsplus_module_5.map(go)(ast.typeParameters)))(getHook(ast));\n case 1 /* ASTTag.Literal */:\n return tsplus_module_3.constant(ast.literal);\n case 2 /* ASTTag.UniqueSymbol */:\n return tsplus_module_3.constant(ast.symbol);\n case 3 /* ASTTag.UndefinedKeyword */:\n return tsplus_module_3.constant(undefined);\n case 4 /* ASTTag.VoidKeyword */:\n return tsplus_module_3.constant(undefined);\n case 5 /* ASTTag.NeverKeyword */:\n return tsplus_module_3.fromIO(tsplus_module_4.haltNow(new InvalidInterpretationError(\"cannot build a Gen for `never`\"), fileName_1 + \":62:35\"));\n case 6 /* ASTTag.UnknownKeyword */:\n return tsplus_module_3.anything();\n case 7 /* ASTTag.AnyKeyword */:\n return tsplus_module_3.anything();\n case 8 /* ASTTag.StringKeyword */:\n return tsplus_module_3.fullUnicodeString();\n case 9 /* ASTTag.NumberKeyword */:\n return tsplus_module_3.float;\n case 10 /* ASTTag.BooleanKeyword */:\n return tsplus_module_3.boolean;\n case 11 /* ASTTag.BigIntKeyword */:\n return tsplus_module_3.bigInt;\n case 12 /* ASTTag.SymbolKeyword */:\n return tsplus_module_3.map((s) => Symbol.for(s))(tsplus_module_3.fullUnicodeString());\n case 13 /* ASTTag.ObjectKeyword */:\n return tsplus_module_3.anything();\n case 15 /* ASTTag.TemplateLiteral */: {\n const components = [tsplus_module_3.constant(ast.head)];\n for (const span of ast.spans) {\n components.push(tsplus_module_3.fullUnicodeString({ maxLength: 5 }));\n components.push(tsplus_module_3.constant(span.literal));\n }\n return tsplus_module_3.map((spans) => spans.join(\"\"))(tsplus_module_3.tuple(...components));\n }\n case 16 /* ASTTag.Tuple */: {\n const elements = tsplus_module_5.map((e) => go(e.type))(ast.elements);\n const rest = tsplus_module_7.map((restElement) => tsplus_module_5.map(go)(restElement))(ast.rest);\n let output = tsplus_module_3.tuple(...elements);\n if (elements.length > 0 && tsplus_module_8.isNothing(rest)) {\n const firstOptionalIndex = tsplus_module_5.findIndex((e) => e.isOptional)(ast.elements);\n if (firstOptionalIndex !== -1) {\n output = tsplus_module_3.flatMap((as) => tsplus_module_3.map((i) => as.slice(0, i))(tsplus_module_3.intWith({ min: firstOptionalIndex, max: elements.length - 1 })))(output);\n }\n }\n if (tsplus_module_8.isJust(rest)) {\n const head = tsplus_module_5.unsafeHead(rest.value);\n const tail = tsplus_module_5.tail(rest.value);\n output = tsplus_module_3.flatMap((as) => tsplus_module_3.map((rest) => [...as, ...rest])(tsplus_module_3.arrayWith({ maxLength: 5 })(head)))(output);\n for (let j = 0; j < tail.length; j++) {\n output = tsplus_module_3.flatMap((as) => tsplus_module_3.map((a) => [...as, a])(tsplus_module_5.unsafeGet(j)(tail)))(output);\n }\n }\n return output;\n }\n case 17 /* ASTTag.TypeLiteral */: {\n const propertySignatureTypes = tsplus_module_5.map((ps) => go(ps.type))(ast.propertySignatures);\n const indexSignatures = tsplus_module_5.map((is) => [go(is.parameter), go(is.type)])(ast.indexSignatures);\n const requiredGens = {};\n const optionalGens = {};\n for (let i = 0; i < propertySignatureTypes.length; i++) {\n const ps = tsplus_module_5.unsafeGet(i)(ast.propertySignatures);\n const name = ps.name;\n if (!ps.isOptional) {\n requiredGens[name] = tsplus_module_5.unsafeGet(i)(propertySignatureTypes);\n }\n else {\n optionalGens[name] = tsplus_module_5.unsafeGet(i)(propertySignatureTypes);\n }\n }\n let output = tsplus_module_3.zipWith(tsplus_module_3.partial(optionalGens), (a, b) => ({ ...a, ...b }))(tsplus_module_3.struct(requiredGens));\n for (let i = 0; i < indexSignatures.length; i++) {\n const parameter = tsplus_module_5.unsafeGet(i)(indexSignatures)[0];\n const type = tsplus_module_5.unsafeGet(i)(indexSignatures)[1];\n output = tsplus_module_3.flatMap((o) => {\n return tsplus_module_3.map((d) => ({ ...d, ...o }))(record(parameter, type));\n })(output);\n }\n return output;\n }\n case 18 /* ASTTag.Union */: {\n const types = tsplus_module_5.map(go)(ast.types);\n return tsplus_module_3.oneOf(...types);\n }\n case 19 /* ASTTag.Lazy */: {\n return tsplus_module_6.match(() => {\n const f = () => go(ast.getAST());\n const get = memoize(f);\n return tsplus_module_3.defer(() => get(f));\n }, (handler) => handler())(getHook(ast));\n }\n case 14 /* ASTTag.Enum */: {\n if (ast.enums.length === 0) {\n return tsplus_module_3.fromIO(tsplus_module_4.haltNow(new InvalidInterpretationError(\"cannot build a Gen for an empty enum\"), fileName_1 + \":149:37\"));\n }\n return tsplus_module_3.oneOf(...tsplus_module_5.map(([_, value]) => tsplus_module_3.constant(value))(ast.enums));\n }\n case 20 /* ASTTag.Refinement */: {\n const from = go(ast.from);\n return tsplus_module_6.match(() => tsplus_module_3.filter((a) => tsplus_module_9.isRight(ast.decode(a)))(from), (handler) => handler(from))(getHook(ast));\n }\n case 21 /* ASTTag.Transform */:\n return go(ast.to);\n case 22 /* ASTTag.Validation */: {\n const from = go(ast.from);\n return tsplus_module_6.match(() => tsplus_module_3.filter((a) => tsplus_module_5.every((v) => v.validate(a))(ast.validation))(from), (handler) => handler(from))(getHook(ast));\n }\n }\n});\n//# sourceMappingURL=Gen.js.map"],"mappings":"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"}
package/_mjs/Guard.mjs CHANGED
@@ -1,269 +1,166 @@
1
- import * as tsplus_module_1 from "@fncts/base/data/Guard/definition";
2
- import * as tsplus_module_2 from "@fncts/base/data/Either/destructors";
3
- import * as tsplus_module_3 from "@fncts/base/data/number/instances";
4
- import * as tsplus_module_4 from "@fncts/base/data/boolean/instances";
5
- import * as tsplus_module_5 from "@fncts/base/data/Guard/api";
6
- import * as tsplus_module_6 from "@fncts/base/data/bigint/instances";
7
- import * as tsplus_module_7 from "@fncts/base/util/predicates";
1
+ import { getSearchTree } from "./AST.mjs";
2
+ import { parserFor } from "./Parser/interpreter.mjs";
3
+ import "./Parser.mjs";
8
4
  import * as tsplus_module_8 from "@fncts/base/collection/immutable/Vector/api";
9
5
  import * as tsplus_module_9 from "@fncts/base/data/Maybe/destructors";
10
6
  import { globalValue } from "@fncts/base/data/Global";
11
- import { isRecord } from "@fncts/base/util/predicates";
12
7
  import { getKeysForIndexSignature, memoize } from "@fncts/schema/utils";
13
- import { getSearchTree } from "./AST.mjs";
14
- import { parserFor } from "./Parser.mjs";
8
+ import * as tsplus_module_7 from "@fncts/base/util/predicates";
9
+ import { isRecord } from "@fncts/base/util/predicates";
10
+ import * as tsplus_module_3 from "@fncts/base/data/number/instances";
11
+ import * as tsplus_module_2 from "@fncts/base/data/Either/destructors";
12
+ import * as tsplus_module_1 from "@fncts/base/data/Guard/definition";
13
+ import * as tsplus_module_4 from "@fncts/base/data/boolean/instances";
14
+ import * as tsplus_module_5 from "@fncts/base/data/Guard/api";
15
+ import * as tsplus_module_6 from "@fncts/base/data/bigint/instances";
16
+ //#region build/esm/Guard.js
15
17
  /**
16
- * @tsplus getter fncts.schema.Schema is
17
- */
18
- export function is(schema) {
19
- return input => {
20
- return guardFor(schema).is(input);
21
- };
18
+ * @tsplus getter fncts.schema.Schema is
19
+ */
20
+ function is(schema) {
21
+ return (input) => {
22
+ return guardFor(schema).is(input);
23
+ };
22
24
  }
23
- export function guardFor(schema) {
24
- return goMemo(schema.ast);
25
+ function guardFor(schema) {
26
+ return goMemo(schema.ast);
25
27
  }
26
- const guardStrict = value => tsplus_module_1.makeGuard(inp => inp === value);
27
- const guardMemoMap = /*#__PURE__*/globalValue(/*#__PURE__*/Symbol.for("fncts.schema.Guard.guardMemoMap"), () => new WeakMap());
28
+ const guardStrict = (value) => tsplus_module_1.makeGuard((inp) => inp === value);
29
+ const guardMemoMap = globalValue(Symbol.for("fncts.schema.Guard.guardMemoMap"), () => /* @__PURE__ */ new WeakMap());
28
30
  function goMemo(ast) {
29
- const memo = guardMemoMap.get(ast);
30
- if (memo) {
31
- return memo;
32
- }
33
- const guard = go(ast);
34
- guardMemoMap.set(ast, guard);
35
- return guard;
31
+ const memo = guardMemoMap.get(ast);
32
+ if (memo) return memo;
33
+ const guard = go(ast);
34
+ guardMemoMap.set(ast, guard);
35
+ return guard;
36
36
  }
37
37
  function go(ast) {
38
- void 0;
39
- switch (ast._tag) {
40
- case 0 /* ASTTag.Declaration */:
41
- {
42
- const parser = parserFor(ast, true);
43
- return tsplus_module_1.makeGuard(inp => tsplus_module_2.match(() => false, () => true)(parser(inp)));
44
- }
45
- case 1 /* ASTTag.Literal */:
46
- {
47
- return tsplus_module_1.makeGuard(inp => inp === ast.literal);
48
- }
49
- case 2 /* ASTTag.UniqueSymbol */:
50
- {
51
- return guardStrict(ast.symbol);
52
- }
53
- case 4 /* ASTTag.VoidKeyword */:
54
- case 3 /* ASTTag.UndefinedKeyword */:
55
- {
56
- return guardStrict(undefined);
57
- }
58
- case 5 /* ASTTag.NeverKeyword */:
59
- {
60
- return tsplus_module_1.makeGuard(inp => false);
61
- }
62
- case 6 /* ASTTag.UnknownKeyword */:
63
- case 7 /* ASTTag.AnyKeyword */:
64
- {
65
- return tsplus_module_1.makeGuard(inp => true);
66
- }
67
- case 9 /* ASTTag.NumberKeyword */:
68
- {
69
- return tsplus_module_3.Guard;
70
- }
71
- case 10 /* ASTTag.BooleanKeyword */:
72
- {
73
- return tsplus_module_4.Guard;
74
- }
75
- case 8 /* ASTTag.StringKeyword */:
76
- {
77
- return tsplus_module_5.string;
78
- }
79
- case 11 /* ASTTag.BigIntKeyword */:
80
- {
81
- return tsplus_module_6.Guard;
82
- }
83
- case 12 /* ASTTag.SymbolKeyword */:
84
- {
85
- return tsplus_module_1.makeGuard(inp => typeof inp === "symbol");
86
- }
87
- case 13 /* ASTTag.ObjectKeyword */:
88
- {
89
- return tsplus_module_1.makeGuard(tsplus_module_7.isObject);
90
- }
91
- case 15 /* ASTTag.TemplateLiteral */:
92
- {
93
- const parser = parserFor(ast, true);
94
- return tsplus_module_1.makeGuard(inp => tsplus_module_2.match(() => false, () => true)(parser(inp)));
95
- }
96
- case 16 /* ASTTag.Tuple */:
97
- {
98
- const elements = tsplus_module_8.map(element => goMemo(element.type))(ast.elements);
99
- const restElements = tsplus_module_9.match(() => tsplus_module_8.empty(), rest => tsplus_module_8.map(goMemo)(rest))(ast.rest);
100
- return tsplus_module_1.makeGuard(input => {
101
- if (!Array.isArray(input)) {
102
- return false;
103
- }
104
- let i = 0;
105
- for (; i < elements.length; i++) {
106
- if (input.length < i + 1) {
107
- if (!tsplus_module_8.unsafeGet(i)(ast.elements).isOptional) {
108
- return false;
109
- }
110
- } else {
111
- const guard = tsplus_module_8.unsafeGet(i)(elements);
112
- if (!guard.is(input[i])) {
113
- return false;
114
- }
115
- }
116
- }
117
- if (restElements.length > 0) {
118
- const head = tsplus_module_8.unsafeHead(restElements);
119
- const tail = tsplus_module_8.tail(restElements);
120
- for (; i < input.length - tail.length; i++) {
121
- if (!head.is(input[i])) {
122
- return false;
123
- }
124
- }
125
- for (let j = 0; j < tail.length; j++) {
126
- i += j;
127
- if (input.length < i + 1) {
128
- return false;
129
- }
130
- const guard = tsplus_module_8.unsafeGet(j)(tail);
131
- if (!guard.is(input[i])) {
132
- return false;
133
- }
134
- }
135
- }
136
- return true;
137
- });
138
- }
139
- case 17 /* ASTTag.TypeLiteral */:
140
- {
141
- if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
142
- return tsplus_module_1.makeGuard(input => input !== null);
143
- }
144
- const propertySignatureTypes = tsplus_module_8.map(ps => goMemo(ps.type))(ast.propertySignatures);
145
- const indexSignatures = tsplus_module_8.map(is => [goMemo(is.parameter), goMemo(is.type)])(ast.indexSignatures);
146
- return tsplus_module_1.makeGuard(input => {
147
- if (!isRecord(input)) {
148
- return false;
149
- }
150
- const expectedKeys = {};
151
- console.log(ast.propertySignatures);
152
- for (let i = 0; i < propertySignatureTypes.length; i++) {
153
- const ps = tsplus_module_8.unsafeGet(i)(ast.propertySignatures);
154
- const guard = tsplus_module_8.unsafeGet(i)(propertySignatureTypes);
155
- const name = ps.name;
156
- expectedKeys[name] = null;
157
- if (!Object.prototype.hasOwnProperty.call(input, name)) {
158
- if (!ps.isOptional) {
159
- return false;
160
- }
161
- } else {
162
- if (!tsplus_module_5.is(input[name])(guard)) {
163
- return false;
164
- }
165
- }
166
- }
167
- if (indexSignatures.length > 0) {
168
- for (let i = 0; i < indexSignatures.length; i++) {
169
- const [parameter, type] = tsplus_module_8.unsafeGet(i)(indexSignatures);
170
- const keys = getKeysForIndexSignature(input, tsplus_module_8.unsafeGet(i)(ast.indexSignatures).parameter);
171
- for (const key of keys) {
172
- if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) {
173
- continue;
174
- }
175
- if (!tsplus_module_5.is(key)(parameter)) {
176
- return false;
177
- }
178
- if (!tsplus_module_5.is(input[key])(type)) {
179
- return false;
180
- }
181
- }
182
- }
183
- }
184
- return true;
185
- });
186
- }
187
- case 18 /* ASTTag.Union */:
188
- {
189
- const searchTree = getSearchTree(ast.types, true);
190
- const ownKeys = Reflect.ownKeys(searchTree.keys);
191
- const len = ownKeys.length;
192
- const otherwise = searchTree.otherwise;
193
- const map = new Map();
194
- tsplus_module_8.forEach(ast => {
195
- map.set(ast, goMemo(ast));
196
- })(ast.types);
197
- return tsplus_module_1.makeGuard(input => {
198
- if (len > 0) {
199
- if (isRecord(input)) {
200
- for (let i = 0; i < len; i++) {
201
- const name = ownKeys[i];
202
- const buckets = searchTree.keys[name].buckets;
203
- if (Object.prototype.hasOwnProperty.call(input, name)) {
204
- const literal = String(input[name]);
205
- if (Object.prototype.hasOwnProperty.call(buckets, literal)) {
206
- const bucket = buckets[literal];
207
- for (let i = 0; i < bucket.length; i++) {
208
- if (tsplus_module_5.is(input)(map.get(bucket[i]))) {
209
- return true;
210
- }
211
- }
212
- }
213
- }
214
- }
215
- }
216
- }
217
- for (let i = 0; i < otherwise.length; i++) {
218
- if (tsplus_module_5.is(input)(map.get(otherwise[i]))) {
219
- return true;
220
- }
221
- }
222
- return false;
223
- });
224
- }
225
- case 19 /* ASTTag.Lazy */:
226
- {
227
- const f = () => goMemo(ast.getAST());
228
- const get = memoize(f);
229
- return tsplus_module_1.makeGuard(input => tsplus_module_5.is(input)(get()));
230
- }
231
- case 14 /* ASTTag.Enum */:
232
- {
233
- return tsplus_module_1.makeGuard(input => tsplus_module_8.some(([_, value]) => value === input)(ast.enums));
234
- }
235
- case 20 /* ASTTag.Refinement */:
236
- {
237
- const from = goMemo(ast.from);
238
- return tsplus_module_1.makeGuard(input => {
239
- if (!tsplus_module_5.is(input)(from)) {
240
- return false;
241
- }
242
- if (!ast.predicate(input)) {
243
- return false;
244
- }
245
- return true;
246
- });
247
- }
248
- case 21 /* ASTTag.Transform */:
249
- {
250
- return goMemo(ast.to);
251
- }
252
- case 22 /* ASTTag.Validation */:
253
- {
254
- const from = goMemo(ast.from);
255
- return tsplus_module_1.makeGuard(input => {
256
- if (!tsplus_module_5.is(input)(from)) {
257
- return false;
258
- }
259
- for (const validation of ast.validation) {
260
- if (!validation.validate(input)) {
261
- return false;
262
- }
263
- }
264
- return true;
265
- });
266
- }
267
- }
38
+ switch (ast._tag) {
39
+ case 0: {
40
+ const parser = parserFor(ast, true);
41
+ return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));
42
+ }
43
+ case 1: return tsplus_module_1.makeGuard((inp) => inp === ast.literal);
44
+ case 2: return guardStrict(ast.symbol);
45
+ case 4:
46
+ case 3: return guardStrict(void 0);
47
+ case 5: return tsplus_module_1.makeGuard((inp) => false);
48
+ case 6:
49
+ case 7: return tsplus_module_1.makeGuard((inp) => true);
50
+ case 9: return tsplus_module_3.Guard;
51
+ case 10: return tsplus_module_4.Guard;
52
+ case 8: return tsplus_module_5.string;
53
+ case 11: return tsplus_module_6.Guard;
54
+ case 12: return tsplus_module_1.makeGuard((inp) => typeof inp === "symbol");
55
+ case 13: return tsplus_module_1.makeGuard(tsplus_module_7.isObject);
56
+ case 15: {
57
+ const parser = parserFor(ast, true);
58
+ return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));
59
+ }
60
+ case 16: {
61
+ const elements = tsplus_module_8.map((element) => goMemo(element.type))(ast.elements);
62
+ const restElements = tsplus_module_9.match(() => tsplus_module_8.empty(), (rest) => tsplus_module_8.map(goMemo)(rest))(ast.rest);
63
+ return tsplus_module_1.makeGuard((input) => {
64
+ if (!Array.isArray(input)) return false;
65
+ let i = 0;
66
+ for (; i < elements.length; i++) if (input.length < i + 1) {
67
+ if (!tsplus_module_8.unsafeGet(i)(ast.elements).isOptional) return false;
68
+ } else if (!tsplus_module_8.unsafeGet(i)(elements).is(input[i])) return false;
69
+ if (restElements.length > 0) {
70
+ const head = tsplus_module_8.unsafeHead(restElements);
71
+ const tail = tsplus_module_8.tail(restElements);
72
+ for (; i < input.length - tail.length; i++) if (!head.is(input[i])) return false;
73
+ for (let j = 0; j < tail.length; j++) {
74
+ i += j;
75
+ if (input.length < i + 1) return false;
76
+ if (!tsplus_module_8.unsafeGet(j)(tail).is(input[i])) return false;
77
+ }
78
+ }
79
+ return true;
80
+ });
81
+ }
82
+ case 17: {
83
+ if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) return tsplus_module_1.makeGuard((input) => input !== null);
84
+ const propertySignatureTypes = tsplus_module_8.map((ps) => goMemo(ps.type))(ast.propertySignatures);
85
+ const indexSignatures = tsplus_module_8.map((is) => [goMemo(is.parameter), goMemo(is.type)])(ast.indexSignatures);
86
+ return tsplus_module_1.makeGuard((input) => {
87
+ if (!isRecord(input)) return false;
88
+ const expectedKeys = {};
89
+ console.log(ast.propertySignatures);
90
+ for (let i = 0; i < propertySignatureTypes.length; i++) {
91
+ const ps = tsplus_module_8.unsafeGet(i)(ast.propertySignatures);
92
+ const guard = tsplus_module_8.unsafeGet(i)(propertySignatureTypes);
93
+ const name = ps.name;
94
+ expectedKeys[name] = null;
95
+ if (!Object.prototype.hasOwnProperty.call(input, name)) {
96
+ if (!ps.isOptional) return false;
97
+ } else if (!tsplus_module_5.is(input[name])(guard)) return false;
98
+ }
99
+ if (indexSignatures.length > 0) for (let i = 0; i < indexSignatures.length; i++) {
100
+ const [parameter, type] = tsplus_module_8.unsafeGet(i)(indexSignatures);
101
+ const keys = getKeysForIndexSignature(input, tsplus_module_8.unsafeGet(i)(ast.indexSignatures).parameter);
102
+ for (const key of keys) {
103
+ if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) continue;
104
+ if (!tsplus_module_5.is(key)(parameter)) return false;
105
+ if (!tsplus_module_5.is(input[key])(type)) return false;
106
+ }
107
+ }
108
+ return true;
109
+ });
110
+ }
111
+ case 18: {
112
+ const searchTree = getSearchTree(ast.types, true);
113
+ const ownKeys = Reflect.ownKeys(searchTree.keys);
114
+ const len = ownKeys.length;
115
+ const otherwise = searchTree.otherwise;
116
+ const map = /* @__PURE__ */ new Map();
117
+ tsplus_module_8.forEach((ast) => {
118
+ map.set(ast, goMemo(ast));
119
+ })(ast.types);
120
+ return tsplus_module_1.makeGuard((input) => {
121
+ if (len > 0) {
122
+ if (isRecord(input)) for (let i = 0; i < len; i++) {
123
+ const name = ownKeys[i];
124
+ const buckets = searchTree.keys[name].buckets;
125
+ if (Object.prototype.hasOwnProperty.call(input, name)) {
126
+ const literal = String(input[name]);
127
+ if (Object.prototype.hasOwnProperty.call(buckets, literal)) {
128
+ const bucket = buckets[literal];
129
+ for (let i = 0; i < bucket.length; i++) if (tsplus_module_5.is(input)(map.get(bucket[i]))) return true;
130
+ }
131
+ }
132
+ }
133
+ }
134
+ for (let i = 0; i < otherwise.length; i++) if (tsplus_module_5.is(input)(map.get(otherwise[i]))) return true;
135
+ return false;
136
+ });
137
+ }
138
+ case 19: {
139
+ const f = () => goMemo(ast.getAST());
140
+ const get = memoize(f);
141
+ return tsplus_module_1.makeGuard((input) => tsplus_module_5.is(input)(get()));
142
+ }
143
+ case 14: return tsplus_module_1.makeGuard((input) => tsplus_module_8.some(([_, value]) => value === input)(ast.enums));
144
+ case 20: {
145
+ const from = goMemo(ast.from);
146
+ return tsplus_module_1.makeGuard((input) => {
147
+ if (!tsplus_module_5.is(input)(from)) return false;
148
+ if (!ast.predicate(input)) return false;
149
+ return true;
150
+ });
151
+ }
152
+ case 21: return goMemo(ast.to);
153
+ case 22: {
154
+ const from = goMemo(ast.from);
155
+ return tsplus_module_1.makeGuard((input) => {
156
+ if (!tsplus_module_5.is(input)(from)) return false;
157
+ for (const validation of ast.validation) if (!validation.validate(input)) return false;
158
+ return true;
159
+ });
160
+ }
161
+ }
268
162
  }
163
+ //#endregion
164
+ export { guardFor, is };
165
+
269
166
  //# sourceMappingURL=Guard.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Guard.mjs","names":["globalValue","isRecord","getKeysForIndexSignature","memoize","getSearchTree","parserFor","is","schema","input","guardFor","goMemo","ast","guardStrict","value","tsplus_module_1","makeGuard","inp","guardMemoMap","Symbol","for","WeakMap","memo","get","guard","go","set","_tag","parser","tsplus_module_2","match","literal","symbol","undefined","tsplus_module_3","Guard","tsplus_module_4","tsplus_module_5","string","tsplus_module_6","tsplus_module_7","isObject","elements","tsplus_module_8","map","element","type","restElements","tsplus_module_9","empty","rest","Array","isArray","i","length","unsafeGet","isOptional","head","unsafeHead","tail","j","propertySignatures","indexSignatures","propertySignatureTypes","ps","parameter","expectedKeys","console","log","name","Object","prototype","hasOwnProperty","call","keys","key","searchTree","types","ownKeys","Reflect","len","otherwise","Map","forEach","buckets","String","bucket","f","getAST","some","_","enums","from","predicate","to","validation","validate"],"sources":["../_src/Guard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Guard.mjs","names":[],"sources":["../esm/Guard.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/data/Guard/definition\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Either/destructors\";\nimport * as tsplus_module_3 from \"@fncts/base/data/number/instances\";\nimport * as tsplus_module_4 from \"@fncts/base/data/boolean/instances\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Guard/api\";\nimport * as tsplus_module_6 from \"@fncts/base/data/bigint/instances\";\nimport * as tsplus_module_7 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_8 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Maybe/destructors\";\nimport { globalValue } from \"@fncts/base/data/Global\";\nimport { isRecord } from \"@fncts/base/util/predicates\";\nimport { getKeysForIndexSignature, memoize } from \"@fncts/schema/utils\";\nimport { getSearchTree } from \"./AST.js\";\nimport { parserFor } from \"./Parser.js\";\n/**\n * @tsplus getter fncts.schema.Schema is\n */\nexport function is(schema) {\n return (input) => {\n return guardFor(schema).is(input);\n };\n}\nexport function guardFor(schema) {\n return goMemo(schema.ast);\n}\nconst guardStrict = (value) => tsplus_module_1.makeGuard((inp) => inp === value);\nconst guardMemoMap = globalValue(Symbol.for(\"fncts.schema.Guard.guardMemoMap\"), () => new WeakMap());\nfunction goMemo(ast) {\n const memo = guardMemoMap.get(ast);\n if (memo) {\n return memo;\n }\n const guard = go(ast);\n guardMemoMap.set(ast, guard);\n return guard;\n}\nfunction go(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */: {\n const parser = parserFor(ast, true);\n return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));\n }\n case 1 /* ASTTag.Literal */: {\n return tsplus_module_1.makeGuard((inp) => inp === ast.literal);\n }\n case 2 /* ASTTag.UniqueSymbol */: {\n return guardStrict(ast.symbol);\n }\n case 4 /* ASTTag.VoidKeyword */:\n case 3 /* ASTTag.UndefinedKeyword */: {\n return guardStrict(undefined);\n }\n case 5 /* ASTTag.NeverKeyword */: {\n return tsplus_module_1.makeGuard((inp) => false);\n }\n case 6 /* ASTTag.UnknownKeyword */:\n case 7 /* ASTTag.AnyKeyword */: {\n return tsplus_module_1.makeGuard((inp) => true);\n }\n case 9 /* ASTTag.NumberKeyword */: {\n return tsplus_module_3.Guard;\n }\n case 10 /* ASTTag.BooleanKeyword */: {\n return tsplus_module_4.Guard;\n }\n case 8 /* ASTTag.StringKeyword */: {\n return tsplus_module_5.string;\n }\n case 11 /* ASTTag.BigIntKeyword */: {\n return tsplus_module_6.Guard;\n }\n case 12 /* ASTTag.SymbolKeyword */: {\n return tsplus_module_1.makeGuard((inp) => typeof inp === \"symbol\");\n }\n case 13 /* ASTTag.ObjectKeyword */: {\n return tsplus_module_1.makeGuard(tsplus_module_7.isObject);\n }\n case 15 /* ASTTag.TemplateLiteral */: {\n const parser = parserFor(ast, true);\n return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));\n }\n case 16 /* ASTTag.Tuple */: {\n const elements = tsplus_module_8.map((element) => goMemo(element.type))(ast.elements);\n const restElements = tsplus_module_9.match(() => tsplus_module_8.empty(), (rest) => tsplus_module_8.map(goMemo)(rest))(ast.rest);\n return tsplus_module_1.makeGuard((input) => {\n if (!Array.isArray(input)) {\n return false;\n }\n let i = 0;\n for (; i < elements.length; i++) {\n if (input.length < i + 1) {\n if (!tsplus_module_8.unsafeGet(i)(ast.elements).isOptional) {\n return false;\n }\n }\n else {\n const guard = tsplus_module_8.unsafeGet(i)(elements);\n if (!guard.is(input[i])) {\n return false;\n }\n }\n }\n if (restElements.length > 0) {\n const head = tsplus_module_8.unsafeHead(restElements);\n const tail = tsplus_module_8.tail(restElements);\n for (; i < input.length - tail.length; i++) {\n if (!head.is(input[i])) {\n return false;\n }\n }\n for (let j = 0; j < tail.length; j++) {\n i += j;\n if (input.length < i + 1) {\n return false;\n }\n const guard = tsplus_module_8.unsafeGet(j)(tail);\n if (!guard.is(input[i])) {\n return false;\n }\n }\n }\n return true;\n });\n }\n case 17 /* ASTTag.TypeLiteral */: {\n if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {\n return tsplus_module_1.makeGuard((input) => input !== null);\n }\n const propertySignatureTypes = tsplus_module_8.map((ps) => goMemo(ps.type))(ast.propertySignatures);\n const indexSignatures = tsplus_module_8.map((is) => [goMemo(is.parameter), goMemo(is.type)])(ast.indexSignatures);\n return tsplus_module_1.makeGuard((input) => {\n if (!isRecord(input)) {\n return false;\n }\n const expectedKeys = {};\n console.log(ast.propertySignatures);\n for (let i = 0; i < propertySignatureTypes.length; i++) {\n const ps = tsplus_module_8.unsafeGet(i)(ast.propertySignatures);\n const guard = tsplus_module_8.unsafeGet(i)(propertySignatureTypes);\n const name = ps.name;\n expectedKeys[name] = null;\n if (!Object.prototype.hasOwnProperty.call(input, name)) {\n if (!ps.isOptional) {\n return false;\n }\n }\n else {\n if (!tsplus_module_5.is(input[name])(guard)) {\n return false;\n }\n }\n }\n if (indexSignatures.length > 0) {\n for (let i = 0; i < indexSignatures.length; i++) {\n const [parameter, type] = tsplus_module_8.unsafeGet(i)(indexSignatures);\n const keys = getKeysForIndexSignature(input, tsplus_module_8.unsafeGet(i)(ast.indexSignatures).parameter);\n for (const key of keys) {\n if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) {\n continue;\n }\n if (!tsplus_module_5.is(key)(parameter)) {\n return false;\n }\n if (!tsplus_module_5.is(input[key])(type)) {\n return false;\n }\n }\n }\n }\n return true;\n });\n }\n case 18 /* ASTTag.Union */: {\n const searchTree = getSearchTree(ast.types, true);\n const ownKeys = Reflect.ownKeys(searchTree.keys);\n const len = ownKeys.length;\n const otherwise = searchTree.otherwise;\n const map = new Map();\n tsplus_module_8.forEach((ast) => {\n map.set(ast, goMemo(ast));\n })(ast.types);\n return tsplus_module_1.makeGuard((input) => {\n if (len > 0) {\n if (isRecord(input)) {\n for (let i = 0; i < len; i++) {\n const name = ownKeys[i];\n const buckets = searchTree.keys[name].buckets;\n if (Object.prototype.hasOwnProperty.call(input, name)) {\n const literal = String(input[name]);\n if (Object.prototype.hasOwnProperty.call(buckets, literal)) {\n const bucket = buckets[literal];\n for (let i = 0; i < bucket.length; i++) {\n if (tsplus_module_5.is(input)(map.get(bucket[i]))) {\n return true;\n }\n }\n }\n }\n }\n }\n }\n for (let i = 0; i < otherwise.length; i++) {\n if (tsplus_module_5.is(input)(map.get(otherwise[i]))) {\n return true;\n }\n }\n return false;\n });\n }\n case 19 /* ASTTag.Lazy */: {\n const f = () => goMemo(ast.getAST());\n const get = memoize(f);\n return tsplus_module_1.makeGuard((input) => tsplus_module_5.is(input)(get()));\n }\n case 14 /* ASTTag.Enum */: {\n return tsplus_module_1.makeGuard((input) => tsplus_module_8.some(([_, value]) => value === input)(ast.enums));\n }\n case 20 /* ASTTag.Refinement */: {\n const from = goMemo(ast.from);\n return tsplus_module_1.makeGuard((input) => {\n if (!tsplus_module_5.is(input)(from)) {\n return false;\n }\n if (!ast.predicate(input)) {\n return false;\n }\n return true;\n });\n }\n case 21 /* ASTTag.Transform */: {\n return goMemo(ast.to);\n }\n case 22 /* ASTTag.Validation */: {\n const from = goMemo(ast.from);\n return tsplus_module_1.makeGuard((input) => {\n if (!tsplus_module_5.is(input)(from)) {\n return false;\n }\n for (const validation of ast.validation) {\n if (!validation.validate(input)) {\n return false;\n }\n }\n return true;\n });\n }\n }\n}\n//# sourceMappingURL=Guard.js.map"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- var _a;
2
- export const InvalidInterpretationErrorTypeId = /*#__PURE__*/Symbol.for("fncts.schema.InvalidInterpretationError");
3
- export class InvalidInterpretationError extends Error {
4
- constructor() {
5
- super(...arguments);
6
- this[_a] = InvalidInterpretationErrorTypeId;
7
- }
8
- }
9
- _a = InvalidInterpretationErrorTypeId;
1
+ //#region build/esm/InvalidInterpretationError.js
2
+ const InvalidInterpretationErrorTypeId = Symbol.for("fncts.schema.InvalidInterpretationError");
3
+ var InvalidInterpretationError = class extends Error {
4
+ [InvalidInterpretationErrorTypeId] = InvalidInterpretationErrorTypeId;
5
+ };
6
+ //#endregion
7
+ export { InvalidInterpretationError, InvalidInterpretationErrorTypeId };
8
+
10
9
  //# sourceMappingURL=InvalidInterpretationError.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"InvalidInterpretationError.mjs","names":["InvalidInterpretationErrorTypeId","Symbol","for","InvalidInterpretationError","Error","constructor","_a"],"sources":["../_src/InvalidInterpretationError.ts"],"sourcesContent":[null],"mappings":";AAAA,OAAO,MAAMA,gCAAgC,gBAAGC,MAAM,CAACC,GAAG,CAAC,yCAAyC,CAAC;AAGrG,OAAM,MAAOC,0BAA2B,SAAQC,KAAK;EAArDC,YAAA;;IACW,KAAAC,EAAA,CAAkC,GAAqCN,gCAAgC;EAClH;;KADYA,gCAAgC","ignoreList":[]}
1
+ {"version":3,"file":"InvalidInterpretationError.mjs","names":[],"sources":["../esm/InvalidInterpretationError.js"],"sourcesContent":["export const InvalidInterpretationErrorTypeId = Symbol.for(\"fncts.schema.InvalidInterpretationError\");\nexport class InvalidInterpretationError extends Error {\n [InvalidInterpretationErrorTypeId] = InvalidInterpretationErrorTypeId;\n}\n//# sourceMappingURL=InvalidInterpretationError.js.map"],"mappings":";AAAA,MAAa,mCAAmC,OAAO,IAAI,0CAA0C;AACrG,IAAa,6BAAb,cAAgD,MAAM;CAClD,CAAC,oCAAoC"}