@rxap/ngx-localize 16.1.0-dev.3 → 16.1.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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [16.1.0](https://gitlab.com/rxap/packages/compare/@rxap/ngx-localize@16.1.0-dev.4...@rxap/ngx-localize@16.1.0) (2024-02-07)
7
+
8
+ **Note:** Version bump only for package @rxap/ngx-localize
9
+
10
+ # [16.1.0-dev.4](https://gitlab.com/rxap/packages/compare/@rxap/ngx-localize@16.1.0-dev.3...@rxap/ngx-localize@16.1.0-dev.4) (2023-11-23)
11
+
12
+ ### Bug Fixes
13
+
14
+ - always show the selected language ([78d02b7](https://gitlab.com/rxap/packages/commit/78d02b7c9918104e9cdf750b7d29a04e60a68187))
15
+
6
16
  # [16.1.0-dev.3](https://gitlab.com/rxap/packages/compare/@rxap/ngx-localize@16.1.0-dev.2...@rxap/ngx-localize@16.1.0-dev.3) (2023-10-30)
7
17
 
8
18
  **Note:** Version bump only for package @rxap/ngx-localize
package/README.md CHANGED
@@ -17,5 +17,5 @@ yarn add @rxap/ngx-localize
17
17
  ```
18
18
  **Install peer dependencies:**
19
19
  ```bash
20
- yarn add @angular/common@^16.1.4 @angular/core@^16.1.4 @rxap/config@^16.0.0-dev.19 @rxap/ngx-user@^16.1.0-dev.7 rxjs@^7.8.1
20
+ yarn add @angular/common@^16.1.4 @angular/core@^16.1.4 @rxap/config@^16.0.0-dev.22 @rxap/ngx-user@^16.1.0-dev.10 rxjs@^7.8.1
21
21
  ```
@@ -1,4 +1,4 @@
1
- import { Inject, Injectable, LOCALE_ID, } from '@angular/core';
1
+ import { Inject, Injectable, isDevMode, LOCALE_ID, } from '@angular/core';
2
2
  import { UserSettingsLanguageService } from '@rxap/ngx-user';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@rxap/ngx-user";
@@ -10,7 +10,9 @@ export class I18nService {
10
10
  }
11
11
  async setLanguage(language) {
12
12
  await this.userSettingsLanguageService.setLanguage(language);
13
- this.redirect(language);
13
+ if (!isDevMode()) {
14
+ this.redirect(language);
15
+ }
14
16
  }
15
17
  redirect(next, current = this.currentLanguage) {
16
18
  if (current === next) {
@@ -33,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
33
35
  type: Inject,
34
36
  args: [LOCALE_ID]
35
37
  }] }, { type: i1.UserSettingsLanguageService }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sb2NhbGl6ZS9zcmMvbGliL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3RCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUVtQixPQUFlLEVBQ2YsMkJBQXdEO1FBRHhELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBRXpFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ3ZDLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBWSxFQUFFLFVBQWtCLElBQUksQ0FBQyxlQUFlO1FBQ2xFLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7WUFDekUsT0FBTztTQUNSO1FBQ0QsTUFBTSxXQUFXLEdBQ2YsUUFBUSxDQUFDLE1BQU07WUFDZixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFNLE9BQVEsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFLLEVBQUUsQ0FBQztZQUNyRSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDekQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQTVCVSxXQUFXLGtCQUtaLFNBQVM7a0hBTFIsV0FBVyxjQURFLE1BQU07OzJGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTTdCLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgTE9DQUxFX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nc0xhbmd1YWdlU2VydmljZSB9IGZyb20gJ0ByeGFwL25neC11c2VyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTE9DQUxFX0lEKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNldHRpbmdzTGFuZ3VhZ2VTZXJ2aWNlOiBVc2VyU2V0dGluZ3NMYW5ndWFnZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gdGhpcy5sb2NhbElkLnJlcGxhY2UoLy1bQS1aXSskLywgJycpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLnVzZXJTZXR0aW5nc0xhbmd1YWdlU2VydmljZS5zZXRMYW5ndWFnZShsYW5ndWFnZSk7XG4gICAgdGhpcy5yZWRpcmVjdChsYW5ndWFnZSk7XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3QobmV4dDogc3RyaW5nLCBjdXJyZW50OiBzdHJpbmcgPSB0aGlzLmN1cnJlbnRMYW5ndWFnZSkge1xuICAgIGlmIChjdXJyZW50ID09PSBuZXh0KSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tJMThuU2VydmljZV0gcmVkaXJlY3Qgbm90IHJlcXVpcmVkIC0gbGFuZ3VhZ2UgdW5jaGFuZ2VkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlZGlyZWN0VXJsID1cbiAgICAgIGxvY2F0aW9uLm9yaWdpbiArXG4gICAgICBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoYF4vJHsgY3VycmVudCB9YCksIGAvJHsgbmV4dCB9YCkgK1xuICAgICAgbG9jYXRpb24uc2VhcmNoO1xuICAgIGNvbnNvbGUubG9nKCdbSTE4blNlcnZpY2VdIHJlZGlyZWN0IHRvOiAnICsgcmVkaXJlY3RVcmwpO1xuICAgIGxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpO1xuICB9XG5cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sb2NhbGl6ZS9zcmMvbGliL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHN0QsTUFBTSxPQUFPLFdBQVc7SUFJdEIsWUFFbUIsT0FBZSxFQUNmLDJCQUF3RDtRQUR4RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUV6RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUN2QyxNQUFNLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVksRUFBRSxVQUFrQixJQUFJLENBQUMsZUFBZTtRQUNsRSxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1lBQ3pFLE9BQU87U0FDUjtRQUNELE1BQU0sV0FBVyxHQUNmLFFBQVEsQ0FBQyxNQUFNO1lBQ2YsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBTSxPQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBSyxFQUFFLENBQUM7WUFDckUsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0E5QlUsV0FBVyxrQkFLWixTQUFTO2tIQUxSLFdBQVcsY0FERSxNQUFNOzsyRkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU03QixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIGlzRGV2TW9kZSxcbiAgTE9DQUxFX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nc0xhbmd1YWdlU2VydmljZSB9IGZyb20gJ0ByeGFwL25neC11c2VyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTE9DQUxFX0lEKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNldHRpbmdzTGFuZ3VhZ2VTZXJ2aWNlOiBVc2VyU2V0dGluZ3NMYW5ndWFnZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gdGhpcy5sb2NhbElkLnJlcGxhY2UoLy1bQS1aXSskLywgJycpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLnVzZXJTZXR0aW5nc0xhbmd1YWdlU2VydmljZS5zZXRMYW5ndWFnZShsYW5ndWFnZSk7XG4gICAgaWYgKCFpc0Rldk1vZGUoKSkge1xuICAgICAgdGhpcy5yZWRpcmVjdChsYW5ndWFnZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZGlyZWN0KG5leHQ6IHN0cmluZywgY3VycmVudDogc3RyaW5nID0gdGhpcy5jdXJyZW50TGFuZ3VhZ2UpIHtcbiAgICBpZiAoY3VycmVudCA9PT0gbmV4dCkge1xuICAgICAgY29uc29sZS53YXJuKCdbSTE4blNlcnZpY2VdIHJlZGlyZWN0IG5vdCByZXF1aXJlZCAtIGxhbmd1YWdlIHVuY2hhbmdlZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZWRpcmVjdFVybCA9XG4gICAgICBsb2NhdGlvbi5vcmlnaW4gK1xuICAgICAgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZShuZXcgUmVnRXhwKGBeLyR7IGN1cnJlbnQgfWApLCBgLyR7IG5leHQgfWApICtcbiAgICAgIGxvY2F0aW9uLnNlYXJjaDtcbiAgICBjb25zb2xlLmxvZygnW0kxOG5TZXJ2aWNlXSByZWRpcmVjdCB0bzogJyArIHJlZGlyZWN0VXJsKTtcbiAgICBsb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { LOCALE_ID, Injectable, Inject, inject } from '@angular/core';
2
+ import { isDevMode, LOCALE_ID, Injectable, Inject, inject } from '@angular/core';
3
3
  import * as i1 from '@rxap/ngx-user';
4
4
  import * as i1$1 from '@rxap/config';
5
5
 
@@ -11,7 +11,9 @@ class I18nService {
11
11
  }
12
12
  async setLanguage(language) {
13
13
  await this.userSettingsLanguageService.setLanguage(language);
14
- this.redirect(language);
14
+ if (!isDevMode()) {
15
+ this.redirect(language);
16
+ }
15
17
  }
16
18
  redirect(next, current = this.currentLanguage) {
17
19
  if (current === next) {
@@ -1 +1 @@
1
- {"version":3,"file":"rxap-ngx-localize.mjs","sources":["../../../../../packages/angular/localize/src/lib/i18n.service.ts","../../../../../packages/angular/localize/src/lib/language-interceptor.ts","../../../../../packages/angular/localize/src/lib/language-selector.service.ts","../../../../../packages/angular/localize/src/index.ts","../../../../../packages/angular/localize/src/rxap-ngx-localize.ts"],"sourcesContent":["import {\n Inject,\n Injectable,\n LOCALE_ID,\n} from '@angular/core';\nimport { UserSettingsLanguageService } from '@rxap/ngx-user';\n\n@Injectable({ providedIn: 'root' })\nexport class I18nService {\n\n public readonly currentLanguage: string;\n\n constructor(\n @Inject(LOCALE_ID)\n private readonly localId: string,\n private readonly userSettingsLanguageService: UserSettingsLanguageService,\n ) {\n this.currentLanguage = this.localId.replace(/-[A-Z]+$/, '');\n }\n\n public async setLanguage(language: string) {\n await this.userSettingsLanguageService.setLanguage(language);\n this.redirect(language);\n }\n\n public redirect(next: string, current: string = this.currentLanguage) {\n if (current === next) {\n console.warn('[I18nService] redirect not required - language unchanged');\n return;\n }\n const redirectUrl =\n location.origin +\n location.pathname.replace(new RegExp(`^/${ current }`), `/${ next }`) +\n location.search;\n console.log('[I18nService] redirect to: ' + redirectUrl);\n location.replace(redirectUrl);\n }\n\n}\n","import {\n HttpEvent,\n HttpHandlerFn,\n HttpRequest,\n} from '@angular/common/http';\nimport {\n inject,\n LOCALE_ID,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport function LanguageInterceptor(\n request: HttpRequest<unknown>,\n next: HttpHandlerFn,\n): Observable<HttpEvent<unknown>> {\n\n const localId = inject(LOCALE_ID, { optional: true });\n\n if (localId) {\n request = request.clone({\n headers: request.headers.set('Accept-Language', localId),\n });\n }\n\n return next(request);\n\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigService } from '@rxap/config';\nimport { I18nService } from './i18n.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LanguageSelectorService {\n public readonly languages: any;\n public readonly defaultLanguage: string;\n public selectedLanguage: string;\n\n constructor(\n private readonly config: ConfigService,\n private readonly i18nService: I18nService,\n ) {\n this.languages = this.config.get<any>('i18n.languages') ?? {};\n this.defaultLanguage =\n this.config.get('i18n.defaultLanguage') ??\n Object.keys(this.languages)[0] ??\n 'en';\n this.selectedLanguage = this.i18nService.currentLanguage;\n }\n\n public async setLanguage(language: string) {\n if (language !== this.i18nService.currentLanguage) {\n await this.i18nService.setLanguage(language);\n }\n }\n\n}\n","// region \nexport * from './lib/i18n.service';\nexport * from './lib/language-interceptor';\nexport * from './lib/language-selector.service';\n// endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.I18nService"],"mappings":"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"}
1
+ {"version":3,"file":"rxap-ngx-localize.mjs","sources":["../../../../../packages/angular/localize/src/lib/i18n.service.ts","../../../../../packages/angular/localize/src/lib/language-interceptor.ts","../../../../../packages/angular/localize/src/lib/language-selector.service.ts","../../../../../packages/angular/localize/src/index.ts","../../../../../packages/angular/localize/src/rxap-ngx-localize.ts"],"sourcesContent":["import {\n Inject,\n Injectable,\n isDevMode,\n LOCALE_ID,\n} from '@angular/core';\nimport { UserSettingsLanguageService } from '@rxap/ngx-user';\n\n@Injectable({ providedIn: 'root' })\nexport class I18nService {\n\n public readonly currentLanguage: string;\n\n constructor(\n @Inject(LOCALE_ID)\n private readonly localId: string,\n private readonly userSettingsLanguageService: UserSettingsLanguageService,\n ) {\n this.currentLanguage = this.localId.replace(/-[A-Z]+$/, '');\n }\n\n public async setLanguage(language: string) {\n await this.userSettingsLanguageService.setLanguage(language);\n if (!isDevMode()) {\n this.redirect(language);\n }\n }\n\n public redirect(next: string, current: string = this.currentLanguage) {\n if (current === next) {\n console.warn('[I18nService] redirect not required - language unchanged');\n return;\n }\n const redirectUrl =\n location.origin +\n location.pathname.replace(new RegExp(`^/${ current }`), `/${ next }`) +\n location.search;\n console.log('[I18nService] redirect to: ' + redirectUrl);\n location.replace(redirectUrl);\n }\n\n}\n","import {\n HttpEvent,\n HttpHandlerFn,\n HttpRequest,\n} from '@angular/common/http';\nimport {\n inject,\n LOCALE_ID,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport function LanguageInterceptor(\n request: HttpRequest<unknown>,\n next: HttpHandlerFn,\n): Observable<HttpEvent<unknown>> {\n\n const localId = inject(LOCALE_ID, { optional: true });\n\n if (localId) {\n request = request.clone({\n headers: request.headers.set('Accept-Language', localId),\n });\n }\n\n return next(request);\n\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigService } from '@rxap/config';\nimport { I18nService } from './i18n.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LanguageSelectorService {\n public readonly languages: any;\n public readonly defaultLanguage: string;\n public selectedLanguage: string;\n\n constructor(\n private readonly config: ConfigService,\n private readonly i18nService: I18nService,\n ) {\n this.languages = this.config.get<any>('i18n.languages') ?? {};\n this.defaultLanguage =\n this.config.get('i18n.defaultLanguage') ??\n Object.keys(this.languages)[0] ??\n 'en';\n this.selectedLanguage = this.i18nService.currentLanguage;\n }\n\n public async setLanguage(language: string) {\n if (language !== this.i18nService.currentLanguage) {\n await this.i18nService.setLanguage(language);\n }\n }\n\n}\n","// region \nexport * from './lib/i18n.service';\nexport * from './lib/language-interceptor';\nexport * from './lib/language-selector.service';\n// endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.I18nService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "16.1.0-dev.3",
2
+ "version": "16.1.0",
3
3
  "name": "@rxap/ngx-localize",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "dependencies": {
@@ -8,8 +8,8 @@
8
8
  "peerDependencies": {
9
9
  "@angular/common": "^16.1.4",
10
10
  "@angular/core": "^16.1.4",
11
- "@rxap/config": "^16.0.0-dev.19",
12
- "@rxap/ngx-user": "^16.1.0-dev.7",
11
+ "@rxap/config": "^16.0.0",
12
+ "@rxap/ngx-user": "^16.1.0",
13
13
  "rxjs": "^7.8.1"
14
14
  },
15
15
  "author": {
@@ -32,11 +32,11 @@
32
32
  "packageGroup": [
33
33
  {
34
34
  "package": "@rxap/config",
35
- "version": "16.0.0-dev.19"
35
+ "version": "16.0.0"
36
36
  },
37
37
  {
38
38
  "package": "@rxap/ngx-user",
39
- "version": "16.1.0-dev.7"
39
+ "version": "16.1.0"
40
40
  }
41
41
  ]
42
42
  },
@@ -50,7 +50,6 @@
50
50
  "directory": "packages/angular/localize"
51
51
  },
52
52
  "sideEffects": false,
53
- "gitHead": "4b0447af1f15314ff76fe0ff5d6a26b8a9fbd047",
54
53
  "module": "fesm2022/rxap-ngx-localize.mjs",
55
54
  "typings": "index.d.ts",
56
55
  "exports": {