UNPKG

@decaf-ts/decorator-validation

Version:
156 lines (155 loc) 6.74 kB
/** * @description Object-like set of keys used for comparison-based validations. * @summary Provides canonical names for validators that compare two values (equality and ordering checks). * @typedef {Object} ComparisonValidationKeysDef * @property {"equals"} EQUALS Validates if two values are equal. * @property {"different"} DIFF Validates if two values are different. * @property {"lessThan"} LESS_THAN Validates if a value is less than another. * @property {"lessThanOrEqual"} LESS_THAN_OR_EQUAL Validates if a value is less than or equal to another. * @property {"greaterThan"} GREATER_THAN Validates if a value is greater than another. * @property {"greaterThanOrEqual"} GREATER_THAN_OR_EQUAL Validates if a value is greater than or equal to another. * @memberOf module:decorator-validation.Validation */ /** * @description Keys used for comparison-based validations. * @summary Canonical key names for comparison validators. * @const ComparisonValidationKeys * @memberOf module:decorator-validation.Validation * @category Validation * @type {ComparisonValidationKeysDef} */ export declare const ComparisonValidationKeys: { readonly EQUALS: "equals"; readonly DIFF: "different"; readonly LESS_THAN: "lessThan"; readonly LESS_THAN_OR_EQUAL: "lessThanOrEqual"; readonly GREATER_THAN: "greaterThan"; readonly GREATER_THAN_OR_EQUAL: "greaterThanOrEqual"; }; /** * @description Object-like set of keys used across all validators in the system. * @summary Defines the canonical namespaced key prefix and the individual validation flags for rules such as required, min/max, length, patterns, types, lists and more. * @typedef {Object} ValidationKeysDef * @property {string} REFLECT prefixes others (namespace prefix) * @property {"required"} REQUIRED sets as required * @property {"min"} MIN defines min value * @property {"max"} MAX defines max value * @property {"step"} STEP defines step * @property {"minlength"} MIN_LENGTH defines min length * @property {"maxlength"} MAX_LENGTH defines max length * @property {"pattern"} PATTERN defines pattern * @property {"email"} EMAIL defines email * @property {"url"} URL defines url * @property {"date"} DATE defines date * @property {"type"} TYPE defines type * @property {"password"} PASSWORD defines password * @property {"list"} LIST defines list * @property {"unique"} UNIQUE flags uniqueness * @property {"validator"} VALIDATOR custom validator id * @memberOf module:decorator-validation.Validation */ /** * @description The keys used for validation. * @summary A namespaced collection of validation key strings used throughout the library. * @const ValidationKeys * @memberOf module:decorator-validation.Validation * @category Validation * @type {ValidationKeysDef} */ export declare const ValidationKeys: { readonly EQUALS: "equals"; readonly DIFF: "different"; readonly LESS_THAN: "lessThan"; readonly LESS_THAN_OR_EQUAL: "lessThanOrEqual"; readonly GREATER_THAN: "greaterThan"; readonly GREATER_THAN_OR_EQUAL: "greaterThanOrEqual"; readonly REFLECT: "decaf.model.validation."; readonly DATE: "date"; readonly EMAIL: "email"; readonly FORMAT: "format"; readonly LIST: "list"; readonly MAX: "max"; readonly MAX_LENGTH: "maxlength"; readonly MIN: "min"; readonly MIN_LENGTH: "minlength"; readonly PASSWORD: "password"; readonly PATTERN: "pattern"; readonly REQUIRED: "required"; readonly STEP: "step"; readonly TYPE: "type"; readonly UNIQUE: "unique"; readonly URL: "url"; readonly VALIDATOR: "validator"; }; /** * @description list of month names * @summary Stores month names. Can be changed for localization purposes * @const MONTH_NAMES * @memberOf module:decorator-validation.Validation * @category Validation */ export declare const MONTH_NAMES: string[]; /** * @description list of names of days of the week * @summary Stores names for days of the week. Can be changed for localization purposes * @const DAYS_OF_WEEK_NAMES * @memberOf module:decorator-validation.Validation * @category Validation */ export declare const DAYS_OF_WEEK_NAMES: string[]; /** * @description Type definition for default error message strings keyed by validation type. * @summary Enumerates the supported error message keys with their intended meaning; used to localize or override default messages. * @typedef {Object} DefaultErrorMessages * @property {string} REQUIRED default error message * @property {string} MIN default error message * @property {string} MAX default error message * @property {string} MIN_LENGTH default error message * @property {string} MAX_LENGTH default error message * @property {string} PATTERN default error message * @property {string} EMAIL default error message * @property {string} URL default error message * @property {string} TYPE default error message * @property {string} STEP default error message * @property {string} DATE default error message * @property {string} DEFAULT default error message * @property {string} PASSWORD default error message * @property {string} LIST default error message * @property {string} LIST_INSIDE default error message * @property {string} MODEL_NOT_FOUND default error message * @memberOf module:decorator-validation.Validation */ /** * @description Defines the default error messages * @summary Mapping between validation keys and their default human-readable error messages. * @const DEFAULT_ERROR_MESSAGES * @memberOf module:decorator-validation.Validation * @category Validation * @type {DefaultErrorMessages} */ export declare const DEFAULT_ERROR_MESSAGES: Record<string, string>; /** * @description Type definition for default regular expression patterns used in validation. * @summary Captures common regex patterns for email, URL, and password policies, including nested grouping for password-related rules. * @typedef {Object} DefaultPatterns * @property {RegExp} EMAIL Email address validation pattern * @property {RegExp} URL URL validation pattern * @property {Object} PASSWORD Password-related regex patterns * @property {RegExp} PASSWORD.CHAR8_ONE_OF_EACH At least 8 chars with lower, upper, number, and special char * @memberOf module:decorator-validation.Validation */ /** * @description Defines the various default regexp patterns used * @summary Collection of frequently used validation patterns grouped under semantic keys. * @const DEFAULT_PATTERNS * @memberOf module:decorator-validation.Validation * @category Validation * @type {DefaultPatterns} */ export declare const DEFAULT_PATTERNS: { EMAIL: RegExp; URL: RegExp; PASSWORD: { CHAR8_ONE_OF_EACH: RegExp; }; };