@tsed/platform-params 8.0.0-rc.5 → 8.0.0-rc.6
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/lib/esm/builder/PlatformParams.js +9 -19
- package/lib/esm/builder/PlatformParams.js.map +1 -1
- package/lib/esm/pipes/DeserializerPipe.js +5 -10
- package/lib/esm/pipes/DeserializerPipe.js.map +1 -1
- package/lib/esm/pipes/ParseExpressionPipe.js +4 -10
- package/lib/esm/pipes/ParseExpressionPipe.js.map +1 -1
- package/lib/esm/pipes/ValidationPipe.js +26 -20
- package/lib/esm/pipes/ValidationPipe.js.map +1 -1
- package/lib/types/builder/PlatformParams.d.ts +1 -2
- package/lib/types/pipes/ValidationPipe.d.ts +5 -4
- package/package.json +13 -13
- package/vitest.config.mts +3 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Inject, Injectable, InjectorService, ProviderScope } from "@tsed/di";
|
|
1
|
+
import { injectable, injector, ProviderScope } from "@tsed/di";
|
|
3
2
|
import { JsonMethodStore, JsonParameterStore } from "@tsed/schema";
|
|
4
3
|
import { ParamValidationError } from "../errors/ParamValidationError.js";
|
|
5
4
|
import { ParseExpressionPipe } from "../pipes/ParseExpressionPipe.js";
|
|
@@ -7,13 +6,13 @@ import { ParseExpressionPipe } from "../pipes/ParseExpressionPipe.js";
|
|
|
7
6
|
* Platform Params abstraction layer.
|
|
8
7
|
* @platform
|
|
9
8
|
*/
|
|
10
|
-
|
|
9
|
+
export class PlatformParams {
|
|
11
10
|
getPipes(param) {
|
|
12
11
|
const get = (pipe) => {
|
|
13
|
-
return
|
|
12
|
+
return injector().getProvider(pipe).priority || 0;
|
|
14
13
|
};
|
|
15
14
|
const sort = (p1, p2) => (get(p1) < get(p2) ? -1 : get(p1) > get(p2) ? 1 : 0);
|
|
16
|
-
const map = (token) =>
|
|
15
|
+
const map = (token) => injector().get(token);
|
|
17
16
|
return [ParseExpressionPipe, ...param.pipes.sort(sort)].map(map).filter(Boolean);
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
@@ -24,12 +23,13 @@ let PlatformParams = class PlatformParams {
|
|
|
24
23
|
if (!token || !propertyKey) {
|
|
25
24
|
return (scope) => handler(scope.$ctx);
|
|
26
25
|
}
|
|
26
|
+
const inj = injector();
|
|
27
27
|
const store = JsonMethodStore.fromMethod(token, propertyKey);
|
|
28
28
|
const getArguments = this.compile(store);
|
|
29
|
-
const provider =
|
|
29
|
+
const provider = inj.getProvider(token);
|
|
30
30
|
return async (scope) => {
|
|
31
31
|
const container = provider.scope === ProviderScope.REQUEST ? scope.$ctx.container : undefined;
|
|
32
|
-
const [instance, args] = await Promise.all([
|
|
32
|
+
const [instance, args] = await Promise.all([inj.invoke(token, { locals: container }), getArguments(scope)]);
|
|
33
33
|
return instance[propertyKey].call(instance, ...args, scope.$ctx);
|
|
34
34
|
};
|
|
35
35
|
}
|
|
@@ -57,16 +57,6 @@ let PlatformParams = class PlatformParams {
|
|
|
57
57
|
}
|
|
58
58
|
}, scope);
|
|
59
59
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
Inject(),
|
|
63
|
-
__metadata("design:type", InjectorService)
|
|
64
|
-
], PlatformParams.prototype, "injector", void 0);
|
|
65
|
-
PlatformParams = __decorate([
|
|
66
|
-
Injectable({
|
|
67
|
-
scope: ProviderScope.SINGLETON,
|
|
68
|
-
imports: [ParseExpressionPipe]
|
|
69
|
-
})
|
|
70
|
-
], PlatformParams);
|
|
71
|
-
export { PlatformParams };
|
|
60
|
+
}
|
|
61
|
+
injectable(PlatformParams).imports([ParseExpressionPipe]);
|
|
72
62
|
//# sourceMappingURL=PlatformParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformParams.js","sourceRoot":"","sources":["../../../src/builder/PlatformParams.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlatformParams.js","sourceRoot":"","sources":["../../../src/builder/PlatformParams.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
import { __decorate } from "tslib";
|
|
3
|
-
import { Injectable } from "@tsed/di";
|
|
1
|
+
import { injectable } from "@tsed/di";
|
|
4
2
|
import { deserialize } from "@tsed/json-mapper";
|
|
5
|
-
|
|
3
|
+
export class DeserializerPipe {
|
|
6
4
|
transform(value, param) {
|
|
7
5
|
return deserialize(value, {
|
|
8
6
|
useAlias: true,
|
|
9
7
|
store: param,
|
|
10
|
-
...(param.store.get(
|
|
8
|
+
...(param.store.get(DeserializerPipe) || {})
|
|
11
9
|
});
|
|
12
10
|
}
|
|
13
|
-
}
|
|
14
|
-
DeserializerPipe
|
|
15
|
-
Injectable()
|
|
16
|
-
], DeserializerPipe);
|
|
17
|
-
export { DeserializerPipe };
|
|
11
|
+
}
|
|
12
|
+
injectable(DeserializerPipe);
|
|
18
13
|
//# sourceMappingURL=DeserializerPipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeserializerPipe.js","sourceRoot":"","sources":["../../../src/pipes/DeserializerPipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeserializerPipe.js","sourceRoot":"","sources":["../../../src/pipes/DeserializerPipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAC,MAAM,UAAU,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAG9C,MAAM,OAAO,gBAAgB;IAC3B,SAAS,CAAC,KAAU,EAAE,KAAyB;QAC7C,OAAO,WAAW,CAAC,KAAK,EAAE;YACxB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK;YACZ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;CACF;AAED,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { getValue } from "@tsed/core";
|
|
3
|
-
import {
|
|
2
|
+
import { injectable } from "@tsed/di";
|
|
4
3
|
import { ParamTypes } from "../domain/ParamTypes.js";
|
|
5
|
-
|
|
4
|
+
export class ParseExpressionPipe {
|
|
6
5
|
transform(scope, param) {
|
|
7
6
|
const { paramType, type } = param;
|
|
8
7
|
const value = getValue(scope, this.getKey(param));
|
|
@@ -19,11 +18,6 @@ let ParseExpressionPipe = class ParseExpressionPipe {
|
|
|
19
18
|
}
|
|
20
19
|
return [dataPath, expression].filter(Boolean).join(".");
|
|
21
20
|
}
|
|
22
|
-
}
|
|
23
|
-
ParseExpressionPipe
|
|
24
|
-
Injectable({
|
|
25
|
-
priority: -1000
|
|
26
|
-
})
|
|
27
|
-
], ParseExpressionPipe);
|
|
28
|
-
export { ParseExpressionPipe };
|
|
21
|
+
}
|
|
22
|
+
injectable(ParseExpressionPipe).priority(-1000);
|
|
29
23
|
//# sourceMappingURL=ParseExpressionPipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParseExpressionPipe.js","sourceRoot":"","sources":["../../../src/pipes/ParseExpressionPipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParseExpressionPipe.js","sourceRoot":"","sources":["../../../src/pipes/ParseExpressionPipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAa,UAAU,EAAC,MAAM,UAAU,CAAC;AAIhD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AAEnD,MAAM,OAAO,mBAAmB;IAC9B,SAAS,CAAC,KAA0B,EAAE,KAAyB;QAC7D,MAAM,EAAC,SAAS,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QAEhC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAuB,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7G,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAES,MAAM,CAAC,KAAyB;QACxC,IAAI,EAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;QAC9C,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjE,IAAI,UAAU,IAAI,SAAS,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAClD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,CAAC;QAED,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;CACF;AAED,UAAU,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Inject, Injectable } from "@tsed/di";
|
|
1
|
+
import { constant, injectable, injectMany } from "@tsed/di";
|
|
3
2
|
import { deserialize } from "@tsed/json-mapper";
|
|
4
3
|
import { getJsonSchema } from "@tsed/schema";
|
|
5
4
|
import { ParamTypes } from "../domain/ParamTypes.js";
|
|
@@ -14,9 +13,18 @@ function cast(value, metadata) {
|
|
|
14
13
|
return value;
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
constructor(
|
|
19
|
-
this.
|
|
16
|
+
export class ValidationPipe {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.validators = new Map();
|
|
19
|
+
const validators = injectMany("validator:service");
|
|
20
|
+
const defaultValidator = constant("validators.default");
|
|
21
|
+
validators.length && this.validators.set("default", validators[0]);
|
|
22
|
+
validators.map((service) => {
|
|
23
|
+
this.validators.set(service.name, service);
|
|
24
|
+
if (service.name === defaultValidator) {
|
|
25
|
+
this.validators.set("default", service);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
20
28
|
}
|
|
21
29
|
coerceTypes(value, metadata) {
|
|
22
30
|
if (value === undefined) {
|
|
@@ -37,7 +45,7 @@ let ValidationPipe = class ValidationPipe {
|
|
|
37
45
|
return metadata.paramType === ParamTypes.PATH && !metadata.isPrimitive;
|
|
38
46
|
}
|
|
39
47
|
transform(value, metadata) {
|
|
40
|
-
if (!this.
|
|
48
|
+
if (!this.validators.size) {
|
|
41
49
|
this.checkIsRequired(value, metadata);
|
|
42
50
|
return value;
|
|
43
51
|
}
|
|
@@ -53,11 +61,16 @@ let ValidationPipe = class ValidationPipe {
|
|
|
53
61
|
const schema = getJsonSchema(metadata, {
|
|
54
62
|
customKeys: true
|
|
55
63
|
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
64
|
+
// TODO retrieve the right validator from metadata
|
|
65
|
+
const validator = this.validators.get("default");
|
|
66
|
+
if (validator) {
|
|
67
|
+
return validator.validate(value, {
|
|
68
|
+
schema,
|
|
69
|
+
type: metadata.isClass ? metadata.type : undefined,
|
|
70
|
+
collectionType: metadata.collectionType
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return value;
|
|
61
74
|
}
|
|
62
75
|
checkIsRequired(value, metadata) {
|
|
63
76
|
if (metadata.isRequired(value)) {
|
|
@@ -65,13 +78,6 @@ let ValidationPipe = class ValidationPipe {
|
|
|
65
78
|
}
|
|
66
79
|
return true;
|
|
67
80
|
}
|
|
68
|
-
}
|
|
69
|
-
ValidationPipe
|
|
70
|
-
Injectable({
|
|
71
|
-
type: "validator"
|
|
72
|
-
}),
|
|
73
|
-
__param(0, Inject("validator:service")),
|
|
74
|
-
__metadata("design:paramtypes", [Array])
|
|
75
|
-
], ValidationPipe);
|
|
76
|
-
export { ValidationPipe };
|
|
81
|
+
}
|
|
82
|
+
injectable(ValidationPipe).type("validator");
|
|
77
83
|
//# sourceMappingURL=ValidationPipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationPipe.js","sourceRoot":"","sources":["../../../src/pipes/ValidationPipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ValidationPipe.js","sourceRoot":"","sources":["../../../src/pipes/ValidationPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DIContext
|
|
1
|
+
import { DIContext } from "@tsed/di";
|
|
2
2
|
import { JsonMethodStore, JsonParameterStore, PipeMethods } from "@tsed/schema";
|
|
3
3
|
export type PlatformParamsScope<Context extends DIContext = DIContext> = {
|
|
4
4
|
$ctx: Context;
|
|
@@ -9,7 +9,6 @@ export type PlatformParamsCallback<Context extends DIContext = DIContext> = (sco
|
|
|
9
9
|
* @platform
|
|
10
10
|
*/
|
|
11
11
|
export declare class PlatformParams {
|
|
12
|
-
protected injector: InjectorService;
|
|
13
12
|
getPipes(param: JsonParameterStore): PipeMethods<any, any>[];
|
|
14
13
|
/**
|
|
15
14
|
* Return a handler with injectable parameters
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { JsonParameterStore, PipeMethods } from "@tsed/schema";
|
|
2
|
-
export
|
|
2
|
+
export interface ValidatorServiceMethods {
|
|
3
|
+
readonly name: string;
|
|
3
4
|
validate(value: any, options: any): Promise<any>;
|
|
4
|
-
}
|
|
5
|
+
}
|
|
5
6
|
export declare class ValidationPipe implements PipeMethods {
|
|
6
|
-
private
|
|
7
|
-
constructor(
|
|
7
|
+
private validators;
|
|
8
|
+
constructor();
|
|
8
9
|
coerceTypes(value: any, metadata: JsonParameterStore): any;
|
|
9
10
|
skip(value: any, metadata: JsonParameterStore): boolean;
|
|
10
11
|
transform(value: any, metadata: JsonParameterStore): Promise<any>;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tsed/platform-params",
|
|
3
3
|
"description": "Params module for Ts.ED Framework",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "8.0.0-rc.
|
|
5
|
+
"version": "8.0.0-rc.6",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./lib/esm/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
@@ -25,23 +25,23 @@
|
|
|
25
25
|
"tslib": "2.7.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@tsed/barrels": "8.0.0-rc.
|
|
29
|
-
"@tsed/core": "8.0.0-rc.
|
|
30
|
-
"@tsed/di": "8.0.0-rc.
|
|
31
|
-
"@tsed/exceptions": "8.0.0-rc.
|
|
32
|
-
"@tsed/json-mapper": "8.0.0-rc.
|
|
33
|
-
"@tsed/schema": "8.0.0-rc.
|
|
34
|
-
"@tsed/typescript": "8.0.0-rc.
|
|
28
|
+
"@tsed/barrels": "8.0.0-rc.6",
|
|
29
|
+
"@tsed/core": "8.0.0-rc.6",
|
|
30
|
+
"@tsed/di": "8.0.0-rc.6",
|
|
31
|
+
"@tsed/exceptions": "8.0.0-rc.6",
|
|
32
|
+
"@tsed/json-mapper": "8.0.0-rc.6",
|
|
33
|
+
"@tsed/schema": "8.0.0-rc.6",
|
|
34
|
+
"@tsed/typescript": "8.0.0-rc.6",
|
|
35
35
|
"eslint": "9.12.0",
|
|
36
36
|
"typescript": "5.4.5",
|
|
37
37
|
"vitest": "2.1.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@tsed/core": "8.0.0-rc.
|
|
41
|
-
"@tsed/di": "8.0.0-rc.
|
|
42
|
-
"@tsed/exceptions": "8.0.0-rc.
|
|
43
|
-
"@tsed/json-mapper": "8.0.0-rc.
|
|
44
|
-
"@tsed/schema": "8.0.0-rc.
|
|
40
|
+
"@tsed/core": "8.0.0-rc.6",
|
|
41
|
+
"@tsed/di": "8.0.0-rc.6",
|
|
42
|
+
"@tsed/exceptions": "8.0.0-rc.6",
|
|
43
|
+
"@tsed/json-mapper": "8.0.0-rc.6",
|
|
44
|
+
"@tsed/schema": "8.0.0-rc.6"
|
|
45
45
|
},
|
|
46
46
|
"peerDependenciesMeta": {
|
|
47
47
|
"@tsed/core": {
|
package/vitest.config.mts
CHANGED