@ry-krystal/kicad-converter
Version:
专业的KiCad符号文件与JSON互转工具
86 lines (85 loc) • 3.07 kB
TypeScript
/**
* KiCad转换器核心模块导出
* 提供完整的KiCad符号文件转换功能
*/
export * from './types.js';
export { KiCadParser } from './parser.js';
export { JsonConverter } from './converter.js';
export { KiCadGenerator } from './generator.js';
export { KiCadValidator } from './validator.js';
import { GeneratorOptions } from './generator.js';
import { ValidationConfig } from './validator.js';
import { KiCadSymbolLib, ConversionOptions, ConversionResult } from './types.js';
/**
* 核心转换器类 - 统一的转换接口
*/
export declare class KiCadConverter {
private parser;
private jsonConverter;
private generator;
private validator;
constructor(generatorOptions?: GeneratorOptions, validationConfig?: ValidationConfig);
/**
* 将KiCad文件内容转换为JSON格式
* @param kicadContent KiCad文件内容
* @param options 转换选项
* @returns 转换结果
*/
kicadToJson(kicadContent: string, options?: ConversionOptions): Promise<ConversionResult<string>>;
/**
* 将JSON格式转换为KiCad文件内容
* @param jsonContent JSON内容
* @param options 转换选项
* @returns 转换结果
*/
jsonToKicad(jsonContent: string, options?: ConversionOptions): Promise<ConversionResult<string>>;
/**
* 验证KiCad数据结构
* @param symbolLib 符号库数据
* @returns 验证结果
*/
validate(symbolLib: KiCadSymbolLib): import("./types.js").ValidationResult;
/**
* 获取符号库统计信息
* @param symbolLib 符号库数据
* @returns 统计信息
*/
getStatistics(symbolLib: KiCadSymbolLib): {
symbolCount: number;
totalPins: number;
totalProperties: number;
totalGraphics: number;
averagePinsPerSymbol: number;
averagePropertiesPerSymbol: number;
pinTypeDistribution: Record<string, number>;
propertyDistribution: Record<string, number>;
};
/**
* 验证KiCad文件内容是否有效
* @param kicadContent KiCad文件内容
* @returns 验证结果
*/
validateKiCadContent(kicadContent: string): Promise<import("./types.js").ValidationResult>;
/**
* 验证JSON内容是否有效
* @param jsonContent JSON内容
* @returns 验证结果
*/
validateJsonContent(jsonContent: string): Promise<import("./types.js").ValidationResult>;
}
/**
* 便捷函数:KiCad转JSON
*/
export declare function convertKiCadToJson(kicadContent: string, options?: ConversionOptions): Promise<ConversionResult<string>>;
/**
* 便捷函数:JSON转KiCad
*/
export declare function convertJsonToKicad(jsonContent: string, options?: ConversionOptions): Promise<ConversionResult<string>>;
/**
* 便捷函数:验证KiCad内容
*/
export declare function validateKiCad(kicadContent: string): Promise<import("./types.js").ValidationResult>;
/**
* 便捷函数:验证JSON内容
*/
export declare function validateJson(jsonContent: string): Promise<import("./types.js").ValidationResult>;