UNPKG

@dwp/govuk-casa

Version:

A framework for building GOVUK Collect-And-Submit-Applications

75 lines (74 loc) 2.29 kB
/** * @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; };