UNPKG

@ry-krystal/kicad-converter

Version:

专业的KiCad符号文件与JSON互转工具

97 lines (96 loc) 2.27 kB
/** * 数据验证器 - 核心版本 * 负责验证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; }