@dwp/govuk-casa
Version:
A framework for building GOVUK Collect-And-Submit-Applications
75 lines (74 loc) • 2.29 kB
TypeScript
/**
* @typedef {import("../casa").ErrorMessageConfig} ErrorMessageConfig
* @access private
*/
/**
* @typedef {import("./index").JourneyContext} JourneyContext
* @access private
*/
/**
* @typedef {import("./index").ValidationError} ValidationError
* @access private
*/
/**
* @typedef {import("../casa").ValidateContext} ValidateContext
* @access private
*/
/**
* @typedef {import("../casa").Validator} Validator
* @access private
*/
/**
* @typedef {Object<string, unknown>} ValidatorFactoryOptions
* @property {ErrorMessageConfig} errorMsg Error message
*/
/**
* @memberof module:@dwp/govuk-casa
* @class
*/
export default class ValidatorFactory {
/**
* This is a convenience method that will return a consistently object
* structure containing validation and sanitisation methods.
*
* @param {ValidatorFactoryOptions} config Validator config (custom to each
* validator)
* @returns {Validator} Validator object
* @throws {TypeError} When configuration is invalid.
*/
static make(config?: ValidatorFactoryOptions): Validator;
/**
* NEVER CALL THIS DIRECTLY. USE `make()`.
*
* @param {ValidatorFactoryOptions} config Validator config (custom to each
* validator)
*/
constructor(config?: ValidatorFactoryOptions);
config: {
[x: string]: unknown;
};
/**
* Validate the given value.
*
* @param {any} fieldValue Value to validate
* @param {ValidateContext} context Contextual information
* @returns {ValidationError[]} A list of errors (empty if no errors found)
* @throws {Error}
*/
validate(fieldValue: any, context: ValidateContext): ValidationError[];
/**
* Sanitise the given value.
*
* @param {any} fieldValue Value to validate
* @returns {any} The sanitised value
*/
sanitise(fieldValue: any): any;
}
export type ErrorMessageConfig = import("../casa").ErrorMessageConfig;
export type JourneyContext = import("./index").JourneyContext;
export type ValidationError = import("./index").ValidationError;
export type ValidateContext = import("../casa").ValidateContext;
export type Validator = import("../casa").Validator;
export type ValidatorFactoryOptions = {
[x: string]: unknown;
};