@decaf-ts/decorator-validation 1.5.1 → 1.5.2

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 (170) hide show
  1. package/package.json +15 -9
  2. package/dist/decorator-validation.bundle.min.js +0 -2
  3. package/dist/decorator-validation.bundle.min.js.LICENSE.txt +0 -14
  4. package/dist/esm/decorator-validation.bundle.min.esm.js +0 -2
  5. package/dist/esm/decorator-validation.bundle.min.esm.js.LICENSE.txt +0 -14
  6. package/lib/esm/index.d.ts +0 -42
  7. package/lib/esm/index.js +0 -42
  8. package/lib/esm/model/Model.d.ts +0 -138
  9. package/lib/esm/model/Model.js +0 -296
  10. package/lib/esm/model/ModelErrorDefinition.d.ts +0 -22
  11. package/lib/esm/model/ModelErrorDefinition.js +0 -52
  12. package/lib/esm/model/Registry.d.ts +0 -59
  13. package/lib/esm/model/Registry.js +0 -73
  14. package/lib/esm/model/constants.d.ts +0 -56
  15. package/lib/esm/model/constants.js +0 -69
  16. package/lib/esm/model/construction.d.ts +0 -29
  17. package/lib/esm/model/construction.js +0 -63
  18. package/lib/esm/model/decorators.d.ts +0 -25
  19. package/lib/esm/model/decorators.js +0 -62
  20. package/lib/esm/model/index.d.ts +0 -9
  21. package/lib/esm/model/index.js +0 -9
  22. package/lib/esm/model/types.d.ts +0 -79
  23. package/lib/esm/model/types.js +0 -1
  24. package/lib/esm/model/utils.d.ts +0 -11
  25. package/lib/esm/model/utils.js +0 -25
  26. package/lib/esm/model/validation.d.ts +0 -14
  27. package/lib/esm/model/validation.js +0 -135
  28. package/lib/esm/utils/constants.d.ts +0 -26
  29. package/lib/esm/utils/constants.js +0 -27
  30. package/lib/esm/utils/dates.d.ts +0 -76
  31. package/lib/esm/utils/dates.js +0 -243
  32. package/lib/esm/utils/decorators.d.ts +0 -2
  33. package/lib/esm/utils/decorators.js +0 -18
  34. package/lib/esm/utils/hashing.d.ts +0 -52
  35. package/lib/esm/utils/hashing.js +0 -99
  36. package/lib/esm/utils/index.d.ts +0 -7
  37. package/lib/esm/utils/index.js +0 -7
  38. package/lib/esm/utils/registry.d.ts +0 -68
  39. package/lib/esm/utils/registry.js +0 -1
  40. package/lib/esm/utils/serialization.d.ts +0 -79
  41. package/lib/esm/utils/serialization.js +0 -88
  42. package/lib/esm/utils/strings.d.ts +0 -25
  43. package/lib/esm/utils/strings.js +0 -31
  44. package/lib/esm/validation/Validation.d.ts +0 -51
  45. package/lib/esm/validation/Validation.js +0 -71
  46. package/lib/esm/validation/Validators/DateValidator.d.ts +0 -30
  47. package/lib/esm/validation/Validators/DateValidator.js +0 -54
  48. package/lib/esm/validation/Validators/EmailValidator.d.ts +0 -27
  49. package/lib/esm/validation/Validators/EmailValidator.js +0 -50
  50. package/lib/esm/validation/Validators/ListValidator.d.ts +0 -30
  51. package/lib/esm/validation/Validators/ListValidator.js +0 -65
  52. package/lib/esm/validation/Validators/MaxLengthValidator.d.ts +0 -31
  53. package/lib/esm/validation/Validators/MaxLengthValidator.js +0 -52
  54. package/lib/esm/validation/Validators/MaxValidator.d.ts +0 -30
  55. package/lib/esm/validation/Validators/MaxValidator.js +0 -57
  56. package/lib/esm/validation/Validators/MinLengthValidator.d.ts +0 -31
  57. package/lib/esm/validation/Validators/MinLengthValidator.js +0 -52
  58. package/lib/esm/validation/Validators/MinValidator.d.ts +0 -30
  59. package/lib/esm/validation/Validators/MinValidator.js +0 -57
  60. package/lib/esm/validation/Validators/PasswordValidator.d.ts +0 -27
  61. package/lib/esm/validation/Validators/PasswordValidator.js +0 -50
  62. package/lib/esm/validation/Validators/PatternValidator.d.ts +0 -39
  63. package/lib/esm/validation/Validators/PatternValidator.js +0 -70
  64. package/lib/esm/validation/Validators/RequiredValidator.d.ts +0 -27
  65. package/lib/esm/validation/Validators/RequiredValidator.js +0 -57
  66. package/lib/esm/validation/Validators/StepValidator.d.ts +0 -31
  67. package/lib/esm/validation/Validators/StepValidator.js +0 -52
  68. package/lib/esm/validation/Validators/TypeValidator.d.ts +0 -29
  69. package/lib/esm/validation/Validators/TypeValidator.js +0 -60
  70. package/lib/esm/validation/Validators/URLValidator.d.ts +0 -32
  71. package/lib/esm/validation/Validators/URLValidator.js +0 -46
  72. package/lib/esm/validation/Validators/Validator.d.ts +0 -43
  73. package/lib/esm/validation/Validators/Validator.js +0 -47
  74. package/lib/esm/validation/Validators/ValidatorRegistry.d.ts +0 -47
  75. package/lib/esm/validation/Validators/ValidatorRegistry.js +0 -80
  76. package/lib/esm/validation/Validators/constants.d.ts +0 -96
  77. package/lib/esm/validation/Validators/constants.js +0 -134
  78. package/lib/esm/validation/Validators/decorators.d.ts +0 -12
  79. package/lib/esm/validation/Validators/decorators.js +0 -25
  80. package/lib/esm/validation/Validators/index.d.ts +0 -52
  81. package/lib/esm/validation/Validators/index.js +0 -52
  82. package/lib/esm/validation/Validators/types.d.ts +0 -51
  83. package/lib/esm/validation/Validators/types.js +0 -1
  84. package/lib/esm/validation/decorators.d.ts +0 -178
  85. package/lib/esm/validation/decorators.js +0 -288
  86. package/lib/esm/validation/index.d.ts +0 -4
  87. package/lib/esm/validation/index.js +0 -4
  88. package/lib/esm/validation/types.d.ts +0 -46
  89. package/lib/esm/validation/types.js +0 -1
  90. package/lib/index.cjs +0 -59
  91. package/lib/index.d.ts +0 -42
  92. package/lib/model/Model.cjs +0 -300
  93. package/lib/model/Model.d.ts +0 -138
  94. package/lib/model/ModelErrorDefinition.cjs +0 -56
  95. package/lib/model/ModelErrorDefinition.d.ts +0 -22
  96. package/lib/model/Registry.cjs +0 -78
  97. package/lib/model/Registry.d.ts +0 -59
  98. package/lib/model/constants.cjs +0 -72
  99. package/lib/model/constants.d.ts +0 -56
  100. package/lib/model/construction.cjs +0 -68
  101. package/lib/model/construction.d.ts +0 -29
  102. package/lib/model/decorators.cjs +0 -67
  103. package/lib/model/decorators.d.ts +0 -25
  104. package/lib/model/index.cjs +0 -25
  105. package/lib/model/index.d.ts +0 -9
  106. package/lib/model/types.cjs +0 -2
  107. package/lib/model/types.d.ts +0 -79
  108. package/lib/model/utils.cjs +0 -29
  109. package/lib/model/utils.d.ts +0 -11
  110. package/lib/model/validation.cjs +0 -138
  111. package/lib/model/validation.d.ts +0 -14
  112. package/lib/utils/constants.cjs +0 -30
  113. package/lib/utils/constants.d.ts +0 -26
  114. package/lib/utils/dates.cjs +0 -251
  115. package/lib/utils/dates.d.ts +0 -76
  116. package/lib/utils/decorators.cjs +0 -22
  117. package/lib/utils/decorators.d.ts +0 -2
  118. package/lib/utils/hashing.cjs +0 -106
  119. package/lib/utils/hashing.d.ts +0 -52
  120. package/lib/utils/index.cjs +0 -23
  121. package/lib/utils/index.d.ts +0 -7
  122. package/lib/utils/registry.cjs +0 -2
  123. package/lib/utils/registry.d.ts +0 -68
  124. package/lib/utils/serialization.cjs +0 -93
  125. package/lib/utils/serialization.d.ts +0 -79
  126. package/lib/utils/strings.cjs +0 -35
  127. package/lib/utils/strings.d.ts +0 -25
  128. package/lib/validation/Validation.cjs +0 -75
  129. package/lib/validation/Validation.d.ts +0 -51
  130. package/lib/validation/Validators/DateValidator.cjs +0 -57
  131. package/lib/validation/Validators/DateValidator.d.ts +0 -30
  132. package/lib/validation/Validators/EmailValidator.cjs +0 -53
  133. package/lib/validation/Validators/EmailValidator.d.ts +0 -27
  134. package/lib/validation/Validators/ListValidator.cjs +0 -68
  135. package/lib/validation/Validators/ListValidator.d.ts +0 -30
  136. package/lib/validation/Validators/MaxLengthValidator.cjs +0 -55
  137. package/lib/validation/Validators/MaxLengthValidator.d.ts +0 -31
  138. package/lib/validation/Validators/MaxValidator.cjs +0 -60
  139. package/lib/validation/Validators/MaxValidator.d.ts +0 -30
  140. package/lib/validation/Validators/MinLengthValidator.cjs +0 -55
  141. package/lib/validation/Validators/MinLengthValidator.d.ts +0 -31
  142. package/lib/validation/Validators/MinValidator.cjs +0 -60
  143. package/lib/validation/Validators/MinValidator.d.ts +0 -30
  144. package/lib/validation/Validators/PasswordValidator.cjs +0 -53
  145. package/lib/validation/Validators/PasswordValidator.d.ts +0 -27
  146. package/lib/validation/Validators/PatternValidator.cjs +0 -73
  147. package/lib/validation/Validators/PatternValidator.d.ts +0 -39
  148. package/lib/validation/Validators/RequiredValidator.cjs +0 -60
  149. package/lib/validation/Validators/RequiredValidator.d.ts +0 -27
  150. package/lib/validation/Validators/StepValidator.cjs +0 -55
  151. package/lib/validation/Validators/StepValidator.d.ts +0 -31
  152. package/lib/validation/Validators/TypeValidator.cjs +0 -63
  153. package/lib/validation/Validators/TypeValidator.d.ts +0 -29
  154. package/lib/validation/Validators/URLValidator.cjs +0 -49
  155. package/lib/validation/Validators/URLValidator.d.ts +0 -32
  156. package/lib/validation/Validators/Validator.cjs +0 -51
  157. package/lib/validation/Validators/Validator.d.ts +0 -43
  158. package/lib/validation/Validators/ValidatorRegistry.cjs +0 -85
  159. package/lib/validation/Validators/ValidatorRegistry.d.ts +0 -47
  160. package/lib/validation/Validators/constants.cjs +0 -137
  161. package/lib/validation/Validators/constants.d.ts +0 -96
  162. package/lib/validation/Validators/decorators.cjs +0 -28
  163. package/lib/validation/Validators/index.cjs +0 -69
  164. package/lib/validation/Validators/types.cjs +0 -2
  165. package/lib/validation/decorators.cjs +0 -304
  166. package/lib/validation/decorators.d.ts +0 -178
  167. package/lib/validation/index.cjs +0 -20
  168. package/lib/validation/index.d.ts +0 -4
  169. package/lib/validation/types.cjs +0 -2
  170. package/lib/validation/types.d.ts +0 -46
@@ -1,25 +0,0 @@
1
- /**
2
- * @summary Util function to provide string format functionality similar to C#'s string.format
3
- *
4
- * @param {string} string
5
- * @param {Array<string | number>} [args] replacements made by order of appearance (replacement0 wil replace {0} and so on)
6
- * @return {string} formatted string
7
- *
8
- * @function stringFormat
9
- * @memberOf module:decorator-validation.Utils.Format
10
- * @category Format
11
- */
12
- export declare function stringFormat(string: string, ...args: (string | number)[]): string;
13
- /**
14
- * @summary Util function to provide string format functionality similar to C#'s string.format
15
- * @description alias for {@link stringFormat}
16
- *
17
- * @param {string} string
18
- * @param {string} args replacements made by order of appearance (replacement0 wil replace {0} and so on)
19
- * @return {string} formatted string
20
- *
21
- * @function sf
22
- * @memberOf module:decorator-validation.Utils.Format
23
- * @category Format
24
- */
25
- export declare const sf: typeof stringFormat;
@@ -1,31 +0,0 @@
1
- /**
2
- * @summary Util function to provide string format functionality similar to C#'s string.format
3
- *
4
- * @param {string} string
5
- * @param {Array<string | number>} [args] replacements made by order of appearance (replacement0 wil replace {0} and so on)
6
- * @return {string} formatted string
7
- *
8
- * @function stringFormat
9
- * @memberOf module:decorator-validation.Utils.Format
10
- * @category Format
11
- */
12
- export function stringFormat(string, ...args) {
13
- return string.replace(/{(\d+)}/g, function (match, number) {
14
- return typeof args[number] !== "undefined"
15
- ? args[number].toString()
16
- : "undefined";
17
- });
18
- }
19
- /**
20
- * @summary Util function to provide string format functionality similar to C#'s string.format
21
- * @description alias for {@link stringFormat}
22
- *
23
- * @param {string} string
24
- * @param {string} args replacements made by order of appearance (replacement0 wil replace {0} and so on)
25
- * @return {string} formatted string
26
- *
27
- * @function sf
28
- * @memberOf module:decorator-validation.Utils.Format
29
- * @category Format
30
- */
31
- export const sf = stringFormat;
@@ -1,51 +0,0 @@
1
- import { Validator } from "./Validators/Validator";
2
- import { IValidatorRegistry, ValidatorDefinition } from "./Validators/types";
3
- /**
4
- * @summary Static class acting as a namespace for the Validation
5
- *
6
- * @class Validation
7
- * @static
8
- *
9
- * @category Validation
10
- */
11
- export declare class Validation {
12
- private static actingValidatorRegistry?;
13
- private constructor();
14
- /**
15
- * @summary Defines the acting ValidatorRegistry
16
- *
17
- * @param {IValidatorRegistry} validatorRegistry the new implementation of the validator Registry
18
- * @param {function(Validator): Validator} [migrationHandler] the method to map the validator if required;
19
- */
20
- static setRegistry(validatorRegistry: IValidatorRegistry<Validator>, migrationHandler?: (validator: Validator) => Validator): void;
21
- /**
22
- * @summary Returns the current ValidatorRegistry
23
- *
24
- * @return IValidatorRegistry, defaults to {@link ValidatorRegistry}
25
- */
26
- private static getRegistry;
27
- /**
28
- * @summary Retrieves a validator
29
- *
30
- * @param {string} validatorKey one of the {@link ValidationKeys}
31
- * @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
32
- */
33
- static get<T extends Validator>(validatorKey: string): T | undefined;
34
- /**
35
- * @summary Registers the provided validators onto the registry
36
- *
37
- * @param {T[] | ValidatorDefinition[]} validator
38
- */
39
- static register<T extends Validator>(...validator: (ValidatorDefinition | T)[]): void;
40
- /**
41
- * @summary Builds the key to store as Metadata under Reflections
42
- * @description concatenates {@link ValidationKeys#REFLECT} with the provided key
43
- *
44
- * @param {string} key
45
- */
46
- static key(key: string): string;
47
- /**
48
- * @summary Returns all registered validation keys
49
- */
50
- static keys(): string[];
51
- }
@@ -1,71 +0,0 @@
1
- import { ValidatorRegistry } from "./Validators/ValidatorRegistry";
2
- import { ValidationKeys } from "./Validators/constants";
3
- /**
4
- * @summary Static class acting as a namespace for the Validation
5
- *
6
- * @class Validation
7
- * @static
8
- *
9
- * @category Validation
10
- */
11
- export class Validation {
12
- static { this.actingValidatorRegistry = undefined; }
13
- constructor() { }
14
- /**
15
- * @summary Defines the acting ValidatorRegistry
16
- *
17
- * @param {IValidatorRegistry} validatorRegistry the new implementation of the validator Registry
18
- * @param {function(Validator): Validator} [migrationHandler] the method to map the validator if required;
19
- */
20
- static setRegistry(validatorRegistry, migrationHandler) {
21
- if (migrationHandler && Validation.actingValidatorRegistry)
22
- Validation.actingValidatorRegistry.getKeys().forEach((k) => {
23
- const validator = validatorRegistry.get(k);
24
- if (validator)
25
- validatorRegistry.register(migrationHandler(validator));
26
- });
27
- Validation.actingValidatorRegistry = validatorRegistry;
28
- }
29
- /**
30
- * @summary Returns the current ValidatorRegistry
31
- *
32
- * @return IValidatorRegistry, defaults to {@link ValidatorRegistry}
33
- */
34
- static getRegistry() {
35
- if (!Validation.actingValidatorRegistry)
36
- Validation.actingValidatorRegistry = new ValidatorRegistry();
37
- return Validation.actingValidatorRegistry;
38
- }
39
- /**
40
- * @summary Retrieves a validator
41
- *
42
- * @param {string} validatorKey one of the {@link ValidationKeys}
43
- * @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
44
- */
45
- static get(validatorKey) {
46
- return Validation.getRegistry().get(validatorKey);
47
- }
48
- /**
49
- * @summary Registers the provided validators onto the registry
50
- *
51
- * @param {T[] | ValidatorDefinition[]} validator
52
- */
53
- static register(...validator) {
54
- return Validation.getRegistry().register(...validator);
55
- }
56
- /**
57
- * @summary Builds the key to store as Metadata under Reflections
58
- * @description concatenates {@link ValidationKeys#REFLECT} with the provided key
59
- *
60
- * @param {string} key
61
- */
62
- static key(key) {
63
- return ValidationKeys.REFLECT + key;
64
- }
65
- /**
66
- * @summary Returns all registered validation keys
67
- */
68
- static keys() {
69
- return this.getRegistry().getKeys();
70
- }
71
- }
@@ -1,30 +0,0 @@
1
- import { Validator, ValidatorOptions } from "./Validator";
2
- export interface DateValidatorOptions extends ValidatorOptions {
3
- format?: string;
4
- }
5
- /**
6
- * @summary Date Validator
7
- *
8
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#DATE}
9
- *
10
- * @class DateValidator
11
- * @extends Validator
12
- *
13
- * @category Validators
14
- */
15
- export declare class DateValidator extends Validator<DateValidatorOptions> {
16
- constructor(message?: string);
17
- /**
18
- * @summary Validates a model
19
- *
20
- * @param {Date | string} value
21
- * @param {DateValidatorOptions} [options]
22
- *
23
- * @return {string | undefined}
24
- *
25
- * @override
26
- *
27
- * @see Validator#hasErrors
28
- */
29
- hasErrors(value: Date | string, options?: DateValidatorOptions): string | undefined;
30
- }
@@ -1,54 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
13
- /**
14
- * @summary Date Validator
15
- *
16
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#DATE}
17
- *
18
- * @class DateValidator
19
- * @extends Validator
20
- *
21
- * @category Validators
22
- */
23
- let DateValidator = class DateValidator extends Validator {
24
- constructor(message = DEFAULT_ERROR_MESSAGES.DATE) {
25
- super(message, Number.name, Date.name, String.name);
26
- }
27
- /**
28
- * @summary Validates a model
29
- *
30
- * @param {Date | string} value
31
- * @param {DateValidatorOptions} [options]
32
- *
33
- * @return {string | undefined}
34
- *
35
- * @override
36
- *
37
- * @see Validator#hasErrors
38
- */
39
- hasErrors(value, options = {}) {
40
- if (value === undefined)
41
- return;
42
- if (typeof value === "string")
43
- value = new Date(value);
44
- if (Number.isNaN(value.getDate())) {
45
- const { message = "" } = options;
46
- return this.getMessage(message || this.message);
47
- }
48
- }
49
- };
50
- DateValidator = __decorate([
51
- validator(ValidationKeys.DATE),
52
- __metadata("design:paramtypes", [String])
53
- ], DateValidator);
54
- export { DateValidator };
@@ -1,27 +0,0 @@
1
- import { PatternValidator, PatternValidatorOptions } from "./PatternValidator";
2
- /**
3
- * @summary Email Validator
4
- *
5
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#EMAIL}
6
- *
7
- * @class EmailValidator
8
- * @extends PatternValidator
9
- *
10
- * @category Validators
11
- */
12
- export declare class EmailValidator extends PatternValidator {
13
- constructor(message?: string);
14
- /**
15
- * @summary Validates a model
16
- *
17
- * @param {string} value
18
- * @param {PatternValidatorOptions} [options]
19
- *
20
- * @return {string | undefined}
21
- *
22
- * @override
23
- *
24
- * @see Validator#hasErrors
25
- */
26
- hasErrors(value: string, options?: PatternValidatorOptions): string | undefined;
27
- }
@@ -1,50 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { DEFAULT_ERROR_MESSAGES, DEFAULT_PATTERNS, ValidationKeys } from "./constants";
11
- import { PatternValidator } from "./PatternValidator";
12
- import { validator } from "./decorators";
13
- /**
14
- * @summary Email Validator
15
- *
16
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#EMAIL}
17
- *
18
- * @class EmailValidator
19
- * @extends PatternValidator
20
- *
21
- * @category Validators
22
- */
23
- let EmailValidator = class EmailValidator extends PatternValidator {
24
- constructor(message = DEFAULT_ERROR_MESSAGES.EMAIL) {
25
- super(message);
26
- }
27
- /**
28
- * @summary Validates a model
29
- *
30
- * @param {string} value
31
- * @param {PatternValidatorOptions} [options]
32
- *
33
- * @return {string | undefined}
34
- *
35
- * @override
36
- *
37
- * @see Validator#hasErrors
38
- */
39
- hasErrors(value, options = {}) {
40
- return super.hasErrors(value, {
41
- ...options,
42
- pattern: options?.pattern || DEFAULT_PATTERNS.EMAIL,
43
- });
44
- }
45
- };
46
- EmailValidator = __decorate([
47
- validator(ValidationKeys.EMAIL),
48
- __metadata("design:paramtypes", [String])
49
- ], EmailValidator);
50
- export { EmailValidator };
@@ -1,30 +0,0 @@
1
- import { Validator, ValidatorOptions } from "./Validator";
2
- export interface ListValidatorOptions extends ValidatorOptions {
3
- clazz: string[];
4
- }
5
- /**
6
- * @summary List Validator
7
- *
8
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#LIST}
9
- *
10
- * @class ListValidator
11
- * @extends Validator
12
- *
13
- * @category Validators
14
- */
15
- export declare class ListValidator extends Validator<ListValidatorOptions> {
16
- constructor(message?: string);
17
- /**
18
- * @summary Validates a model
19
- *
20
- * @param {any[] | Set<any>} value
21
- * @param {ListValidatorOptions} options
22
- *
23
- * @return {string | undefined}
24
- *
25
- * @override
26
- *
27
- * @see Validator#hasErrors
28
- */
29
- hasErrors(value: any[] | Set<any>, options: ListValidatorOptions): string | undefined;
30
- }
@@ -1,65 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
13
- /**
14
- * @summary List Validator
15
- *
16
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#LIST}
17
- *
18
- * @class ListValidator
19
- * @extends Validator
20
- *
21
- * @category Validators
22
- */
23
- let ListValidator = class ListValidator extends Validator {
24
- constructor(message = DEFAULT_ERROR_MESSAGES.LIST) {
25
- super(message, Array.name, Set.name);
26
- }
27
- /**
28
- * @summary Validates a model
29
- *
30
- * @param {any[] | Set<any>} value
31
- * @param {ListValidatorOptions} options
32
- *
33
- * @return {string | undefined}
34
- *
35
- * @override
36
- *
37
- * @see Validator#hasErrors
38
- */
39
- hasErrors(value, options) {
40
- if (!value || (Array.isArray(value) ? !value.length : !value.size))
41
- return;
42
- const clazz = Array.isArray(options.clazz) ? options.clazz : [options.clazz];
43
- let val, isValid = true;
44
- for (let i = 0; i < (Array.isArray(value) ? value.length : value.size); i++) {
45
- val = value[i];
46
- switch (typeof val) {
47
- case "object":
48
- case "function":
49
- isValid = clazz.includes(val.constructor?.name);
50
- break;
51
- default:
52
- isValid = clazz.some((c) => typeof val === c.toLowerCase());
53
- break;
54
- }
55
- }
56
- return isValid
57
- ? undefined
58
- : this.getMessage(options.message || this.message, clazz);
59
- }
60
- };
61
- ListValidator = __decorate([
62
- validator(ValidationKeys.LIST),
63
- __metadata("design:paramtypes", [String])
64
- ], ListValidator);
65
- export { ListValidator };
@@ -1,31 +0,0 @@
1
- import { Validator, ValidatorOptions } from "./Validator";
2
- export interface MaxLengthValidatorOptions extends ValidatorOptions {
3
- maxLength: number;
4
- }
5
- /**
6
- * @summary Maximum Length Validator
7
- * @description Validates strings and Arrays on their maximum length
8
- *
9
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MAX_LENGTH}
10
- *
11
- * @class MinLengthValidator
12
- * @extends Validator
13
- *
14
- * @category Validators
15
- */
16
- export declare class MaxLengthValidator extends Validator<MaxLengthValidatorOptions> {
17
- constructor(message?: string);
18
- /**
19
- * @summary Validates a model
20
- *
21
- * @param {string} value
22
- * @param {MaxLengthValidatorOptions} options
23
- *
24
- * @return {string | undefined}
25
- *
26
- * @override
27
- *
28
- * @see Validator#hasErrors
29
- */
30
- hasErrors(value: string | any[], options: MaxLengthValidatorOptions): string | undefined;
31
- }
@@ -1,52 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { Validator } from "./Validator";
11
- import { ValidationKeys, DEFAULT_ERROR_MESSAGES } from "./constants";
12
- import { validator } from "./decorators";
13
- /**
14
- * @summary Maximum Length Validator
15
- * @description Validates strings and Arrays on their maximum length
16
- *
17
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MAX_LENGTH}
18
- *
19
- * @class MinLengthValidator
20
- * @extends Validator
21
- *
22
- * @category Validators
23
- */
24
- let MaxLengthValidator = class MaxLengthValidator extends Validator {
25
- constructor(message = DEFAULT_ERROR_MESSAGES.MAX_LENGTH) {
26
- super(message, String.name, Array.name);
27
- }
28
- /**
29
- * @summary Validates a model
30
- *
31
- * @param {string} value
32
- * @param {MaxLengthValidatorOptions} options
33
- *
34
- * @return {string | undefined}
35
- *
36
- * @override
37
- *
38
- * @see Validator#hasErrors
39
- */
40
- hasErrors(value, options) {
41
- if (typeof value === "undefined")
42
- return;
43
- return value.length > options.maxLength
44
- ? this.getMessage(options.message || this.message, options.maxLength)
45
- : undefined;
46
- }
47
- };
48
- MaxLengthValidator = __decorate([
49
- validator(ValidationKeys.MAX_LENGTH),
50
- __metadata("design:paramtypes", [String])
51
- ], MaxLengthValidator);
52
- export { MaxLengthValidator };
@@ -1,30 +0,0 @@
1
- import { Validator, ValidatorOptions } from "./Validator";
2
- export interface MaxValidatorOptions extends ValidatorOptions {
3
- max: number | Date | string;
4
- }
5
- /**
6
- * @summary Max Validator
7
- *
8
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MAX}
9
- *
10
- * @class MaxValidator
11
- * @extends Validator
12
- *
13
- * @category Validators
14
- */
15
- export declare class MaxValidator extends Validator<MaxValidatorOptions> {
16
- constructor(message?: string);
17
- /**
18
- * @summary Validates a Model
19
- *
20
- * @param {string} value
21
- * @param {MaxValidatorOptions} options
22
- *
23
- * @return {string | undefined}
24
- *
25
- * @override
26
- *
27
- * @see Validator#hasErrors
28
- */
29
- hasErrors(value: number | Date | string, options: MaxValidatorOptions): string | undefined;
30
- }
@@ -1,57 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
13
- /**
14
- * @summary Max Validator
15
- *
16
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MAX}
17
- *
18
- * @class MaxValidator
19
- * @extends Validator
20
- *
21
- * @category Validators
22
- */
23
- let MaxValidator = class MaxValidator extends Validator {
24
- constructor(message = DEFAULT_ERROR_MESSAGES.MAX) {
25
- super(message, "number", "Date", "string");
26
- }
27
- /**
28
- * @summary Validates a Model
29
- *
30
- * @param {string} value
31
- * @param {MaxValidatorOptions} options
32
- *
33
- * @return {string | undefined}
34
- *
35
- * @override
36
- *
37
- * @see Validator#hasErrors
38
- */
39
- hasErrors(value, options) {
40
- if (typeof value === "undefined")
41
- return;
42
- let { max } = options;
43
- if (value instanceof Date && !(max instanceof Date)) {
44
- max = new Date(max);
45
- if (Number.isNaN(max.getDate()))
46
- throw new Error("Invalid Max param defined");
47
- }
48
- return value > max
49
- ? this.getMessage(options.message || this.message, max)
50
- : undefined;
51
- }
52
- };
53
- MaxValidator = __decorate([
54
- validator(ValidationKeys.MAX),
55
- __metadata("design:paramtypes", [String])
56
- ], MaxValidator);
57
- export { MaxValidator };
@@ -1,31 +0,0 @@
1
- import { Validator, ValidatorOptions } from "./Validator";
2
- export interface MinLengthValidatorOptions extends ValidatorOptions {
3
- minLength: number;
4
- }
5
- /**
6
- * @summary Minimum Length Validator
7
- * @description Validates strings and Arrays on their minimum length
8
- *
9
- * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN_LENGTH}
10
- *
11
- * @class MinLengthValidator
12
- * @extends Validator
13
- *
14
- * @category Validators
15
- */
16
- export declare class MinLengthValidator extends Validator<MinLengthValidatorOptions> {
17
- constructor(message?: string);
18
- /**
19
- *
20
- * @param {string | Array} value
21
- * @param {MinLengthValidatorOptions} options
22
- *
23
- * @return {string | undefined}
24
- *
25
- * @memberOf MinLengthValidator
26
- * @override
27
- *
28
- * @see Validator#hasErrors
29
- */
30
- hasErrors(value: string | any[], options: MinLengthValidatorOptions): string | undefined;
31
- }