gather-ts
Version:
A powerful code analysis and packaging tool designed for creating AI-friendly code representations for javascript and typescript projects.
30 lines (29 loc) • 1.52 kB
TypeScript
import { IValidator, IValidatorDeps, IValidationOptions, IValidationResult, ITypeValidator, IValidatorOptions } from "./interfaces/IValidator";
import { BaseService } from "@/types/services";
export declare class Validator extends BaseService implements IValidator, ITypeValidator {
private readonly deps;
private readonly debug;
constructor(deps: IValidatorDeps, options?: IValidatorOptions);
initialize(): Promise<void>;
cleanup(): void;
private logDebug;
private handleValidationError;
validate<T>(value: unknown, fieldName: string, options?: IValidationOptions): IValidationResult;
private validateString;
private validateNumber;
private validateArray;
private validateObject;
validatePath(path: string, context: string): void;
private runCustomValidator;
isString(value: unknown): value is string;
isNumber(value: unknown): value is number;
isBoolean(value: unknown): value is boolean;
isObject(value: unknown): value is object;
isArray(value: unknown): value is unknown[];
isDate(value: unknown): value is Date;
validateNotEmpty<T>(value: T | null | undefined, fieldName: string): T;
validateType(value: unknown, expectedType: string, fieldName: string): void;
validateRange(value: number, min: number, max: number, fieldName: string): void;
validateEnum<T extends string>(value: string, enumValues: readonly T[], fieldName: string): T;
validatePattern(value: string, pattern: RegExp, fieldName: string): void;
}