Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1x 16x 21x 21x 21x 16x 16x 21x | /**
* Copyright (c) Siemens 2016 - 2025
* SPDX-License-Identifier: MIT
*/
import { Injectable, Injector } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import {
SiTranslateService,
SiTranslateServiceBuilder
} from '@siemens/element-translate-ng/translate';
import { SiTranslateNgxTService } from './si-translate-ngxt.service';
/**
* Builds {@link SiTranslateNgxTService} for each {@link TranslateService}.
* The builder will create a new Service if a new {@link TranslateService} is found to support the isolated mode.
*
* @internal
*/
@Injectable()
export class SiTranslateNgxTServiceBuilder extends SiTranslateServiceBuilder {
private serviceCache = new Map<TranslateService, SiTranslateNgxTService>();
buildService(injector: Injector): SiTranslateService {
// Get instance of NGX Translate via injector instance of the current scope (see isolated mode)
const ngxTranslateService = injector.get(TranslateService);
let ngxTServiceWrapper = this.serviceCache.get(ngxTranslateService);
if (!ngxTServiceWrapper) {
ngxTServiceWrapper = new SiTranslateNgxTService(ngxTranslateService);
this.serviceCache.set(ngxTranslateService, ngxTServiceWrapper);
}
return ngxTServiceWrapper;
}
}
|