59 lines
1.9 KiB
TypeScript
59 lines
1.9 KiB
TypeScript
|
|
/**
|
|||
|
|
* 通用验证工具函数
|
|||
|
|
* Common validation utility functions
|
|||
|
|
*/
|
|||
|
|
import * as v from 'valibot';
|
|||
|
|
/**
|
|||
|
|
* 验证错误接口
|
|||
|
|
* Validation error interface
|
|||
|
|
*/
|
|||
|
|
export interface ValidationError {
|
|||
|
|
field: string;
|
|||
|
|
message: string;
|
|||
|
|
code: string;
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 验证结果接口
|
|||
|
|
* Validation result interface
|
|||
|
|
*/
|
|||
|
|
export interface ValidationResult<T> {
|
|||
|
|
success: boolean;
|
|||
|
|
data?: T;
|
|||
|
|
errors?: ValidationError[];
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 将 Valibot 验证错误转换为自定义格式
|
|||
|
|
* Convert Valibot validation errors to custom format
|
|||
|
|
*/
|
|||
|
|
export declare function formatValidationErrors(issues: v.BaseIssue<unknown>[]): ValidationError[];
|
|||
|
|
/**
|
|||
|
|
* 安全解析数据
|
|||
|
|
* Safely parse data with validation
|
|||
|
|
*/
|
|||
|
|
export declare function safeParseData<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, data: unknown): ValidationResult<T>;
|
|||
|
|
/**
|
|||
|
|
* 解析并验证数据,失败时抛出错误
|
|||
|
|
* Parse and validate data, throw error on failure
|
|||
|
|
*/
|
|||
|
|
export declare function parseData<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, data: unknown): T;
|
|||
|
|
/**
|
|||
|
|
* 创建验证中间件函数(用于 API)
|
|||
|
|
* Create validation middleware function (for API)
|
|||
|
|
*/
|
|||
|
|
export declare function createValidationMiddleware<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>): (data: unknown) => T;
|
|||
|
|
/**
|
|||
|
|
* 验证查询参数
|
|||
|
|
* Validate query parameters
|
|||
|
|
*/
|
|||
|
|
export declare function validateQuery<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, query: Record<string, any>): T;
|
|||
|
|
/**
|
|||
|
|
* 验证请求体数据
|
|||
|
|
* Validate request body data
|
|||
|
|
*/
|
|||
|
|
export declare function validateBody<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, body: unknown): T;
|
|||
|
|
/**
|
|||
|
|
* 验证路径参数
|
|||
|
|
* Validate path parameters
|
|||
|
|
*/
|
|||
|
|
export declare function validateParams<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, params: Record<string, any>): T;
|
|||
|
|
//# sourceMappingURL=validation.d.ts.map
|