exisjs 0.9.1 → 0.9.2

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 (58) hide show
  1. package/dist/config/config.d.ts.map +1 -1
  2. package/dist/config/config.js +2 -1
  3. package/dist/config/config.js.map +1 -1
  4. package/dist/config/types.d.ts +5 -0
  5. package/dist/config/types.d.ts.map +1 -1
  6. package/dist/docs/content/config.mdx +3 -1
  7. package/dist/docs/content/validation.mdx +33 -11
  8. package/dist/docs/reference/config.mdx +1 -0
  9. package/dist/docs/reference/sanitize.mdx +129 -134
  10. package/dist/docs/reference/validator.mdx +8 -3
  11. package/dist/router/route-scanner.d.ts +12 -4
  12. package/dist/router/route-scanner.d.ts.map +1 -1
  13. package/dist/router/route-scanner.js +46 -31
  14. package/dist/router/route-scanner.js.map +1 -1
  15. package/dist/sanitize/index.d.ts +29 -3
  16. package/dist/sanitize/index.d.ts.map +1 -1
  17. package/dist/sanitize/index.js +91 -32
  18. package/dist/sanitize/index.js.map +1 -1
  19. package/dist/server/adapters/bun-adapter.d.ts +1 -1
  20. package/dist/server/adapters/bun-adapter.d.ts.map +1 -1
  21. package/dist/server/adapters/bun-adapter.js.map +1 -1
  22. package/dist/server/bootstrapper.d.ts.map +1 -1
  23. package/dist/server/bootstrapper.js +1 -1
  24. package/dist/server/bootstrapper.js.map +1 -1
  25. package/dist/validator/builder.d.ts +12 -1
  26. package/dist/validator/builder.d.ts.map +1 -1
  27. package/dist/validator/builder.js +63 -24
  28. package/dist/validator/builder.js.map +1 -1
  29. package/dist/validator/compile.d.ts +7 -2
  30. package/dist/validator/compile.d.ts.map +1 -1
  31. package/dist/validator/compile.js +85 -54
  32. package/dist/validator/compile.js.map +1 -1
  33. package/dist/validator/engine.d.ts +58 -7
  34. package/dist/validator/engine.d.ts.map +1 -1
  35. package/dist/validator/engine.js +432 -525
  36. package/dist/validator/engine.js.map +1 -1
  37. package/dist/validator/error.d.ts.map +1 -1
  38. package/dist/validator/error.js +7 -0
  39. package/dist/validator/error.js.map +1 -1
  40. package/dist/validator/rules.d.ts +66 -7
  41. package/dist/validator/rules.d.ts.map +1 -1
  42. package/dist/validator/rules.js +435 -109
  43. package/dist/validator/rules.js.map +1 -1
  44. package/dist/validator/tex-types.d.ts +15 -0
  45. package/dist/validator/tex-types.d.ts.map +1 -1
  46. package/dist/validator/tex-types.js +127 -64
  47. package/dist/validator/tex-types.js.map +1 -1
  48. package/dist/validator/text.d.ts +2 -0
  49. package/dist/validator/text.d.ts.map +1 -1
  50. package/dist/validator/text.js +31 -13
  51. package/dist/validator/text.js.map +1 -1
  52. package/dist/validator/types.d.ts +15 -0
  53. package/dist/validator/types.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/dist/sanitize/sanitize.d.ts +0 -33
  56. package/dist/sanitize/sanitize.d.ts.map +0 -1
  57. package/dist/sanitize/sanitize.js +0 -104
  58. package/dist/sanitize/sanitize.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/validator/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/validator/builder.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TexBuilder = void 0;
4
4
  const tex_types_1 = require("./tex-types");
5
5
  const engine_1 = require("./engine");
6
+ const rules_1 = require("./rules");
7
+ // `length` and `pattern` for string-like schemas
8
+ function textChecks(opts) {
9
+ let out = '';
10
+ if (opts?.length !== undefined)
11
+ out += ` | length:${opts.length}`;
12
+ if (opts?.pattern) {
13
+ out += ` | pattern:${JSON.stringify([opts.pattern.source, opts.pattern.flags])}`;
14
+ }
15
+ return out;
16
+ }
6
17
  /**
7
18
  * Declarative schema builder; each schema compiles once into plain JS checks.
8
19
  */
@@ -52,7 +63,36 @@ class TexBuilder {
52
63
  base += ' | preventSql';
53
64
  if (opts?.preventTraversal)
54
65
  base += ' | preventTraversal';
55
- return new tex_types_1.TexType(base, opts?.default);
66
+ return new tex_types_1.TexType(base + textChecks(opts), opts?.default);
67
+ }
68
+ /**
69
+ * Defines an absolute URL schema. Only `http` and `https` are accepted
70
+ * unless `protocols` says otherwise.
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const website = tex.url({ trim: true })
75
+ * const callback = tex.url({ protocols: ['https'] })
76
+ * ```
77
+ */
78
+ url(opts) {
79
+ let base = 'url';
80
+ if (opts?.optional || opts?.default !== undefined)
81
+ base += '?';
82
+ if (opts?.nullable)
83
+ base += ' | nullable';
84
+ if (opts?.nullish)
85
+ base += ' | nullish';
86
+ if (opts?.trim)
87
+ base += ' | trim';
88
+ if (opts?.protocols?.length) {
89
+ base += ` | protocols:${opts.protocols.map((p) => p.replace(/:$/, '')).join(',')}`;
90
+ }
91
+ if (opts?.min !== undefined)
92
+ base += ` | min:${opts.min}`;
93
+ if (opts?.max !== undefined)
94
+ base += ` | max:${opts.max}`;
95
+ return new tex_types_1.TexType(base + textChecks(opts), opts?.default);
56
96
  }
57
97
  /**
58
98
  * Defines a number schema with bounds and optional auto-coercion from string query parameters.
@@ -75,6 +115,8 @@ class TexBuilder {
75
115
  base += ' | nullish';
76
116
  if (opts?.coerce)
77
117
  base += ' | coerce';
118
+ if (opts?.int)
119
+ base += ' | int';
78
120
  if (opts?.min !== undefined)
79
121
  base += ` | min:${opts.min}`;
80
122
  if (opts?.max !== undefined)
@@ -267,7 +309,7 @@ class TexBuilder {
267
309
  * ```
268
310
  */
269
311
  enum(values, opts) {
270
- let base = `enum:${values.join(',')}`;
312
+ let base = `enum:${(0, rules_1.formatEnumValues)(values)}`;
271
313
  if (opts?.optional || opts?.default !== undefined)
272
314
  base += '?';
273
315
  if (opts?.nullable)
@@ -280,7 +322,8 @@ class TexBuilder {
280
322
  * Defines an exact literal value schema (e.g. `'v1'`, `42`, `true`).
281
323
  */
282
324
  literal(value, opts) {
283
- let base = `literal:${value}`;
325
+ // JSON keeps the type: literal(42) is the number, literal('42') the text
326
+ let base = `literal:${JSON.stringify(value)}`;
284
327
  if (opts?.optional)
285
328
  base += '?';
286
329
  if (opts?.nullable)
@@ -298,7 +341,7 @@ class TexBuilder {
298
341
  * ```
299
342
  */
300
343
  union(schemas, opts) {
301
- const items = schemas.map((s) => (s instanceof tex_types_1.TexType ? s._raw : s));
344
+ const items = schemas.map((s) => (0, engine_1.fieldRule)('[option]', s));
302
345
  let base = items.join(' || ');
303
346
  if (opts?.optional)
304
347
  base = `(${base})?`;
@@ -306,7 +349,9 @@ class TexBuilder {
306
349
  base += ' | nullable';
307
350
  if (opts?.nullish)
308
351
  base += ' | nullish';
309
- return new tex_types_1.TexType(base);
352
+ const res = new tex_types_1.TexType(base);
353
+ res._options = schemas;
354
+ return res;
310
355
  }
311
356
  /**
312
357
  * Defines a date schema with bounds checking and automatic coercion from ISO strings or timestamps.
@@ -339,15 +384,16 @@ class TexBuilder {
339
384
  * Defines a dynamic key-value record schema (e.g. `Record<string, T>`).
340
385
  */
341
386
  record(schema, opts) {
342
- const itemSchema = schema instanceof tex_types_1.TexType ? schema._raw : schema;
343
- let base = `record<${itemSchema}>`;
387
+ let base = `record<${(0, engine_1.fieldRule)('[value]', schema)}>`;
344
388
  if (opts?.optional)
345
389
  base += '?';
346
390
  if (opts?.nullable)
347
391
  base += ' | nullable';
348
392
  if (opts?.nullish)
349
393
  base += ' | nullish';
350
- return new tex_types_1.TexType(base);
394
+ const res = new tex_types_1.TexType(base);
395
+ res._value = schema;
396
+ return res;
351
397
  }
352
398
  /**
353
399
  * Defines an unconstrained pass-through schema.
@@ -464,23 +510,16 @@ class TexBuilder {
464
510
  const coercedSchema = {};
465
511
  for (const [key, value] of Object.entries(schema)) {
466
512
  if (value instanceof tex_types_1.TexType) {
467
- let raw = value._raw;
513
+ const raw = value._raw;
468
514
  // Auto-inject coercion if not already present
469
- if ((raw.startsWith('number') ||
470
- raw.startsWith('boolean') ||
471
- raw.startsWith('date') ||
472
- raw.startsWith('array<')) &&
473
- !raw.includes('coerce')) {
474
- raw = `${raw} | coerce`;
475
- }
476
- const cloned = new tex_types_1.TexType(raw, value.defaultValue);
477
- cloned.sanitizers = [...value.sanitizers];
478
- cloned.refinements = [...value.refinements];
479
- if (value._item) {
480
- ;
481
- cloned._item = value._item;
482
- }
483
- coercedSchema[key] = cloned;
515
+ coercedSchema[key] =
516
+ (raw.startsWith('number') ||
517
+ raw.startsWith('boolean') ||
518
+ raw.startsWith('date') ||
519
+ raw.startsWith('array<')) &&
520
+ !raw.includes('coerce')
521
+ ? value._withModifier('coerce')
522
+ : value;
484
523
  }
485
524
  else if (value instanceof engine_1.TexEngine) {
486
525
  coercedSchema[key] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/validator/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/validator/builder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
- /** Builds the validator TexEngine calls for every parse */
2
- export declare function compileSchema(schema: Record<string, string>, strict: boolean): (data: any) => any;
1
+ /**
2
+ * Builds the validator TexEngine calls for every parse. `raw` holds the
3
+ * schema objects the rules were built from (sanitizers, refinements,
4
+ * defaults, nested schemas); `query` converts top-level number and boolean
5
+ * fields from text.
6
+ */
7
+ export declare function compileSchema(schema: Record<string, string>, strict: boolean, raw?: Record<string, any>, query?: boolean): (data: any) => any;
3
8
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/validator/compile.ts"],"names":[],"mappings":"AA0RA,2DAA2D;AAC3D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAkBpB"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/validator/compile.ts"],"names":[],"mappings":"AAyVA;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,OAAO,EACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,UAAQ,GACZ,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAgBpB"}
@@ -6,23 +6,26 @@
6
6
  // become nested blocks and loops, and the result is built as a single object
7
7
  // literal. V8 optimizes this far better than a loop over check closures.
8
8
  //
9
- // Rules that are rare or involved (unions, records, passwords, text
9
+ // Rules that are rare or involved (unions, records, passwords, dates, text
10
10
  // sanitizers...) are not inlined; the generated code calls the closure from
11
- // rules.ts for them, so behavior is defined in exactly one place.
11
+ // rules.ts for them, so behavior is defined in exactly one place. Sanitizers,
12
+ // refinements and transforms are closures too, called around the inlined
13
+ // type check.
12
14
  //
13
15
  // Only schema authors' data reaches the generated source, and every string
14
- // from it is embedded with JSON.stringify. Request data is never part of the
15
- // code. Where `new Function` is unavailable (strict CSP, some edge runtimes)
16
- // the closure-based validator from rules.ts is used instead.
16
+ // from it is embedded with JSON.stringify. Request data and default values are
17
+ // never part of the code. Where `new Function` is unavailable (strict CSP,
18
+ // some edge runtimes) the closure-based validator from rules.ts is used.
17
19
  Object.defineProperty(exports, "__esModule", { value: true });
18
20
  exports.compileSchema = compileSchema;
19
21
  const rules_1 = require("./rules");
22
+ const error_1 = require("./error");
20
23
  class Generator {
21
24
  constructor() {
22
25
  this.id = 0;
23
26
  /** Closures called from generated code as c[n](value) */
24
27
  this.checks = [];
25
- /** Regexes and Sets referenced from generated code as x[n] */
28
+ /** Regexes, Sets and default values referenced as x[n] */
26
29
  this.refs = [];
27
30
  }
28
31
  next(prefix) {
@@ -35,10 +38,15 @@ class Generator {
35
38
  fail(constraint, path) {
36
39
  return `E("field",${JSON.stringify(constraint)},[${path.join(',')}])`;
37
40
  }
41
+ /** Calls closure `fn` on `v`, attaching the path to what it throws */
42
+ call(fn, v, path) {
43
+ this.checks.push(fn);
44
+ return `try{${v}=c[${this.checks.length - 1}](${v})}catch(e){P(e,[${path.join(',')}])}`;
45
+ }
38
46
  /** Validates the object in `src` and assigns the cleaned copy to `dest` */
39
- object(schema, strict, src, dest, path) {
47
+ object(schema, strict, src, dest, path, raw, query = false) {
40
48
  const keys = Object.keys(schema);
41
- const rules = keys.map((k) => (0, rules_1.compileRule)(schema[k]));
49
+ const rules = (0, rules_1.compileFields)(schema, raw, query);
42
50
  let code = '';
43
51
  if (strict) {
44
52
  const known = this.ref(new Set(keys));
@@ -53,24 +61,33 @@ class Generator {
53
61
  const r = this.next('r');
54
62
  const v = this.next('v');
55
63
  results.push(r);
56
- const canBeAbsent = rule.optional && rule.defaultValue === undefined;
64
+ const hasDefault = rule.defaultRef !== undefined || rule.defaultValue !== undefined;
65
+ const canBeAbsent = rule.optional && !hasDefault;
57
66
  if (canBeAbsent)
58
67
  anyAbsent = true;
59
68
  let body = `let ${v}=${src}[${key}];`;
60
- let onMissing;
61
- if (rule.defaultValue !== undefined) {
62
- onMissing = `${v}=${JSON.stringify(rule.defaultValue)};`;
69
+ // A blank form field counts as left out (or null when only nullable)
70
+ if (rule.optional || rule.nullable) {
71
+ const blank = rule.nullable && !rule.optional ? 'null' : 'undefined';
72
+ body += `if(typeof ${v}==="string"&&${v}.trim()==="")${v}=${blank};`;
63
73
  }
64
- else if (rule.optional) {
65
- onMissing = '';
74
+ if (hasDefault) {
75
+ const missing = rule.nullable
76
+ ? `${v}===undefined`
77
+ : `${v}===undefined||${v}===null`;
78
+ const value = rule.defaultRef
79
+ ? `R(${this.ref(rule.defaultRef.value)})`
80
+ : JSON.stringify(rule.defaultValue);
81
+ body += `if(${missing})${v}=${value};`;
66
82
  }
67
- else {
68
- onMissing = `E("missing","",[${fieldPath.join(',')}]);`;
83
+ if (rule.pre) {
84
+ body += `if(${v}!==undefined&&${v}!==null){${this.call(rule.pre, v, fieldPath)}}`;
69
85
  }
70
- const check = `${this.value(rule, v, fieldPath)}${r}=${v};`;
86
+ const check = `${this.value(rule, v, fieldPath, false)}${r}=${v};`;
87
+ const missing = `E("missing","",[${fieldPath.join(',')}]);`;
71
88
  const present = canBeAbsent
72
89
  ? `if(${v}!==undefined&&${v}!==null){${check}}`
73
- : `if(${v}===undefined||${v}===null){${onMissing}}${check}`;
90
+ : `if(${v}===undefined||${v}===null){${missing}}${check}`;
74
91
  body += rule.nullable
75
92
  ? `if(${v}===null)${r}=null;else{${present}}`
76
93
  : present;
@@ -84,17 +101,26 @@ class Generator {
84
101
  code += `${dest}={};`;
85
102
  for (let i = 0; i < keys.length; i++) {
86
103
  const assign = `${dest}[${JSON.stringify(keys[i])}]=${results[i]};`;
87
- const optional = rules[i].optional && rules[i].defaultValue === undefined;
104
+ const optional = rules[i].optional &&
105
+ rules[i].defaultRef === undefined &&
106
+ rules[i].defaultValue === undefined;
88
107
  code += optional ? `if(${results[i]}!==undefined)${assign}` : assign;
89
108
  }
90
109
  }
91
110
  return code;
92
111
  }
93
112
  /** Validates the non-null value held in variable `v`, updating it in place */
94
- value(rule, v, path) {
113
+ value(rule, v, path, withPre = true) {
114
+ let code = withPre && rule.pre ? this.call(rule.pre, v, path) : '';
115
+ code += rule.gen
116
+ ? this.inline(rule, v, path)
117
+ : this.call(rule.base, v, path);
118
+ if (rule.post)
119
+ code += this.call(rule.post, v, path);
120
+ return code;
121
+ }
122
+ inline(rule, v, path) {
95
123
  const gen = rule.gen;
96
- if (!gen)
97
- return this.delegate(rule, v, path);
98
124
  switch (gen.kind) {
99
125
  case 'pass':
100
126
  return '';
@@ -107,6 +133,9 @@ class Generator {
107
133
  code += `if(typeof ${v}==="string"&&${v}.trim()!==""){const n=Number(${v});if(Number.isFinite(n))${v}=n}`;
108
134
  }
109
135
  code += `if(typeof ${v}!=="number"||!Number.isFinite(${v}))${this.fail('must be a number', path)};`;
136
+ if (m.int) {
137
+ code += `if(!Number.isInteger(${v}))E("field","must be an integer",[${path.join(',')}],"INVALID_TYPE","integer");`;
138
+ }
110
139
  if (m.min !== undefined) {
111
140
  code += `if(${v}<${m.min})${this.fail(`must be >= ${m.min}`, path)};`;
112
141
  }
@@ -116,16 +145,13 @@ class Generator {
116
145
  return code;
117
146
  }
118
147
  case 'boolean': {
119
- let code = '';
120
- if (gen.m.coerce) {
121
- code += `if(${v}==="true"||${v}==="1"||${v}===1)${v}=true;else if(${v}==="false"||${v}==="0"||${v}===0)${v}=false;`;
122
- }
148
+ const code = gen.m.coerce ? `${v}=B(${v});` : '';
123
149
  return (code +
124
150
  `if(typeof ${v}!=="boolean")${this.fail('must be a boolean', path)};`);
125
151
  }
126
152
  case 'email': {
127
153
  if (gen.m.mask)
128
- return this.delegate(rule, v, path);
154
+ return this.call(rule.base, v, path);
129
155
  let code = `if(typeof ${v}!=="string")${this.fail('must be a string', path)};`;
130
156
  if (gen.m.trim)
131
157
  code += `${v}=${v}.trim();`;
@@ -143,14 +169,14 @@ class Generator {
143
169
  const out = this.next('o');
144
170
  return (`if(typeof ${v}==="string")${v}=J(${v},"{","}");` +
145
171
  `if(${v}===null||typeof ${v}!=="object"||Array.isArray(${v}))${this.fail('must be an object', path)};` +
146
- `let ${out};${this.object(gen.schema, false, v, out, path)}${v}=${out};`);
172
+ `let ${out};${this.object(gen.schema, gen.strict, v, out, path, gen.raw)}${v}=${out};`);
147
173
  }
148
174
  case 'array': {
149
175
  const { item, m } = gen;
150
176
  const arr = this.next('a');
151
177
  const i = this.next('i');
152
178
  const el = this.next('e');
153
- let code = `if(!Array.isArray(${v}))${v}=A(${v});` +
179
+ let code = `if(!Array.isArray(${v}))${v}=${m.coerce ? 'C' : 'A'}(${v});` +
154
180
  `if(!Array.isArray(${v}))${this.fail('must be an array', path)};`;
155
181
  if (m.min !== undefined) {
156
182
  code += `if(${v}.length<${m.min})${this.fail(`array must have at least ${m.min} items`, path)};`;
@@ -179,8 +205,9 @@ class Generator {
179
205
  m.preventSql ||
180
206
  m.preventTraversal ||
181
207
  m.mask) {
182
- return this.delegate(rule, v, path);
208
+ return this.call(rule.base, v, path);
183
209
  }
210
+ const p = `[${path.join(',')}]`;
184
211
  let code = '';
185
212
  if (m.coerce) {
186
213
  code += `if(typeof ${v}==="number"||typeof ${v}==="boolean")${v}=String(${v});`;
@@ -198,57 +225,61 @@ class Generator {
198
225
  if (m.max !== undefined) {
199
226
  code += `if(${v}.length>${m.max})${this.fail(`must be at most ${m.max} characters`, path)};`;
200
227
  }
228
+ if (m.length !== undefined) {
229
+ code += `if(${v}.length!==${m.length})E("field",${JSON.stringify(`must be exactly ${m.length} characters`)},${p},"INVALID_LENGTH");`;
230
+ }
231
+ if (m.pattern !== undefined) {
232
+ code += `if(!${this.ref(m.pattern)}.test(${v}))E("field",${JSON.stringify(rules_1.PATTERN_FAILED)},${p},"INVALID_FORMAT",${JSON.stringify(`match ${m.pattern}`)});`;
233
+ }
201
234
  return code;
202
235
  }
203
- delegate(rule, v, path) {
204
- this.checks.push(rule.check);
205
- const n = this.checks.length - 1;
206
- return `try{${v}=c[${n}](${v})}catch(e){P(e,[${path.join(',')}])}`;
207
- }
208
236
  }
209
237
  // Helpers handed to the generated function
210
- function throwRuleError(kind, detail, path) {
211
- const err = new rules_1.RuleError(kind, detail);
238
+ function throwRuleError(kind, detail, path, code, expected) {
239
+ const err = new rules_1.RuleError(kind, detail, code, expected);
212
240
  err.path.push(...path);
213
241
  throw err;
214
242
  }
215
243
  function prefixAndRethrow(err, path) {
216
244
  if (err instanceof rules_1.RuleError)
217
245
  err.path.unshift(...path);
246
+ else if (err instanceof error_1.ValidatorError)
247
+ (0, rules_1.prefixErrors)(err, path);
218
248
  throw err;
219
249
  }
220
- function generate(schema, strict) {
250
+ function generate(schema, strict, raw, query) {
221
251
  const g = new Generator();
222
- const body = `"use strict";return function texValidate(d){let o;${g.object(schema, strict, 'd', 'o', [])}return o}`;
223
- const factory = new Function('c', 'x', 'E', 'P', 'J', 'A', 'D', body);
224
- return factory(g.checks, g.refs, throwRuleError, prefixAndRethrow, rules_1.parseJsonString, rules_1.normalizeArrayInput, rules_1.dedupeItems);
252
+ const body = `"use strict";return function texValidate(d){let o;${g.object(schema, strict, 'd', 'o', [], raw, query)}return o}`;
253
+ const factory = new Function('c', 'x', 'E', 'P', 'J', 'A', 'C', 'D', 'B', 'R', body);
254
+ return factory(g.checks, g.refs, throwRuleError, prefixAndRethrow, rules_1.parseJsonString, rules_1.normalizeArrayInput, rules_1.coerceArrayInput, rules_1.dedupeItems, rules_1.coerceBoolean, rules_1.resolveDefault);
225
255
  }
226
256
  // Assigning out["__proto__"] would set a prototype instead of a property; such
227
257
  // schemas (and their nested objects) stay on the interpreted path
228
258
  function mentionsProto(schema) {
229
259
  return Object.keys(schema).some((k) => k === '__proto__' || schema[k].includes('__proto__'));
230
260
  }
231
- /** Builds the validator TexEngine calls for every parse */
232
- function compileSchema(schema, strict) {
261
+ /**
262
+ * Builds the validator TexEngine calls for every parse. `raw` holds the
263
+ * schema objects the rules were built from (sanitizers, refinements,
264
+ * defaults, nested schemas); `query` converts top-level number and boolean
265
+ * fields from text.
266
+ */
267
+ function compileSchema(schema, strict, raw, query = false) {
233
268
  let validate;
234
269
  try {
235
- if (mentionsProto(schema))
236
- return (0, rules_1.compileSchema)(schema, strict);
237
- validate = generate(schema, strict);
270
+ if (mentionsProto(schema)) {
271
+ return (0, rules_1.compileSchema)(schema, strict, raw, query);
272
+ }
273
+ validate = generate(schema, strict, raw, query);
238
274
  }
239
275
  catch {
240
- return (0, rules_1.compileSchema)(schema, strict);
276
+ return (0, rules_1.compileSchema)(schema, strict, raw, query);
241
277
  }
242
278
  return (data) => {
243
279
  if (data === null || typeof data !== 'object' || Array.isArray(data)) {
244
- throw new Error('Input must be a JSON object');
245
- }
246
- try {
247
- return validate(data);
248
- }
249
- catch (err) {
250
- throw err instanceof rules_1.RuleError ? (0, rules_1.toLegacyError)(err) : err;
280
+ throw new rules_1.RuleError('input', 'Input must be a JSON object');
251
281
  }
282
+ return validate(data);
252
283
  };
253
284
  }
254
285
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/validator/compile.ts"],"names":[],"mappings":";AAAA,yBAAyB;AACzB,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;;AA6Q7D,sCAqBC;AAhSD,mCAWgB;AAIhB,MAAM,SAAS;IAAf;QACU,OAAE,GAAG,CAAC,CAAA;QACd,yDAAyD;QAChD,WAAM,GAAwB,EAAE,CAAA;QACzC,8DAA8D;QACrD,SAAI,GAAc,EAAE,CAAA;IAyM/B,CAAC;IAvMS,IAAI,CAAC,MAAc;QACzB,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA;IAChC,CAAC;IAEO,GAAG,CAAC,KAAc;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAA;IACrC,CAAC;IAEO,IAAI,CAAC,UAAkB,EAAE,IAAU;QACzC,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACvE,CAAC;IAED,2EAA2E;IAC3E,MAAM,CACJ,MAA8B,EAC9B,MAAe,EACf,GAAW,EACX,IAAY,EACZ,IAAU;QAEV,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,IAAI,GAAG,EAAE,CAAA;QAEb,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACrC,IAAI,IAAI,kBAAkB,GAAG,QAAQ,KAAK,yBAAyB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;QACxF,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAA;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEf,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAA;YACpE,IAAI,WAAW;gBAAE,SAAS,GAAG,IAAI,CAAA;YAEjC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;YACrC,IAAI,SAAiB,CAAA;YACrB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACpC,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAA;YAC1D,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzB,SAAS,GAAG,EAAE,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,mBAAmB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;YACzD,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAA;YAC3D,MAAM,OAAO,GAAG,WAAW;gBACzB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,KAAK,GAAG;gBAC/C,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,SAAS,IAAI,KAAK,EAAE,CAAA;YAC7D,IAAI,IAAI,IAAI,CAAC,QAAQ;gBACnB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,OAAO,GAAG;gBAC7C,CAAC,CAAC,OAAO,CAAA;YACX,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,GAAG,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAI,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;QAC5F,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,GAAG,IAAI,MAAM,CAAA;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;gBACnE,MAAM,QAAQ,GACZ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAA;gBAC1D,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;YACtE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,IAAe,EAAE,CAAS,EAAE,IAAU;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QAE7C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM;gBACT,OAAO,EAAE,CAAA;YACX,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAC1C,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;gBACf,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACb,IAAI,IAAI,aAAa,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,2BAA2B,CAAC,KAAK,CAAA;gBAC3G,CAAC;gBACD,IAAI,IAAI,aAAa,CAAC,iCAAiC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAA;gBACnG,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAA;gBACvE,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAA;gBACvE,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAA;gBACrH,CAAC;gBACD,OAAO,CACL,IAAI;oBACJ,aAAa,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CACtE,CAAA;YACH,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;gBACnD,IAAI,IAAI,GAAG,aAAa,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAA;gBAC9E,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI;oBAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAA;gBAC3C,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS;oBAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAA;gBACvD,OAAO,CACL,IAAI;oBACJ,OAAO,IAAI,CAAC,GAAG,CAAC,aAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,GAAG,CACjF,CAAA;YACH,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;gBACxE,OAAO,CACL,aAAa,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG;oBACnE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAChG,CAAA;YACH,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAO,CACL,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY;oBACjD,MAAM,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG;oBACtG,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CACzE,CAAA;YACH,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAA;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACzB,IAAI,IAAI,GACN,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;oBACvC,qBAAqB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAA;gBACnE,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAA;gBAClG,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAA;gBACnG,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBACpD,IAAI;oBACF,SAAS,GAAG,cAAc,CAAC,WAAW;wBACtC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBAC/D,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC9D,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI;wBACtB,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;gBACzC,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,IAAe,EAAE,CAAY,EAAE,CAAS,EAAE,IAAU;QACjE,0EAA0E;QAC1E,0DAA0D;QAC1D,IACE,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,EACN,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,IAAI,aAAa,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAA;QACjF,CAAC;QACD,IAAI,IAAI,aAAa,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAA;QAC3E,IAAI,CAAC,CAAC,IAAI;YAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAA;QACvC,IAAI,CAAC,CAAC,SAAS;YAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAA;QACnD,IAAI,CAAC,CAAC,SAAS;YAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAA;QACnD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC,GAAG,CAAA;QAC/F,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC,GAAG,CAAA;QAC9F,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,QAAQ,CAAC,IAAe,EAAE,CAAS,EAAE,IAAU;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACpE,CAAC;CACF;AAED,2CAA2C;AAE3C,SAAS,cAAc,CACrB,IAAoC,EACpC,MAAc,EACd,IAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,iBAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,MAAM,GAAG,CAAA;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY,EAAE,IAAyB;IAC/D,IAAI,GAAG,YAAY,iBAAS;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IACvD,MAAM,GAAG,CAAA;AACX,CAAC;AAED,SAAS,QAAQ,CACf,MAA8B,EAC9B,MAAe;IAEf,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,qDAAqD,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAA;IACnH,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACrE,OAAO,OAAO,CACZ,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,IAAI,EACN,cAAc,EACd,gBAAgB,EAChB,uBAAe,EACf,2BAAmB,EACnB,mBAAW,CACZ,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,kEAAkE;AAClE,SAAS,aAAa,CAAC,MAA8B;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC5D,CAAA;AACH,CAAC;AAED,2DAA2D;AAC3D,SAAgB,aAAa,CAC3B,MAA8B,EAC9B,MAAe;IAEf,IAAI,QAA4B,CAAA;IAChC,IAAI,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,IAAA,qBAAwB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1E,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAA,qBAAwB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,YAAY,iBAAS,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC3D,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/validator/compile.ts"],"names":[],"mappings":"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"}