@tolgee/ngx 6.4.0 → 6.4.1-prerelease.43dd4fa5.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.
package/index.d.ts CHANGED
@@ -1,5 +1,110 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@tolgee/ngx" />
5
- export * from './public-api';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnDestroy, PipeTransform, EnvironmentProviders, InjectionToken } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { TolgeeInstance, TranslateProps, TranslationKey, CombinedOptions, TFnType, DefaultParamType, EventType, ListenerEvent, TranslateParams } from '@tolgee/web';
5
+ export * from '@tolgee/web';
6
+ import { ResolveFn } from '@angular/router';
7
+
8
+ declare class TranslateService implements OnDestroy {
9
+ #private;
10
+ private runPromise;
11
+ private readonly _ngZone;
12
+ get tolgee(): TolgeeInstance;
13
+ /**
14
+ * Starts Tolgee if not started.
15
+ *
16
+ * The Tolgee is run outside NgZone. The triggered events don't
17
+ * trigger the change the detection when listening directly via Tolgee.on.
18
+ *
19
+ * However, all the emitting methods (on, translate, languageAsync)
20
+ * in this class are emitting back in Angular's NgZone,
21
+ * so the change detection works fine.
22
+ */
23
+ start(): Promise<void>;
24
+ translate(props: TranslateProps): Observable<string>;
25
+ translate(key: TranslationKey, options?: CombinedOptions<string>): Observable<string>;
26
+ translate(key: TranslationKey, defaultValue?: string, options?: CombinedOptions<string>): Observable<string>;
27
+ /**
28
+ * Instantly returns a translated value. May return undefined or outdated value.
29
+ * Use only when you cannot use translate pipe.
30
+ */
31
+ readonly instant: TFnType<DefaultParamType, string, TranslationKey>;
32
+ /**
33
+ * Returns current language
34
+ */
35
+ get language(): string;
36
+ /**
37
+ * Returns an observable emitting current language.
38
+ * It instantly emits the current language
39
+ */
40
+ get languageAsync(): Observable<string>;
41
+ /**
42
+ * Changes the current language
43
+ * @param lang The new current language (e.g., en, en-US)
44
+ * @return Promise<void> Resolves when translations
45
+ * for given language are loaded
46
+ */
47
+ changeLanguage(lang: string): Promise<void>;
48
+ /**
49
+ * Returns observable emitting when a specified event is triggered.
50
+ *
51
+ * It's a wrapper of Tolgee. 'on' method. The emmit is triggered inside ngZone,
52
+ * so change detection should work properly.
53
+ *
54
+ * @param event the event to listen
55
+ */
56
+ on<Event extends keyof EventType>(event: Event): Observable<ListenerEvent<Event, EventType[Event]>>;
57
+ ngOnDestroy(): void;
58
+ private runIfNotRunning;
59
+ private isSSR;
60
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslateService, never>;
61
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TranslateService>;
62
+ }
63
+
64
+ declare class TranslatePipe implements PipeTransform, OnDestroy {
65
+ private value;
66
+ private previousHash;
67
+ private subscription;
68
+ private readonly translateService;
69
+ private readonly _cdr;
70
+ ngOnDestroy(): void;
71
+ transform(props: TranslateProps<string, TranslationKey>): string;
72
+ transform(key: TranslationKey, options?: CombinedOptions<string>): string;
73
+ transform(key: TranslationKey, defaultValue?: string, options?: CombinedOptions<string>): string;
74
+ private hash;
75
+ private unsubscribe;
76
+ private translate;
77
+ private subscribe;
78
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslatePipe, never>;
79
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<TranslatePipe, "translate", true>;
80
+ }
81
+
82
+ declare class TDirective {
83
+ key: _angular_core.InputSignal<TranslationKey>;
84
+ ns: _angular_core.InputSignal<string>;
85
+ params: _angular_core.InputSignal<TranslateParams<any>>;
86
+ default: _angular_core.InputSignal<string>;
87
+ noWrap: _angular_core.InputSignal<boolean>;
88
+ language: _angular_core.InputSignal<string>;
89
+ /**
90
+ * When true, the innerHTML property of an element is set.
91
+ * Use only when you're sure the HTML is sanitized.
92
+ */
93
+ isHtml: _angular_core.InputSignal<boolean>;
94
+ private ref;
95
+ private translate;
96
+ private renderer;
97
+ private translateParams;
98
+ constructor();
99
+ private setElementContent;
100
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TDirective, never>;
101
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TDirective, "[t]", never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; "ns": { "alias": "ns"; "required": false; "isSignal": true; }; "params": { "alias": "params"; "required": false; "isSignal": true; }; "default": { "alias": "default"; "required": false; "isSignal": true; }; "noWrap": { "alias": "noWrap"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "isHtml": { "alias": "isHtml"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
102
+ }
103
+
104
+ declare function provideTolgee(factory: () => TolgeeInstance | Promise<TolgeeInstance>): EnvironmentProviders;
105
+
106
+ declare const TOLGEE_INSTANCE: InjectionToken<TolgeeInstance | Promise<TolgeeInstance>>;
107
+
108
+ declare const namespaceResolver: ResolveFn<void>;
109
+
110
+ export { TDirective, TOLGEE_INSTANCE, TranslatePipe, TranslateService, namespaceResolver, provideTolgee };
package/package.json CHANGED
@@ -6,10 +6,10 @@
6
6
  "url": "https://github.com/tolgee/tolgee-js"
7
7
  },
8
8
  "dependencies": {
9
- "@tolgee/web": "6.4.0",
9
+ "@tolgee/web": "6.4.1-prerelease.43dd4fa5.0",
10
10
  "tslib": "^2.3.0"
11
11
  },
12
- "version": "6.4.0",
12
+ "version": "6.4.1-prerelease.43dd4fa5.0",
13
13
  "publishConfig": {
14
14
  "directory": "../../dist/ngx-tolgee",
15
15
  "access": "public"
@@ -22,13 +22,11 @@
22
22
  },
23
23
  ".": {
24
24
  "types": "./index.d.ts",
25
- "esm2022": "./esm2022/tolgee-ngx.mjs",
26
- "esm": "./esm2022/tolgee-ngx.mjs",
27
25
  "default": "./fesm2022/tolgee-ngx.mjs"
28
26
  }
29
27
  },
30
28
  "sideEffects": false,
31
29
  "scripts": {
32
- "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
30
+ "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with partial compilation mode, before attempting to publish.\\n')\" && exit 1"
33
31
  }
34
32
  }
@@ -1,24 +0,0 @@
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
@@ -1,28 +0,0 @@
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
@@ -1,39 +0,0 @@
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
@@ -1,103 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const TOLGEE_INSTANCE = new InjectionToken('tolgee.instance');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sZ2VlLWluc3RhbmNlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3RvbGdlZS1pbnN0YW5jZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0MsaUJBQWlCLENBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9sZ2VlSW5zdGFuY2UgfSBmcm9tICdAdG9sZ2VlL3dlYic7XG5cbmV4cG9ydCBjb25zdCBUT0xHRUVfSU5TVEFOQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48VG9sZ2VlSW5zdGFuY2U+KFxuICAndG9sZ2VlLmluc3RhbmNlJ1xuKTtcbiJdfQ==
@@ -1,64 +0,0 @@
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
@@ -1,133 +0,0 @@
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==
@@ -1,11 +0,0 @@
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=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sZ2VlLW5neC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL3RvbGdlZS1uZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,6 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class LoaderComponent {
3
- html: string | undefined;
4
- static ɵfac: i0.ɵɵFactoryDeclaration<LoaderComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "ng-component", never, { "html": { "alias": "html"; "required": false; }; }, {}, never, never, false, never>;
6
- }
@@ -1,11 +0,0 @@
1
- import { ActivatedRouteSnapshot } from '@angular/router';
2
- import { TranslateService } from './translate.service';
3
- import * as i0 from "@angular/core";
4
- export declare class NamespaceResolver {
5
- service: TranslateService;
6
- constructor(service: TranslateService);
7
- resolve(route: ActivatedRouteSnapshot): Promise<void>;
8
- private getNamespace;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<NamespaceResolver, never>;
10
- static ɵprov: i0.ɵɵInjectableDeclaration<NamespaceResolver>;
11
- }
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./translate.pipe";
3
- import * as i2 from "./t.component";
4
- import * as i3 from "./loader.component";
5
- export declare class NgxTolgeeModule {
6
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxTolgeeModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxTolgeeModule, [typeof i1.TranslatePipe, typeof i2.TComponent, typeof i3.LoaderComponent], never, [typeof i1.TranslatePipe, typeof i2.TComponent]>;
8
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxTolgeeModule>;
9
- }