@tolgee/ngx 2.0.0 → 2.7.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/README.md CHANGED
@@ -1,12 +1,11 @@
1
+ # Tolgee for Angular
1
2
  ![test workflow](https://github.com/tolgee/tolgee-js/actions/workflows/test.yml/badge.svg)
2
3
  ![@tolgee/ngx version](https://img.shields.io/npm/v/@tolgee/ngx?label=%40tolgee%2Fngx)
3
4
  ![types typescript](https://img.shields.io/badge/Types-Typescript-blue)
4
5
  ![licence](https://img.shields.io/github/license/tolgee/tolgee-js)
5
- ![twitter](https://img.shields.io/twitter/follow/Tolgee_i18n?style=social)
6
+ [![twitter](https://img.shields.io/twitter/follow/Tolgee_i18n?style=social)](https://twitter.com/Tolgee_i18n)
6
7
  [![github stars](https://img.shields.io/github/stars/tolgee/tolgee-js?style=social)](https://github.com/tolgee/tolgee-js)
7
8
 
8
- # Tolgee for Angular
9
-
10
9
  [<img src="https://raw.githubusercontent.com/tolgee/documentation/main/tolgee_logo_text.svg" alt="Tolgee" width="200" />](https://tolgee.io)
11
10
 
12
11
  Lokalize (translate) your Angular app to multiple languages with Tolgee. For more information about using Tolgee with
@@ -0,0 +1,42 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
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
+ import { TComponent } from './t.component';
8
+ import * as i0 from "@angular/core";
9
+ 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
+ }
31
+ NgxTolgeeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ NgxTolgeeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, declarations: [TranslatePipe, STranslatePipe, TComponent], exports: [TranslatePipe, STranslatePipe, TComponent] });
33
+ NgxTolgeeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, providers: [] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ declarations: [TranslatePipe, STranslatePipe, TComponent],
38
+ exports: [TranslatePipe, STranslatePipe, TComponent],
39
+ providers: [],
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRvbGdlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvbmd4LXRvbGdlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFdBQVc7SUFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXFCO1FBQ2xDLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUMxRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCQUNwQjtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLENBQUMsUUFBOEIsRUFBRSxFQUFFO3dCQUM3QyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNsRCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDO29CQUM5QyxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUM3QztTQUNGLENBQUM7SUFDSixDQUFDOzs0R0FwQlUsZUFBZTs2R0FBZixlQUFlLGlCQUpYLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxhQUM5QyxhQUFhLEVBQUUsY0FBYyxFQUFFLFVBQVU7NkdBR3hDLGVBQWUsYUFGZixFQUFFOzJGQUVGLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7b0JBQ3pELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO29CQUNwRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uc1Byb3ZpZGVyIH0gZnJvbSAnLi90cmFuc2xhdGlvbnMtcHJvdmlkZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL3N0cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUb2xnZWVDb25maWcgfSBmcm9tICcuL3RvbGdlZUNvbmZpZyc7XG5pbXBvcnQgeyBUQ29tcG9uZW50IH0gZnJvbSAnLi90LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RyYW5zbGF0ZVBpcGUsIFNUcmFuc2xhdGVQaXBlLCBUQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RyYW5zbGF0ZVBpcGUsIFNUcmFuc2xhdGVQaXBlLCBUQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4VG9sZ2VlTW9kdWxlIHtcbiAgLy8gQGR5bmFtaWNcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogVG9sZ2VlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hUb2xnZWVNb2R1bGU+IHtcbiAgICBvcHRpb25zID0geyBmaWxlc1VybFByZWZpeDogJy9hc3NldHMvaTE4bi8nLCAuLi5vcHRpb25zIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hUb2xnZWVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgVHJhbnNsYXRpb25zUHJvdmlkZXIsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHByb3ZpZGVyOiBUcmFuc2xhdGlvbnNQcm92aWRlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IGF3YWl0IHByb3ZpZGVyLmxvYWQob3B0aW9ucyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbVHJhbnNsYXRpb25zUHJvdmlkZXIsIFRyYW5zbGF0ZVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IFRvbGdlZUNvbmZpZywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { TranslatePipe } from './translate.pipe';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./translate.service";
5
+ export class STranslatePipe extends TranslatePipe {
6
+ constructor(translateService) {
7
+ super(translateService);
8
+ }
9
+ get resultProvider() {
10
+ return (input, params, defaultValue) => this.translateService.getSafe(input, params, defaultValue);
11
+ }
12
+ }
13
+ STranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ STranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, name: "stranslate", pure: false });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: 'stranslate',
19
+ pure: false,
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYW5zbGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3N0cmFuc2xhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUMvQyxZQUFZLGdCQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDOzsyR0FaVSxjQUFjO3lHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3N0cmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU1RyYW5zbGF0ZVBpcGUgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlIHtcbiAgY29uc3RydWN0b3IodHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCByZXN1bHRQcm92aWRlcigpOiAoXG4gICAgaW5wdXQsXG4gICAgcGFyYW1zLFxuICAgIGRlZmF1bHRWYWx1ZVxuICApID0+IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChpbnB1dCwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpID0+XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0U2FmZShpbnB1dCwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./translate.service";
5
+ export class TComponent {
6
+ constructor(ref, translateService) {
7
+ this.ref = ref;
8
+ this.translateService = translateService;
9
+ }
10
+ get resultProvider() {
11
+ return (key, params, defaultValue) => this.translateService.getSafe(key, params, defaultValue);
12
+ }
13
+ ngOnInit() {
14
+ const element = this.ref.nativeElement;
15
+ element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);
16
+ //update value when language changed
17
+ this.onLangChangeSubscription =
18
+ this.translateService.onLangChange.subscribe(() => {
19
+ this.translate(this.key, this.params, this.default);
20
+ });
21
+ //update value when translation changed
22
+ this.onTranslationChangeSubscription =
23
+ this.translateService.onTranslationChange.subscribe((data) => {
24
+ if (data.key == this.key) {
25
+ this.translate(this.key, this.params, this.default);
26
+ }
27
+ });
28
+ this.translate(this.key, this.params, this.default);
29
+ }
30
+ ngOnDestroy() {
31
+ this.onLangChangeSubscription?.unsubscribe();
32
+ this.onTranslationChangeSubscription?.unsubscribe();
33
+ }
34
+ translate(key, params, defaultValue) {
35
+ this.resultProvider(key, params, defaultValue).subscribe((r) => {
36
+ this.ref.nativeElement.textContent = r;
37
+ });
38
+ }
39
+ }
40
+ TComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
41
+ TComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: TComponent, selector: "[t]", inputs: { params: "params", key: "key", default: "default" }, ngImport: i0, template: ``, isInline: true });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TComponent, decorators: [{
43
+ type: Component,
44
+ args: [{
45
+ selector: '[t]',
46
+ template: ``,
47
+ }]
48
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TranslateService }]; }, propDecorators: { params: [{
49
+ type: Input
50
+ }], key: [{
51
+ type: Input
52
+ }], default: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBTWxFLE1BQU0sT0FBTyxVQUFVO0lBUXJCLFlBQ1UsR0FBZSxFQUNmLGdCQUFrQztRQURsQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBNEIsQ0FBQztRQUV0RCxPQUFPLENBQUMsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLHdCQUF3QjtZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVMLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsK0JBQStCO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDckQ7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsK0JBQStCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQW9CO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUdBcERVLFVBQVU7MkZBQVYsVUFBVSx5R0FGWCxFQUFFOzJGQUVELFVBQVU7a0JBSnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7Z0lBR1UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFIH0gZnJvbSAnQHRvbGdlZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RdJyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBUQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICB2YWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBrZXk6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdD86IHN0cmluZztcbiAgb25MYW5nQ2hhbmdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIG9uVHJhbnNsYXRpb25DaGFuZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHByb3RlY3RlZCBnZXQgcmVzdWx0UHJvdmlkZXIoKTogKFxuICAgIGtleSxcbiAgICBwYXJhbXMsXG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmdcbiAgKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkgPT5cbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRTYWZlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFLCB0aGlzLmtleSk7XG5cbiAgICAvL3VwZGF0ZSB2YWx1ZSB3aGVuIGxhbmd1YWdlIGNoYW5nZWRcbiAgICB0aGlzLm9uTGFuZ0NoYW5nZVN1YnNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KTtcbiAgICAgIH0pO1xuXG4gICAgLy91cGRhdGUgdmFsdWUgd2hlbiB0cmFuc2xhdGlvbiBjaGFuZ2VkXG4gICAgdGhpcy5vblRyYW5zbGF0aW9uQ2hhbmdlU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vblRyYW5zbGF0aW9uQ2hhbmdlLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5rZXkgPT0gdGhpcy5rZXkpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZSh0aGlzLmtleSwgdGhpcy5wYXJhbXMsIHRoaXMuZGVmYXVsdCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMudHJhbnNsYXRlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25MYW5nQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVzdWx0UHJvdmlkZXIoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gcjtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,55 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./translate.service";
4
+ export class TranslatePipe {
5
+ constructor(translateService) {
6
+ this.translateService = translateService;
7
+ this.value = '';
8
+ }
9
+ get resultProvider() {
10
+ return (input, params, defaultValue) => this.translateService.get(input, params, defaultValue);
11
+ }
12
+ ngOnDestroy() {
13
+ this.langChangeSubscription.unsubscribe();
14
+ }
15
+ transform(input, paramsOrDefaultValue, params) {
16
+ if (!input || input.length === 0) {
17
+ return input;
18
+ }
19
+ const defaultValue = typeof paramsOrDefaultValue !== 'object'
20
+ ? paramsOrDefaultValue
21
+ : undefined;
22
+ if (typeof paramsOrDefaultValue === 'object') {
23
+ params = paramsOrDefaultValue;
24
+ }
25
+ const newHash = this.getHash(input, params, this.translateService.getCurrentLang());
26
+ if (newHash === this.lastHash) {
27
+ return this.value;
28
+ }
29
+ this.langChangeSubscription?.unsubscribe();
30
+ this.langChangeSubscription = this.translateService.onLangChange.subscribe(() => {
31
+ this.onLangChange(input, params, defaultValue);
32
+ });
33
+ this.onLangChange(input, params, defaultValue);
34
+ this.lastHash = newHash;
35
+ return this.value;
36
+ }
37
+ getHash(input, params, language) {
38
+ return JSON.stringify({ input, params, language });
39
+ }
40
+ onLangChange(input, params, defaultValue) {
41
+ this.resultProvider(input, params, defaultValue).subscribe((r) => {
42
+ this.value = r;
43
+ });
44
+ }
45
+ }
46
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
47
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, decorators: [{
49
+ type: Pipe,
50
+ args: [{
51
+ name: 'translate',
52
+ pure: false,
53
+ }]
54
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUp4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBSWdELENBQUM7SUFFNUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBU0QsU0FBUyxDQUNQLEtBQVUsRUFDVixvQkFBbUQsRUFDbkQsTUFBNEI7UUFFNUIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtZQUN0QyxDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFFBQVEsRUFBRTtZQUM1QyxNQUFNLEdBQUcsb0JBQW9CLENBQUM7U0FDL0I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUMxQixLQUFLLEVBQ0wsTUFBTSxFQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FDdkMsQ0FBQztRQUVGLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDeEUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsUUFBZ0I7UUFDN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQTdFVSxhQUFhO3dHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHZhbHVlID0gJyc7XG4gIGxhc3RIYXNoOiBzdHJpbmc7XG4gIHByaXZhdGUgbGFuZ0NoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIHByb3RlY3RlZCBnZXQgcmVzdWx0UHJvdmlkZXIoKTogKFxuICAgIGtleSxcbiAgICBwYXJhbXMsXG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmdcbiAgKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoaW5wdXQsIHBhcmFtcywgZGVmYXVsdFZhbHVlKSA9PlxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChpbnB1dCwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sYW5nQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZztcbiAgdHJhbnNmb3JtKFxuICAgIGlucHV0OiBhbnksXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogc3RyaW5nO1xuXG4gIHRyYW5zZm9ybShcbiAgICBpbnB1dDogYW55LFxuICAgIHBhcmFtc09yRGVmYXVsdFZhbHVlPzogUmVjb3JkPHN0cmluZywgYW55PiB8IHN0cmluZyxcbiAgICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCFpbnB1dCB8fCBpbnB1dC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPVxuICAgICAgdHlwZW9mIHBhcmFtc09yRGVmYXVsdFZhbHVlICE9PSAnb2JqZWN0J1xuICAgICAgICA/IHBhcmFtc09yRGVmYXVsdFZhbHVlXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJhbXNPckRlZmF1bHRWYWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtc09yRGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0hhc2ggPSB0aGlzLmdldEhhc2goXG4gICAgICBpbnB1dCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRDdXJyZW50TGFuZygpXG4gICAgKTtcblxuICAgIGlmIChuZXdIYXNoID09PSB0aGlzLmxhc3RIYXNoKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmxhbmdDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sYW5nQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMub25MYW5nQ2hhbmdlKGlucHV0LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMub25MYW5nQ2hhbmdlKGlucHV0LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSk7XG5cbiAgICB0aGlzLmxhc3RIYXNoID0gbmV3SGFzaDtcblxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIYXNoKGlucHV0OiBzdHJpbmcsIHBhcmFtczogb2JqZWN0LCBsYW5ndWFnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoeyBpbnB1dCwgcGFyYW1zLCBsYW5ndWFnZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25MYW5nQ2hhbmdlKGlucHV0LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkge1xuICAgIHRoaXMucmVzdWx0UHJvdmlkZXIoaW5wdXQsIHBhcmFtcywgZGVmYXVsdFZhbHVlKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSByO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { EventEmitter, Injectable } from '@angular/core';
2
+ import { from } from 'rxjs';
3
+ import { Tolgee } from '@tolgee/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./tolgeeConfig";
6
+ export class TranslateService {
7
+ constructor(config) {
8
+ this.config = config;
9
+ this.onLangChange = new EventEmitter();
10
+ this.onTranslationChange = new EventEmitter();
11
+ }
12
+ get tolgee() {
13
+ return this._tolgee;
14
+ }
15
+ async start(config) {
16
+ if (!this.runPromise) {
17
+ this._tolgee = new Tolgee(config);
18
+ this.runPromise = this.tolgee.run();
19
+ this.unsubscribeCoreListeners();
20
+ this.onTranslationChangeCoreSubscription =
21
+ this._tolgee.onTranslationChange.subscribe((data) => {
22
+ this.onTranslationChange.emit(data);
23
+ });
24
+ this.onLangChangeCoreSubscription = this._tolgee.onLangChange.subscribe(() => {
25
+ this.onLangChange.emit();
26
+ });
27
+ }
28
+ await this.runPromise;
29
+ }
30
+ ngOnDestroy() {
31
+ this.tolgee.stop();
32
+ this.unsubscribeCoreListeners();
33
+ }
34
+ setLang(lang) {
35
+ this.tolgee.lang = lang;
36
+ }
37
+ get(input, params = {}, defaultValue) {
38
+ return from(this.translate(input, params, false, defaultValue));
39
+ }
40
+ getSafe(input, params = {}, defaultValue) {
41
+ return from(this.translate(input, params, true, defaultValue));
42
+ }
43
+ instant(input, params = {}, defaultValue) {
44
+ return this.tolgee.instant(input, params, undefined, undefined, defaultValue);
45
+ }
46
+ instantSafe(input, params = {}, defaultValue) {
47
+ return this.tolgee.instant(input, params, true, undefined, defaultValue);
48
+ }
49
+ getCurrentLang() {
50
+ return this.tolgee.lang;
51
+ }
52
+ unsubscribeCoreListeners() {
53
+ this.onTranslationChangeCoreSubscription?.unsubscribe();
54
+ this.onLangChangeCoreSubscription?.unsubscribe();
55
+ }
56
+ async translate(input, params = {}, noWrap = false, defaultValue) {
57
+ //wait for start before translating
58
+ await this.start(this.config);
59
+ return await this.tolgee.translate(input, params, noWrap, defaultValue);
60
+ }
61
+ }
62
+ TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService, deps: [{ token: i1.TolgeeConfig }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: function () { return [{ type: i1.TolgeeConfig }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFtQixNQUFNLGNBQWMsQ0FBQzs7O0FBSXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFBb0IsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQVJ4QixpQkFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzlELHdCQUFtQixHQUNqQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQU1LLENBQUM7SUFJNUMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQW9CO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQ0FBbUM7Z0JBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDckUsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRU0sR0FBRyxDQUNSLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sT0FBTyxDQUNaLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWEsRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLFlBQXFCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3hCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXLENBQ2hCLEtBQWEsRUFDYixNQUFNLEdBQUcsRUFBRSxFQUNYLFlBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsbUNBQW1DLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUyxDQUNyQixLQUFhLEVBQ2IsTUFBTSxHQUFHLEVBQUUsRUFDWCxNQUFNLEdBQUcsS0FBSyxFQUNkLFlBQW9CO1FBRXBCLG1DQUFtQztRQUNuQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs2R0FoR1UsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2xnZWUsIFRyYW5zbGF0aW9uRGF0YSB9IGZyb20gJ0B0b2xnZWUvY29yZSc7XG5pbXBvcnQgeyBUb2xnZWVDb25maWcgfSBmcm9tICcuL3RvbGdlZUNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IG9uTGFuZ0NoYW5nZTogRXZlbnRFbWl0dGVyPG5ldmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bmV2ZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBvblRyYW5zbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VHJhbnNsYXRpb25EYXRhPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2xhdGlvbkRhdGE+KCk7XG5cbiAgcHJpdmF0ZSBydW5Qcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIG9uVHJhbnNsYXRpb25DaGFuZ2VDb3JlU3Vic2NyaXB0aW9uOiBhbnk7XG4gIHByaXZhdGUgb25MYW5nQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBUb2xnZWVDb25maWcpIHt9XG5cbiAgcHJpdmF0ZSBfdG9sZ2VlOiBUb2xnZWU7XG5cbiAgcHVibGljIGdldCB0b2xnZWUoKTogVG9sZ2VlIHtcbiAgICByZXR1cm4gdGhpcy5fdG9sZ2VlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0YXJ0KGNvbmZpZzogVG9sZ2VlQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnJ1blByb21pc2UpIHtcbiAgICAgIHRoaXMuX3RvbGdlZSA9IG5ldyBUb2xnZWUoY29uZmlnKTtcbiAgICAgIHRoaXMucnVuUHJvbWlzZSA9IHRoaXMudG9sZ2VlLnJ1bigpO1xuICAgICAgdGhpcy51bnN1YnNjcmliZUNvcmVMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLl90b2xnZWUub25UcmFuc2xhdGlvbkNoYW5nZS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLm9uVHJhbnNsYXRpb25DaGFuZ2UuZW1pdChkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLm9uTGFuZ0NoYW5nZUNvcmVTdWJzY3JpcHRpb24gPSB0aGlzLl90b2xnZWUub25MYW5nQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25MYW5nQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW5Qcm9taXNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50b2xnZWUuc3RvcCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvbGdlZS5sYW5nID0gbGFuZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQoXG4gICAgaW5wdXQ6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLnRyYW5zbGF0ZShpbnB1dCwgcGFyYW1zLCBmYWxzZSwgZGVmYXVsdFZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2FmZShcbiAgICBpbnB1dDogc3RyaW5nLFxuICAgIHBhcmFtcyA9IHt9LFxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMudHJhbnNsYXRlKGlucHV0LCBwYXJhbXMsIHRydWUsIGRlZmF1bHRWYWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGluc3RhbnQoaW5wdXQ6IHN0cmluZywgcGFyYW1zID0ge30sIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9sZ2VlLmluc3RhbnQoXG4gICAgICBpbnB1dCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHRWYWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5zdGFudFNhZmUoXG4gICAgaW5wdXQ6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUuaW5zdGFudChpbnB1dCwgcGFyYW1zLCB0cnVlLCB1bmRlZmluZWQsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudExhbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUubGFuZztcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCkge1xuICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZUNvcmVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbkxhbmdDaGFuZ2VDb3JlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2xhdGUoXG4gICAgaW5wdXQ6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBub1dyYXAgPSBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vd2FpdCBmb3Igc3RhcnQgYmVmb3JlIHRyYW5zbGF0aW5nXG4gICAgYXdhaXQgdGhpcy5zdGFydCh0aGlzLmNvbmZpZyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudG9sZ2VlLnRyYW5zbGF0ZShpbnB1dCwgcGFyYW1zLCBub1dyYXAsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./translate.service";
4
+ export class TranslationsProvider {
5
+ constructor(translateService) {
6
+ this.translateService = translateService;
7
+ }
8
+ async load(options) {
9
+ return await this.translateService.start(options);
10
+ }
11
+ }
12
+ TranslationsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ TranslationsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider, decorators: [{
15
+ type: Injectable
16
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3RyYW5zbGF0aW9ucy1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFLekMsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFxQjtRQUM5QixPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOztpSEFQVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIi4vdHJhbnNsYXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7VG9sZ2VlQ29uZmlnfSBmcm9tIFwiQHRvbGdlZS9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNQcm92aWRlciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gIH1cblxuICBhc3luYyBsb2FkKG9wdGlvbnM6IFRvbGdlZUNvbmZpZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RhcnQob3B0aW9ucyk7XG4gIH1cbn1cblxuXG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
- import { EventEmitter, Injectable, Pipe, Component, ElementRef, Input, APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import * as i0 from '@angular/core';
3
+ import { EventEmitter, Injectable, Pipe, Component, Input, APP_INITIALIZER, NgModule } from '@angular/core';
3
4
  import { from } from 'rxjs';
4
5
  import { Tolgee, TolgeeConfig, TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';
5
6
  export { TolgeeConfig } from '@tolgee/core';
@@ -65,12 +66,11 @@ class TranslateService {
65
66
  });
66
67
  }
67
68
  }
68
- TranslateService.decorators = [
69
- { type: Injectable }
70
- ];
71
- TranslateService.ctorParameters = () => [
72
- { type: TolgeeConfig }
73
- ];
69
+ TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService, deps: [{ token: TolgeeConfig }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslateService, decorators: [{
72
+ type: Injectable
73
+ }], ctorParameters: function () { return [{ type: TolgeeConfig }]; } });
74
74
 
75
75
  class TranslatePipe {
76
76
  constructor(translateService) {
@@ -115,15 +115,15 @@ class TranslatePipe {
115
115
  });
116
116
  }
117
117
  }
118
- TranslatePipe.decorators = [
119
- { type: Pipe, args: [{
120
- name: 'translate',
121
- pure: false,
122
- },] }
123
- ];
124
- TranslatePipe.ctorParameters = () => [
125
- { type: TranslateService }
126
- ];
118
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
119
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslatePipe, decorators: [{
121
+ type: Pipe,
122
+ args: [{
123
+ name: 'translate',
124
+ pure: false,
125
+ }]
126
+ }], ctorParameters: function () { return [{ type: TranslateService }]; } });
127
127
 
128
128
  class STranslatePipe extends TranslatePipe {
129
129
  constructor(translateService) {
@@ -133,15 +133,15 @@ class STranslatePipe extends TranslatePipe {
133
133
  return (input, params, defaultValue) => this.translateService.getSafe(input, params, defaultValue);
134
134
  }
135
135
  }
136
- STranslatePipe.decorators = [
137
- { type: Pipe, args: [{
138
- name: 'stranslate',
139
- pure: false,
140
- },] }
141
- ];
142
- STranslatePipe.ctorParameters = () => [
143
- { type: TranslateService }
144
- ];
136
+ STranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
137
+ STranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, name: "stranslate", pure: false });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: STranslatePipe, decorators: [{
139
+ type: Pipe,
140
+ args: [{
141
+ name: 'stranslate',
142
+ pure: false,
143
+ }]
144
+ }], ctorParameters: function () { return [{ type: TranslateService }]; } });
145
145
 
146
146
  class TComponent {
147
147
  constructor(ref, translateService) {
@@ -179,21 +179,21 @@ class TComponent {
179
179
  });
180
180
  }
181
181
  }
182
- TComponent.decorators = [
183
- { type: Component, args: [{
184
- selector: '[t]',
185
- template: ``
186
- },] }
187
- ];
188
- TComponent.ctorParameters = () => [
189
- { type: ElementRef },
190
- { type: TranslateService }
191
- ];
192
- TComponent.propDecorators = {
193
- params: [{ type: Input }],
194
- key: [{ type: Input }],
195
- default: [{ type: Input }]
196
- };
182
+ TComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TComponent, deps: [{ token: i0.ElementRef }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
183
+ TComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: TComponent, selector: "[t]", inputs: { params: "params", key: "key", default: "default" }, ngImport: i0, template: ``, isInline: true });
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TComponent, decorators: [{
185
+ type: Component,
186
+ args: [{
187
+ selector: '[t]',
188
+ template: ``,
189
+ }]
190
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: TranslateService }]; }, propDecorators: { params: [{
191
+ type: Input
192
+ }], key: [{
193
+ type: Input
194
+ }], default: [{
195
+ type: Input
196
+ }] } });
197
197
 
198
198
  class TranslationsProvider {
199
199
  constructor(translateService) {
@@ -205,12 +205,11 @@ class TranslationsProvider {
205
205
  });
206
206
  }
207
207
  }
208
- TranslationsProvider.decorators = [
209
- { type: Injectable }
210
- ];
211
- TranslationsProvider.ctorParameters = () => [
212
- { type: TranslateService }
213
- ];
208
+ TranslationsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
209
+ TranslationsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TranslationsProvider, decorators: [{
211
+ type: Injectable
212
+ }], ctorParameters: function () { return [{ type: TranslateService }]; } });
214
213
 
215
214
  class NgxTolgeeModule {
216
215
  // @dynamic
@@ -234,13 +233,17 @@ class NgxTolgeeModule {
234
233
  };
235
234
  }
236
235
  }
237
- NgxTolgeeModule.decorators = [
238
- { type: NgModule, args: [{
239
- declarations: [TranslatePipe, STranslatePipe, TComponent],
240
- exports: [TranslatePipe, STranslatePipe, TComponent],
241
- providers: [],
242
- },] }
243
- ];
236
+ NgxTolgeeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
237
+ NgxTolgeeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, declarations: [TranslatePipe, STranslatePipe, TComponent], exports: [TranslatePipe, STranslatePipe, TComponent] });
238
+ NgxTolgeeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, providers: [] });
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxTolgeeModule, decorators: [{
240
+ type: NgModule,
241
+ args: [{
242
+ declarations: [TranslatePipe, STranslatePipe, TComponent],
243
+ exports: [TranslatePipe, STranslatePipe, TComponent],
244
+ providers: [],
245
+ }]
246
+ }] });
244
247
 
245
248
  /*
246
249
  * Public API Surface of ngx-tolgee
@@ -251,4 +254,4 @@ NgxTolgeeModule.decorators = [
251
254
  */
252
255
 
253
256
  export { NgxTolgeeModule, STranslatePipe, TComponent, TranslatePipe, TranslateService };
254
- //# sourceMappingURL=tolgee-ngx.js.map
257
+ //# sourceMappingURL=tolgee-ngx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/stranslate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/translations-provider.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { EventEmitter, Injectable, OnDestroy } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { Tolgee, TranslationData } from '@tolgee/core';\nimport { TolgeeConfig } from './tolgeeConfig';\n\n@Injectable()\nexport class TranslateService implements OnDestroy {\n public readonly onLangChange: EventEmitter<never> = new EventEmitter<never>();\n public readonly onTranslationChange: EventEmitter<TranslationData> =\n new EventEmitter<TranslationData>();\n\n private runPromise: Promise<void>;\n private onTranslationChangeCoreSubscription: any;\n private onLangChangeCoreSubscription: any;\n\n constructor(private config: TolgeeConfig) {}\n\n private _tolgee: Tolgee;\n\n public get tolgee(): Tolgee {\n return this._tolgee;\n }\n\n public async start(config: TolgeeConfig): Promise<void> {\n if (!this.runPromise) {\n this._tolgee = new Tolgee(config);\n this.runPromise = this.tolgee.run();\n this.unsubscribeCoreListeners();\n this.onTranslationChangeCoreSubscription =\n this._tolgee.onTranslationChange.subscribe((data) => {\n this.onTranslationChange.emit(data);\n });\n this.onLangChangeCoreSubscription = this._tolgee.onLangChange.subscribe(\n () => {\n this.onLangChange.emit();\n }\n );\n }\n await this.runPromise;\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n this.unsubscribeCoreListeners();\n }\n\n public setLang(lang: string) {\n this.tolgee.lang = lang;\n }\n\n public get(\n input: string,\n params = {},\n defaultValue?: string\n ): Observable<string> {\n return from(this.translate(input, params, false, defaultValue));\n }\n\n public getSafe(\n input: string,\n params = {},\n defaultValue?: string\n ): Observable<string> {\n return from(this.translate(input, params, true, defaultValue));\n }\n\n public instant(input: string, params = {}, defaultValue?: string): string {\n return this.tolgee.instant(\n input,\n params,\n undefined,\n undefined,\n defaultValue\n );\n }\n\n public instantSafe(\n input: string,\n params = {},\n defaultValue?: string\n ): string {\n return this.tolgee.instant(input, params, true, undefined, defaultValue);\n }\n\n public getCurrentLang(): string {\n return this.tolgee.lang;\n }\n\n private unsubscribeCoreListeners() {\n this.onTranslationChangeCoreSubscription?.unsubscribe();\n this.onLangChangeCoreSubscription?.unsubscribe();\n }\n\n private async translate(\n input: string,\n params = {},\n noWrap = false,\n defaultValue: string\n ): Promise<string> {\n //wait for start before translating\n await this.start(this.config);\n return await this.tolgee.translate(input, params, noWrap, defaultValue);\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Observable, Subscription } from 'rxjs';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n value = '';\n lastHash: string;\n private langChangeSubscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n protected get resultProvider(): (\n key,\n params,\n defaultValue: string\n ) => Observable<string> {\n return (input, params, defaultValue) =>\n this.translateService.get(input, params, defaultValue);\n }\n\n ngOnDestroy(): void {\n this.langChangeSubscription.unsubscribe();\n }\n\n transform(input: any, params?: Record<string, any>): string;\n transform(\n input: any,\n defaultValue?: string,\n params?: Record<string, any>\n ): string;\n\n transform(\n input: any,\n paramsOrDefaultValue?: Record<string, any> | string,\n params?: Record<string, any>\n ): string {\n if (!input || input.length === 0) {\n return input;\n }\n\n const defaultValue =\n typeof paramsOrDefaultValue !== 'object'\n ? paramsOrDefaultValue\n : undefined;\n\n if (typeof paramsOrDefaultValue === 'object') {\n params = paramsOrDefaultValue;\n }\n\n const newHash = this.getHash(\n input,\n params,\n this.translateService.getCurrentLang()\n );\n\n if (newHash === this.lastHash) {\n return this.value;\n }\n\n this.langChangeSubscription?.unsubscribe();\n this.langChangeSubscription = this.translateService.onLangChange.subscribe(\n () => {\n this.onLangChange(input, params, defaultValue);\n }\n );\n\n this.onLangChange(input, params, defaultValue);\n\n this.lastHash = newHash;\n\n return this.value;\n }\n\n private getHash(input: string, params: object, language: string): string {\n return JSON.stringify({ input, params, language });\n }\n\n private onLangChange(input, params, defaultValue) {\n this.resultProvider(input, params, defaultValue).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import { Pipe } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { TranslatePipe } from './translate.pipe';\nimport { Observable } from 'rxjs';\n\n@Pipe({\n name: 'stranslate',\n pure: false,\n})\nexport class STranslatePipe extends TranslatePipe {\n constructor(translateService: TranslateService) {\n super(translateService);\n }\n\n protected get resultProvider(): (\n input,\n params,\n defaultValue\n ) => Observable<string> {\n return (input, params, defaultValue) =>\n this.translateService.getSafe(input, params, defaultValue);\n }\n}\n","import { Component, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy {\n value: string;\n @Input() params?: Record<string, any>;\n @Input() key: string;\n @Input() default?: string;\n onLangChangeSubscription: Subscription;\n onTranslationChangeSubscription: Subscription;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n protected get resultProvider(): (\n key,\n params,\n defaultValue: string\n ) => Observable<string> {\n return (key, params, defaultValue) =>\n this.translateService.getSafe(key, params, defaultValue);\n }\n\n ngOnInit(): void {\n const element = this.ref.nativeElement as HTMLElement;\n\n element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);\n\n //update value when language changed\n this.onLangChangeSubscription =\n this.translateService.onLangChange.subscribe(() => {\n this.translate(this.key, this.params, this.default);\n });\n\n //update value when translation changed\n this.onTranslationChangeSubscription =\n this.translateService.onTranslationChange.subscribe((data) => {\n if (data.key == this.key) {\n this.translate(this.key, this.params, this.default);\n }\n });\n this.translate(this.key, this.params, this.default);\n }\n\n ngOnDestroy(): void {\n this.onLangChangeSubscription?.unsubscribe();\n this.onTranslationChangeSubscription?.unsubscribe();\n }\n\n private translate(key, params, defaultValue: string) {\n this.resultProvider(key, params, defaultValue).subscribe((r) => {\n this.ref.nativeElement.textContent = r;\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from \"./translate.service\";\nimport {TolgeeConfig} from \"@tolgee/core\";\n\n@Injectable()\nexport class TranslationsProvider {\n\n constructor(private translateService: TranslateService) {\n }\n\n async load(options: TolgeeConfig) {\n return await this.translateService.start(options);\n }\n}\n\n\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslationsProvider } from './translations-provider';\nimport { TranslateService } from './translate.service';\nimport { STranslatePipe } from './stranslate.pipe';\nimport { TolgeeConfig } from './tolgeeConfig';\nimport { TComponent } from './t.component';\n\n@NgModule({\n declarations: [TranslatePipe, STranslatePipe, TComponent],\n exports: [TranslatePipe, STranslatePipe, TComponent],\n providers: [],\n})\nexport class NgxTolgeeModule {\n // @dynamic\n static forRoot(options: TolgeeConfig): ModuleWithProviders<NgxTolgeeModule> {\n options = { filesUrlPrefix: '/assets/i18n/', ...options };\n return {\n ngModule: NgxTolgeeModule,\n providers: [\n TranslateService,\n TranslationsProvider,\n {\n provide: APP_INITIALIZER,\n useFactory: (provider: TranslationsProvider) => {\n return async () => await provider.load(options);\n },\n deps: [TranslationsProvider, TranslateService],\n multi: true,\n },\n { provide: TolgeeConfig, useValue: options },\n ],\n };\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nimport { TranslateService } from './lib/translate.service';\nimport { TranslatePipe } from './lib/translate.pipe';\nimport { STranslatePipe } from './lib/stranslate.pipe';\nimport { TolgeeConfig } from './lib/tolgeeConfig';\nimport { TComponent } from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport { TolgeeConfig };\nexport { TranslateService };\nexport { TranslatePipe };\nexport { STranslatePipe };\nexport { TComponent };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}