@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.
Files changed (158) hide show
  1. package/lib/cjs/builder/PlatformParams.js +79 -0
  2. package/lib/cjs/builder/PlatformParams.js.map +1 -0
  3. package/lib/cjs/decorators/bodyParams.js +46 -0
  4. package/lib/cjs/decorators/bodyParams.js.map +1 -0
  5. package/lib/cjs/decorators/context.js +18 -0
  6. package/lib/cjs/decorators/context.js.map +1 -0
  7. package/lib/cjs/decorators/cookies.js +23 -0
  8. package/lib/cjs/decorators/cookies.js.map +1 -0
  9. package/lib/cjs/decorators/headerParams.js +18 -0
  10. package/lib/cjs/decorators/headerParams.js.map +1 -0
  11. package/lib/cjs/decorators/locals.js +18 -0
  12. package/lib/cjs/decorators/locals.js.map +1 -0
  13. package/lib/cjs/decorators/paramFn.js +17 -0
  14. package/lib/cjs/decorators/paramFn.js.map +1 -0
  15. package/lib/cjs/decorators/pathParams.js +54 -0
  16. package/lib/cjs/decorators/pathParams.js.map +1 -0
  17. package/lib/cjs/decorators/queryParams.js +54 -0
  18. package/lib/cjs/decorators/queryParams.js.map +1 -0
  19. package/lib/cjs/decorators/session.js +18 -0
  20. package/lib/cjs/decorators/session.js.map +1 -0
  21. package/lib/cjs/decorators/useDeserialization.js +18 -0
  22. package/lib/cjs/decorators/useDeserialization.js.map +1 -0
  23. package/lib/cjs/decorators/useParam.js +50 -0
  24. package/lib/cjs/decorators/useParam.js.map +1 -0
  25. package/lib/cjs/decorators/useParamExpression.js +20 -0
  26. package/lib/cjs/decorators/useParamExpression.js.map +1 -0
  27. package/lib/cjs/decorators/useParamType.js +32 -0
  28. package/lib/cjs/decorators/useParamType.js.map +1 -0
  29. package/lib/cjs/decorators/usePipe.js +22 -0
  30. package/lib/cjs/decorators/usePipe.js.map +1 -0
  31. package/lib/cjs/decorators/useType.js +20 -0
  32. package/lib/cjs/decorators/useType.js.map +1 -0
  33. package/lib/cjs/decorators/useValidation.js +22 -0
  34. package/lib/cjs/decorators/useValidation.js.map +1 -0
  35. package/lib/cjs/domain/ParamMetadata.js +6 -0
  36. package/lib/cjs/domain/ParamMetadata.js.map +1 -0
  37. package/lib/cjs/domain/ParamOptions.js +3 -0
  38. package/lib/cjs/domain/ParamOptions.js.map +1 -0
  39. package/lib/cjs/domain/ParamTypes.js +40 -0
  40. package/lib/cjs/domain/ParamTypes.js.map +1 -0
  41. package/lib/cjs/errors/ParamValidationError.js +29 -0
  42. package/lib/cjs/errors/ParamValidationError.js.map +1 -0
  43. package/lib/cjs/errors/RequiredValidationError.js +32 -0
  44. package/lib/cjs/errors/RequiredValidationError.js.map +1 -0
  45. package/lib/cjs/errors/ValidationError.js +13 -0
  46. package/lib/cjs/errors/ValidationError.js.map +1 -0
  47. package/lib/cjs/exports.js +3 -0
  48. package/lib/cjs/exports.js.map +1 -0
  49. package/lib/cjs/index.js +35 -0
  50. package/lib/cjs/index.js.map +1 -0
  51. package/lib/cjs/package.json +3 -0
  52. package/lib/cjs/pipes/DeserializerPipe.js +30 -0
  53. package/lib/cjs/pipes/DeserializerPipe.js.map +1 -0
  54. package/lib/cjs/pipes/ParseExpressionPipe.js +32 -0
  55. package/lib/cjs/pipes/ParseExpressionPipe.js.map +1 -0
  56. package/lib/cjs/pipes/ValidationPipe.js +83 -0
  57. package/lib/cjs/pipes/ValidationPipe.js.map +1 -0
  58. package/lib/cjs/utils/mapParamsOptions.js +30 -0
  59. package/lib/cjs/utils/mapParamsOptions.js.map +1 -0
  60. package/lib/esm/builder/PlatformParams.js +76 -0
  61. package/lib/esm/builder/PlatformParams.js.map +1 -0
  62. package/lib/esm/decorators/bodyParams.js +41 -0
  63. package/lib/esm/decorators/bodyParams.js.map +1 -0
  64. package/lib/esm/decorators/context.js +14 -0
  65. package/lib/esm/decorators/context.js.map +1 -0
  66. package/lib/esm/decorators/cookies.js +18 -0
  67. package/lib/esm/decorators/cookies.js.map +1 -0
  68. package/lib/esm/decorators/headerParams.js +14 -0
  69. package/lib/esm/decorators/headerParams.js.map +1 -0
  70. package/lib/esm/decorators/locals.js +14 -0
  71. package/lib/esm/decorators/locals.js.map +1 -0
  72. package/lib/esm/decorators/paramFn.js +13 -0
  73. package/lib/esm/decorators/paramFn.js.map +1 -0
  74. package/lib/esm/decorators/pathParams.js +49 -0
  75. package/lib/esm/decorators/pathParams.js.map +1 -0
  76. package/lib/esm/decorators/queryParams.js +49 -0
  77. package/lib/esm/decorators/queryParams.js.map +1 -0
  78. package/lib/esm/decorators/session.js +14 -0
  79. package/lib/esm/decorators/session.js.map +1 -0
  80. package/lib/esm/decorators/useDeserialization.js +14 -0
  81. package/lib/esm/decorators/useDeserialization.js.map +1 -0
  82. package/lib/esm/decorators/useParam.js +46 -0
  83. package/lib/esm/decorators/useParam.js.map +1 -0
  84. package/lib/esm/decorators/useParamExpression.js +16 -0
  85. package/lib/esm/decorators/useParamExpression.js.map +1 -0
  86. package/lib/esm/decorators/useParamType.js +28 -0
  87. package/lib/esm/decorators/useParamType.js.map +1 -0
  88. package/lib/esm/decorators/usePipe.js +18 -0
  89. package/lib/esm/decorators/usePipe.js.map +1 -0
  90. package/lib/esm/decorators/useType.js +16 -0
  91. package/lib/esm/decorators/useType.js.map +1 -0
  92. package/lib/esm/decorators/useValidation.js +18 -0
  93. package/lib/esm/decorators/useValidation.js.map +1 -0
  94. package/lib/esm/domain/ParamMetadata.js +2 -0
  95. package/lib/esm/domain/ParamMetadata.js.map +1 -0
  96. package/lib/esm/domain/ParamOptions.js +2 -0
  97. package/lib/esm/domain/ParamOptions.js.map +1 -0
  98. package/lib/esm/domain/ParamTypes.js +37 -0
  99. package/lib/esm/domain/ParamTypes.js.map +1 -0
  100. package/lib/esm/errors/ParamValidationError.js +25 -0
  101. package/lib/esm/errors/ParamValidationError.js.map +1 -0
  102. package/lib/esm/errors/RequiredValidationError.js +28 -0
  103. package/lib/esm/errors/RequiredValidationError.js.map +1 -0
  104. package/lib/esm/errors/ValidationError.js +9 -0
  105. package/lib/esm/errors/ValidationError.js.map +1 -0
  106. package/lib/esm/exports.js +2 -0
  107. package/lib/esm/exports.js.map +1 -0
  108. package/lib/esm/index.js +32 -0
  109. package/lib/esm/index.js.map +1 -0
  110. package/lib/esm/package.json +3 -0
  111. package/lib/esm/pipes/DeserializerPipe.js +27 -0
  112. package/lib/esm/pipes/DeserializerPipe.js.map +1 -0
  113. package/lib/esm/pipes/ParseExpressionPipe.js +29 -0
  114. package/lib/esm/pipes/ParseExpressionPipe.js.map +1 -0
  115. package/lib/esm/pipes/ValidationPipe.js +80 -0
  116. package/lib/esm/pipes/ValidationPipe.js.map +1 -0
  117. package/lib/esm/utils/mapParamsOptions.js +26 -0
  118. package/lib/esm/utils/mapParamsOptions.js.map +1 -0
  119. package/lib/{builder → types/builder}/PlatformParams.d.ts +3 -4
  120. package/lib/{decorators → types/decorators}/bodyParams.d.ts +2 -1
  121. package/lib/{decorators → types/decorators}/context.d.ts +0 -6
  122. package/lib/{decorators → types/decorators}/cookies.d.ts +0 -0
  123. package/lib/{decorators → types/decorators}/headerParams.d.ts +0 -0
  124. package/lib/{decorators → types/decorators}/locals.d.ts +0 -0
  125. package/lib/{decorators → types/decorators}/paramFn.d.ts +2 -2
  126. package/lib/{decorators → types/decorators}/pathParams.d.ts +0 -0
  127. package/lib/{decorators → types/decorators}/queryParams.d.ts +0 -0
  128. package/lib/{decorators → types/decorators}/session.d.ts +0 -0
  129. package/lib/{decorators → types/decorators}/useDeserialization.d.ts +0 -0
  130. package/lib/{decorators → types/decorators}/useParam.d.ts +0 -0
  131. package/lib/{decorators → types/decorators}/useParamExpression.d.ts +0 -0
  132. package/lib/{decorators → types/decorators}/useParamType.d.ts +0 -0
  133. package/lib/{decorators → types/decorators}/usePipe.d.ts +1 -1
  134. package/lib/{decorators → types/decorators}/useType.d.ts +0 -0
  135. package/lib/{decorators → types/decorators}/useValidation.d.ts +0 -0
  136. package/lib/types/domain/ParamMetadata.d.ts +1 -0
  137. package/lib/{domain → types/domain}/ParamOptions.d.ts +0 -0
  138. package/lib/{domain → types/domain}/ParamTypes.d.ts +1 -0
  139. package/lib/{errors → types/errors}/ParamValidationError.d.ts +2 -2
  140. package/lib/{errors → types/errors}/RequiredValidationError.d.ts +2 -3
  141. package/lib/{errors → types/errors}/ValidationError.d.ts +0 -0
  142. package/lib/types/exports.d.ts +1 -0
  143. package/lib/{index.d.ts → types/index.d.ts} +24 -21
  144. package/lib/types/pipes/DeserializerPipe.d.ts +5 -0
  145. package/lib/types/pipes/ParseExpressionPipe.d.ts +6 -0
  146. package/lib/types/pipes/ValidationPipe.d.ts +10 -0
  147. package/lib/{utils → types/utils}/mapParamsOptions.d.ts +0 -0
  148. package/package.json +41 -18
  149. package/readme.md +1 -2
  150. package/tsconfig.compile.esm.json +12 -0
  151. package/lib/domain/ParamMetadata.d.ts +0 -21
  152. package/lib/index.js +0 -844
  153. package/lib/index.js.map +0 -1
  154. package/lib/index.modern.js +0 -825
  155. package/lib/index.modern.js.map +0 -1
  156. package/lib/pipes/DeserializerPipe.d.ts +0 -5
  157. package/lib/pipes/ParseExpressionPipe.d.ts +0 -5
  158. 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"]}
@@ -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,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -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: ParamMetadata): Promise<PipeMethods<any, any>[]>;
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: ParamMetadata): Promise<any>;
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('utf8'));
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;
@@ -1,10 +1,4 @@
1
1
  import { BaseContext } from "@tsed/di";
2
- declare global {
3
- namespace TsED {
4
- interface Context {
5
- }
6
- }
7
- }
8
2
  /**
9
3
  * Context decorator return the @@PlatformContext@@ created by Ts.ED when request is handled by the server.
10
4
  *
File without changes
@@ -1,5 +1,5 @@
1
1
  import { DecoratorParameters } from "@tsed/core";
2
- import { ParamMetadata } from "../domain/ParamMetadata";
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: ParamMetadata, parameters: DecoratorParameters) => void): ParameterDecorator;
11
+ export declare function ParamFn(fn: (param: JsonParameterStore, parameters: DecoratorParameters) => void): ParameterDecorator;
@@ -1,5 +1,5 @@
1
1
  import { Type } from "@tsed/core";
2
- import { PipeMethods } from "../domain/ParamMetadata";
2
+ import { PipeMethods } from "@tsed/schema";
3
3
  /**
4
4
  * Register a Pipe to be used with the current decorated param.
5
5
  *
@@ -0,0 +1 @@
1
+ export { ParamMetadata } from "@tsed/schema";
File without changes
@@ -22,3 +22,4 @@ export declare enum ParamTypes {
22
22
  RES = "RES",
23
23
  REQ = "REQ"
24
24
  }
25
+ export declare const PARAM_TYPES_DATA_PATH: Record<string, string>;
@@ -1,8 +1,8 @@
1
1
  import { BadRequest } from "@tsed/exceptions";
2
- import { ParamMetadata } from "../domain/ParamMetadata";
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: ParamMetadata, origin?: any): any;
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
- errors: any[];
6
- static from(metadata: ParamMetadata): RequiredValidationError;
5
+ static from(metadata: JsonParameterStore): RequiredValidationError;
7
6
  }
@@ -0,0 +1 @@
1
+ export { PipeMethods } from "@tsed/schema";
@@ -1,28 +1,31 @@
1
- export * from "./utils/mapParamsOptions";
2
- export * from "./domain/ParamMetadata";
3
- export * from "./domain/ParamOptions";
4
- export * from "./domain/ParamTypes";
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/usePipe";
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/paramFn";
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,5 @@
1
+ import { JsonParameterStore, PipeMethods } from "@tsed/schema";
2
+ export declare class DeserializerPipe implements PipeMethods {
3
+ private settings;
4
+ transform(value: any, param: JsonParameterStore): any;
5
+ }
@@ -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-alpha.1",
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
- "typings": "./lib/index.d.ts",
7
+ "main": "./lib/cjs/index.js",
8
+ "module": "./lib/esm/index.js",
9
+ "typings": "./lib/types/index.d.ts",
9
10
  "exports": {
10
- "require": "./lib/index.js",
11
- "default": "./lib/index.modern.js"
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": "microbundle --target node --no-compress --format modern,cjs --tsconfig ./tsconfig.compile.json"
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.2.0"
23
+ "tslib": "2.3.1"
18
24
  },
19
25
  "devDependencies": {
20
- "@tsed/core": "7.0.0-alpha.1",
21
- "@tsed/di": "7.0.0-alpha.1",
22
- "@tsed/exceptions": "7.0.0-alpha.1",
23
- "@tsed/json-mapper": "7.0.0-alpha.1",
24
- "@tsed/schema": "7.0.0-alpha.1"
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-alpha.1",
28
- "@tsed/di": "^7.0.0-alpha.1",
29
- "@tsed/exceptions": "^7.0.0-alpha.1",
30
- "@tsed/json-mapper": "^7.0.0-alpha.1",
31
- "@tsed/schema": "^7.0.0-alpha.1"
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/alpha/packages/platform/platform-params",
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
- }