UNPKG

@atlasrender/render-plugin

Version:

Atlas Render Farm Manager plugin system.

85 lines (84 loc) 2.78 kB
import ValidationError from "./ValidationError"; import ValidatorOptionsExtended from "../interfaces/ValidatorOptionsExtended"; import WebJsonable from "../interfaces/WebJsonable"; import { ValidatorOptions } from "../interfaces"; /** * Validator - class for declaring plugin setting validation error token. * @class * @author Danil Andreev */ export default class Validator implements ValidatorOptions, WebJsonable { /** * Codes - available error codes for validation. */ static readonly Codes: { INVALID_PAYLOAD: number; INVALID_TYPE: number; INVALID_NUMBER: number; INVALID_INTEGER: number; INVALID_BOOLEAN: number; INVALID_OBJECT: number; INVALID_KEY: number; INVALID_STRING: number; INVALID_ARRAY: number; OUT_OF_BOUNDS: number; HIGHER_THAN_MAX: number; TOO_BIG_VALUE: number; LOWER_THAN_MIN: number; LOWER_THAN_ZERO: number; TOO_SMALL_VALUE: number; MIN_HIGHER_THAN_MAX: number; }; /** * key - validated object key. */ readonly key: string; /** * expected - expected value of validated object. */ readonly expected: string; readonly message?: string; readonly status?: number; readonly got?: any; protected nested: ValidationError[]; /** * Creates an instance of Validator. * @constructor * @param key - The key of an element in setting. * @param expected - Expected value of an element. * @param options - Options for more detailed setup. * @author Danil Andreev */ constructor(key: string, expected: string, options?: ValidatorOptionsExtended); /** * compareCode - returns true if expected code is subset of current * @param expected - Code for checking. * @param current - Code from validation. * @example * Validator.compareCode(420, 421) === true * Validator.compareCode(400, 421) === true * Validator.compareCode(422, 421) === false * Validator.compareCode(431, 421) === false */ static compareCode(expected: number, current: number): boolean; /** * createValidator - creates Validator instance from input structure. * @method * @param input - Any input data. Will be checked and validated. * @throws TypeError * @author Danil Andreev */ static createValidator(input: any): Validator; /** * getNested - returns an array of nested errors. * @method * @author Danil Andreev */ getNested(): readonly ValidationError[]; /** * addNested - adds nested validation error to object. * @param error - Error object. */ addNested(error: ValidationError): Validator; getJSON(): object; }