@tolgee/ngx 6.4.1-prerelease.43dd4fa5.0 → 6.5.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,24 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LoaderComponent {
4
+ html;
5
+ static ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(); };
6
+ static ɵ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
+ }
12
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoaderComponent, [{
13
+ type: Component,
14
+ args: [{
15
+ template: `
16
+ <div class="loader-template" [innerHTML]="html"></div>
17
+ `,
18
+ standalone: false,
19
+ }]
20
+ }], null, { html: [{
21
+ type: Input
22
+ }] }); })();
23
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LoaderComponent, { className: "LoaderComponent", filePath: "lib/loader.component.ts", lineNumber: 9 }); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL2xpYi9sb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRCxNQUFNLE9BQU8sZUFBZTtJQUNqQixJQUFJLENBQXFCO3lFQUR2QixlQUFlOzZEQUFmLGVBQWU7WUFKeEIseUJBQXNEOztZQUF6Qix1REFBa0I7OztpRkFJdEMsZUFBZTtjQU4zQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFOztHQUVUO2dCQUNELFVBQVUsRUFBRSxLQUFLO2FBQ2xCO2dCQUVVLElBQUk7a0JBQVosS0FBSzs7a0ZBREssZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxvYWRlci10ZW1wbGF0ZVwiIFtpbm5lckhUTUxdPVwiaHRtbFwiPjwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaHRtbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./translate.service";
4
+ export class NamespaceResolver {
5
+ service;
6
+ constructor(service) {
7
+ this.service = service;
8
+ }
9
+ async resolve(route) {
10
+ const ns = this.getNamespace(route);
11
+ await this.service.tolgee.addActiveNs(ns, true);
12
+ }
13
+ getNamespace(route) {
14
+ const namespace = route?.data?.tolgeeNamespace;
15
+ if (namespace === undefined) {
16
+ console.warn('No namespace provided. Please add tolgeeNamespace to your route data. \n' +
17
+ 'If you really want to lazy load default namespace set tolgeeNamespace to empty string');
18
+ }
19
+ return namespace;
20
+ }
21
+ static ɵfac = function NamespaceResolver_Factory(t) { return new (t || NamespaceResolver)(i0.ɵɵinject(i1.TranslateService)); };
22
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NamespaceResolver, factory: NamespaceResolver.ɵfac, providedIn: 'root' });
23
+ }
24
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NamespaceResolver, [{
25
+ type: Injectable,
26
+ args: [{ providedIn: 'root' }]
27
+ }], () => [{ type: i1.TranslateService }], null); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL25hbWVzcGFjZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUNUO0lBQW5CLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQztJQUVoRCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQTZCO1FBRTdCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBNkI7UUFDaEQsTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxlQUFlLENBQUM7UUFDL0MsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTyxDQUFDLElBQUksQ0FDViwwRUFBMEU7Z0JBQ3hFLHVGQUF1RixDQUMxRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7MkVBbkJVLGlCQUFpQjtnRUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFESixNQUFNOztpRkFDbkIsaUJBQWlCO2NBRDdCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOYW1lc3BhY2VSZXNvbHZlciAge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBhc3luYyByZXNvbHZlKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBucyA9IHRoaXMuZ2V0TmFtZXNwYWNlKHJvdXRlKTtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UudG9sZ2VlLmFkZEFjdGl2ZU5zKG5zLCB0cnVlKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXROYW1lc3BhY2Uocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICBjb25zdCBuYW1lc3BhY2UgPSByb3V0ZT8uZGF0YT8udG9sZ2VlTmFtZXNwYWNlO1xuICAgIGlmIChuYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnTm8gbmFtZXNwYWNlIHByb3ZpZGVkLiBQbGVhc2UgYWRkIHRvbGdlZU5hbWVzcGFjZSB0byB5b3VyIHJvdXRlIGRhdGEuIFxcbicgK1xuICAgICAgICAgICdJZiB5b3UgcmVhbGx5IHdhbnQgdG8gbGF6eSBsb2FkIGRlZmF1bHQgbmFtZXNwYWNlIHNldCB0b2xnZWVOYW1lc3BhY2UgdG8gZW1wdHkgc3RyaW5nJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hbWVzcGFjZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { TranslatePipe } from './translate.pipe';
3
+ import { TComponent } from './t.component';
4
+ import { TranslateService } from './translate.service';
5
+ import { LoaderComponent } from "./loader.component";
6
+ import * as i0 from "@angular/core";
7
+ export class NgxTolgeeModule {
8
+ static ɵfac = function NgxTolgeeModule_Factory(t) { return new (t || NgxTolgeeModule)(); };
9
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgxTolgeeModule });
10
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
11
+ {
12
+ provide: APP_INITIALIZER,
13
+ useFactory: (service) => {
14
+ return async () => await service.start();
15
+ },
16
+ deps: [TranslateService],
17
+ multi: true,
18
+ },
19
+ ] });
20
+ }
21
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgxTolgeeModule, [{
22
+ type: NgModule,
23
+ args: [{
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
+ ],
36
+ }]
37
+ }], null, null); })();
38
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgxTolgeeModule, { declarations: [TranslatePipe, TComponent, LoaderComponent], exports: [TranslatePipe, TComponent] }); })();
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRvbGdlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvbmd4LXRvbGdlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWdCckQsTUFBTSxPQUFPLGVBQWU7eUVBQWYsZUFBZTs0REFBZixlQUFlO2lFQVhmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxDQUFDLE9BQXlCLEVBQUUsRUFBRTtvQkFDeEMsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQyxDQUFDO2dCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUN4QixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7O2lGQUVVLGVBQWU7Y0FkM0IsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDO2dCQUMxRCxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO2dCQUNwQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGVBQWU7d0JBQ3hCLFVBQVUsRUFBRSxDQUFDLE9BQXlCLEVBQUUsRUFBRTs0QkFDeEMsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUMzQyxDQUFDO3dCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO3dCQUN4QixLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjthQUNGOzt3RkFDWSxlQUFlLG1CQWJYLGFBQWEsRUFBRSxVQUFVLEVBQUUsZUFBZSxhQUMvQyxhQUFhLEVBQUUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRDb21wb25lbnQgfSBmcm9tICcuL3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gXCIuL2xvYWRlci5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVHJhbnNsYXRlUGlwZSwgVENvbXBvbmVudCwgTG9hZGVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RyYW5zbGF0ZVBpcGUsIFRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VGYWN0b3J5OiAoc2VydmljZTogVHJhbnNsYXRlU2VydmljZSkgPT4ge1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4gYXdhaXQgc2VydmljZS5zdGFydCgpO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFRvbGdlZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,103 @@
1
+ import { Component, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./translate.service";
4
+ const _c0 = ["t", ""];
5
+ export class TComponent {
6
+ ref;
7
+ translateService;
8
+ key;
9
+ ns;
10
+ params;
11
+ default;
12
+ noWrap = false;
13
+ language;
14
+ /**
15
+ * When true, innerHTML property of element is set.
16
+ * Use only when you're sure the HTML is sanitized.
17
+ */
18
+ isHtml = false;
19
+ subscription;
20
+ initialized;
21
+ constructor(ref, translateService) {
22
+ this.ref = ref;
23
+ this.translateService = translateService;
24
+ }
25
+ ngOnInit() {
26
+ // noinspection JSIgnoredPromiseFromCall
27
+ this.subscribe();
28
+ this.renderInstantValue();
29
+ }
30
+ ngOnChanges() {
31
+ // noinspection JSIgnoredPromiseFromCall
32
+ this.subscribe();
33
+ }
34
+ ngOnDestroy() {
35
+ this.unsubscribe();
36
+ }
37
+ renderInstantValue() {
38
+ // get initial value first
39
+ const translated = this.translateService.instant({
40
+ ...this.getTranslateProps(),
41
+ orEmpty: true,
42
+ });
43
+ this.setElementContent(translated);
44
+ }
45
+ getTranslateProps() {
46
+ return {
47
+ key: this.key,
48
+ ns: this.ns,
49
+ params: this.params,
50
+ defaultValue: this.default,
51
+ noWrap: this.noWrap,
52
+ language: this.language,
53
+ };
54
+ }
55
+ unsubscribe() {
56
+ this.subscription?.unsubscribe();
57
+ }
58
+ async subscribe() {
59
+ this.unsubscribe();
60
+ this.subscription = this.translateService
61
+ .translate(this.getTranslateProps())
62
+ .subscribe((translated) => {
63
+ this.setElementContent(translated);
64
+ this.initialized = true;
65
+ });
66
+ }
67
+ setElementContent(translated) {
68
+ if (this.isHtml) {
69
+ this.getElement().innerHTML = translated;
70
+ return;
71
+ }
72
+ this.getElement().textContent = translated;
73
+ }
74
+ getElement() {
75
+ return this.ref.nativeElement;
76
+ }
77
+ static ɵfac = function TComponent_Factory(t) { return new (t || TComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.TranslateService)); };
78
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TComponent, selectors: [["", "t", ""]], inputs: { key: "key", ns: "ns", params: "params", default: "default", noWrap: "noWrap", language: "language", isHtml: "isHtml" }, features: [i0.ɵɵNgOnChangesFeature], attrs: _c0, decls: 0, vars: 0, template: function TComponent_Template(rf, ctx) { }, encapsulation: 2 });
79
+ }
80
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TComponent, [{
81
+ type: Component,
82
+ args: [{
83
+ selector: '[t]',
84
+ template: ``,
85
+ standalone: false
86
+ }]
87
+ }], () => [{ type: i0.ElementRef }, { type: i1.TranslateService }], { key: [{
88
+ type: Input
89
+ }], ns: [{
90
+ type: Input
91
+ }], params: [{
92
+ type: Input
93
+ }], default: [{
94
+ type: Input
95
+ }], noWrap: [{
96
+ type: Input
97
+ }], language: [{
98
+ type: Input
99
+ }], isHtml: [{
100
+ type: Input
101
+ }] }); })();
102
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TComponent, { className: "TComponent", filePath: "lib/t.component.ts", lineNumber: 18 }); })();
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7Ozs7QUFVdkIsTUFBTSxPQUFPLFVBQVU7SUFrQlg7SUFDQTtJQWxCRCxHQUFHLENBQWlCO0lBQ3BCLEVBQUUsQ0FBUztJQUNYLE1BQU0sQ0FBd0I7SUFDOUIsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sR0FBYSxLQUFLLENBQUM7SUFDekIsUUFBUSxDQUFVO0lBRTNCOzs7T0FHRztJQUNNLE1BQU0sR0FBYSxLQUFLLENBQUM7SUFFMUIsWUFBWSxDQUFlO0lBQzNCLFdBQVcsQ0FBVTtJQUU3QixZQUNVLEdBQWUsRUFDZixnQkFBa0M7UUFEbEMsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDekMsQ0FBQztJQUVKLFFBQVE7UUFDTix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1Qsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLDBCQUEwQjtRQUMxQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sS0FBSyxDQUFDLFNBQVM7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1lBQ3pDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDN0MsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQTRCLENBQUM7SUFDL0MsQ0FBQztvRUFqRlUsVUFBVTs2REFBVixVQUFVOztpRkFBVixVQUFVO2NBTHRCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsRUFBRTtnQkFDWixVQUFVLEVBQUUsS0FBSzthQUNsQjswRUFFVSxHQUFHO2tCQUFYLEtBQUs7WUFDRyxFQUFFO2tCQUFWLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBTUcsTUFBTTtrQkFBZCxLQUFLOztrRkFaSyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBhcmFtcywgVHJhbnNsYXRpb25LZXkgfSBmcm9tICdAdG9sZ2VlL3dlYic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1t0XScsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBrZXk6IFRyYW5zbGF0aW9uS2V5O1xuICBASW5wdXQoKSBuczogc3RyaW5nO1xuICBASW5wdXQoKSBwYXJhbXM/OiBUcmFuc2xhdGVQYXJhbXM8YW55PjtcbiAgQElucHV0KCkgZGVmYXVsdD86IHN0cmluZztcbiAgQElucHV0KCkgbm9XcmFwPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYW5ndWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hlbiB0cnVlLCBpbm5lckhUTUwgcHJvcGVydHkgb2YgZWxlbWVudCBpcyBzZXQuXG4gICAqIFVzZSBvbmx5IHdoZW4geW91J3JlIHN1cmUgdGhlIEhUTUwgaXMgc2FuaXRpemVkLlxuICAgKi9cbiAgQElucHV0KCkgaXNIdG1sPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBub2luc3BlY3Rpb24gSlNJZ25vcmVkUHJvbWlzZUZyb21DYWxsXG4gICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnJlbmRlckluc3RhbnRWYWx1ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgLy8gbm9pbnNwZWN0aW9uIEpTSWdub3JlZFByb21pc2VGcm9tQ2FsbFxuICAgIHRoaXMuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckluc3RhbnRWYWx1ZSgpIHtcbiAgICAvLyBnZXQgaW5pdGlhbCB2YWx1ZSBmaXJzdFxuICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh7XG4gICAgICAuLi50aGlzLmdldFRyYW5zbGF0ZVByb3BzKCksXG4gICAgICBvckVtcHR5OiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0RWxlbWVudENvbnRlbnQodHJhbnNsYXRlZCk7XG4gIH1cblxuICBwcml2YXRlIGdldFRyYW5zbGF0ZVByb3BzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgbnM6IHRoaXMubnMsXG4gICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxuICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmRlZmF1bHQsXG4gICAgICBub1dyYXA6IHRoaXMubm9XcmFwLFxuICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHN1YnNjcmliZSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIC50cmFuc2xhdGUodGhpcy5nZXRUcmFuc2xhdGVQcm9wcygpKVxuICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRlZCkgPT4ge1xuICAgICAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KHRyYW5zbGF0ZWQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFbGVtZW50Q29udGVudCh0cmFuc2xhdGVkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0h0bWwpIHtcbiAgICAgIHRoaXMuZ2V0RWxlbWVudCgpLmlubmVySFRNTCA9IHRyYW5zbGF0ZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZ2V0RWxlbWVudCgpLnRleHRDb250ZW50ID0gdHJhbnNsYXRlZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sZ2VlLWluc3RhbmNlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3RvbGdlZS1pbnN0YW5jZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0MsaUJBQWlCLENBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9sZ2VlSW5zdGFuY2UgfSBmcm9tICdAdG9sZ2VlL3dlYic7XG5cbmV4cG9ydCBjb25zdCBUT0xHRUVfSU5TVEFOQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48VG9sZ2VlSW5zdGFuY2U+KFxuICAndG9sZ2VlLmluc3RhbmNlJ1xuKTtcbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { Pipe, } from '@angular/core';
2
+ import { getTranslateProps, } from '@tolgee/web';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./translate.service";
5
+ export class TranslatePipe {
6
+ translateService;
7
+ _cdr;
8
+ value = '';
9
+ previousHash;
10
+ subscription;
11
+ constructor(translateService, _cdr) {
12
+ this.translateService = translateService;
13
+ this._cdr = _cdr;
14
+ }
15
+ ngOnDestroy() {
16
+ this.unsubscribe();
17
+ }
18
+ transform = (...args) => {
19
+ // @ts-ignore
20
+ const params = getTranslateProps(...args);
21
+ const { key } = params;
22
+ if (!key || key.length === 0) {
23
+ return key;
24
+ }
25
+ const newHash = this.hash(params);
26
+ if (this.previousHash === newHash) {
27
+ return this.value;
28
+ }
29
+ this.previousHash = newHash;
30
+ this.translate(params);
31
+ return this.value;
32
+ };
33
+ hash(props) {
34
+ return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);
35
+ }
36
+ unsubscribe() {
37
+ this.subscription?.unsubscribe();
38
+ this.subscription = null;
39
+ }
40
+ translate(props) {
41
+ this.value = this.translateService.instant({ ...props, orEmpty: true });
42
+ this.subscribe(props);
43
+ }
44
+ subscribe(props) {
45
+ this.unsubscribe();
46
+ this.subscription = this.translateService
47
+ .translate(props)
48
+ .subscribe((r) => {
49
+ this.value = r;
50
+ this._cdr.detectChanges();
51
+ });
52
+ }
53
+ static ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef, 16)); };
54
+ static ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type: TranslatePipe, pure: false });
55
+ }
56
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslatePipe, [{
57
+ type: Pipe,
58
+ args: [{
59
+ name: 'translate',
60
+ pure: false,
61
+ standalone: false,
62
+ }]
63
+ }], () => [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }], null); })();
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQ0wsaUJBQWlCLEdBSWxCLE1BQU0sYUFBYSxDQUFDOzs7QUFPckIsTUFBTSxPQUFPLGFBQWE7SUFPWjtJQUNGO0lBUEYsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFlBQVksQ0FBUztJQUVyQixZQUFZLENBQWU7SUFFbkMsWUFDWSxnQkFBa0MsRUFDcEMsSUFBdUI7UUFEckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNwQyxTQUFJLEdBQUosSUFBSSxDQUFtQjtJQUM5QixDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRVEsU0FBUyxHQUE0QyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7UUFDeEUsYUFBYTtRQUNiLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUV2QixJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUU1QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDLENBQUM7SUFFTSxJQUFJLENBQUMsS0FBcUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFxQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBcUI7UUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2hCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt1RUExRFUsYUFBYTs0RUFBYixhQUFhOztpRkFBYixhQUFhO2NBTHpCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsVUFBVSxFQUFFLEtBQUs7YUFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZ2V0VHJhbnNsYXRlUHJvcHMsXG4gIFRGblR5cGUsXG4gIFRyYW5zbGF0ZVByb3BzLFxuICBUcmFuc2xhdGlvbktleSxcbn0gZnJvbSAnQHRvbGdlZS93ZWInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHZhbHVlID0gJyc7XG4gIHByaXZhdGUgcHJldmlvdXNIYXNoOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWFkb25seSB0cmFuc2Zvcm06IFRGblR5cGU8c3RyaW5nLCBzdHJpbmcsIFRyYW5zbGF0aW9uS2V5PiA9ICguLi5hcmdzKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBhcmFtcyA9IGdldFRyYW5zbGF0ZVByb3BzKC4uLmFyZ3MpO1xuICAgIGNvbnN0IHsga2V5IH0gPSBwYXJhbXM7XG5cbiAgICBpZiAoIWtleSB8fCBrZXkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ga2V5O1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0hhc2ggPSB0aGlzLmhhc2gocGFyYW1zKTtcbiAgICBpZiAodGhpcy5wcmV2aW91c0hhc2ggPT09IG5ld0hhc2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMucHJldmlvdXNIYXNoID0gbmV3SGFzaDtcblxuICAgIHRoaXMudHJhbnNsYXRlKHBhcmFtcyk7XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfTtcblxuICBwcml2YXRlIGhhc2gocHJvcHM6IFRyYW5zbGF0ZVByb3BzKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtwcm9wcywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRvbGdlZS5nZXRMYW5ndWFnZSgpXSk7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlKHByb3BzOiBUcmFuc2xhdGVQcm9wcykge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh7IC4uLnByb3BzLCBvckVtcHR5OiB0cnVlIH0pO1xuICAgIHRoaXMuc3Vic2NyaWJlKHByb3BzKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlKHByb3BzOiBUcmFuc2xhdGVQcm9wcykge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgLnRyYW5zbGF0ZShwcm9wcylcbiAgICAgIC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHI7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,133 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { getTranslateProps, } from '@tolgee/web';
4
+ import { TOLGEE_INSTANCE } from './tolgee-instance-token';
5
+ import * as i0 from "@angular/core";
6
+ export class TranslateService {
7
+ _tolgee;
8
+ _ngZone;
9
+ runPromise;
10
+ constructor(_tolgee, _ngZone) {
11
+ this._tolgee = _tolgee;
12
+ this._ngZone = _ngZone;
13
+ }
14
+ get tolgee() {
15
+ return this._tolgee;
16
+ }
17
+ /**
18
+ * Starts Tolgee if not started.
19
+ *
20
+ * The Tolgee is run outside NgZone. The triggered events, doesn't
21
+ * trigger the change detection, when listening directly via Tolgee.on.
22
+ *
23
+ * However, all the emitting methods (on, translate, languageAsync)
24
+ * in this class are emitting back in Angular's NgZone,
25
+ * so the change detection works fine.
26
+ */
27
+ async start() {
28
+ if (!this.isSSR()) {
29
+ await this.runIfNotRunning();
30
+ }
31
+ }
32
+ /**
33
+ * Returns translation asynchronously, this method always return
34
+ */
35
+ translate = (...args) => {
36
+ // @ts-ignore
37
+ const params = getTranslateProps(...args);
38
+ return new Observable((subscriber) => {
39
+ const loadPromise = this.tolgee.addActiveNs(params.ns);
40
+ const translate = async () => {
41
+ await loadPromise;
42
+ const translated = this.tolgee.t(params);
43
+ subscriber.next(translated);
44
+ };
45
+ // noinspection JSIgnoredPromiseFromCall
46
+ translate();
47
+ const subscription = this.tolgee.on('update', translate);
48
+ return () => {
49
+ this.tolgee.removeActiveNs(params.ns);
50
+ subscription.unsubscribe();
51
+ };
52
+ });
53
+ };
54
+ /**
55
+ * Instantly returns translated value. May return undefined or outdated value.
56
+ * Use only when you cannot use translate.
57
+ */
58
+ instant = (...args) => {
59
+ // @ts-ignore
60
+ const params = getTranslateProps(...args);
61
+ return this.tolgee.t(params);
62
+ };
63
+ /**
64
+ * Returns current language
65
+ */
66
+ get language() {
67
+ return this.tolgee.getLanguage();
68
+ }
69
+ /**
70
+ * Returns an observable emitting current language.
71
+ * It instantly emits current language
72
+ */
73
+ get languageAsync() {
74
+ return new Observable((subscriber) => {
75
+ subscriber.next(this.tolgee.getLanguage());
76
+ const subscription = this.on('language').subscribe((value) => {
77
+ subscriber.next(value.value);
78
+ });
79
+ return () => subscription.unsubscribe();
80
+ });
81
+ }
82
+ /**
83
+ * Changes the current language
84
+ * @param lang The new current language (e.g. en, en-US)
85
+ * @return Promise<void> Resolves when translations
86
+ * for given language are loaded
87
+ */
88
+ changeLanguage(lang) {
89
+ return this.tolgee.changeLanguage(lang);
90
+ }
91
+ /**
92
+ * Returns observable emitting when specified event is triggered.
93
+ *
94
+ * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,
95
+ * so change detection should work properly.
96
+ *
97
+ * @param event the event to listen
98
+ */
99
+ on(event) {
100
+ return new Observable((subscriber) => {
101
+ const subscription = this.tolgee.on(event, (value) => {
102
+ this._ngZone.run(() => {
103
+ subscriber.next(value);
104
+ });
105
+ });
106
+ return () => subscription.unsubscribe();
107
+ });
108
+ }
109
+ ngOnDestroy() {
110
+ this.tolgee.stop();
111
+ }
112
+ async runIfNotRunning() {
113
+ if (!this.runPromise) {
114
+ this.runPromise = this._ngZone.runOutsideAngular(() => {
115
+ return this.tolgee.run();
116
+ });
117
+ }
118
+ await this.runPromise;
119
+ }
120
+ isSSR() {
121
+ return typeof window === 'undefined';
122
+ }
123
+ static ɵfac = function TranslateService_Factory(t) { return new (t || TranslateService)(i0.ɵɵinject(TOLGEE_INSTANCE), i0.ɵɵinject(i0.NgZone)); };
124
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateService, factory: TranslateService.ɵfac, providedIn: 'root' });
125
+ }
126
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslateService, [{
127
+ type: Injectable,
128
+ args: [{ providedIn: 'root' }]
129
+ }], () => [{ type: undefined, decorators: [{
130
+ type: Inject,
131
+ args: [TOLGEE_INSTANCE]
132
+ }] }, { type: i0.NgZone }], null); })();
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUdMLGlCQUFpQixHQUtsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzFELE1BQU0sT0FBTyxnQkFBZ0I7SUFJUTtJQUN6QjtJQUpGLFVBQVUsQ0FBZ0I7SUFFbEMsWUFDbUMsT0FBdUIsRUFDaEQsT0FBZTtRQURVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ2hELFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDdEIsQ0FBQztJQUVKLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTSxTQUFTLEdBQWtFLENBQ2xGLEdBQUcsSUFBSSxFQUNQLEVBQUU7UUFDRixhQUFhO1FBQ2IsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksVUFBVSxDQUFTLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVB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SSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEIsQ0FBQztJQUVPLEtBQUs7UUFDWCxPQUFPLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQztJQUN2QyxDQUFDOzBFQXBJVSxnQkFBZ0IsY0FJakIsZUFBZTtnRUFKZCxnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQURILE1BQU07O2lGQUNuQixnQkFBZ0I7Y0FENUIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7c0JBSzdCLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIERlZmF1bHRQYXJhbVR5cGUsXG4gIEV2ZW50VHlwZSxcbiAgZ2V0VHJhbnNsYXRlUHJvcHMsXG4gIExpc3RlbmVyRXZlbnQsXG4gIFRGblR5cGUsXG4gIFRvbGdlZUluc3RhbmNlLFxuICBUcmFuc2xhdGlvbktleSxcbn0gZnJvbSAnQHRvbGdlZS93ZWInO1xuaW1wb3J0IHsgVE9MR0VFX0lOU1RBTkNFIH0gZnJvbSAnLi90b2xnZWUtaW5zdGFuY2UtdG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJ1blByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChUT0xHRUVfSU5TVEFOQ0UpIHByaXZhdGUgX3RvbGdlZTogVG9sZ2VlSW5zdGFuY2UsXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIGdldCB0b2xnZWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvbGdlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgVG9sZ2VlIGlmIG5vdCBzdGFydGVkLlxuICAgKlxuICAgKiBUaGUgVG9sZ2VlIGlzIHJ1biBvdXRzaWRlIE5nWm9uZS4gVGhlIHRyaWdnZXJlZCBldmVudHMsIGRvZXNuJ3RcbiAgICogdHJpZ2dlciB0aGUgY2hhbmdlIGRldGVjdGlvbiwgd2hlbiBsaXN0ZW5pbmcgZGlyZWN0bHkgdmlhIFRvbGdlZS5vbi5cbiAgICpcbiAgICogSG93ZXZlciwgYWxsIHRoZSBlbWl0dGluZyBtZXRob2RzIChvbiwgdHJhbnNsYXRlLCBsYW5ndWFnZUFzeW5jKVxuICAgKiBpbiB0aGlzIGNsYXNzIGFyZSBlbWl0dGluZyBiYWNrIGluIEFuZ3VsYXIncyBOZ1pvbmUsXG4gICAqIHNvIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHdvcmtzIGZpbmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmlzU1NSKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMucnVuSWZOb3RSdW5uaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJhbnNsYXRpb24gYXN5bmNocm9ub3VzbHksIHRoaXMgbWV0aG9kIGFsd2F5cyByZXR1cm5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0ZTogVEZuVHlwZTxEZWZhdWx0UGFyYW1UeXBlLCBPYnNlcnZhYmxlPHN0cmluZz4sIFRyYW5zbGF0aW9uS2V5PiA9IChcbiAgICAuLi5hcmdzXG4gICkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwYXJhbXMgPSBnZXRUcmFuc2xhdGVQcm9wcyguLi5hcmdzKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3QgbG9hZFByb21pc2UgPSB0aGlzLnRvbGdlZS5hZGRBY3RpdmVOcyhwYXJhbXMubnMpO1xuICAgICAgY29uc3QgdHJhbnNsYXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCBsb2FkUHJvbWlzZTtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlZCA9IHRoaXMudG9sZ2VlLnQocGFyYW1zKTtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRyYW5zbGF0ZWQpO1xuICAgICAgfTtcblxuICAgICAgLy8gbm9pbnNwZWN0aW9uIEpTSWdub3JlZFByb21pc2VGcm9tQ2FsbFxuICAgICAgdHJhbnNsYXRlKCk7XG5cbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMudG9sZ2VlLm9uKCd1cGRhdGUnLCB0cmFuc2xhdGUpXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9sZ2VlLnJlbW92ZUFjdGl2ZU5zKHBhcmFtcy5ucyk7XG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogSW5zdGFudGx5IHJldHVybnMgdHJhbnNsYXRlZCB2YWx1ZS4gTWF5IHJldHVybiB1bmRlZmluZWQgb3Igb3V0ZGF0ZWQgdmFsdWUuXG4gICAqIFVzZSBvbmx5IHdoZW4geW91IGNhbm5vdCB1c2UgdHJhbnNsYXRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbnQ6IFRGblR5cGU8RGVmYXVsdFBhcmFtVHlwZSwgc3RyaW5nLCBUcmFuc2xhdGlvbktleT4gPSAoLi4uYXJncykgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwYXJhbXMgPSBnZXRUcmFuc2xhdGVQcm9wcyguLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUudChwYXJhbXMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICovXG4gIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5nZXRMYW5ndWFnZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBlbWl0dGluZyBjdXJyZW50IGxhbmd1YWdlLlxuICAgKiBJdCBpbnN0YW50bHkgZW1pdHMgY3VycmVudCBsYW5ndWFnZVxuICAgKi9cbiAgZ2V0IGxhbmd1YWdlQXN5bmMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHN1YnNjcmliZXIubmV4dCh0aGlzLnRvbGdlZS5nZXRMYW5ndWFnZSgpKTtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMub24oJ2xhbmd1YWdlJykuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUudmFsdWUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAqIEBwYXJhbSBsYW5nIFRoZSBuZXcgY3VycmVudCBsYW5ndWFnZSAoZS5nLiBlbiwgZW4tVVMpXG4gICAqIEByZXR1cm4gUHJvbWlzZTx2b2lkPiBSZXNvbHZlcyB3aGVuIHRyYW5zbGF0aW9uc1xuICAgKiBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgYXJlIGxvYWRlZFxuICAgKi9cbiAgcHVibGljIGNoYW5nZUxhbmd1YWdlKGxhbmc6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5jaGFuZ2VMYW5ndWFnZShsYW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIG9ic2VydmFibGUgZW1pdHRpbmcgd2hlbiBzcGVjaWZpZWQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBJdCdzIGEgd3JhcHBlciBvZiBUb2xnZWUub24gbWV0aG9kLiBUaGUgZW1taXQgaXMgdHJpZ2dlcmVkIGluc2lkZSBuZ1pvbmUsXG4gICAqIHNvIGNoYW5nZSBkZXRlY3Rpb24gc2hvdWxkIHdvcmsgcHJvcGVybHkuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCB0aGUgZXZlbnQgdG8gbGlzdGVuXG4gICAqL1xuICBvbjxFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50VHlwZT4oZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPExpc3RlbmVyRXZlbnQ8RXZlbnQsIEV2ZW50VHlwZVtFdmVudF0+Pigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy50b2xnZWUub24oZXZlbnQsICh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUgYXMgYW55KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudG9sZ2VlLnN0b3AoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuSWZOb3RSdW5uaW5nKCkge1xuICAgIGlmICghdGhpcy5ydW5Qcm9taXNlKSB7XG4gICAgICB0aGlzLnJ1blByb21pc2UgPSB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2xnZWUucnVuKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW5Qcm9taXNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NTUigpIHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Public API Surface of ngx-tolgee
3
+ */
4
+ export * from './lib/translate.service';
5
+ export * from './lib/translate.pipe';
6
+ export * from './lib/t.component';
7
+ export * from './lib/ngx-tolgee.module';
8
+ export * from './lib/tolgee-instance-token';
9
+ export * from '@tolgee/web';
10
+ export * from './lib/namespace.resolver';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXRvbGdlZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC10b2xnZWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvbGdlZS1pbnN0YW5jZS10b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJ0B0b2xnZWUvd2ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hbWVzcGFjZS5yZXNvbHZlcic7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sZ2VlLW5neC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL3RvbGdlZS1uZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==