{"version":3,"file":"sebgroup-green-angular-src-v-angular-i18n.mjs","sources":["../../../../libs/angular/src/v-angular/i18n/i18n.module.ts","../../../../libs/angular/src/v-angular/i18n/i18n.test.module.ts","../../../../libs/angular/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.ts"],"sourcesContent":["import { Inject, Injectable, isDevMode, NgModule } from '@angular/core'\nimport {\n  HashMap,\n  provideTransloco,\n  provideTranslocoMissingHandler,\n  TRANSLOCO_TRANSPILER,\n  TranslocoLoader,\n  TranslocoMissingHandler,\n  TranslocoMissingHandlerData,\n  TranslocoModule,\n  TranslocoTranspiler,\n} from '@jsverse/transloco'\nimport { delay, lastValueFrom, of } from 'rxjs'\n\nimport defaultLang from './i18n.json'\n\n@Injectable()\nexport class NggvMissingHandler implements TranslocoMissingHandler {\n  constructor(\n    @Inject(TRANSLOCO_TRANSPILER) private transpiler: TranslocoTranspiler,\n  ) {}\n  handle(key: string, _: TranslocoMissingHandlerData, params: HashMap) {\n    const keyWithoutLocale = key.charAt(2) === '.' ? key.substring(3) : key\n    const withoutScope = keyWithoutLocale.replace(\n      /^((?:\\w+)(?<!label|heading|button|alt|link|title|href|fieldhelp|error|text|image|list)(?:\\.))/,\n      '',\n    )\n    const transpileParams = {\n      value: defaultLang[keyWithoutLocale as keyof typeof defaultLang],\n      params,\n      translation: {},\n      key: keyWithoutLocale,\n    }\n    const transpiledKey = this.transpiler.transpile(transpileParams)\n    return transpiledKey || withoutScope\n  }\n}\n\nconst en = {\n  'error.fieldinputmask': 'Invalid value pattern',\n  'error.fieldrequired': 'Field must have content',\n  'error.fieldmaxlength':\n    'Field content should not be longer than {{requiredLength}} characters',\n  'label.defaultlabel': 'Label',\n  'label.maxlength': 'characters left',\n  'label.optional': 'Optional',\n}\n\nconst sv = {\n  'error.fieldinputmask': 'Icke giltigt tecken mönster',\n  'error.fieldrequired': 'Fältet får inte lämnas tomt',\n  'error.fieldmaxlength':\n    'Fältinnehållet måste vara längre än {{requiredLength}} tecken',\n  'label.maxlength': 'tecken kvar',\n}\nclass TranslocoInlineLoader implements TranslocoLoader {\n  getTranslation(lang: string) {\n    if (lang === 'sv') {\n      return lastValueFrom(of(sv).pipe(delay(1500)))\n    }\n    return lastValueFrom(of(en).pipe(delay(500)))\n  }\n}\n\n@NgModule({\n  providers: [\n    provideTransloco({\n      config: {\n        availableLangs: ['en', 'sv'],\n        defaultLang: 'en',\n        // Remove this option if your application doesn't support changing language in runtime.\n        reRenderOnLangChange: true,\n        prodMode: !isDevMode(),\n      },\n      loader: TranslocoInlineLoader,\n    }),\n    provideTranslocoMissingHandler(NggvMissingHandler),\n  ],\n  exports: [TranslocoModule],\n})\nexport class NggvI18nModule {}\n","import { CommonModule } from '@angular/common'\nimport { NgModule, Pipe, PipeTransform } from '@angular/core'\nimport {\n  HashMap,\n  Translation,\n  TRANSLOCO_FALLBACK_STRATEGY,\n  TRANSLOCO_INTERCEPTOR,\n  TRANSLOCO_MISSING_HANDLER,\n  TRANSLOCO_TRANSPILER,\n  TranslocoConfig,\n  TranslocoFallbackStrategy,\n  TranslocoInterceptor,\n  TranslocoMissingHandler,\n  TranslocoTranspilerFunction,\n} from '@jsverse/transloco'\n\n@Pipe({\n    name: 'transloco',\n    standalone: false\n})\nexport class TranslocoMockPipe implements PipeTransform {\n  transform = (value: number): number => value\n}\n\nexport class TranslocoMockTranspiler implements TranslocoTranspilerFunction {\n  transpile = (..._args: string[]) => ''\n}\n\nexport class TranslocoMockMissingHandler implements TranslocoMissingHandler {\n  handle = (key: string, _: TranslocoConfig, _params: HashMap) => key\n}\n\nexport class TranslocoMockStrategy implements TranslocoFallbackStrategy {\n  getNextLangs = (_failedLang: string): any => ''\n}\n\nexport class TranslocoMockInterceptor implements TranslocoInterceptor {\n  preSaveTranslation(translation: Translation, _lang: string): Translation {\n    return translation\n  }\n\n  preSaveTranslationKey(_key: string, value: string, _lang: string): string {\n    return value\n  }\n}\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [TranslocoMockPipe],\n  exports: [TranslocoMockPipe],\n  providers: [\n    {\n      provide: TRANSLOCO_TRANSPILER,\n      useClass: TranslocoMockTranspiler,\n    },\n    {\n      provide: TRANSLOCO_INTERCEPTOR,\n      useClass: TranslocoMockInterceptor,\n    },\n    {\n      provide: TRANSLOCO_FALLBACK_STRATEGY,\n      useClass: TranslocoMockStrategy,\n    },\n    {\n      provide: TRANSLOCO_MISSING_HANDLER,\n      useClass: TranslocoMockMissingHandler,\n      deps: [TRANSLOCO_TRANSPILER],\n    },\n  ],\n})\nexport class NggvI18nTestModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}