UNPKG

@typecad/kicad-symbols

Version:

Intelligent fuzzy search for KiCad symbols with CLI interface

105 lines 3.41 kB
/** * Converter for transforming KiCad symbol data into ComponentRecord format * Maintains compatibility with the existing search engine and data structures */ import { ComponentRecord } from '../types/index.js'; import { ExtractedSymbol } from './KiCadSymbolExtractor.js'; /** * Options for controlling symbol conversion */ export interface ConversionOptions { /** Default manufacturer name for KiCad symbols */ defaultManufacturer: string; /** Default package type for symbols */ defaultPackage: string; /** Whether to include file path in extra data */ includeFilePath: boolean; /** Whether to include processing metadata */ includeMetadata: boolean; /** Custom category mapping for libraries */ categoryMapping?: Record<string, string>; /** Whether to generate searchable extra data */ generateSearchableExtra: boolean; } /** * Statistics for symbol conversion operation */ export interface ConversionStatistics { /** Number of symbols converted */ symbolsConverted: number; /** Number of symbols with descriptions */ symbolsWithDescriptions: number; /** Number of symbols with keywords */ symbolsWithKeywords: number; /** Number of unique libraries */ uniqueLibraries: number; /** Conversion time in milliseconds */ conversionTime: number; /** Library distribution */ libraryDistribution: Record<string, number>; } /** * Converter for KiCad symbols to ComponentRecord format */ export declare class KiCadSymbolConverter { private options; private statistics; constructor(options?: Partial<ConversionOptions>); /** * Convert array of extracted symbols to ComponentRecord format * @param extractedSymbols - Array of extracted symbols * @returns Array of component records */ convertSymbolsToComponentRecords(extractedSymbols: ExtractedSymbol[]): ComponentRecord[]; /** * Convert a single extracted symbol to ComponentRecord format * @param symbol - Extracted symbol to convert * @returns Component record * @private */ private convertSingleSymbol; /** * Build description from symbol data with fallback options * @param symbol - Extracted symbol * @returns Description string * @private */ private buildDescription; /** * Build extra data object with symbol metadata * @param symbol - Extracted symbol * @returns Extra data object * @private */ private buildExtraData; /** * Generate search terms from symbol data * @param symbol - Extracted symbol * @returns Array of search terms * @private */ private generateSearchTerms; /** * Get conversion statistics from the last operation * @returns Conversion statistics */ getStatistics(): ConversionStatistics; /** * Reset conversion statistics * @private */ private resetStatistics; /** * Get a human-readable summary of the conversion results * @returns Formatted summary string */ getConversionSummary(): string; /** * Validate that a ComponentRecord is properly formatted * @param record - Component record to validate * @returns True if valid * @static */ static validateComponentRecord(record: ComponentRecord): boolean; } //# sourceMappingURL=KiCadSymbolConverter.d.ts.map