@fncts/schema 0.0.5 → 0.0.7

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 (157) hide show
  1. package/AST.d.ts +528 -0
  2. package/ASTAnnotation.d.ts +82 -0
  3. package/ASTAnnotationMap.d.ts +14 -0
  4. package/Gen.d.ts +15 -0
  5. package/InvalidInterpretationError.d.ts +5 -0
  6. package/ParseError.d.ts +107 -0
  7. package/ParseResult.d.ts +24 -0
  8. package/Parser/api.d.ts +42 -0
  9. package/Parser/definition.d.ts +22 -0
  10. package/Parser/interpreter.d.ts +6 -0
  11. package/Parser.d.ts +3 -0
  12. package/Schema/api/conc.d.ts +18 -0
  13. package/Schema/api/either.d.ts +19 -0
  14. package/Schema/api/hashMap.d.ts +21 -0
  15. package/Schema/api/immutableArray.d.ts +23 -0
  16. package/Schema/api/list.d.ts +23 -0
  17. package/Schema/api/maybe.d.ts +21 -0
  18. package/Schema/api.d.ts +243 -0
  19. package/Schema/definition.d.ts +29 -0
  20. package/Schema/derivations.d.ts +70 -0
  21. package/Schema.d.ts +9 -144
  22. package/_cjs/AST.cjs +1172 -0
  23. package/_cjs/AST.cjs.map +1 -0
  24. package/_cjs/ASTAnnotation.cjs +111 -0
  25. package/_cjs/ASTAnnotation.cjs.map +1 -0
  26. package/_cjs/ASTAnnotationMap.cjs +35 -0
  27. package/_cjs/ASTAnnotationMap.cjs.map +1 -0
  28. package/_cjs/Gen.cjs +182 -0
  29. package/_cjs/Gen.cjs.map +1 -0
  30. package/_cjs/InvalidInterpretationError.cjs +18 -0
  31. package/_cjs/InvalidInterpretationError.cjs.map +1 -0
  32. package/_cjs/ParseError.cjs +223 -0
  33. package/_cjs/ParseError.cjs.map +1 -0
  34. package/_cjs/{Decoder.cjs → ParseResult.cjs} +25 -22
  35. package/_cjs/ParseResult.cjs.map +1 -0
  36. package/_cjs/Parser/api.cjs +80 -0
  37. package/_cjs/Parser/api.cjs.map +1 -0
  38. package/_cjs/{Guard.cjs → Parser/definition.cjs} +17 -22
  39. package/_cjs/Parser/definition.cjs.map +1 -0
  40. package/_cjs/Parser/interpreter.cjs +410 -0
  41. package/_cjs/Parser/interpreter.cjs.map +1 -0
  42. package/_cjs/Parser.cjs +39 -0
  43. package/_cjs/Parser.cjs.map +1 -0
  44. package/_cjs/Schema/api/conc.cjs +84 -0
  45. package/_cjs/Schema/api/conc.cjs.map +1 -0
  46. package/_cjs/Schema/api/either.cjs +96 -0
  47. package/_cjs/Schema/api/either.cjs.map +1 -0
  48. package/_cjs/Schema/api/hashMap.cjs +161 -0
  49. package/_cjs/Schema/api/hashMap.cjs.map +1 -0
  50. package/_cjs/Schema/api/immutableArray.cjs +90 -0
  51. package/_cjs/Schema/api/immutableArray.cjs.map +1 -0
  52. package/_cjs/Schema/api/list.cjs +98 -0
  53. package/_cjs/Schema/api/list.cjs.map +1 -0
  54. package/_cjs/Schema/api/maybe.cjs +76 -0
  55. package/_cjs/Schema/api/maybe.cjs.map +1 -0
  56. package/_cjs/Schema/api.cjs +425 -0
  57. package/_cjs/Schema/api.cjs.map +1 -0
  58. package/_cjs/Schema/definition.cjs +26 -0
  59. package/_cjs/Schema/definition.cjs.map +1 -0
  60. package/_cjs/Schema/derivations.cjs +108 -0
  61. package/_cjs/Schema/derivations.cjs.map +1 -0
  62. package/_cjs/Schema.cjs +97 -237
  63. package/_cjs/Schema.cjs.map +1 -1
  64. package/_cjs/utils.cjs +52 -0
  65. package/_cjs/utils.cjs.map +1 -0
  66. package/_mjs/AST.mjs +1061 -0
  67. package/_mjs/AST.mjs.map +1 -0
  68. package/_mjs/ASTAnnotation.mjs +80 -0
  69. package/_mjs/ASTAnnotation.mjs.map +1 -0
  70. package/_mjs/ASTAnnotationMap.mjs +27 -0
  71. package/_mjs/ASTAnnotationMap.mjs.map +1 -0
  72. package/_mjs/Gen.mjs +173 -0
  73. package/_mjs/Gen.mjs.map +1 -0
  74. package/_mjs/InvalidInterpretationError.mjs +10 -0
  75. package/_mjs/InvalidInterpretationError.mjs.map +1 -0
  76. package/_mjs/ParseError.mjs +201 -0
  77. package/_mjs/ParseError.mjs.map +1 -0
  78. package/_mjs/ParseResult.mjs +22 -0
  79. package/_mjs/ParseResult.mjs.map +1 -0
  80. package/_mjs/Parser/api.mjs +67 -0
  81. package/_mjs/Parser/api.mjs.map +1 -0
  82. package/_mjs/Parser/definition.mjs +15 -0
  83. package/_mjs/Parser/definition.mjs.map +1 -0
  84. package/_mjs/Parser/interpreter.mjs +402 -0
  85. package/_mjs/Parser/interpreter.mjs.map +1 -0
  86. package/_mjs/Parser.mjs +5 -0
  87. package/_mjs/Parser.mjs.map +1 -0
  88. package/_mjs/Schema/api/conc.mjs +72 -0
  89. package/_mjs/Schema/api/conc.mjs.map +1 -0
  90. package/_mjs/Schema/api/either.mjs +85 -0
  91. package/_mjs/Schema/api/either.mjs.map +1 -0
  92. package/_mjs/Schema/api/hashMap.mjs +150 -0
  93. package/_mjs/Schema/api/hashMap.mjs.map +1 -0
  94. package/_mjs/Schema/api/immutableArray.mjs +79 -0
  95. package/_mjs/Schema/api/immutableArray.mjs.map +1 -0
  96. package/_mjs/Schema/api/list.mjs +87 -0
  97. package/_mjs/Schema/api/list.mjs.map +1 -0
  98. package/_mjs/Schema/api/maybe.mjs +65 -0
  99. package/_mjs/Schema/api/maybe.mjs.map +1 -0
  100. package/_mjs/Schema/api.mjs +368 -0
  101. package/_mjs/Schema/api.mjs.map +1 -0
  102. package/_mjs/Schema/definition.mjs +16 -0
  103. package/_mjs/Schema/definition.mjs.map +1 -0
  104. package/_mjs/Schema/derivations.mjs +94 -0
  105. package/_mjs/Schema/derivations.mjs.map +1 -0
  106. package/_mjs/Schema.mjs +12 -212
  107. package/_mjs/Schema.mjs.map +1 -1
  108. package/_mjs/utils.mjs +41 -0
  109. package/_mjs/utils.mjs.map +1 -0
  110. package/_src/AST.ts +1353 -0
  111. package/_src/ASTAnnotation.ts +98 -0
  112. package/_src/ASTAnnotationMap.ts +38 -0
  113. package/_src/Gen.ts +168 -0
  114. package/_src/InvalidInterpretationError.ts +6 -0
  115. package/_src/ParseError.ts +237 -0
  116. package/_src/ParseResult.ts +26 -0
  117. package/_src/Parser/api.ts +71 -0
  118. package/_src/Parser/definition.ts +24 -0
  119. package/_src/Parser/interpreter.ts +442 -0
  120. package/_src/Parser.ts +5 -0
  121. package/_src/Schema/api/conc.ts +78 -0
  122. package/_src/Schema/api/either.ts +96 -0
  123. package/_src/Schema/api/hashMap.ts +184 -0
  124. package/_src/Schema/api/immutableArray.ts +88 -0
  125. package/_src/Schema/api/list.ts +96 -0
  126. package/_src/Schema/api/maybe.ts +68 -0
  127. package/_src/Schema/api.ts +530 -0
  128. package/_src/Schema/definition.ts +32 -0
  129. package/_src/Schema/derivations.ts +185 -0
  130. package/_src/Schema.ts +14 -254
  131. package/_src/global.ts +53 -0
  132. package/_src/utils.ts +48 -0
  133. package/global.d.ts +52 -0
  134. package/package.json +2 -2
  135. package/utils.d.ts +8 -0
  136. package/Decoder.d.ts +0 -3
  137. package/Encoder.d.ts +0 -4
  138. package/Guard.d.ts +0 -3
  139. package/Schemable.d.ts +0 -39
  140. package/_cjs/Decoder.cjs.map +0 -1
  141. package/_cjs/Encoder.cjs +0 -45
  142. package/_cjs/Encoder.cjs.map +0 -1
  143. package/_cjs/Guard.cjs.map +0 -1
  144. package/_cjs/Schemable.cjs +0 -6
  145. package/_cjs/Schemable.cjs.map +0 -1
  146. package/_mjs/Decoder.mjs +0 -20
  147. package/_mjs/Decoder.mjs.map +0 -1
  148. package/_mjs/Encoder.mjs +0 -36
  149. package/_mjs/Encoder.mjs.map +0 -1
  150. package/_mjs/Guard.mjs +0 -20
  151. package/_mjs/Guard.mjs.map +0 -1
  152. package/_mjs/Schemable.mjs +0 -2
  153. package/_mjs/Schemable.mjs.map +0 -1
  154. package/_src/Decoder.ts +0 -20
  155. package/_src/Encoder.ts +0 -38
  156. package/_src/Guard.ts +0 -20
  157. package/_src/Schemable.ts +0 -46
@@ -0,0 +1,67 @@
1
+ import * as tsplus_module_1 from "@fncts/schema/AST";
2
+ import * as tsplus_module_2 from "@fncts/base/data/Either/api";
3
+ import * as tsplus_module_3 from "@fncts/schema/ParseError";
4
+ import * as tsplus_module_4 from "@fncts/base/data/function/api";
5
+ import * as tsplus_module_5 from "@fncts/base/data/Either/destructors";
6
+ import { parserFor } from "./interpreter.mjs";
7
+ /**
8
+ * @tsplus getter fncts.schema.Schema decode
9
+ * @tsplus getter fncts.schema.Parser decode
10
+ */
11
+ export function decode(schema) {
12
+ return parserFor(schema.ast);
13
+ }
14
+ /**
15
+ * @tsplus getter fncts.schema.Schema decodeMaybe
16
+ * @tsplus getter fncts.schema.Parser decodeMaybe
17
+ */
18
+ export function decodeMaybe(schema) {
19
+ return parseMaybe(tsplus_module_1.getTo(schema.ast));
20
+ }
21
+ /**
22
+ * @tsplus getter fncts.schema.Schema encode
23
+ * @tsplus getter fncts.schema.Parser encode
24
+ */
25
+ export function encode(schema) {
26
+ return parserFor(tsplus_module_1.reverse(schema.ast));
27
+ }
28
+ /**
29
+ * @tsplus getter fncts.schema.Schema encodeMaybe
30
+ * @tsplus getter fncts.schema.Parser encodeMaybe
31
+ */
32
+ export function encodeMaybe(schema) {
33
+ return parseMaybe(tsplus_module_1.reverse(schema.ast));
34
+ }
35
+ /**
36
+ * @tsplus getter fncts.schema.Schema is
37
+ * @tsplus getter fncts.schema.Parser is
38
+ */
39
+ export function is(schema) {
40
+ return (input, options) => {
41
+ return tsplus_module_2.isRight(parserFor(schema.ast)(input, options));
42
+ };
43
+ }
44
+ function parseMaybe(ast) {
45
+ const parse = parserFor(ast);
46
+ return (input, options) => {
47
+ return tsplus_module_2.toMaybe(parse(input, options));
48
+ };
49
+ }
50
+ function parseOrThrow(ast) {
51
+ const parser = parserFor(ast);
52
+ return (input, options) => {
53
+ return tsplus_module_5.match(errors => {
54
+ throw new Error(tsplus_module_3.format(errors));
55
+ }, tsplus_module_4.identity)(parser(input, options));
56
+ };
57
+ }
58
+ /**
59
+ * @tsplus getter fncts.schema.Schema asserts
60
+ * @tsplus getter fncts.schema.Parser asserts
61
+ */
62
+ export function asserts(schema) {
63
+ return (input, options) => {
64
+ parseOrThrow(tsplus_module_1.getTo(schema.ast))(input, options);
65
+ };
66
+ }
67
+ //# sourceMappingURL=api.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.mjs","mappings":";;;;;AAEA,SAASA,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAM,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC;AAC9B;AAEA;;;;AAIA,OAAM,SAAUC,WAAW,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,uBAACH,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,OAAM,SAAUG,MAAM,CAAIJ,MAAiB;EACzC,OAAOF,SAAS,yBAACE,MAAM,CAACC,GAAG,EAAS;AACtC;AAEA;;;;AAIA,OAAM,SAAUI,WAAW,CAAIL,MAAiB;EAC9C,OAAOG,UAAU,yBAACH,MAAM,CAACC,GAAG,EAAS;AACvC;AAEA;;;;AAIA,OAAM,SAAUK,EAAE,CAAIN,MAAiB;EACrC,OAAO,CAACO,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAOC,iCAAS,CAACT,MAAM,CAACC,GAAG,CAAC,CAACM,KAAK,EAAEC,OAAO,CAAC,CAAU;EACxD,CAAC;AACH;AAEA,SAASL,UAAU,CAACF,GAAQ;EAC1B,MAAMS,KAAK,GAAGZ,SAAS,CAACG,GAAG,CAAC;EAC5B,OAAO,CAACM,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,+BAAOE,KAAK,CAACH,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASG,YAAY,CAACV,GAAQ;EAC5B,MAAMW,MAAM,GAAGd,SAAS,CAACG,GAAG,CAAC;EAC7B,OAAO,CAACM,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOK,sBAA8BC,MAAM,IAAI;MAC7C,MAAM,IAAIC,KAAK,CAACC,uBAAkBF,MAAM,CAAC,CAAC;IAC5C,CAAC,4BAFMF,MAAM,CAACL,KAAK,EAAEC,OAAO,CAAC,CAER;EACvB,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUS,OAAO,CAAIjB,MAAiB;EAC1C,OAAO,CAACO,KAAc,EAAEC,OAAsB,KAAwB;IACpEG,YAAY,uBAACX,MAAM,CAACC,GAAG,EAAO,CAACM,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH","names":["parserFor","decode","schema","ast","decodeMaybe","parseMaybe","encode","encodeMaybe","is","input","options","tsplus_module_2","parse","parseOrThrow","parser","tsplus_module_5","errors","Error","tsplus_module_3","asserts"],"sourceRoot":"","sources":["../../_src/Parser/api.ts"],"sourcesContent":[null]}
@@ -0,0 +1,15 @@
1
+ import * as tsplus_module_1 from "@fncts/schema/ParseResult";
2
+ import * as tsplus_module_2 from "@fncts/schema/ParseError";
3
+ /**
4
+ * @tsplus static fncts.schema.ParserOps make
5
+ */
6
+ export function make(parse) {
7
+ return parse;
8
+ }
9
+ /**
10
+ * @tsplus static fncts.schema.ParserOps fromRefinement
11
+ */
12
+ export function fromRefinement(ast, refinement) {
13
+ return u => refinement(u) ? tsplus_module_1.succeed(u) : tsplus_module_1.fail(tsplus_module_2.typeError(ast, u));
14
+ }
15
+ //# sourceMappingURL=definition.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.mjs","mappings":";;AAWA;;;AAGA,OAAM,SAAUA,IAAI,CAAIC,KAAgB;EACtC,OAAOA,KAAK;AACd;AAEA;;;AAGA,OAAM,SAAUC,cAAc,CAAIC,GAAQ,EAAEC,UAAkC;EAC5E,OAAQC,CAAC,IAAMD,UAAU,CAACC,CAAC,CAAC,GAAGC,wBAAoBD,CAAC,CAAC,GAAGC,qBAAiBC,0BAAqBJ,GAAG,EAAEE,CAAC,CAAC,CAAE;AACzG","names":["make","parse","fromRefinement","ast","refinement","u","tsplus_module_1","tsplus_module_2"],"sourceRoot":"","sources":["../../_src/Parser/definition.ts"],"sourcesContent":[null]}
@@ -0,0 +1,402 @@
1
+ const fileName_1 = "(@fncts/schema) src/Parser/interpreter.ts";
2
+ import * as tsplus_module_1 from "@fncts/schema/Parser/definition";
3
+ import * as tsplus_module_2 from "@fncts/schema/ParseResult";
4
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
5
+ import * as tsplus_module_4 from "@fncts/base/data/Maybe/api";
6
+ import * as tsplus_module_5 from "@fncts/schema/ParseError";
7
+ import * as tsplus_module_6 from "@fncts/base/collection/immutable/Vector/internal";
8
+ import * as tsplus_module_7 from "@fncts/base/data/Either/api";
9
+ import * as tsplus_module_8 from "@fncts/base/data/Maybe/definition";
10
+ import * as tsplus_module_9 from "@fncts/schema/AST";
11
+ import * as tsplus_module_10 from "@fncts/base/data/Maybe/constructors";
12
+ import { isBigInt, isBoolean, isNumber, isObject, isRecord, isString, isSymbol, isUndefined } from "@fncts/base/util/predicates";
13
+ import { concrete } from "../AST.mjs";
14
+ import { getKeysForIndexSignature, getTemplateLiteralRegex, memoize, ownKeys } from "../utils.mjs";
15
+ const go = /*#__PURE__*/memoize(function go(ast) {
16
+ void 0;
17
+ switch (ast._tag) {
18
+ case 0 /* ASTTag.Declaration */:
19
+ return tsplus_module_1.make(ast.decode(...ast.typeParameters));
20
+ case 1 /* ASTTag.Literal */:
21
+ return tsplus_module_1.fromRefinement(ast, u => u === ast.literal);
22
+ case 2 /* ASTTag.UniqueSymbol */:
23
+ return tsplus_module_1.fromRefinement(ast, u => u === ast.symbol);
24
+ case 3 /* ASTTag.UndefinedKeyword */:
25
+ case 4 /* ASTTag.VoidKeyword */:
26
+ return tsplus_module_1.fromRefinement(ast, isUndefined);
27
+ case 5 /* ASTTag.NeverKeyword */:
28
+ return tsplus_module_1.fromRefinement(ast, _ => false);
29
+ case 6 /* ASTTag.UnknownKeyword */:
30
+ case 7 /* ASTTag.AnyKeyword */:
31
+ return tsplus_module_1.make(tsplus_module_2.succeed);
32
+ case 8 /* ASTTag.StringKeyword */:
33
+ return tsplus_module_1.fromRefinement(ast, isString);
34
+ case 9 /* ASTTag.NumberKeyword */:
35
+ return tsplus_module_1.fromRefinement(ast, isNumber);
36
+ case 10 /* ASTTag.BooleanKeyword */:
37
+ return tsplus_module_1.fromRefinement(ast, isBoolean);
38
+ case 11 /* ASTTag.BigIntKeyword */:
39
+ return tsplus_module_1.fromRefinement(ast, isBigInt);
40
+ case 12 /* ASTTag.SymbolKeyword */:
41
+ return tsplus_module_1.fromRefinement(ast, isSymbol);
42
+ case 13 /* ASTTag.ObjectKeyword */:
43
+ return tsplus_module_1.fromRefinement(ast, isObject);
44
+ case 14 /* ASTTag.Enum */:
45
+ return tsplus_module_1.fromRefinement(ast, u => tsplus_module_3.some(([_, value]) => value === u)(ast.enums));
46
+ case 15 /* ASTTag.TemplateLiteral */:
47
+ {
48
+ const regex = getTemplateLiteralRegex(ast);
49
+ return tsplus_module_1.fromRefinement(ast, u => isString(u) && regex.test(u));
50
+ }
51
+ case 16 /* ASTTag.Tuple */:
52
+ {
53
+ const elements = tsplus_module_3.map(e => go(e.type))(ast.elements);
54
+ const rest = tsplus_module_4.map(rest => tsplus_module_3.map(go)(rest))(ast.rest);
55
+ return tsplus_module_1.make((input, options) => {
56
+ if (!Array.isArray(input)) {
57
+ return tsplus_module_2.fail(tsplus_module_5.typeError(unknownArray, input));
58
+ }
59
+ const output = [];
60
+ const errors = tsplus_module_3.emptyPushable();
61
+ const allErrors = options?.allErrors;
62
+ let i = 0;
63
+ for (; i < elements.length; i++) {
64
+ if (input.length < i + i) {
65
+ if (!tsplus_module_3.unsafeGet(i)(ast.elements).isOptional) {
66
+ const e = tsplus_module_5.indexError(i, tsplus_module_3.vector(tsplus_module_5.missingError));
67
+ tsplus_module_6.push(e)(errors);
68
+ if (allErrors) {
69
+ continue;
70
+ } else {
71
+ return tsplus_module_2.failures(errors);
72
+ }
73
+ } else {
74
+ const parser = tsplus_module_3.unsafeGet(i)(elements);
75
+ const t = parser(input[i], options);
76
+ void 0;
77
+ if (tsplus_module_7.isLeft(t)) {
78
+ const e = tsplus_module_5.indexError(i, t.left);
79
+ tsplus_module_6.push(e)(errors);
80
+ if (allErrors) {
81
+ continue;
82
+ } else {
83
+ return tsplus_module_2.failures(errors);
84
+ }
85
+ }
86
+ output.push(t.right);
87
+ }
88
+ }
89
+ }
90
+ if (tsplus_module_8.isJust(rest)) {
91
+ const head = tsplus_module_3.unsafeHead(rest.value);
92
+ const tail = tsplus_module_3.tail(rest.value);
93
+ for (; i < input.length - tail.length; i++) {
94
+ const t = head(input[i], options);
95
+ void 0;
96
+ if (tsplus_module_7.isLeft(t)) {
97
+ const e = tsplus_module_5.indexError(i, t.left);
98
+ tsplus_module_6.push(e)(errors);
99
+ if (allErrors) {
100
+ continue;
101
+ } else {
102
+ return tsplus_module_2.failures(errors);
103
+ }
104
+ }
105
+ output.push(t.right);
106
+ }
107
+ for (let j = 0; j < tail.length; j++) {
108
+ i += j;
109
+ if (input.length < i + 1) {
110
+ tsplus_module_6.push(tsplus_module_5.indexError(i, tsplus_module_3.vector(tsplus_module_5.missingError)))(errors);
111
+ return tsplus_module_2.failures(errors);
112
+ } else {
113
+ const t = tsplus_module_3.unsafeGet(j)(tail)(input[i], options);
114
+ void 0;
115
+ if (tsplus_module_7.isLeft(t)) {
116
+ const e = tsplus_module_5.indexError(i, t.left);
117
+ tsplus_module_6.push(e)(errors);
118
+ if (allErrors) {
119
+ continue;
120
+ } else {
121
+ return tsplus_module_2.failures(errors);
122
+ }
123
+ }
124
+ output.push(t.right);
125
+ }
126
+ }
127
+ } else {
128
+ const isUnexpectedAllowed = options?.isUnexpectedAllowed;
129
+ for (; i < input.length; i++) {
130
+ const e = tsplus_module_5.indexError(i, tsplus_module_3.vector(tsplus_module_5.unexpectedError(input[i])));
131
+ if (!isUnexpectedAllowed) {
132
+ tsplus_module_6.push(e)(errors);
133
+ if (allErrors) {
134
+ continue;
135
+ } else {
136
+ return tsplus_module_2.failures(errors);
137
+ }
138
+ }
139
+ }
140
+ }
141
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_2.failures(errors) : tsplus_module_2.succeed(output);
142
+ });
143
+ }
144
+ case 17 /* ASTTag.TypeLiteral */:
145
+ {
146
+ if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
147
+ return tsplus_module_1.fromRefinement(ast, u => u !== null);
148
+ }
149
+ const propertySignatureTypes = tsplus_module_3.map(f => go(f.type))(ast.propertySignatures);
150
+ const indexSignatures = tsplus_module_3.map(is => [go(is.parameter), go(is.type)])(ast.indexSignatures);
151
+ return tsplus_module_1.make((input, options) => {
152
+ if (!isRecord(input)) {
153
+ return tsplus_module_2.fail(tsplus_module_5.typeError(unknownRecord, input));
154
+ }
155
+ const output = {};
156
+ const expectedKeys = {};
157
+ const errors = tsplus_module_3.emptyPushable();
158
+ const allErrors = options?.allErrors;
159
+ for (let i = 0; i < propertySignatureTypes.length; i++) {
160
+ const ps = tsplus_module_3.unsafeGet(i)(ast.propertySignatures);
161
+ const parser = tsplus_module_3.unsafeGet(i)(propertySignatureTypes);
162
+ const name = ps.name;
163
+ expectedKeys[name] = null;
164
+ if (!Object.prototype.hasOwnProperty.call(input, name)) {
165
+ if (!ps.isOptional) {
166
+ const e = tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, tsplus_module_3.vector(tsplus_module_5.missingError));
167
+ tsplus_module_6.push(e)(errors);
168
+ if (allErrors) {
169
+ continue;
170
+ } else {
171
+ return tsplus_module_2.failures(errors);
172
+ }
173
+ }
174
+ } else {
175
+ const t = parser(input[name], options);
176
+ void 0;
177
+ if (tsplus_module_7.isLeft(t)) {
178
+ const e = tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, t.left);
179
+ tsplus_module_6.push(e)(errors);
180
+ if (allErrors) {
181
+ continue;
182
+ } else {
183
+ return tsplus_module_2.failures(errors);
184
+ }
185
+ }
186
+ output[name] = t.right;
187
+ }
188
+ }
189
+ if (indexSignatures.length > 0) {
190
+ for (let i = 0; i < indexSignatures.length; i++) {
191
+ const [parameter, type] = tsplus_module_3.unsafeGet(i)(indexSignatures);
192
+ const keys = getKeysForIndexSignature(input, tsplus_module_3.unsafeGet(i)(ast.indexSignatures).parameter);
193
+ for (const key of keys) {
194
+ if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) {
195
+ continue;
196
+ }
197
+ let t = parameter(key, options);
198
+ void 0;
199
+ if (tsplus_module_7.isLeft(t)) {
200
+ const e = tsplus_module_5.keyError(tsplus_module_9.createKey(key), key, t.left);
201
+ tsplus_module_6.push(e)(errors);
202
+ if (allErrors) {
203
+ continue;
204
+ } else {
205
+ return tsplus_module_2.failures(errors);
206
+ }
207
+ }
208
+ t = type(input[key], options);
209
+ void 0;
210
+ if (tsplus_module_7.isLeft(t)) {
211
+ const e = tsplus_module_5.keyError(tsplus_module_9.createKey(key), key, t.left);
212
+ tsplus_module_6.push(e)(errors);
213
+ if (allErrors) {
214
+ continue;
215
+ } else {
216
+ return tsplus_module_2.failures(errors);
217
+ }
218
+ }
219
+ output[key] = t.right;
220
+ }
221
+ }
222
+ } else {
223
+ const isUnexpectedAllowed = options?.isUnexpectedAllowed;
224
+ for (const key of ownKeys(input)) {
225
+ if (!Object.prototype.hasOwnProperty.call(expectedKeys, key)) {
226
+ const e = tsplus_module_5.keyError(tsplus_module_9.createKey(key), key, tsplus_module_3.vector(tsplus_module_5.unexpectedError(input[key])));
227
+ if (!isUnexpectedAllowed) {
228
+ tsplus_module_6.push(e)(errors);
229
+ if (allErrors) {
230
+ continue;
231
+ } else {
232
+ return tsplus_module_2.failures(errors);
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_2.failures(errors) : tsplus_module_2.succeed(output);
239
+ });
240
+ }
241
+ case 18 /* ASTTag.Union */:
242
+ {
243
+ const searchTree = getSearchTree(ast.types);
244
+ const ownKeys = Reflect.ownKeys(searchTree.keys);
245
+ const len = ownKeys.length;
246
+ const otherwise = searchTree.otherwise;
247
+ const map = new Map();
248
+ tsplus_module_3.forEach(ast => {
249
+ map.set(ast, go(ast));
250
+ })(ast.types);
251
+ return tsplus_module_1.make((input, options) => {
252
+ const errors = tsplus_module_3.emptyPushable();
253
+ if (len > 0) {
254
+ if (isRecord(input)) {
255
+ for (let i = 0; i < len; i++) {
256
+ const name = ownKeys[i];
257
+ const buckets = searchTree.keys[name].buckets;
258
+ if (Object.prototype.hasOwnProperty.call(input, name)) {
259
+ const literal = String(input[name]);
260
+ if (Object.prototype.hasOwnProperty.call(buckets, literal)) {
261
+ const bucket = buckets[literal];
262
+ for (let i = 0; i < bucket.length; i++) {
263
+ const t = map.get(bucket[i])(input, options);
264
+ void 0;
265
+ if (tsplus_module_7.isRight(t)) {
266
+ return t;
267
+ } else {
268
+ tsplus_module_6.push(tsplus_module_5.unionMemberError(t.left))(errors);
269
+ }
270
+ }
271
+ } else {
272
+ tsplus_module_6.push(tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, tsplus_module_3.vector(tsplus_module_5.typeError(searchTree.keys[name].ast, input[name]))))(errors);
273
+ }
274
+ } else {
275
+ tsplus_module_6.push(tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, tsplus_module_3.vector(tsplus_module_5.missingError)))(errors);
276
+ }
277
+ }
278
+ } else {
279
+ tsplus_module_6.push(tsplus_module_5.typeError(unknownRecord, input))(errors);
280
+ }
281
+ }
282
+ for (let i = 0; i < otherwise.length; i++) {
283
+ const t = map.get(otherwise[i])(input, options);
284
+ void 0;
285
+ if (tsplus_module_7.isRight(t)) {
286
+ return t;
287
+ } else {
288
+ tsplus_module_6.push(tsplus_module_5.unionMemberError(t.left))(errors);
289
+ }
290
+ }
291
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_2.failures(errors) : tsplus_module_2.fail(tsplus_module_5.typeError(tsplus_module_9.neverKeyword, input));
292
+ });
293
+ }
294
+ case 19 /* ASTTag.Lazy */:
295
+ {
296
+ const f = () => go(ast.getAST());
297
+ const get = memoize(f);
298
+ return tsplus_module_1.make((a, options) => get()(a, options));
299
+ }
300
+ case 20 /* ASTTag.Refinement */:
301
+ {
302
+ const from = go(ast.from);
303
+ if (ast.isReversed) {
304
+ const to = go(tsplus_module_9.getTo(ast.from));
305
+ return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => from(a, options))(tsplus_module_7.flatMap(a => ast.decode(a, options))(to(input, options))));
306
+ }
307
+ return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => ast.decode(a, options))(from(input, options)));
308
+ }
309
+ case 21 /* ASTTag.Transform */:
310
+ {
311
+ const from = go(ast.from);
312
+ if (ast.isReversed) {
313
+ const to = go(ast.to);
314
+ return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => from(a, options))(tsplus_module_7.flatMap(a => ast.encode(a, options))(to(input, options))));
315
+ }
316
+ return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => ast.decode(a, options))(from(input, options)));
317
+ }
318
+ case 22 /* ASTTag.Validation */:
319
+ {
320
+ return tsplus_module_1.make((u, options) => {
321
+ const missedBrands = tsplus_module_3.emptyPushable();
322
+ const allErrors = options?.allErrors;
323
+ for (const validation of ast.validation) {
324
+ if (!validation.validate(u)) {
325
+ tsplus_module_6.push(validation)(missedBrands);
326
+ if (allErrors) {
327
+ continue;
328
+ } else {
329
+ return tsplus_module_2.fail(tsplus_module_5.typeError(tsplus_module_9.createValidation(ast.from, missedBrands, ast.annotations), u));
330
+ }
331
+ }
332
+ }
333
+ return missedBrands.length > 0 ? tsplus_module_2.fail(tsplus_module_5.typeError(tsplus_module_9.createValidation(ast.from, missedBrands, ast.annotations), u)) : tsplus_module_2.succeed(u);
334
+ });
335
+ }
336
+ }
337
+ });
338
+ export function parserFor(ast) {
339
+ return go(ast);
340
+ }
341
+ const unknownArray = /*#__PURE__*/tsplus_module_9.createTuple( /*#__PURE__*/tsplus_module_3.empty(), /*#__PURE__*/tsplus_module_10.just( /*#__PURE__*/tsplus_module_3.vector(tsplus_module_9.unknownKeyword), fileName_1 + ":367:58"), true);
342
+ const unknownRecord = /*#__PURE__*/tsplus_module_9.createTypeLiteral( /*#__PURE__*/tsplus_module_3.empty(), /*#__PURE__*/tsplus_module_3.vector( /*#__PURE__*/tsplus_module_9.createIndexSignature(tsplus_module_9.stringKeyword, tsplus_module_9.unknownKeyword, true), /*#__PURE__*/tsplus_module_9.createIndexSignature(tsplus_module_9.symbolKeyword, tsplus_module_9.unknownKeyword, true)));
343
+ function getLiterals(ast) {
344
+ void 0;
345
+ switch (ast._tag) {
346
+ case 0 /* ASTTag.Declaration */:
347
+ return getLiterals(ast.type);
348
+ case 17 /* ASTTag.TypeLiteral */:
349
+ {
350
+ const out = [];
351
+ for (let i = 0; i < ast.propertySignatures.length; i++) {
352
+ const propertySignature = tsplus_module_3.unsafeGet(i)(ast.propertySignatures);
353
+ if (tsplus_module_9.isLiteral(propertySignature.type) && !propertySignature.isOptional) {
354
+ out.push([propertySignature.name, propertySignature.type]);
355
+ }
356
+ }
357
+ return out;
358
+ }
359
+ case 20 /* ASTTag.Refinement */:
360
+ return getLiterals(ast.from);
361
+ case 21 /* ASTTag.Transform */:
362
+ return ast.isReversed ? getLiterals(ast.to) : getLiterals(tsplus_module_9.getFrom(ast.from));
363
+ }
364
+ return [];
365
+ }
366
+ function getSearchTree(members) {
367
+ const keys = {};
368
+ const otherwise = [];
369
+ for (let i = 0; i < members.length; i++) {
370
+ const member = tsplus_module_3.unsafeGet(i)(members);
371
+ const tags = getLiterals(member);
372
+ if (tags.length > 0) {
373
+ for (let j = 0; j < tags.length; j++) {
374
+ const [key, literal] = tags[j];
375
+ const hash = String(literal.literal);
376
+ keys[key] || (keys[key] = {
377
+ buckets: {},
378
+ ast: tsplus_module_9.neverKeyword
379
+ });
380
+ const buckets = keys[key].buckets;
381
+ if (Object.prototype.hasOwnProperty.call(buckets, hash)) {
382
+ if (j < tags.length - 1) {
383
+ continue;
384
+ }
385
+ buckets[hash].push(member);
386
+ keys[key].ast = tsplus_module_9.createUnion(tsplus_module_3.vector(keys[key].ast, literal));
387
+ } else {
388
+ buckets[hash] = [member];
389
+ keys[key].ast = tsplus_module_9.createUnion(tsplus_module_3.vector(keys[key].ast, literal));
390
+ break;
391
+ }
392
+ }
393
+ } else {
394
+ otherwise.push(member);
395
+ }
396
+ }
397
+ return {
398
+ keys,
399
+ otherwise
400
+ };
401
+ }
402
+ //# sourceMappingURL=interpreter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpreter.mjs","mappings":"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","names":["isBigInt","isBoolean","isNumber","isObject","isRecord","isString","isSymbol","isUndefined","concrete","getKeysForIndexSignature","getTemplateLiteralRegex","memoize","ownKeys","go","ast","_tag","tsplus_module_1","decode","typeParameters","u","literal","symbol","_","tsplus_module_3","value","enums","regex","test","elements","e","type","rest","tsplus_module_4","input","options","Array","isArray","tsplus_module_2","tsplus_module_5","unknownArray","output","errors","allErrors","i","length","isOptional","tsplus_module_6","parser","t","tsplus_module_7","left","push","right","tsplus_module_8","head","tail","j","isUnexpectedAllowed","propertySignatures","indexSignatures","propertySignatureTypes","f","is","parameter","unknownRecord","expectedKeys","ps","name","Object","prototype","hasOwnProperty","call","tsplus_module_9","keys","key","searchTree","getSearchTree","types","Reflect","len","otherwise","map","Map","set","buckets","String","bucket","get","getAST","a","from","isReversed","to","encode","missedBrands","validation","validate","annotations","parserFor","tsplus_module_10","getLiterals","out","propertySignature","members","member","tags","hash"],"sourceRoot":"","sources":["../../_src/Parser/interpreter.ts"],"sourcesContent":[null]}
@@ -0,0 +1,5 @@
1
+ // codegen:start { preset: barrel, include: ./Parser/*.ts }
2
+ export * from "./Parser/api.mjs";
3
+ export * from "./Parser/definition.mjs";
4
+ export * from "./Parser/interpreter.mjs";
5
+ //# sourceMappingURL=Parser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.mjs","mappings":"AAAA;AACA,cAAc,kBAAiB;AAC/B,cAAc,yBAAwB;AACtC,cAAc,0BAAyB","names":[],"sourceRoot":"","sources":["../_src/Parser.ts"],"sourcesContent":[null]}
@@ -0,0 +1,72 @@
1
+ import * as tsplus_module_1 from "@fncts/base/collection/immutable/Vector/api";
2
+ import * as tsplus_module_2 from "@fncts/schema/ASTAnnotation";
3
+ import * as tsplus_module_3 from "@fncts/schema/ASTAnnotationMap";
4
+ import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/Conc/definition";
6
+ import * as tsplus_module_6 from "@fncts/base/data/function/api";
7
+ import * as tsplus_module_7 from "@fncts/schema/ParseError";
8
+ import * as tsplus_module_8 from "@fncts/schema/ParseResult";
9
+ import * as tsplus_module_9 from "@fncts/schema/Parser/api";
10
+ import * as tsplus_module_10 from "@fncts/base/data/Either/api";
11
+ import * as tsplus_module_11 from "@fncts/base/collection/immutable/Vector/internal";
12
+ import * as tsplus_module_12 from "@fncts/schema/Parser/definition";
13
+ import * as tsplus_module_13 from "@fncts/base/data/Hashable/definition";
14
+ import * as tsplus_module_14 from "@fncts/base/data/Equatable/definition";
15
+ import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
16
+ export const concFromArray = concFromArray_1;
17
+ import { ConcTypeId } from "@fncts/base/collection/immutable/Conc";
18
+ export function conc(value) {
19
+ return tsplus_module_4.declaration(tsplus_module_1.vector(value), inline(value), concParser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "Conc").annotate(tsplus_module_2.GenHook, gen));
20
+ }
21
+ /**
22
+ * @tsplus static fncts.schema.SchemaOps concFromArray
23
+ */
24
+ function concFromArray_1(value) {
25
+ return tsplus_module_4.transform(conc(value), input => tsplus_module_5.fromArray(input), input => tsplus_module_5.toArray(input))(tsplus_module_4.array(value));
26
+ }
27
+ /**
28
+ * @tsplus derive fncts.schema.Schema[fncts.Conc]<_> 10
29
+ */
30
+ export function deriveConc(...[value]) {
31
+ return concFromArray_1(value);
32
+ }
33
+ export function concParser(value) {
34
+ const schema = conc(value);
35
+ return tsplus_module_12.make((u, options) => {
36
+ if (!tsplus_module_5.isConc(u)) {
37
+ return tsplus_module_8.fail(tsplus_module_7.typeError(schema.ast, u));
38
+ }
39
+ const allErrors = options?.allErrors;
40
+ const errors = tsplus_module_1.emptyPushable();
41
+ const out = [];
42
+ let i = 0;
43
+ for (const v of u) {
44
+ const t = tsplus_module_9.decode(value)(u);
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.failures(errors);
50
+ }
51
+ } else {
52
+ out.push(t.right);
53
+ }
54
+ i++;
55
+ }
56
+ return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_8.failures(errors) : tsplus_module_8.succeed(tsplus_module_5.fromArray(out));
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
+ });
68
+ }
69
+ function gen(value) {
70
+ return tsplus_module_15.conc(value);
71
+ }
72
+ //# sourceMappingURL=conc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conc.mjs","mappings":";;;;;;;;;;;;;;;aAgBgBA,aAAa;AAd7B,SAASC,UAAU,QAAQ,uCAAuC;AAElE,OAAM,SAAUC,IAAI,CAAIC,KAAgB;EACtC,OAAOC,4BACLC,uBAAOF,KAAK,CAAC,EACbG,MAAM,CAACH,KAAK,CAAC,EACbI,UAAU,EACVC,gCAAgB,CAACC,KAAK,CAACC,QAAQ,6BAA2B,MAAM,CAAC,CAACA,QAAQ,0BAAwBC,GAAG,CAAC,CACvG;AACH;AAEA;;;AAGA,yBAAiCR,KAAgB;EAC/C,OAAOC,0BACLF,IAAI,CAACC,KAAK,CAAC,EACVS,KAAK,IAAKC,0BAAeD,KAAK,CAAC,EAC/BA,KAAK,IAAIC,wBAACD,KAAK,CAAQ,EAHnBR,sBAAaD,KAAK,CAAC,CAIzB;AACH;AAEA;;;AAGA,OAAM,SAAUW,UAAU,CACxB,GAAG,CAACX,KAAK,CAIA;EAET,OAAoBY,gBAAcZ,KAAK,CAAC;AAC1C;AAEA,OAAM,SAAUI,UAAU,CAAIJ,KAAgB;EAC5C,MAAMa,MAAM,GAAGd,IAAI,CAACC,KAAK,CAAC;EAC1B,OAAOc,sBAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;IAChC,IAAI,CAACN,uBAAQK,CAAC,CAAC,EAAE;MACf,OAAOE,qBAAiBC,0BAAqBL,MAAM,CAACM,GAAG,EAAEJ,CAAC,CAAC,CAAC;;IAE9D,MAAMK,SAAS,GAAOJ,OAAO,EAAEI,SAAS;IACxC,MAAMC,MAAM,GAAUnB,+BAAkC;IACxD,MAAMoB,GAAG,GAAa,EAAE;IACxB,IAAIC,CAAC,GAAiB,CAAC;IACvB,KAAK,MAAMC,CAAC,IAAIT,CAAC,EAAE;MACjB,MAAMU,CAAC,GAAGC,4BAAK,EAAQX,CAAC,CAAC;MACzB;MACA,IAAIY,yBAAC,CAAS,EAAE;QACdC,sBAAYV,2BAAsBK,CAAC,EAAEE,CAAC,CAACI,IAAI,CAAC,EAA5CR,MAAM,CAAuC;QAC7C,IAAI,CAACD,SAAS,EAAE;UACd,OAAOH,yBAAqBI,MAAM,CAAC;;OAEtC,MAAM;QACLC,GAAG,CAACQ,IAAI,CAACL,CAAC,CAACM,KAAK,CAAC;;MAEnBR,CAAC,EAAE;;IAEL,OAAOrB,iCAAM,CAAa,GAAGe,yBAAqBI,MAAM,CAAC,GAAGJ,wBAAoBP,0BAAeY,GAAG,CAAC,CAAC;EACtG,CAAC,CAAC;AACJ;AAEA,SAASnB,MAAM,CAAI6B,MAAiB;EAClC,OAAO/B,uBAAc;IACnBgC,EAAE,qBAAY;IACd,CAACnC,UAAU,GAAGG,6BAAoBH,UAAU,CAAC;IAC7CoC,MAAM,wBAAe;IACrB,CAACC,MAAM,CAACC,QAAQ,GAACnC,mBAAY;IAC7B,+BAAaA,mBAAY;IACzB,iCAAeA;GAChB,CAAC;AACJ;AAEA,SAASO,GAAG,CAAIR,KAAoB;EAClC,OAAOqC,sBAASrC,KAAK,CAAC;AACxB","names":["concFromArray","ConcTypeId","conc","value","tsplus_module_4","tsplus_module_1","inline","concParser","tsplus_module_3","empty","annotate","gen","input","tsplus_module_5","deriveConc","concFromArray_1","schema","tsplus_module_12","u","options","tsplus_module_8","tsplus_module_7","ast","allErrors","errors","out","i","v","t","tsplus_module_9","tsplus_module_10","tsplus_module_11","left","push","right","_value","_A","length","Symbol","iterator","tsplus_module_15"],"sourceRoot":"","sources":["../../../_src/Schema/api/conc.ts"],"sourcesContent":[null]}