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":"rules.js","sourceRoot":"","sources":["../../src/validator/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/validator/rules.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * A field schema. Every method returns a new schema, so one schema can be
3
+ * reused in several objects without them affecting each other.
4
+ */
1
5
  export declare class TexType<IsOpt extends boolean = false> {
2
6
  _raw: string;
3
7
  readonly __isOptional: IsOpt;
@@ -12,13 +16,24 @@ export declare class TexType<IsOpt extends boolean = false> {
12
16
  description?: string;
13
17
  exampleValue?: any;
14
18
  constructor(_raw: string, defaultValue?: any | (() => any));
19
+ /** A copy that shares nothing mutable with this schema */
20
+ private _copy;
15
21
  describe(description: string): this;
16
22
  example(example: any): this;
17
23
  setExample(example: any): this;
24
+ /** Functions that clean the value before it is validated. */
18
25
  sanitize(...fns: ((val: any) => any)[]): this;
19
26
  transform<Out>(fn: (val: any) => Out): TexTransformed<Out, IsOpt>;
27
+ /** A custom check; `message` is used when `fn` returns false. */
20
28
  refine(fn: (val: any) => boolean, message?: string | ((val: any) => string)): this;
29
+ /** An async custom check, run by `parseAsync()` (and route validation). */
21
30
  refineAsync(fn: (val: any) => Promise<boolean>, message?: string | ((val: any) => string)): this;
31
+ /** Used when the field is missing; a factory runs on every parse. */
32
+ default(value: any): this & {
33
+ __hasDefault: true;
34
+ };
35
+ /** @internal A copy with one more rule modifier */
36
+ _withModifier(modifier: string): any;
22
37
  nullable(): Omit<this, '__isNullable'> & {
23
38
  readonly __isNullable: true;
24
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tex-types.d.ts","sourceRoot":"","sources":["../../src/validator/tex-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tex-types.d.ts","sourceRoot":"","sources":["../../src/validator/tex-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TexType = void 0;
4
+ const rules_1 = require("./rules");
5
+ /**
6
+ * A field schema. Every method returns a new schema, so one schema can be
7
+ * reused in several objects without them affecting each other.
8
+ */
4
9
  class TexType {
5
10
  constructor(_raw, defaultValue) {
6
11
  this._raw = _raw;
@@ -9,99 +14,129 @@ class TexType {
9
14
  this.refinements = [];
10
15
  this.defaultValue = defaultValue;
11
16
  }
17
+ /** A copy that shares nothing mutable with this schema */
18
+ _copy() {
19
+ const copy = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
20
+ copy.sanitizers = [...this.sanitizers];
21
+ copy.transformations = [...this.transformations];
22
+ copy.refinements = [...this.refinements];
23
+ return copy;
24
+ }
12
25
  describe(description) {
13
- this.description = description;
14
- return this;
26
+ const copy = this._copy();
27
+ copy.description = description;
28
+ return copy;
15
29
  }
16
30
  example(example) {
17
- this.exampleValue = example;
18
- return this;
31
+ const copy = this._copy();
32
+ copy.exampleValue = example;
33
+ return copy;
19
34
  }
20
35
  setExample(example) {
21
- this.exampleValue = example;
22
- return this;
36
+ return this.example(example);
23
37
  }
38
+ /** Functions that clean the value before it is validated. */
24
39
  sanitize(...fns) {
25
- this.sanitizers.push(...fns);
26
- return this;
40
+ const copy = this._copy();
41
+ copy.sanitizers.push(...fns);
42
+ return copy;
27
43
  }
28
44
  transform(fn) {
29
- const clone = new TexType(this._raw, this.defaultValue);
30
- clone.sanitizers = [...this.sanitizers];
31
- clone.transformations = [...this.transformations, fn];
32
- clone.refinements = [...this.refinements];
33
- clone.description = this.description;
34
- clone.exampleValue = this.exampleValue;
35
- clone.__kind = 'TexTransformed';
36
- return clone;
45
+ const copy = this._copy();
46
+ copy.transformations.push(fn);
47
+ copy.__kind = 'TexTransformed';
48
+ return copy;
37
49
  }
50
+ /** A custom check; `message` is used when `fn` returns false. */
38
51
  refine(fn, message) {
39
- this.refinements.push({ async: false, fn, message });
40
- return this;
52
+ const copy = this._copy();
53
+ copy.refinements.push({ async: false, fn, message });
54
+ return copy;
41
55
  }
56
+ /** An async custom check, run by `parseAsync()` (and route validation). */
42
57
  refineAsync(fn, message) {
43
- this.refinements.push({ async: true, fn, message });
44
- return this;
58
+ const copy = this._copy();
59
+ copy.refinements.push({ async: true, fn, message });
60
+ return copy;
61
+ }
62
+ /** Used when the field is missing; a factory runs on every parse. */
63
+ default(value) {
64
+ const copy = this._copy();
65
+ copy.defaultValue = value;
66
+ const parts = (0, rules_1.ruleParts)(copy._raw);
67
+ if (!parts[0].endsWith('?') && !parts.includes('optional')) {
68
+ copy._raw += ' | optional';
69
+ }
70
+ return copy;
71
+ }
72
+ /** @internal A copy with one more rule modifier */
73
+ _withModifier(modifier) {
74
+ const copy = this._copy();
75
+ copy._raw += ` | ${modifier}`;
76
+ return copy;
45
77
  }
46
78
  nullable() {
47
- this._raw += ' | nullable';
48
- return this;
79
+ return this._withModifier('nullable');
49
80
  }
50
81
  optional() {
51
- this._raw += ' | optional';
52
- return this;
82
+ return this._withModifier('optional');
53
83
  }
54
84
  nullish() {
55
- this._raw += ' | nullish';
56
- return this;
85
+ return this._withModifier('nullish');
57
86
  }
58
87
  toOpenApi() {
59
- const raw = this._raw.split('|')[0].trim();
60
- const isNullable = this._raw.includes('nullable') || this._raw.includes('nullish');
61
- const base = raw.replace('?', '');
88
+ const parts = (0, rules_1.ruleParts)(this._raw);
89
+ const base = (0, rules_1.ruleBase)(this._raw);
90
+ const mods = new Map();
91
+ for (const p of parts.slice(1)) {
92
+ const colon = p.indexOf(':');
93
+ if (colon === -1)
94
+ mods.set(p, '');
95
+ else
96
+ mods.set(p.slice(0, colon), p.slice(colon + 1));
97
+ }
98
+ const num = (name) => {
99
+ const v = mods.get(name);
100
+ return v !== undefined && v !== '' && Number.isFinite(Number(v))
101
+ ? Number(v)
102
+ : undefined;
103
+ };
104
+ const isNullable = mods.has('nullable') || mods.has('nullish');
62
105
  let schema = { type: 'string' };
63
- if (base.startsWith('number')) {
64
- schema = { type: 'number' };
65
- const minMatch = this._raw.match(/min:(-?\d+(\.\d+)?)/);
66
- if (minMatch)
67
- schema.minimum = parseFloat(minMatch[1]);
68
- const maxMatch = this._raw.match(/max:(-?\d+(\.\d+)?)/);
69
- if (maxMatch)
70
- schema.maximum = parseFloat(maxMatch[1]);
71
- }
72
- else if (base.startsWith('boolean')) {
106
+ if (base === 'number') {
107
+ schema = { type: mods.has('int') ? 'integer' : 'number' };
108
+ if (num('min') !== undefined)
109
+ schema.minimum = num('min');
110
+ if (num('max') !== undefined)
111
+ schema.maximum = num('max');
112
+ }
113
+ else if (base === 'boolean') {
73
114
  schema = { type: 'boolean' };
74
115
  }
75
- else if (base.startsWith('date')) {
116
+ else if (base === 'date') {
76
117
  schema = { type: 'string', format: 'date-time' };
77
118
  }
78
- else if (base.startsWith('email')) {
119
+ else if (base === 'email') {
79
120
  schema = { type: 'string', format: 'email' };
80
121
  }
81
- else if (base.startsWith('uuid')) {
122
+ else if (base === 'url') {
123
+ schema = { type: 'string', format: 'uri' };
124
+ }
125
+ else if (base === 'uuid') {
82
126
  schema = { type: 'string', format: 'uuid' };
83
127
  }
84
- else if (base.startsWith('cuid')) {
128
+ else if (base === 'cuid') {
85
129
  schema = { type: 'string' };
86
130
  }
87
- else if (base.startsWith('password')) {
131
+ else if (base === 'password') {
88
132
  schema = { type: 'string', format: 'password' };
89
133
  }
90
134
  else if (base.startsWith('literal:')) {
91
- const val = base.replace('literal:', '');
92
- if (val === 'true' || val === 'false') {
93
- schema = { type: 'boolean', enum: [val === 'true'] };
94
- }
95
- else if (!isNaN(Number(val))) {
96
- schema = { type: 'number', enum: [Number(val)] };
97
- }
98
- else {
99
- schema = { type: 'string', enum: [val] };
100
- }
135
+ const val = (0, rules_1.parseLiteral)(base.slice(8));
136
+ schema = { type: typeof val, enum: [val] };
101
137
  }
102
138
  else if (base.startsWith('enum:')) {
103
- const vals = base.replace('enum:', '').split(',');
104
- schema = { type: 'string', enum: vals };
139
+ schema = { type: 'string', enum: (0, rules_1.parseEnumValues)(base.slice(5)) };
105
140
  }
106
141
  else if (base.startsWith('array<')) {
107
142
  const inner = this._item;
@@ -109,19 +144,47 @@ class TexType {
109
144
  ? inner.toOpenApi()
110
145
  : { type: 'string' };
111
146
  schema = { type: 'array', items: itemSchema };
112
- const minMatch = this._raw.match(/min:(\d+)/);
113
- if (minMatch)
114
- schema.minItems = parseInt(minMatch[1], 10);
115
- const maxMatch = this._raw.match(/max:(\d+)/);
116
- if (maxMatch)
117
- schema.maxItems = parseInt(maxMatch[1], 10);
147
+ if (num('min') !== undefined)
148
+ schema.minItems = num('min');
149
+ if (num('max') !== undefined)
150
+ schema.maxItems = num('max');
118
151
  }
119
152
  else if (base.startsWith('record<')) {
120
- schema = { type: 'object', additionalProperties: true };
153
+ const value = this._value;
154
+ schema = {
155
+ type: 'object',
156
+ additionalProperties: value && typeof value.toOpenApi === 'function'
157
+ ? value.toOpenApi()
158
+ : true,
159
+ };
121
160
  }
122
- else if (base.startsWith('file')) {
161
+ else if (base === 'file') {
123
162
  schema = { type: 'string', format: 'binary' };
124
163
  }
164
+ else if (base.includes('||')) {
165
+ const options = this._options ?? [];
166
+ schema = {
167
+ anyOf: options.map((o) => o && typeof o.toOpenApi === 'function' ? o.toOpenApi() : {}),
168
+ };
169
+ }
170
+ if (schema.type === 'string' && base !== 'password') {
171
+ if (num('min') !== undefined)
172
+ schema.minLength = num('min');
173
+ if (num('max') !== undefined)
174
+ schema.maxLength = num('max');
175
+ if (num('length') !== undefined) {
176
+ schema.minLength = schema.maxLength = num('length');
177
+ }
178
+ const pattern = mods.get('pattern');
179
+ if (pattern) {
180
+ try {
181
+ schema.pattern = JSON.parse(pattern)[0];
182
+ }
183
+ catch {
184
+ // not a builder-made pattern
185
+ }
186
+ }
187
+ }
125
188
  if (this.description)
126
189
  schema.description = this.description;
127
190
  if (this.exampleValue !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"tex-types.js","sourceRoot":"","sources":["../../src/validator/tex-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tex-types.js","sourceRoot":"","sources":["../../src/validator/tex-types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  export declare function escapeHtml(s: string): string;
2
+ /** Removes tags, comments, and script/style elements with their content. */
2
3
  export declare function stripHtml(s: string): string;
3
4
  export declare function collapseWhitespace(s: string): string;
4
5
  export declare function slugify(s: string): string;
5
6
  export declare function maskEmail(s: string): string;
6
7
  export declare function maskString(s: string): string;
7
8
  export declare function hasSqlInjection(s: string): boolean;
9
+ /** A `..` path segment (also percent-encoded or with `\`), or a NUL byte. */
8
10
  export declare function hasPathTraversal(s: string): boolean;
9
11
  export declare const SQL_INJECTION_MESSAGE = "Potential SQL Injection detected";
10
12
  export declare const PATH_TRAVERSAL_MESSAGE = "Path traversal attempt detected";
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/validator/text.ts"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AACvE,eAAO,MAAM,sBAAsB,oCAAoC,CAAA"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/validator/text.ts"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAQD,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAKD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAanD;AAED,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AACvE,eAAO,MAAM,sBAAsB,oCAAoC,CAAA"}
@@ -21,25 +21,29 @@ const HTML_SPECIAL = /[&<>"']/g;
21
21
  function escapeHtml(s) {
22
22
  return s.replace(HTML_SPECIAL, (c) => HTML_ESCAPES[c]);
23
23
  }
24
- // Drops everything between '<' and '>' (an unterminated tag runs to the end)
24
+ const HTML_COMMENT = /<!--[\s\S]*?(?:-->|$)/g;
25
+ // Their content is code, not text; an unclosed element runs to the end
26
+ const HTML_CODE_ELEMENT = /<(script|style)\b[\s\S]*?(?:<\/\1\s*>|$)/gi;
27
+ // A tag starts with a letter, '/', '!' or '?'; "a < b" is text
28
+ const HTML_TAG = /<[a-zA-Z/!?][^>]*(?:>|$)/g;
29
+ /** Removes tags, comments, and script/style elements with their content. */
25
30
  function stripHtml(s) {
26
- let out = '';
27
- let inTag = false;
28
- for (const c of s) {
29
- if (c === '<')
30
- inTag = true;
31
- else if (c === '>')
32
- inTag = false;
33
- else if (!inTag)
34
- out += c;
35
- }
36
- return out;
31
+ if (!s.includes('<'))
32
+ return s;
33
+ return s
34
+ .replace(HTML_COMMENT, '')
35
+ .replace(HTML_CODE_ELEMENT, '')
36
+ .replace(HTML_TAG, '');
37
37
  }
38
38
  function collapseWhitespace(s) {
39
39
  return s.replace(/\s+/g, ' ');
40
40
  }
41
+ // "Café" -> "cafe": accented letters keep their base letter
42
+ const COMBINING_MARKS = /[\u0300-\u036f]/g;
41
43
  function slugify(s) {
42
44
  return s
45
+ .normalize('NFKD')
46
+ .replace(COMBINING_MARKS, '')
43
47
  .toLowerCase()
44
48
  .replace(/[^a-z0-9]+/g, '-')
45
49
  .replace(/(^-|-$)/g, '');
@@ -61,8 +65,22 @@ function hasSqlInjection(s) {
61
65
  const lower = s.toLowerCase();
62
66
  return SQL_PATTERNS.some((p) => lower.includes(p));
63
67
  }
68
+ /** A `..` path segment (also percent-encoded or with `\`), or a NUL byte. */
64
69
  function hasPathTraversal(s) {
65
- return s.includes('../') || s.includes('..\\') || s.includes('/etc/passwd');
70
+ let v = s;
71
+ // %2e%2e%2f, and double-encoded %252e%252e%252f
72
+ for (let i = 0; i < 3 && /%[0-9a-f]{2}/i.test(v); i++) {
73
+ try {
74
+ v = decodeURIComponent(v);
75
+ }
76
+ catch {
77
+ break;
78
+ }
79
+ }
80
+ if (v.includes('\0'))
81
+ return true;
82
+ const path = v.replace(/\\/g, '/');
83
+ return path.split('/').includes('..') || path.includes('/etc/passwd');
66
84
  }
67
85
  exports.SQL_INJECTION_MESSAGE = 'Potential SQL Injection detected';
68
86
  exports.PATH_TRAVERSAL_MESSAGE = 'Path traversal attempt detected';
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/validator/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/validator/text.ts"],"names":[],"mappings":"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"}