UNPKG

@ry-krystal/kicad-converter

Version:

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

86 lines (85 loc) 3.07 kB
/** * 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>;