guardz-axios
Version:
Type-safe HTTP client built on top of Axios with runtime validation using guardz. Part of the guardz ecosystem for comprehensive TypeScript type safety.
48 lines • 1.91 kB
TypeScript
/**
* Validation Utilities - Pure functions for data validation
* Following Functional Programming (FP) principles
*/
import { ValidationGuard, ValidationConfig, ValidationContext, ErrorType } from "../domain/types";
/**
* Validates data using a type guard
* Pure function - no side effects, deterministic output
*/
export declare function validateData<T>(data: unknown, guard: ValidationGuard<T>, identifier?: string): {
isValid: boolean;
validatedData: T | null;
errors: string[];
};
/**
* Validates data with tolerance mode
* Pure function - no side effects, deterministic output
*/
export declare function validateDataWithTolerance<T>(data: unknown, guard: ValidationGuard<T>, identifier?: string): {
data: T;
errors: string[];
};
/**
* Creates validation context
* Pure function - no side effects, deterministic output
*/
export declare function createValidationContext(type: ErrorType, url: string, method: string, statusCode?: number, originalError?: unknown): ValidationContext;
/**
* Merges validation configurations
* Pure function - no side effects, deterministic output
*/
export declare function mergeValidationConfigs<T>(base: ValidationConfig<T>, override: Partial<ValidationConfig<T>>): ValidationConfig<T>;
/**
* Validates validation configuration
* Pure function - no side effects, deterministic output
*/
export declare function validateValidationConfig<T>(config: ValidationConfig<T>): string | null;
/**
* Creates a validation error message
* Pure function - no side effects, deterministic output
*/
export declare function createValidationErrorMessage(identifier: string, value: unknown, expectedType: string): string;
/**
* Formats validation errors for display
* Pure function - no side effects, deterministic output
*/
export declare function formatValidationErrors(errors: string[]): string;
//# sourceMappingURL=validation-utils.d.ts.map