{"version":3,"file":"index.cjs","sources":["../../../src/languages/index.ts"],"sourcesContent":["import type { LanguageProcessor } from \"../core/types.js\";\nimport { GermanProcessor } from \"./german/GermanProcessor.js\";\nimport { EnglishProcessor } from \"./english/EnglishProcessor.js\";\nimport { SpanishProcessor } from \"./spanish/SpanishProcessor.js\";\nimport { FrenchProcessor } from \"./french/FrenchProcessor.js\";\n\n/**\n * Registry of all available language processors\n */\nexport class LanguageRegistry {\n  private static processors = new Map<string, LanguageProcessor>([\n    [\"german\", new GermanProcessor()],\n    [\"english\", new EnglishProcessor()],\n    [\"spanish\", new SpanishProcessor()],\n    [\"french\", new FrenchProcessor()],\n  ]);\n\n  /**\n   * Get a language processor by name\n   */\n  static getProcessor(language: string): LanguageProcessor | undefined {\n    return this.processors.get(language.toLowerCase());\n  }\n\n  /**\n   * Get multiple language processors\n   */\n  static getProcessors(languages: string[]): LanguageProcessor[] {\n    return languages.map((lang) => this.getProcessor(lang)).filter((processor): processor is LanguageProcessor => processor !== undefined);\n  }\n\n  /**\n   * Get all available language names\n   */\n  static getAvailableLanguages(): string[] {\n    return Array.from(this.processors.keys());\n  }\n\n  /**\n   * Register a custom language processor\n   */\n  static registerProcessor(processor: LanguageProcessor): void {\n    this.processors.set(processor.language.toLowerCase(), processor);\n  }\n\n  /**\n   * Check if a language is supported\n   */\n  static isSupported(language: string): boolean {\n    return this.processors.has(language.toLowerCase());\n  }\n\n  /**\n   * Get processor info for all languages\n   */\n  static getProcessorInfo(): Array<{\n    language: string;\n    displayName: string;\n    supportedFeatures: string[];\n  }> {\n    return Array.from(this.processors.values()).map((processor) => ({\n      language: processor.language,\n      displayName: processor.displayName,\n      supportedFeatures: processor.supportedFeatures,\n    }));\n  }\n}\n\n// Export individual processors for direct use\nexport { GermanProcessor } from \"./german/GermanProcessor.js\";\nexport { EnglishProcessor } from \"./english/EnglishProcessor.js\";\nexport { SpanishProcessor } from \"./spanish/SpanishProcessor.js\";\nexport { FrenchProcessor } from \"./french/FrenchProcessor.js\";\nexport { BaseLanguageProcessor } from \"./base/LanguageProcessor.js\";\n"],"names":["GermanProcessor","EnglishProcessor","SpanishProcessor","FrenchProcessor"],"mappings":";;;;;;;AASO,MAAM,iBAAiB;AAAA,EAC5B,OAAe,aAAa,oBAAI,IAA+B;AAAA,IAC7D,CAAC,UAAU,IAAIA,gBAAAA,iBAAiB;AAAA,IAChC,CAAC,WAAW,IAAIC,iBAAAA,kBAAkB;AAAA,IAClC,CAAC,WAAW,IAAIC,iBAAAA,kBAAkB;AAAA,IAClC,CAAC,UAAU,IAAIC,gCAAA,CAAiB;AAAA,EAAA,CACjC;AAAA;AAAA;AAAA;AAAA,EAKD,OAAO,aAAa,UAAiD;AACnE,WAAO,KAAK,WAAW,IAAI,SAAS,aAAa;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,cAAc,WAA0C;AAC7D,WAAO,UAAU,IAAI,CAAC,SAAS,KAAK,aAAa,IAAI,CAAC,EAAE,OAAO,CAAC,cAA8C,cAAc,MAAS;AAAA,EACvI;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,wBAAkC;AACvC,WAAO,MAAM,KAAK,KAAK,WAAW,MAAM;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,kBAAkB,WAAoC;AAC3D,SAAK,WAAW,IAAI,UAAU,SAAS,YAAA,GAAe,SAAS;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,YAAY,UAA2B;AAC5C,WAAO,KAAK,WAAW,IAAI,SAAS,aAAa;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,mBAIJ;AACD,WAAO,MAAM,KAAK,KAAK,WAAW,QAAQ,EAAE,IAAI,CAAC,eAAe;AAAA,MAC9D,UAAU,UAAU;AAAA,MACpB,aAAa,UAAU;AAAA,MACvB,mBAAmB,UAAU;AAAA,IAAA,EAC7B;AAAA,EACJ;AACF;;;;;;;"}