@pristine-ts/common 0.0.276 → 0.0.278

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.
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./http-method.enum"), exports);
18
+ __exportStar(require("./metadata.enum"), exports);
18
19
  __exportStar(require("./service-definition-tag.enum"), exports);
19
20
  __exportStar(require("./internal-container-parameter.enum"), exports);
20
21
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,gEAA8C;AAC9C,sEAAoD"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,kDAAgC;AAChC,gEAA8C;AAC9C,sEAAoD"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetadataEnum = void 0;
4
+ var MetadataEnum;
5
+ (function (MetadataEnum) {
6
+ MetadataEnum["RouteContext"] = "route:context";
7
+ MetadataEnum["RouteMethodArguments"] = "route:method:arguments";
8
+ MetadataEnum["Route"] = "route";
9
+ MetadataEnum["ControllerRoutes"] = "controller:routes";
10
+ MetadataEnum["ControllerBasePath"] = "controller:basePath";
11
+ })(MetadataEnum || (exports.MetadataEnum = MetadataEnum = {}));
12
+ //# sourceMappingURL=metadata.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.enum.js","sourceRoot":"","sources":["../../../../src/enums/metadata.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,8CAA8B,CAAA;IAC9B,+DAA+C,CAAA;IAC/C,+BAAe,CAAA;IACf,sDAAsC,CAAA;IACtC,0DAA0C,CAAA;AAC9C,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetadataUtil = void 0;
4
+ require("reflect-metadata");
5
+ const metadata_1 = require("@pristine-ts/metadata");
6
+ const metadata_enum_1 = require("../enums/metadata.enum");
7
+ class MetadataUtil {
8
+ /**
9
+ * This method returns an array of the MethodParameters metadata. It allows you to easily retrieve the metadata
10
+ * you have assigned to each individual parameters of a method.
11
+ *
12
+ * @param target
13
+ * @param propertyKey
14
+ */
15
+ static getMethodParametersMetadata(target, propertyKey) {
16
+ const methodParameters = metadata_1.MethodMetadata.getMetadata(target, propertyKey, metadata_enum_1.MetadataEnum.RouteMethodArguments);
17
+ if (methodParameters === undefined || Array.isArray(methodParameters) === false) {
18
+ return [];
19
+ }
20
+ return methodParameters;
21
+ }
22
+ /**
23
+ * This method sets the metadata for a specific method parameter.
24
+ *
25
+ * @param target
26
+ * @param propertyKey
27
+ * @param parameterIndex
28
+ * @param metadata
29
+ */
30
+ static setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, metadata) {
31
+ const methodArguments = MetadataUtil.getMethodParametersMetadata(target, propertyKey);
32
+ methodArguments[parameterIndex] = metadata;
33
+ metadata_1.MethodMetadata.defineMetadata(target, propertyKey, metadata_enum_1.MetadataEnum.RouteMethodArguments, methodArguments);
34
+ }
35
+ /**
36
+ * This method the RouteContext metadata either for the `target` or for at the `propertyKey` if specified.
37
+ * @param target
38
+ * @param propertyKey
39
+ */
40
+ static getRouteContext(target, propertyKey) {
41
+ let routeContext;
42
+ if (propertyKey === undefined) {
43
+ routeContext = metadata_1.ClassMetadata.getMetadata(target.prototype, metadata_enum_1.MetadataEnum.RouteContext);
44
+ }
45
+ else {
46
+ routeContext = metadata_1.MethodMetadata.getMetadata(target, propertyKey, metadata_enum_1.MetadataEnum.RouteContext);
47
+ }
48
+ if (routeContext === undefined || typeof routeContext !== "object") {
49
+ return {};
50
+ }
51
+ return routeContext;
52
+ }
53
+ /**
54
+ * This method appends the `metadata` at `metadataKeyname` property in the Route Context. It intelligently checks
55
+ * if the `propertyKey` is `undefined` or not and appends it either to the `target` or to the `propertyKey` appropriately.
56
+ *
57
+ * @param metadataKeyname
58
+ * @param metadata
59
+ * @param target
60
+ * @param propertyKey
61
+ */
62
+ static setToRouteContext(metadataKeyname, metadata, target, propertyKey) {
63
+ const routeContext = MetadataUtil.getRouteContext(target, propertyKey);
64
+ routeContext[metadataKeyname] = metadata;
65
+ if (propertyKey === undefined) {
66
+ // When there are no properties, the metadata is defined on the prototype.
67
+ metadata_1.ClassMetadata.defineMetadata(target.prototype, metadata_enum_1.MetadataEnum.RouteContext, routeContext);
68
+ }
69
+ else {
70
+ metadata_1.MethodMetadata.defineMetadata(target, propertyKey, metadata_enum_1.MetadataEnum.RouteContext, routeContext);
71
+ }
72
+ }
73
+ }
74
+ exports.MetadataUtil = MetadataUtil;
75
+ //# sourceMappingURL=metadata.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.util.js","sourceRoot":"","sources":["../../../../src/utils/metadata.util.ts"],"names":[],"mappings":";;;AAAA,4BAAyB;AACzB,oDAAoE;AACpE,0DAAoD;AAEpD,MAAa,YAAY;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,2BAA2B,CAAC,MAAW,EAAE,WAA4B;QACxE,MAAM,gBAAgB,GAAG,yBAAc,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,4BAAY,CAAC,oBAAoB,CAAC,CAAC;QAE5G,IAAG,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,KAAK,EAAE;YAC5E,OAAO,EAAE,CAAC;SACb;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,kCAAkC,CAAC,MAAW,EAAE,WAA4B,EAAE,cAAsB,EAAE,QAAa;QACtH,MAAM,eAAe,GAAG,YAAY,CAAC,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEtF,eAAe,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QAE3C,yBAAc,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,4BAAY,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC3G,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,MAAW,EAAE,WAA6B;QAC7D,IAAI,YAAY,CAAC;QAEjB,IAAG,WAAW,KAAK,SAAS,EAAE;YAC1B,YAAY,GAAG,wBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,4BAAY,CAAC,YAAY,CAAC,CAAC;SACzF;aAAM;YACH,YAAY,GAAG,yBAAc,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,4BAAY,CAAC,YAAY,CAAC,CAAC;SAC7F;QAED,IAAG,YAAY,KAAK,SAAS,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAC/D,OAAO,EAAE,CAAC;SACb;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAuB,EAAE,QAAY,EAAE,MAAW,EAAE,WAA6B;QACtG,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEvE,YAAY,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;QAEzC,IAAG,WAAW,KAAK,SAAS,EAAE;YAC1B,0EAA0E;YAC1E,wBAAa,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,4BAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC3F;aAAM;YACH,yBAAc,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,4BAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC/F;IAEL,CAAC;CACJ;AA7ED,oCA6EC"}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./metadata.util"), exports);
17
18
  __exportStar(require("./request.util"), exports);
18
19
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B"}
@@ -1,4 +1,5 @@
1
1
  export * from "./http-method.enum";
2
+ export * from "./metadata.enum";
2
3
  export * from "./service-definition-tag.enum";
3
4
  export * from "./internal-container-parameter.enum";
4
5
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export var MetadataEnum;
2
+ (function (MetadataEnum) {
3
+ MetadataEnum["RouteContext"] = "route:context";
4
+ MetadataEnum["RouteMethodArguments"] = "route:method:arguments";
5
+ MetadataEnum["Route"] = "route";
6
+ MetadataEnum["ControllerRoutes"] = "controller:routes";
7
+ MetadataEnum["ControllerBasePath"] = "controller:basePath";
8
+ })(MetadataEnum || (MetadataEnum = {}));
9
+ //# sourceMappingURL=metadata.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.enum.js","sourceRoot":"","sources":["../../../../src/enums/metadata.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,8CAA8B,CAAA;IAC9B,+DAA+C,CAAA;IAC/C,+BAAe,CAAA;IACf,sDAAsC,CAAA;IACtC,0DAA0C,CAAA;AAC9C,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -0,0 +1,71 @@
1
+ import "reflect-metadata";
2
+ import { ClassMetadata, MethodMetadata } from "@pristine-ts/metadata";
3
+ import { MetadataEnum } from "../enums/metadata.enum";
4
+ export class MetadataUtil {
5
+ /**
6
+ * This method returns an array of the MethodParameters metadata. It allows you to easily retrieve the metadata
7
+ * you have assigned to each individual parameters of a method.
8
+ *
9
+ * @param target
10
+ * @param propertyKey
11
+ */
12
+ static getMethodParametersMetadata(target, propertyKey) {
13
+ const methodParameters = MethodMetadata.getMetadata(target, propertyKey, MetadataEnum.RouteMethodArguments);
14
+ if (methodParameters === undefined || Array.isArray(methodParameters) === false) {
15
+ return [];
16
+ }
17
+ return methodParameters;
18
+ }
19
+ /**
20
+ * This method sets the metadata for a specific method parameter.
21
+ *
22
+ * @param target
23
+ * @param propertyKey
24
+ * @param parameterIndex
25
+ * @param metadata
26
+ */
27
+ static setMethodParameterArgumentMetadata(target, propertyKey, parameterIndex, metadata) {
28
+ const methodArguments = MetadataUtil.getMethodParametersMetadata(target, propertyKey);
29
+ methodArguments[parameterIndex] = metadata;
30
+ MethodMetadata.defineMetadata(target, propertyKey, MetadataEnum.RouteMethodArguments, methodArguments);
31
+ }
32
+ /**
33
+ * This method the RouteContext metadata either for the `target` or for at the `propertyKey` if specified.
34
+ * @param target
35
+ * @param propertyKey
36
+ */
37
+ static getRouteContext(target, propertyKey) {
38
+ let routeContext;
39
+ if (propertyKey === undefined) {
40
+ routeContext = ClassMetadata.getMetadata(target.prototype, MetadataEnum.RouteContext);
41
+ }
42
+ else {
43
+ routeContext = MethodMetadata.getMetadata(target, propertyKey, MetadataEnum.RouteContext);
44
+ }
45
+ if (routeContext === undefined || typeof routeContext !== "object") {
46
+ return {};
47
+ }
48
+ return routeContext;
49
+ }
50
+ /**
51
+ * This method appends the `metadata` at `metadataKeyname` property in the Route Context. It intelligently checks
52
+ * if the `propertyKey` is `undefined` or not and appends it either to the `target` or to the `propertyKey` appropriately.
53
+ *
54
+ * @param metadataKeyname
55
+ * @param metadata
56
+ * @param target
57
+ * @param propertyKey
58
+ */
59
+ static setToRouteContext(metadataKeyname, metadata, target, propertyKey) {
60
+ const routeContext = MetadataUtil.getRouteContext(target, propertyKey);
61
+ routeContext[metadataKeyname] = metadata;
62
+ if (propertyKey === undefined) {
63
+ // When there are no properties, the metadata is defined on the prototype.
64
+ ClassMetadata.defineMetadata(target.prototype, MetadataEnum.RouteContext, routeContext);
65
+ }
66
+ else {
67
+ MethodMetadata.defineMetadata(target, propertyKey, MetadataEnum.RouteContext, routeContext);
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=metadata.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.util.js","sourceRoot":"","sources":["../../../../src/utils/metadata.util.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAEpD,MAAM,OAAO,YAAY;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,2BAA2B,CAAC,MAAW,EAAE,WAA4B;QACxE,MAAM,gBAAgB,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAE5G,IAAG,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,KAAK,EAAE;YAC5E,OAAO,EAAE,CAAC;SACb;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,kCAAkC,CAAC,MAAW,EAAE,WAA4B,EAAE,cAAsB,EAAE,QAAa;QACtH,MAAM,eAAe,GAAG,YAAY,CAAC,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEtF,eAAe,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QAE3C,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC3G,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,MAAW,EAAE,WAA6B;QAC7D,IAAI,YAAY,CAAC;QAEjB,IAAG,WAAW,KAAK,SAAS,EAAE;YAC1B,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;SACzF;aAAM;YACH,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;SAC7F;QAED,IAAG,YAAY,KAAK,SAAS,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAC/D,OAAO,EAAE,CAAC;SACb;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAuB,EAAE,QAAY,EAAE,MAAW,EAAE,WAA6B;QACtG,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEvE,YAAY,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;QAEzC,IAAG,WAAW,KAAK,SAAS,EAAE;YAC1B,0EAA0E;YAC1E,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC3F;aAAM;YACH,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC/F;IAEL,CAAC;CACJ"}
@@ -1,2 +1,3 @@
1
+ export * from "./metadata.util";
1
2
  export * from "./request.util";
2
3
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./http-method.enum";
2
+ export * from "./metadata.enum";
2
3
  export * from "./service-definition-tag.enum";
3
4
  export * from "./internal-container-parameter.enum";
@@ -0,0 +1,7 @@
1
+ export declare enum MetadataEnum {
2
+ RouteContext = "route:context",
3
+ RouteMethodArguments = "route:method:arguments",
4
+ Route = "route",
5
+ ControllerRoutes = "controller:routes",
6
+ ControllerBasePath = "controller:basePath"
7
+ }
@@ -0,0 +1,36 @@
1
+ import "reflect-metadata";
2
+ export declare class MetadataUtil {
3
+ /**
4
+ * This method returns an array of the MethodParameters metadata. It allows you to easily retrieve the metadata
5
+ * you have assigned to each individual parameters of a method.
6
+ *
7
+ * @param target
8
+ * @param propertyKey
9
+ */
10
+ static getMethodParametersMetadata(target: any, propertyKey: string | symbol): any[];
11
+ /**
12
+ * This method sets the metadata for a specific method parameter.
13
+ *
14
+ * @param target
15
+ * @param propertyKey
16
+ * @param parameterIndex
17
+ * @param metadata
18
+ */
19
+ static setMethodParameterArgumentMetadata(target: any, propertyKey: string | symbol, parameterIndex: number, metadata: any): void;
20
+ /**
21
+ * This method the RouteContext metadata either for the `target` or for at the `propertyKey` if specified.
22
+ * @param target
23
+ * @param propertyKey
24
+ */
25
+ static getRouteContext(target: any, propertyKey?: string | symbol): any;
26
+ /**
27
+ * This method appends the `metadata` at `metadataKeyname` property in the Route Context. It intelligently checks
28
+ * if the `propertyKey` is `undefined` or not and appends it either to the `target` or to the `propertyKey` appropriately.
29
+ *
30
+ * @param metadataKeyname
31
+ * @param metadata
32
+ * @param target
33
+ * @param propertyKey
34
+ */
35
+ static setToRouteContext(metadataKeyname: string, metadata: any, target: any, propertyKey?: string | symbol): void;
36
+ }
@@ -1 +1,2 @@
1
+ export * from "./metadata.util";
1
2
  export * from "./request.util";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/common",
3
- "version": "0.0.276",
3
+ "version": "0.0.278",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/common.module.js",
6
6
  "main": "dist/lib/cjs/common.module.js",
@@ -20,6 +20,7 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
+ "@pristine-ts/metadata": "^1.0.2",
23
24
  "reflect-metadata": "^0.1.13",
24
25
  "tsyringe": "^4.8.0"
25
26
  },
@@ -57,5 +58,5 @@
57
58
  "src/*.{js,ts}"
58
59
  ]
59
60
  },
60
- "gitHead": "728907e178ed7007242fa7535c6e3ed4ac12e22c"
61
+ "gitHead": "919af75933ff21c315d4e2d0aa6f5a2be98b6752"
61
62
  }