specified
Version:
Type-safe typescript data specification verification
57 lines (56 loc) • 1.74 kB
TypeScript
declare type ValidationErrorKey = string | number;
interface ValidationErrorJsonReport {
msg?: string;
code?: string;
value?: unknown;
allowed?: unknown;
key?: ValidationErrorKey;
nested?: ValidationErrorJsonReport[];
}
export interface ValidationFailure {
code: string;
value: unknown;
allowed?: unknown;
message: string;
key?: ValidationErrorKey;
nestedErrors?: ValidationFailure[];
}
export declare class ValidationError implements ValidationFailure {
readonly nestedErrors: ValidationError[];
readonly message: string;
readonly code: string;
readonly value: unknown;
readonly allowed: unknown;
readonly key: ValidationErrorKey | undefined;
constructor(message: string, options?: ValidationFailure);
getKey(): string | number | undefined;
getNestedErrors(): ValidationError[];
generateReportJson(): ValidationErrorJsonReport;
generateErrorPathList(): {
path: ValidationErrorKey[];
msg?: string | undefined;
code?: string | undefined;
value?: unknown;
allowed?: unknown;
}[];
toString(): string;
}
interface ErrorReportOptions {
include?: {
message?: boolean;
code?: boolean;
value?: boolean;
allowed?: boolean;
};
}
export declare const FormatValidationFailure: {
generateReportJson(err: ValidationFailure, options?: ErrorReportOptions | undefined): ValidationErrorJsonReport;
generateErrorPathList(err: ValidationFailure, options?: ErrorReportOptions | undefined): {
path: ValidationErrorKey[];
msg?: string | undefined;
code?: string | undefined;
value?: unknown;
allowed?: unknown;
}[];
};
export {};