/** * useRegexValidation Hook * * @description * React Hook 用于正则表达式验证,集成解析、验证、复杂度分析。 * 提供去抖优化和完整的状态管理。 * * @example * ```tsx * const { validationResult, complexity, isValidating } = useRegexValidation(pattern); * * if (validationResult?.valid) { * console.log('验证通过'); * } else { * console.error('错误:', validationResult?.errors); * } * * if (complexity?.backtrackingRisk === 'high') { * console.warn('高回溯风险:', complexity.suggestions); * } * ``` */ import type { ValidationResult, ComplexityMetrics } from '../validation/types'; /** * useRegexValidation Hook 返回值 */ export interface UseRegexValidationResult { /** 验证结果 */ validationResult: ValidationResult | null; /** 复杂度分析结果 */ complexity: ComplexityMetrics | null; /** 是否正在验证 */ isValidating: boolean; /** 手动触发验证 */ validate: (value: string) => Promise; } /** * 正则表达式验证 Hook * * @param pattern - 正则表达式字符串 * @param options - 配置选项 * @param options.debounceMs - 去抖延迟时间(默认 300ms) * @returns {UseRegexValidationResult} 验证结果和方法 * * @remarks * 该 Hook 提供以下功能: * - 自动验证: 监听 pattern 变化并自动触发验证 * - 去抖优化: 300ms 防抖延迟,避免频繁验证 * - 完整状态: validationResult, complexity, isValidating * - 手动验证: 提供 validate 方法支持手动触发 * * @example * ```tsx * function MyComponent() { * const [pattern, setPattern] = useState(''); * const { validationResult, complexity, isValidating } = useRegexValidation(pattern); * * return ( *
* setPattern(e.target.value)} /> * {isValidating && } * {validationResult?.errors.map(err => )} * {complexity && 性能评分: {complexity.performanceScore}} *
* ); * } * ``` */ export declare const useRegexValidation: (pattern: string, options?: { debounceMs?: number | undefined; }) => UseRegexValidationResult;