UNPKG

@iota-big3/sdk-gateway

Version:

Universal API Gateway with protocol translation, intelligent routing, rate limiting, health checking, and caching

87 lines 3.24 kB
/** * Runtime Validation Utilities * Following Phase 2g: Provides runtime type checking that matches compile-time types * Focused on Education industry validation patterns */ import type { ValidationContext } from './index'; import type { EducationUser, Option, Result, TypeAssertion, TypeGuard } from './enhanced-types'; /** * Validation result with detailed error information */ export interface ValidationResult<T = unknown> { valid: boolean; value?: T; errors: ValidationError[]; warnings?: string[]; metadata?: { validatedAt: string; validatorVersion: string; checksPerformed: number; }; } /** * Detailed validation error */ export interface ValidationError { path: string; message: string; expected: string; actual: string; code: string; } /** * Create a validation result */ export declare function createValidationResult<T>(valid: boolean, value?: T, errors?: ValidationError[], warnings?: string[]): ValidationResult<T>; /** * Create a validation error */ export declare function createValidationError(path: string, message: string, expected: string, actual: string, code?: string): ValidationError; /** * Validate and type guard for EducationUser */ export declare function validateEducationUser(value: unknown): ValidationResult<EducationUser>; /** * Type guard for EducationUser */ export declare const isEducationUser: TypeGuard<EducationUser>; /** * Validate education context for compliance */ export declare function validateEducationContext(context: unknown): ValidationResult<ValidationContext>; /** * Validate a Result type */ export declare function validateResult<T, E>(value: unknown, validateSuccess: (v: unknown) => ValidationResult<T>, validateError: (v: unknown) => ValidationResult<E>): ValidationResult<Result<T, E>>; /** * Validate an Option type */ export declare function validateOption<T>(value: unknown, validateSome: (v: unknown) => ValidationResult<T>): ValidationResult<Option<T>>; /** * Assert that a value is an EducationUser */ export declare const assertEducationUser: TypeAssertion<EducationUser>; /** * Assert that a context is valid for education operations */ export declare const assertEducationContext: TypeAssertion<ValidationContext>; /** * Create a safe validator that returns Result<T, ValidationError[]> */ export declare function createSafeValidator<T>(validator: (value: unknown) => ValidationResult<T>): (value: unknown) => Result<T, ValidationError[]>; /** * Chain multiple validators */ export declare function chainValidators<T>(...validators: Array<(value: T) => ValidationResult<T>>): (value: unknown) => ValidationResult<T>; /** * Create a validator for arrays of a specific type */ export declare function createArrayValidator<T>(itemValidator: (value: unknown) => ValidationResult<T>): (value: unknown) => ValidationResult<T[]>; export declare const educationValidators: { user: typeof validateEducationUser; context: typeof validateEducationContext; isEducationUser: TypeGuard<EducationUser>; assertEducationUser: TypeAssertion<EducationUser>; assertEducationContext: TypeAssertion<ValidationContext>; }; //# sourceMappingURL=validation-utilities.d.ts.map