@tolgee/ngx 4.9.2 → 4.10.0-rc.4a0f1a6.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.
@@ -0,0 +1,5 @@
1
+ import { DevTools } from '@tolgee/web';
2
+ export const NgxPlugin = () => (tolgee) => {
3
+ return tolgee.use(DevTools());
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4UGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL05neFBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBaUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7SUFDdEQsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9sZ2VlUGx1Z2luLCBEZXZUb29scyB9IGZyb20gJ0B0b2xnZWUvd2ViJztcblxuZXhwb3J0IGNvbnN0IE5neFBsdWdpbiA9ICgpOiBUb2xnZWVQbHVnaW4gPT4gKHRvbGdlZSkgPT4ge1xuICByZXR1cm4gdG9sZ2VlLnVzZShEZXZUb29scygpKTtcbn07XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LoaderComponent {
4
+ }
5
+ LoaderComponent.ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(); };
6
+ LoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoaderComponent, selectors: [["ng-component"]], inputs: { html: "html" }, decls: 1, vars: 1, consts: [[1, "loader-template", 3, "innerHTML"]], template: function LoaderComponent_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "div", 0);
8
+ } if (rf & 2) {
9
+ i0.ɵɵproperty("innerHTML", ctx.html, i0.ɵɵsanitizeHtml);
10
+ } }, encapsulation: 2 });
11
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoaderComponent, [{
12
+ type: Component,
13
+ args: [{
14
+ template: `
15
+ <div class="loader-template" [innerHTML]="html"></div>
16
+ `,
17
+ }]
18
+ }], null, { html: [{
19
+ type: Input
20
+ }] }); })();
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL2xpYi9sb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRCxNQUFNLE9BQU8sZUFBZTs7OEVBQWYsZUFBZTtrRUFBZixlQUFlO1FBSHhCLHlCQUFzRDs7UUFBekIsdURBQWtCOzt1RkFHdEMsZUFBZTtjQUwzQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFOztHQUVUO2FBQ0Y7Z0JBRVUsSUFBSTtrQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGVyLXRlbXBsYXRlXCIgW2lubmVySFRNTF09XCJodG1sXCI+PC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGh0bWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TOLGEE_LOADING_TEMPLATE = new InjectionToken('tolgee.loading-template');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL2xpYi9sb2FkaW5nLXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUV0RCx5QkFBeUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVE9MR0VFX0xPQURJTkdfVEVNUExBVEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48e1xuICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjx1bmtub3duPiB8IHN0cmluZztcbn0+KCd0b2xnZWUubG9hZGluZy10ZW1wbGF0ZScpO1xuIl19
@@ -1,43 +1,39 @@
1
1
  import { APP_INITIALIZER, NgModule } from '@angular/core';
2
2
  import { TranslatePipe } from './translate.pipe';
3
- import { TranslationsProvider } from './translations-provider';
4
- import { TranslateService } from './translate.service';
5
- import { STranslatePipe } from './stranslate.pipe';
6
- import { TolgeeConfig } from './tolgeeConfig';
7
3
  import { TComponent } from './t.component';
4
+ import { TranslateService } from './translate.service';
5
+ import { LoaderComponent } from "./loader.component";
8
6
  import * as i0 from "@angular/core";
9
7
  export class NgxTolgeeModule {
10
- // @dynamic
11
- static forRoot(options) {
12
- options = { filesUrlPrefix: '/assets/i18n/', ...options };
13
- return {
14
- ngModule: NgxTolgeeModule,
15
- providers: [
16
- TranslateService,
17
- TranslationsProvider,
18
- {
19
- provide: APP_INITIALIZER,
20
- useFactory: (provider) => {
21
- return async () => await provider.load(options);
22
- },
23
- deps: [TranslationsProvider, TranslateService],
24
- multi: true,
25
- },
26
- { provide: TolgeeConfig, useValue: options },
27
- ],
28
- };
29
- }
30
8
  }
31
9
  NgxTolgeeModule.ɵfac = function NgxTolgeeModule_Factory(t) { return new (t || NgxTolgeeModule)(); };
32
10
  NgxTolgeeModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgxTolgeeModule });
33
- NgxTolgeeModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [] });
11
+ NgxTolgeeModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
12
+ {
13
+ provide: APP_INITIALIZER,
14
+ useFactory: (service) => {
15
+ return async () => await service.start();
16
+ },
17
+ deps: [TranslateService],
18
+ multi: true,
19
+ },
20
+ ] });
34
21
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgxTolgeeModule, [{
35
22
  type: NgModule,
36
23
  args: [{
37
- declarations: [TranslatePipe, STranslatePipe, TComponent],
38
- exports: [TranslatePipe, STranslatePipe, TComponent],
39
- providers: [],
24
+ declarations: [TranslatePipe, TComponent, LoaderComponent],
25
+ exports: [TranslatePipe, TComponent],
26
+ providers: [
27
+ {
28
+ provide: APP_INITIALIZER,
29
+ useFactory: (service) => {
30
+ return async () => await service.start();
31
+ },
32
+ deps: [TranslateService],
33
+ multi: true,
34
+ },
35
+ ],
40
36
  }]
41
37
  }], null, null); })();
42
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgxTolgeeModule, { declarations: [TranslatePipe, STranslatePipe, TComponent], exports: [TranslatePipe, STranslatePipe, TComponent] }); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRvbGdlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvbmd4LXRvbGdlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFdBQVc7SUFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXFCO1FBQ2xDLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUMxRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCQUNwQjtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLENBQUMsUUFBOEIsRUFBRSxFQUFFO3dCQUM3QyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNsRCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDO29CQUM5QyxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUM3QztTQUNGLENBQUM7SUFDSixDQUFDOzs4RUFwQlUsZUFBZTtpRUFBZixlQUFlO3NFQUZmLEVBQUU7dUZBRUYsZUFBZTtjQUwzQixRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7Z0JBQ3pELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO2dCQUNwRCxTQUFTLEVBQUUsRUFBRTthQUNkOzt3RkFDWSxlQUFlLG1CQUpYLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxhQUM5QyxhQUFhLEVBQUUsY0FBYyxFQUFFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbnNQcm92aWRlciB9IGZyb20gJy4vdHJhbnNsYXRpb25zLXByb3ZpZGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi9zdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgVG9sZ2VlQ29uZmlnIH0gZnJvbSAnLi90b2xnZWVDb25maWcnO1xuaW1wb3J0IHsgVENvbXBvbmVudCB9IGZyb20gJy4vdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUcmFuc2xhdGVQaXBlLCBTVHJhbnNsYXRlUGlwZSwgVENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtUcmFuc2xhdGVQaXBlLCBTVHJhbnNsYXRlUGlwZSwgVENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE5neFRvbGdlZU1vZHVsZSB7XG4gIC8vIEBkeW5hbWljXG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IFRvbGdlZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VG9sZ2VlTW9kdWxlPiB7XG4gICAgb3B0aW9ucyA9IHsgZmlsZXNVcmxQcmVmaXg6ICcvYXNzZXRzL2kxOG4vJywgLi4ub3B0aW9ucyB9O1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4VG9sZ2VlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIFRyYW5zbGF0aW9uc1Byb3ZpZGVyLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChwcm92aWRlcjogVHJhbnNsYXRpb25zUHJvdmlkZXIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBhc3luYyAoKSA9PiBhd2FpdCBwcm92aWRlci5sb2FkKG9wdGlvbnMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVwczogW1RyYW5zbGF0aW9uc1Byb3ZpZGVyLCBUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBUb2xnZWVDb25maWcsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
38
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgxTolgeeModule, { declarations: [TranslatePipe, TComponent, LoaderComponent], exports: [TranslatePipe, TComponent] }); })();
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRvbGdlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvbmd4LXRvbGdlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWdCckQsTUFBTSxPQUFPLGVBQWU7OzhFQUFmLGVBQWU7aUVBQWYsZUFBZTtzRUFYZjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLENBQUMsT0FBeUIsRUFBRSxFQUFFO2dCQUN4QyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hCLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjt1RkFFVSxlQUFlO2NBZDNCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztnQkFDMUQsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztnQkFDcEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxlQUFlO3dCQUN4QixVQUFVLEVBQUUsQ0FBQyxPQUF5QixFQUFFLEVBQUU7NEJBQ3hDLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDM0MsQ0FBQzt3QkFDRCxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDeEIsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjs7d0ZBQ1ksZUFBZSxtQkFiWCxhQUFhLEVBQUUsVUFBVSxFQUFFLGVBQWUsYUFDL0MsYUFBYSxFQUFFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUQ29tcG9uZW50IH0gZnJvbSAnLi90LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9sb2FkZXIuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RyYW5zbGF0ZVBpcGUsIFRDb21wb25lbnQsIExvYWRlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtUcmFuc2xhdGVQaXBlLCBUQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogKHNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IGF3YWl0IHNlcnZpY2Uuc3RhcnQoKTtcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbVHJhbnNsYXRlU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hUb2xnZWVNb2R1bGUge31cbiJdfQ==
@@ -1,44 +1,94 @@
1
- import { Component, Input } from '@angular/core';
2
- import { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';
1
+ import { Component, Inject, Input, Optional, } from '@angular/core';
2
+ import { TOLGEE_LOADING_TEMPLATE } from './loading-template';
3
+ import { TemplateHandler } from './template-handler';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "./translate.service";
5
6
  const _c0 = ["t", ""];
6
7
  export class TComponent {
7
- constructor(ref, translateService) {
8
+ constructor(ref, translateService, loadingTemplate, vcr) {
8
9
  this.ref = ref;
9
10
  this.translateService = translateService;
11
+ this.loadingTemplate = loadingTemplate;
12
+ this.vcr = vcr;
10
13
  }
11
14
  ngOnInit() {
12
- const element = this.ref.nativeElement;
13
- element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);
14
- // set safe at first
15
- element.textContent = this.translateService.instantSafe(this.key, this.params, this.default);
16
- // then do the async translation
17
- this.subscription = this.translateService
18
- .getSafe(this.key, this.params, this.default)
19
- .subscribe((translated) => {
20
- return (element.textContent = translated);
21
- });
15
+ // noinspection JSIgnoredPromiseFromCall
16
+ this.subscribe();
17
+ if (this.shouldRenderLoading()) {
18
+ this.renderLoading();
19
+ return;
20
+ }
21
+ this.renderInstantValue();
22
+ }
23
+ ngOnChanges() {
24
+ // noinspection JSIgnoredPromiseFromCall
25
+ this.subscribe();
22
26
  }
23
27
  ngOnDestroy() {
24
28
  if (this.subscription) {
25
29
  this.subscription.unsubscribe();
26
30
  }
27
31
  }
32
+ renderInstantValue() {
33
+ // set safe at first
34
+ this.getElement().textContent = this.translateService.instant(this.getTranslateParams());
35
+ }
36
+ getTranslateParams() {
37
+ return {
38
+ key: this.key,
39
+ ns: this.ns,
40
+ params: this.params,
41
+ defaultValue: this.default,
42
+ noWrap: this.noWrap,
43
+ };
44
+ }
45
+ renderLoading() {
46
+ this.loaderTplHandler = new TemplateHandler(this.loadingTemplate, this.vcr);
47
+ this.loaderTplHandler.attachView();
48
+ }
49
+ shouldRenderLoading() {
50
+ return !this.isNamespaceLoaded() && this.loadingTemplate;
51
+ }
52
+ isNamespaceLoaded() {
53
+ return this.translateService.tolgee.isLoaded(this.ns);
54
+ }
55
+ async subscribe() {
56
+ this.subscription?.unsubscribe();
57
+ await this.translateService.tolgee.addActiveNs(this.ns);
58
+ this.subscription = this.translateService
59
+ .translate(this.getTranslateParams())
60
+ .subscribe((translated) => {
61
+ this.loaderTplHandler?.detachView();
62
+ this.getElement().textContent = translated;
63
+ this.initialized = true;
64
+ });
65
+ }
66
+ getElement() {
67
+ return this.ref.nativeElement;
68
+ }
28
69
  }
29
- TComponent.ɵfac = function TComponent_Factory(t) { return new (t || TComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.TranslateService)); };
30
- TComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TComponent, selectors: [["", "t", ""]], inputs: { params: "params", key: "key", default: "default" }, attrs: _c0, decls: 0, vars: 0, template: function TComponent_Template(rf, ctx) { }, encapsulation: 2 });
70
+ TComponent.ɵfac = function TComponent_Factory(t) { return new (t || TComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.TranslateService), i0.ɵɵdirectiveInject(TOLGEE_LOADING_TEMPLATE, 8), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
71
+ TComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TComponent, selectors: [["", "t", ""]], inputs: { params: "params", key: "key", ns: "ns", default: "default", noWrap: "noWrap" }, features: [i0.ɵɵNgOnChangesFeature], attrs: _c0, decls: 0, vars: 0, template: function TComponent_Template(rf, ctx) { }, encapsulation: 2 });
31
72
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TComponent, [{
32
73
  type: Component,
33
74
  args: [{
34
75
  selector: '[t]',
35
76
  template: ``,
36
77
  }]
37
- }], function () { return [{ type: i0.ElementRef }, { type: i1.TranslateService }]; }, { params: [{
78
+ }], function () { return [{ type: i0.ElementRef }, { type: i1.TranslateService }, { type: undefined, decorators: [{
79
+ type: Optional
80
+ }, {
81
+ type: Inject,
82
+ args: [TOLGEE_LOADING_TEMPLATE]
83
+ }] }, { type: i0.ViewContainerRef }]; }, { params: [{
38
84
  type: Input
39
85
  }], key: [{
40
86
  type: Input
87
+ }], ns: [{
88
+ type: Input
41
89
  }], default: [{
42
90
  type: Input
91
+ }], noWrap: [{
92
+ type: Input
43
93
  }] }); })();
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQU1sRSxNQUFNLE9BQU8sVUFBVTtJQU1yQixZQUNVLEdBQWUsRUFDZixnQkFBa0M7UUFEbEMsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDekMsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQTRCLENBQUM7UUFDdEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkUsb0JBQW9CO1FBQ3BCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDckQsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUVGLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7YUFDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzVDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7O29FQWxDVSxVQUFVOzZEQUFWLFVBQVU7dUZBQVYsVUFBVTtjQUp0QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEVBQUU7YUFDYjs0RkFFVSxNQUFNO2tCQUFkLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFIH0gZnJvbSAnQHRvbGdlZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RdJyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBUQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBrZXk6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdD86IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFLCB0aGlzLmtleSk7XG5cbiAgICAvLyBzZXQgc2FmZSBhdCBmaXJzdFxuICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudFNhZmUoXG4gICAgICB0aGlzLmtleSxcbiAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgdGhpcy5kZWZhdWx0XG4gICAgKTtcblxuICAgIC8vIHRoZW4gZG8gdGhlIGFzeW5jIHRyYW5zbGF0aW9uXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIC5nZXRTYWZlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KVxuICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRlZCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQudGV4dENvbnRlbnQgPSB0cmFuc2xhdGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFNckQsTUFBTSxPQUFPLFVBQVU7SUFXckIsWUFDVSxHQUFlLEVBQ2YsZ0JBQWtDLEVBR2xDLGVBQXVDLEVBQ3ZDLEdBQXFCO1FBTHJCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBR2xDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUM1QixDQUFDO0lBRUosUUFBUTtRQUNOLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQzNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTztZQUMxQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMzRCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRWpDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQTRCLENBQUM7SUFDL0MsQ0FBQzs7b0VBdkZVLFVBQVUsdUdBZVgsdUJBQXVCOzZEQWZ0QixVQUFVO3VGQUFWLFVBQVU7Y0FKdEIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxFQUFFO2FBQ2I7O3NCQWVJLFFBQVE7O3NCQUNSLE1BQU07dUJBQUMsdUJBQXVCO3VEQWR4QixNQUFNO2tCQUFkLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxFQUFFO2tCQUFWLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBUeXBlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVE9MR0VFX0xPQURJTkdfVEVNUExBVEUgfSBmcm9tICcuL2xvYWRpbmctdGVtcGxhdGUnO1xuaW1wb3J0IHsgVGVtcGxhdGVIYW5kbGVyIH0gZnJvbSAnLi90ZW1wbGF0ZS1oYW5kbGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RdJyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBUQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIEBJbnB1dCgpIGtleTogc3RyaW5nO1xuICBASW5wdXQoKSBuczogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBub1dyYXA/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgbG9hZGVyVHBsSGFuZGxlcjogVGVtcGxhdGVIYW5kbGVyIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVE9MR0VFX0xPQURJTkdfVEVNUExBVEUpXG4gICAgcHJpdmF0ZSBsb2FkaW5nVGVtcGxhdGU6IFR5cGU8dW5rbm93bj4gfCBzdHJpbmcsXG4gICAgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIG5vaW5zcGVjdGlvbiBKU0lnbm9yZWRQcm9taXNlRnJvbUNhbGxcbiAgICB0aGlzLnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLnNob3VsZFJlbmRlckxvYWRpbmcoKSkge1xuICAgICAgdGhpcy5yZW5kZXJMb2FkaW5nKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmVuZGVySW5zdGFudFZhbHVlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBub2luc3BlY3Rpb24gSlNJZ25vcmVkUHJvbWlzZUZyb21DYWxsXG4gICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckluc3RhbnRWYWx1ZSgpIHtcbiAgICAvLyBzZXQgc2FmZSBhdCBmaXJzdFxuICAgIHRoaXMuZ2V0RWxlbWVudCgpLnRleHRDb250ZW50ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICB0aGlzLmdldFRyYW5zbGF0ZVBhcmFtcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlUGFyYW1zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgbnM6IHRoaXMubnMsXG4gICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxuICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmRlZmF1bHQsXG4gICAgICBub1dyYXA6IHRoaXMubm9XcmFwLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckxvYWRpbmcoKSB7XG4gICAgdGhpcy5sb2FkZXJUcGxIYW5kbGVyID0gbmV3IFRlbXBsYXRlSGFuZGxlcih0aGlzLmxvYWRpbmdUZW1wbGF0ZSwgdGhpcy52Y3IpO1xuICAgIHRoaXMubG9hZGVyVHBsSGFuZGxlci5hdHRhY2hWaWV3KCk7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZFJlbmRlckxvYWRpbmcoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzTmFtZXNwYWNlTG9hZGVkKCkgJiYgdGhpcy5sb2FkaW5nVGVtcGxhdGU7XG4gIH1cblxuICBwcml2YXRlIGlzTmFtZXNwYWNlTG9hZGVkKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudG9sZ2VlLmlzTG9hZGVkKHRoaXMubnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudG9sZ2VlLmFkZEFjdGl2ZU5zKHRoaXMubnMpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIC50cmFuc2xhdGUodGhpcy5nZXRUcmFuc2xhdGVQYXJhbXMoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0ZWQpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkZXJUcGxIYW5kbGVyPy5kZXRhY2hWaWV3KCk7XG4gICAgICAgIHRoaXMuZ2V0RWxlbWVudCgpLnRleHRDb250ZW50ID0gdHJhbnNsYXRlZDtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { TemplateRef, ComponentFactoryResolver, } from '@angular/core';
2
+ import { LoaderComponent } from "./loader.component";
3
+ export class TemplateHandler {
4
+ constructor(view, vcr) {
5
+ this.view = view;
6
+ this.vcr = vcr;
7
+ this.injector = this.vcr.injector;
8
+ }
9
+ attachView() {
10
+ if (this.view instanceof TemplateRef) {
11
+ this.vcr.createEmbeddedView(this.view);
12
+ }
13
+ else if (typeof this.view === 'string') {
14
+ const componentRef = this.createComponent(LoaderComponent);
15
+ componentRef.instance.html = this.view;
16
+ componentRef.hostView.detectChanges();
17
+ }
18
+ else {
19
+ this.createComponent(this.view);
20
+ }
21
+ }
22
+ detachView() {
23
+ this.vcr.clear();
24
+ }
25
+ createComponent(cmp) {
26
+ const cfr = this.injector.get(ComponentFactoryResolver);
27
+ const factory = cfr.resolveComponentFactory(cmp);
28
+ return this.vcr.createComponent(factory);
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL2xpYi90ZW1wbGF0ZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxXQUFXLEVBRVgsd0JBQXdCLEdBR3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlyRCxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUFvQixJQUFVLEVBQVUsR0FBcUI7UUFBekMsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxJQUFJLFlBQVksV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3hDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQ3ZDLGVBQWUsQ0FDaEIsQ0FBQztZQUNGLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN2QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLGVBQWUsQ0FBSSxHQUFZO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9sb2FkZXIuY29tcG9uZW50XCI7XG5cbmV4cG9ydCB0eXBlIFZpZXcgPSBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IFR5cGU8dW5rbm93bj47XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUhhbmRsZXIge1xuICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXc6IFZpZXcsIHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgdGhpcy5pbmplY3RvciA9IHRoaXMudmNyLmluamVjdG9yO1xuICB9XG5cbiAgYXR0YWNoVmlldygpIHtcbiAgICBpZiAodGhpcy52aWV3IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnZpZXcpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMudmlldyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlQ29tcG9uZW50PExvYWRlckNvbXBvbmVudD4oXG4gICAgICAgIExvYWRlckNvbXBvbmVudFxuICAgICAgKTtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5odG1sID0gdGhpcy52aWV3O1xuICAgICAgY29tcG9uZW50UmVmLmhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQodGhpcy52aWV3KTtcbiAgICB9XG4gIH1cblxuICBkZXRhY2hWaWV3KCkge1xuICAgIHRoaXMudmNyLmNsZWFyKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudDxUPihjbXA6IFR5cGU8VD4pOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNmciA9IHRoaXMuaW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG4gICAgY29uc3QgZmFjdG9yeSA9IGNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjbXApO1xuXG4gICAgcmV0dXJuIHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TOLGEE_INSTANCE = new InjectionToken('tolgee.instance');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sZ2VlLWluc3RhbmNlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3RvbGdlZS1pbnN0YW5jZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0MsaUJBQWlCLENBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9sZ2VlSW5zdGFuY2UgfSBmcm9tICdAdG9sZ2VlL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVE9MR0VFX0lOU1RBTkNFID0gbmV3IEluamVjdGlvblRva2VuPFRvbGdlZUluc3RhbmNlPihcbiAgJ3RvbGdlZS5pbnN0YW5jZSdcbik7XG4iXX0=
@@ -1,48 +1,39 @@
1
1
  import { Pipe } from '@angular/core';
2
+ import { getTranslateParams } from '@tolgee/web';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "./translate.service";
4
5
  export class TranslatePipe {
5
6
  constructor(translateService) {
6
7
  this.translateService = translateService;
7
8
  this.value = '';
8
- }
9
- get resultProvider() {
10
- return (key, params, defaultValue) => this.translateService.get(key, params, defaultValue);
9
+ this.transform = (...args) => {
10
+ // @ts-ignore
11
+ const params = getTranslateParams(...args);
12
+ const { key } = params;
13
+ if (!key || key.length === 0) {
14
+ return key;
15
+ }
16
+ if (JSON.stringify(this.params) === JSON.stringify(params)) {
17
+ return this.value;
18
+ }
19
+ this.params = params;
20
+ // unsubscribe first
21
+ this.unsubscribe();
22
+ // asynchronously translate and assign subscription
23
+ this.subscription = this.translate(params);
24
+ return this.value;
25
+ };
11
26
  }
12
27
  ngOnDestroy() {
13
28
  this.unsubscribe();
14
29
  }
15
- transform(key, paramsOrDefaultValue, params) {
16
- if (!key || key.length === 0) {
17
- return key;
18
- }
19
- const defaultValue = typeof paramsOrDefaultValue !== 'object'
20
- ? paramsOrDefaultValue
21
- : undefined;
22
- if (typeof paramsOrDefaultValue === 'object') {
23
- params = paramsOrDefaultValue;
24
- }
25
- if (this.key === key &&
26
- JSON.stringify(this.params) === JSON.stringify(params) &&
27
- this.defaultValue === defaultValue) {
28
- return this.value;
29
- }
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);
37
- return this.value;
38
- }
39
30
  unsubscribe() {
40
31
  if (this.subscription) {
41
32
  this.subscription.unsubscribe();
42
33
  }
43
34
  }
44
- translate(key, params, defaultValue) {
45
- return this.resultProvider(key, params, defaultValue).subscribe((r) => {
35
+ translate(props) {
36
+ return this.translateService.translate(props).subscribe((r) => {
46
37
  this.value = r;
47
38
  });
48
39
  }
@@ -56,4 +47,4 @@ TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type
56
47
  pure: false,
57
48
  }]
58
49
  }], function () { return [{ type: i1.TranslateService }]; }, null); })();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sYUFBYTtJQVF4QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVB4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBT2dELENBQUM7SUFFNUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBVUQsU0FBUyxDQUNQLEdBQVEsRUFDUixvQkFBbUQsRUFDbkQsTUFBNEI7UUFFNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtZQUN0QyxDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFFBQVEsRUFBRTtZQUM1QyxNQUFNLEdBQUcsb0JBQW9CLENBQUM7U0FDL0I7UUFFRCxJQUNFLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRztZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksRUFDbEM7WUFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBRWpDLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEVBaEZVLGFBQWE7K0VBQWIsYUFBYTt1RkFBYixhQUFhO2NBSnpCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLEtBQUs7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgdmFsdWUgPSAnJztcbiAga2V5OiBzdHJpbmc7XG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGU7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHJvdGVjdGVkIGdldCByZXN1bHRQcm92aWRlcigpOiAoXG4gICAga2V5LFxuICAgIHBhcmFtcyxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICApID0+IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKSA9PlxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYW5zZm9ybShrZXk6IGFueSwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZztcblxuICB0cmFuc2Zvcm0oXG4gICAga2V5OiBhbnksXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogc3RyaW5nO1xuXG4gIHRyYW5zZm9ybShcbiAgICBrZXk6IGFueSxcbiAgICBwYXJhbXNPckRlZmF1bHRWYWx1ZT86IFJlY29yZDxzdHJpbmcsIGFueT4gfCBzdHJpbmcsXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBzdHJpbmcge1xuICAgIGlmICgha2V5IHx8IGtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID1cbiAgICAgIHR5cGVvZiBwYXJhbXNPckRlZmF1bHRWYWx1ZSAhPT0gJ29iamVjdCdcbiAgICAgICAgPyBwYXJhbXNPckRlZmF1bHRWYWx1ZVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgcGFyYW1zT3JEZWZhdWx0VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXNPckRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmtleSA9PT0ga2V5ICYmXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnBhcmFtcykgPT09IEpTT04uc3RyaW5naWZ5KHBhcmFtcykgJiZcbiAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID09PSBkZWZhdWx0VmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuXG4gICAgLy8gdW5zdWJzY3JpYmUgZmlyc3RcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBhc3luY2hyb25vdXNseSB0cmFuc2xhdGUgYW5kIGFzc2lnbiBzdWJzY3JpcHRpb25cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZShrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0UHJvdmlkZXIoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gcjtcbiAgICB9KTtcbiAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHL0QsT0FBTyxFQUFFLGtCQUFrQixFQUEyQixNQUFNLGFBQWEsQ0FBQzs7O0FBTTFFLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTHhELFVBQUssR0FBRyxFQUFFLENBQUM7UUFXRixjQUFTLEdBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1lBQ3hDLGFBQWE7WUFDYixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzNDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFFdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxHQUFHLENBQUM7YUFDWjtZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ25CO1lBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFFckIsb0JBQW9CO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUVuQixtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUM7SUE1QnlELENBQUM7SUFFNUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBMEJPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBFQTlDVSxhQUFhOytFQUFiLGFBQWE7dUZBQWIsYUFBYTtjQUp6QixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLElBQUksRUFBRSxLQUFLO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRlUGFyYW1zLCBURm5UeXBlLCBUcmFuc2xhdGVQcm9wcyB9IGZyb20gJ0B0b2xnZWUvd2ViJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICB2YWx1ZSA9ICcnO1xuICBwYXJhbXM6IGFueTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHRyYW5zZm9ybTogVEZuVHlwZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBhcmFtcyA9IGdldFRyYW5zbGF0ZVBhcmFtcyguLi5hcmdzKTtcbiAgICBjb25zdCB7IGtleSB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKCFrZXkgfHwga2V5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG5cbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5wYXJhbXMpID09PSBKU09OLnN0cmluZ2lmeShwYXJhbXMpKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcblxuICAgIC8vIHVuc3Vic2NyaWJlIGZpcnN0XG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuXG4gICAgLy8gYXN5bmNocm9ub3VzbHkgdHJhbnNsYXRlIGFuZCBhc3NpZ24gc3Vic2NyaXB0aW9uXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZShwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH07XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSgpIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2xhdGUocHJvcHM6IFRyYW5zbGF0ZVByb3BzKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUocHJvcHMpLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IHI7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,41 @@
1
- import { EventEmitter, Injectable } from '@angular/core';
1
+ import { Inject, Injectable } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- import { IcuFormatter, Tolgee } from '@tolgee/core';
3
+ import { getTranslateParams, } from '@tolgee/web';
4
+ import { TOLGEE_INSTANCE } from './tolgee-instance-token';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "./tolgeeConfig";
6
6
  export class TranslateService {
7
- constructor(config) {
8
- this.config = config;
9
- this.onLangChange = new EventEmitter();
10
- this.onTranslationChange = new EventEmitter();
7
+ constructor(_tolgee) {
8
+ this._tolgee = _tolgee;
9
+ this.language = new Observable((subscriber) => {
10
+ subscriber.next(this.tolgee.getLanguage());
11
+ const subscription = this.on('language').subscribe((value) => {
12
+ subscriber.next(value.value);
13
+ });
14
+ return () => subscription.unsubscribe();
15
+ });
16
+ this.instant = (...args) => {
17
+ // @ts-ignore
18
+ const params = getTranslateParams(...args);
19
+ return this.tolgee.t(params);
20
+ };
21
+ this.translate = (...args) => {
22
+ // @ts-ignore
23
+ const params = getTranslateParams(...args);
24
+ return new Observable((subscriber) => {
25
+ const translate = async () => {
26
+ const translated = this.tolgee.t(params);
27
+ subscriber.next(translated);
28
+ };
29
+ // noinspection JSIgnoredPromiseFromCall
30
+ translate();
31
+ const subscription = this.tolgee
32
+ .onKeyUpdate(translate)
33
+ .subscribeKey({ key: params.key, ns: params.ns });
34
+ return () => {
35
+ subscription.unsubscribe();
36
+ };
37
+ });
38
+ };
11
39
  }
12
40
  get tolgee() {
13
41
  return this._tolgee;
@@ -15,30 +43,25 @@ export class TranslateService {
15
43
  /**
16
44
  * Starts Tolgee if not started and subscribes for languageChange and translationChange events
17
45
  */
18
- async start(config) {
46
+ async start() {
19
47
  if (!this.runPromise) {
20
- this._tolgee = Tolgee.use(IcuFormatter).init({
21
- wrapperMode: 'invisible',
22
- ...config,
23
- });
24
48
  this.runPromise = this.tolgee.run();
25
- // unsubscribe first, if it is subscribed for some reason
26
- this.unsubscribeCoreListeners();
27
- this.onTranslationChangeCoreSubscription =
28
- this._tolgee.onTranslationChange.subscribe((data) => {
29
- this.onTranslationChange.emit(data);
30
- });
31
- this.onLangChangeCoreSubscription = this._tolgee.onLangChange.subscribe(() => {
32
- this.onLangChange.emit();
33
- });
34
49
  }
35
50
  await this.runPromise;
36
51
  }
37
52
  ngOnDestroy() {
38
53
  // stop it!
39
54
  this.tolgee.stop();
40
- // unsubscribe listeners
41
- this.unsubscribeCoreListeners();
55
+ }
56
+ on(event) {
57
+ return new Observable((subscriber) => {
58
+ const subscription = this.tolgee.on(event, (value) => {
59
+ subscriber.next(value);
60
+ });
61
+ return () => {
62
+ subscription.unsubscribe;
63
+ };
64
+ });
42
65
  }
43
66
  /**
44
67
  * Changes the current language
@@ -49,107 +72,14 @@ export class TranslateService {
49
72
  setLang(lang) {
50
73
  return this.tolgee.changeLanguage(lang);
51
74
  }
52
- /**
53
- * Returns the current language
54
- */
55
- getCurrentLang() {
56
- return this.tolgee.lang;
57
- }
58
- /**
59
- * Returns Observable providing current translated value
60
- * Tne observable is subscribed to translation change and language change events of Tolgee
61
- *
62
- * In development mode, it returns string wrapped with configured
63
- * prefix and suffix to be handled in browser by MutationObserver.
64
- *
65
- * You should use unsubscribe method when you are done!
66
- *
67
- * in onInit: this.subscription = translateService.get('aa')
68
- * in onDestroy: this.subscription.unsubscribe()
69
- *
70
- * @param key The key to translate (e.g. what-a-key)
71
- * @param params The parameters to interpolate (e.g. {name: "John"})
72
- * @param defaultValue Value, which will be rendered, when no translated value is provided
73
- */
74
- get(key, params = {}, defaultValue) {
75
- return this.translate(key, params, false, defaultValue);
76
- }
77
- /**
78
- * Returns Observable providing current translated value
79
- * Tne observable is subscribed to translation change and language change events of Tolgee
80
- *
81
- * In development mode, it returns the translated string,
82
- * so in-context localization is not going to work.
83
- *
84
- * You should use unsubscribe method when you are done!
85
- *
86
- * in onInit: this.subscription = translateService.get('aa')
87
- * in onDestroy: this.subscription.unsubscribe()
88
- *
89
- * @param key The key to translate (e.g. what-a-key)
90
- * @param params The parameters to interpolate (e.g. {name: "John"})
91
- * @param defaultValue Value, which will be rendered, when no translated value is provided
92
- */
93
- getSafe(key, params = {}, defaultValue) {
94
- return this.translate(key, params, true, defaultValue);
95
- }
96
- /**
97
- * Returns the translation value synchronously
98
- *
99
- * In development mode, it returns string wrapped with configured
100
- * prefix and suffix to be handled in browser by MutationObserver.
101
- *
102
- * @param key The key to translate (e.g. what-a-key)
103
- * @param params The parameters to interpolate (e.g. {name: "John"})
104
- * @param defaultValue Value, which will be rendered, when no translated value is provided
105
- */
106
- instant(key, params = {}, defaultValue) {
107
- return this.tolgee.instant(key, params, undefined, undefined, defaultValue);
108
- }
109
- /**
110
- * Returns the translation value synchronously
111
- *
112
- * In development mode, it returns the translated string,
113
- * so in-context localization is not going to work.
114
- *
115
- * @param key The key to translate (e.g. what-a-key)
116
- * @param params The parameters to interpolate (e.g. {name: "John"})
117
- * @param defaultValue Value, which will be rendered, when no translated value is provided
118
- */
119
- instantSafe(input, params = {}, defaultValue) {
120
- return this.tolgee.instant(input, params, true, undefined, defaultValue);
121
- }
122
- unsubscribeCoreListeners() {
123
- this.onTranslationChangeCoreSubscription?.unsubscribe();
124
- this.onLangChangeCoreSubscription?.unsubscribe();
125
- }
126
- translate(key, params = {}, noWrap = false, defaultValue) {
127
- return new Observable((subscriber) => {
128
- const translate = async () => {
129
- // start if not started
130
- await this.start(this.config);
131
- const translated = await this.tolgee.translate(key, params, noWrap, defaultValue);
132
- subscriber.next(translated);
133
- };
134
- translate();
135
- const onTranslationChangeSubscription = this.tolgee.onTranslationChange.subscribe((data) => {
136
- if (data.key === key) {
137
- translate();
138
- }
139
- });
140
- const onLanguageChangeSubscription = this.tolgee.onLangChange.subscribe(() => {
141
- translate();
142
- });
143
- return () => {
144
- onTranslationChangeSubscription.unsubscribe();
145
- onLanguageChangeSubscription.unsubscribe();
146
- };
147
- });
148
- }
149
75
  }
150
- TranslateService.ɵfac = function TranslateService_Factory(t) { return new (t || TranslateService)(i0.ɵɵinject(i1.TolgeeConfig)); };
151
- TranslateService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateService, factory: TranslateService.ɵfac });
76
+ TranslateService.ɵfac = function TranslateService_Factory(t) { return new (t || TranslateService)(i0.ɵɵinject(TOLGEE_INSTANCE)); };
77
+ TranslateService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateService, factory: TranslateService.ɵfac, providedIn: 'root' });
152
78
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslateService, [{
153
- type: Injectable
154
- }], function () { return [{ type: i1.TolgeeConfig }]; }, null); })();
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBbUIsTUFBTSxjQUFjLENBQUM7OztBQUlyRSxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQW9CLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFSeEIsaUJBQVksR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM5RCx3QkFBbUIsR0FDakMsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFNSyxDQUFDO0lBSTVDLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQW9CO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzNDLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixHQUFHLE1BQU07YUFDVixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEMseURBQXlEO1lBQ3pELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQ0FBbUM7Z0JBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDckUsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULFdBQVc7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksR0FBRyxDQUNSLEdBQVcsRUFDWCxNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksT0FBTyxDQUNaLEdBQVcsRUFDWCxNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLFlBQXFCO1FBQzVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxXQUFXLENBQ2hCLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU8sU0FBUyxDQUNmLEdBQVcsRUFDWCxNQUFNLEdBQUcsRUFBRSxFQUNYLE1BQU0sR0FBRyxLQUFLLEVBQ2QsWUFBb0I7UUFFcEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25DLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUMzQix1QkFBdUI7Z0JBQ3ZCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQzVDLEdBQUcsRUFDSCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksQ0FDYixDQUFDO2dCQUVGLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDO1lBRUYsU0FBUyxFQUFFLENBQUM7WUFFWixNQUFNLCtCQUErQixHQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFO29CQUNwQixTQUFTLEVBQUUsQ0FBQztpQkFDYjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUwsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQ3JFLEdBQUcsRUFBRTtnQkFDSCxTQUFTLEVBQUUsQ0FBQztZQUNkLENBQUMsQ0FDRixDQUFDO1lBRUYsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsK0JBQStCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzlDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0ZBL0xVLGdCQUFnQjtzRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQjt1RkFBaEIsZ0JBQWdCO2NBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWN1Rm9ybWF0dGVyLCBUb2xnZWUsIFRyYW5zbGF0aW9uRGF0YSB9IGZyb20gJ0B0b2xnZWUvY29yZSc7XG5pbXBvcnQgeyBUb2xnZWVDb25maWcgfSBmcm9tICcuL3RvbGdlZUNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IG9uTGFuZ0NoYW5nZTogRXZlbnRFbWl0dGVyPG5ldmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bmV2ZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBvblRyYW5zbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VHJhbnNsYXRpb25EYXRhPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2xhdGlvbkRhdGE+KCk7XG5cbiAgcHJpdmF0ZSBydW5Qcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIG9uVHJhbnNsYXRpb25DaGFuZ2VDb3JlU3Vic2NyaXB0aW9uOiBhbnk7XG4gIHByaXZhdGUgb25MYW5nQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBUb2xnZWVDb25maWcpIHt9XG5cbiAgcHJpdmF0ZSBfdG9sZ2VlOiBUb2xnZWU7XG5cbiAgcHVibGljIGdldCB0b2xnZWUoKTogVG9sZ2VlIHtcbiAgICByZXR1cm4gdGhpcy5fdG9sZ2VlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBUb2xnZWUgaWYgbm90IHN0YXJ0ZWQgYW5kIHN1YnNjcmliZXMgZm9yIGxhbmd1YWdlQ2hhbmdlIGFuZCB0cmFuc2xhdGlvbkNoYW5nZSBldmVudHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdGFydChjb25maWc6IFRvbGdlZUNvbmZpZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5ydW5Qcm9taXNlKSB7XG4gICAgICB0aGlzLl90b2xnZWUgPSBUb2xnZWUudXNlKEljdUZvcm1hdHRlcikuaW5pdCh7XG4gICAgICAgIHdyYXBwZXJNb2RlOiAnaW52aXNpYmxlJyxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnJ1blByb21pc2UgPSB0aGlzLnRvbGdlZS5ydW4oKTtcbiAgICAgIC8vIHVuc3Vic2NyaWJlIGZpcnN0LCBpZiBpdCBpcyBzdWJzY3JpYmVkIGZvciBzb21lIHJlYXNvblxuICAgICAgdGhpcy51bnN1YnNjcmliZUNvcmVMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLl90b2xnZWUub25UcmFuc2xhdGlvbkNoYW5nZS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLm9uVHJhbnNsYXRpb25DaGFuZ2UuZW1pdChkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLm9uTGFuZ0NoYW5nZUNvcmVTdWJzY3JpcHRpb24gPSB0aGlzLl90b2xnZWUub25MYW5nQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25MYW5nQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW5Qcm9taXNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gc3RvcCBpdCFcbiAgICB0aGlzLnRvbGdlZS5zdG9wKCk7XG4gICAgLy8gdW5zdWJzY3JpYmUgbGlzdGVuZXJzXG4gICAgdGhpcy51bnN1YnNjcmliZUNvcmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAqIEBwYXJhbSBsYW5nIFRoZSBuZXcgY3VycmVudCBsYW5ndWFnZSAoZS5nLiBlbiwgZW4tVVMpXG4gICAqIEByZXR1cm4gUHJvbWlzZTx2b2lkPiBSZXNvbHZlcyB3aGVuIHRyYW5zbGF0aW9uc1xuICAgKiBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgYXJlIGxvYWRlZFxuICAgKi9cbiAgcHVibGljIHNldExhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudG9sZ2VlLmNoYW5nZUxhbmd1YWdlKGxhbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50TGFuZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5sYW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgT2JzZXJ2YWJsZSBwcm92aWRpbmcgY3VycmVudCB0cmFuc2xhdGVkIHZhbHVlXG4gICAqIFRuZSBvYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQgdG8gdHJhbnNsYXRpb24gY2hhbmdlIGFuZCBsYW5ndWFnZSBjaGFuZ2UgZXZlbnRzIG9mIFRvbGdlZVxuICAgKlxuICAgKiBJbiBkZXZlbG9wbWVudCBtb2RlLCBpdCByZXR1cm5zIHN0cmluZyB3cmFwcGVkIHdpdGggY29uZmlndXJlZFxuICAgKiBwcmVmaXggYW5kIHN1ZmZpeCB0byBiZSBoYW5kbGVkIGluIGJyb3dzZXIgYnkgTXV0YXRpb25PYnNlcnZlci5cbiAgICpcbiAgICogWW91IHNob3VsZCB1c2UgdW5zdWJzY3JpYmUgbWV0aG9kIHdoZW4geW91IGFyZSBkb25lIVxuICAgKlxuICAgKiBpbiBvbkluaXQ6IHRoaXMuc3Vic2NyaXB0aW9uID0gdHJhbnNsYXRlU2VydmljZS5nZXQoJ2FhJylcbiAgICogaW4gb25EZXN0cm95OiB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB0cmFuc2xhdGUgKGUuZy4gd2hhdC1hLWtleSlcbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyB0byBpbnRlcnBvbGF0ZSAoZS5nLiB7bmFtZTogXCJKb2huXCJ9KVxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkLCB3aGVuIG5vIHRyYW5zbGF0ZWQgdmFsdWUgaXMgcHJvdmlkZWRcbiAgICovXG4gIHB1YmxpYyBnZXQoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCBmYWxzZSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIE9ic2VydmFibGUgcHJvdmlkaW5nIGN1cnJlbnQgdHJhbnNsYXRlZCB2YWx1ZVxuICAgKiBUbmUgb2JzZXJ2YWJsZSBpcyBzdWJzY3JpYmVkIHRvIHRyYW5zbGF0aW9uIGNoYW5nZSBhbmQgbGFuZ3VhZ2UgY2hhbmdlIGV2ZW50cyBvZiBUb2xnZWVcbiAgICpcbiAgICogSW4gZGV2ZWxvcG1lbnQgbW9kZSwgaXQgcmV0dXJucyB0aGUgdHJhbnNsYXRlZCBzdHJpbmcsXG4gICAqIHNvIGluLWNvbnRleHQgbG9jYWxpemF0aW9uIGlzIG5vdCBnb2luZyB0byB3b3JrLlxuICAgKlxuICAgKiBZb3Ugc2hvdWxkIHVzZSB1bnN1YnNjcmliZSBtZXRob2Qgd2hlbiB5b3UgYXJlIGRvbmUhXG4gICAqXG4gICAqIGluIG9uSW5pdDogdGhpcy5zdWJzY3JpcHRpb24gPSB0cmFuc2xhdGVTZXJ2aWNlLmdldCgnYWEnKVxuICAgKiBpbiBvbkRlc3Ryb3k6IHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHRyYW5zbGF0ZSAoZS5nLiB3aGF0LWEta2V5KVxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBwYXJhbWV0ZXJzIHRvIGludGVycG9sYXRlIChlLmcuIHtuYW1lOiBcIkpvaG5cIn0pXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVmFsdWUsIHdoaWNoIHdpbGwgYmUgcmVuZGVyZWQsIHdoZW4gbm8gdHJhbnNsYXRlZCB2YWx1ZSBpcyBwcm92aWRlZFxuICAgKi9cbiAgcHVibGljIGdldFNhZmUoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCB0cnVlLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRyYW5zbGF0aW9uIHZhbHVlIHN5bmNocm9ub3VzbHlcbiAgICpcbiAgICogSW4gZGV2ZWxvcG1lbnQgbW9kZSwgaXQgcmV0dXJucyBzdHJpbmcgd3JhcHBlZCB3aXRoIGNvbmZpZ3VyZWRcbiAgICogcHJlZml4IGFuZCBzdWZmaXggdG8gYmUgaGFuZGxlZCBpbiBicm93c2VyIGJ5IE11dGF0aW9uT2JzZXJ2ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB0cmFuc2xhdGUgKGUuZy4gd2hhdC1hLWtleSlcbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyB0byBpbnRlcnBvbGF0ZSAoZS5nLiB7bmFtZTogXCJKb2huXCJ9KVxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkLCB3aGVuIG5vIHRyYW5zbGF0ZWQgdmFsdWUgaXMgcHJvdmlkZWRcbiAgICovXG4gIHB1YmxpYyBpbnN0YW50KGtleTogc3RyaW5nLCBwYXJhbXMgPSB7fSwgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUuaW5zdGFudChrZXksIHBhcmFtcywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdHJhbnNsYXRpb24gdmFsdWUgc3luY2hyb25vdXNseVxuICAgKlxuICAgKiBJbiBkZXZlbG9wbWVudCBtb2RlLCBpdCByZXR1cm5zIHRoZSB0cmFuc2xhdGVkIHN0cmluZyxcbiAgICogc28gaW4tY29udGV4dCBsb2NhbGl6YXRpb24gaXMgbm90IGdvaW5nIHRvIHdvcmsuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB0cmFuc2xhdGUgKGUuZy4gd2hhdC1hLWtleSlcbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyB0byBpbnRlcnBvbGF0ZSAoZS5nLiB7bmFtZTogXCJKb2huXCJ9KVxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkLCB3aGVuIG5vIHRyYW5zbGF0ZWQgdmFsdWUgaXMgcHJvdmlkZWRcbiAgICovXG4gIHB1YmxpYyBpbnN0YW50U2FmZShcbiAgICBpbnB1dDogc3RyaW5nLFxuICAgIHBhcmFtcyA9IHt9LFxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5pbnN0YW50KGlucHV0LCBwYXJhbXMsIHRydWUsIHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCkge1xuICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbkxhbmdDaGFuZ2VDb3JlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2xhdGUoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgbm9XcmFwID0gZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gc3RhcnQgaWYgbm90IHN0YXJ0ZWRcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSBhd2FpdCB0aGlzLnRvbGdlZS50cmFuc2xhdGUoXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBub1dyYXAsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlXG4gICAgICAgICk7XG5cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRyYW5zbGF0ZWQpO1xuICAgICAgfTtcblxuICAgICAgdHJhbnNsYXRlKCk7XG5cbiAgICAgIGNvbnN0IG9uVHJhbnNsYXRpb25DaGFuZ2VTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLnRvbGdlZS5vblRyYW5zbGF0aW9uQ2hhbmdlLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICB0cmFuc2xhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCBvbkxhbmd1YWdlQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy50b2xnZWUub25MYW5nQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRyYW5zbGF0ZSgpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBvblRyYW5zbGF0aW9uQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIG9uTGFuZ3VhZ2VDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
79
+ type: Injectable,
80
+ args: [{ providedIn: 'root' }]
81
+ }], function () { return [{ type: undefined, decorators: [{
82
+ type: Inject,
83
+ args: [TOLGEE_INSTANCE]
84
+ }] }]; }, null); })();
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBR0wsa0JBQWtCLEdBSW5CLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUE2QyxPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQWtDcEUsYUFBUSxHQUF1QixJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzNELFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzNELFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFZYSxZQUFPLEdBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1lBQzdDLGFBQWE7WUFDYixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO1FBRU8sY0FBUyxHQUFrRCxDQUNsRSxHQUFHLElBQUksRUFDUCxFQUFFO1lBQ0YsYUFBYTtZQUNiLE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDM0MsT0FBTyxJQUFJLFVBQVUsQ0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUMzQyxNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRTtvQkFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3pDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FBQztnQkFFRix3Q0FBd0M7Z0JBQ3hDLFNBQVMsRUFBRSxDQUFDO2dCQUVaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNO3FCQUM3QixXQUFXLENBQUMsU0FBUyxDQUFDO3FCQUN0QixZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRXBELE9BQU8sR0FBRyxFQUFFO29CQUNWLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFqRnFFLENBQUM7SUFFeEUsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNyQztRQUNELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULFdBQVc7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxFQUFFLENBQWdDLEtBQVk7UUFDNUMsT0FBTyxJQUFJLFVBQVUsQ0FDbkIsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNiLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNuRCxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQVksQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUMzQixDQUFDLENBQUM7UUFDSixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFXRDs7Ozs7T0FLRztJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Z0ZBdERVLGdCQUFnQixjQUdQLGVBQWU7c0VBSHhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBREgsTUFBTTt1RkFDbkIsZ0JBQWdCO2NBRDVCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQUluQixNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFBhcmFtVHlwZSxcbiAgRXZlbnRUeXBlLFxuICBnZXRUcmFuc2xhdGVQYXJhbXMsXG4gIExpc3RlbmVySGFuZGxlckV2ZW50LFxuICBURm5UeXBlLFxuICBUb2xnZWVJbnN0YW5jZSxcbn0gZnJvbSAnQHRvbGdlZS93ZWInO1xuaW1wb3J0IHsgVE9MR0VFX0lOU1RBTkNFIH0gZnJvbSAnLi90b2xnZWUtaW5zdGFuY2UtdG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJ1blByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChUT0xHRUVfSU5TVEFOQ0UpIHByaXZhdGUgX3RvbGdlZTogVG9sZ2VlSW5zdGFuY2UpIHt9XG5cbiAgZ2V0IHRvbGdlZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdG9sZ2VlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBUb2xnZWUgaWYgbm90IHN0YXJ0ZWQgYW5kIHN1YnNjcmliZXMgZm9yIGxhbmd1YWdlQ2hhbmdlIGFuZCB0cmFuc2xhdGlvbkNoYW5nZSBldmVudHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMucnVuUHJvbWlzZSkge1xuICAgICAgdGhpcy5ydW5Qcm9taXNlID0gdGhpcy50b2xnZWUucnVuKCk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucnVuUHJvbWlzZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIHN0b3AgaXQhXG4gICAgdGhpcy50b2xnZWUuc3RvcCgpO1xuICB9XG5cbiAgb248RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudFR5cGU+KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxMaXN0ZW5lckhhbmRsZXJFdmVudDxFdmVudFR5cGVbRXZlbnRdPj4oXG4gICAgICAoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnRvbGdlZS5vbihldmVudCwgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlIGFzIGFueSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgbGFuZ3VhZ2U6IE9ic2VydmFibGU8c3RyaW5nPiA9IG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgc3Vic2NyaWJlci5uZXh0KHRoaXMudG9sZ2VlLmdldExhbmd1YWdlKCkpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMub24oJ2xhbmd1YWdlJykuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlLnZhbHVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICogQHBhcmFtIGxhbmcgVGhlIG5ldyBjdXJyZW50IGxhbmd1YWdlIChlLmcuIGVuLCBlbi1VUylcbiAgICogQHJldHVybiBQcm9taXNlPHZvaWQ+IFJlc29sdmVzIHdoZW4gdHJhbnNsYXRpb25zXG4gICAqIGZvciBnaXZlbiBsYW5ndWFnZSBhcmUgbG9hZGVkXG4gICAqL1xuICBwdWJsaWMgc2V0TGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUuY2hhbmdlTGFuZ3VhZ2UobGFuZyk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFudDogVEZuVHlwZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBhcmFtcyA9IGdldFRyYW5zbGF0ZVBhcmFtcyguLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUudChwYXJhbXMpO1xuICB9O1xuXG4gIHJlYWRvbmx5IHRyYW5zbGF0ZTogVEZuVHlwZTxEZWZhdWx0UGFyYW1UeXBlLCBPYnNlcnZhYmxlPHN0cmluZz4+ID0gKFxuICAgIC4uLmFyZ3NcbiAgKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBhcmFtcyA9IGdldFRyYW5zbGF0ZVBhcmFtcyguLi5hcmdzKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGVkID0gdGhpcy50b2xnZWUudChwYXJhbXMpO1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQodHJhbnNsYXRlZCk7XG4gICAgICB9O1xuXG4gICAgICAvLyBub2luc3BlY3Rpb24gSlNJZ25vcmVkUHJvbWlzZUZyb21DYWxsXG4gICAgICB0cmFuc2xhdGUoKTtcblxuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy50b2xnZWVcbiAgICAgICAgLm9uS2V5VXBkYXRlKHRyYW5zbGF0ZSlcbiAgICAgICAgLnN1YnNjcmliZUtleSh7IGtleTogcGFyYW1zLmtleSwgbnM6IHBhcmFtcy5ucyB9KTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9O1xufVxuIl19