@ry-krystal/kicad-converter
Version:
专业的KiCad符号文件与JSON互转工具
97 lines (96 loc) • 2.27 kB
TypeScript
/**
* 数据验证器 - 核心版本
* 负责验证KiCad数据结构的完整性和正确性
*/
import { KiCadSymbolLib, KiCadSymbol, ValidationResult } from './types.js';
/**
* 验证规则配置
*/
export interface ValidationConfig {
/** 是否检查必需字段 */
checkRequiredFields?: boolean;
/** 是否检查数据类型 */
checkDataTypes?: boolean;
/** 是否检查数值范围 */
checkValueRanges?: boolean;
/** 是否检查引用完整性 */
checkReferenceIntegrity?: boolean;
/** 是否启用严格模式 */
strictMode?: boolean;
}
/**
* 验证器类
*/
export declare class KiCadValidator {
private config;
constructor(config?: ValidationConfig);
/**
* 验证完整的符号库
* @param symbolLib 符号库数据
* @returns 验证结果
*/
validateSymbolLib(symbolLib: KiCadSymbolLib): ValidationResult;
/**
* 验证单个符号
* @param symbol 符号数据
* @param path 路径前缀
* @returns 验证结果
*/
validateSymbol(symbol: KiCadSymbol, path?: string): ValidationResult;
/**
* 验证根级别字段
*/
private validateRootFields;
/**
* 验证符号字段
*/
private validateSymbolFields;
/**
* 验证属性
*/
private validateProperty;
/**
* 验证引脚
*/
private validatePin;
/**
* 验证图形元素
*/
private validateGraphic;
/**
* 检查符号完整性
*/
private checkSymbolIntegrity;
/**
* 检查重复的符号名称
*/
private checkDuplicateSymbolNames;
/**
* 生成改进建议
*/
private generateSuggestions;
/**
* 辅助方法:检查版本格式
*/
private isValidVersion;
/**
* 辅助方法:检查是否为常见属性
*/
private isCommonProperty;
/**
* 辅助方法:检查引脚类型有效性
*/
private isValidPinType;
/**
* 辅助方法:检查引脚形状有效性
*/
private isValidPinShape;
/**
* 辅助方法:检查图形类型有效性
*/
private isValidGraphicType;
/**
* 辅助方法:查找数组中的重复项
*/
private findDuplicates;
}