web_api_base 7.3.1 → 8.0.0

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 (66) hide show
  1. package/dist/Application.d.ts +1 -0
  2. package/dist/Application.d.ts.map +1 -1
  3. package/dist/Application.js +64 -34
  4. package/dist/Application.js.map +1 -1
  5. package/dist/ApplicationConfiguration.d.ts +1 -2
  6. package/dist/ApplicationConfiguration.d.ts.map +1 -1
  7. package/dist/ApplicationConfiguration.js +16 -28
  8. package/dist/ApplicationConfiguration.js.map +1 -1
  9. package/dist/bin/Factory.d.ts.map +1 -1
  10. package/dist/bin/Factory.js +7 -15
  11. package/dist/bin/Factory.js.map +1 -1
  12. package/dist/controllers/base/ControllerBase.d.ts.map +1 -1
  13. package/dist/controllers/base/ControllerBase.js +7 -2
  14. package/dist/controllers/base/ControllerBase.js.map +1 -1
  15. package/dist/decorators/controllers/ControllerDecorators.d.ts +36 -27
  16. package/dist/decorators/controllers/ControllerDecorators.d.ts.map +1 -1
  17. package/dist/decorators/controllers/ControllerDecorators.js +116 -65
  18. package/dist/decorators/controllers/ControllerDecorators.js.map +1 -1
  19. package/dist/decorators/metadata/MetadataDecorators.d.ts +3 -0
  20. package/dist/decorators/metadata/MetadataDecorators.d.ts.map +1 -1
  21. package/dist/decorators/metadata/MetadataDecorators.js +10 -0
  22. package/dist/decorators/metadata/MetadataDecorators.js.map +1 -1
  23. package/dist/decorators/validations/ValidationDecorators.d.ts +38 -27
  24. package/dist/decorators/validations/ValidationDecorators.d.ts.map +1 -1
  25. package/dist/decorators/validations/ValidationDecorators.js +107 -86
  26. package/dist/decorators/validations/ValidationDecorators.js.map +1 -1
  27. package/dist/dependencyInjection/DependecyService.d.ts +2 -1
  28. package/dist/dependencyInjection/DependecyService.d.ts.map +1 -1
  29. package/dist/dependencyInjection/DependecyService.js +42 -33
  30. package/dist/dependencyInjection/DependecyService.js.map +1 -1
  31. package/dist/dependencyInjection/Index.d.ts +8 -0
  32. package/dist/dependencyInjection/Index.d.ts.map +1 -0
  33. package/dist/dependencyInjection/Index.js +33 -0
  34. package/dist/dependencyInjection/Index.js.map +1 -0
  35. package/dist/documentation/CSS.d.ts.map +1 -1
  36. package/dist/documentation/CSS.js +22 -0
  37. package/dist/documentation/CSS.js.map +1 -1
  38. package/dist/documentation/Documentation.d.ts +1 -1
  39. package/dist/documentation/Documentation.d.ts.map +1 -1
  40. package/dist/documentation/Documentation.js +26 -21
  41. package/dist/documentation/Documentation.js.map +1 -1
  42. package/dist/documentation/Index.d.ts +13 -0
  43. package/dist/documentation/Index.d.ts.map +1 -0
  44. package/dist/documentation/Index.js +63 -0
  45. package/dist/documentation/Index.js.map +1 -0
  46. package/dist/documentation/JS.d.ts.map +1 -1
  47. package/dist/documentation/JS.js +120 -61
  48. package/dist/documentation/JS.js.map +1 -1
  49. package/dist/index.d.ts +26 -25
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +85 -66
  52. package/dist/index.js.map +1 -1
  53. package/dist/metadata/Index.d.ts +11 -0
  54. package/dist/metadata/Index.d.ts.map +1 -0
  55. package/dist/metadata/Index.js +36 -0
  56. package/dist/metadata/Index.js.map +1 -0
  57. package/dist/metadata/Type.d.ts +13 -5
  58. package/dist/metadata/Type.d.ts.map +1 -1
  59. package/dist/metadata/Type.js +112 -44
  60. package/dist/metadata/Type.js.map +1 -1
  61. package/dist/validation/Index.d.ts +10 -0
  62. package/dist/validation/Index.d.ts.map +1 -0
  63. package/dist/validation/Index.js +44 -0
  64. package/dist/validation/Index.js.map +1 -0
  65. package/package.json +50 -5
  66. package/readme.md +86 -7
@@ -1,5 +1,4 @@
1
1
  export default class ValidationDecorators {
2
- constructor();
3
2
  private static _requiredKeyMetadata;
4
3
  private static _maxlenghtKeyMetadata;
5
4
  private static _minlenghtKeyMetadata;
@@ -8,46 +7,58 @@ export default class ValidationDecorators {
8
7
  private static _maxValueKeyMetadata;
9
8
  private static _minValueKeyMetadata;
10
9
  private static _keysToValidateKeyMetada;
11
- static AddField(target: Object, property: string): void;
12
- static GetFields(target: Object): string[];
10
+ static AddField(ctor: Function, property: string): void;
11
+ static GetFields(ctor: Function): string[];
13
12
  static Required(message?: string): (target: Object, property: string) => void;
14
- static IsRequired(target: Object, property: string): {
13
+ static IsRequired(ctor: Function, property: string): {
15
14
  Message: string;
16
15
  } | undefined;
17
16
  static MaxLenght(max: number, message?: string): (target: Object, property: string) => void;
18
- static GetMaxlenght(target: Object, property: string): {
17
+ static GetMaxlenght(target: Function, property: string): {
19
18
  Message: string;
20
19
  Max: number;
21
20
  } | undefined;
22
21
  static MinLenght(min: number, message?: string): (target: Object, property: string) => void;
23
- static GetMinlenght(target: Object, property: string): {
22
+ static GetMinlenght(target: Function, property: string): {
24
23
  Message: string;
25
24
  Min: number;
26
25
  } | undefined;
27
26
  static MinValue(min: number, message?: string): (target: Object, property: string) => void;
28
- static GetMinValue(target: Object, property: string): {
29
- Message: string;
30
- Min: number;
31
- } | undefined;
27
+ static GetMinValue(target: Function, property: string): IMinLengthValidation | undefined;
32
28
  static MaxValue(max: number, message?: string): (target: Object, property: string) => void;
33
- static GetMaxValue(target: Object, property: string): {
34
- Message: string;
35
- Max: number;
36
- } | undefined;
29
+ static GetMaxValue(target: Function, property: string): IMaxLengthValidation | undefined;
37
30
  static Regex(regex: RegExp, message?: string): (target: Object, property: string) => void;
38
- static GetRegex(target: Object, property: string): {
39
- Message: string;
40
- RegExp: RegExp;
41
- } | undefined;
42
- static Rule<T>(validationFunction: (arg: T) => boolean, message?: string): (target: Object, property: string) => void;
43
- static GetRule<T>(target: Object, property: string): {
44
- Message: string;
45
- Function: (arg: T) => boolean;
46
- } | undefined;
47
- static Validate<T>(object: T): {
48
- Field: string;
49
- Message: string;
50
- }[];
31
+ static GetRegex(target: Function, property: string): IRegexValidation | undefined;
32
+ static Rule<T extends Object, U extends keyof T>(validationFunction: (arg: T[U]) => boolean, message?: string): (target: T, property: U) => void;
33
+ static GetRules<T extends Object, U extends keyof T>(ctor: Function, property: string): IRuleValidation<T, U>[];
34
+ static Validate<T extends Object>(object: T): IValidationResult[];
51
35
  private static TryGetValue;
52
36
  }
37
+ export interface IIgnoreOnValidation {
38
+ Type: Function;
39
+ Key: string;
40
+ }
41
+ export interface IValidationWithMessage {
42
+ Message: string;
43
+ }
44
+ export interface IValidationResult extends IValidationWithMessage {
45
+ Field: string;
46
+ Type: Function;
47
+ }
48
+ export interface IRuleValidation<T extends Object, U extends keyof T> extends IValidationWithMessage {
49
+ Function: (arg: T[U]) => boolean;
50
+ }
51
+ export interface IRegexValidation extends IValidationWithMessage {
52
+ RegExp: RegExp;
53
+ }
54
+ interface IMaxLengthValidation extends IValidationWithMessage {
55
+ Max: number;
56
+ }
57
+ export interface IMinLengthValidation extends IValidationWithMessage {
58
+ Min: number;
59
+ }
60
+ export declare abstract class ValidableClass {
61
+ ValidateObject(): IValidationResult[];
62
+ }
63
+ export {};
53
64
  //# sourceMappingURL=ValidationDecorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationDecorators.d.ts","sourceRoot":"","sources":["../../../decorators/validations/ValidationDecorators.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAOrC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA8B;IACjE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAA+B;IACnE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAA+B;IACnE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA2B;IAC3D,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA0B;IACzD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA8B;IACjE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA8B;IACjE,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAuB;WAGhD,QAAQ,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM;WAY3C,SAAS,CAAC,MAAM,EAAG,MAAM,GAAI,MAAM,EAAE;WAqBrC,QAAQ,CAAC,OAAO,CAAC,EAAG,MAAM,YAEV,MAAM,YAAa,MAAM;WAazC,UAAU,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAK/E,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAEzB,MAAM,YAAa,MAAM;WAazC,YAAY,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAI,SAAS;WAKhG,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAEzB,MAAM,YAAa,MAAM;WAazC,YAAY,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAM/F,QAAQ,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAExB,MAAM,YAAa,MAAM;WAYzC,WAAW,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAM9F,QAAQ,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAExB,MAAM,YAAa,MAAM;WAYzC,WAAW,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAK9F,KAAK,CAAC,KAAK,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAEvB,MAAM,YAAa,MAAM;WAazC,QAAQ,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,MAAM,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAK9F,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAG,CAAC,GAAG,EAAG,CAAC,KAAK,OAAO,EAAE,OAAO,CAAC,EAAG,MAAM,YAEpD,MAAM,YAAa,MAAM;WAazC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAK;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,QAAQ,EAAG,CAAC,GAAG,EAAG,CAAC,KAAK,OAAO,CAAA;KAAC,GAAG,SAAS;WAMjH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAG,CAAC,GAAI;QAAC,KAAK,EAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE;IA6E3E,OAAO,CAAC,MAAM,CAAC,WAAW;CAkB7B"}
1
+ {"version":3,"file":"ValidationDecorators.d.ts","sourceRoot":"","sources":["../../../decorators/validations/ValidationDecorators.ts"],"names":[],"mappings":"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"}
@@ -3,24 +3,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ValidableClass = void 0;
6
7
  const OwnMetaDataContainer_1 = __importDefault(require("../../metadata/OwnMetaDataContainer"));
7
8
  class ValidationDecorators {
8
- constructor() {
9
- }
10
- static AddField(target, property) {
11
- const constructor = typeof target == 'function' ? target : target.constructor;
12
- const prototype = typeof target == 'function' ? target.prototype : target;
13
- let meta = this.GetFields(target);
9
+ static AddField(ctor, property) {
10
+ let meta = this.GetFields(ctor);
14
11
  meta.push(property);
15
- Reflect.defineMetadata(ValidationDecorators._keysToValidateKeyMetada, meta, prototype);
16
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._keysToValidateKeyMetada, undefined, meta);
12
+ Reflect.defineMetadata(ValidationDecorators._keysToValidateKeyMetada, meta, ctor.prototype);
13
+ OwnMetaDataContainer_1.default.Set(ctor, ValidationDecorators._keysToValidateKeyMetada, undefined, meta);
17
14
  }
18
- static GetFields(target) {
19
- const constructor = typeof target == 'function' ? target : target.constructor;
20
- const prototype = typeof target == 'function' ? target.prototype : target;
21
- let meta = Reflect.getMetadata(ValidationDecorators._keysToValidateKeyMetada, prototype);
15
+ static GetFields(ctor) {
16
+ let meta = Reflect.getMetadata(ValidationDecorators._keysToValidateKeyMetada, ctor.prototype);
22
17
  if (!meta) {
23
- let ownMeta = OwnMetaDataContainer_1.default.Get(constructor, ValidationDecorators._keysToValidateKeyMetada);
18
+ let ownMeta = OwnMetaDataContainer_1.default.Get(ctor, ValidationDecorators._keysToValidateKeyMetada);
24
19
  if (ownMeta)
25
20
  meta = ownMeta.Value;
26
21
  else
@@ -34,12 +29,13 @@ class ValidationDecorators {
34
29
  const prototype = typeof target == 'function' ? target.prototype : target;
35
30
  ValidationDecorators.AddField(constructor, property);
36
31
  let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} is required`;
37
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._requiredKeyMetadata, property, { Message: msg });
38
- Reflect.defineMetadata(ValidationDecorators._requiredKeyMetadata, { Message: msg }, prototype, property);
32
+ let requiredValidation = { Message: msg };
33
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._requiredKeyMetadata, property, requiredValidation);
34
+ Reflect.defineMetadata(ValidationDecorators._requiredKeyMetadata, requiredValidation, prototype, property);
39
35
  };
40
36
  }
41
- static IsRequired(target, property) {
42
- return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._requiredKeyMetadata);
37
+ static IsRequired(ctor, property) {
38
+ return ValidationDecorators.TryGetValue(ctor, property, ValidationDecorators._requiredKeyMetadata);
43
39
  }
44
40
  static MaxLenght(max, message) {
45
41
  return function (target, property) {
@@ -47,8 +43,9 @@ class ValidationDecorators {
47
43
  const prototype = typeof target == 'function' ? target.prototype : target;
48
44
  ValidationDecorators.AddField(constructor, property);
49
45
  let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} must be a maximum of ${max} caracteres`;
50
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._maxlenghtKeyMetadata, property, { Message: msg, Max: max });
51
- Reflect.defineMetadata(ValidationDecorators._maxlenghtKeyMetadata, { Message: msg, Max: max }, prototype, property);
46
+ let maxLenghtValidation = { Message: msg, Max: max };
47
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._maxlenghtKeyMetadata, property, maxLenghtValidation);
48
+ Reflect.defineMetadata(ValidationDecorators._maxlenghtKeyMetadata, maxLenghtValidation, prototype, property);
52
49
  };
53
50
  }
54
51
  static GetMaxlenght(target, property) {
@@ -60,8 +57,9 @@ class ValidationDecorators {
60
57
  const prototype = typeof target == 'function' ? target.prototype : target;
61
58
  ValidationDecorators.AddField(constructor, property);
62
59
  let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} must be a minimum of ${min} caracteres`;
63
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._minlenghtKeyMetadata, property, { Message: msg, Min: min });
64
- Reflect.defineMetadata(ValidationDecorators._minlenghtKeyMetadata, { Message: msg, Min: min }, prototype, property);
60
+ let minLenghtValidation = { Message: msg, Min: min };
61
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._minlenghtKeyMetadata, property, minLenghtValidation);
62
+ Reflect.defineMetadata(ValidationDecorators._minlenghtKeyMetadata, minLenghtValidation, prototype, property);
65
63
  };
66
64
  }
67
65
  static GetMinlenght(target, property) {
@@ -73,8 +71,9 @@ class ValidationDecorators {
73
71
  const prototype = typeof target == 'function' ? target.prototype : target;
74
72
  ValidationDecorators.AddField(constructor, property);
75
73
  let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} must be a minimum value of ${min}`;
76
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._minValueKeyMetadata, property, { Message: msg, Min: min });
77
- Reflect.defineMetadata(ValidationDecorators._minValueKeyMetadata, { Message: msg, Min: min }, prototype, property);
74
+ let minLengthValidation = { Message: msg, Min: min };
75
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._minValueKeyMetadata, property, minLengthValidation);
76
+ Reflect.defineMetadata(ValidationDecorators._minValueKeyMetadata, minLengthValidation, prototype, property);
78
77
  };
79
78
  }
80
79
  static GetMinValue(target, property) {
@@ -86,8 +85,9 @@ class ValidationDecorators {
86
85
  const prototype = typeof target == 'function' ? target.prototype : target;
87
86
  ValidationDecorators.AddField(constructor, property);
88
87
  let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} must be a maximun value of ${max}`;
89
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._maxValueKeyMetadata, property, { Message: msg, Max: max });
90
- Reflect.defineMetadata(ValidationDecorators._maxValueKeyMetadata, { Message: msg, Max: max }, prototype, property);
88
+ let maxLenghtValidation = { Message: msg, Max: max };
89
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._maxValueKeyMetadata, property, maxLenghtValidation);
90
+ Reflect.defineMetadata(ValidationDecorators._maxValueKeyMetadata, maxLenghtValidation, prototype, property);
91
91
  };
92
92
  }
93
93
  static GetMaxValue(target, property) {
@@ -97,93 +97,108 @@ class ValidationDecorators {
97
97
  return function (target, property) {
98
98
  const constructor = typeof target == 'function' ? target : target.constructor;
99
99
  const prototype = typeof target == 'function' ? target.prototype : target;
100
- ValidationDecorators.AddField(constructor, property);
101
100
  let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} fails on validation expression`;
102
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._regexKeyMetadata, property, { Message: msg, RegExp: regex });
103
- Reflect.defineMetadata(ValidationDecorators._regexKeyMetadata, { Message: msg, RegExp: regex }, prototype, property);
101
+ let regexValidation = { Message: msg, RegExp: regex };
102
+ ValidationDecorators.AddField(constructor, property);
103
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._regexKeyMetadata, property, regexValidation);
104
+ Reflect.defineMetadata(ValidationDecorators._regexKeyMetadata, regexValidation, prototype, property);
104
105
  };
105
106
  }
106
107
  static GetRegex(target, property) {
107
- return Reflect.getMetadata(ValidationDecorators._regexKeyMetadata, target, property);
108
+ return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._regexKeyMetadata);
108
109
  }
109
110
  static Rule(validationFunction, message) {
110
111
  return function (target, property) {
112
+ var _a;
111
113
  const constructor = typeof target == 'function' ? target : target.constructor;
112
114
  const prototype = typeof target == 'function' ? target.prototype : target;
113
- ValidationDecorators.AddField(constructor, property);
114
- let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property} fails on validation expression`;
115
- OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._ruleKeyMetadata, property, { Message: msg, Function: validationFunction });
116
- Reflect.defineMetadata(ValidationDecorators._ruleKeyMetadata, { Message: msg, Function: validationFunction }, prototype, property);
115
+ let msg = message !== null && message !== void 0 ? message : `The field ${constructor.name}.${property.toString()} fails on validation expression`;
116
+ let rules = (_a = ValidationDecorators.TryGetValue(constructor, property.toString(), ValidationDecorators._ruleKeyMetadata)) !== null && _a !== void 0 ? _a : [];
117
+ let ruleValidation = {
118
+ Message: msg,
119
+ Function: validationFunction
120
+ };
121
+ rules.push(ruleValidation);
122
+ ValidationDecorators.AddField(constructor, property.toString());
123
+ OwnMetaDataContainer_1.default.Set(constructor, ValidationDecorators._ruleKeyMetadata, property.toString(), rules);
124
+ Reflect.defineMetadata(ValidationDecorators._ruleKeyMetadata, rules, prototype, property.toString());
117
125
  };
118
126
  }
119
- static GetRule(target, property) {
120
- return Reflect.getMetadata(ValidationDecorators._ruleKeyMetadata, target, property);
127
+ static GetRules(ctor, property) {
128
+ var _a;
129
+ return (_a = ValidationDecorators.TryGetValue(ctor, property, ValidationDecorators._ruleKeyMetadata)) !== null && _a !== void 0 ? _a : [];
121
130
  }
122
131
  static Validate(object) {
123
132
  let result = [];
124
- let o = object;
125
- let cache = [];
126
- for (let k of ValidationDecorators.GetFields(o)) {
127
- let required = ValidationDecorators.IsRequired(o, k);
128
- let maxLenght = ValidationDecorators.GetMaxlenght(o, k);
129
- let minLenght = ValidationDecorators.GetMinlenght(o, k);
130
- let maxValue = ValidationDecorators.GetMaxValue(o, k);
131
- let minValue = ValidationDecorators.GetMinValue(o, k);
132
- let regex = ValidationDecorators.GetRegex(o, k);
133
- let action = ValidationDecorators.GetRule(o, k);
134
- if (required && cache.filter(c => c.f == k && c.k == "r").length == 0) {
135
- cache.push({ f: k, k: "r" });
136
- if (!o[k])
137
- result.push({ Field: k, Message: required.Message });
133
+ let objectAsAny = object;
134
+ let ctor = objectAsAny.constructor;
135
+ for (let k of Object.keys(object)) {
136
+ let required = ValidationDecorators.IsRequired(ctor, k);
137
+ let maxLenght = ValidationDecorators.GetMaxlenght(ctor, k);
138
+ let minLenght = ValidationDecorators.GetMinlenght(ctor, k);
139
+ let maxValue = ValidationDecorators.GetMaxValue(ctor, k);
140
+ let minValue = ValidationDecorators.GetMinValue(ctor, k);
141
+ let regex = ValidationDecorators.GetRegex(ctor, k);
142
+ let rules = ValidationDecorators.GetRules(ctor, k);
143
+ if (required) {
144
+ if (!objectAsAny[k])
145
+ result.push({ Field: k, Message: required.Message, Type: ctor });
138
146
  }
139
- if (maxLenght && cache.filter(c => c.f == k && c.k == "ml").length == 0) {
140
- cache.push({ f: k, k: "ml" });
141
- if (o[k] && (typeof o[k] == "string" && o[k].length > maxLenght.Max))
142
- result.push({ Field: k, Message: maxLenght.Message });
147
+ if (maxLenght) {
148
+ if (objectAsAny[k] && (typeof objectAsAny[k] == "string" && objectAsAny[k].length > maxLenght.Max))
149
+ result.push({ Field: k, Message: maxLenght.Message, Type: ctor });
143
150
  }
144
- if (minLenght && cache.filter(c => c.f == k && c.k == "nl").length == 0) {
145
- cache.push({ f: k, k: "nl" });
146
- if (!o[k] || (typeof o[k] == "string" && o[k].length < minLenght.Min))
147
- result.push({ Field: k, Message: minLenght.Message });
151
+ if (minLenght) {
152
+ if (!objectAsAny[k] || (typeof objectAsAny[k] == "string" && objectAsAny[k].length < minLenght.Min))
153
+ result.push({ Field: k, Message: minLenght.Message, Type: ctor });
148
154
  }
149
- if (regex && cache.filter(c => c.f == k && c.k == "rg").length == 0) {
150
- cache.push({ f: k, k: "rg" });
151
- if (!o[k] || (typeof o[k] == "string" && !regex.RegExp.test(o[k])))
152
- result.push({ Field: k, Message: regex.Message });
155
+ if (regex) {
156
+ if (!objectAsAny[k] || (typeof objectAsAny[k] == "string" && !regex.RegExp.test(objectAsAny[k])))
157
+ result.push({ Field: k, Message: regex.Message, Type: ctor });
153
158
  }
154
- if (minValue && cache.filter(c => c.f == k && c.k == "mv").length == 0) {
155
- cache.push({ f: k, k: "mv" });
156
- if (!o[k] || (typeof o[k] == "number" && o[k] < minValue.Min))
157
- result.push({ Field: k, Message: minValue.Message });
159
+ if (minValue) {
160
+ if (!objectAsAny[k] || (typeof objectAsAny[k] == "number" && objectAsAny[k] < minValue.Min))
161
+ result.push({ Field: k, Message: minValue.Message, Type: ctor });
158
162
  }
159
- if (maxValue && cache.filter(c => c.f == k && c.k == "nv").length == 0) {
160
- cache.push({ f: k, k: "nv" });
161
- if (!o[k] || (typeof o[k] == "number" && o[k] > maxValue.Max))
162
- result.push({ Field: k, Message: maxValue.Message });
163
+ if (maxValue) {
164
+ if (!objectAsAny[k] || (typeof objectAsAny[k] == "number" && objectAsAny[k] > maxValue.Max))
165
+ result.push({ Field: k, Message: maxValue.Message, Type: ctor });
163
166
  }
164
- if (action && cache.filter(c => c.f == k && c.k == "a").length == 0) {
165
- cache.push({ f: k, k: "a" });
166
- let actionResult = false;
167
- try {
168
- actionResult = action.Function(o[k]);
167
+ if (rules && rules.length > 0) {
168
+ for (let action of rules) {
169
+ let actionResult = false;
170
+ try {
171
+ actionResult = action.Function(objectAsAny[k]);
172
+ }
173
+ catch (_a) { }
174
+ if (!actionResult)
175
+ result.push({ Field: k, Message: action.Message, Type: ctor });
169
176
  }
170
- catch (_a) { }
171
- if (!actionResult)
172
- result.push({ Field: k, Message: action.Message });
177
+ }
178
+ if (objectAsAny[k] != undefined && typeof objectAsAny[k] == 'object') {
179
+ let propertyValidation = ValidationDecorators.Validate(objectAsAny[k]);
180
+ result.push(...propertyValidation);
173
181
  }
174
182
  }
175
183
  return result;
176
184
  }
177
- static TryGetValue(target, property, key) {
178
- const constructor = typeof target == 'function' ? target : target.constructor;
179
- const prototype = typeof target == 'function' ? target.prototype : target;
180
- let meta = Reflect.getMetadata(key, prototype, property);
181
- if (!meta) {
182
- let ownMeta = OwnMetaDataContainer_1.default.Get(constructor, key, property);
183
- if (ownMeta)
184
- meta = ownMeta.Value;
185
+ static TryGetValue(ctor, property, key) {
186
+ let currentCtor = ctor;
187
+ while (currentCtor != undefined) {
188
+ let meta = Reflect.getMetadata(key, currentCtor.prototype, property);
189
+ if (!meta) {
190
+ let ownMeta = OwnMetaDataContainer_1.default.Get(currentCtor, key, property);
191
+ if (ownMeta)
192
+ meta = ownMeta.Value;
193
+ }
194
+ if (meta)
195
+ return meta;
196
+ if (currentCtor.prototype && currentCtor.prototype.__proto__)
197
+ currentCtor = currentCtor.prototype.__proto__.constructor;
198
+ else
199
+ break;
185
200
  }
186
- return meta;
201
+ return undefined;
187
202
  }
188
203
  }
189
204
  ValidationDecorators._requiredKeyMetadata = "meta:validation-required";
@@ -195,4 +210,10 @@ ValidationDecorators._maxValueKeyMetadata = "meta:validation-maxValue";
195
210
  ValidationDecorators._minValueKeyMetadata = "meta:validation-minValue";
196
211
  ValidationDecorators._keysToValidateKeyMetada = "meta:mustValidate";
197
212
  exports.default = ValidationDecorators;
213
+ class ValidableClass {
214
+ ValidateObject() {
215
+ return ValidationDecorators.Validate(this);
216
+ }
217
+ }
218
+ exports.ValidableClass = ValidableClass;
198
219
  //# sourceMappingURL=ValidationDecorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationDecorators.js","sourceRoot":"","sources":["../../../decorators/validations/ValidationDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidationDecorators.js","sourceRoot":"","sources":["../../../decorators/validations/ValidationDecorators.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export default class DependecyService {
11
11
  static IsInjectable(target: object, property: string): boolean;
12
12
  static InjectOne<T, U>(cTor: Ctors<T>, genericType?: Ctors<U>): (target: Object, property: string | symbol) => void;
13
13
  static InjectGenericType<T, U>(ctor: Ctors<T>, genericType: Ctors<U>): (target: Object, property: string | symbol) => void;
14
- static GetDIType(target: object, property: string): IRegister<unknown, unknown> | undefined;
14
+ static GetDIType(target: Function, property: string): IRegister<unknown, unknown> | undefined;
15
15
  static RegisterFor<T, U extends T>(type: Ctors<T>, ctor: new (...args: any[]) => U, scope?: DIEscope, builder?: () => U): void;
16
16
  static Register<T>(type: Ctors<T>, scope?: DIEscope, builder?: () => T): void;
17
17
  static RegisterGeneric<T, U>(type: Ctors<T>, genericType?: Ctors<U>, ctor?: new (...args: any[]) => T, scope?: DIEscope, builder?: (genericTypeFunction?: Ctors<U>) => any): void;
@@ -20,6 +20,7 @@ export default class DependecyService {
20
20
  static Resolve<T>(type: Ctors<T>, context?: IDIContext): T | undefined;
21
21
  static ResolveCtor<T>(ctor: Ctors<T>, context?: IDIContext): any | undefined;
22
22
  static CheckForDependenciesAndResolve(object: any, context?: IDIContext): void;
23
+ private static ResolveDependencies;
23
24
  static Build<T>(Ctor: Ctors<T>): T;
24
25
  private static IsDIConext;
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DependecyService.d.ts","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DependecyService.d.ts","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":"AAAA,OAAO,UAAuB,MAAM,cAAc,CAAC;AAKnD,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAEjC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAE3C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiC;IAClE,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAuC;WAEpE,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAG,MAAM;WAa/D,wBAAwB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAI,MAAM,EAAE;WAUtD,MAAM,aAKmB,MAAM,YAAa,MAAM,GAAG,MAAM,KAAK,IAAI;WAApE,UAAU,IAAK,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAG,MAAM,KAAK,IAAI;WAcpE,YAAY,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI,OAAO;WAO1D,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAI,KAAK,CAAC,CAAC,CAAC,GAAI,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAG,MAAM,KAAK,IAAI;WAYlH,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAI,KAAK,CAAC,CAAC,CAAC,GAAI,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAG,MAAM,KAAK,IAAI;WAMxH,SAAS,CAAC,MAAM,EAAG,QAAQ,EAAE,QAAQ,EAAG,MAAM,GAAK,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;WAW1F,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAG,KAAK,GAAG,IAAI,EAAG,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAI,QAAQ,EAAE,OAAO,CAAC,EAAG,MAAM,CAAC,GAAI,IAAI;WA0B9H,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAG,QAAQ,EAAE,OAAO,CAAC,EAAG,MAAM,CAAC,GAAI,IAAI;WAyB1E,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAG,KAAK,CAAC,CAAC,CAAC,EAAG,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAG,KAAK,GAAG,IAAI,EAAG,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAG,QAAQ,EAAE,OAAO,CAAC,EAAG,CAAC,mBAAmB,CAAC,EAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAI,IAAI;IAkChM,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAiDrB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAI,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAG,UAAU,GAAI,CAAC,GAAG,SAAS;WAmDvG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAG,UAAU,GAAI,CAAC,GAAG,SAAS;WAMnE,WAAW,CAAC,CAAC,EAAE,IAAI,EAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAG,UAAU,GAAI,GAAG,GAAG,SAAS;WAMzE,8BAA8B,CAAC,MAAM,EAAG,GAAG,EAAE,OAAO,CAAC,EAAG,UAAU;IAiBhF,OAAO,CAAC,MAAM,CAAC,mBAAmB;WA2DpB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAG,KAAK,CAAC,CAAC,CAAC,GAAI,CAAC;IAS3C,OAAO,CAAC,MAAM,CAAC,UAAU;CAM5B;AAGD,oBAAY,QAAQ;IAEhB,MAAM,IAAA;IACN,SAAS,IAAA;IACT,SAAS,IAAA;CACZ;AAED,UAAU,SAAS,CAAC,CAAC,EAAE,CAAC;IAEpB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CACzB"}
@@ -48,7 +48,7 @@ class DependecyService {
48
48
  return DependecyService.InjectOne(ctor, genericType);
49
49
  }
50
50
  static GetDIType(target, property) {
51
- let meta = OwnMetaDataContainer_1.default.Get(target.constructor, DependecyService._injectableTypeKey, property);
51
+ let meta = OwnMetaDataContainer_1.default.Get(target, DependecyService._injectableTypeKey, property);
52
52
  if (meta)
53
53
  return meta.Value;
54
54
  return { Type: Reflect.getMetadata("design:type", target.prototype, property) };
@@ -171,40 +171,49 @@ class DependecyService {
171
171
  return DependecyService.ResolveGeneric(ctor, undefined, context);
172
172
  }
173
173
  static CheckForDependenciesAndResolve(object, context) {
174
- let keys = Object.keys(object);
175
- keys.push(...DependecyService.GetInjectablesProperties(object.constructor));
176
- for (let k of keys) {
177
- if (object[k] != 'function') {
178
- if (DependecyService.IsInjectable(object.constructor, k)) {
179
- let tp = DependecyService.GetDIType(object, k);
180
- if (!tp)
181
- throw new FindDependencyException_1.default(`Can not resolve the dependecy of ${object.constructor.name}.${k}`);
182
- let service;
183
- if (tp.GenericType)
184
- service = DependecyService._services.find(u => u.Type == tp.Type && u.GenericType == tp.GenericType);
185
- if (!service)
186
- service = DependecyService._services.find(u => u.Type == tp.Type && (!u.GenericType || u.GenericType == tp.GenericType));
187
- if (context && context.Intances && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
188
- let scopped = context.Intances.filter(s => s.Type == tp.Type && (!s.GenericType || s.GenericType == tp.GenericType));
189
- if (scopped.length > 0 && scopped[0]) {
190
- object[k] = scopped[0].Object;
191
- continue;
192
- }
193
- }
194
- let instance = tp.GenericType ? DependecyService.ResolveGeneric(tp.Type, tp.GenericType) : DependecyService.Resolve(tp.Type);
195
- if (instance == undefined)
196
- throw new FindDependencyException_1.default(`Can not resolve the dependecy of ${object.constructor.name}.${k}`);
197
- if (DependecyService.IsDIConext(object) && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
198
- if (!object.Intances)
199
- object.Intances = [];
200
- object.Intances.push({
201
- Object: instance,
202
- Type: tp.Type,
203
- GenericType: tp.GenericType
204
- });
174
+ let ctor = object.constructor;
175
+ while (ctor) {
176
+ let keys = DependecyService.GetInjectablesProperties(ctor);
177
+ this.ResolveDependencies({ Keys: keys, Type: ctor }, object, context);
178
+ if (ctor.prototype.__proto__)
179
+ ctor = ctor.prototype.__proto__.constructor;
180
+ else
181
+ break;
182
+ }
183
+ }
184
+ static ResolveDependencies(keysMap, object, context) {
185
+ for (let k of keysMap.Keys) {
186
+ if (object[k] == 'function')
187
+ continue;
188
+ if (DependecyService.IsInjectable(keysMap.Type, k)) {
189
+ let tp = DependecyService.GetDIType(keysMap.Type, k);
190
+ if (!tp)
191
+ throw new FindDependencyException_1.default(`Can not resolve the dependecy of ${keysMap.Type.name}.${k}`);
192
+ let service;
193
+ if (tp.GenericType)
194
+ service = DependecyService._services.find(u => u.Type == tp.Type && u.GenericType == tp.GenericType);
195
+ if (!service)
196
+ service = DependecyService._services.find(u => u.Type == tp.Type && (!u.GenericType || u.GenericType == tp.GenericType));
197
+ if (context && context.Intances && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
198
+ let scopped = context.Intances.filter(s => s.Type == tp.Type && (!s.GenericType || s.GenericType == tp.GenericType));
199
+ if (scopped.length > 0 && scopped[0]) {
200
+ object[k] = scopped[0].Object;
201
+ continue;
205
202
  }
206
- object[k] = instance;
207
203
  }
204
+ let instance = tp.GenericType ? DependecyService.ResolveGeneric(tp.Type, tp.GenericType) : DependecyService.Resolve(tp.Type);
205
+ if (instance == undefined)
206
+ throw new FindDependencyException_1.default(`Can not resolve the dependecy of ${keysMap.Type.name}.${k}`);
207
+ if (DependecyService.IsDIConext(object) && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
208
+ if (!object.Intances)
209
+ object.Intances = [];
210
+ object.Intances.push({
211
+ Object: instance,
212
+ Type: tp.Type,
213
+ GenericType: tp.GenericType
214
+ });
215
+ }
216
+ object[k] = instance;
208
217
  }
209
218
  }
210
219
  }