@pristine-ts/networking 0.0.276 → 0.0.277

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 (64) hide show
  1. package/dist/lib/cjs/decorators/body.decorator.js +2 -16
  2. package/dist/lib/cjs/decorators/body.decorator.js.map +1 -1
  3. package/dist/lib/cjs/decorators/controller.decorator.js +5 -11
  4. package/dist/lib/cjs/decorators/controller.decorator.js.map +1 -1
  5. package/dist/lib/cjs/decorators/header.decorator.js +3 -16
  6. package/dist/lib/cjs/decorators/header.decorator.js.map +1 -1
  7. package/dist/lib/cjs/decorators/headers.decorator.js +3 -16
  8. package/dist/lib/cjs/decorators/headers.decorator.js.map +1 -1
  9. package/dist/lib/cjs/decorators/identity.decorator.js +3 -16
  10. package/dist/lib/cjs/decorators/identity.decorator.js.map +1 -1
  11. package/dist/lib/cjs/decorators/query-parameter.decorator.js +3 -16
  12. package/dist/lib/cjs/decorators/query-parameter.decorator.js.map +1 -1
  13. package/dist/lib/cjs/decorators/query-parameters.decorator.js +3 -16
  14. package/dist/lib/cjs/decorators/query-parameters.decorator.js.map +1 -1
  15. package/dist/lib/cjs/decorators/request.decorator.js +3 -16
  16. package/dist/lib/cjs/decorators/request.decorator.js.map +1 -1
  17. package/dist/lib/cjs/decorators/response-header.decorator.js +9 -38
  18. package/dist/lib/cjs/decorators/response-header.decorator.js.map +1 -1
  19. package/dist/lib/cjs/decorators/route-parameter.decorator.js +3 -16
  20. package/dist/lib/cjs/decorators/route-parameter.decorator.js.map +1 -1
  21. package/dist/lib/cjs/decorators/route.decorator.js +5 -12
  22. package/dist/lib/cjs/decorators/route.decorator.js.map +1 -1
  23. package/dist/lib/cjs/interceptors/response-headers.interceptor.js +3 -2
  24. package/dist/lib/cjs/interceptors/response-headers.interceptor.js.map +1 -1
  25. package/dist/lib/cjs/router.js +27 -21
  26. package/dist/lib/cjs/router.js.map +1 -1
  27. package/dist/lib/esm/decorators/body.decorator.js +2 -16
  28. package/dist/lib/esm/decorators/body.decorator.js.map +1 -1
  29. package/dist/lib/esm/decorators/controller.decorator.js +5 -11
  30. package/dist/lib/esm/decorators/controller.decorator.js.map +1 -1
  31. package/dist/lib/esm/decorators/header.decorator.js +3 -16
  32. package/dist/lib/esm/decorators/header.decorator.js.map +1 -1
  33. package/dist/lib/esm/decorators/headers.decorator.js +3 -16
  34. package/dist/lib/esm/decorators/headers.decorator.js.map +1 -1
  35. package/dist/lib/esm/decorators/identity.decorator.js +3 -16
  36. package/dist/lib/esm/decorators/identity.decorator.js.map +1 -1
  37. package/dist/lib/esm/decorators/query-parameter.decorator.js +3 -16
  38. package/dist/lib/esm/decorators/query-parameter.decorator.js.map +1 -1
  39. package/dist/lib/esm/decorators/query-parameters.decorator.js +3 -16
  40. package/dist/lib/esm/decorators/query-parameters.decorator.js.map +1 -1
  41. package/dist/lib/esm/decorators/request.decorator.js +3 -16
  42. package/dist/lib/esm/decorators/request.decorator.js.map +1 -1
  43. package/dist/lib/esm/decorators/response-header.decorator.js +8 -37
  44. package/dist/lib/esm/decorators/response-header.decorator.js.map +1 -1
  45. package/dist/lib/esm/decorators/route-parameter.decorator.js +3 -16
  46. package/dist/lib/esm/decorators/route-parameter.decorator.js.map +1 -1
  47. package/dist/lib/esm/decorators/route.decorator.js +5 -12
  48. package/dist/lib/esm/decorators/route.decorator.js.map +1 -1
  49. package/dist/lib/esm/interceptors/response-headers.interceptor.js +3 -2
  50. package/dist/lib/esm/interceptors/response-headers.interceptor.js.map +1 -1
  51. package/dist/lib/esm/router.js +28 -22
  52. package/dist/lib/esm/router.js.map +1 -1
  53. package/dist/types/decorators/controller.decorator.d.ts +1 -0
  54. package/dist/types/decorators/header.decorator.d.ts +1 -0
  55. package/dist/types/decorators/headers.decorator.d.ts +1 -0
  56. package/dist/types/decorators/identity.decorator.d.ts +1 -0
  57. package/dist/types/decorators/query-parameter.decorator.d.ts +1 -0
  58. package/dist/types/decorators/query-parameters.decorator.d.ts +1 -0
  59. package/dist/types/decorators/request.decorator.d.ts +1 -0
  60. package/dist/types/decorators/response-header.decorator.d.ts +2 -0
  61. package/dist/types/decorators/route-parameter.decorator.d.ts +1 -0
  62. package/dist/types/decorators/route.decorator.d.ts +1 -0
  63. package/dist/types/router.d.ts +1 -0
  64. package/package.json +7 -6
@@ -22,6 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.Router = void 0;
25
+ require("reflect-metadata");
25
26
  const tsyringe_1 = require("tsyringe");
26
27
  const url_util_1 = require("./utils/url.util");
27
28
  const not_found_http_error_1 = require("./errors/not-found.http-error");
@@ -37,6 +38,7 @@ const controller_decorator_1 = require("./decorators/controller.decorator");
37
38
  const lodash_1 = require("lodash");
38
39
  const http_error_1 = require("./errors/http.error");
39
40
  const router_cache_1 = require("./cache/router.cache");
41
+ const metadata_1 = require("@pristine-ts/metadata");
40
42
  /**
41
43
  * The router service is the service that creates the routing tree from the controllers.
42
44
  * It also executes a request properly by routing it to the intended controller and returns the response.
@@ -114,30 +116,25 @@ let Router = class Router {
114
116
  }
115
117
  // Loop over all the controllers and control the Route Tree
116
118
  controller_decorator_1.controllerRegistry.forEach(controller => {
117
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
118
- if (controller.hasOwnProperty("__metadata__") === false) {
119
- return;
120
- }
121
- let basePath = (_b = (_a = controller.__metadata__) === null || _a === void 0 ? void 0 : _a.controller) === null || _b === void 0 ? void 0 : _b.basePath;
119
+ var _a;
120
+ let basePath = (_a = metadata_1.ClassMetadata.getMetadata(controller, common_1.MetadataEnum.ControllerBasePath)) !== null && _a !== void 0 ? _a : "";
122
121
  // Clean the base path by removing trailing slashes.
123
122
  if (basePath.endsWith("/")) {
124
123
  basePath = basePath.slice(0, basePath.length - 1);
125
124
  }
126
- for (const methodPropertyKey in (_c = controller.__metadata__) === null || _c === void 0 ? void 0 : _c.methods) {
127
- if (((_e = (_d = controller.__metadata__) === null || _d === void 0 ? void 0 : _d.methods) === null || _e === void 0 ? void 0 : _e.hasOwnProperty(methodPropertyKey)) === false) {
128
- continue;
129
- }
130
- const method = (_f = controller.__metadata__) === null || _f === void 0 ? void 0 : _f.methods[methodPropertyKey];
131
- if (method.hasOwnProperty("route") === false) {
132
- continue;
125
+ const routePropertyKeys = metadata_1.ClassMetadata.getMetadata(controller, common_1.MetadataEnum.ControllerRoutes);
126
+ routePropertyKeys.forEach(methodPropertyKey => {
127
+ if (metadata_1.MethodMetadata.hasMetadata(controller.prototype, methodPropertyKey, common_1.MetadataEnum.Route) === false) {
128
+ return;
133
129
  }
134
130
  // Retrieve the "RouteMethodDecorator" object assigned by the @route decorator at .route
135
- const routeMethodDecorator = method.route;
136
- // Build the Route object that will be used the the router to dispatch a request to
131
+ const routeMethodDecorator = metadata_1.MethodMetadata.getMetadata(controller.prototype, methodPropertyKey, common_1.MetadataEnum.Route);
132
+ // Build the Route object that will be used by the router to dispatch a request to
137
133
  // the appropriate controller method
138
- const route = new route_1.Route(controller.constructor, routeMethodDecorator.methodKeyname);
139
- route.methodArguments = (_g = method.arguments) !== null && _g !== void 0 ? _g : [];
140
- route.context = (0, lodash_1.mergeWith)({}, (_j = (_h = controller.__metadata__) === null || _h === void 0 ? void 0 : _h.controller) === null || _j === void 0 ? void 0 : _j.__routeContext__, method.__routeContext__);
134
+ const route = new route_1.Route(controller.prototype.constructor, routeMethodDecorator.methodKeyname);
135
+ route.methodArguments = common_1.MetadataUtil.getMethodParametersMetadata(controller.prototype, methodPropertyKey);
136
+ const context = (0, lodash_1.mergeWith)({}, common_1.MetadataUtil.getRouteContext(controller.prototype.constructor), common_1.MetadataUtil.getRouteContext(controller.prototype, methodPropertyKey));
137
+ route.context = context;
141
138
  // Build the proper path
142
139
  let path = routeMethodDecorator.path;
143
140
  // Clean the path by removing the first and trailing slashes.
@@ -151,7 +148,7 @@ let Router = class Router {
151
148
  const routePath = basePath + "/" + path;
152
149
  // Register the route
153
150
  this.register(routePath, routeMethodDecorator.httpMethod, route);
154
- }
151
+ });
155
152
  });
156
153
  this.setupCompleted = true;
157
154
  this.loghandler.debug("Route tree: \n" + this.getRouteTree());
@@ -361,7 +358,10 @@ let Router = class Router {
361
358
  // So, we have to verify that the method exists, and if it doesn't we throw
362
359
  if (typeof interceptor.interceptRequest === "undefined") {
363
360
  // Simply log a message for now that the interceptors doesn't implement the 'interceptRequest' method.
364
- this.loghandler.debug("The Request Interceptor doesn't implement the interceptRequest method.", { name: interceptor.constructor.name, interceptor });
361
+ this.loghandler.debug("The Request Interceptor doesn't implement the interceptRequest method.", {
362
+ name: interceptor.constructor.name,
363
+ interceptor
364
+ });
365
365
  continue;
366
366
  }
367
367
  try {
@@ -409,7 +409,10 @@ let Router = class Router {
409
409
  // So, we have to verify that the method exists, and if it doesn't we throw
410
410
  if (typeof interceptor.interceptResponse === "undefined") {
411
411
  // Simply log a message for now that the interceptors doesn't implement the 'interceptResponse' method.
412
- this.loghandler.debug("Router - The Request Interceptor doesn't implement the interceptResponse method.", { name: interceptor.constructor.name, interceptor }, networking_module_keyname_1.NetworkingModuleKeyname);
412
+ this.loghandler.debug("Router - The Request Interceptor doesn't implement the interceptResponse method.", {
413
+ name: interceptor.constructor.name,
414
+ interceptor
415
+ }, networking_module_keyname_1.NetworkingModuleKeyname);
413
416
  continue;
414
417
  }
415
418
  try {
@@ -472,7 +475,10 @@ let Router = class Router {
472
475
  // So, we have to verify that the method exists, and if it doesn't we throw
473
476
  if (typeof interceptor.interceptError === "undefined") {
474
477
  // Simply log a message for now that the interceptors doesn't implement the 'interceptError' method.
475
- this.loghandler.info("The Request Interceptor doesn't implement the interceptError method.", { name: interceptor.constructor.name, interceptor });
478
+ this.loghandler.info("The Request Interceptor doesn't implement the interceptError method.", {
479
+ name: interceptor.constructor.name,
480
+ interceptor
481
+ });
476
482
  continue;
477
483
  }
478
484
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { MetadataUtil } from "@pristine-ts/common";
1
2
  /**
2
3
  * The body decorator can be used to inject the body of a request in a parameter of a method in a controller.
3
4
  */
@@ -15,26 +16,11 @@ export const body = () => {
15
16
  * The index of the parameter for which the decorator is used.
16
17
  */
17
18
  parameterIndex) => {
18
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
20
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
21
- target.constructor.prototype["__metadata__"] = {};
22
- }
23
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
24
- target.constructor.prototype["__metadata__"]["methods"] = {};
25
- }
26
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
27
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
28
- }
29
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
30
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
31
- }
32
19
  // Set the type of method parameter. Each parameter decorator has it's own type.
33
20
  const methodParameter = {
34
21
  type: "body"
35
22
  };
36
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
37
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
23
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
38
24
  };
39
25
  };
40
26
  //# sourceMappingURL=body.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"body.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/body.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACrB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAoC;YACrD,IAAI,EAAE,MAAM;SACf,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"body.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/body.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACrB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,MAAM,eAAe,GAAoC;YACrD,IAAI,EAAE,MAAM;SACf,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,3 +1,6 @@
1
+ import "reflect-metadata";
2
+ import { ClassMetadata } from "@pristine-ts/metadata";
3
+ import { MetadataEnum } from "@pristine-ts/common";
1
4
  export const controllerRegistry = [];
2
5
  /**
3
6
  * The controller decorator can be used on a class to register this class as a controller in the router.
@@ -9,18 +12,9 @@ export const controller = (basePath) => {
9
12
  * The constructor of the class
10
13
  */
11
14
  constructor) => {
12
- // Verify that the object constructor.prototype["__metadata__"]["controller"][basePath] exists or we create it.
13
- // This object is a convention defined by Pristine on where to save controller decorator information and is used in the router to retrieve that information.
14
- if (constructor.prototype.hasOwnProperty("__metadata__") === false) {
15
- constructor.prototype["__metadata__"] = {};
16
- }
17
- if (constructor.prototype["__metadata__"].hasOwnProperty("controller") === false) {
18
- constructor.prototype["__metadata__"]["controller"] = {};
19
- }
20
- // Save the base path.
21
- constructor.prototype["__metadata__"]["controller"]["basePath"] = basePath;
15
+ ClassMetadata.defineMetadata(constructor, MetadataEnum.ControllerBasePath, basePath);
22
16
  // Push the class prototype in the controllerRegistry that is used to instantiate all the controllers for the router.
23
- controllerRegistry.push(constructor.prototype);
17
+ controllerRegistry.push(constructor);
24
18
  };
25
19
  };
26
20
  //# sourceMappingURL=controller.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/controller.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAU,EAAE,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,WAAqB,EACvB,EAAE;QACA,+GAA+G;QAC/G,4JAA4J;QAC5J,IAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YAC/D,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SAC7C;QAGD,IAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE;YAC7E,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;SAC3D;QAED,sBAAsB;QACtB,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAE3E,qHAAqH;QACrH,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/controller.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAU,EAAE,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,WAAqB,EACvB,EAAE;QACA,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;QAEpF,qHAAqH;QACrH,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACxC,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
1
3
  /**
2
4
  * The headerParameter decorator can be used to inject a specific header of a request in a parameter of a method in a controller.
3
5
  * @param name The name of the header to inject.
@@ -16,28 +18,13 @@ export const header = (name) => {
16
18
  * The index of the parameter for which the decorator is used.
17
19
  */
18
20
  parameterIndex) => {
19
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
20
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
21
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
22
- target.constructor.prototype["__metadata__"] = {};
23
- }
24
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
25
- target.constructor.prototype["__metadata__"]["methods"] = {};
26
- }
27
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
28
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
29
- }
30
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
31
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
32
- }
33
21
  // Set the type of method parameter. Each parameter decorator has it's own type.
34
22
  // Set also the name of the header to resolve.
35
23
  const methodParameter = {
36
24
  type: "header",
37
25
  headerName: name,
38
26
  };
39
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
40
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
27
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
41
28
  };
42
29
  };
43
30
  //# sourceMappingURL=header.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/header.decorator.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;IACnC,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,8CAA8C;QAC9C,MAAM,eAAe,GAAsC;YACvD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI;SACnB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"header.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/header.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;IACnC,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,8CAA8C;QAC9C,MAAM,eAAe,GAAsC;YACvD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI;SACnB,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
1
3
  /**
2
4
  * The headers decorator can be used to inject the headers of a request in a parameter of a method in a controller.
3
5
  */
@@ -15,26 +17,11 @@ export const headers = () => {
15
17
  * The index of the parameter for which the decorator is used.
16
18
  */
17
19
  parameterIndex) => {
18
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
20
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
21
- target.constructor.prototype["__metadata__"] = {};
22
- }
23
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
24
- target.constructor.prototype["__metadata__"]["methods"] = {};
25
- }
26
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
27
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
28
- }
29
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
30
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
31
- }
32
20
  // Set the type of method parameter. Each parameter decorator has it's own type.
33
21
  const methodParameter = {
34
22
  type: "headers"
35
23
  };
36
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
37
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
24
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
38
25
  };
39
26
  };
40
27
  //# sourceMappingURL=headers.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headers.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/headers.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"headers.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/headers.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
1
3
  /**
2
4
  * The identity decorator can be used to inject the identity making the request in a parameter of a method in a controller.
3
5
  */
@@ -15,26 +17,11 @@ export const identity = () => {
15
17
  * The index of the parameter for which the decorator is used.
16
18
  */
17
19
  parameterIndex) => {
18
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
20
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
21
- target.constructor.prototype["__metadata__"] = {};
22
- }
23
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
24
- target.constructor.prototype["__metadata__"]["methods"] = {};
25
- }
26
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
27
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
28
- }
29
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
30
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
31
- }
32
20
  // Set the type of method parameter. Each parameter decorator has it's own type.
33
21
  const methodParameter = {
34
22
  type: "identity"
35
23
  };
36
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
37
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
24
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
38
25
  };
39
26
  };
40
27
  //# sourceMappingURL=identity.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/identity.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAwC;YACzD,IAAI,EAAE,UAAU;SACnB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"identity.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/identity.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,MAAM,eAAe,GAAwC;YACzD,IAAI,EAAE,UAAU;SACnB,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
1
3
  /**
2
4
  * The queryParameter decorator can be used to inject a specific query parameter of a request in a parameter of a method in a controller.
3
5
  * @param name The name of the query parameter to inject.
@@ -16,28 +18,13 @@ export const queryParameter = (name) => {
16
18
  * The index of the parameter for which the decorator is used.
17
19
  */
18
20
  parameterIndex) => {
19
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
20
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
21
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
22
- target.constructor.prototype["__metadata__"] = {};
23
- }
24
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
25
- target.constructor.prototype["__metadata__"]["methods"] = {};
26
- }
27
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
28
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
29
- }
30
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
31
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
32
- }
33
21
  // Set the type of method parameter. Each parameter decorator has it's own type.
34
22
  // Set also the name of the query parameter to resolve.
35
23
  const methodParameter = {
36
24
  type: "queryParameter",
37
25
  queryParameterName: name,
38
26
  };
39
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
40
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
27
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
41
28
  };
42
29
  };
43
30
  //# sourceMappingURL=query-parameter.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameter.decorator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,uDAAuD;QACvD,MAAM,eAAe,GAAqC;YACtD,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"query-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameter.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,uDAAuD;QACvD,MAAM,eAAe,GAAqC;YACtD,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
1
3
  /**
2
4
  * The queryParameters decorator can be used to inject all the query parameters of a request in a parameter of a method in a controller.
3
5
  */
@@ -15,26 +17,11 @@ export const queryParameters = () => {
15
17
  * The index of the parameter for which the decorator is used.
16
18
  */
17
19
  parameterIndex) => {
18
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
20
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
21
- target.constructor.prototype["__metadata__"] = {};
22
- }
23
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
24
- target.constructor.prototype["__metadata__"]["methods"] = {};
25
- }
26
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
27
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
28
- }
29
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
30
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
31
- }
32
20
  // Set the type of method parameter. Each parameter decorator has it's own type.
33
21
  const methodParameter = {
34
22
  type: "queryParameters",
35
23
  };
36
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
37
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
24
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
38
25
  };
39
26
  };
40
27
  //# sourceMappingURL=query-parameters.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-parameters.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameters.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAsC;YACvD,IAAI,EAAE,iBAAiB;SAC1B,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"query-parameters.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameters.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,MAAM,eAAe,GAAsC;YACvD,IAAI,EAAE,iBAAiB;SAC1B,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
1
3
  /**
2
4
  * The request decorator can be used to inject the whole request in a parameter of a method in a controller.
3
5
  */
@@ -15,26 +17,11 @@ export const request = () => {
15
17
  * The index of the parameter for which the decorator is used.
16
18
  */
17
19
  parameterIndex) => {
18
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
20
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
21
- target.constructor.prototype["__metadata__"] = {};
22
- }
23
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
24
- target.constructor.prototype["__metadata__"]["methods"] = {};
25
- }
26
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
27
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
28
- }
29
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
30
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
31
- }
32
20
  // Set the type of method parameter. Each parameter decorator has it's own type.
33
21
  const methodParameter = {
34
22
  type: "request"
35
23
  };
36
- // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
37
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
24
+ MetadataUtil.setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, methodParameter);
38
25
  };
39
26
  };
40
27
  //# sourceMappingURL=request.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/request.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"request.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/request.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,gFAAgF;QAChF,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,YAAY,CAAC,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1G,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,3 +1,6 @@
1
+ import "reflect-metadata";
2
+ import { MetadataUtil } from "@pristine-ts/common";
3
+ export const responseHeaderMetadataKeyname = "@responseHeader";
1
4
  /**
2
5
  * The responseHeader decorator can be used to specify a header that needs to be added to the response before sending it back.
3
6
  * This decorator can be used with either method (route) or a class (controller).
@@ -19,43 +22,11 @@ export const responseHeader = (key, value) => {
19
22
  * The descriptor of the property
20
23
  */
21
24
  descriptor) => {
22
- // If there's a descriptor and a property key, then it's not a controller decorator, but a method decorator
23
- if (descriptor && propertyKey) {
24
- // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"]["responseHeaders"] exists or we create it.
25
- // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
26
- if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
27
- target.constructor.prototype["__metadata__"] = {};
28
- }
29
- if (target.constructor.prototype["__metadata__"].hasOwnProperty("methods") === false) {
30
- target.constructor.prototype["__metadata__"]["methods"] = {};
31
- }
32
- if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
33
- target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
34
- }
35
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("__routeContext__") === false) {
36
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"] = {};
37
- }
38
- if (target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"].hasOwnProperty("responseHeaders") === false) {
39
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"]["responseHeaders"] = {};
40
- }
41
- target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"]["responseHeaders"][key] = value;
42
- }
43
- else {
44
- // It is a controller decorator
45
- if (target.prototype.hasOwnProperty("__metadata__") === false) {
46
- target.prototype["__metadata__"] = {};
47
- }
48
- if (target.prototype["__metadata__"].hasOwnProperty("controller") === false) {
49
- target.prototype["__metadata__"]["controller"] = {};
50
- }
51
- if (target.prototype["__metadata__"]["controller"].hasOwnProperty("__routeContext__") === false) {
52
- target.prototype["__metadata__"]["controller"]["__routeContext__"] = {};
53
- }
54
- if (target.prototype["__metadata__"]["controller"]["__routeContext__"].hasOwnProperty("responseHeaders") === false) {
55
- target.prototype["__metadata__"]["controller"]["__routeContext__"]["responseHeaders"] = {};
56
- }
57
- target.prototype["__metadata__"]["controller"]["__routeContext__"]["responseHeaders"][key] = value;
58
- }
25
+ var _a;
26
+ const routeContext = MetadataUtil.getRouteContext(target, propertyKey);
27
+ const headers = (_a = routeContext[responseHeaderMetadataKeyname]) !== null && _a !== void 0 ? _a : {};
28
+ headers[key] = value;
29
+ MetadataUtil.setToRouteContext(responseHeaderMetadataKeyname, headers, target, propertyKey);
59
30
  };
60
31
  };
61
32
  //# sourceMappingURL=response-header.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-header.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/response-header.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-header.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/response-header.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;IACzD,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAAoB;IAEpB;;OAEG;IACH,UAA+B,EACjC,EAAE;;QACA,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,6BAA6B,CAAC,mCAAI,EAAE,CAAC;QAElE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAErB,YAAY,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAChG,CAAC,CAAA;AACL,CAAC,CAAA"}