guardz
Version:
A simple and lightweight TypeScript type guard library for runtime type validation.
21 lines (20 loc) • 1.91 kB
TypeScript
export type { ValidationError, ValidationTree, ValidationResult, ValidationContext } from './validationTypes';
export { getExpectedTypeName } from './getExpectedTypeName';
export { createValidationResult } from './createValidationResult';
export { createValidationError } from './createValidationError';
export { createTreeNode } from './createTreeNode';
export { combineResults } from './combineResults';
export { createSimplifiedTree } from './createSimplifiedTree';
export { validateProperty } from './validateProperty';
export { validateObject } from './validateObject';
export { reportValidationResults } from './reportValidationResults';
export declare const Validation: {
result: (valid: boolean, errors?: import("./validationTypes").ValidationError[], tree?: import("./validationTypes").ValidationTree) => import("./validationTypes").ValidationResult;
combine: (results: import("./validationTypes").ValidationResult[], parentPath?: string) => import("./validationTypes").ValidationResult;
error: (path: string, expectedType: string, actualValue: unknown, message: string) => import("./validationTypes").ValidationError;
treeNode: (path: string, valid: boolean, expectedType?: string, actualValue?: unknown) => import("./validationTypes").ValidationTree;
property: <T>(key: string, value: unknown, typeGuard: import("..").TypeGuardFn<T>, context: import("./validationTypes").ValidationContext) => import("./validationTypes").ValidationResult;
object: <T>(value: unknown, propsTypesToCheck: { [P in keyof T]: import("..").TypeGuardFn<T[P]>; }, context: import("./validationTypes").ValidationContext) => import("./validationTypes").ValidationResult;
report: (result: import("./validationTypes").ValidationResult, config?: import("..").TypeGuardFnConfig | null) => void;
createSimplifiedTree: (tree: import("./validationTypes").ValidationTree) => Record<string, any>;
};