@tolgee/ngx 2.7.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,10 +28,10 @@ export class NgxTolgeeModule {
28
28
  };
29
29
  }
30
30
  }
31
- NgxTolgeeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- NgxTolgeeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, declarations: [TranslatePipe, STranslatePipe, TComponent], exports: [TranslatePipe, STranslatePipe, TComponent] });
33
- NgxTolgeeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, providers: [] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, decorators: [{
31
+ NgxTolgeeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxTolgeeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ NgxTolgeeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxTolgeeModule, declarations: [TranslatePipe, STranslatePipe, TComponent], exports: [TranslatePipe, STranslatePipe, TComponent] });
33
+ NgxTolgeeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxTolgeeModule, providers: [] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxTolgeeModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  declarations: [TranslatePipe, STranslatePipe, TComponent],
@@ -10,9 +10,9 @@ export class STranslatePipe extends TranslatePipe {
10
10
  return (input, params, defaultValue) => this.translateService.getSafe(input, params, defaultValue);
11
11
  }
12
12
  }
13
- STranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
14
- STranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, name: "stranslate", pure: false });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, decorators: [{
13
+ STranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: STranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ STranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: STranslatePipe, name: "stranslate", pure: false });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: STranslatePipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
18
  name: 'stranslate',
@@ -7,39 +7,27 @@ export class TComponent {
7
7
  this.ref = ref;
8
8
  this.translateService = translateService;
9
9
  }
10
- get resultProvider() {
11
- return (key, params, defaultValue) => this.translateService.getSafe(key, params, defaultValue);
12
- }
13
10
  ngOnInit() {
14
11
  const element = this.ref.nativeElement;
15
12
  element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);
16
- //update value when language changed
17
- this.onLangChangeSubscription =
18
- this.translateService.onLangChange.subscribe(() => {
19
- this.translate(this.key, this.params, this.default);
20
- });
21
- //update value when translation changed
22
- this.onTranslationChangeSubscription =
23
- this.translateService.onTranslationChange.subscribe((data) => {
24
- if (data.key == this.key) {
25
- this.translate(this.key, this.params, this.default);
26
- }
27
- });
28
- this.translate(this.key, this.params, this.default);
13
+ // set safe at first
14
+ element.textContent = this.translateService.instantSafe(this.key, this.params, this.default);
15
+ // then do the async translation
16
+ this.subscription = this.translateService
17
+ .getSafe(this.key, this.params, this.default)
18
+ .subscribe((translated) => {
19
+ return (element.textContent = translated);
20
+ });
29
21
  }
30
22
  ngOnDestroy() {
31
- this.onLangChangeSubscription?.unsubscribe();
32
- this.onTranslationChangeSubscription?.unsubscribe();
33
- }
34
- translate(key, params, defaultValue) {
35
- this.resultProvider(key, params, defaultValue).subscribe((r) => {
36
- this.ref.nativeElement.textContent = r;
37
- });
23
+ if (this.subscription) {
24
+ this.subscription.unsubscribe();
25
+ }
38
26
  }
39
27
  }
40
- TComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
41
- TComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: TComponent, selector: "[t]", inputs: { params: "params", key: "key", default: "default" }, ngImport: i0, template: ``, isInline: true });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TComponent, decorators: [{
28
+ TComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
29
+ TComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TComponent, selector: "[t]", inputs: { params: "params", key: "key", default: "default" }, ngImport: i0, template: ``, isInline: true });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TComponent, decorators: [{
43
31
  type: Component,
44
32
  args: [{
45
33
  selector: '[t]',
@@ -52,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
52
40
  }], default: [{
53
41
  type: Input
54
42
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBTWxFLE1BQU0sT0FBTyxVQUFVO0lBUXJCLFlBQ1UsR0FBZSxFQUNmLGdCQUFrQztRQURsQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBNEIsQ0FBQztRQUV0RCxPQUFPLENBQUMsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLHdCQUF3QjtZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVMLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsK0JBQStCO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDckQ7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsK0JBQStCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQW9CO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUdBcERVLFVBQVU7MkZBQVYsVUFBVSx5R0FGWCxFQUFFOzJGQUVELFVBQVU7a0JBSnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7Z0lBR1UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFIH0gZnJvbSAnQHRvbGdlZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RdJyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBUQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICB2YWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBrZXk6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdD86IHN0cmluZztcbiAgb25MYW5nQ2hhbmdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIG9uVHJhbnNsYXRpb25DaGFuZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHByb3RlY3RlZCBnZXQgcmVzdWx0UHJvdmlkZXIoKTogKFxuICAgIGtleSxcbiAgICBwYXJhbXMsXG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmdcbiAgKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkgPT5cbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRTYWZlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFLCB0aGlzLmtleSk7XG5cbiAgICAvL3VwZGF0ZSB2YWx1ZSB3aGVuIGxhbmd1YWdlIGNoYW5nZWRcbiAgICB0aGlzLm9uTGFuZ0NoYW5nZVN1YnNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KTtcbiAgICAgIH0pO1xuXG4gICAgLy91cGRhdGUgdmFsdWUgd2hlbiB0cmFuc2xhdGlvbiBjaGFuZ2VkXG4gICAgdGhpcy5vblRyYW5zbGF0aW9uQ2hhbmdlU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vblRyYW5zbGF0aW9uQ2hhbmdlLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5rZXkgPT0gdGhpcy5rZXkpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZSh0aGlzLmtleSwgdGhpcy5wYXJhbXMsIHRoaXMuZGVmYXVsdCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMudHJhbnNsYXRlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25MYW5nQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVzdWx0UHJvdmlkZXIoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gcjtcbiAgICB9KTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBTWxFLE1BQU0sT0FBTyxVQUFVO0lBTXJCLFlBQ1UsR0FBZSxFQUNmLGdCQUFrQztRQURsQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBNEIsQ0FBQztRQUN0RCxPQUFPLENBQUMsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUNyRCxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRUYsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDNUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7dUdBbENVLFVBQVU7MkZBQVYsVUFBVSx5R0FGWCxFQUFFOzJGQUVELFVBQVU7a0JBSnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7Z0lBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFIH0gZnJvbSAnQHRvbGdlZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RdJyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBUQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBrZXk6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdD86IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFLCB0aGlzLmtleSk7XG5cbiAgICAvLyBzZXQgc2FmZSBhdCBmaXJzdFxuICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudFNhZmUoXG4gICAgICB0aGlzLmtleSxcbiAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgdGhpcy5kZWZhdWx0XG4gICAgKTtcblxuICAgIC8vIHRoZW4gZG8gdGhlIGFzeW5jIHRyYW5zbGF0aW9uXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIC5nZXRTYWZlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KVxuICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRlZCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQudGV4dENvbnRlbnQgPSB0cmFuc2xhdGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -7,14 +7,14 @@ export class TranslatePipe {
7
7
  this.value = '';
8
8
  }
9
9
  get resultProvider() {
10
- return (input, params, defaultValue) => this.translateService.get(input, params, defaultValue);
10
+ return (key, params, defaultValue) => this.translateService.get(key, params, defaultValue);
11
11
  }
12
12
  ngOnDestroy() {
13
- this.langChangeSubscription.unsubscribe();
13
+ this.unsubscribe();
14
14
  }
15
- transform(input, paramsOrDefaultValue, params) {
16
- if (!input || input.length === 0) {
17
- return input;
15
+ transform(key, paramsOrDefaultValue, params) {
16
+ if (!key || key.length === 0) {
17
+ return key;
18
18
  }
19
19
  const defaultValue = typeof paramsOrDefaultValue !== 'object'
20
20
  ? paramsOrDefaultValue
@@ -22,34 +22,38 @@ export class TranslatePipe {
22
22
  if (typeof paramsOrDefaultValue === 'object') {
23
23
  params = paramsOrDefaultValue;
24
24
  }
25
- const newHash = this.getHash(input, params, this.translateService.getCurrentLang());
26
- if (newHash === this.lastHash) {
25
+ if (this.key === key &&
26
+ JSON.stringify(this.params) === JSON.stringify(params) &&
27
+ this.defaultValue === defaultValue) {
27
28
  return this.value;
28
29
  }
29
- this.langChangeSubscription?.unsubscribe();
30
- this.langChangeSubscription = this.translateService.onLangChange.subscribe(() => {
31
- this.onLangChange(input, params, defaultValue);
32
- });
33
- this.onLangChange(input, params, defaultValue);
34
- this.lastHash = newHash;
30
+ this.key = key;
31
+ this.params = params;
32
+ this.defaultValue = defaultValue;
33
+ // unsubscribe first
34
+ this.unsubscribe();
35
+ // asynchronously translate and assign subscription
36
+ this.subscription = this.translate(key, params, defaultValue);
35
37
  return this.value;
36
38
  }
37
- getHash(input, params, language) {
38
- return JSON.stringify({ input, params, language });
39
+ unsubscribe() {
40
+ if (this.subscription) {
41
+ this.subscription.unsubscribe();
42
+ }
39
43
  }
40
- onLangChange(input, params, defaultValue) {
41
- this.resultProvider(input, params, defaultValue).subscribe((r) => {
44
+ translate(key, params, defaultValue) {
45
+ return this.resultProvider(key, params, defaultValue).subscribe((r) => {
42
46
  this.value = r;
43
47
  });
44
48
  }
45
49
  }
46
- TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
47
- TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, decorators: [{
50
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
51
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, decorators: [{
49
53
  type: Pipe,
50
54
  args: [{
51
55
  name: 'translate',
52
56
  pure: false,
53
57
  }]
54
58
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUp4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBSWdELENBQUM7SUFFNUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBU0QsU0FBUyxDQUNQLEtBQVUsRUFDVixvQkFBbUQsRUFDbkQsTUFBNEI7UUFFNUIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtZQUN0QyxDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFFBQVEsRUFBRTtZQUM1QyxNQUFNLEdBQUcsb0JBQW9CLENBQUM7U0FDL0I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUMxQixLQUFLLEVBQ0wsTUFBTSxFQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FDdkMsQ0FBQztRQUVGLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDeEUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsUUFBZ0I7UUFDN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQTdFVSxhQUFhO3dHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHZhbHVlID0gJyc7XG4gIGxhc3RIYXNoOiBzdHJpbmc7XG4gIHByaXZhdGUgbGFuZ0NoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIHByb3RlY3RlZCBnZXQgcmVzdWx0UHJvdmlkZXIoKTogKFxuICAgIGtleSxcbiAgICBwYXJhbXMsXG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmdcbiAgKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoaW5wdXQsIHBhcmFtcywgZGVmYXVsdFZhbHVlKSA9PlxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChpbnB1dCwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sYW5nQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZztcbiAgdHJhbnNmb3JtKFxuICAgIGlucHV0OiBhbnksXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogc3RyaW5nO1xuXG4gIHRyYW5zZm9ybShcbiAgICBpbnB1dDogYW55LFxuICAgIHBhcmFtc09yRGVmYXVsdFZhbHVlPzogUmVjb3JkPHN0cmluZywgYW55PiB8IHN0cmluZyxcbiAgICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCFpbnB1dCB8fCBpbnB1dC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPVxuICAgICAgdHlwZW9mIHBhcmFtc09yRGVmYXVsdFZhbHVlICE9PSAnb2JqZWN0J1xuICAgICAgICA/IHBhcmFtc09yRGVmYXVsdFZhbHVlXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJhbXNPckRlZmF1bHRWYWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtc09yRGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0hhc2ggPSB0aGlzLmdldEhhc2goXG4gICAgICBpbnB1dCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRDdXJyZW50TGFuZygpXG4gICAgKTtcblxuICAgIGlmIChuZXdIYXNoID09PSB0aGlzLmxhc3RIYXNoKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmxhbmdDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sYW5nQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMub25MYW5nQ2hhbmdlKGlucHV0LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMub25MYW5nQ2hhbmdlKGlucHV0LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSk7XG5cbiAgICB0aGlzLmxhc3RIYXNoID0gbmV3SGFzaDtcblxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIYXNoKGlucHV0OiBzdHJpbmcsIHBhcmFtczogb2JqZWN0LCBsYW5ndWFnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoeyBpbnB1dCwgcGFyYW1zLCBsYW5ndWFnZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25MYW5nQ2hhbmdlKGlucHV0LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkge1xuICAgIHRoaXMucmVzdWx0UHJvdmlkZXIoaW5wdXQsIHBhcmFtcywgZGVmYXVsdFZhbHVlKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSByO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sYUFBYTtJQVF4QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVB4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBT2dELENBQUM7SUFFNUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBVUQsU0FBUyxDQUNQLEdBQVEsRUFDUixvQkFBbUQsRUFDbkQsTUFBNEI7UUFFNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtZQUN0QyxDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFFBQVEsRUFBRTtZQUM1QyxNQUFNLEdBQUcsb0JBQW9CLENBQUM7U0FDL0I7UUFFRCxJQUNFLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRztZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksRUFDbEM7WUFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBRWpDLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEdBaEZVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgdmFsdWUgPSAnJztcbiAga2V5OiBzdHJpbmc7XG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGU7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHJvdGVjdGVkIGdldCByZXN1bHRQcm92aWRlcigpOiAoXG4gICAga2V5LFxuICAgIHBhcmFtcyxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICApID0+IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKSA9PlxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYW5zZm9ybShrZXk6IGFueSwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZztcblxuICB0cmFuc2Zvcm0oXG4gICAga2V5OiBhbnksXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogc3RyaW5nO1xuXG4gIHRyYW5zZm9ybShcbiAgICBrZXk6IGFueSxcbiAgICBwYXJhbXNPckRlZmF1bHRWYWx1ZT86IFJlY29yZDxzdHJpbmcsIGFueT4gfCBzdHJpbmcsXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBzdHJpbmcge1xuICAgIGlmICgha2V5IHx8IGtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID1cbiAgICAgIHR5cGVvZiBwYXJhbXNPckRlZmF1bHRWYWx1ZSAhPT0gJ29iamVjdCdcbiAgICAgICAgPyBwYXJhbXNPckRlZmF1bHRWYWx1ZVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgcGFyYW1zT3JEZWZhdWx0VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXNPckRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmtleSA9PT0ga2V5ICYmXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnBhcmFtcykgPT09IEpTT04uc3RyaW5naWZ5KHBhcmFtcykgJiZcbiAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID09PSBkZWZhdWx0VmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuXG4gICAgLy8gdW5zdWJzY3JpYmUgZmlyc3RcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBhc3luY2hyb25vdXNseSB0cmFuc2xhdGUgYW5kIGFzc2lnbiBzdWJzY3JpcHRpb25cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZShrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0UHJvdmlkZXIoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gcjtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, Injectable } from '@angular/core';
2
- import { from } from 'rxjs';
3
- import { Tolgee } from '@tolgee/core';
2
+ import { Observable } from 'rxjs';
3
+ import { IcuFormatter, Tolgee } from '@tolgee/core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./tolgeeConfig";
6
6
  export class TranslateService {
@@ -12,10 +12,14 @@ export class TranslateService {
12
12
  get tolgee() {
13
13
  return this._tolgee;
14
14
  }
15
+ /**
16
+ * Starts Tolgee if not started and subscribes for languageChange and translationChange events
17
+ */
15
18
  async start(config) {
16
19
  if (!this.runPromise) {
17
- this._tolgee = new Tolgee(config);
20
+ this._tolgee = Tolgee.use(IcuFormatter).init(config);
18
21
  this.runPromise = this.tolgee.run();
22
+ // unsubscribe first, if it is subscribed for some reason
19
23
  this.unsubscribeCoreListeners();
20
24
  this.onTranslationChangeCoreSubscription =
21
25
  this._tolgee.onTranslationChange.subscribe((data) => {
@@ -28,40 +32,119 @@ export class TranslateService {
28
32
  await this.runPromise;
29
33
  }
30
34
  ngOnDestroy() {
35
+ // stop it!
31
36
  this.tolgee.stop();
37
+ // unsubscribe listeners
32
38
  this.unsubscribeCoreListeners();
33
39
  }
40
+ /**
41
+ * Changes the current language
42
+ * @param lang The new current language (e.g. en, en-US)
43
+ */
34
44
  setLang(lang) {
35
45
  this.tolgee.lang = lang;
36
46
  }
37
- get(input, params = {}, defaultValue) {
38
- return from(this.translate(input, params, false, defaultValue));
47
+ /**
48
+ * Returns the current language
49
+ */
50
+ getCurrentLang() {
51
+ return this.tolgee.lang;
39
52
  }
40
- getSafe(input, params = {}, defaultValue) {
41
- return from(this.translate(input, params, true, defaultValue));
53
+ /**
54
+ * Returns Observable providing current translated value
55
+ * Tne observable is subscribed to translation change and language change events of Tolgee
56
+ *
57
+ * In development mode, it returns string wrapped with configured
58
+ * prefix and suffix to be handled in browser by MutationObserver.
59
+ *
60
+ * You should use unsubscribe method when you are done!
61
+ *
62
+ * in onInit: this.subscription = translateService.get('aa')
63
+ * in onDestroy: this.subscription.unsubscribe()
64
+ *
65
+ * @param key The key to translate (e.g. what-a-key)
66
+ * @param params The parameters to interpolate (e.g. {name: "John"})
67
+ * @param defaultValue Value, which will be rendered, when no translated value is provided
68
+ */
69
+ get(key, params = {}, defaultValue) {
70
+ return this.translate(key, params, false, defaultValue);
42
71
  }
43
- instant(input, params = {}, defaultValue) {
44
- return this.tolgee.instant(input, params, undefined, undefined, defaultValue);
72
+ /**
73
+ * Returns Observable providing current translated value
74
+ * Tne observable is subscribed to translation change and language change events of Tolgee
75
+ *
76
+ * In development mode, it returns the translated string,
77
+ * so in-context localization is not going to work.
78
+ *
79
+ * You should use unsubscribe method when you are done!
80
+ *
81
+ * in onInit: this.subscription = translateService.get('aa')
82
+ * in onDestroy: this.subscription.unsubscribe()
83
+ *
84
+ * @param key The key to translate (e.g. what-a-key)
85
+ * @param params The parameters to interpolate (e.g. {name: "John"})
86
+ * @param defaultValue Value, which will be rendered, when no translated value is provided
87
+ */
88
+ getSafe(key, params = {}, defaultValue) {
89
+ return this.translate(key, params, true, defaultValue);
45
90
  }
91
+ /**
92
+ * Returns the translation value synchronously
93
+ *
94
+ * In development mode, it returns string wrapped with configured
95
+ * prefix and suffix to be handled in browser by MutationObserver.
96
+ *
97
+ * @param key The key to translate (e.g. what-a-key)
98
+ * @param params The parameters to interpolate (e.g. {name: "John"})
99
+ * @param defaultValue Value, which will be rendered, when no translated value is provided
100
+ */
101
+ instant(key, params = {}, defaultValue) {
102
+ return this.tolgee.instant(key, params, undefined, undefined, defaultValue);
103
+ }
104
+ /**
105
+ * Returns the translation value synchronously
106
+ *
107
+ * In development mode, it returns the translated string,
108
+ * so in-context localization is not going to work.
109
+ *
110
+ * @param key The key to translate (e.g. what-a-key)
111
+ * @param params The parameters to interpolate (e.g. {name: "John"})
112
+ * @param defaultValue Value, which will be rendered, when no translated value is provided
113
+ */
46
114
  instantSafe(input, params = {}, defaultValue) {
47
115
  return this.tolgee.instant(input, params, true, undefined, defaultValue);
48
116
  }
49
- getCurrentLang() {
50
- return this.tolgee.lang;
51
- }
52
117
  unsubscribeCoreListeners() {
53
118
  this.onTranslationChangeCoreSubscription?.unsubscribe();
54
119
  this.onLangChangeCoreSubscription?.unsubscribe();
55
120
  }
56
- async translate(input, params = {}, noWrap = false, defaultValue) {
57
- //wait for start before translating
58
- await this.start(this.config);
59
- return await this.tolgee.translate(input, params, noWrap, defaultValue);
121
+ translate(key, params = {}, noWrap = false, defaultValue) {
122
+ return new Observable((subscriber) => {
123
+ const translate = async () => {
124
+ // start if not started
125
+ await this.start(this.config);
126
+ const translated = await this.tolgee.translate(key, params, noWrap, defaultValue);
127
+ subscriber.next(translated);
128
+ };
129
+ translate();
130
+ const onTranslationChangeSubscription = this.tolgee.onTranslationChange.subscribe((data) => {
131
+ if (data.key === key) {
132
+ translate();
133
+ }
134
+ });
135
+ const onLanguageChangeSubscription = this.tolgee.onLangChange.subscribe(() => {
136
+ translate();
137
+ });
138
+ return () => {
139
+ onTranslationChangeSubscription.unsubscribe();
140
+ onLanguageChangeSubscription.unsubscribe();
141
+ };
142
+ });
60
143
  }
61
144
  }
62
- TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService, deps: [{ token: i1.TolgeeConfig }], target: i0.ɵɵFactoryTarget.Injectable });
63
- TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService, decorators: [{
145
+ TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateService, deps: [{ token: i1.TolgeeConfig }], target: i0.ɵɵFactoryTarget.Injectable });
146
+ TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateService });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateService, decorators: [{
65
148
  type: Injectable
66
149
  }], ctorParameters: function () { return [{ type: i1.TolgeeConfig }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFtQixNQUFNLGNBQWMsQ0FBQzs7O0FBSXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFBb0IsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQVJ4QixpQkFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzlELHdCQUFtQixHQUNqQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQU1LLENBQUM7SUFJNUMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQW9CO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQ0FBbUM7Z0JBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDckUsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRU0sR0FBRyxDQUNSLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sT0FBTyxDQUNaLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWEsRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLFlBQXFCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3hCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXLENBQ2hCLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsbUNBQW1DLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUyxDQUNyQixLQUFhLEVBQ2IsTUFBTSxHQUFHLEVBQUUsRUFDWCxNQUFNLEdBQUcsS0FBSyxFQUNkLFlBQW9CO1FBRXBCLG1DQUFtQztRQUNuQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs2R0FoR1UsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2xnZWUsIFRyYW5zbGF0aW9uRGF0YSB9IGZyb20gJ0B0b2xnZWUvY29yZSc7XG5pbXBvcnQgeyBUb2xnZWVDb25maWcgfSBmcm9tICcuL3RvbGdlZUNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IG9uTGFuZ0NoYW5nZTogRXZlbnRFbWl0dGVyPG5ldmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bmV2ZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBvblRyYW5zbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VHJhbnNsYXRpb25EYXRhPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2xhdGlvbkRhdGE+KCk7XG5cbiAgcHJpdmF0ZSBydW5Qcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIG9uVHJhbnNsYXRpb25DaGFuZ2VDb3JlU3Vic2NyaXB0aW9uOiBhbnk7XG4gIHByaXZhdGUgb25MYW5nQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBUb2xnZWVDb25maWcpIHt9XG5cbiAgcHJpdmF0ZSBfdG9sZ2VlOiBUb2xnZWU7XG5cbiAgcHVibGljIGdldCB0b2xnZWUoKTogVG9sZ2VlIHtcbiAgICByZXR1cm4gdGhpcy5fdG9sZ2VlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0YXJ0KGNvbmZpZzogVG9sZ2VlQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnJ1blByb21pc2UpIHtcbiAgICAgIHRoaXMuX3RvbGdlZSA9IG5ldyBUb2xnZWUoY29uZmlnKTtcbiAgICAgIHRoaXMucnVuUHJvbWlzZSA9IHRoaXMudG9sZ2VlLnJ1bigpO1xuICAgICAgdGhpcy51bnN1YnNjcmliZUNvcmVMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLl90b2xnZWUub25UcmFuc2xhdGlvbkNoYW5nZS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLm9uVHJhbnNsYXRpb25DaGFuZ2UuZW1pdChkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLm9uTGFuZ0NoYW5nZUNvcmVTdWJzY3JpcHRpb24gPSB0aGlzLl90b2xnZWUub25MYW5nQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25MYW5nQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW5Qcm9taXNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50b2xnZWUuc3RvcCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvbGdlZS5sYW5nID0gbGFuZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQoXG4gICAgaW5wdXQ6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLnRyYW5zbGF0ZShpbnB1dCwgcGFyYW1zLCBmYWxzZSwgZGVmYXVsdFZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2FmZShcbiAgICBpbnB1dDogc3RyaW5nLFxuICAgIHBhcmFtcyA9IHt9LFxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMudHJhbnNsYXRlKGlucHV0LCBwYXJhbXMsIHRydWUsIGRlZmF1bHRWYWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGluc3RhbnQoaW5wdXQ6IHN0cmluZywgcGFyYW1zID0ge30sIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9sZ2VlLmluc3RhbnQoXG4gICAgICBpbnB1dCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHRWYWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5zdGFudFNhZmUoXG4gICAgaW5wdXQ6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUuaW5zdGFudChpbnB1dCwgcGFyYW1zLCB0cnVlLCB1bmRlZmluZWQsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudExhbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUubGFuZztcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCkge1xuICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbkxhbmdDaGFuZ2VDb3JlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2xhdGUoXG4gICAgaW5wdXQ6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBub1dyYXAgPSBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vd2FpdCBmb3Igc3RhcnQgYmVmb3JlIHRyYW5zbGF0aW5nXG4gICAgYXdhaXQgdGhpcy5zdGFydCh0aGlzLmNvbmZpZyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudG9sZ2VlLnRyYW5zbGF0ZShpbnB1dCwgcGFyYW1zLCBub1dyYXAsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBbUIsTUFBTSxjQUFjLENBQUM7OztBQUlyRSxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQW9CLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFSeEIsaUJBQVksR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM5RCx3QkFBbUIsR0FDakMsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFNSyxDQUFDO0lBSTVDLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQW9CO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsbUNBQW1DO2dCQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNsRCxJQUFJLENBQUMsbUJBQW1C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SUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtvQkFDcEIsU0FBUyxFQUFFLENBQUM7aUJBQ2I7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVMLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUNyRSxHQUFHLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLENBQUM7WUFDZCxDQUFDLENBQ0YsQ0FBQztZQUVGLE9BQU8sR0FBRyxFQUFFO2dCQUNWLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM5Qyw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQTFMVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljdUZvcm1hdHRlciwgVG9sZ2VlLCBUcmFuc2xhdGlvbkRhdGEgfSBmcm9tICdAdG9sZ2VlL2NvcmUnO1xuaW1wb3J0IHsgVG9sZ2VlQ29uZmlnIH0gZnJvbSAnLi90b2xnZWVDb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBvbkxhbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxuZXZlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG5ldmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25UcmFuc2xhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFRyYW5zbGF0aW9uRGF0YT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNsYXRpb25EYXRhPigpO1xuXG4gIHByaXZhdGUgcnVuUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcbiAgcHJpdmF0ZSBvblRyYW5zbGF0aW9uQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbjogYW55O1xuICBwcml2YXRlIG9uTGFuZ0NoYW5nZUNvcmVTdWJzY3JpcHRpb246IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogVG9sZ2VlQ29uZmlnKSB7fVxuXG4gIHByaXZhdGUgX3RvbGdlZTogVG9sZ2VlO1xuXG4gIHB1YmxpYyBnZXQgdG9sZ2VlKCk6IFRvbGdlZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvbGdlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgVG9sZ2VlIGlmIG5vdCBzdGFydGVkIGFuZCBzdWJzY3JpYmVzIGZvciBsYW5ndWFnZUNoYW5nZSBhbmQgdHJhbnNsYXRpb25DaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3RhcnQoY29uZmlnOiBUb2xnZWVDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMucnVuUHJvbWlzZSkge1xuICAgICAgdGhpcy5fdG9sZ2VlID0gVG9sZ2VlLnVzZShJY3VGb3JtYXR0ZXIpLmluaXQoY29uZmlnKTtcbiAgICAgIHRoaXMucnVuUHJvbWlzZSA9IHRoaXMudG9sZ2VlLnJ1bigpO1xuICAgICAgLy8gdW5zdWJzY3JpYmUgZmlyc3QsIGlmIGl0IGlzIHN1YnNjcmliZWQgZm9yIHNvbWUgcmVhc29uXG4gICAgICB0aGlzLnVuc3Vic2NyaWJlQ29yZUxpc3RlbmVycygpO1xuICAgICAgdGhpcy5vblRyYW5zbGF0aW9uQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuX3RvbGdlZS5vblRyYW5zbGF0aW9uQ2hhbmdlLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZS5lbWl0KGRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMub25MYW5nQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbiA9IHRoaXMuX3RvbGdlZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkxhbmdDaGFuZ2UuZW1pdCgpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnJ1blByb21pc2U7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBzdG9wIGl0IVxuICAgIHRoaXMudG9sZ2VlLnN0b3AoKTtcbiAgICAvLyB1bnN1YnNjcmliZSBsaXN0ZW5lcnNcbiAgICB0aGlzLnVuc3Vic2NyaWJlQ29yZUxpc3RlbmVycygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICogQHBhcmFtIGxhbmcgVGhlIG5ldyBjdXJyZW50IGxhbmd1YWdlIChlLmcuIGVuLCBlbi1VUylcbiAgICovXG4gIHB1YmxpYyBzZXRMYW5nKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMudG9sZ2VlLmxhbmcgPSBsYW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50TGFuZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5sYW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgT2JzZXJ2YWJsZSBwcm92aWRpbmcgY3VycmVudCB0cmFuc2xhdGVkIHZhbHVlXG4gICAqIFRuZSBvYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQgdG8gdHJhbnNsYXRpb24gY2hhbmdlIGFuZCBsYW5ndWFnZSBjaGFuZ2UgZXZlbnRzIG9mIFRvbGdlZVxuICAgKlxuICAgKiBJbiBkZXZlbG9wbWVudCBtb2RlLCBpdCByZXR1cm5zIHN0cmluZyB3cmFwcGVkIHdpdGggY29uZmlndXJlZFxuICAgKiBwcmVmaXggYW5kIHN1ZmZpeCB0byBiZSBoYW5kbGVkIGluIGJyb3dzZXIgYnkgTXV0YXRpb25PYnNlcnZlci5cbiAgICpcbiAgICogWW91IHNob3VsZCB1c2UgdW5zdWJzY3JpYmUgbWV0aG9kIHdoZW4geW91IGFyZSBkb25lIVxuICAgKlxuICAgKiBpbiBvbkluaXQ6IHRoaXMuc3Vic2NyaXB0aW9uID0gdHJhbnNsYXRlU2VydmljZS5nZXQoJ2FhJylcbiAgICogaW4gb25EZXN0cm95OiB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB0cmFuc2xhdGUgKGUuZy4gd2hhdC1hLWtleSlcbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyB0byBpbnRlcnBvbGF0ZSAoZS5nLiB7bmFtZTogXCJKb2huXCJ9KVxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkLCB3aGVuIG5vIHRyYW5zbGF0ZWQgdmFsdWUgaXMgcHJvdmlkZWRcbiAgICovXG4gIHB1YmxpYyBnZXQoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCBmYWxzZSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIE9ic2VydmFibGUgcHJvdmlkaW5nIGN1cnJlbnQgdHJhbnNsYXRlZCB2YWx1ZVxuICAgKiBUbmUgb2JzZXJ2YWJsZSBpcyBzdWJzY3JpYmVkIHRvIHRyYW5zbGF0aW9uIGNoYW5nZSBhbmQgbGFuZ3VhZ2UgY2hhbmdlIGV2ZW50cyBvZiBUb2xnZWVcbiAgICpcbiAgICogSW4gZGV2ZWxvcG1lbnQgbW9kZSwgaXQgcmV0dXJucyB0aGUgdHJhbnNsYXRlZCBzdHJpbmcsXG4gICAqIHNvIGluLWNvbnRleHQgbG9jYWxpemF0aW9uIGlzIG5vdCBnb2luZyB0byB3b3JrLlxuICAgKlxuICAgKiBZb3Ugc2hvdWxkIHVzZSB1bnN1YnNjcmliZSBtZXRob2Qgd2hlbiB5b3UgYXJlIGRvbmUhXG4gICAqXG4gICAqIGluIG9uSW5pdDogdGhpcy5zdWJzY3JpcHRpb24gPSB0cmFuc2xhdGVTZXJ2aWNlLmdldCgnYWEnKVxuICAgKiBpbiBvbkRlc3Ryb3k6IHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHRyYW5zbGF0ZSAoZS5nLiB3aGF0LWEta2V5KVxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBwYXJhbWV0ZXJzIHRvIGludGVycG9sYXRlIChlLmcuIHtuYW1lOiBcIkpvaG5cIn0pXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVmFsdWUsIHdoaWNoIHdpbGwgYmUgcmVuZGVyZWQsIHdoZW4gbm8gdHJhbnNsYXRlZCB2YWx1ZSBpcyBwcm92aWRlZFxuICAgKi9cbiAgcHVibGljIGdldFNhZmUoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCB0cnVlLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRyYW5zbGF0aW9uIHZhbHVlIHN5bmNocm9ub3VzbHlcbiAgICpcbiAgICogSW4gZGV2ZWxvcG1lbnQgbW9kZSwgaXQgcmV0dXJucyBzdHJpbmcgd3JhcHBlZCB3aXRoIGNvbmZpZ3VyZWRcbiAgICogcHJlZml4IGFuZCBzdWZmaXggdG8gYmUgaGFuZGxlZCBpbiBicm93c2VyIGJ5IE11dGF0aW9uT2JzZXJ2ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB0cmFuc2xhdGUgKGUuZy4gd2hhdC1hLWtleSlcbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyB0byBpbnRlcnBvbGF0ZSAoZS5nLiB7bmFtZTogXCJKb2huXCJ9KVxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkLCB3aGVuIG5vIHRyYW5zbGF0ZWQgdmFsdWUgaXMgcHJvdmlkZWRcbiAgICovXG4gIHB1YmxpYyBpbnN0YW50KGtleTogc3RyaW5nLCBwYXJhbXMgPSB7fSwgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUuaW5zdGFudChrZXksIHBhcmFtcywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdHJhbnNsYXRpb24gdmFsdWUgc3luY2hyb25vdXNseVxuICAgKlxuICAgKiBJbiBkZXZlbG9wbWVudCBtb2RlLCBpdCByZXR1cm5zIHRoZSB0cmFuc2xhdGVkIHN0cmluZyxcbiAgICogc28gaW4tY29udGV4dCBsb2NhbGl6YXRpb24gaXMgbm90IGdvaW5nIHRvIHdvcmsuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB0cmFuc2xhdGUgKGUuZy4gd2hhdC1hLWtleSlcbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyB0byBpbnRlcnBvbGF0ZSAoZS5nLiB7bmFtZTogXCJKb2huXCJ9KVxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkLCB3aGVuIG5vIHRyYW5zbGF0ZWQgdmFsdWUgaXMgcHJvdmlkZWRcbiAgICovXG4gIHB1YmxpYyBpbnN0YW50U2FmZShcbiAgICBpbnB1dDogc3RyaW5nLFxuICAgIHBhcmFtcyA9IHt9LFxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5pbnN0YW50KGlucHV0LCBwYXJhbXMsIHRydWUsIHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCkge1xuICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbkxhbmdDaGFuZ2VDb3JlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2xhdGUoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgbm9XcmFwID0gZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gc3RhcnQgaWYgbm90IHN0YXJ0ZWRcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSBhd2FpdCB0aGlzLnRvbGdlZS50cmFuc2xhdGUoXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBub1dyYXAsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlXG4gICAgICAgICk7XG5cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRyYW5zbGF0ZWQpO1xuICAgICAgfTtcblxuICAgICAgdHJhbnNsYXRlKCk7XG5cbiAgICAgIGNvbnN0IG9uVHJhbnNsYXRpb25DaGFuZ2VTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLnRvbGdlZS5vblRyYW5zbGF0aW9uQ2hhbmdlLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICB0cmFuc2xhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCBvbkxhbmd1YWdlQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy50b2xnZWUub25MYW5nQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRyYW5zbGF0ZSgpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBvblRyYW5zbGF0aW9uQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIG9uTGFuZ3VhZ2VDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -9,9 +9,9 @@ export class TranslationsProvider {
9
9
  return await this.translateService.start(options);
10
10
  }
11
11
  }
12
- TranslationsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
13
- TranslationsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider, decorators: [{
12
+ TranslationsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationsProvider, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ TranslationsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationsProvider });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslationsProvider, decorators: [{
15
15
  type: Injectable
16
16
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3RyYW5zbGF0aW9ucy1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFLekMsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFxQjtRQUM5QixPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOztpSEFQVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIi4vdHJhbnNsYXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7VG9sZ2VlQ29uZmlnfSBmcm9tIFwiQHRvbGdlZS9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNQcm92aWRlciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gIH1cblxuICBhc3luYyBsb2FkKG9wdGlvbnM6IFRvbGdlZUNvbmZpZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RhcnQob3B0aW9ucyk7XG4gIH1cbn1cblxuXG4iXX0=