@fncts/schema 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/_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":"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"}
@@ -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":"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"}
@@ -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"}