UNPKG

@blinkk/selective-edit

Version:
69 lines (68 loc) 2.6 kB
import { Base } from '../mixins'; import { Rules } from './validationRules'; export declare const DEFAULT_ZONE_KEY = "default"; export declare enum ValidationLevel { Info = "info", Warning = "warning", Error = "error" } export interface ValidationComponent { zoneToResults: Record<string, Array<ValidationResult>>; addResult(result: ValidationResult, zoneKey?: string): void; /** * Filter results by level. * * @param level Result level to filter by. * @param zoneKey Zone to check for results. Defaults to DEFAULT_ZONE_KEY. */ filterResults(level: ValidationLevel, zoneKey?: string): Array<ValidationResult>; /** * Retrieve results by zone and/or max level. * * @param zoneKey Zone to check for results. Defaults to DEFAULT_ZONE_KEY. * @param maxLevel Max result level to retrieve. */ getResults(zoneKey?: string, maxLevel?: ValidationLevel): Array<ValidationResult>; /** * Check if a zone has any results or if any zone has results. * * @param zoneKey Zone to check for results. Defaults to DEFAULT_ZONE_KEY. Provide null to check all zones. * @param level Max result level to check against. */ hasAnyResults(zoneKey?: string | null, maxLevel?: ValidationLevel): boolean; /** * Runs the validation rules against the value. * * @param value Value to validate. * @param zoneKey Zone to store validation result. */ validate(value: any, zoneKey?: string): boolean; } export declare class Validation implements ValidationComponent { zoneToResults: Record<string, Array<ValidationResult>>; rules: Rules; constructor(rules: Rules); addResult(result: ValidationResult, zoneKey?: string): void; filterResults(level: ValidationLevel, zoneKey?: string): Array<ValidationResult>; /** * Checks each of the rules to see if the field is required. */ isRequired(zoneKey?: string): boolean; getResults(zoneKey?: string, maxLevel?: ValidationLevel): Array<ValidationResult>; hasAnyResults(zoneKey?: string | null, maxLevel?: ValidationLevel): boolean; validate(value: any, zoneKey?: string): boolean; get zones(): Array<string>; } declare const ValidationResult_base: { new (...args: any[]): { _uuid?: string | undefined; readonly uuid: string; readonly uid: string; }; } & typeof Base; export declare class ValidationResult extends ValidationResult_base { level: ValidationLevel; message: string; constructor(message: string, level?: ValidationLevel); } export {};