{"version":3,"file":"adjai-ngx-library-src-lib-language.mjs","sources":["../../../projects/ngx-library/src/lib/language/language.service.ts","../../../projects/ngx-library/src/lib/language/translate.pipe.ts","../../../projects/ngx-library/src/lib/language/language-configuration.ts","../../../projects/ngx-library/src/lib/language/language.module.ts","../../../projects/ngx-library/src/lib/language/adjai-ngx-library-src-lib-language.ts"],"sourcesContent":["import {Injectable} from \"@angular/core\";\r\n\r\nexport type Translations = {[section: string]: {[alias: string]: {[language: string]: string}}}\r\nexport type Vocabulary = {[language: string]: string}[]\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class LanguageService {\r\n\r\n  private static language: string = 'ru'\r\n  private static translations: Translations = {}\r\n  // private supportedLanguages: string[] = []\r\n\r\n\r\n  constructor(\r\n\r\n  ) {\r\n  }\r\n\r\n  static text(text: string, section: string | null = 'system'): string {\r\n    if (section === null) {\r\n      section = 'system'\r\n    }\r\n    return LanguageService.translations[section] && LanguageService.translations[section][text] && LanguageService.translations[section][text][LanguageService.language] ? LanguageService.translations[section][text][LanguageService.language] : text\r\n  }\r\n\r\n  static addTranslations(section: string, vocabulary: Vocabulary, baseLanguage: string) {\r\n    if (!LanguageService.translations[section]) {\r\n      LanguageService.translations[section] = {}\r\n    }\r\n    vocabulary.forEach(item => {\r\n      LanguageService.translations[section][item[baseLanguage]] = item\r\n    })\r\n\r\n    // LanguageService.translations[section] = Object.assign({}, LanguageService.translations[section] ?? {}, translations)\r\n  }\r\n\r\n  static setLanguage(language: string) {\r\n    LanguageService.language = language\r\n    /*const languageIndex = this.configuration.supportedLanguages.indexOf(language)\r\n    if (languageIndex !== -1) {\r\n      LanguageService.setLanguageIndex(this.configuration.supportedLanguages.indexOf(language))\r\n    }*/\r\n  }\r\n\r\n  static getLanguage(): string {\r\n    return this.language\r\n  }\r\n\r\n  static setLanguageIndex(index: number) {\r\n    // LanguageService.languageIndex = index\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport {LanguageService} from \"./language.service\";\n\n@Pipe({\n  name: 'translate'\n})\nexport class TranslatePipe implements PipeTransform {\n\n  constructor(\n    private languageService: LanguageService,\n  ) {\n  }\n\n  transform(value: any, section: string | null = null): string {\n    const valueType = typeof value\n    if (valueType === 'string' || valueType === 'number') {\n      return LanguageService.text(valueType === 'string' ? value : value.toString(), section)\n    } else {\n      return ''\n    }\n  }\n\n}\n","export class LanguageConfiguration {\r\n  language?: string = ''\r\n  supportedLanguages: string[] = []\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslatePipe } from './translate.pipe';\nimport {LanguageConfiguration} from \"./language-configuration\";\nimport {LanguageService} from \"./language.service\";\n\n@NgModule({\n  declarations: [\n    TranslatePipe\n  ],\n  imports: [\n    CommonModule\n  ],\n  exports: [\n    TranslatePipe,\n  ],\n})\nexport class LanguageModule {\n\n  static forRoot(configuration: LanguageConfiguration): ModuleWithProviders<LanguageModule> {\n    if (!configuration.language) {\n      configuration.language = configuration.supportedLanguages[0]\n    }\n    LanguageService.setLanguage(configuration.language)\n    return {\n      ngModule: LanguageModule,\n      providers: [\n        {\n          provide: LanguageConfiguration,\n          useValue: Object.assign({}, new LanguageConfiguration(), configuration),\n        }\n      ],\n    }\n  }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LanguageService"],"mappings":"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"}