UNPKG

@ry-krystal/kicad-converter

Version:

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

58 lines (57 loc) 1.63 kB
/** * JSON转换器 - 核心版本 * 负责在JSON和KiCad数据结构之间进行转换 */ import { KiCadSymbolLib, ConversionResult, ConversionOptions } from './types.js'; /** * JSON转换器类 */ export declare class JsonConverter { /** * 将KiCad数据结构转换为格式化的JSON字符串 * @param symbolLib KiCad符号库数据 * @param options 转换选项 * @returns JSON字符串 */ toJson(symbolLib: KiCadSymbolLib, options?: ConversionOptions): ConversionResult<string>; /** * 从JSON字符串解析为KiCad数据结构 * @param jsonString JSON字符串 * @param options 转换选项 * @returns KiCad符号库数据 */ fromJson(jsonString: string, options?: ConversionOptions): ConversionResult<KiCadSymbolLib>; /** * 验证符号库数据结构 */ private validateSymbolLib; /** * 优化符号库数据 */ private optimizeSymbolLib; /** * 计算数据大小(简化估算) */ private calculateDataSize; /** * 格式化JSON输出 */ formatJson(data: any, indent?: number): string; /** * 压缩JSON输出 */ compactJson(data: any): string; /** * 提取符号统计信息 */ getStatistics(symbolLib: KiCadSymbolLib): { symbolCount: number; totalPins: number; totalProperties: number; totalGraphics: number; averagePinsPerSymbol: number; averagePropertiesPerSymbol: number; pinTypeDistribution: Record<string, number>; propertyDistribution: Record<string, number>; }; }