@tsed/platform-params 7.0.0-alpha.1 → 7.0.0-beta.10
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/cjs/builder/PlatformParams.js +79 -0
- package/lib/cjs/builder/PlatformParams.js.map +1 -0
- package/lib/cjs/decorators/bodyParams.js +46 -0
- package/lib/cjs/decorators/bodyParams.js.map +1 -0
- package/lib/cjs/decorators/context.js +18 -0
- package/lib/cjs/decorators/context.js.map +1 -0
- package/lib/cjs/decorators/cookies.js +23 -0
- package/lib/cjs/decorators/cookies.js.map +1 -0
- package/lib/cjs/decorators/headerParams.js +18 -0
- package/lib/cjs/decorators/headerParams.js.map +1 -0
- package/lib/cjs/decorators/locals.js +18 -0
- package/lib/cjs/decorators/locals.js.map +1 -0
- package/lib/cjs/decorators/paramFn.js +17 -0
- package/lib/cjs/decorators/paramFn.js.map +1 -0
- package/lib/cjs/decorators/pathParams.js +54 -0
- package/lib/cjs/decorators/pathParams.js.map +1 -0
- package/lib/cjs/decorators/queryParams.js +54 -0
- package/lib/cjs/decorators/queryParams.js.map +1 -0
- package/lib/cjs/decorators/session.js +18 -0
- package/lib/cjs/decorators/session.js.map +1 -0
- package/lib/cjs/decorators/useDeserialization.js +18 -0
- package/lib/cjs/decorators/useDeserialization.js.map +1 -0
- package/lib/cjs/decorators/useParam.js +50 -0
- package/lib/cjs/decorators/useParam.js.map +1 -0
- package/lib/cjs/decorators/useParamExpression.js +20 -0
- package/lib/cjs/decorators/useParamExpression.js.map +1 -0
- package/lib/cjs/decorators/useParamType.js +32 -0
- package/lib/cjs/decorators/useParamType.js.map +1 -0
- package/lib/cjs/decorators/usePipe.js +22 -0
- package/lib/cjs/decorators/usePipe.js.map +1 -0
- package/lib/cjs/decorators/useType.js +20 -0
- package/lib/cjs/decorators/useType.js.map +1 -0
- package/lib/cjs/decorators/useValidation.js +22 -0
- package/lib/cjs/decorators/useValidation.js.map +1 -0
- package/lib/cjs/domain/ParamMetadata.js +6 -0
- package/lib/cjs/domain/ParamMetadata.js.map +1 -0
- package/lib/cjs/domain/ParamOptions.js +3 -0
- package/lib/cjs/domain/ParamOptions.js.map +1 -0
- package/lib/cjs/domain/ParamTypes.js +40 -0
- package/lib/cjs/domain/ParamTypes.js.map +1 -0
- package/lib/cjs/errors/ParamValidationError.js +29 -0
- package/lib/cjs/errors/ParamValidationError.js.map +1 -0
- package/lib/cjs/errors/RequiredValidationError.js +32 -0
- package/lib/cjs/errors/RequiredValidationError.js.map +1 -0
- package/lib/cjs/errors/ValidationError.js +13 -0
- package/lib/cjs/errors/ValidationError.js.map +1 -0
- package/lib/cjs/exports.js +3 -0
- package/lib/cjs/exports.js.map +1 -0
- package/lib/cjs/index.js +35 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/pipes/DeserializerPipe.js +30 -0
- package/lib/cjs/pipes/DeserializerPipe.js.map +1 -0
- package/lib/cjs/pipes/ParseExpressionPipe.js +32 -0
- package/lib/cjs/pipes/ParseExpressionPipe.js.map +1 -0
- package/lib/cjs/pipes/ValidationPipe.js +83 -0
- package/lib/cjs/pipes/ValidationPipe.js.map +1 -0
- package/lib/cjs/utils/mapParamsOptions.js +30 -0
- package/lib/cjs/utils/mapParamsOptions.js.map +1 -0
- package/lib/esm/builder/PlatformParams.js +76 -0
- package/lib/esm/builder/PlatformParams.js.map +1 -0
- package/lib/esm/decorators/bodyParams.js +41 -0
- package/lib/esm/decorators/bodyParams.js.map +1 -0
- package/lib/esm/decorators/context.js +14 -0
- package/lib/esm/decorators/context.js.map +1 -0
- package/lib/esm/decorators/cookies.js +18 -0
- package/lib/esm/decorators/cookies.js.map +1 -0
- package/lib/esm/decorators/headerParams.js +14 -0
- package/lib/esm/decorators/headerParams.js.map +1 -0
- package/lib/esm/decorators/locals.js +14 -0
- package/lib/esm/decorators/locals.js.map +1 -0
- package/lib/esm/decorators/paramFn.js +13 -0
- package/lib/esm/decorators/paramFn.js.map +1 -0
- package/lib/esm/decorators/pathParams.js +49 -0
- package/lib/esm/decorators/pathParams.js.map +1 -0
- package/lib/esm/decorators/queryParams.js +49 -0
- package/lib/esm/decorators/queryParams.js.map +1 -0
- package/lib/esm/decorators/session.js +14 -0
- package/lib/esm/decorators/session.js.map +1 -0
- package/lib/esm/decorators/useDeserialization.js +14 -0
- package/lib/esm/decorators/useDeserialization.js.map +1 -0
- package/lib/esm/decorators/useParam.js +46 -0
- package/lib/esm/decorators/useParam.js.map +1 -0
- package/lib/esm/decorators/useParamExpression.js +16 -0
- package/lib/esm/decorators/useParamExpression.js.map +1 -0
- package/lib/esm/decorators/useParamType.js +28 -0
- package/lib/esm/decorators/useParamType.js.map +1 -0
- package/lib/esm/decorators/usePipe.js +18 -0
- package/lib/esm/decorators/usePipe.js.map +1 -0
- package/lib/esm/decorators/useType.js +16 -0
- package/lib/esm/decorators/useType.js.map +1 -0
- package/lib/esm/decorators/useValidation.js +18 -0
- package/lib/esm/decorators/useValidation.js.map +1 -0
- package/lib/esm/domain/ParamMetadata.js +2 -0
- package/lib/esm/domain/ParamMetadata.js.map +1 -0
- package/lib/esm/domain/ParamOptions.js +2 -0
- package/lib/esm/domain/ParamOptions.js.map +1 -0
- package/lib/esm/domain/ParamTypes.js +37 -0
- package/lib/esm/domain/ParamTypes.js.map +1 -0
- package/lib/esm/errors/ParamValidationError.js +25 -0
- package/lib/esm/errors/ParamValidationError.js.map +1 -0
- package/lib/esm/errors/RequiredValidationError.js +28 -0
- package/lib/esm/errors/RequiredValidationError.js.map +1 -0
- package/lib/esm/errors/ValidationError.js +9 -0
- package/lib/esm/errors/ValidationError.js.map +1 -0
- package/lib/esm/exports.js +2 -0
- package/lib/esm/exports.js.map +1 -0
- package/lib/esm/index.js +32 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/pipes/DeserializerPipe.js +27 -0
- package/lib/esm/pipes/DeserializerPipe.js.map +1 -0
- package/lib/esm/pipes/ParseExpressionPipe.js +29 -0
- package/lib/esm/pipes/ParseExpressionPipe.js.map +1 -0
- package/lib/esm/pipes/ValidationPipe.js +80 -0
- package/lib/esm/pipes/ValidationPipe.js.map +1 -0
- package/lib/esm/utils/mapParamsOptions.js +26 -0
- package/lib/esm/utils/mapParamsOptions.js.map +1 -0
- package/lib/{builder → types/builder}/PlatformParams.d.ts +3 -4
- package/lib/{decorators → types/decorators}/bodyParams.d.ts +2 -1
- package/lib/{decorators → types/decorators}/context.d.ts +0 -6
- package/lib/{decorators → types/decorators}/cookies.d.ts +0 -0
- package/lib/{decorators → types/decorators}/headerParams.d.ts +0 -0
- package/lib/{decorators → types/decorators}/locals.d.ts +0 -0
- package/lib/{decorators → types/decorators}/paramFn.d.ts +2 -2
- package/lib/{decorators → types/decorators}/pathParams.d.ts +0 -0
- package/lib/{decorators → types/decorators}/queryParams.d.ts +0 -0
- package/lib/{decorators → types/decorators}/session.d.ts +0 -0
- package/lib/{decorators → types/decorators}/useDeserialization.d.ts +0 -0
- package/lib/{decorators → types/decorators}/useParam.d.ts +0 -0
- package/lib/{decorators → types/decorators}/useParamExpression.d.ts +0 -0
- package/lib/{decorators → types/decorators}/useParamType.d.ts +0 -0
- package/lib/{decorators → types/decorators}/usePipe.d.ts +1 -1
- package/lib/{decorators → types/decorators}/useType.d.ts +0 -0
- package/lib/{decorators → types/decorators}/useValidation.d.ts +0 -0
- package/lib/types/domain/ParamMetadata.d.ts +1 -0
- package/lib/{domain → types/domain}/ParamOptions.d.ts +0 -0
- package/lib/{domain → types/domain}/ParamTypes.d.ts +1 -0
- package/lib/{errors → types/errors}/ParamValidationError.d.ts +2 -2
- package/lib/{errors → types/errors}/RequiredValidationError.d.ts +2 -3
- package/lib/{errors → types/errors}/ValidationError.d.ts +0 -0
- package/lib/types/exports.d.ts +1 -0
- package/lib/{index.d.ts → types/index.d.ts} +24 -21
- package/lib/types/pipes/DeserializerPipe.d.ts +5 -0
- package/lib/types/pipes/ParseExpressionPipe.d.ts +6 -0
- package/lib/types/pipes/ValidationPipe.d.ts +10 -0
- package/lib/{utils → types/utils}/mapParamsOptions.d.ts +0 -0
- package/package.json +41 -18
- package/readme.md +1 -2
- package/tsconfig.compile.esm.json +12 -0
- package/lib/domain/ParamMetadata.d.ts +0 -21
- package/lib/index.js +0 -844
- package/lib/index.js.map +0 -1
- package/lib/index.modern.js +0 -825
- package/lib/index.modern.js.map +0 -1
- package/lib/pipes/DeserializerPipe.d.ts +0 -5
- package/lib/pipes/ParseExpressionPipe.d.ts +0 -5
- package/lib/pipes/ValidationPipe.d.ts +0 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"","sourcesContent":["export {PipeMethods} from \"@tsed/schema\";\n"]}
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./exports.js";
|
|
5
|
+
export * from "./builder/PlatformParams.js";
|
|
6
|
+
export * from "./decorators/bodyParams.js";
|
|
7
|
+
export * from "./decorators/context.js";
|
|
8
|
+
export * from "./decorators/cookies.js";
|
|
9
|
+
export * from "./decorators/headerParams.js";
|
|
10
|
+
export * from "./decorators/locals.js";
|
|
11
|
+
export * from "./decorators/paramFn.js";
|
|
12
|
+
export * from "./decorators/pathParams.js";
|
|
13
|
+
export * from "./decorators/queryParams.js";
|
|
14
|
+
export * from "./decorators/session.js";
|
|
15
|
+
export * from "./decorators/useDeserialization.js";
|
|
16
|
+
export * from "./decorators/useParam.js";
|
|
17
|
+
export * from "./decorators/useParamExpression.js";
|
|
18
|
+
export * from "./decorators/useParamType.js";
|
|
19
|
+
export * from "./decorators/usePipe.js";
|
|
20
|
+
export * from "./decorators/useType.js";
|
|
21
|
+
export * from "./decorators/useValidation.js";
|
|
22
|
+
export * from "./domain/ParamMetadata.js";
|
|
23
|
+
export * from "./domain/ParamOptions.js";
|
|
24
|
+
export * from "./domain/ParamTypes.js";
|
|
25
|
+
export * from "./errors/ParamValidationError.js";
|
|
26
|
+
export * from "./errors/RequiredValidationError.js";
|
|
27
|
+
export * from "./errors/ValidationError.js";
|
|
28
|
+
export * from "./pipes/DeserializerPipe.js";
|
|
29
|
+
export * from "./pipes/ParseExpressionPipe.js";
|
|
30
|
+
export * from "./pipes/ValidationPipe.js";
|
|
31
|
+
export * from "./utils/mapParamsOptions.js";
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./exports\";\nexport * from \"./builder/PlatformParams\";\nexport * from \"./decorators/bodyParams\";\nexport * from \"./decorators/context\";\nexport * from \"./decorators/cookies\";\nexport * from \"./decorators/headerParams\";\nexport * from \"./decorators/locals\";\nexport * from \"./decorators/paramFn\";\nexport * from \"./decorators/pathParams\";\nexport * from \"./decorators/queryParams\";\nexport * from \"./decorators/session\";\nexport * from \"./decorators/useDeserialization\";\nexport * from \"./decorators/useParam\";\nexport * from \"./decorators/useParamExpression\";\nexport * from \"./decorators/useParamType\";\nexport * from \"./decorators/usePipe\";\nexport * from \"./decorators/useType\";\nexport * from \"./decorators/useValidation\";\nexport * from \"./domain/ParamMetadata\";\nexport * from \"./domain/ParamOptions\";\nexport * from \"./domain/ParamTypes\";\nexport * from \"./errors/ParamValidationError\";\nexport * from \"./errors/RequiredValidationError\";\nexport * from \"./errors/ValidationError\";\nexport * from \"./pipes/DeserializerPipe\";\nexport * from \"./pipes/ParseExpressionPipe\";\nexport * from \"./pipes/ValidationPipe\";\nexport * from \"./utils/mapParamsOptions\";\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var DeserializerPipe_1;
|
|
2
|
+
import { __decorate, __metadata } from "tslib";
|
|
3
|
+
import { Constant, Injectable } from "@tsed/di";
|
|
4
|
+
import { deserialize } from "@tsed/json-mapper";
|
|
5
|
+
let DeserializerPipe = DeserializerPipe_1 = class DeserializerPipe {
|
|
6
|
+
transform(value, param) {
|
|
7
|
+
return deserialize(value, {
|
|
8
|
+
useAlias: true,
|
|
9
|
+
additionalProperties: this.settings.additionalProperties === "accept",
|
|
10
|
+
type: param.type,
|
|
11
|
+
collectionType: param.collectionType,
|
|
12
|
+
groups: param.parameter.groups,
|
|
13
|
+
genericTypes: param.nestedGenerics[0],
|
|
14
|
+
nestedGenerics: param.nestedGenerics,
|
|
15
|
+
...(param.store.get(DeserializerPipe_1) || {})
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
__decorate([
|
|
20
|
+
Constant("converter", {}),
|
|
21
|
+
__metadata("design:type", Object)
|
|
22
|
+
], DeserializerPipe.prototype, "settings", void 0);
|
|
23
|
+
DeserializerPipe = DeserializerPipe_1 = __decorate([
|
|
24
|
+
Injectable()
|
|
25
|
+
], DeserializerPipe);
|
|
26
|
+
export { DeserializerPipe };
|
|
27
|
+
//# sourceMappingURL=DeserializerPipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeserializerPipe.js","sourceRoot":"","sources":["../../../src/pipes/DeserializerPipe.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAI9C,IAAa,gBAAgB,wBAA7B,MAAa,gBAAgB;IAM3B,SAAS,CAAC,KAAU,EAAE,KAAyB;QAC7C,OAAO,WAAW,CAAC,KAAK,EAAE;YACxB,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,KAAK,QAAQ;YACrE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;YAC9B,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACrC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAgB,CAAC,IAAI,EAAE,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhBC;IADC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;;kDAGxB;AAJS,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAkB5B;SAlBY,gBAAgB","sourcesContent":["import {Constant, Injectable} from \"@tsed/di\";\nimport {deserialize} from \"@tsed/json-mapper\";\nimport {JsonParameterStore, PipeMethods} from \"@tsed/schema\";\n\n@Injectable()\nexport class DeserializerPipe implements PipeMethods {\n @Constant(\"converter\", {})\n private settings: {\n additionalProperties?: \"error\" | \"accept\" | \"ignore\";\n };\n\n transform(value: any, param: JsonParameterStore) {\n return deserialize(value, {\n useAlias: true,\n additionalProperties: this.settings.additionalProperties === \"accept\",\n type: param.type,\n collectionType: param.collectionType,\n groups: param.parameter.groups,\n genericTypes: param.nestedGenerics[0],\n nestedGenerics: param.nestedGenerics,\n ...(param.store.get(DeserializerPipe) || {})\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { getValue } from "@tsed/core";
|
|
3
|
+
import { Injectable } from "@tsed/di";
|
|
4
|
+
import { ParamTypes } from "../domain/ParamTypes.js";
|
|
5
|
+
let ParseExpressionPipe = class ParseExpressionPipe {
|
|
6
|
+
transform(scope, param) {
|
|
7
|
+
const { paramType, type } = param;
|
|
8
|
+
const value = getValue(scope, this.getKey(param));
|
|
9
|
+
if ([ParamTypes.QUERY, ParamTypes.PATH].includes(paramType) && value === "" && type !== String) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
getKey(param) {
|
|
15
|
+
let { expression, paramType, dataPath } = param;
|
|
16
|
+
paramType = paramType || param.parameter.get("in").toUpperCase();
|
|
17
|
+
if (expression && paramType === ParamTypes.HEADER) {
|
|
18
|
+
expression = String(expression).toLowerCase();
|
|
19
|
+
}
|
|
20
|
+
return [dataPath, expression].filter(Boolean).join(".");
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
ParseExpressionPipe = __decorate([
|
|
24
|
+
Injectable({
|
|
25
|
+
priority: -1000
|
|
26
|
+
})
|
|
27
|
+
], ParseExpressionPipe);
|
|
28
|
+
export { ParseExpressionPipe };
|
|
29
|
+
//# sourceMappingURL=ParseExpressionPipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParseExpressionPipe.js","sourceRoot":"","sources":["../../../src/pipes/ParseExpressionPipe.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAMhD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,SAAS,CAAC,KAAe,EAAE,KAAyB;QAClD,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;YAC5G,OAAO,SAAS,CAAC;SAClB;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;YACjD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;SAC/C;QAED,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAvBY,mBAAmB;IAH/B,UAAU,CAAC;QACV,QAAQ,EAAE,CAAC,IAAI;KAChB,CAAC;GACW,mBAAmB,CAuB/B;SAvBY,mBAAmB","sourcesContent":["import {getValue} from \"@tsed/core\";\nimport {Injectable} from \"@tsed/di\";\nimport {JsonParameterStore, PipeMethods} from \"@tsed/schema\";\nimport {ParamTypes} from \"../domain/ParamTypes\";\nimport type {ArgScope} from \"../builder/PlatformParams\";\n\n@Injectable({\n priority: -1000\n})\nexport class ParseExpressionPipe implements PipeMethods {\n transform(scope: ArgScope, param: JsonParameterStore) {\n const {paramType, type} = param;\n\n const value = getValue(scope, this.getKey(param));\n\n if ([ParamTypes.QUERY, ParamTypes.PATH].includes(paramType as ParamTypes) && value === \"\" && type !== String) {\n return undefined;\n }\n\n return value;\n }\n\n protected getKey(param: JsonParameterStore) {\n let {expression, paramType, dataPath} = param;\n paramType = paramType || param.parameter.get(\"in\").toUpperCase();\n\n if (expression && paramType === ParamTypes.HEADER) {\n expression = String(expression).toLowerCase();\n }\n\n return [dataPath, expression].filter(Boolean).join(\".\");\n }\n}\n"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { nameOf } from "@tsed/core";
|
|
3
|
+
import { Injectable, InjectorService } from "@tsed/di";
|
|
4
|
+
import { deserialize } from "@tsed/json-mapper";
|
|
5
|
+
import { getJsonSchema } from "@tsed/schema";
|
|
6
|
+
import { RequiredValidationError } from "../errors/RequiredValidationError.js";
|
|
7
|
+
import { ParamTypes } from "../domain/ParamTypes.js";
|
|
8
|
+
function cast(value, metadata) {
|
|
9
|
+
try {
|
|
10
|
+
return deserialize(value, {
|
|
11
|
+
type: metadata.type
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
catch (er) {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
let ValidationPipe = class ValidationPipe {
|
|
19
|
+
constructor(injector) {
|
|
20
|
+
const provider = injector.getProviders().find((provider) => nameOf(provider.token) === "AjvService");
|
|
21
|
+
if (provider) {
|
|
22
|
+
this.validator = injector.invoke(provider.token);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
coerceTypes(value, metadata) {
|
|
26
|
+
if (value === undefined) {
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
if (value === "null") {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (metadata.isArray) {
|
|
33
|
+
return [].concat(value);
|
|
34
|
+
}
|
|
35
|
+
if (metadata.isPrimitive) {
|
|
36
|
+
return cast(value, metadata);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
skip(value, metadata) {
|
|
41
|
+
return metadata.paramType === ParamTypes.PATH && !metadata.isPrimitive;
|
|
42
|
+
}
|
|
43
|
+
async transform(value, metadata) {
|
|
44
|
+
if (!this.validator) {
|
|
45
|
+
this.checkIsRequired(value, metadata);
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
if (this.skip(value, metadata)) {
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
value = this.coerceTypes(value, metadata);
|
|
52
|
+
this.checkIsRequired(value, metadata);
|
|
53
|
+
if (value === undefined) {
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
const schema = getJsonSchema(metadata, {
|
|
57
|
+
customKeys: true
|
|
58
|
+
});
|
|
59
|
+
await this.validator.validate(value, {
|
|
60
|
+
schema,
|
|
61
|
+
type: metadata.isClass ? metadata.type : undefined,
|
|
62
|
+
collectionType: metadata.collectionType
|
|
63
|
+
});
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
checkIsRequired(value, metadata) {
|
|
67
|
+
if (metadata.isRequired(value)) {
|
|
68
|
+
throw RequiredValidationError.from(metadata);
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
ValidationPipe = __decorate([
|
|
74
|
+
Injectable({
|
|
75
|
+
type: "validator"
|
|
76
|
+
}),
|
|
77
|
+
__metadata("design:paramtypes", [InjectorService])
|
|
78
|
+
], ValidationPipe);
|
|
79
|
+
export { ValidationPipe };
|
|
80
|
+
//# sourceMappingURL=ValidationPipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidationPipe.js","sourceRoot":"","sources":["../../../src/pipes/ValidationPipe.ts"],"names":[],"mappings":"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","sourcesContent":["import {nameOf} from \"@tsed/core\";\nimport {Injectable, InjectorService} from \"@tsed/di\";\nimport {deserialize} from \"@tsed/json-mapper\";\nimport {getJsonSchema, JsonParameterStore, PipeMethods} from \"@tsed/schema\";\nimport {RequiredValidationError} from \"../errors/RequiredValidationError\";\nimport {ParamTypes} from \"../domain/ParamTypes\";\n\nfunction cast(value: any, metadata: JsonParameterStore) {\n try {\n return deserialize(value, {\n type: metadata.type\n });\n } catch (er) {\n return value;\n }\n}\n\n@Injectable({\n type: \"validator\"\n})\nexport class ValidationPipe implements PipeMethods {\n private validator: {validate(value: any, options: any): Promise<any>};\n\n constructor(injector: InjectorService) {\n const provider = injector.getProviders().find((provider) => nameOf(provider.token) === \"AjvService\");\n\n if (provider) {\n this.validator = injector.invoke<any>(provider.token);\n }\n }\n\n coerceTypes(value: any, metadata: JsonParameterStore) {\n if (value === undefined) {\n return value;\n }\n\n if (value === \"null\") {\n return null;\n }\n\n if (metadata.isArray) {\n return [].concat(value);\n }\n\n if (metadata.isPrimitive) {\n return cast(value, metadata);\n }\n\n return value;\n }\n\n skip(value: any, metadata: JsonParameterStore) {\n return metadata.paramType === ParamTypes.PATH && !metadata.isPrimitive;\n }\n\n async transform(value: any, metadata: JsonParameterStore): Promise<any> {\n if (!this.validator) {\n this.checkIsRequired(value, metadata);\n return value;\n }\n\n if (this.skip(value, metadata)) {\n return value;\n }\n\n value = this.coerceTypes(value, metadata);\n\n this.checkIsRequired(value, metadata);\n\n if (value === undefined) {\n return value;\n }\n\n const schema = getJsonSchema(metadata, {\n customKeys: true\n });\n\n await this.validator.validate(value, {\n schema,\n type: metadata.isClass ? metadata.type : undefined,\n collectionType: metadata.collectionType\n });\n\n return value;\n }\n\n protected checkIsRequired(value: any, metadata: JsonParameterStore) {\n if (metadata.isRequired(value)) {\n throw RequiredValidationError.from(metadata);\n }\n\n return true;\n }\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isObject } from "@tsed/core";
|
|
2
|
+
/**
|
|
3
|
+
* @ignore
|
|
4
|
+
*/
|
|
5
|
+
export function mapParamsOptions(args) {
|
|
6
|
+
if (args.length === 1) {
|
|
7
|
+
if (typeof args[0] === "string") {
|
|
8
|
+
return {
|
|
9
|
+
expression: args[0]
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
if (!isObject(args[0])) {
|
|
13
|
+
return {
|
|
14
|
+
useType: args[0]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
...args[0]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
expression: args[0],
|
|
23
|
+
useType: args[1]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=mapParamsOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapParamsOptions.js","sourceRoot":"","sources":["../../../src/utils/mapParamsOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAGpC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAW;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC/B,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;aACpB,CAAC;SACH;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;SACH;QAED,OAAO;YACL,GAAG,IAAI,CAAC,CAAC,CAAC;SACX,CAAC;KACH;IAED,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACnB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;KACjB,CAAC;AACJ,CAAC","sourcesContent":["import {isObject} from \"@tsed/core\";\nimport {ParamOptions} from \"../domain/ParamOptions\";\n\n/**\n * @ignore\n */\nexport function mapParamsOptions(args: any[]): Partial<ParamOptions<any>> {\n if (args.length === 1) {\n if (typeof args[0] === \"string\") {\n return {\n expression: args[0]\n };\n }\n\n if (!isObject(args[0])) {\n return {\n useType: args[0]\n };\n }\n\n return {\n ...args[0]\n };\n }\n\n return {\n expression: args[0],\n useType: args[1]\n };\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DIContext, InjectorService, TokenProvider } from "@tsed/di";
|
|
2
|
-
import { JsonEntityStore } from "@tsed/schema";
|
|
3
|
-
import { ParamMetadata, PipeMethods } from "../domain/ParamMetadata";
|
|
2
|
+
import { JsonEntityStore, JsonParameterStore, PipeMethods } from "@tsed/schema";
|
|
4
3
|
export declare type ArgScope<Context extends DIContext = DIContext> = {
|
|
5
4
|
$ctx: Context;
|
|
6
5
|
} & Record<string, any>;
|
|
@@ -16,8 +15,8 @@ export interface CompileHandlerOptions<Context extends DIContext = DIContext> ex
|
|
|
16
15
|
*/
|
|
17
16
|
export declare class PlatformParams {
|
|
18
17
|
protected injector: InjectorService;
|
|
19
|
-
getPipes(param:
|
|
18
|
+
getPipes(param: JsonParameterStore): Promise<PipeMethods<any, any>[]>;
|
|
20
19
|
compile<Context extends DIContext = DIContext>(entity: JsonEntityStore): Promise<(scope: ArgScope<Context>) => Promise<any[]>>;
|
|
21
|
-
getArg(scope: ArgScope, pipes: PipeMethods[], param:
|
|
20
|
+
getArg(scope: ArgScope, pipes: PipeMethods[], param: JsonParameterStore): Promise<any>;
|
|
22
21
|
compileHandler<Context extends DIContext = DIContext>(metadata: CompileHandlerOptions<Context>): Promise<HandlerWithScope<Context>>;
|
|
23
22
|
}
|
|
@@ -52,7 +52,7 @@ export declare function BodyParams(): ParameterDecorator;
|
|
|
52
52
|
* class MyCtrl {
|
|
53
53
|
* @Post('/')
|
|
54
54
|
* create(@RawBodyParams() body: Buffer) {
|
|
55
|
-
* console.log('Entire body', body.toString(
|
|
55
|
+
* console.log('Entire body', body.toString("utf8"));
|
|
56
56
|
* }
|
|
57
57
|
* }
|
|
58
58
|
* ```
|
|
@@ -60,5 +60,6 @@ export declare function BodyParams(): ParameterDecorator;
|
|
|
60
60
|
* @decorator
|
|
61
61
|
* @operation
|
|
62
62
|
* @input
|
|
63
|
+
* @alias BodyParams Example: @BodyParams() payload: Buffer
|
|
63
64
|
*/
|
|
64
65
|
export declare function RawBodyParams(): ParameterDecorator;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DecoratorParameters } from "@tsed/core";
|
|
2
|
-
import {
|
|
2
|
+
import { JsonParameterStore } from "@tsed/schema";
|
|
3
3
|
/**
|
|
4
4
|
* Get the Param metadata. Use this decorator to compose your own decorator.
|
|
5
5
|
*
|
|
@@ -8,4 +8,4 @@ import { ParamMetadata } from "../domain/ParamMetadata";
|
|
|
8
8
|
* @operation
|
|
9
9
|
* @input
|
|
10
10
|
*/
|
|
11
|
-
export declare function ParamFn(fn: (param:
|
|
11
|
+
export declare function ParamFn(fn: (param: JsonParameterStore, parameters: DecoratorParameters) => void): ParameterDecorator;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ParamMetadata } from "@tsed/schema";
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BadRequest } from "@tsed/exceptions";
|
|
2
|
-
import {
|
|
2
|
+
import { JsonParameterStore } from "@tsed/schema";
|
|
3
3
|
export declare class ParamValidationError extends BadRequest {
|
|
4
4
|
name: string;
|
|
5
5
|
dataPath: string;
|
|
6
6
|
requestType: string;
|
|
7
|
-
static from(metadata:
|
|
7
|
+
static from(metadata: JsonParameterStore, origin?: any): any;
|
|
8
8
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ParamMetadata } from "../domain/ParamMetadata";
|
|
2
1
|
import { ValidationError } from "./ValidationError";
|
|
2
|
+
import { JsonParameterStore } from "@tsed/schema";
|
|
3
3
|
export declare class RequiredValidationError extends ValidationError {
|
|
4
4
|
name: string;
|
|
5
|
-
|
|
6
|
-
static from(metadata: ParamMetadata): RequiredValidationError;
|
|
5
|
+
static from(metadata: JsonParameterStore): RequiredValidationError;
|
|
7
6
|
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PipeMethods } from "@tsed/schema";
|
|
@@ -1,28 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./pipes/ParseExpressionPipe";
|
|
6
|
-
export * from "./pipes/DeserializerPipe";
|
|
7
|
-
export * from "./pipes/ValidationPipe";
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./exports";
|
|
8
5
|
export * from "./builder/PlatformParams";
|
|
9
|
-
export * from "./errors/RequiredValidationError";
|
|
10
|
-
export * from "./errors/ValidationError";
|
|
11
|
-
export * from "./errors/ParamValidationError";
|
|
12
|
-
export * from "./decorators/context";
|
|
13
6
|
export * from "./decorators/bodyParams";
|
|
14
|
-
export * from "./decorators/
|
|
15
|
-
export * from "./decorators/useParam";
|
|
16
|
-
export * from "./decorators/useParamType";
|
|
17
|
-
export * from "./decorators/useType";
|
|
18
|
-
export * from "./decorators/useValidation";
|
|
19
|
-
export * from "./decorators/useDeserialization";
|
|
20
|
-
export * from "./decorators/useParamExpression";
|
|
21
|
-
export * from "./decorators/useParamType";
|
|
22
|
-
export * from "./decorators/headerParams";
|
|
7
|
+
export * from "./decorators/context";
|
|
23
8
|
export * from "./decorators/cookies";
|
|
9
|
+
export * from "./decorators/headerParams";
|
|
24
10
|
export * from "./decorators/locals";
|
|
11
|
+
export * from "./decorators/paramFn";
|
|
25
12
|
export * from "./decorators/pathParams";
|
|
26
13
|
export * from "./decorators/queryParams";
|
|
27
14
|
export * from "./decorators/session";
|
|
28
|
-
export * from "./decorators/
|
|
15
|
+
export * from "./decorators/useDeserialization";
|
|
16
|
+
export * from "./decorators/useParam";
|
|
17
|
+
export * from "./decorators/useParamExpression";
|
|
18
|
+
export * from "./decorators/useParamType";
|
|
19
|
+
export * from "./decorators/usePipe";
|
|
20
|
+
export * from "./decorators/useType";
|
|
21
|
+
export * from "./decorators/useValidation";
|
|
22
|
+
export * from "./domain/ParamMetadata";
|
|
23
|
+
export * from "./domain/ParamOptions";
|
|
24
|
+
export * from "./domain/ParamTypes";
|
|
25
|
+
export * from "./errors/ParamValidationError";
|
|
26
|
+
export * from "./errors/RequiredValidationError";
|
|
27
|
+
export * from "./errors/ValidationError";
|
|
28
|
+
export * from "./pipes/DeserializerPipe";
|
|
29
|
+
export * from "./pipes/ParseExpressionPipe";
|
|
30
|
+
export * from "./pipes/ValidationPipe";
|
|
31
|
+
export * from "./utils/mapParamsOptions";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { JsonParameterStore, PipeMethods } from "@tsed/schema";
|
|
2
|
+
import type { ArgScope } from "../builder/PlatformParams";
|
|
3
|
+
export declare class ParseExpressionPipe implements PipeMethods {
|
|
4
|
+
transform(scope: ArgScope, param: JsonParameterStore): any;
|
|
5
|
+
protected getKey(param: JsonParameterStore): string;
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InjectorService } from "@tsed/di";
|
|
2
|
+
import { JsonParameterStore, PipeMethods } from "@tsed/schema";
|
|
3
|
+
export declare class ValidationPipe implements PipeMethods {
|
|
4
|
+
private validator;
|
|
5
|
+
constructor(injector: InjectorService);
|
|
6
|
+
coerceTypes(value: any, metadata: JsonParameterStore): any;
|
|
7
|
+
skip(value: any, metadata: JsonParameterStore): boolean;
|
|
8
|
+
transform(value: any, metadata: JsonParameterStore): Promise<any>;
|
|
9
|
+
protected checkIsRequired(value: any, metadata: JsonParameterStore): boolean;
|
|
10
|
+
}
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,40 +1,63 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/platform-params",
|
|
3
|
-
"version": "7.0.0-
|
|
3
|
+
"version": "7.0.0-beta.10",
|
|
4
4
|
"description": "Params module for Ts.ED Framework",
|
|
5
5
|
"private": false,
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
|
-
"main": "./lib/index.js",
|
|
8
|
-
"
|
|
7
|
+
"main": "./lib/cjs/index.js",
|
|
8
|
+
"module": "./lib/esm/index.js",
|
|
9
|
+
"typings": "./lib/types/index.d.ts",
|
|
9
10
|
"exports": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
11
|
+
"types": "./lib/types/index.d.ts",
|
|
12
|
+
"import": "./lib/esm/index.js",
|
|
13
|
+
"require": "./lib/cjs/index.js",
|
|
14
|
+
"default": "./lib/esm/index.js"
|
|
12
15
|
},
|
|
13
16
|
"scripts": {
|
|
14
|
-
"build": "
|
|
17
|
+
"build": "yarn barrels && yarn run build:esm && yarn run build:cjs",
|
|
18
|
+
"build:cjs": "tsc --build tsconfig.compile.json",
|
|
19
|
+
"build:esm": "tsc --build tsconfig.compile.esm.json",
|
|
20
|
+
"barrels": "yarn barrelsby --delete -d ./src -e \"\\.spec\\.ts\" -e \"__mock__\" -e \".benchmark.ts\""
|
|
15
21
|
},
|
|
16
22
|
"dependencies": {
|
|
17
|
-
"tslib": "2.
|
|
23
|
+
"tslib": "2.3.1"
|
|
18
24
|
},
|
|
19
25
|
"devDependencies": {
|
|
20
|
-
"@tsed/core": "7.0.0-
|
|
21
|
-
"@tsed/di": "7.0.0-
|
|
22
|
-
"@tsed/exceptions": "7.0.0-
|
|
23
|
-
"@tsed/json-mapper": "7.0.0-
|
|
24
|
-
"@tsed/schema": "7.0.0-
|
|
26
|
+
"@tsed/core": "7.0.0-beta.10",
|
|
27
|
+
"@tsed/di": "7.0.0-beta.10",
|
|
28
|
+
"@tsed/exceptions": "7.0.0-beta.10",
|
|
29
|
+
"@tsed/json-mapper": "7.0.0-beta.10",
|
|
30
|
+
"@tsed/schema": "7.0.0-beta.10"
|
|
25
31
|
},
|
|
26
32
|
"peerDependencies": {
|
|
27
|
-
"@tsed/core": "^7.0.0-
|
|
28
|
-
"@tsed/di": "^7.0.0-
|
|
29
|
-
"@tsed/exceptions": "^7.0.0-
|
|
30
|
-
"@tsed/json-mapper": "^7.0.0-
|
|
31
|
-
"@tsed/schema": "^7.0.0-
|
|
33
|
+
"@tsed/core": "^7.0.0-beta.10",
|
|
34
|
+
"@tsed/di": "^7.0.0-beta.10",
|
|
35
|
+
"@tsed/exceptions": "^7.0.0-beta.10",
|
|
36
|
+
"@tsed/json-mapper": "^7.0.0-beta.10",
|
|
37
|
+
"@tsed/schema": "^7.0.0-beta.10"
|
|
38
|
+
},
|
|
39
|
+
"peerDependenciesMeta": {
|
|
40
|
+
"@tsed/core": {
|
|
41
|
+
"optional": false
|
|
42
|
+
},
|
|
43
|
+
"@tsed/di": {
|
|
44
|
+
"optional": false
|
|
45
|
+
},
|
|
46
|
+
"@tsed/exceptions": {
|
|
47
|
+
"optional": false
|
|
48
|
+
},
|
|
49
|
+
"@tsed/json-mapper": {
|
|
50
|
+
"optional": false
|
|
51
|
+
},
|
|
52
|
+
"@tsed/schema": {
|
|
53
|
+
"optional": false
|
|
54
|
+
}
|
|
32
55
|
},
|
|
33
56
|
"repository": "https://github.com/tsedio/tsed",
|
|
34
57
|
"bugs": {
|
|
35
58
|
"url": "https://github.com/tsedio/tsed/issues"
|
|
36
59
|
},
|
|
37
|
-
"homepage": "https://github.com/tsedio/tsed/tree/
|
|
60
|
+
"homepage": "https://github.com/tsedio/tsed/tree/beta/packages/platform/platform-params",
|
|
38
61
|
"author": "Romain Lenzotti",
|
|
39
62
|
"license": "MIT"
|
|
40
63
|
}
|
package/readme.md
CHANGED
|
@@ -36,18 +36,17 @@ npm install --save @tsed/platform-params
|
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
## Contributors
|
|
39
|
+
|
|
39
40
|
Please read [contributing guidelines here](https://tsed.io/CONTRIBUTING.html).
|
|
40
41
|
|
|
41
42
|
<a href="https://github.com/tsedio/ts-express-decorators/graphs/contributors"><img src="https://opencollective.com/tsed/contributors.svg?width=890" /></a>
|
|
42
43
|
|
|
43
|
-
|
|
44
44
|
## Backers
|
|
45
45
|
|
|
46
46
|
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/tsed#backer)]
|
|
47
47
|
|
|
48
48
|
<a href="https://opencollective.com/tsed#backers" target="_blank"><img src="https://opencollective.com/tsed/tiers/backer.svg?width=890"></a>
|
|
49
49
|
|
|
50
|
-
|
|
51
50
|
## Sponsors
|
|
52
51
|
|
|
53
52
|
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/tsed#sponsor)]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.compile.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": ".",
|
|
5
|
+
"module": "ES2020",
|
|
6
|
+
"rootDir": "src",
|
|
7
|
+
"outDir": "./lib/esm",
|
|
8
|
+
"declaration": true,
|
|
9
|
+
"declarationDir": "./lib/types"
|
|
10
|
+
},
|
|
11
|
+
"exclude": ["node_modules", "test", "lib", "benchmark", "coverage", "spec", "**/*.benchmark.ts", "**/*.spec.ts", "keys", "jest.config.js"]
|
|
12
|
+
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Type } from "@tsed/core";
|
|
2
|
-
import { JsonEntityStore, JsonEntityStoreOptions, JsonParameter } from "@tsed/schema";
|
|
3
|
-
import { ParamOptions } from "./ParamOptions";
|
|
4
|
-
export interface PipeMethods<T = any, R = any> {
|
|
5
|
-
transform(value: T, metadata: ParamMetadata): R;
|
|
6
|
-
}
|
|
7
|
-
export declare type ParamConstructorOptions = JsonEntityStoreOptions & ParamOptions;
|
|
8
|
-
export declare class ParamMetadata extends JsonEntityStore implements ParamConstructorOptions {
|
|
9
|
-
expression: string;
|
|
10
|
-
paramType: string;
|
|
11
|
-
dataPath: string;
|
|
12
|
-
pipes: Type<PipeMethods>[];
|
|
13
|
-
constructor(options: ParamConstructorOptions);
|
|
14
|
-
get key(): string;
|
|
15
|
-
/**
|
|
16
|
-
* Return the JsonOperation
|
|
17
|
-
*/
|
|
18
|
-
get parameter(): JsonParameter;
|
|
19
|
-
static get(target: Type<any>, propertyKey: string | symbol, index: number): ParamMetadata;
|
|
20
|
-
static getParams(target: Type<any>, propertyKey: string | symbol): ParamMetadata[];
|
|
21
|
-
}
|