@ry-krystal/kicad-converter
Version:
专业的KiCad符号文件与JSON互转工具
58 lines (57 loc) • 1.63 kB
TypeScript
/**
* 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>;
};
}