@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.
- package/package.json +15 -9
- package/dist/decorator-validation.bundle.min.js +0 -2
- package/dist/decorator-validation.bundle.min.js.LICENSE.txt +0 -14
- package/dist/esm/decorator-validation.bundle.min.esm.js +0 -2
- package/dist/esm/decorator-validation.bundle.min.esm.js.LICENSE.txt +0 -14
- package/lib/esm/index.d.ts +0 -42
- package/lib/esm/index.js +0 -42
- package/lib/esm/model/Model.d.ts +0 -138
- package/lib/esm/model/Model.js +0 -296
- package/lib/esm/model/ModelErrorDefinition.d.ts +0 -22
- package/lib/esm/model/ModelErrorDefinition.js +0 -52
- package/lib/esm/model/Registry.d.ts +0 -59
- package/lib/esm/model/Registry.js +0 -73
- package/lib/esm/model/constants.d.ts +0 -56
- package/lib/esm/model/constants.js +0 -69
- package/lib/esm/model/construction.d.ts +0 -29
- package/lib/esm/model/construction.js +0 -63
- package/lib/esm/model/decorators.d.ts +0 -25
- package/lib/esm/model/decorators.js +0 -62
- package/lib/esm/model/index.d.ts +0 -9
- package/lib/esm/model/index.js +0 -9
- package/lib/esm/model/types.d.ts +0 -79
- package/lib/esm/model/types.js +0 -1
- package/lib/esm/model/utils.d.ts +0 -11
- package/lib/esm/model/utils.js +0 -25
- package/lib/esm/model/validation.d.ts +0 -14
- package/lib/esm/model/validation.js +0 -135
- package/lib/esm/utils/constants.d.ts +0 -26
- package/lib/esm/utils/constants.js +0 -27
- package/lib/esm/utils/dates.d.ts +0 -76
- package/lib/esm/utils/dates.js +0 -243
- package/lib/esm/utils/decorators.d.ts +0 -2
- package/lib/esm/utils/decorators.js +0 -18
- package/lib/esm/utils/hashing.d.ts +0 -52
- package/lib/esm/utils/hashing.js +0 -99
- package/lib/esm/utils/index.d.ts +0 -7
- package/lib/esm/utils/index.js +0 -7
- package/lib/esm/utils/registry.d.ts +0 -68
- package/lib/esm/utils/registry.js +0 -1
- package/lib/esm/utils/serialization.d.ts +0 -79
- package/lib/esm/utils/serialization.js +0 -88
- package/lib/esm/utils/strings.d.ts +0 -25
- package/lib/esm/utils/strings.js +0 -31
- package/lib/esm/validation/Validation.d.ts +0 -51
- package/lib/esm/validation/Validation.js +0 -71
- package/lib/esm/validation/Validators/DateValidator.d.ts +0 -30
- package/lib/esm/validation/Validators/DateValidator.js +0 -54
- package/lib/esm/validation/Validators/EmailValidator.d.ts +0 -27
- package/lib/esm/validation/Validators/EmailValidator.js +0 -50
- package/lib/esm/validation/Validators/ListValidator.d.ts +0 -30
- package/lib/esm/validation/Validators/ListValidator.js +0 -65
- package/lib/esm/validation/Validators/MaxLengthValidator.d.ts +0 -31
- package/lib/esm/validation/Validators/MaxLengthValidator.js +0 -52
- package/lib/esm/validation/Validators/MaxValidator.d.ts +0 -30
- package/lib/esm/validation/Validators/MaxValidator.js +0 -57
- package/lib/esm/validation/Validators/MinLengthValidator.d.ts +0 -31
- package/lib/esm/validation/Validators/MinLengthValidator.js +0 -52
- package/lib/esm/validation/Validators/MinValidator.d.ts +0 -30
- package/lib/esm/validation/Validators/MinValidator.js +0 -57
- package/lib/esm/validation/Validators/PasswordValidator.d.ts +0 -27
- package/lib/esm/validation/Validators/PasswordValidator.js +0 -50
- package/lib/esm/validation/Validators/PatternValidator.d.ts +0 -39
- package/lib/esm/validation/Validators/PatternValidator.js +0 -70
- package/lib/esm/validation/Validators/RequiredValidator.d.ts +0 -27
- package/lib/esm/validation/Validators/RequiredValidator.js +0 -57
- package/lib/esm/validation/Validators/StepValidator.d.ts +0 -31
- package/lib/esm/validation/Validators/StepValidator.js +0 -52
- package/lib/esm/validation/Validators/TypeValidator.d.ts +0 -29
- package/lib/esm/validation/Validators/TypeValidator.js +0 -60
- package/lib/esm/validation/Validators/URLValidator.d.ts +0 -32
- package/lib/esm/validation/Validators/URLValidator.js +0 -46
- package/lib/esm/validation/Validators/Validator.d.ts +0 -43
- package/lib/esm/validation/Validators/Validator.js +0 -47
- package/lib/esm/validation/Validators/ValidatorRegistry.d.ts +0 -47
- package/lib/esm/validation/Validators/ValidatorRegistry.js +0 -80
- package/lib/esm/validation/Validators/constants.d.ts +0 -96
- package/lib/esm/validation/Validators/constants.js +0 -134
- package/lib/esm/validation/Validators/decorators.d.ts +0 -12
- package/lib/esm/validation/Validators/decorators.js +0 -25
- package/lib/esm/validation/Validators/index.d.ts +0 -52
- package/lib/esm/validation/Validators/index.js +0 -52
- package/lib/esm/validation/Validators/types.d.ts +0 -51
- package/lib/esm/validation/Validators/types.js +0 -1
- package/lib/esm/validation/decorators.d.ts +0 -178
- package/lib/esm/validation/decorators.js +0 -288
- package/lib/esm/validation/index.d.ts +0 -4
- package/lib/esm/validation/index.js +0 -4
- package/lib/esm/validation/types.d.ts +0 -46
- package/lib/esm/validation/types.js +0 -1
- package/lib/index.cjs +0 -59
- package/lib/index.d.ts +0 -42
- package/lib/model/Model.cjs +0 -300
- package/lib/model/Model.d.ts +0 -138
- package/lib/model/ModelErrorDefinition.cjs +0 -56
- package/lib/model/ModelErrorDefinition.d.ts +0 -22
- package/lib/model/Registry.cjs +0 -78
- package/lib/model/Registry.d.ts +0 -59
- package/lib/model/constants.cjs +0 -72
- package/lib/model/constants.d.ts +0 -56
- package/lib/model/construction.cjs +0 -68
- package/lib/model/construction.d.ts +0 -29
- package/lib/model/decorators.cjs +0 -67
- package/lib/model/decorators.d.ts +0 -25
- package/lib/model/index.cjs +0 -25
- package/lib/model/index.d.ts +0 -9
- package/lib/model/types.cjs +0 -2
- package/lib/model/types.d.ts +0 -79
- package/lib/model/utils.cjs +0 -29
- package/lib/model/utils.d.ts +0 -11
- package/lib/model/validation.cjs +0 -138
- package/lib/model/validation.d.ts +0 -14
- package/lib/utils/constants.cjs +0 -30
- package/lib/utils/constants.d.ts +0 -26
- package/lib/utils/dates.cjs +0 -251
- package/lib/utils/dates.d.ts +0 -76
- package/lib/utils/decorators.cjs +0 -22
- package/lib/utils/decorators.d.ts +0 -2
- package/lib/utils/hashing.cjs +0 -106
- package/lib/utils/hashing.d.ts +0 -52
- package/lib/utils/index.cjs +0 -23
- package/lib/utils/index.d.ts +0 -7
- package/lib/utils/registry.cjs +0 -2
- package/lib/utils/registry.d.ts +0 -68
- package/lib/utils/serialization.cjs +0 -93
- package/lib/utils/serialization.d.ts +0 -79
- package/lib/utils/strings.cjs +0 -35
- package/lib/utils/strings.d.ts +0 -25
- package/lib/validation/Validation.cjs +0 -75
- package/lib/validation/Validation.d.ts +0 -51
- package/lib/validation/Validators/DateValidator.cjs +0 -57
- package/lib/validation/Validators/DateValidator.d.ts +0 -30
- package/lib/validation/Validators/EmailValidator.cjs +0 -53
- package/lib/validation/Validators/EmailValidator.d.ts +0 -27
- package/lib/validation/Validators/ListValidator.cjs +0 -68
- package/lib/validation/Validators/ListValidator.d.ts +0 -30
- package/lib/validation/Validators/MaxLengthValidator.cjs +0 -55
- package/lib/validation/Validators/MaxLengthValidator.d.ts +0 -31
- package/lib/validation/Validators/MaxValidator.cjs +0 -60
- package/lib/validation/Validators/MaxValidator.d.ts +0 -30
- package/lib/validation/Validators/MinLengthValidator.cjs +0 -55
- package/lib/validation/Validators/MinLengthValidator.d.ts +0 -31
- package/lib/validation/Validators/MinValidator.cjs +0 -60
- package/lib/validation/Validators/MinValidator.d.ts +0 -30
- package/lib/validation/Validators/PasswordValidator.cjs +0 -53
- package/lib/validation/Validators/PasswordValidator.d.ts +0 -27
- package/lib/validation/Validators/PatternValidator.cjs +0 -73
- package/lib/validation/Validators/PatternValidator.d.ts +0 -39
- package/lib/validation/Validators/RequiredValidator.cjs +0 -60
- package/lib/validation/Validators/RequiredValidator.d.ts +0 -27
- package/lib/validation/Validators/StepValidator.cjs +0 -55
- package/lib/validation/Validators/StepValidator.d.ts +0 -31
- package/lib/validation/Validators/TypeValidator.cjs +0 -63
- package/lib/validation/Validators/TypeValidator.d.ts +0 -29
- package/lib/validation/Validators/URLValidator.cjs +0 -49
- package/lib/validation/Validators/URLValidator.d.ts +0 -32
- package/lib/validation/Validators/Validator.cjs +0 -51
- package/lib/validation/Validators/Validator.d.ts +0 -43
- package/lib/validation/Validators/ValidatorRegistry.cjs +0 -85
- package/lib/validation/Validators/ValidatorRegistry.d.ts +0 -47
- package/lib/validation/Validators/constants.cjs +0 -137
- package/lib/validation/Validators/constants.d.ts +0 -96
- package/lib/validation/Validators/decorators.cjs +0 -28
- package/lib/validation/Validators/index.cjs +0 -69
- package/lib/validation/Validators/types.cjs +0 -2
- package/lib/validation/decorators.cjs +0 -304
- package/lib/validation/decorators.d.ts +0 -178
- package/lib/validation/index.cjs +0 -20
- package/lib/validation/index.d.ts +0 -4
- package/lib/validation/types.cjs +0 -2
- 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;
|
package/lib/esm/utils/strings.js
DELETED
|
@@ -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
|
-
}
|