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
|