exisjs 0.9.0 → 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 (123) 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/database/lifecycle.d.ts +19 -2
  7. package/dist/database/lifecycle.d.ts.map +1 -1
  8. package/dist/database/lifecycle.js +92 -53
  9. package/dist/database/lifecycle.js.map +1 -1
  10. package/dist/decorators/transaction.d.ts +0 -21
  11. package/dist/decorators/transaction.d.ts.map +1 -1
  12. package/dist/decorators/transaction.js +52 -32
  13. package/dist/decorators/transaction.js.map +1 -1
  14. package/dist/docs/content/boundaries.mdx +2 -0
  15. package/dist/docs/content/config.mdx +4 -2
  16. package/dist/docs/content/decorators.mdx +1 -1
  17. package/dist/docs/content/middleware.mdx +4 -2
  18. package/dist/docs/content/requests.mdx +2 -0
  19. package/dist/docs/content/responses.mdx +54 -0
  20. package/dist/docs/content/validation.mdx +46 -11
  21. package/dist/docs/reference/README.md +16 -16
  22. package/dist/docs/reference/config.mdx +2 -1
  23. package/dist/docs/reference/database.mdx +3 -2
  24. package/dist/docs/reference/middleware.mdx +1 -1
  25. package/dist/docs/reference/sanitize.mdx +129 -134
  26. package/dist/docs/reference/validator.mdx +11 -3
  27. package/dist/middleware/compression.d.ts.map +1 -1
  28. package/dist/middleware/compression.js +6 -5
  29. package/dist/middleware/compression.js.map +1 -1
  30. package/dist/middleware/middleware.d.ts.map +1 -1
  31. package/dist/middleware/middleware.js +47 -34
  32. package/dist/middleware/middleware.js.map +1 -1
  33. package/dist/router/controller-registrar.d.ts.map +1 -1
  34. package/dist/router/controller-registrar.js +4 -7
  35. package/dist/router/controller-registrar.js.map +1 -1
  36. package/dist/router/route-scanner.d.ts +12 -4
  37. package/dist/router/route-scanner.d.ts.map +1 -1
  38. package/dist/router/route-scanner.js +46 -31
  39. package/dist/router/route-scanner.js.map +1 -1
  40. package/dist/router/router.d.ts +3 -0
  41. package/dist/router/router.d.ts.map +1 -1
  42. package/dist/router/router.js +40 -35
  43. package/dist/router/router.js.map +1 -1
  44. package/dist/router/scanner/boundary-loader.d.ts.map +1 -1
  45. package/dist/router/scanner/boundary-loader.js +25 -30
  46. package/dist/router/scanner/boundary-loader.js.map +1 -1
  47. package/dist/router/scanner/functional-compiler.d.ts.map +1 -1
  48. package/dist/router/scanner/functional-compiler.js +29 -29
  49. package/dist/router/scanner/functional-compiler.js.map +1 -1
  50. package/dist/sanitize/index.d.ts +29 -3
  51. package/dist/sanitize/index.d.ts.map +1 -1
  52. package/dist/sanitize/index.js +91 -32
  53. package/dist/sanitize/index.js.map +1 -1
  54. package/dist/server/adapters/bun-adapter.d.ts +1 -1
  55. package/dist/server/adapters/bun-adapter.d.ts.map +1 -1
  56. package/dist/server/adapters/bun-adapter.js.map +1 -1
  57. package/dist/server/app.d.ts.map +1 -1
  58. package/dist/server/app.js +5 -2
  59. package/dist/server/app.js.map +1 -1
  60. package/dist/server/bootstrapper.d.ts.map +1 -1
  61. package/dist/server/bootstrapper.js +1 -1
  62. package/dist/server/bootstrapper.js.map +1 -1
  63. package/dist/server/helpers/body-parser.d.ts +1 -1
  64. package/dist/server/helpers/body-parser.d.ts.map +1 -1
  65. package/dist/server/helpers/body-parser.js +9 -7
  66. package/dist/server/helpers/body-parser.js.map +1 -1
  67. package/dist/server/helpers/conditional.d.ts +60 -0
  68. package/dist/server/helpers/conditional.d.ts.map +1 -0
  69. package/dist/server/helpers/conditional.js +189 -0
  70. package/dist/server/helpers/conditional.js.map +1 -0
  71. package/dist/server/helpers/etag.d.ts +0 -1
  72. package/dist/server/helpers/etag.d.ts.map +1 -1
  73. package/dist/server/helpers/etag.js +0 -10
  74. package/dist/server/helpers/etag.js.map +1 -1
  75. package/dist/server/helpers/index.d.ts +2 -1
  76. package/dist/server/helpers/index.d.ts.map +1 -1
  77. package/dist/server/helpers/index.js +16 -2
  78. package/dist/server/helpers/index.js.map +1 -1
  79. package/dist/server/request-handler.d.ts.map +1 -1
  80. package/dist/server/request-handler.js +12 -2
  81. package/dist/server/request-handler.js.map +1 -1
  82. package/dist/server/request.d.ts +11 -3
  83. package/dist/server/request.d.ts.map +1 -1
  84. package/dist/server/request.js +41 -83
  85. package/dist/server/request.js.map +1 -1
  86. package/dist/server/response.d.ts +43 -2
  87. package/dist/server/response.d.ts.map +1 -1
  88. package/dist/server/response.js +151 -70
  89. package/dist/server/response.js.map +1 -1
  90. package/dist/validator/builder.d.ts +12 -1
  91. package/dist/validator/builder.d.ts.map +1 -1
  92. package/dist/validator/builder.js +74 -41
  93. package/dist/validator/builder.js.map +1 -1
  94. package/dist/validator/compile.d.ts +7 -2
  95. package/dist/validator/compile.d.ts.map +1 -1
  96. package/dist/validator/compile.js +85 -54
  97. package/dist/validator/compile.js.map +1 -1
  98. package/dist/validator/engine.d.ts +75 -6
  99. package/dist/validator/engine.d.ts.map +1 -1
  100. package/dist/validator/engine.js +483 -540
  101. package/dist/validator/engine.js.map +1 -1
  102. package/dist/validator/error.d.ts.map +1 -1
  103. package/dist/validator/error.js +7 -0
  104. package/dist/validator/error.js.map +1 -1
  105. package/dist/validator/rules.d.ts +66 -7
  106. package/dist/validator/rules.d.ts.map +1 -1
  107. package/dist/validator/rules.js +435 -109
  108. package/dist/validator/rules.js.map +1 -1
  109. package/dist/validator/tex-types.d.ts +15 -0
  110. package/dist/validator/tex-types.d.ts.map +1 -1
  111. package/dist/validator/tex-types.js +127 -64
  112. package/dist/validator/tex-types.js.map +1 -1
  113. package/dist/validator/text.d.ts +2 -0
  114. package/dist/validator/text.d.ts.map +1 -1
  115. package/dist/validator/text.js +31 -13
  116. package/dist/validator/text.js.map +1 -1
  117. package/dist/validator/types.d.ts +15 -0
  118. package/dist/validator/types.d.ts.map +1 -1
  119. package/package.json +3 -5
  120. package/dist/sanitize/sanitize.d.ts +0 -33
  121. package/dist/sanitize/sanitize.d.ts.map +0 -1
  122. package/dist/sanitize/sanitize.js +0 -104
  123. package/dist/sanitize/sanitize.js.map +0 -1
@@ -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":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/validator/compile.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,93 @@
1
1
  import { type ResolveSchema } from './tex-types';
2
+ import { ValidatorError } from './error';
3
+ import type { ValidationErrorDescriptor } from './types';
4
+ /** Result of `safeParse()`: the data, or the errors instead of a throw. */
5
+ export type SafeParseResult<T> = {
6
+ success: true;
7
+ data: T;
8
+ errors?: undefined;
9
+ error?: undefined;
10
+ } | {
11
+ success: false;
12
+ data?: undefined;
13
+ errors: ValidationErrorDescriptor[];
14
+ error: ValidatorError;
15
+ };
16
+ /**
17
+ * The rule string for one field of an object schema. Shared by `tex.object`,
18
+ * `tex.array`, `tex.record`, `tex.union` and `extend` so a nested schema
19
+ * keeps its `optional()` / `nullable()` modifiers on every path.
20
+ */
21
+ export declare function fieldRule(key: string, value: unknown): string;
2
22
  export declare class TexEngine<T = any> {
3
23
  private schema;
4
24
  private rawSchema;
5
25
  private validator;
6
26
  private strict;
27
+ private _queryValidator?;
7
28
  readonly _type: T;
8
29
  _isOptional: boolean;
9
- private _plan?;
30
+ _isNullable: boolean;
31
+ private _objectRules;
32
+ /** @internal Read by the rule compiler when this schema is nested */
33
+ _objectCheck?: (v: any) => any;
10
34
  constructor(schema: Record<string, string>, rawSchema: Record<string, any>, strict?: boolean, isOptional?: boolean);
11
35
  private _fieldValidators?;
12
36
  /**
13
37
  * The compiled validator stops at the first problem, which keeps valid
14
- * requests fast. Once a parse has failed, every other top-level field is
15
- * checked on its own so the response lists all failing fields (capped).
38
+ * requests fast. Once a parse has failed, every field is checked on its
39
+ * own, descending into nested objects, array items and record values, so
40
+ * the response lists every failing value (capped).
16
41
  */
17
42
  private collectErrors;
18
- /** Turns a validator exception into a structured error entry */
19
- private describeError;
43
+ /** @internal Checks each field on its own; used after a failed parse */
44
+ _collectFields(data: Record<string, any>, query?: boolean): ValidationErrorDescriptor[];
20
45
  getCompiledSchema(): Record<string, string>;
21
- optional(): TexEngine<T | undefined>;
46
+ /** A copy with another shape that keeps strictness and modifiers */
47
+ private derive;
48
+ /** A copy with the same shape, keeping refine() rules */
49
+ private copy;
50
+ /** The field may be left out. */
51
+ optional(): TexEngine<T | undefined> & {
52
+ readonly __isOptional: true;
53
+ };
54
+ /** The field may be `null`. */
55
+ nullable(): TexEngine<T | null>;
56
+ /**
57
+ * A check across fields, run once every field is valid. `path` names the
58
+ * field the error is reported on (default: the object itself).
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * tex.object({ password: tex.string(), confirm: tex.string() })
63
+ * .refine((d) => d.password === d.confirm, { message: 'Passwords must match', path: 'confirm' })
64
+ * ```
65
+ */
66
+ refine(fn: (data: T) => boolean, message?: string | ((data: T) => string) | {
67
+ message?: string | ((data: T) => string);
68
+ path?: string;
69
+ }): TexEngine<T>;
70
+ /** The field may be left out or be `null`. */
71
+ nullish(): TexEngine<T | null | undefined> & {
72
+ readonly __isOptional: true;
73
+ };
22
74
  partial(): TexEngine<Partial<T>>;
23
75
  extend<E extends Record<string, any>>(extension: E): TexEngine<T & ResolveSchema<E>>;
24
76
  merge<Other>(other: TexEngine<Other>): TexEngine<T & Other>;
25
77
  transform<Out>(fn: (val: T) => Out): TexTransformedEngine<T, Out>;
26
78
  pick<K extends keyof T>(keys: K[]): TexEngine<Pick<T, K>>;
27
79
  omit<K extends keyof T>(keys: K[]): TexEngine<Omit<T, K>>;
80
+ /**
81
+ * Validates `data` and returns a new object with the declared fields only.
82
+ * The input is never modified. Throws `ValidatorError` listing every
83
+ * failing field.
84
+ */
28
85
  parse(data: any): T;
86
+ /** Like `parse()`, but returns `{ success, data }` or `{ success, errors }`. */
87
+ safeParse(data: any): SafeParseResult<T>;
88
+ /** Runs `parse()`, then every `refineAsync()` rule, nested ones included. */
29
89
  parseAsync(data: any): Promise<T>;
90
+ safeParseAsync(data: any): Promise<SafeParseResult<T>>;
30
91
  toMongoSchema(): Record<string, any>;
31
92
  toOpenApi(): Record<string, any>;
32
93
  }
@@ -36,7 +97,9 @@ export declare class TexTransformedEngine<In, Out> {
36
97
  readonly _type: Out;
37
98
  constructor(inner: TexEngine<In>, transformFn: (val: In) => Out);
38
99
  parse(data: any): Out;
100
+ safeParse(data: any): SafeParseResult<Out>;
39
101
  parseAsync(data: any): Promise<Out>;
102
+ safeParseAsync(data: any): Promise<SafeParseResult<Out>>;
40
103
  toOpenApi(): Record<string, any>;
41
104
  }
42
105
  export declare class TexDiscriminatedUnionEngine<Discriminator extends string, Variants extends (TexEngine<any> | Record<string, any>)[]> {
@@ -44,9 +107,15 @@ export declare class TexDiscriminatedUnionEngine<Discriminator extends string, V
44
107
  readonly variants: Variants;
45
108
  readonly _type: Variants[number]['_type'];
46
109
  private engines;
110
+ private tags;
47
111
  constructor(discriminator: Discriminator, variants: Variants);
112
+ /** The variant whose discriminator matches `data`, if any */
113
+ variantFor(data: any): TexEngine<any> | undefined;
114
+ private noMatch;
48
115
  parse(data: any): Variants[number]['_type'];
116
+ safeParse(data: any): SafeParseResult<Variants[number]['_type']>;
49
117
  parseAsync(data: any): Promise<Variants[number]['_type']>;
118
+ safeParseAsync(data: any): Promise<SafeParseResult<Variants[number]['_type']>>;
50
119
  toOpenApi(): Record<string, any>;
51
120
  }
52
121
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/validator/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/validator/engine.ts"],"names":[],"mappings":"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"}