@fncts/schema 0.0.14 → 0.0.16

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 (45) hide show
  1. package/AST.d.ts +29 -12
  2. package/Guard.d.ts +9 -0
  3. package/ParseError.d.ts +40 -3
  4. package/Parser/api.d.ts +0 -6
  5. package/Parser/interpreter.d.ts +1 -2
  6. package/Schema/api.d.ts +1 -1
  7. package/Schema/derivations.d.ts +1 -1
  8. package/Show.d.ts +1 -1
  9. package/_cjs/AST.cjs +115 -65
  10. package/_cjs/AST.cjs.map +1 -1
  11. package/_cjs/Guard.cjs +278 -0
  12. package/_cjs/Guard.cjs.map +1 -0
  13. package/_cjs/ParseError.cjs +77 -3
  14. package/_cjs/ParseError.cjs.map +1 -1
  15. package/_cjs/Parser/api.cjs +11 -23
  16. package/_cjs/Parser/api.cjs.map +1 -1
  17. package/_cjs/Parser/interpreter.cjs +93 -141
  18. package/_cjs/Parser/interpreter.cjs.map +1 -1
  19. package/_cjs/Schema/api.cjs +28 -29
  20. package/_cjs/Schema/api.cjs.map +1 -1
  21. package/_cjs/Show.cjs +23 -12
  22. package/_cjs/Show.cjs.map +1 -1
  23. package/_mjs/AST.mjs +107 -61
  24. package/_mjs/AST.mjs.map +1 -1
  25. package/_mjs/Guard.mjs +269 -0
  26. package/_mjs/Guard.mjs.map +1 -0
  27. package/_mjs/ParseError.mjs +72 -2
  28. package/_mjs/ParseError.mjs.map +1 -1
  29. package/_mjs/Parser/api.mjs +10 -21
  30. package/_mjs/Parser/api.mjs.map +1 -1
  31. package/_mjs/Parser/interpreter.mjs +94 -142
  32. package/_mjs/Parser/interpreter.mjs.map +1 -1
  33. package/_mjs/Schema/api.mjs +28 -29
  34. package/_mjs/Schema/api.mjs.map +1 -1
  35. package/_mjs/Show.mjs +23 -12
  36. package/_mjs/Show.mjs.map +1 -1
  37. package/_src/AST.ts +96 -47
  38. package/_src/Guard.ts +268 -0
  39. package/_src/ParseError.ts +88 -4
  40. package/_src/Parser/api.ts +8 -21
  41. package/_src/Parser/interpreter.ts +87 -121
  42. package/_src/Schema/api.ts +4 -11
  43. package/_src/Schema/derivations.ts +1 -1
  44. package/_src/Show.ts +28 -15
  45. package/package.json +3 -3
package/_mjs/Guard.mjs ADDED
@@ -0,0 +1,269 @@
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";
8
+ import * as tsplus_module_8 from "@fncts/base/collection/immutable/Vector/api";
9
+ import * as tsplus_module_9 from "@fncts/base/data/Maybe/destructors";
10
+ import { globalValue } from "@fncts/base/data/Global";
11
+ import { isRecord } from "@fncts/base/util/predicates";
12
+ import { getKeysForIndexSignature, memoize } from "@fncts/schema/utils";
13
+ import { getSearchTree } from "./AST.mjs";
14
+ import { parserFor } from "./Parser.mjs";
15
+ /**
16
+ * @tsplus getter fncts.schema.Schema is
17
+ */
18
+ export function is(schema) {
19
+ return input => {
20
+ return guardFor(schema).is(input);
21
+ };
22
+ }
23
+ export function guardFor(schema) {
24
+ return goMemo(schema.ast);
25
+ }
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
+ 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;
36
+ }
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
+ }
268
+ }
269
+ //# sourceMappingURL=Guard.mjs.map
@@ -0,0 +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":";;;;;;;;;AAAA,SAASA,WAAW,QAAQ,yBAAyB;AACrD,SAASC,QAAQ,QAAQ,6BAA6B;AACtD,SAASC,wBAAwB,EAAEC,OAAO,QAAQ,qBAAqB;AAEvE,SAAiBC,aAAa,QAAQ,WAAU;AAChD,SAASC,SAAS,QAAQ,cAAa;AAEvC;;;AAGA,OAAM,SAAUC,EAAEA,CAAIC,MAAiB;EACrC,OAAQC,KAAc,IAAgB;IACpC,OAAOC,QAAQ,CAACF,MAAM,CAAC,CAACD,EAAE,CAACE,KAAK,CAAC;EACnC,CAAC;AACH;AAEA,OAAM,SAAUC,QAAQA,CAAIF,MAAiB;EAC3C,OAAOG,MAAM,CAACH,MAAM,CAACI,GAAG,CAAC;AAC3B;AAEA,MAAMC,WAAW,GAAIC,KAAc,IAAKC,eAAA,CAAAC,SAAA,CAAOC,GAAG,IAAiBA,GAAG,KAAKH,KAAK,CAAC;AAEjF,MAAMI,YAAY,gBAAGjB,WAAW,eAACkB,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC,EAAE,MAAM,IAAIC,OAAO,EAAmB,CAAC;AAErH,SAASV,MAAMA,CAACC,GAAQ;EACtB,MAAMU,IAAI,GAAGJ,YAAY,CAACK,GAAG,CAACX,GAAG,CAAC;EAClC,IAAIU,IAAI,EAAE;IACR,OAAOA,IAAI;EACb;EACA,MAAME,KAAK,GAAGC,EAAE,CAACb,GAAG,CAAC;EACrBM,YAAY,CAACQ,GAAG,CAACd,GAAG,EAAEY,KAAK,CAAC;EAC5B,OAAOA,KAAK;AACd;AAEA,SAASC,EAAEA,CAACb,GAAQ;EAClB;EACA,QAAQA,GAAG,CAACe,IAAI;IACd;MAAyB;QACvB,MAAMC,MAAM,GAAGtB,SAAS,CAACM,GAAG,EAAE,IAAI,CAAC;QACnC,OAAOG,eAAA,CAAAC,SAAA,CAAOC,GAAG,IACfY,eAAA,CAAAC,KAAA,CACE,MAAM,KAAK,EACX,MAAM,IAAI,EAFZF,MAAM,CAACX,GAAG,CAAC,CAGV,CACF;MACH;IACA;MAAqB;QACnB,OAAOF,eAAA,CAAAC,SAAA,CAAOC,GAAG,IAAiBA,GAAG,KAAKL,GAAG,CAACmB,OAAO,CAAC;MACxD;IACA;MAA0B;QACxB,OAAOlB,WAAW,CAACD,GAAG,CAACoB,MAAM,CAAC;MAChC;IACA;IACA;MAA8B;QAC5B,OAAOnB,WAAW,CAACoB,SAAS,CAAC;MAC/B;IACA;MAA0B;QACxB,OAAOlB,eAAA,CAAAC,SAAA,CAAOC,GAAG,IAAmB,KAAK,CAAC;MAC5C;IACA;IACA;MAAwB;QACtB,OAAOF,eAAA,CAAAC,SAAA,CAAOC,GAAG,IAAiB,IAAI,CAAC;MACzC;IACA;MAA2B;QACzB,OAAAiB,eAAA,CAAAC,KAAA;MACF;IACA;MAA4B;QAC1B,OAAAC,eAAA,CAAAD,KAAA;MACF;IACA;MAA2B;QACzB,OAAAE,eAAA,CAAAC,MAAA;MACF;IACA;MAA2B;QACzB,OAAAC,eAAA,CAAAJ,KAAA;MACF;IACA;MAA2B;QACzB,OAAOpB,eAAA,CAAAC,SAAA,CAAOC,GAAG,IAAoB,OAAOA,GAAG,KAAK,QAAQ,CAAC;MAC/D;IACA;MAA2B;QACzB,OAAOF,eAAA,CAAAC,SAAA,CAAAwB,eAAA,CAAMC,QAAQ,CAAC;MACxB;IACA;MAA6B;QAC3B,MAAMb,MAAM,GAAGtB,SAAS,CAACM,GAAG,EAAE,IAAI,CAAC;QACnC,OAAOG,eAAA,CAAAC,SAAA,CAAOC,GAAG,IACfY,eAAA,CAAAC,KAAA,CACE,MAAM,KAAK,EACX,MAAM,IAAI,EAFZF,MAAM,CAACX,GAAG,CAAC,CAGV,CACF;MACH;IACA;MAAmB;QACjB,MAAMyB,QAAQ,GAAOC,eAAA,CAAAC,GAAA,CAAkBC,OAAO,IAAKlC,MAAM,CAACkC,OAAO,CAACC,IAAI,CAAC,EAAlDlC,GAAG,CAAC8B,QAAQ,CAAuC;QACxE,MAAMK,YAAY,GAAGC,eAAA,CAAAlB,KAAA,CACnB,MAAMa,eAAA,CAAAM,KAAA,EAA0B,EAC/BC,IAAI,IAAKP,eAAA,CAAAC,GAAA,CAASjC,MAAM,EAAfuC,IAAI,CAAY,EAFPtC,GAAG,CAACsC,IAAI,CAG5B;QAED,OAAOnC,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAkB;UACnC,IAAI,CAAC0C,KAAK,CAACC,OAAO,CAAC3C,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK;UACd;UAEA,IAAI4C,CAAC,GAAG,CAAC;UACT,OAAOA,CAAC,GAAGX,QAAQ,CAACY,MAAM,EAAED,CAAC,EAAE,EAAE;YAC/B,IAAI5C,KAAK,CAAC6C,MAAM,GAAGD,CAAC,GAAG,CAAC,EAAE;cACxB,IAAI,CAACV,eAAA,CAAAY,SAAA,CAAaF,CAAC,EAAdzC,GAAG,CAAC8B,QAAQ,CAAI,CAACc,UAAU,EAAE;gBAChC,OAAO,KAAK;cACd;YACF,CAAC,MAAM;cACL,MAAMhC,KAAK,GAAGmB,eAAA,CAAAY,SAAA,CAASF,CAAC,EAAVX,QAAQ,CAAI;cAC1B,IAAI,CAAClB,KAAK,CAACjB,EAAE,CAACE,KAAK,CAAC4C,CAAC,CAAC,CAAC,EAAE;gBACvB,OAAO,KAAK;cACd;YACF;UACF;UAEA,IAAIN,YAAY,CAACO,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAMG,IAAI,GAAGd,eAAA,CAAAe,UAAA,CAAAX,YAAY,CAAY;YACrC,MAAMY,IAAI,GAAAhB,eAAA,CAAAgB,IAAA,CAAGZ,YAAY,CAAK;YAC9B,OAAOM,CAAC,GAAG5C,KAAK,CAAC6C,MAAM,GAAGK,IAAI,CAACL,MAAM,EAAED,CAAC,EAAE,EAAE;cAC1C,IAAI,CAACI,IAAI,CAAClD,EAAE,CAACE,KAAK,CAAC4C,CAAC,CAAC,CAAC,EAAE;gBACtB,OAAO,KAAK;cACd;YACF;YACA,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,CAACL,MAAM,EAAEM,CAAC,EAAE,EAAE;cACpCP,CAAC,IAAIO,CAAC;cACN,IAAInD,KAAK,CAAC6C,MAAM,GAAGD,CAAC,GAAG,CAAC,EAAE;gBACxB,OAAO,KAAK;cACd;cACA,MAAM7B,KAAK,GAAGmB,eAAA,CAAAY,SAAA,CAAKK,CAAC,EAAND,IAAI,CAAI;cACtB,IAAI,CAACnC,KAAK,CAACjB,EAAE,CAACE,KAAK,CAAC4C,CAAC,CAAC,CAAC,EAAE;gBACvB,OAAO,KAAK;cACd;YACF;UACF;UAEA,OAAO,IAAI;QACb,CAAC,CAAC;MACJ;IACA;MAAyB;QACvB,IAAIzC,GAAG,CAACiD,kBAAkB,CAACP,MAAM,KAAK,CAAC,IAAI1C,GAAG,CAACkD,eAAe,CAACR,MAAM,KAAK,CAAC,EAAE;UAC3E,OAAOvC,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAA2CA,KAAK,KAAK,IAAI,CAAC;QAC/E;QACA,MAAMsD,sBAAsB,GAAGpB,eAAA,CAAAC,GAAA,CAA4BoB,EAAE,IAAKrD,MAAM,CAACqD,EAAE,CAAClB,IAAI,CAAC,EAAlDlC,GAAG,CAACiD,kBAAkB,CAA6B;QAClF,MAAMC,eAAe,GAAUnB,eAAA,CAAAC,GAAA,CAAyBrC,EAAE,IAAK,CAACI,MAAM,CAACJ,EAAE,CAAC0D,SAAS,CAAC,EAAEtD,MAAM,CAACJ,EAAE,CAACuC,IAAI,CAAC,CAAU,EAAhFlC,GAAG,CAACkD,eAAe,CAA8D;QAChH,OAAO/C,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAkB;UACnC,IAAI,CAACP,QAAQ,CAACO,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK;UACd;UAEA,MAAMyD,YAAY,GAAQ,EAAE;UAE5BC,OAAO,CAACC,GAAG,CAACxD,GAAG,CAACiD,kBAAkB,CAAC;UACnC,KAAK,IAAIR,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,sBAAsB,CAACT,MAAM,EAAED,CAAC,EAAE,EAAE;YACtD,MAAMW,EAAE,GAAarB,eAAA,CAAAY,SAAA,CAAuBF,CAAC,EAAxBzC,GAAG,CAACiD,kBAAkB,CAAI;YAC/C,MAAMrC,KAAK,GAAUmB,eAAA,CAAAY,SAAA,CAAuBF,CAAC,EAAxBU,sBAAsB,CAAI;YAC/C,MAAMM,IAAI,GAAWL,EAAE,CAACK,IAAI;YAC5BH,YAAY,CAACG,IAAI,CAAC,GAAG,IAAI;YACzB,IAAI,CAACC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAChE,KAAK,EAAE4D,IAAI,CAAC,EAAE;cACtD,IAAI,CAACL,EAAE,CAACR,UAAU,EAAE;gBAClB,OAAO,KAAK;cACd;YACF,CAAC,MAAM;cACL,IAAI,CAACnB,eAAA,CAAA9B,EAAA,CAAME,KAAK,CAAC4D,IAAI,CAAC,EAAjB7C,KAAK,CAAa,EAAE;gBACvB,OAAO,KAAK;cACd;YACF;UACF;UAEA,IAAIsC,eAAe,CAACR,MAAM,GAAG,CAAC,EAAE;YAC9B,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGS,eAAe,CAACR,MAAM,EAAED,CAAC,EAAE,EAAE;cAC/C,MAAM,CAACY,SAAS,EAAEnB,IAAI,CAAC,GAAGH,eAAA,CAAAY,SAAA,CAAgBF,CAAC,EAAjBS,eAAe,CAAI;cAC7C,MAAMY,IAAI,GAAgBvE,wBAAwB,CAACM,KAAK,EAAEkC,eAAA,CAAAY,SAAA,CAAoBF,CAAC,EAArBzC,GAAG,CAACkD,eAAe,CAAI,CAACG,SAAS,CAAC;cAC5F,KAAK,MAAMU,GAAG,IAAID,IAAI,EAAE;gBACtB,IAAIJ,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACP,YAAY,EAAES,GAAG,CAAC,EAAE;kBAC3D;gBACF;gBAEA,IAAI,CAACtC,eAAA,CAAA9B,EAAA,CAAUoE,GAAG,EAAbV,SAAS,CAAK,EAAE;kBACnB,OAAO,KAAK;gBACd;gBAEA,IAAI,CAAC5B,eAAA,CAAA9B,EAAA,CAAKE,KAAK,CAACkE,GAAG,CAAC,EAAf7B,IAAI,CAAY,EAAE;kBACrB,OAAO,KAAK;gBACd;cACF;YACF;UACF;UAEA,OAAO,IAAI;QACb,CAAC,CAAC;MACJ;IACA;MAAmB;QACjB,MAAM8B,UAAU,GAAGvE,aAAa,CAACO,GAAG,CAACiE,KAAK,EAAE,IAAI,CAAC;QACjD,MAAMC,OAAO,GAAMC,OAAO,CAACD,OAAO,CAACF,UAAU,CAACF,IAAI,CAAC;QACnD,MAAMM,GAAG,GAAUF,OAAO,CAACxB,MAAM;QACjC,MAAM2B,SAAS,GAAIL,UAAU,CAACK,SAAS;QACvC,MAAMrC,GAAG,GAAU,IAAIsC,GAAG,EAAmB;QAC7CvC,eAAA,CAAAwC,OAAA,CAAmBvE,GAAG,IAAI;UACxBgC,GAAG,CAAClB,GAAG,CAACd,GAAG,EAAED,MAAM,CAACC,GAAG,CAAC,CAAC;QAC3B,CAAC,EAFDA,GAAG,CAACiE,KAAK,CAEP;QACF,OAAO9D,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAkB;UACnC,IAAIuE,GAAG,GAAG,CAAC,EAAE;YACX,IAAI9E,QAAQ,CAACO,KAAK,CAAC,EAAE;cACnB,KAAK,IAAI4C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2B,GAAG,EAAE3B,CAAC,EAAE,EAAE;gBAC5B,MAAMgB,IAAI,GAAMS,OAAO,CAACzB,CAAC,CAAE;gBAC3B,MAAM+B,OAAO,GAAGR,UAAU,CAACF,IAAI,CAACL,IAAI,CAAE,CAACe,OAAO;gBAC9C,IAAId,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAChE,KAAK,EAAE4D,IAAI,CAAC,EAAE;kBACrD,MAAMtC,OAAO,GAAGsD,MAAM,CAAC5E,KAAK,CAAC4D,IAAI,CAAC,CAAC;kBACnC,IAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACW,OAAO,EAAErD,OAAO,CAAC,EAAE;oBAC1D,MAAMuD,MAAM,GAAuBF,OAAO,CAACrD,OAAO,CAAE;oBACpD,KAAK,IAAIsB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiC,MAAM,CAAChC,MAAM,EAAED,CAAC,EAAE,EAAE;sBACtC,IAAIhB,eAAA,CAAA9B,EAAA,CAAoBE,KAAK,EAAzBmC,GAAG,CAACrB,GAAG,CAAC+D,MAAM,CAACjC,CAAC,CAAC,CAAE,CAAO,EAAE;wBAC9B,OAAO,IAAI;sBACb;oBACF;kBACF;gBACF;cACF;YACF;UACF;UACA,KAAK,IAAIA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4B,SAAS,CAAC3B,MAAM,EAAED,CAAC,EAAE,EAAE;YACzC,IAAIhB,eAAA,CAAA9B,EAAA,CAAuBE,KAAK,EAA5BmC,GAAG,CAACrB,GAAG,CAAC0D,SAAS,CAAC5B,CAAC,CAAC,CAAE,CAAO,EAAE;cACjC,OAAO,IAAI;YACb;UACF;UACA,OAAO,KAAK;QACd,CAAC,CAAC;MACJ;IACA;MAAkB;QAChB,MAAMkC,CAAC,GAAKA,CAAA,KAAM5E,MAAM,CAACC,GAAG,CAAC4E,MAAM,EAAE,CAAC;QACtC,MAAMjE,GAAG,GAAGnB,OAAO,CAAmBmF,CAAC,CAAC;QACxC,OAAOxE,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAmB4B,eAAA,CAAA9B,EAAA,CAAME,KAAK,EAAXc,GAAG,EAAE,CAAO,CAAC;MACrD;IACA;MAAkB;QAChB,OAAOR,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAmBkC,eAAA,CAAA8C,IAAA,CAAe,CAAC,CAACC,CAAC,EAAE5E,KAAK,CAAC,KAAKA,KAAK,KAAKL,KAAK,EAA9CG,GAAG,CAAC+E,KAAK,CAAsC,CAAC;MACxF;IACA;MAAwB;QACtB,MAAMC,IAAI,GAAGjF,MAAM,CAACC,GAAG,CAACgF,IAAI,CAAC;QAC7B,OAAO7E,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAkB;UACnC,IAAI,CAAC4B,eAAA,CAAA9B,EAAA,CAAKE,KAAK,EAAVmF,IAAI,CAAO,EAAE;YAChB,OAAO,KAAK;UACd;UACA,IAAI,CAAChF,GAAG,CAACiF,SAAS,CAACpF,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK;UACd;UACA,OAAO,IAAI;QACb,CAAC,CAAC;MACJ;IACA;MAAuB;QACrB,OAAOE,MAAM,CAACC,GAAG,CAACkF,EAAE,CAAC;MACvB;IACA;MAAwB;QACtB,MAAMF,IAAI,GAAGjF,MAAM,CAACC,GAAG,CAACgF,IAAI,CAAC;QAC7B,OAAO7E,eAAA,CAAAC,SAAA,CAAOP,KAAK,IAAkB;UACnC,IAAI,CAAC4B,eAAA,CAAA9B,EAAA,CAAKE,KAAK,EAAVmF,IAAI,CAAO,EAAE;YAChB,OAAO,KAAK;UACd;UACA,KAAK,MAAMG,UAAU,IAAInF,GAAG,CAACmF,UAAU,EAAE;YACvC,IAAI,CAACA,UAAU,CAACC,QAAQ,CAACvF,KAAK,CAAC,EAAE;cAC/B,OAAO,KAAK;YACd;UACF;UACA,OAAO,IAAI;QACb,CAAC,CAAC;MACJ;EACF;AACF"}
@@ -53,7 +53,7 @@ export class KeyError {
53
53
  }
54
54
  }
55
55
  /**
56
- * @tsplus static fncts.schema.ParseError.IndexError __call
56
+ * @tsplus static fncts.schema.ParseError.KeyError __call
57
57
  * @tsplus static fncts.schema.ParseErrorOps KeyError
58
58
  */
59
59
  export function keyError(keyAST, key, errors) {
@@ -103,6 +103,44 @@ export class UnionMemberError {
103
103
  export function unionMemberError(errors) {
104
104
  return new UnionMemberError(errors);
105
105
  }
106
+ /**
107
+ * @tsplus companion fncts.schema.ParseError.RefinementError
108
+ */
109
+ export class RefinementError {
110
+ constructor(ast, actual, kind, errors) {
111
+ this.ast = ast;
112
+ this.actual = actual;
113
+ this.kind = kind;
114
+ this.errors = errors;
115
+ this._tag = 6 /* ParseErrorTag.Refinement */;
116
+ }
117
+ }
118
+ /**
119
+ * @tsplus static fncts.schema.ParseError.RefinementError __call
120
+ * @tsplus static fncts.schema.ParseErrorOps RefinementError
121
+ */
122
+ export function refinementError(ast, actual, kind, errors) {
123
+ return new RefinementError(ast, actual, kind, errors);
124
+ }
125
+ /**
126
+ * @tsplus companion fncts.schema.ParseError.TransformationError
127
+ */
128
+ export class TransformationError {
129
+ constructor(ast, actual, kind, errors) {
130
+ this.ast = ast;
131
+ this.actual = actual;
132
+ this.kind = kind;
133
+ this.errors = errors;
134
+ this._tag = 7 /* ParseErrorTag.Transformation */;
135
+ }
136
+ }
137
+ /**
138
+ * @tsplus static fncts.schema.ParseError.TransformationError __call
139
+ * @tsplus static fncts.schema.ParseErrorOps TransformationError
140
+ */
141
+ export function transformationError(ast, actual, kind, errors) {
142
+ return new TransformationError(ast, actual, kind, errors);
143
+ }
106
144
  /**
107
145
  * @tsplus static fncts.schema.ParseErrorOps format
108
146
  */
@@ -125,8 +163,36 @@ function formatTemplateLiteralSpan(span) {
125
163
  function formatTemplateLiteral(ast) {
126
164
  return ast.head + tsplus_module_1.join("")(tsplus_module_1.map(span => formatTemplateLiteralSpan(span) + span.literal)(ast.spans));
127
165
  }
166
+ function formatRefinementKind(error) {
167
+ switch (error.kind) {
168
+ case "From":
169
+ {
170
+ return "From side refinement failure";
171
+ }
172
+ case "Predicate":
173
+ {
174
+ return "Predicate refinement failure";
175
+ }
176
+ }
177
+ }
178
+ function formatTransformationKind(error) {
179
+ switch (error.kind) {
180
+ case "Encoded":
181
+ {
182
+ return "Encoded side transformation failure";
183
+ }
184
+ case "Transformation":
185
+ {
186
+ return "Transformation process failure";
187
+ }
188
+ case "Type":
189
+ {
190
+ return "Type side transformation failure";
191
+ }
192
+ }
193
+ }
128
194
  function getExpected(ast) {
129
- return tsplus_module_6.flatMap(title => tsplus_module_5.match(() => tsplus_module_3.just(title, fileName_1 + ":162:19"), description => tsplus_module_3.just(`${title} (${description})`, fileName_1 + ":163:30"))(ast.annotations.get(tsplus_module_4.Description)))(tsplus_module_6.orElse(() => ast.annotations.get(tsplus_module_4.Title))(ast.annotations.get(tsplus_module_4.Identifier)));
195
+ return tsplus_module_6.flatMap(title => tsplus_module_5.match(() => tsplus_module_3.just(title, fileName_1 + ":242:19"), description => tsplus_module_3.just(`${title} (${description})`, fileName_1 + ":243:30"))(ast.annotations.get(tsplus_module_4.Description)))(tsplus_module_6.orElse(() => ast.annotations.get(tsplus_module_4.Title))(ast.annotations.get(tsplus_module_4.Identifier)));
130
196
  }
131
197
  function getMissedBrands(ast) {
132
198
  return tsplus_module_1.join(" & ")(tsplus_module_1.map(validation => validation.name)(ast.validation));
@@ -196,6 +262,10 @@ function go(error) {
196
262
  return tsplus_module_2.make("is missing");
197
263
  case 5 /* ParseErrorTag.UnionMember */:
198
264
  return tsplus_module_2.make("union member", tsplus_module_1.map(go)(error.errors));
265
+ case 6 /* ParseErrorTag.Refinement */:
266
+ return tsplus_module_2.make(formatRefinementKind(error), tsplus_module_1.map(go)(error.errors));
267
+ case 7 /* ParseErrorTag.Transformation */:
268
+ return tsplus_module_2.make(formatTransformationKind(error), tsplus_module_1.map(go)(error.errors));
199
269
  }
200
270
  }
201
271
  //# sourceMappingURL=ParseError.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParseError.mjs","names":["showWithOptions","concrete","TypeError","constructor","expected","actual","_tag","typeError","IndexError","index","errors","indexError","KeyError","keyAST","key","keyError","MissingError","missingError","UnexpectedError","unexpectedError","UnionMemberError","unionMemberError","format","tsplus_module_2","draw","make","length","tsplus_module_1","map","go","formatActual","colors","formatTemplateLiteralSpan","span","type","formatTemplateLiteral","ast","head","join","literal","spans","getExpected","tsplus_module_6","flatMap","title","tsplus_module_5","match","tsplus_module_3","just","fileName_1","description","annotations","get","tsplus_module_4","Description","orElse","Title","Identifier","getMissedBrands","validation","name","formatExpected","getOrElse","symbol","types","_","value","JSON","stringify","enums","from","to","error","f","Message"],"sources":["../_src/ParseError.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"ParseError.mjs","names":["showWithOptions","concrete","TypeError","constructor","expected","actual","_tag","typeError","IndexError","index","errors","indexError","KeyError","keyAST","key","keyError","MissingError","missingError","UnexpectedError","unexpectedError","UnionMemberError","unionMemberError","RefinementError","ast","kind","refinementError","TransformationError","transformationError","format","tsplus_module_2","draw","make","length","tsplus_module_1","map","go","formatActual","colors","formatTemplateLiteralSpan","span","type","formatTemplateLiteral","head","join","literal","spans","formatRefinementKind","error","formatTransformationKind","getExpected","tsplus_module_6","flatMap","title","tsplus_module_5","match","tsplus_module_3","just","fileName_1","description","annotations","get","tsplus_module_4","Description","orElse","Title","Identifier","getMissedBrands","validation","name","formatExpected","getOrElse","symbol","types","_","value","JSON","stringify","enums","from","to","f","Message"],"sources":["../_src/ParseError.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAEA,SAASA,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,QAAQ,QAAQ,mBAAmB;AA6B5C;;;AAGA,OAAM,MAAOC,SAAS;EAEpBC,YACWC,QAAa,EACbC,MAAe;IADf,KAAAD,QAAQ,GAARA,QAAQ;IACR,KAAAC,MAAM,GAANA,MAAM;IAHR,KAAAC,IAAI;EAIV;;AAGL;;;;AAIA,OAAM,SAAUC,SAASA,CAACH,QAAa,EAAEC,MAAe;EACtD,OAAO,IAAIH,SAAS,CAACE,QAAQ,EAAEC,MAAM,CAAC;AACxC;AAEA;;;AAGA,OAAM,MAAOG,UAAU;EAErBL,YACWM,KAAa,EACbC,MAA0B;IAD1B,KAAAD,KAAK,GAALA,KAAK;IACL,KAAAC,MAAM,GAANA,MAAM;IAHR,KAAAJ,IAAI;EAIV;;AAGL;;;;AAIA,OAAM,SAAUK,UAAUA,CAACF,KAAa,EAAEC,MAA0B;EAClE,OAAO,IAAIF,UAAU,CAACC,KAAK,EAAEC,MAAM,CAAC;AACtC;AAEA;;;AAGA,OAAM,MAAOE,QAAQ;EAEnBT,YACWU,MAAW,EACXC,GAAQ,EACRJ,MAA0B;IAF1B,KAAAG,MAAM,GAANA,MAAM;IACN,KAAAC,GAAG,GAAHA,GAAG;IACH,KAAAJ,MAAM,GAANA,MAAM;IAJR,KAAAJ,IAAI;EAKV;;AAGL;;;;AAIA,OAAM,SAAUS,QAAQA,CAACF,MAAW,EAAEC,GAAQ,EAAEJ,MAA0B;EACxE,OAAO,IAAIE,QAAQ,CAACC,MAAM,EAAEC,GAAG,EAAEJ,MAAM,CAAC;AAC1C;AAEA;;;AAGA,OAAM,MAAOM,YAAY;EAAzBb,YAAA;IACW,KAAAG,IAAI;EACf;;AAEA;;;AAGA,OAAO,MAAMW,YAAY,gBAAG,IAAID,YAAY,EAAE;AAE9C;;;AAGA,OAAM,MAAOE,eAAe;EAE1Bf,YAAqBE,MAAe;IAAf,KAAAA,MAAM,GAANA,MAAM;IADlB,KAAAC,IAAI;EAC0B;;AAGzC;;;;AAIA,OAAM,SAAUa,eAAeA,CAACd,MAAe;EAC7C,OAAO,IAAIa,eAAe,CAACb,MAAM,CAAC;AACpC;AAEA;;;AAGA,OAAM,MAAOe,gBAAgB;EAE3BjB,YAAqBO,MAA0B;IAA1B,KAAAA,MAAM,GAANA,MAAM;IADlB,KAAAJ,IAAI;EACqC;;AAGpD;;;;AAIA,OAAM,SAAUe,gBAAgBA,CAACX,MAA0B;EACzD,OAAO,IAAIU,gBAAgB,CAACV,MAAM,CAAC;AACrC;AAEA;;;AAGA,OAAM,MAAOY,eAAe;EAE1BnB,YACWoB,GAAe,EACflB,MAAe,EACfmB,IAA0B,EAC1Bd,MAA0B;IAH1B,KAAAa,GAAG,GAAHA,GAAG;IACH,KAAAlB,MAAM,GAANA,MAAM;IACN,KAAAmB,IAAI,GAAJA,IAAI;IACJ,KAAAd,MAAM,GAANA,MAAM;IALR,KAAAJ,IAAI;EAMV;;AAGL;;;;AAIA,OAAM,SAAUmB,eAAeA,CAC7BF,GAAe,EACflB,MAAe,EACfmB,IAA0B,EAC1Bd,MAA0B;EAE1B,OAAO,IAAIY,eAAe,CAACC,GAAG,EAAElB,MAAM,EAAEmB,IAAI,EAAEd,MAAM,CAAC;AACvD;AAEA;;;AAGA,OAAM,MAAOgB,mBAAmB;EAE9BvB,YACWoB,GAAc,EACdlB,MAAe,EACfmB,IAA2C,EAC3Cd,MAA0B;IAH1B,KAAAa,GAAG,GAAHA,GAAG;IACH,KAAAlB,MAAM,GAANA,MAAM;IACN,KAAAmB,IAAI,GAAJA,IAAI;IACJ,KAAAd,MAAM,GAANA,MAAM;IALR,KAAAJ,IAAI;EAMV;;AAGL;;;;AAIA,OAAM,SAAUqB,mBAAmBA,CACjCJ,GAAc,EACdlB,MAAe,EACfmB,IAA2C,EAC3Cd,MAA0B;EAE1B,OAAO,IAAIgB,mBAAmB,CAACH,GAAG,EAAElB,MAAM,EAAEmB,IAAI,EAAEd,MAAM,CAAC;AAC3D;AAEA;;;AAGA,OAAM,SAAUkB,MAAMA,CAAClB,MAA0B;EAC/C,OAAAmB,eAAA,CAAAC,IAAA,CAAOD,eAAA,CAAAE,IAAA,CAAS,GAAGrB,MAAM,CAACsB,MAAM,iBAAiB,EAAEC,eAAA,CAAAC,GAAA,CAAWC,EAAE,EAAbzB,MAAM,CAAQ,CAAC;AACpE;AAEA,SAAS0B,YAAYA,CAAC/B,MAAe;EACnC,OAAOL,eAAe,CAACK,MAAM,EAAE;IAAEgC,MAAM,EAAE;EAAK,CAAE,CAAC;AACnD;AAEA,SAASC,yBAAyBA,CAACC,IAAyB;EAC1D,QAAQA,IAAI,CAACC,IAAI,CAAClC,IAAI;IACpB;MACE,OAAO,WAAW;IACpB;MACE,OAAO,WAAW;EACtB;AACF;AAEA,SAASmC,qBAAqBA,CAAClB,GAAoB;EACjD,OAAOA,GAAG,CAACmB,IAAI,GAAGT,eAAA,CAAAU,IAAA,CAA6E,EAAE,EAA/EV,eAAA,CAAAC,GAAA,CAAeK,IAAI,IAAKD,yBAAyB,CAACC,IAAI,CAAC,GAAGA,IAAI,CAACK,OAAO,EAAtErB,GAAG,CAACsB,KAAK,CAA8D,CAAS;AACpG;AAEA,SAASC,oBAAoBA,CAACC,KAAsB;EAClD,QAAQA,KAAK,CAACvB,IAAI;IAChB,KAAK,MAAM;MAAE;QACX,OAAO,8BAA8B;MACvC;IACA,KAAK,WAAW;MAAE;QAChB,OAAO,8BAA8B;MACvC;EACF;AACF;AAEA,SAASwB,wBAAwBA,CAACD,KAA0B;EAC1D,QAAQA,KAAK,CAACvB,IAAI;IAChB,KAAK,SAAS;MAAE;QACd,OAAO,qCAAqC;MAC9C;IACA,KAAK,gBAAgB;MAAE;QACrB,OAAO,gCAAgC;MACzC;IACA,KAAK,MAAM;MAAE;QACX,OAAO,kCAAkC;MAC3C;EACF;AACF;AAEA,SAASyB,WAAWA,CAAC1B,GAAQ;EAC3B,OAAO2B,eAAA,CAAAC,OAAA,CAGKC,KAAK,IACbC,eAAA,CAAAC,KAAA,CACE,MAAMC,eAAA,CAAAC,IAAA,CAAKJ,KAAK,EAAAK,UAAA,aAAC,EAChBC,WAAW,IAAKH,eAAA,CAAAC,IAAA,CAAK,GAAGJ,KAAK,KAAKM,WAAW,GAAG,EAAAD,UAAA,aAAC,EAFpDlC,GAAG,CAACoC,WAAW,CAACC,GAAG,CAAAC,eAAA,CAAAC,WAAA,CAA2B,CAG7C,EAPEZ,eAAA,CAAAa,MAAA,OAEGxC,GAAG,CAACoC,WAAW,CAACC,GAAG,CAAAC,eAAA,CAAAG,KAAA,CAAqB,EAF3CzC,GAAG,CAACoC,WAAW,CACnBC,GAAG,CAAAC,eAAA,CAAAI,UAAA,CAA0B,CACmB,CAMhD;AACL;AAEA,SAASC,eAAeA,CAAC3C,GAAe;EACtC,OAAOU,eAAA,CAAAU,IAAA,CAAyD,KAAK,EAA9DV,eAAA,CAAAC,GAAA,CAAoBiC,UAAU,IAAKA,UAAU,CAACC,IAAI,EAAlD7C,GAAG,CAAC4C,UAAU,CAAqC,CAAY;AACxE;AAEA,SAASE,cAAcA,CAAC9C,GAAQ;EAC9B;EACA,QAAQA,GAAG,CAACjB,IAAI;IACd;MACE,OAAO4C,eAAA,CAAAoB,SAAA,OAA2B,QAAQ,EAAnCrB,WAAW,CAAC1B,GAAG,CAAC,CAAoB;IAC7C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,QAAQ,EAAnCrB,WAAW,CAAC1B,GAAG,CAAC,CAAoB;IAC7C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,SAAS,EAApCrB,WAAW,CAAC1B,GAAG,CAAC,CAAqB;IAC9C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,QAAQ,EAAnCrB,WAAW,CAAC1B,GAAG,CAAC,CAAoB;IAC7C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,WAAW,EAAtCrB,WAAW,CAAC1B,GAAG,CAAC,CAAuB;IAChD;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,QAAQ,EAAnCrB,WAAW,CAAC1B,GAAG,CAAC,CAAoB;IAC7C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,QAAQ,EAAnCrB,WAAW,CAAC1B,GAAG,CAAC,CAAoB;IAC7C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,KAAK,EAAhCrB,WAAW,CAAC1B,GAAG,CAAC,CAAiB;IAC1C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,SAAS,EAApCrB,WAAW,CAAC1B,GAAG,CAAC,CAAqB;IAC9C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,MAAM,EAAjCrB,WAAW,CAAC1B,GAAG,CAAC,CAAkB;IAC3C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,OAAO,EAAlCrB,WAAW,CAAC1B,GAAG,CAAC,CAAmB;IAC5C;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2BlC,YAAY,CAACb,GAAG,CAACqB,OAAO,CAAC,EAApDK,WAAW,CAAC1B,GAAG,CAAC,CAAqC;IAC9D;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2BlC,YAAY,CAACb,GAAG,CAACgD,MAAM,CAAC,EAAnDtB,WAAW,CAAC1B,GAAG,CAAC,CAAoC;IAC7D;MACE,OAAOU,eAAA,CAAAU,IAAA,CAAmC,MAAM,EAAzCV,eAAA,CAAAC,GAAA,CAAcmC,cAAc,EAA5B9C,GAAG,CAACiD,KAAK,CAAoB,CAAa;IACnD;MACE,OAAOtB,eAAA,CAAAoB,SAAA,OAA2B,YAAY,EAAvCrB,WAAW,CAAC1B,GAAG,CAAC,CAAwB;IACjD;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B7B,qBAAqB,CAAClB,GAAG,CAAC,EAArD0B,WAAW,CAAC1B,GAAG,CAAC,CAAsC;IAC/D;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,gBAAgB,EAA3CrB,WAAW,CAAC1B,GAAG,CAAC,CAA4B;IACrD;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,cAAc,EAAzCrB,WAAW,CAAC1B,GAAG,CAAC,CAA0B;IACnD;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2BrC,eAAA,CAAAU,IAAA,CAA0D,KAAK,EAA/DV,eAAA,CAAAC,GAAA,CAAc,CAAC,CAACuC,CAAC,EAAEC,KAAK,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC,EAAnDnD,GAAG,CAACsD,KAAK,CAA2C,CAAY,EAA3F5B,WAAW,CAAC1B,GAAG,CAAC,CAA4E;IACrG;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,yBAAyB,EAApDrB,WAAW,CAAC1B,GAAG,CAAC,CAAqC;IAC9D;MACE,OAAO2B,eAAA,CAAAoB,SAAA,OAA2B,gCAAgC,EAA3DrB,WAAW,CAAC1B,GAAG,CAAC,CAA4C;IACrE;MACE,OAAO,yBAAyB8C,cAAc,CAAC9C,GAAG,CAACuD,IAAI,CAAC,OAAOT,cAAc,CAAC9C,GAAG,CAACwD,EAAE,CAAC,EAAE;IACzF;MACE,OAAO1B,eAAA,CAAAC,KAAA,CACL,MAAMY,eAAe,CAAC3C,GAAG,CAAC,EACzBnB,QAAQ,IAAK,GAAGA,QAAQ,uBAAuB8D,eAAe,CAAC3C,GAAG,CAAC,EAAE,EAFjE0B,WAAW,CAAC1B,GAAG,CAAC,CAGtB;EACL;AACF;AAEA,SAASY,EAAEA,CAACY,KAAiB;EAC3B,QAAQA,KAAK,CAACzC,IAAI;IAChB;MACE,OAAOuB,eAAA,CAAAE,IAAA,CACLmB,eAAA,CAAAoB,SAAA,OAGa,YAAYD,cAAc,CAACtB,KAAK,CAAC3C,QAAQ,CAAC,YAAYgC,YAAY,CAACW,KAAK,CAAC1C,MAAM,CAAC,EAAE,EAH/F6C,eAAA,CAAAhB,GAAA,CAEQ8C,CAAC,IAAKA,CAAC,CAACjC,KAAK,CAAC1C,MAAM,CAAC,EAF7B0C,KAAK,CAAC3C,QAAQ,CAACuD,WAAW,CACvBC,GAAG,CAAAC,eAAA,CAAAoB,OAAA,CAAuB,CACC,CACkE,CACjG;IACH;MACE,OAAOpD,eAAA,CAAAE,IAAA,CAAS,SAASgB,KAAK,CAACtC,KAAK,EAAE,EAAEwB,eAAA,CAAAC,GAAA,CAAiBC,EAAE,EAAnBY,KAAK,CAACrC,MAAM,CAAQ,CAAC;IAC/D;MACE,OAAOmB,eAAA,CAAAE,IAAA,CAAS,eAAe,CAAC;IAClC;MACE,OAAOF,eAAA,CAAAE,IAAA,CAAS,OAAOK,YAAY,CAACW,KAAK,CAACjC,GAAG,CAAC,EAAE,EAAEmB,eAAA,CAAAC,GAAA,CAAiBC,EAAE,EAAnBY,KAAK,CAACrC,MAAM,CAAQ,CAAC;IACzE;MACE,OAAOmB,eAAA,CAAAE,IAAA,CAAS,YAAY,CAAC;IAC/B;MACE,OAAOF,eAAA,CAAAE,IAAA,CAAS,cAAc,EAAEE,eAAA,CAAAC,GAAA,CAAiBC,EAAE,EAAnBY,KAAK,CAACrC,MAAM,CAAQ,CAAC;IACvD;MACE,OAAOmB,eAAA,CAAAE,IAAA,CAASe,oBAAoB,CAACC,KAAK,CAAC,EAAEd,eAAA,CAAAC,GAAA,CAAiBC,EAAE,EAAnBY,KAAK,CAACrC,MAAM,CAAQ,CAAC;IACpE;MACE,OAAOmB,eAAA,CAAAE,IAAA,CAASiB,wBAAwB,CAACD,KAAK,CAAC,EAAEd,eAAA,CAAAC,GAAA,CAAiBC,EAAE,EAAnBY,KAAK,CAACrC,MAAM,CAAQ,CAAC;EAC1E;AACF"}
@@ -3,13 +3,14 @@ import * as tsplus_module_2 from "@fncts/base/data/Either/api";
3
3
  import * as tsplus_module_3 from "@fncts/schema/ParseError";
4
4
  import * as tsplus_module_4 from "@fncts/base/data/function/api";
5
5
  import * as tsplus_module_5 from "@fncts/base/data/Either/destructors";
6
+ export const encode = encode_1;
6
7
  import { parserFor } from "./interpreter.mjs";
7
8
  /**
8
9
  * @tsplus getter fncts.schema.Schema decode
9
10
  * @tsplus getter fncts.schema.Parser decode
10
11
  */
11
12
  export function decode(schema) {
12
- return parserFor(schema.ast);
13
+ return parserFor(schema.ast, true);
13
14
  }
14
15
  /**
15
16
  * @tsplus getter fncts.schema.Schema decodeMaybe
@@ -22,40 +23,28 @@ export function decodeMaybe(schema) {
22
23
  * @tsplus getter fncts.schema.Schema encode
23
24
  * @tsplus getter fncts.schema.Parser encode
24
25
  */
25
- export function encode(schema) {
26
- return parserFor(tsplus_module_1.reverse(schema.ast));
26
+ function encode_1(schema) {
27
+ return parserFor(schema.ast, false);
27
28
  }
28
29
  /**
29
30
  * @tsplus getter fncts.schema.Schema encodeMaybe
30
31
  * @tsplus getter fncts.schema.Parser encodeMaybe
31
32
  */
32
33
  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
- };
34
+ return (input, options) => tsplus_module_2.toMaybe(encode_1(schema)(input, options));
43
35
  }
44
36
  function parseMaybe(ast) {
45
- const parse = parserFor(ast);
37
+ const parse = parserFor(ast, true);
46
38
  return (input, options) => {
47
39
  return tsplus_module_2.toMaybe(parse(input, options));
48
40
  };
49
41
  }
50
42
  function parseOrThrow(ast) {
51
- const parser = parserFor(ast);
43
+ const parser = parserFor(ast, true);
52
44
  return (input, options) => {
53
- return tsplus_module_5.match({
54
- Left: failure => {
55
- throw new Error(tsplus_module_3.format(failure.errors));
56
- },
57
- Right: tsplus_module_4.identity
58
- })(parser(input, options));
45
+ return tsplus_module_5.match(failure => {
46
+ throw new Error(tsplus_module_3.format(failure.errors));
47
+ }, tsplus_module_4.identity)(parser(input, options));
59
48
  };
60
49
  }
61
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":["parserFor","decode","schema","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encode","reverse","encodeMaybe","is","input","options","tsplus_module_2","isRight","parse","toMaybe","parseOrThrow","parser","tsplus_module_5","match","Left","failure","Error","tsplus_module_3","format","errors","Right","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;AAEA,SAASA,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAMA,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC;AAC9B;AAEA;;;;AAIA,OAAM,SAAUC,WAAWA,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,OAAM,SAAUK,MAAMA,CAAIN,MAAiB;EACzC,OAAOF,SAAS,CAAAM,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACtC;AAEA;;;;AAIA,OAAM,SAAUO,WAAWA,CAAIR,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACvC;AAEA;;;;AAIA,OAAM,SAAUQ,EAAEA,CAAIT,MAAiB;EACrC,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAOC,eAAA,CAAAC,OAAA,CAAAf,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC,CAACS,KAAK,EAAEC,OAAO,CAAC,CAAU;EACxD,CAAC;AACH;AAEA,SAASR,UAAUA,CAACF,GAAQ;EAC1B,MAAMa,KAAK,GAAGhB,SAAS,CAACG,GAAG,CAAC;EAC5B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAG,OAAA,CAAOD,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASK,YAAYA,CAACf,GAAQ;EAC5B,MAAMgB,MAAM,GAAGnB,SAAS,CAACG,GAAG,CAAC;EAC7B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOO,eAAA,CAAAC,KAAA,CAA6B;MAClCC,IAAI,EAAGC,OAAO,IAAI;QAChB,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,OAAO,CAACI,MAAM,CAAC,CAAC;MACpD,CAAC;MACDC,KAAK,EAAAC,eAAA,CAAAC;KACN,EALMX,MAAM,CAACP,KAAK,EAAEC,OAAO,CAAC,CAK3B;EACJ,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUkB,OAAOA,CAAI7B,MAAiB;EAC1C,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAwB;IACpEK,YAAY,CAAAZ,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO,CAACS,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}
1
+ {"version":3,"file":"api.mjs","names":["encode","encode_1","parserFor","decode","schema","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encodeMaybe","input","options","tsplus_module_2","toMaybe","parse","parseOrThrow","parser","tsplus_module_5","match","failure","Error","tsplus_module_3","format","errors","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;aAwBgBA,MAAM,GAAAC,QAAA;AAtBtB,SAASC,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAMA,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,EAAE,IAAI,CAAC;AACpC;AAEA;;;;AAIA,OAAM,SAAUC,WAAWA,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,SAAAJ,SAA0BG,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,EAAE,KAAK,CAAC;AACrC;AAEA;;;;AAIA,OAAM,SAAUK,WAAWA,CAAIN,MAAiB;EAC9C,OAAO,CAACO,KAAK,EAAEC,OAAO,KAAIC,eAAA,CAAAC,OAAA,CAACb,QAAA,CAAOG,MAAM,CAAC,CAACO,KAAK,EAAEC,OAAO,CAAC,CAAQ;AACnE;AAEA,SAASL,UAAUA,CAACF,GAAQ;EAC1B,MAAMU,KAAK,GAAGb,SAAS,CAACG,GAAG,EAAE,IAAI,CAAC;EAClC,OAAO,CAACM,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAC,OAAA,CAAOC,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASI,YAAYA,CAACX,GAAQ;EAC5B,MAAMY,MAAM,GAAGf,SAAS,CAACG,GAAG,EAAE,IAAI,CAAC;EACnC,OAAO,CAACM,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOM,eAAA,CAAAC,KAAA,CAA8BC,OAAO,IAAI;MAC9C,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,OAAO,CAACI,MAAM,CAAC,CAAC;IACpD,CAAC,EAAAC,eAAA,CAAAC,QAAA,EAFMT,MAAM,CAACN,KAAK,EAAEC,OAAO,CAAC,CAER;EACvB,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUe,OAAOA,CAAIvB,MAAiB;EAC1C,OAAO,CAACO,KAAc,EAAEC,OAAsB,KAAwB;IACpEI,YAAY,CAAAR,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO,CAACM,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}