alado 3.7.0 → 3.7.8
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/README.md +16 -3
- package/dist/decorators/http.js +4 -3
- package/dist/decorators/http.js.map +1 -1
- package/dist/decorators/initialize-application.js +2 -1
- package/dist/decorators/initialize-application.js.map +1 -1
- package/dist/dto/alado-configuration-error.d.ts +9 -0
- package/dist/dto/alado-configuration-error.js +17 -0
- package/dist/dto/alado-configuration-error.js.map +1 -0
- package/dist/dto/index.d.ts +1 -0
- package/dist/dto/index.js +1 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/helpers/parser/access-control-checker.js +37 -0
- package/dist/helpers/parser/access-control-checker.js.map +1 -1
- package/dist/helpers/parser/authenticate.d.ts +7 -1
- package/dist/helpers/parser/authenticate.js +17 -27
- package/dist/helpers/parser/authenticate.js.map +1 -1
- package/dist/helpers/parser/body-parser.js +14 -6
- package/dist/helpers/parser/body-parser.js.map +1 -1
- package/dist/helpers/parser/xml-parser.js +12 -0
- package/dist/helpers/parser/xml-parser.js.map +1 -1
- package/dist/helpers/service/index.d.ts +1 -0
- package/dist/helpers/service/index.js +1 -0
- package/dist/helpers/service/index.js.map +1 -1
- package/dist/helpers/service/open-api-paths.d.ts +11 -0
- package/dist/helpers/service/open-api-paths.js +49 -0
- package/dist/helpers/service/open-api-paths.js.map +1 -0
- package/dist/helpers/validate/built-in/index.d.ts +1 -0
- package/dist/helpers/validate/built-in/index.js +15 -0
- package/dist/helpers/validate/built-in/index.js.map +1 -1
- package/dist/helpers/validate/built-in/numeric-input.d.ts +17 -0
- package/dist/helpers/validate/built-in/numeric-input.js +74 -0
- package/dist/helpers/validate/built-in/numeric-input.js.map +1 -0
- package/dist/helpers/validate/built-in/validator.d.ts +3 -0
- package/dist/helpers/validate/built-in/validator.js +25 -9
- package/dist/helpers/validate/built-in/validator.js.map +1 -1
- package/dist/helpers/validate/context/index.d.ts +1 -0
- package/dist/helpers/validate/context/index.js +1 -0
- package/dist/helpers/validate/context/index.js.map +1 -1
- package/dist/helpers/validate/context/request-input.d.ts +20 -0
- package/dist/helpers/validate/context/request-input.js +68 -0
- package/dist/helpers/validate/context/request-input.js.map +1 -0
- package/dist/helpers/validate/context/validate-request-part.js +14 -12
- package/dist/helpers/validate/context/validate-request-part.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/options/alado-server-options.d.ts +2 -2
- package/dist/request-processor/request-processor.d.ts +1 -0
- package/dist/request-processor/request-processor.js +13 -22
- package/dist/request-processor/request-processor.js.map +1 -1
- package/dist/router/router.d.ts +7 -0
- package/dist/router/router.js +31 -3
- package/dist/router/router.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.validate = void 0;
|
|
4
18
|
var validator_1 = require("./validator");
|
|
5
19
|
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validator_1.validate; } });
|
|
20
|
+
__exportStar(require("./numeric-input"), exports);
|
|
6
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/validate/built-in/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/validate/built-in/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,kDAAgC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query and path values are always strings. A validator built from validate.number() or
|
|
3
|
+
* validate.bigint() carries this marker, and such a value is converted before it is validated.
|
|
4
|
+
*/
|
|
5
|
+
export declare const numericInput: unique symbol;
|
|
6
|
+
export type NumericInputType = 'number' | 'bigint';
|
|
7
|
+
/**
|
|
8
|
+
* A number written as a string: decimal (with sign, fraction, exponent), 0x / 0o / 0b, digit
|
|
9
|
+
* separators. Refused (undefined): empty or padded text, anything else Number() would turn into
|
|
10
|
+
* 0 or NaN, values out of range (Infinity), and integers past Number.MAX_SAFE_INTEGER, whose
|
|
11
|
+
* digits a number cannot keep: those are bigints.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseNumber(text: string): number | undefined;
|
|
14
|
+
/** An integer written as a string, any base, optional "n" suffix (123n, 0xffn), as a bigint. */
|
|
15
|
+
export declare function parseBigInt(text: string): bigint | undefined;
|
|
16
|
+
/** The value a numeric validator should see, or the original value when it is not convertible. */
|
|
17
|
+
export declare function toNumericInput(type: NumericInputType, value: unknown): unknown;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.numericInput = void 0;
|
|
4
|
+
exports.parseNumber = parseNumber;
|
|
5
|
+
exports.parseBigInt = parseBigInt;
|
|
6
|
+
exports.toNumericInput = toNumericInput;
|
|
7
|
+
/**
|
|
8
|
+
* Query and path values are always strings. A validator built from validate.number() or
|
|
9
|
+
* validate.bigint() carries this marker, and such a value is converted before it is validated.
|
|
10
|
+
*/
|
|
11
|
+
exports.numericInput = Symbol.for('alado.numericInput');
|
|
12
|
+
// digit groups may be separated by single underscores, as in JavaScript literals: 1_000_000
|
|
13
|
+
const decimal = /^[+-]?(?:\d(?:_?\d)*(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?$/;
|
|
14
|
+
const decimalInteger = /^[+-]?\d(?:_?\d)*$/;
|
|
15
|
+
const radix = /^([+-]?)0(?:([xX])([0-9a-fA-F](?:_?[0-9a-fA-F])*)|([oO])([0-7](?:_?[0-7])*)|([bB])([01](?:_?[01])*))$/;
|
|
16
|
+
// longest accepted text: no number needs more, and it keeps BigInt() of a huge string cheap
|
|
17
|
+
const MAX_LENGTH = 1024;
|
|
18
|
+
/** Signed integer literal in any base (decimal, 0x, 0o, 0b; "n" suffix allowed), or undefined. */
|
|
19
|
+
function parseIntegerLiteral(text) {
|
|
20
|
+
if (decimalInteger.test(text)) {
|
|
21
|
+
return BigInt(text.replace(/_/g, ''));
|
|
22
|
+
}
|
|
23
|
+
const match = radix.exec(text);
|
|
24
|
+
if (!match) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
const prefix = match[2] ? '0x' : match[4] ? '0o' : '0b';
|
|
28
|
+
const digits = (match[3] || match[5] || match[7]).replace(/_/g, '');
|
|
29
|
+
const value = BigInt(`${prefix}${digits}`);
|
|
30
|
+
return match[1] === '-' ? -value : value;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A number written as a string: decimal (with sign, fraction, exponent), 0x / 0o / 0b, digit
|
|
34
|
+
* separators. Refused (undefined): empty or padded text, anything else Number() would turn into
|
|
35
|
+
* 0 or NaN, values out of range (Infinity), and integers past Number.MAX_SAFE_INTEGER, whose
|
|
36
|
+
* digits a number cannot keep: those are bigints.
|
|
37
|
+
*/
|
|
38
|
+
function parseNumber(text) {
|
|
39
|
+
if (!text || text.length > MAX_LENGTH) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
if (decimal.test(text)) {
|
|
43
|
+
const value = Number(text.replace(/_/g, ''));
|
|
44
|
+
if (!Number.isFinite(value)) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
if (decimalInteger.test(text) && !Number.isSafeInteger(value)) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
const integer = parseIntegerLiteral(text);
|
|
53
|
+
if (integer === undefined) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const value = Number(integer);
|
|
57
|
+
return Number.isSafeInteger(value) ? value : undefined;
|
|
58
|
+
}
|
|
59
|
+
/** An integer written as a string, any base, optional "n" suffix (123n, 0xffn), as a bigint. */
|
|
60
|
+
function parseBigInt(text) {
|
|
61
|
+
if (!text || text.length > MAX_LENGTH) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
return parseIntegerLiteral(text.endsWith('n') ? text.slice(0, -1) : text);
|
|
65
|
+
}
|
|
66
|
+
/** The value a numeric validator should see, or the original value when it is not convertible. */
|
|
67
|
+
function toNumericInput(type, value) {
|
|
68
|
+
if (typeof value !== 'string') {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
const parsed = type === 'number' ? parseNumber(value) : parseBigInt(value);
|
|
72
|
+
return parsed === undefined ? value : parsed;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=numeric-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-input.js","sourceRoot":"","sources":["../../../../src/helpers/validate/built-in/numeric-input.ts"],"names":[],"mappings":";;;AAsCA,kCAoBC;AAGD,kCAKC;AAGD,wCAMC;AA3ED;;;GAGG;AACU,QAAA,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAI5E,4FAA4F;AAC5F,MAAM,OAAO,GAAW,sFAAsF,CAAC;AAC/G,MAAM,cAAc,GAAW,oBAAoB,CAAC;AACpD,MAAM,KAAK,GACT,uGAAuG,CAAC;AAE1G,4FAA4F;AAC5F,MAAM,UAAU,GAAW,IAAI,CAAC;AAEhC,kGAAkG;AAClG,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,KAAK,GAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,MAAM,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAW,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAuB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAW,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,gGAAgG;AAChG,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,kGAAkG;AAClG,SAAgB,cAAc,CAAC,IAAsB,EAAE,KAAc;IACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAgC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC"}
|
|
@@ -3,11 +3,13 @@ type SyncValidatorFn = (input: any, root?: any) => boolean;
|
|
|
3
3
|
declare class Validator {
|
|
4
4
|
private rules;
|
|
5
5
|
private _required;
|
|
6
|
+
private numericType?;
|
|
6
7
|
private add;
|
|
7
8
|
required(): Validator;
|
|
8
9
|
optional(): Validator;
|
|
9
10
|
string(): Validator;
|
|
10
11
|
number(): Validator;
|
|
12
|
+
bigint(): Validator;
|
|
11
13
|
boolean(): Validator;
|
|
12
14
|
array(): Validator;
|
|
13
15
|
object(): Validator;
|
|
@@ -42,6 +44,7 @@ declare class Validator {
|
|
|
42
44
|
export declare const validate: {
|
|
43
45
|
string: () => Validator;
|
|
44
46
|
number: () => Validator;
|
|
47
|
+
bigint: () => Validator;
|
|
45
48
|
boolean: () => Validator;
|
|
46
49
|
array: () => Validator;
|
|
47
50
|
object: () => Validator;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validate = void 0;
|
|
4
|
+
const numeric_input_1 = require("./numeric-input");
|
|
4
5
|
const ASYNC_RULE_ERROR = 'Validator contains async rules — use .build() instead of .buildSync()';
|
|
5
6
|
function isThenable(value) {
|
|
6
7
|
return value !== null && typeof value === 'object' && typeof value.then === 'function';
|
|
@@ -18,9 +19,18 @@ function every(results) {
|
|
|
18
19
|
}
|
|
19
20
|
// domain labels cannot contain dots, so the pattern can only match one way (linear time)
|
|
20
21
|
const emailRegExp = /^[^\s@]+@[^\s@.]+(?:\.[^\s@.]+)+$/;
|
|
22
|
+
const isNumeric = (v) => (typeof v === 'number' && !isNaN(v)) || typeof v === 'bigint';
|
|
23
|
+
// lets the request validation convert a query or path string first (see numeric-input.ts)
|
|
24
|
+
function markNumericInput(fn, type) {
|
|
25
|
+
if (type) {
|
|
26
|
+
Object.defineProperty(fn, numeric_input_1.numericInput, { value: type });
|
|
27
|
+
}
|
|
28
|
+
return fn;
|
|
29
|
+
}
|
|
21
30
|
class Validator {
|
|
22
31
|
rules = [];
|
|
23
32
|
_required = false;
|
|
33
|
+
numericType;
|
|
24
34
|
add(fn) {
|
|
25
35
|
this.rules.push(fn);
|
|
26
36
|
return this;
|
|
@@ -39,8 +49,13 @@ class Validator {
|
|
|
39
49
|
return this.add((v) => typeof v === 'string');
|
|
40
50
|
}
|
|
41
51
|
number() {
|
|
52
|
+
this.numericType = this.numericType || 'number';
|
|
42
53
|
return this.add((v) => typeof v === 'number' && !isNaN(v));
|
|
43
54
|
}
|
|
55
|
+
bigint() {
|
|
56
|
+
this.numericType = this.numericType || 'bigint';
|
|
57
|
+
return this.add((v) => typeof v === 'bigint');
|
|
58
|
+
}
|
|
44
59
|
boolean() {
|
|
45
60
|
return this.add((v) => typeof v === 'boolean');
|
|
46
61
|
}
|
|
@@ -52,10 +67,10 @@ class Validator {
|
|
|
52
67
|
}
|
|
53
68
|
// String rules
|
|
54
69
|
min(n) {
|
|
55
|
-
return this.add((v) => (typeof v === 'string' ? v.length >= n :
|
|
70
|
+
return this.add((v) => (typeof v === 'string' ? v.length >= n : isNumeric(v) ? v >= n : false));
|
|
56
71
|
}
|
|
57
72
|
max(n) {
|
|
58
|
-
return this.add((v) => (typeof v === 'string' ? v.length <= n :
|
|
73
|
+
return this.add((v) => (typeof v === 'string' ? v.length <= n : isNumeric(v) ? v <= n : false));
|
|
59
74
|
}
|
|
60
75
|
length(n) {
|
|
61
76
|
return this.add((v) => typeof v === 'string' && v.length === n);
|
|
@@ -104,13 +119,13 @@ class Validator {
|
|
|
104
119
|
}
|
|
105
120
|
// Number rules
|
|
106
121
|
integer() {
|
|
107
|
-
return this.add((v) => Number.isInteger(v));
|
|
122
|
+
return this.add((v) => Number.isInteger(v) || typeof v === 'bigint');
|
|
108
123
|
}
|
|
109
124
|
positive() {
|
|
110
|
-
return this.add((v) =>
|
|
125
|
+
return this.add((v) => isNumeric(v) && v > 0);
|
|
111
126
|
}
|
|
112
127
|
negative() {
|
|
113
|
-
return this.add((v) =>
|
|
128
|
+
return this.add((v) => isNumeric(v) && v < 0);
|
|
114
129
|
}
|
|
115
130
|
// Generic rules
|
|
116
131
|
enum(...values) {
|
|
@@ -208,7 +223,7 @@ class Validator {
|
|
|
208
223
|
build() {
|
|
209
224
|
const rules = [...this.rules];
|
|
210
225
|
const required = this._required;
|
|
211
|
-
return async (input, root) => {
|
|
226
|
+
return markNumericInput(async (input, root) => {
|
|
212
227
|
const isEmpty = input === null || input === undefined || input === '';
|
|
213
228
|
if (isEmpty) {
|
|
214
229
|
return !required;
|
|
@@ -220,7 +235,7 @@ class Validator {
|
|
|
220
235
|
}
|
|
221
236
|
}
|
|
222
237
|
return true;
|
|
223
|
-
};
|
|
238
|
+
}, this.numericType);
|
|
224
239
|
}
|
|
225
240
|
// Same semantics as build(), but returns a plain boolean. Throws if any rule
|
|
226
241
|
// is async: eagerly for async functions passed to custom()/when()/match(),
|
|
@@ -231,7 +246,7 @@ class Validator {
|
|
|
231
246
|
if (rules.some(isAsyncFunction)) {
|
|
232
247
|
throw new Error(ASYNC_RULE_ERROR);
|
|
233
248
|
}
|
|
234
|
-
return (input, root) => {
|
|
249
|
+
return markNumericInput((input, root) => {
|
|
235
250
|
const isEmpty = input === null || input === undefined || input === '';
|
|
236
251
|
if (isEmpty) {
|
|
237
252
|
return !required;
|
|
@@ -248,13 +263,14 @@ class Validator {
|
|
|
248
263
|
}
|
|
249
264
|
}
|
|
250
265
|
return true;
|
|
251
|
-
};
|
|
266
|
+
}, this.numericType);
|
|
252
267
|
}
|
|
253
268
|
}
|
|
254
269
|
// Entry point
|
|
255
270
|
exports.validate = {
|
|
256
271
|
string: () => new Validator().string(),
|
|
257
272
|
number: () => new Validator().number(),
|
|
273
|
+
bigint: () => new Validator().bigint(),
|
|
258
274
|
boolean: () => new Validator().boolean(),
|
|
259
275
|
array: () => new Validator().array(),
|
|
260
276
|
object: () => new Validator().object(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/helpers/validate/built-in/validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/helpers/validate/built-in/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./validate-context"), exports);
|
|
18
18
|
__exportStar(require("./validate-request-files"), exports);
|
|
19
19
|
__exportStar(require("./validate-request-part"), exports);
|
|
20
|
+
__exportStar(require("./request-input"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC;AACxC,kDAAgC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ContextRequest, PropertyDefinition } from '../../../dto/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The value a declared validator sees. Query and path values are strings: a number()/bigint()
|
|
4
|
+
* validator gets them converted (`numeric` tells the caller to store the converted value). An
|
|
5
|
+
* isJSON field gets the parsed JSON, from the same parser as JSON bodies, so a field such as
|
|
6
|
+
* {"__proto__":{...}} never reaches a validator or a transform with an own __proto__ key.
|
|
7
|
+
*/
|
|
8
|
+
export declare function validatorInput(key: string, definition: PropertyDefinition, raw: unknown): {
|
|
9
|
+
value: unknown;
|
|
10
|
+
numeric: boolean;
|
|
11
|
+
};
|
|
12
|
+
/** Whether request[key][property] still holds a value its declared validator accepted earlier. */
|
|
13
|
+
export declare function isPrevalidated(request: object, key: string, property: string, raw: unknown): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Runs the validator declared for request[key][property] ahead of request validation (for the auth
|
|
16
|
+
* input and access-control inputs, which are read before it). `undefined` when no validator is
|
|
17
|
+
* declared. An accepted value is remembered, so request validation does not run the validator
|
|
18
|
+
* again for it (a slow or side-effecting validator runs once per request).
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkDeclaredInput(request: any, definitions: ContextRequest | undefined, key: string, property: string, raw: unknown): Promise<boolean | undefined>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validatorInput = validatorInput;
|
|
4
|
+
exports.isPrevalidated = isPrevalidated;
|
|
5
|
+
exports.checkDeclaredInput = checkDeclaredInput;
|
|
6
|
+
const json_parser_1 = require("../../parser/json-parser");
|
|
7
|
+
const numeric_input_1 = require("../built-in/numeric-input");
|
|
8
|
+
/**
|
|
9
|
+
* The value a declared validator sees. Query and path values are strings: a number()/bigint()
|
|
10
|
+
* validator gets them converted (`numeric` tells the caller to store the converted value). An
|
|
11
|
+
* isJSON field gets the parsed JSON, from the same parser as JSON bodies, so a field such as
|
|
12
|
+
* {"__proto__":{...}} never reaches a validator or a transform with an own __proto__ key.
|
|
13
|
+
*/
|
|
14
|
+
function validatorInput(key, definition, raw) {
|
|
15
|
+
let value = raw;
|
|
16
|
+
let numeric = false;
|
|
17
|
+
const numericType = definition.validation?.handler?.[numeric_input_1.numericInput];
|
|
18
|
+
if (numericType && (key === 'query' || key === 'path') && typeof value === 'string') {
|
|
19
|
+
value = (0, numeric_input_1.toNumericInput)(numericType, value);
|
|
20
|
+
numeric = typeof value !== 'string';
|
|
21
|
+
}
|
|
22
|
+
if (definition.isJSON && typeof value === 'string') {
|
|
23
|
+
try {
|
|
24
|
+
value = (0, json_parser_1.parseJson)(value);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// the validator gets the raw string
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return { value, numeric };
|
|
31
|
+
}
|
|
32
|
+
// request -> "<part>.<name>" -> the raw value that already passed its declared validator
|
|
33
|
+
const prevalidated = new WeakMap();
|
|
34
|
+
/** Whether request[key][property] still holds a value its declared validator accepted earlier. */
|
|
35
|
+
function isPrevalidated(request, key, property, raw) {
|
|
36
|
+
const values = prevalidated.get(request);
|
|
37
|
+
return values !== undefined && values.has(`${key}.${property}`) && values.get(`${key}.${property}`) === raw;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Runs the validator declared for request[key][property] ahead of request validation (for the auth
|
|
41
|
+
* input and access-control inputs, which are read before it). `undefined` when no validator is
|
|
42
|
+
* declared. An accepted value is remembered, so request validation does not run the validator
|
|
43
|
+
* again for it (a slow or side-effecting validator runs once per request).
|
|
44
|
+
*/
|
|
45
|
+
async function checkDeclaredInput(request, definitions, key, property, raw) {
|
|
46
|
+
const definition = definitions?.[key]?.[property];
|
|
47
|
+
const handler = definition?.validation?.handler;
|
|
48
|
+
if (typeof handler !== 'function') {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
let valid;
|
|
52
|
+
try {
|
|
53
|
+
valid = Boolean(await handler.apply(request, [validatorInput(key, definition, raw).value]));
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
valid = false;
|
|
57
|
+
}
|
|
58
|
+
if (valid) {
|
|
59
|
+
let values = prevalidated.get(request);
|
|
60
|
+
if (!values) {
|
|
61
|
+
values = new Map();
|
|
62
|
+
prevalidated.set(request, values);
|
|
63
|
+
}
|
|
64
|
+
values.set(`${key}.${property}`, raw);
|
|
65
|
+
}
|
|
66
|
+
return valid;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=request-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-input.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/request-input.ts"],"names":[],"mappings":";;AAUA,wCAoBC;AAMD,wCAGC;AAQD,gDA2BC;AAzED,0DAAqD;AACrD,6DAA2F;AAE3F;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,GAAW,EACX,UAA8B,EAC9B,GAAY;IAEZ,IAAI,KAAK,GAAY,GAAG,CAAC;IACzB,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,MAAM,WAAW,GAAkC,UAAU,CAAC,UAAU,EAAE,OAAe,EAAE,CAAC,4BAAY,CAAC,CAAC;IAC1G,IAAI,WAAW,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpF,KAAK,GAAG,IAAA,8BAAc,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;IACtC,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,KAAK,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,yFAAyF;AACzF,MAAM,YAAY,GAA0C,IAAI,OAAO,EAAE,CAAC;AAE1E,kGAAkG;AAClG,SAAgB,cAAc,CAAC,OAAe,EAAE,GAAW,EAAE,QAAgB,EAAE,GAAY;IACzF,MAAM,MAAM,GAAqC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3E,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC,KAAK,GAAG,CAAC;AAC9G,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAY,EACZ,WAAuC,EACvC,GAAW,EACX,QAAgB,EAChB,GAAY;IAEZ,MAAM,UAAU,GAAoC,WAAmB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;IAChD,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,UAAgC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,MAAM,GAAqC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACnB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateRequestPart = validateRequestPart;
|
|
4
|
-
const
|
|
4
|
+
const request_input_1 = require("./request-input");
|
|
5
5
|
const nonProcessingRequestParts = new Set([
|
|
6
6
|
'files',
|
|
7
7
|
'auth',
|
|
@@ -47,7 +47,7 @@ function validateRequestPart(key, context, request) {
|
|
|
47
47
|
* when the validation handler or the transform does, so plain validators cost no microtasks.
|
|
48
48
|
*/
|
|
49
49
|
function validateProperty(key, property, definition, request) {
|
|
50
|
-
const { validation, transform
|
|
50
|
+
const { validation, transform } = definition;
|
|
51
51
|
const { required, handler, error } = validation;
|
|
52
52
|
const part = request[key];
|
|
53
53
|
const present = hasOwn(part, property);
|
|
@@ -57,16 +57,15 @@ function validateProperty(key, property, definition, request) {
|
|
|
57
57
|
if (!handler || !present) {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
60
|
+
const raw = part[property];
|
|
61
|
+
// already accepted by its validator before authentication / access control: not run twice
|
|
62
|
+
const accepted = (0, request_input_1.isPrevalidated)(request, key, property, raw);
|
|
63
|
+
// query and path values are strings: a number()/bigint() validator gets them converted, and so
|
|
64
|
+
// does the handler. A value that is not a well-formed number stays a string and fails validation.
|
|
65
|
+
const input = (0, request_input_1.validatorInput)(key, definition, raw);
|
|
66
|
+
const value = input.value;
|
|
67
|
+
if (input.numeric) {
|
|
68
|
+
part[property] = value;
|
|
70
69
|
}
|
|
71
70
|
// the configured error, never the exception text (it may describe internals)
|
|
72
71
|
const fail = () => error;
|
|
@@ -83,6 +82,9 @@ function validateProperty(key, property, definition, request) {
|
|
|
83
82
|
}
|
|
84
83
|
request[key][property] = transformed;
|
|
85
84
|
};
|
|
85
|
+
if (accepted) {
|
|
86
|
+
return applyTransform();
|
|
87
|
+
}
|
|
86
88
|
try {
|
|
87
89
|
const isValid = handler.apply(request, [value]);
|
|
88
90
|
if (isThenable(isValid)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-request-part.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/validate-request-part.ts"],"names":[],"mappings":";;AAsBA,kDA6BC;AAlDD,
|
|
1
|
+
{"version":3,"file":"validate-request-part.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/validate-request-part.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AccessControlConfig, Context, ContextRequest, RequestAuthentication, Request, Response, PropertyDefinition, PropertyDocumentation, PropertyDefinitionSchema, FilePropertyDefinition, } from './dto/index.js';
|
|
1
|
+
export { AladoConfigurationError, AccessControlConfig, Context, ContextRequest, RequestAuthentication, Request, Response, PropertyDefinition, PropertyDocumentation, PropertyDefinitionSchema, FilePropertyDefinition, } from './dto/index.js';
|
|
2
2
|
export { AladoServerOptions, ContextOptions, CorsOptions, OpenApiDoc } from './options/index.js';
|
|
3
3
|
export { HttpMethod, httpStatus, ContentType } from './constants/index.js';
|
|
4
4
|
export { validate } from './helpers/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AladoServer = exports.put = exports.post = exports.patch = exports.head = exports.del = exports.query = exports.get = exports.accessControl = exports.withAuth = exports.transformProperty = exports.validateProperty = exports.documentProperty = exports.fileUploadProperty = exports.defineResponse = exports.defineRequest = exports.initializeApplication = exports.validate = exports.ContentType = exports.httpStatus = exports.HttpMethod = void 0;
|
|
3
|
+
exports.AladoServer = exports.put = exports.post = exports.patch = exports.head = exports.del = exports.query = exports.get = exports.accessControl = exports.withAuth = exports.transformProperty = exports.validateProperty = exports.documentProperty = exports.fileUploadProperty = exports.defineResponse = exports.defineRequest = exports.initializeApplication = exports.validate = exports.ContentType = exports.httpStatus = exports.HttpMethod = exports.AladoConfigurationError = void 0;
|
|
4
|
+
var _dto_1 = require("./dto/index.js");
|
|
5
|
+
Object.defineProperty(exports, "AladoConfigurationError", { enumerable: true, get: function () { return _dto_1.AladoConfigurationError; } });
|
|
4
6
|
var _const_1 = require("./constants/index.js");
|
|
5
7
|
Object.defineProperty(exports, "HttpMethod", { enumerable: true, get: function () { return _const_1.HttpMethod; } });
|
|
6
8
|
Object.defineProperty(exports, "httpStatus", { enumerable: true, get: function () { return _const_1.httpStatus; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6BAYc;AAXZ,+GAAA,uBAAuB,OAAA;AAazB,iCAA6D;AAApD,oGAAA,UAAU,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC5C,mCAAmC;AAA1B,mGAAA,QAAQ,OAAA;AACjB,yCAiBoB;AAhBlB,mHAAA,qBAAqB,OAAA;AACrB,2GAAA,aAAa,OAAA;AACb,4GAAA,cAAc,OAAA;AACd,gHAAA,kBAAkB,OAAA;AAClB,8GAAA,gBAAgB,OAAA;AAChB,8GAAA,gBAAgB,OAAA;AAChB,+GAAA,iBAAiB,OAAA;AACjB,sGAAA,QAAQ,OAAA;AACR,2GAAA,aAAa,OAAA;AACb,iGAAA,GAAG,OAAA;AACH,mGAAA,KAAK,OAAA;AACL,iGAAA,GAAG,OAAA;AACH,kGAAA,IAAI,OAAA;AACJ,mGAAA,KAAK,OAAA;AACL,kGAAA,IAAI,OAAA;AACJ,iGAAA,GAAG,OAAA;AAEL,iCAAqC;AAA5B,qGAAA,WAAW,OAAA"}
|
|
@@ -5,8 +5,8 @@ import { CorsOptions } from './cors-options';
|
|
|
5
5
|
import { SecureContextOptions } from 'tls';
|
|
6
6
|
export type AladoServerOptions = {
|
|
7
7
|
port: number;
|
|
8
|
-
cors
|
|
9
|
-
openApiDoc
|
|
8
|
+
cors?: CorsOptions;
|
|
9
|
+
openApiDoc?: OpenApiDoc;
|
|
10
10
|
headers?: Record<string, string>;
|
|
11
11
|
serverOptions?: ServerOptions;
|
|
12
12
|
host?: string;
|
|
@@ -25,6 +25,7 @@ export declare class RequestProcessor {
|
|
|
25
25
|
private swaggerIndex;
|
|
26
26
|
private swaggerInitializer;
|
|
27
27
|
private corsStatic?;
|
|
28
|
+
private swaggerJsonPath;
|
|
28
29
|
private corsMethods;
|
|
29
30
|
constructor(requestProcessorOptions: RequestProcessorOptions);
|
|
30
31
|
protected respond(res: ServerResponse, response: Response<any>, backgroundHeaders?: Record<string, string>): void;
|