@decaf-ts/db-decorators
Version:
Agnostic database decorators and repository
42 lines (41 loc) • 1.85 kB
TypeScript
import { Validator, ValidatorDefinition, IValidatorRegistry } from "@decaf-ts/decorator-validation";
declare module "@decaf-ts/decorator-validation" {
class Validation {
private static actingValidatorRegistry?;
private constructor();
/**
* @summary Defines the acting ValidatorRegistry
*
* @param {IValidatorRegistry} validatorRegistry the new implementation of the validator Registry
* @param {function(Validator): Validator} [migrationHandler] the method to map the validator if required;
*/
static setRegistry(validatorRegistry: IValidatorRegistry<Validator>, migrationHandler?: (validator: Validator) => Validator): void;
/**
* @summary Returns the current ValidatorRegistry
*
* @return IValidatorRegistry, defaults to {@link ValidatorRegistry}
*/
private static getRegistry;
/**
* @summary Retrieves a validator
*
* @param {string} validatorKey one of the {@link ValidationKeys}
* @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
*/
static get<T extends Validator>(validatorKey: string): T | undefined;
/**
* @summary Registers the provided validators onto the registry
*
* @param {T[] | ValidatorDefinition[]} validator
*/
static register<T extends Validator>(...validator: (ValidatorDefinition | T)[]): void;
/**
* @summary Builds the key to store as Metadata under Reflections
* @description concatenates {@link ValidationKeys#REFLECT} with the provided key
*
* @param {string} key
*/
static key(key: string): string;
static updateKey(key: string): string;
}
}