@jsverse/transloco-locale 7.0.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/LICENSE +22 -0
- package/README.md +3 -0
- package/esm2022/index.mjs +8 -0
- package/esm2022/jsverse-transloco-locale.mjs +5 -0
- package/esm2022/lib/helpers.mjs +70 -0
- package/esm2022/lib/locale-currency.mjs +651 -0
- package/esm2022/lib/pipes/base-locale.pipe.mjs +24 -0
- package/esm2022/lib/pipes/index.mjs +6 -0
- package/esm2022/lib/pipes/transloco-currency.pipe.mjs +44 -0
- package/esm2022/lib/pipes/transloco-date.pipe.mjs +43 -0
- package/esm2022/lib/pipes/transloco-decimal.pipe.mjs +39 -0
- package/esm2022/lib/pipes/transloco-percent.pipe.mjs +39 -0
- package/esm2022/lib/shared.mjs +9 -0
- package/esm2022/lib/transloco-locale.config.mjs +18 -0
- package/esm2022/lib/transloco-locale.module.mjs +28 -0
- package/esm2022/lib/transloco-locale.providers.mjs +75 -0
- package/esm2022/lib/transloco-locale.service.mjs +120 -0
- package/esm2022/lib/transloco-locale.transformers.mjs +15 -0
- package/esm2022/lib/transloco-locale.types.mjs +2 -0
- package/fesm2022/jsverse-transloco-locale.mjs +1140 -0
- package/fesm2022/jsverse-transloco-locale.mjs.map +1 -0
- package/index.d.ts +7 -0
- package/lib/helpers.d.ts +15 -0
- package/lib/locale-currency.d.ts +651 -0
- package/lib/pipes/base-locale.pipe.d.ts +13 -0
- package/lib/pipes/index.d.ts +5 -0
- package/lib/pipes/transloco-currency.pipe.d.ts +22 -0
- package/lib/pipes/transloco-date.pipe.d.ts +24 -0
- package/lib/pipes/transloco-decimal.pipe.d.ts +19 -0
- package/lib/pipes/transloco-percent.pipe.d.ts +19 -0
- package/lib/shared.d.ts +2 -0
- package/lib/transloco-locale.config.d.ts +8 -0
- package/lib/transloco-locale.module.d.ts +10 -0
- package/lib/transloco-locale.providers.d.ts +11 -0
- package/lib/transloco-locale.service.d.ts +54 -0
- package/lib/transloco-locale.transformers.d.ts +16 -0
- package/lib/transloco-locale.types.d.ts +151 -0
- package/package.json +49 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChangeDetectorRef, inject, Injectable, } from '@angular/core';
|
|
2
|
+
import { TranslocoLocaleService } from '../transloco-locale.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BaseLocalePipe {
|
|
5
|
+
localeService = inject(TranslocoLocaleService);
|
|
6
|
+
cdr = inject(ChangeDetectorRef);
|
|
7
|
+
localeChangeSub = this.localeService.localeChanges$.subscribe(() => this.cdr.markForCheck());
|
|
8
|
+
getLocale(locale) {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
10
|
+
return locale || this.localeService.getLocale();
|
|
11
|
+
}
|
|
12
|
+
ngOnDestroy() {
|
|
13
|
+
this.localeChangeSub?.unsubscribe();
|
|
14
|
+
// Caretaker note: it's important to clean up references to subscriptions since they save the `next`
|
|
15
|
+
// callback within its `destination` property, preventing classes from being GC'd.
|
|
16
|
+
this.localeChangeSub = null;
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BaseLocalePipe, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BaseLocalePipe });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BaseLocalePipe, decorators: [{
|
|
22
|
+
type: Injectable
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sb2NhbGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL2Jhc2UtbG9jYWxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sVUFBVSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUdyRSxNQUFNLE9BQWdCLGNBQWM7SUFDeEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9DLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVsQyxlQUFlLEdBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFbkUsU0FBUyxDQUFDLE1BQWU7UUFDakMsb0VBQW9FO1FBQ3BFLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFHLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLG9HQUFvRztRQUNwRyxrRkFBa0Y7UUFDbEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQzt1R0FqQm1CLGNBQWM7MkdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTG9jYWxlIH0gZnJvbSAnLi4vLi4vbGliL3RyYW5zbG9jby1sb2NhbGUudHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNsb2NvTG9jYWxlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbG9jby1sb2NhbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTG9jYWxlUGlwZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb0xvY2FsZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIGxvY2FsZUNoYW5nZVN1YjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZUNoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSk7XG5cbiAgcHJvdGVjdGVkIGdldExvY2FsZShsb2NhbGU/OiBMb2NhbGUpOiBMb2NhbGUge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgcmV0dXJuIGxvY2FsZSB8fCB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlKCkhO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbGVDaGFuZ2VTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IGl0J3MgaW1wb3J0YW50IHRvIGNsZWFuIHVwIHJlZmVyZW5jZXMgdG8gc3Vic2NyaXB0aW9ucyBzaW5jZSB0aGV5IHNhdmUgdGhlIGBuZXh0YFxuICAgIC8vIGNhbGxiYWNrIHdpdGhpbiBpdHMgYGRlc3RpbmF0aW9uYCBwcm9wZXJ0eSwgcHJldmVudGluZyBjbGFzc2VzIGZyb20gYmVpbmcgR0MnZC5cbiAgICB0aGlzLmxvY2FsZUNoYW5nZVN1YiA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { TranslocoCurrencyPipe } from './transloco-currency.pipe';
|
|
2
|
+
export { TranslocoDatePipe } from './transloco-date.pipe';
|
|
3
|
+
export { TranslocoDecimalPipe } from './transloco-decimal.pipe';
|
|
4
|
+
export { BaseLocalePipe } from './base-locale.pipe';
|
|
5
|
+
export { TranslocoPercentPipe } from './transloco-percent.pipe';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBUcmFuc2xvY29DdXJyZW5jeVBpcGUgfSBmcm9tICcuL3RyYW5zbG9jby1jdXJyZW5jeS5waXBlJztcbmV4cG9ydCB7IFRyYW5zbG9jb0RhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xvY28tZGF0ZS5waXBlJztcbmV4cG9ydCB7IFRyYW5zbG9jb0RlY2ltYWxQaXBlIH0gZnJvbSAnLi90cmFuc2xvY28tZGVjaW1hbC5waXBlJztcbmV4cG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcbmV4cG9ydCB7IFRyYW5zbG9jb1BlcmNlbnRQaXBlIH0gZnJvbSAnLi90cmFuc2xvY28tcGVyY2VudC5waXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { isNil } from '@jsverse/transloco';
|
|
3
|
+
import { getDefaultOptions } from '../shared';
|
|
4
|
+
import { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';
|
|
5
|
+
import { BaseLocalePipe } from './base-locale.pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class TranslocoCurrencyPipe extends BaseLocalePipe {
|
|
8
|
+
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
|
|
9
|
+
/**
|
|
10
|
+
* Transform a given number into the locale's currency format.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* 1000000 | translocoCurrency: 'symbol' : {} : USD // $1,000,000.00
|
|
15
|
+
* 1000000 | translocoCurrency: 'name' : {} : USD // 1,000,000.00 US dollars
|
|
16
|
+
* 1000000 | translocoCurrency: 'symbol' : {minimumFractionDigits: 0 } : USD // $1,000,000
|
|
17
|
+
* 1000000 | translocoCurrency: 'symbol' : {minimumFractionDigits: 0 } : CAD // CA$1,000,000
|
|
18
|
+
* 1000000 | translocoCurrency: 'narrowSymbol' : {minimumFractionDigits: 0 } : CAD // $1,000,000
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
transform(value, display = 'symbol', numberFormatOptions = {}, currencyCode, locale) {
|
|
22
|
+
if (isNil(value))
|
|
23
|
+
return '';
|
|
24
|
+
locale = this.getLocale(locale);
|
|
25
|
+
const options = {
|
|
26
|
+
...getDefaultOptions(locale, 'currency', this.localeConfig),
|
|
27
|
+
...numberFormatOptions,
|
|
28
|
+
currencyDisplay: display,
|
|
29
|
+
currency: currencyCode || this.localeService._resolveCurrencyCode(),
|
|
30
|
+
};
|
|
31
|
+
return this.localeService.localizeNumber(value, 'currency', locale, options);
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoCurrencyPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
|
|
34
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoCurrencyPipe, isStandalone: true, name: "translocoCurrency", pure: false });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoCurrencyPipe, decorators: [{
|
|
37
|
+
type: Pipe,
|
|
38
|
+
args: [{
|
|
39
|
+
name: 'translocoCurrency',
|
|
40
|
+
pure: false,
|
|
41
|
+
standalone: true,
|
|
42
|
+
}]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWN1cnJlbmN5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi9waXBlcy90cmFuc2xvY28tY3VycmVuY3kucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQVFyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3BELE1BQU0sT0FBTyxxQkFDWCxTQUFRLGNBQWM7SUFHZCxZQUFZLEdBQWlCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJFOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsU0FBUyxDQUNQLEtBQXNCLEVBQ3RCLFVBQXVELFFBQVEsRUFDL0Qsc0JBQTJDLEVBQUUsRUFDN0MsWUFBdUIsRUFDdkIsTUFBZTtRQUVmLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDM0QsR0FBRyxtQkFBbUI7WUFDdEIsZUFBZSxFQUFFLE9BQU87WUFDeEIsUUFBUSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFO1NBQ3BFLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUN0QyxLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7dUdBekNVLHFCQUFxQjtxR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUxqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgeyBnZXREZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyB9IGZyb20gJy4uL3RyYW5zbG9jby1sb2NhbGUuY29uZmlnJztcbmltcG9ydCB7XG4gIEN1cnJlbmN5LFxuICBMb2NhbGUsXG4gIExvY2FsZUNvbmZpZyxcbiAgTnVtYmVyRm9ybWF0T3B0aW9ucyxcbn0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmltcG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsb2NvQ3VycmVuY3knLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvQ3VycmVuY3lQaXBlXG4gIGV4dGVuZHMgQmFzZUxvY2FsZVBpcGVcbiAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtXG57XG4gIHByaXZhdGUgbG9jYWxlQ29uZmlnOiBMb2NhbGVDb25maWcgPSBpbmplY3QoVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcpO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSBnaXZlbiBudW1iZXIgaW50byB0aGUgbG9jYWxlJ3MgY3VycmVuY3kgZm9ybWF0LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAxMDAwMDAwIHwgdHJhbnNsb2NvQ3VycmVuY3k6ICdzeW1ib2wnIDoge30gOiBVU0QgLy8gJDEsMDAwLDAwMC4wMFxuICAgKiAxMDAwMDAwIHwgdHJhbnNsb2NvQ3VycmVuY3k6ICduYW1lJyA6IHt9IDogVVNEIC8vIDEsMDAwLDAwMC4wMCBVUyBkb2xsYXJzXG4gICAqIDEwMDAwMDAgfCB0cmFuc2xvY29DdXJyZW5jeTogJ3N5bWJvbCcgOiB7bWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0gOiBVU0QgLy8gJDEsMDAwLDAwMFxuICAgKiAxMDAwMDAwIHwgdHJhbnNsb2NvQ3VycmVuY3k6ICdzeW1ib2wnIDoge21pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9IDogQ0FEIC8vIENBJDEsMDAwLDAwMFxuICAgKiAxMDAwMDAwIHwgdHJhbnNsb2NvQ3VycmVuY3k6ICduYXJyb3dTeW1ib2wnIDoge21pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9IDogQ0FEIC8vICQxLDAwMCwwMDBcbiAgICpcbiAgICovXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIGRpc3BsYXk6ICdjb2RlJyB8ICdzeW1ib2wnIHwgJ25hcnJvd1N5bWJvbCcgfCAnbmFtZScgPSAnc3ltYm9sJyxcbiAgICBudW1iZXJGb3JtYXRPcHRpb25zOiBOdW1iZXJGb3JtYXRPcHRpb25zID0ge30sXG4gICAgY3VycmVuY3lDb2RlPzogQ3VycmVuY3ksXG4gICAgbG9jYWxlPzogTG9jYWxlXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKGlzTmlsKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGxvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKGxvY2FsZSk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4uZ2V0RGVmYXVsdE9wdGlvbnMobG9jYWxlLCAnY3VycmVuY3knLCB0aGlzLmxvY2FsZUNvbmZpZyksXG4gICAgICAuLi5udW1iZXJGb3JtYXRPcHRpb25zLFxuICAgICAgY3VycmVuY3lEaXNwbGF5OiBkaXNwbGF5LFxuICAgICAgY3VycmVuY3k6IGN1cnJlbmN5Q29kZSB8fCB0aGlzLmxvY2FsZVNlcnZpY2UuX3Jlc29sdmVDdXJyZW5jeUNvZGUoKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGl6ZU51bWJlcihcbiAgICAgIHZhbHVlLFxuICAgICAgJ2N1cnJlbmN5JyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { isNil } from '@jsverse/transloco';
|
|
3
|
+
import { getDefaultOptions } from '../shared';
|
|
4
|
+
import { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';
|
|
5
|
+
import { BaseLocalePipe } from './base-locale.pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class TranslocoDatePipe extends BaseLocalePipe {
|
|
8
|
+
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
|
|
9
|
+
/**
|
|
10
|
+
* Transform a date into the locale's date format.
|
|
11
|
+
*
|
|
12
|
+
* The date expression: a `Date` object, a number
|
|
13
|
+
* (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* date | translocoDate: {} : en-US // 9/10/2019
|
|
18
|
+
* date | translocoDate: { dateStyle: 'medium', timeStyle: 'medium' } : en-US // Sep 10, 2019, 10:46:12 PM
|
|
19
|
+
* date | translocoDate: { timeZone: 'UTC', timeStyle: 'full' } : en-US // 7:40:32 PM Coordinated Universal Time
|
|
20
|
+
* 1 | translocoDate: { dateStyle: 'medium' } // Jan 1, 1970
|
|
21
|
+
* '2019-02-08' | translocoDate: { dateStyle: 'medium' } // Feb 8, 2019
|
|
22
|
+
*/
|
|
23
|
+
transform(date, options = {}, locale) {
|
|
24
|
+
if (isNil(date))
|
|
25
|
+
return '';
|
|
26
|
+
locale = this.getLocale(locale);
|
|
27
|
+
return this.localeService.localizeDate(date, locale, {
|
|
28
|
+
...getDefaultOptions(locale, 'date', this.localeConfig),
|
|
29
|
+
...options,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
|
|
33
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDatePipe, isStandalone: true, name: "translocoDate", pure: false });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDatePipe, decorators: [{
|
|
36
|
+
type: Pipe,
|
|
37
|
+
args: [{
|
|
38
|
+
name: 'translocoDate',
|
|
39
|
+
pure: false,
|
|
40
|
+
standalone: true,
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFRckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQUMzQyxZQUFZLEdBQWlCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJFOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxTQUFTLENBQUMsSUFBZSxFQUFFLFVBQTZCLEVBQUUsRUFBRSxNQUFlO1FBQ3pFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuRCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN2RCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXpCVSxpQkFBaUI7cUdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFMN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IGdldERlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IFRSQU5TTE9DT19MT0NBTEVfQ09ORklHIH0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS5jb25maWcnO1xuaW1wb3J0IHtcbiAgRGF0ZUZvcm1hdE9wdGlvbnMsXG4gIExvY2FsZSxcbiAgTG9jYWxlQ29uZmlnLFxuICBWYWxpZERhdGUsXG59IGZyb20gJy4uL3RyYW5zbG9jby1sb2NhbGUudHlwZXMnO1xuXG5pbXBvcnQgeyBCYXNlTG9jYWxlUGlwZSB9IGZyb20gJy4vYmFzZS1sb2NhbGUucGlwZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbG9jb0RhdGUnLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvRGF0ZVBpcGUgZXh0ZW5kcyBCYXNlTG9jYWxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ09ORklHKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgZGF0ZSBpbnRvIHRoZSBsb2NhbGUncyBkYXRlIGZvcm1hdC5cbiAgICpcbiAgICogVGhlIGRhdGUgZXhwcmVzc2lvbjogYSBgRGF0ZWAgb2JqZWN0LCAgYSBudW1iZXJcbiAgICogKG1pbGxpc2Vjb25kcyBzaW5jZSBVVEMgZXBvY2gpLCBvciBhbiBJU08gc3RyaW5nIChodHRwczovL3d3dy53My5vcmcvVFIvTk9URS1kYXRldGltZSkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIGRhdGUgfCB0cmFuc2xvY29EYXRlOiB7fSA6IGVuLVVTIC8vIDkvMTAvMjAxOVxuICAgKiBkYXRlIHwgdHJhbnNsb2NvRGF0ZTogeyBkYXRlU3R5bGU6ICdtZWRpdW0nLCB0aW1lU3R5bGU6ICdtZWRpdW0nIH0gOiBlbi1VUyAvLyBTZXAgMTAsIDIwMTksIDEwOjQ2OjEyIFBNXG4gICAqIGRhdGUgfCB0cmFuc2xvY29EYXRlOiB7IHRpbWVab25lOiAnVVRDJywgdGltZVN0eWxlOiAnZnVsbCcgfSA6IGVuLVVTIC8vIDc6NDA6MzIgUE0gQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWVcbiAgICogMSB8IHRyYW5zbG9jb0RhdGU6IHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9IC8vIEphbiAxLCAxOTcwXG4gICAqICcyMDE5LTAyLTA4JyB8IHRyYW5zbG9jb0RhdGU6IHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9IC8vIEZlYiA4LCAyMDE5XG4gICAqL1xuICB0cmFuc2Zvcm0oZGF0ZTogVmFsaWREYXRlLCBvcHRpb25zOiBEYXRlRm9ybWF0T3B0aW9ucyA9IHt9LCBsb2NhbGU/OiBMb2NhbGUpIHtcbiAgICBpZiAoaXNOaWwoZGF0ZSkpIHJldHVybiAnJztcbiAgICBsb2NhbGUgPSB0aGlzLmdldExvY2FsZShsb2NhbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGl6ZURhdGUoZGF0ZSwgbG9jYWxlLCB7XG4gICAgICAuLi5nZXREZWZhdWx0T3B0aW9ucyhsb2NhbGUsICdkYXRlJywgdGhpcy5sb2NhbGVDb25maWcpLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { isNil } from '@jsverse/transloco';
|
|
3
|
+
import { getDefaultOptions } from '../shared';
|
|
4
|
+
import { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';
|
|
5
|
+
import { BaseLocalePipe } from './base-locale.pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class TranslocoDecimalPipe extends BaseLocalePipe {
|
|
8
|
+
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
|
|
9
|
+
/**
|
|
10
|
+
* Transform a given number into the locale's currency format.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* 1234567890 | translocoDecimal: {} : en-US // 1,234,567,890
|
|
15
|
+
* 1234567890 | translocoDecimal: {useGrouping: false}: en-US // 1234567890
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
transform(value, numberFormatOptions = {}, locale) {
|
|
19
|
+
if (isNil(value))
|
|
20
|
+
return '';
|
|
21
|
+
locale = this.getLocale(locale);
|
|
22
|
+
const options = {
|
|
23
|
+
...getDefaultOptions(locale, 'decimal', this.localeConfig),
|
|
24
|
+
...numberFormatOptions,
|
|
25
|
+
};
|
|
26
|
+
return this.localeService.localizeNumber(value, 'decimal', locale, options);
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDecimalPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDecimalPipe, isStandalone: true, name: "translocoDecimal", pure: false });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDecimalPipe, decorators: [{
|
|
32
|
+
type: Pipe,
|
|
33
|
+
args: [{
|
|
34
|
+
name: 'translocoDecimal',
|
|
35
|
+
pure: false,
|
|
36
|
+
standalone: true,
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWRlY2ltYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1kZWNpbWFsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxjQUFjO0lBR2QsWUFBWSxHQUFpQixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRTs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsQ0FDUCxLQUFzQixFQUN0QixzQkFBMkMsRUFBRSxFQUM3QyxNQUFlO1FBRWYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxRCxHQUFHLG1CQUFtQjtTQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTdCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHsgZ2V0RGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcgfSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBMb2NhbGUsXG4gIExvY2FsZUNvbmZpZyxcbiAgTnVtYmVyRm9ybWF0T3B0aW9ucyxcbn0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmltcG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsb2NvRGVjaW1hbCcsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29EZWNpbWFsUGlwZVxuICBleHRlbmRzIEJhc2VMb2NhbGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ09ORklHKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgZ2l2ZW4gbnVtYmVyIGludG8gdGhlIGxvY2FsZSdzIGN1cnJlbmN5IGZvcm1hdC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogMTIzNDU2Nzg5MCB8IHRyYW5zbG9jb0RlY2ltYWw6IHt9IDogZW4tVVMgLy8gMSwyMzQsNTY3LDg5MFxuICAgKiAxMjM0NTY3ODkwIHwgdHJhbnNsb2NvRGVjaW1hbDoge3VzZUdyb3VwaW5nOiBmYWxzZX06IGVuLVVTIC8vIDEyMzQ1Njc4OTBcbiAgICpcbiAgICovXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG51bWJlckZvcm1hdE9wdGlvbnM6IE51bWJlckZvcm1hdE9wdGlvbnMgPSB7fSxcbiAgICBsb2NhbGU/OiBMb2NhbGVcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoaXNOaWwodmFsdWUpKSByZXR1cm4gJyc7XG4gICAgbG9jYWxlID0gdGhpcy5nZXRMb2NhbGUobG9jYWxlKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi5nZXREZWZhdWx0T3B0aW9ucyhsb2NhbGUsICdkZWNpbWFsJywgdGhpcy5sb2NhbGVDb25maWcpLFxuICAgICAgLi4ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGl6ZU51bWJlcih2YWx1ZSwgJ2RlY2ltYWwnLCBsb2NhbGUsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { isNil } from '@jsverse/transloco';
|
|
3
|
+
import { getDefaultOptions } from '../shared';
|
|
4
|
+
import { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';
|
|
5
|
+
import { BaseLocalePipe } from './base-locale.pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class TranslocoPercentPipe extends BaseLocalePipe {
|
|
8
|
+
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
|
|
9
|
+
/**
|
|
10
|
+
* Transform a given number into the locale's currency format.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* 1 | translocoPercent : {} : en-US // 100%
|
|
15
|
+
* "1" | translocoPercent : {} : en-US // 100%
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
transform(value, numberFormatOptions = {}, locale) {
|
|
19
|
+
if (isNil(value))
|
|
20
|
+
return '';
|
|
21
|
+
locale = this.getLocale(locale);
|
|
22
|
+
const options = {
|
|
23
|
+
...getDefaultOptions(locale, 'percent', this.localeConfig),
|
|
24
|
+
...numberFormatOptions,
|
|
25
|
+
};
|
|
26
|
+
return this.localeService.localizeNumber(value, 'percent', locale, options);
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPercentPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPercentPipe, isStandalone: true, name: "translocoPercent", pure: false });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPercentPipe, decorators: [{
|
|
32
|
+
type: Pipe,
|
|
33
|
+
args: [{
|
|
34
|
+
name: 'translocoPercent',
|
|
35
|
+
pure: false,
|
|
36
|
+
standalone: true,
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcmNlbnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxjQUFjO0lBR2QsWUFBWSxHQUFpQixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRTs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsQ0FDUCxLQUFzQixFQUN0QixzQkFBMkMsRUFBRSxFQUM3QyxNQUFlO1FBRWYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxRCxHQUFHLG1CQUFtQjtTQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTdCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHsgZ2V0RGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcgfSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBMb2NhbGUsXG4gIExvY2FsZUNvbmZpZyxcbiAgTnVtYmVyRm9ybWF0T3B0aW9ucyxcbn0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmltcG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsb2NvUGVyY2VudCcsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29QZXJjZW50UGlwZVxuICBleHRlbmRzIEJhc2VMb2NhbGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ09ORklHKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgZ2l2ZW4gbnVtYmVyIGludG8gdGhlIGxvY2FsZSdzIGN1cnJlbmN5IGZvcm1hdC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogMSB8IHRyYW5zbG9jb1BlcmNlbnQgOiB7fSA6IGVuLVVTIC8vIDEwMCVcbiAgICogXCIxXCIgfCB0cmFuc2xvY29QZXJjZW50IDoge30gOiBlbi1VUyAvLyAxMDAlXG4gICAqXG4gICAqL1xuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcbiAgICBudW1iZXJGb3JtYXRPcHRpb25zOiBOdW1iZXJGb3JtYXRPcHRpb25zID0ge30sXG4gICAgbG9jYWxlPzogTG9jYWxlXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKGlzTmlsKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGxvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKGxvY2FsZSk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4uZ2V0RGVmYXVsdE9wdGlvbnMobG9jYWxlLCAncGVyY2VudCcsIHRoaXMubG9jYWxlQ29uZmlnKSxcbiAgICAgIC4uLm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxpemVOdW1iZXIodmFsdWUsICdwZXJjZW50JywgbG9jYWxlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function getDefaultOptions(locale, style, localeConfig) {
|
|
2
|
+
const defaultConfig = (localeConfig.global?.[style] ?? {});
|
|
3
|
+
const settings = (localeConfig.localeBased?.[locale] ??
|
|
4
|
+
{});
|
|
5
|
+
return Reflect.has(settings, style)
|
|
6
|
+
? { ...defaultConfig, ...settings[style] }
|
|
7
|
+
: defaultConfig;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28tbG9jYWxlL3NyYy9saWIvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsTUFBYyxFQUNkLEtBQVEsRUFDUixZQUEwQjtJQUUxQixNQUFNLGFBQWEsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBRXhELENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDbEQsRUFBRSxDQUF3QixDQUFDO0lBRTdCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzFDLENBQUMsQ0FBQyxhQUFhLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIExvY2FsZSxcbiAgTG9jYWxlRm9ybWF0T3B0aW9ucyxcbiAgTG9jYWxlQ29uZmlnLFxufSBmcm9tICcuL3RyYW5zbG9jby1sb2NhbGUudHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdE9wdGlvbnM8VCBleHRlbmRzIGtleW9mIExvY2FsZUZvcm1hdE9wdGlvbnM+KFxuICBsb2NhbGU6IExvY2FsZSxcbiAgc3R5bGU6IFQsXG4gIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnXG4pIHtcbiAgY29uc3QgZGVmYXVsdENvbmZpZyA9IChsb2NhbGVDb25maWcuZ2xvYmFsPy5bc3R5bGVdID8/IHt9KSBhcyBOb25OdWxsYWJsZTxcbiAgICBMb2NhbGVGb3JtYXRPcHRpb25zW1RdXG4gID47XG4gIGNvbnN0IHNldHRpbmdzID0gKGxvY2FsZUNvbmZpZy5sb2NhbGVCYXNlZD8uW2xvY2FsZV0gPz9cbiAgICB7fSkgYXMgTG9jYWxlRm9ybWF0T3B0aW9ucztcblxuICByZXR1cm4gUmVmbGVjdC5oYXMoc2V0dGluZ3MsIHN0eWxlKVxuICAgID8geyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5zZXR0aW5nc1tzdHlsZV0gfVxuICAgIDogZGVmYXVsdENvbmZpZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import LOCALE_CURRENCY from './locale-currency';
|
|
3
|
+
export const defaultConfig = {
|
|
4
|
+
localeConfig: {
|
|
5
|
+
global: {},
|
|
6
|
+
localeBased: {},
|
|
7
|
+
},
|
|
8
|
+
defaultLocale: 'en-US',
|
|
9
|
+
defaultCurrency: 'USD',
|
|
10
|
+
localeToCurrencyMapping: LOCALE_CURRENCY,
|
|
11
|
+
langToLocaleMapping: {},
|
|
12
|
+
};
|
|
13
|
+
export const TRANSLOCO_LOCALE_DEFAULT_LOCALE = new InjectionToken('TRANSLOCO_LOCALE_DEFAULT_LOCALE');
|
|
14
|
+
export const TRANSLOCO_LOCALE_DEFAULT_CURRENCY = new InjectionToken('TRANSLOCO_LOCALE_DEFAULT_CURRENCY');
|
|
15
|
+
export const TRANSLOCO_LOCALE_LANG_MAPPING = new InjectionToken('TRANSLOCO_LOCALE_LANG_MAPPING');
|
|
16
|
+
export const TRANSLOCO_LOCALE_CONFIG = new InjectionToken('TRANSLOCO_LOCALE_CONFIG');
|
|
17
|
+
export const TRANSLOCO_LOCALE_CURRENCY_MAPPING = new InjectionToken('TRANSLOCO_LOCALE_CURRENCY_MAPPING');
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi90cmFuc2xvY28tbG9jYWxlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBVWhELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBb0M7SUFDNUQsWUFBWSxFQUFFO1FBQ1osTUFBTSxFQUFFLEVBQUU7UUFDVixXQUFXLEVBQUUsRUFBRTtLQUNoQjtJQUNELGFBQWEsRUFBRSxPQUFPO0lBQ3RCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLHVCQUF1QixFQUFFLGVBQWU7SUFDeEMsbUJBQW1CLEVBQUUsRUFBRTtDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQy9ELGlDQUFpQyxDQUNsQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsSUFBSSxjQUFjLENBQ2pFLG1DQUFtQyxDQUNwQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQ3hDLElBQUksY0FBYyxDQUFzQiwrQkFBK0IsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCx5QkFBeUIsQ0FDMUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUM1QyxJQUFJLGNBQWMsQ0FDaEIsbUNBQW1DLENBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgTE9DQUxFX0NVUlJFTkNZIGZyb20gJy4vbG9jYWxlLWN1cnJlbmN5JztcbmltcG9ydCB7XG4gIFRyYW5zbG9jb0xvY2FsZUNvbmZpZyxcbiAgTG9jYWxlQ29uZmlnTWFwcGluZyxcbiAgTGFuZ1RvTG9jYWxlTWFwcGluZyxcbiAgTG9jYWxlVG9DdXJyZW5jeU1hcHBpbmcsXG4gIExvY2FsZSxcbiAgQ3VycmVuY3ksXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29uZmlnOiBSZXF1aXJlZDxUcmFuc2xvY29Mb2NhbGVDb25maWc+ID0ge1xuICBsb2NhbGVDb25maWc6IHtcbiAgICBnbG9iYWw6IHt9LFxuICAgIGxvY2FsZUJhc2VkOiB7fSxcbiAgfSxcbiAgZGVmYXVsdExvY2FsZTogJ2VuLVVTJyxcbiAgZGVmYXVsdEN1cnJlbmN5OiAnVVNEJyxcbiAgbG9jYWxlVG9DdXJyZW5jeU1hcHBpbmc6IExPQ0FMRV9DVVJSRU5DWSxcbiAgbGFuZ1RvTG9jYWxlTWFwcGluZzoge30sXG59O1xuXG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0xPQ0FMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2NhbGU+KFxuICAnVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0xPQ0FMRSdcbik7XG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0NVUlJFTkNZID0gbmV3IEluamVjdGlvblRva2VuPEN1cnJlbmN5PihcbiAgJ1RSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9DVVJSRU5DWSdcbik7XG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX0xPQ0FMRV9MQU5HX01BUFBJTkcgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48TGFuZ1RvTG9jYWxlTWFwcGluZz4oJ1RSQU5TTE9DT19MT0NBTEVfTEFOR19NQVBQSU5HJyk7XG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYWxlQ29uZmlnTWFwcGluZz4oXG4gICdUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRydcbik7XG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX0xPQ0FMRV9DVVJSRU5DWV9NQVBQSU5HID1cbiAgbmV3IEluamVjdGlvblRva2VuPExvY2FsZVRvQ3VycmVuY3lNYXBwaW5nPihcbiAgICAnVFJBTlNMT0NPX0xPQ0FMRV9DVVJSRU5DWV9NQVBQSU5HJ1xuICApO1xuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TranslocoCurrencyPipe, TranslocoDatePipe, TranslocoDecimalPipe, TranslocoPercentPipe, } from './pipes';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const decl = [
|
|
5
|
+
TranslocoCurrencyPipe,
|
|
6
|
+
TranslocoDatePipe,
|
|
7
|
+
TranslocoDecimalPipe,
|
|
8
|
+
TranslocoPercentPipe,
|
|
9
|
+
];
|
|
10
|
+
export class TranslocoLocaleModule {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleModule, imports: [TranslocoCurrencyPipe,
|
|
13
|
+
TranslocoDatePipe,
|
|
14
|
+
TranslocoDecimalPipe,
|
|
15
|
+
TranslocoPercentPipe], exports: [TranslocoCurrencyPipe,
|
|
16
|
+
TranslocoDatePipe,
|
|
17
|
+
TranslocoDecimalPipe,
|
|
18
|
+
TranslocoPercentPipe] });
|
|
19
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleModule });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
imports: decl,
|
|
25
|
+
exports: decl,
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi90cmFuc2xvY28tbG9jYWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7O0FBRWpCLE1BQU0sSUFBSSxHQUFHO0lBQ1gscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsb0JBQW9CO0NBQ3JCLENBQUM7QUFNRixNQUFNLE9BQU8scUJBQXFCO3VHQUFyQixxQkFBcUI7d0dBQXJCLHFCQUFxQixZQVZoQyxxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixvQkFBb0IsYUFIcEIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsb0JBQW9CO3dHQU9ULHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsSUFBSTtvQkFDYixPQUFPLEVBQUUsSUFBSTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFRyYW5zbG9jb0N1cnJlbmN5UGlwZSxcbiAgVHJhbnNsb2NvRGF0ZVBpcGUsXG4gIFRyYW5zbG9jb0RlY2ltYWxQaXBlLFxuICBUcmFuc2xvY29QZXJjZW50UGlwZSxcbn0gZnJvbSAnLi9waXBlcyc7XG5cbmNvbnN0IGRlY2wgPSBbXG4gIFRyYW5zbG9jb0N1cnJlbmN5UGlwZSxcbiAgVHJhbnNsb2NvRGF0ZVBpcGUsXG4gIFRyYW5zbG9jb0RlY2ltYWxQaXBlLFxuICBUcmFuc2xvY29QZXJjZW50UGlwZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGRlY2wsXG4gIGV4cG9ydHM6IGRlY2wsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb0xvY2FsZU1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { defaultConfig, TRANSLOCO_LOCALE_CONFIG, TRANSLOCO_LOCALE_CURRENCY_MAPPING, TRANSLOCO_LOCALE_DEFAULT_CURRENCY, TRANSLOCO_LOCALE_DEFAULT_LOCALE, TRANSLOCO_LOCALE_LANG_MAPPING, } from './transloco-locale.config';
|
|
3
|
+
import { DefaultDateTransformer, DefaultNumberTransformer, TRANSLOCO_DATE_TRANSFORMER, TRANSLOCO_NUMBER_TRANSFORMER, } from './transloco-locale.transformers';
|
|
4
|
+
export function provideTranslocoLocale(config) {
|
|
5
|
+
const merged = {
|
|
6
|
+
...defaultConfig,
|
|
7
|
+
...config,
|
|
8
|
+
};
|
|
9
|
+
return [
|
|
10
|
+
provideTranslocoLocaleConfig(merged.localeConfig),
|
|
11
|
+
provideTranslocoDefaultLocale(merged.defaultLocale),
|
|
12
|
+
provideTranslocoDefaultCurrency(merged.defaultCurrency),
|
|
13
|
+
provideTranslocoLocaleLangMapping(merged.langToLocaleMapping),
|
|
14
|
+
provideTranslocoLocaleCurrencyMapping(merged.localeToCurrencyMapping),
|
|
15
|
+
provideTranslocoDateTransformer(DefaultDateTransformer),
|
|
16
|
+
provideTranslocoNumberTransformer(DefaultNumberTransformer),
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
export function provideTranslocoLocaleConfig(config) {
|
|
20
|
+
return makeEnvironmentProviders([
|
|
21
|
+
{
|
|
22
|
+
provide: TRANSLOCO_LOCALE_CONFIG,
|
|
23
|
+
useValue: config,
|
|
24
|
+
},
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
export function provideTranslocoLocaleLangMapping(langToLocale) {
|
|
28
|
+
return makeEnvironmentProviders([
|
|
29
|
+
{
|
|
30
|
+
provide: TRANSLOCO_LOCALE_LANG_MAPPING,
|
|
31
|
+
useValue: langToLocale,
|
|
32
|
+
},
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
35
|
+
export function provideTranslocoLocaleCurrencyMapping(localeToCurrency) {
|
|
36
|
+
return makeEnvironmentProviders([
|
|
37
|
+
{
|
|
38
|
+
provide: TRANSLOCO_LOCALE_CURRENCY_MAPPING,
|
|
39
|
+
useValue: localeToCurrency,
|
|
40
|
+
},
|
|
41
|
+
]);
|
|
42
|
+
}
|
|
43
|
+
export function provideTranslocoDefaultLocale(defaultLocale) {
|
|
44
|
+
return makeEnvironmentProviders([
|
|
45
|
+
{
|
|
46
|
+
provide: TRANSLOCO_LOCALE_DEFAULT_LOCALE,
|
|
47
|
+
useValue: defaultLocale,
|
|
48
|
+
},
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
export function provideTranslocoDefaultCurrency(defaultCurrency) {
|
|
52
|
+
return makeEnvironmentProviders([
|
|
53
|
+
{
|
|
54
|
+
provide: TRANSLOCO_LOCALE_DEFAULT_CURRENCY,
|
|
55
|
+
useValue: defaultCurrency,
|
|
56
|
+
},
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
export function provideTranslocoDateTransformer(transformer) {
|
|
60
|
+
return makeEnvironmentProviders([
|
|
61
|
+
{
|
|
62
|
+
provide: TRANSLOCO_DATE_TRANSFORMER,
|
|
63
|
+
useClass: transformer,
|
|
64
|
+
},
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
export function provideTranslocoNumberTransformer(transformer) {
|
|
68
|
+
return makeEnvironmentProviders([
|
|
69
|
+
{
|
|
70
|
+
provide: TRANSLOCO_NUMBER_TRANSFORMER,
|
|
71
|
+
useClass: transformer,
|
|
72
|
+
},
|
|
73
|
+
]);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi90cmFuc2xvY28tbG9jYWxlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFVL0QsT0FBTyxFQUNMLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQywrQkFBK0IsRUFDL0IsNkJBQTZCLEdBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLDRCQUE0QixHQUc3QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUE4QjtJQUNuRSxNQUFNLE1BQU0sR0FBRztRQUNiLEdBQUcsYUFBYTtRQUNoQixHQUFHLE1BQU07S0FDVixDQUFDO0lBRUYsT0FBTztRQUNMLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDakQsNkJBQTZCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNuRCwrQkFBK0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQ3ZELGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUM3RCxxQ0FBcUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7UUFDckUsK0JBQStCLENBQUMsc0JBQXNCLENBQUM7UUFDdkQsaUNBQWlDLENBQUMsd0JBQXdCLENBQUM7S0FDNUQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsTUFBb0I7SUFDL0QsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QjtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsUUFBUSxFQUFFLE1BQU07U0FDakI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlDQUFpQyxDQUMvQyxZQUFpQztJQUVqQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxRQUFRLEVBQUUsWUFBWTtTQUN2QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUscUNBQXFDLENBQ25ELGdCQUF5QztJQUV6QyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLGlDQUFpQztZQUMxQyxRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxhQUFxQjtJQUNqRSxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLCtCQUErQjtZQUN4QyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsZUFBeUI7SUFDdkUsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QjtZQUNFLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsUUFBUSxFQUFFLGVBQWU7U0FDMUI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxXQUEyQztJQUUzQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsV0FBVztTQUN0QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLFdBQTZDO0lBRTdDLE9BQU8sd0JBQXdCLENBQUM7UUFDOUI7WUFDRSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFFBQVEsRUFBRSxXQUFXO1NBQ3RCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycywgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBDdXJyZW5jeSxcbiAgTGFuZ1RvTG9jYWxlTWFwcGluZyxcbiAgTG9jYWxlLFxuICBMb2NhbGVDb25maWcsXG4gIExvY2FsZVRvQ3VycmVuY3lNYXBwaW5nLFxuICBUcmFuc2xvY29Mb2NhbGVDb25maWcsXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5pbXBvcnQge1xuICBkZWZhdWx0Q29uZmlnLFxuICBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyxcbiAgVFJBTlNMT0NPX0xPQ0FMRV9DVVJSRU5DWV9NQVBQSU5HLFxuICBUUkFOU0xPQ09fTE9DQUxFX0RFRkFVTFRfQ1VSUkVOQ1ksXG4gIFRSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9MT0NBTEUsXG4gIFRSQU5TTE9DT19MT0NBTEVfTEFOR19NQVBQSU5HLFxufSBmcm9tICcuL3RyYW5zbG9jby1sb2NhbGUuY29uZmlnJztcbmltcG9ydCB7XG4gIERlZmF1bHREYXRlVHJhbnNmb3JtZXIsXG4gIERlZmF1bHROdW1iZXJUcmFuc2Zvcm1lcixcbiAgVFJBTlNMT0NPX0RBVEVfVFJBTlNGT1JNRVIsXG4gIFRSQU5TTE9DT19OVU1CRVJfVFJBTlNGT1JNRVIsXG4gIFRyYW5zbG9jb0RhdGVUcmFuc2Zvcm1lcixcbiAgVHJhbnNsb2NvTnVtYmVyVHJhbnNmb3JtZXIsXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS50cmFuc2Zvcm1lcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRyYW5zbG9jb0xvY2FsZShjb25maWc/OiBUcmFuc2xvY29Mb2NhbGVDb25maWcpIHtcbiAgY29uc3QgbWVyZ2VkID0ge1xuICAgIC4uLmRlZmF1bHRDb25maWcsXG4gICAgLi4uY29uZmlnLFxuICB9O1xuXG4gIHJldHVybiBbXG4gICAgcHJvdmlkZVRyYW5zbG9jb0xvY2FsZUNvbmZpZyhtZXJnZWQubG9jYWxlQ29uZmlnKSxcbiAgICBwcm92aWRlVHJhbnNsb2NvRGVmYXVsdExvY2FsZShtZXJnZWQuZGVmYXVsdExvY2FsZSksXG4gICAgcHJvdmlkZVRyYW5zbG9jb0RlZmF1bHRDdXJyZW5jeShtZXJnZWQuZGVmYXVsdEN1cnJlbmN5KSxcbiAgICBwcm92aWRlVHJhbnNsb2NvTG9jYWxlTGFuZ01hcHBpbmcobWVyZ2VkLmxhbmdUb0xvY2FsZU1hcHBpbmcpLFxuICAgIHByb3ZpZGVUcmFuc2xvY29Mb2NhbGVDdXJyZW5jeU1hcHBpbmcobWVyZ2VkLmxvY2FsZVRvQ3VycmVuY3lNYXBwaW5nKSxcbiAgICBwcm92aWRlVHJhbnNsb2NvRGF0ZVRyYW5zZm9ybWVyKERlZmF1bHREYXRlVHJhbnNmb3JtZXIpLFxuICAgIHByb3ZpZGVUcmFuc2xvY29OdW1iZXJUcmFuc2Zvcm1lcihEZWZhdWx0TnVtYmVyVHJhbnNmb3JtZXIpLFxuICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRyYW5zbG9jb0xvY2FsZUNvbmZpZyhjb25maWc6IExvY2FsZUNvbmZpZykge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvTG9jYWxlTGFuZ01hcHBpbmcoXG4gIGxhbmdUb0xvY2FsZTogTGFuZ1RvTG9jYWxlTWFwcGluZ1xuKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19MT0NBTEVfTEFOR19NQVBQSU5HLFxuICAgICAgdXNlVmFsdWU6IGxhbmdUb0xvY2FsZSxcbiAgICB9LFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUcmFuc2xvY29Mb2NhbGVDdXJyZW5jeU1hcHBpbmcoXG4gIGxvY2FsZVRvQ3VycmVuY3k6IExvY2FsZVRvQ3VycmVuY3lNYXBwaW5nXG4pIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0xPQ0FMRV9DVVJSRU5DWV9NQVBQSU5HLFxuICAgICAgdXNlVmFsdWU6IGxvY2FsZVRvQ3VycmVuY3ksXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvRGVmYXVsdExvY2FsZShkZWZhdWx0TG9jYWxlOiBMb2NhbGUpIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0xPQ0FMRSxcbiAgICAgIHVzZVZhbHVlOiBkZWZhdWx0TG9jYWxlLFxuICAgIH0sXG4gIF0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRyYW5zbG9jb0RlZmF1bHRDdXJyZW5jeShkZWZhdWx0Q3VycmVuY3k6IEN1cnJlbmN5KSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9DVVJSRU5DWSxcbiAgICAgIHVzZVZhbHVlOiBkZWZhdWx0Q3VycmVuY3ksXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvRGF0ZVRyYW5zZm9ybWVyKFxuICB0cmFuc2Zvcm1lcjogVHlwZTxUcmFuc2xvY29EYXRlVHJhbnNmb3JtZXI+XG4pIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0RBVEVfVFJBTlNGT1JNRVIsXG4gICAgICB1c2VDbGFzczogdHJhbnNmb3JtZXIsXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvTnVtYmVyVHJhbnNmb3JtZXIoXG4gIHRyYW5zZm9ybWVyOiBUeXBlPFRyYW5zbG9jb051bWJlclRyYW5zZm9ybWVyPlxuKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19OVU1CRVJfVFJBTlNGT1JNRVIsXG4gICAgICB1c2VDbGFzczogdHJhbnNmb3JtZXIsXG4gICAgfSxcbiAgXSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { TranslocoService } from '@jsverse/transloco';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
5
|
+
import { isLocaleFormat, toDate } from './helpers';
|
|
6
|
+
import { getDefaultOptions } from './shared';
|
|
7
|
+
import { TRANSLOCO_LOCALE_CONFIG, TRANSLOCO_LOCALE_CURRENCY_MAPPING, TRANSLOCO_LOCALE_DEFAULT_CURRENCY, TRANSLOCO_LOCALE_DEFAULT_LOCALE, TRANSLOCO_LOCALE_LANG_MAPPING, } from './transloco-locale.config';
|
|
8
|
+
import { TRANSLOCO_DATE_TRANSFORMER, TRANSLOCO_NUMBER_TRANSFORMER, } from './transloco-locale.transformers';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class TranslocoLocaleService {
|
|
11
|
+
translocoService = inject(TranslocoService);
|
|
12
|
+
langLocaleMapping = inject(TRANSLOCO_LOCALE_LANG_MAPPING);
|
|
13
|
+
defaultLocale = inject(TRANSLOCO_LOCALE_DEFAULT_LOCALE);
|
|
14
|
+
defaultCurrency = inject(TRANSLOCO_LOCALE_DEFAULT_CURRENCY);
|
|
15
|
+
localeCurrencyMapping = inject(TRANSLOCO_LOCALE_CURRENCY_MAPPING);
|
|
16
|
+
numberTransformer = inject(TRANSLOCO_NUMBER_TRANSFORMER);
|
|
17
|
+
dateTransformer = inject(TRANSLOCO_DATE_TRANSFORMER);
|
|
18
|
+
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
|
|
19
|
+
_locale = this.defaultLocale || this.toLocale(this.translocoService.getActiveLang());
|
|
20
|
+
locale = new BehaviorSubject(this._locale);
|
|
21
|
+
subscription = this.translocoService.langChanges$
|
|
22
|
+
.pipe(map((lang) => this.toLocale(lang)), filter(Boolean))
|
|
23
|
+
.subscribe((locale) => this.setLocale(locale));
|
|
24
|
+
localeChanges$ = this.locale.asObservable().pipe(distinctUntilChanged());
|
|
25
|
+
getLocale() {
|
|
26
|
+
return this._locale;
|
|
27
|
+
}
|
|
28
|
+
setLocale(locale) {
|
|
29
|
+
if (!isLocaleFormat(locale)) {
|
|
30
|
+
console.error(`${locale} isn't a valid locale format`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.locale.next(locale);
|
|
34
|
+
this._locale = locale;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get the currency symbol for the currently set locale.
|
|
38
|
+
*/
|
|
39
|
+
getCurrencySymbol(locale = this.getLocale()) {
|
|
40
|
+
const currency = this.localeCurrencyMapping[locale];
|
|
41
|
+
const numberFormat = new Intl.NumberFormat(locale, {
|
|
42
|
+
style: 'currency',
|
|
43
|
+
currencyDisplay: 'symbol',
|
|
44
|
+
currency,
|
|
45
|
+
minimumFractionDigits: 0,
|
|
46
|
+
maximumFractionDigits: 0,
|
|
47
|
+
});
|
|
48
|
+
const pivot = 0;
|
|
49
|
+
return numberFormat
|
|
50
|
+
.format(pivot)
|
|
51
|
+
.split(pivot.toString())
|
|
52
|
+
.map((element) => element.trim())
|
|
53
|
+
.find((element) => !!element);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Transform a date into the locale's date format.
|
|
57
|
+
*
|
|
58
|
+
* The date expression: a `Date` object, a number
|
|
59
|
+
* (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
*
|
|
63
|
+
* localizeDate(new Date(2019, 9, 7, 12, 0, 0)) // 10/7/2019
|
|
64
|
+
* localizeDate(date, 'en-US', { dateStyle: 'medium', timeStyle: 'medium' }) // Sep 10, 2019, 10:46:12 PM
|
|
65
|
+
* localizeDate(date) 'en-US', { timeZone: 'UTC', timeStyle: 'full' } // 7:40:32 PM Coordinated Universal Time
|
|
66
|
+
* localizeDate(1, 'en-US', { dateStyle: 'medium' }) // Jan 1, 1970
|
|
67
|
+
* localizeDate('2019-02-08', 'en-US', { dateStyle: 'medium' }) // Feb 8, 2019
|
|
68
|
+
*/
|
|
69
|
+
localizeDate(date, locale = this.getLocale(), options = {}) {
|
|
70
|
+
const resolved = options ?? getDefaultOptions(locale, 'date', this.localeConfig);
|
|
71
|
+
return this.dateTransformer.transform(toDate(date), locale, resolved);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Transform a number into the locale's number format according to the number type.
|
|
75
|
+
*
|
|
76
|
+
* localizeNumber(1234567890, 'decimal') // 1,234,567,890
|
|
77
|
+
* localizeNumber(0.5, 'percent') // 50%
|
|
78
|
+
* localizeNumber(1000, 'currency') // $1,000.00
|
|
79
|
+
*/
|
|
80
|
+
localizeNumber(value, style, locale = this.getLocale(), options) {
|
|
81
|
+
let resolved = options ?? getDefaultOptions(locale, style, this.localeConfig);
|
|
82
|
+
if (style === 'currency') {
|
|
83
|
+
resolved = {
|
|
84
|
+
...resolved,
|
|
85
|
+
currency: resolved.currency || this._resolveCurrencyCode(locale),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return this.numberTransformer.transform(value, style, locale, resolved);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
_resolveCurrencyCode(locale = this.getLocale()) {
|
|
94
|
+
return this.localeCurrencyMapping[locale] || this.defaultCurrency;
|
|
95
|
+
}
|
|
96
|
+
ngOnDestroy() {
|
|
97
|
+
this.subscription?.unsubscribe();
|
|
98
|
+
// Caretaker note: it's important to clean up references to subscriptions since they save the `next`
|
|
99
|
+
// callback within its `destination` property, preventing classes from being GC'd.
|
|
100
|
+
this.subscription = null;
|
|
101
|
+
}
|
|
102
|
+
toLocale(val) {
|
|
103
|
+
if (this.langLocaleMapping[val]) {
|
|
104
|
+
return this.langLocaleMapping[val];
|
|
105
|
+
}
|
|
106
|
+
if (isLocaleFormat(val)) {
|
|
107
|
+
return val;
|
|
108
|
+
}
|
|
109
|
+
return '';
|
|
110
|
+
}
|
|
111
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
112
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleService, providedIn: 'root' });
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoLocaleService, decorators: [{
|
|
115
|
+
type: Injectable,
|
|
116
|
+
args: [{
|
|
117
|
+
providedIn: 'root',
|
|
118
|
+
}]
|
|
119
|
+
}] });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28tbG9jYWxlL3NyYy9saWIvdHJhbnNsb2NvLWxvY2FsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQywrQkFBK0IsRUFDL0IsNkJBQTZCLEdBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiw0QkFBNEIsR0FDN0IsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFZekMsTUFBTSxPQUFPLHNCQUFzQjtJQUN6QixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMxRCxhQUFhLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDeEQsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzVELHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2xFLGlCQUFpQixHQUFHLE1BQU0sQ0FB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aW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNMb2NhbGVGb3JtYXQsIHRvRGF0ZSB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7XG4gIFRSQU5TTE9DT19MT0NBTEVfQ09ORklHLFxuICBUUkFOU0xPQ09fTE9DQUxFX0NVUlJFTkNZX01BUFBJTkcsXG4gIFRSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9DVVJSRU5DWSxcbiAgVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0xPQ0FMRSxcbiAgVFJBTlNMT0NPX0xPQ0FMRV9MQU5HX01BUFBJTkcsXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS5jb25maWcnO1xuaW1wb3J0IHtcbiAgVFJBTlNMT0NPX0RBVEVfVFJBTlNGT1JNRVIsXG4gIFRSQU5TTE9DT19OVU1CRVJfVFJBTlNGT1JNRVIsXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS50cmFuc2Zvcm1lcnMnO1xuaW1wb3J0IHtcbiAgRGF0ZUZvcm1hdE9wdGlvbnMsXG4gIExvY2FsZSxcbiAgTG9jYWxlQ29uZmlnLFxuICBOdW1iZXJTdHlsZXMsXG4gIFZhbGlkRGF0ZSxcbn0gZnJvbSAnLi90cmFuc2xvY28tbG9jYWxlLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb0xvY2FsZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gIHByaXZhdGUgbGFuZ0xvY2FsZU1hcHBpbmcgPSBpbmplY3QoVFJBTlNMT0NPX0xPQ0FMRV9MQU5HX01BUFBJTkcpO1xuICBwcml2YXRlIGRlZmF1bHRMb2NhbGUgPSBpbmplY3QoVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0xPQ0FMRSk7XG4gIHByaXZhdGUgZGVmYXVsdEN1cnJlbmN5ID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9DVVJSRU5DWSk7XG4gIHByaXZhdGUgbG9jYWxlQ3VycmVuY3lNYXBwaW5nID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ1VSUkVOQ1lfTUFQUElORyk7XG4gIHByaXZhdGUgbnVtYmVyVHJhbnNmb3JtZXIgPSBpbmplY3QoVFJBTlNMT0NPX05VTUJFUl9UUkFOU0ZPUk1FUik7XG4gIHByaXZhdGUgZGF0ZVRyYW5zZm9ybWVyID0gaW5qZWN0KFRSQU5TTE9DT19EQVRFX1RSQU5TRk9STUVSKTtcbiAgcHJpdmF0ZSBsb2NhbGVDb25maWc6IExvY2FsZUNvbmZpZyA9IGluamVjdChUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyk7XG5cbiAgcHJpdmF0ZSBfbG9jYWxlID1cbiAgICB0aGlzLmRlZmF1bHRMb2NhbGUgfHwgdGhpcy50b0xvY2FsZSh0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpKTtcbiAgcHJpdmF0ZSBsb2NhbGU6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLl9sb2NhbGUpO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyRcbiAgICAucGlwZShcbiAgICAgIG1hcCgobGFuZykgPT4gdGhpcy50b0xvY2FsZShsYW5nKSksXG4gICAgICBmaWx0ZXIoQm9vbGVhbilcbiAgICApXG4gICAgLnN1YnNjcmliZSgobG9jYWxlOiBMb2NhbGUpID0+IHRoaXMuc2V0TG9jYWxlKGxvY2FsZSkpO1xuXG4gIGxvY2FsZUNoYW5nZXMkID0gdGhpcy5sb2NhbGUuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICBnZXRMb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIHNldExvY2FsZShsb2NhbGU6IExvY2FsZSkge1xuICAgIGlmICghaXNMb2NhbGVGb3JtYXQobG9jYWxlKSkge1xuICAgICAgY29uc29sZS5lcnJvcihgJHtsb2NhbGV9IGlzbid0IGEgdmFsaWQgbG9jYWxlIGZvcm1hdGApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubG9jYWxlLm5leHQobG9jYWxlKTtcbiAgICB0aGlzLl9sb2NhbGUgPSBsb2NhbGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW5jeSBzeW1ib2wgZm9yIHRoZSBjdXJyZW50bHkgc2V0IGxvY2FsZS5cbiAgICovXG4gIGdldEN1cnJlbmN5U3ltYm9sKGxvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKCkpIHtcbiAgICBjb25zdCBjdXJyZW5jeSA9IHRoaXMubG9jYWxlQ3VycmVuY3lNYXBwaW5nW2xvY2FsZV07XG4gICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xuICAgICAgc3R5bGU6ICdjdXJyZW5jeScsXG4gICAgICBjdXJyZW5jeURpc3BsYXk6ICdzeW1ib2wnLFxuICAgICAgY3VycmVuY3ksXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwaXZvdCA9IDA7XG5cbiAgICByZXR1cm4gbnVtYmVyRm9ybWF0XG4gICAgICAuZm9ybWF0KHBpdm90KVxuICAgICAgLnNwbGl0KHBpdm90LnRvU3RyaW5nKCkpXG4gICAgICAubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LnRyaW0oKSlcbiAgICAgIC5maW5kKChlbGVtZW50KSA9PiAhIWVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBhIGRhdGUgaW50byB0aGUgbG9jYWxlJ3MgZGF0ZSBmb3JtYXQuXG4gICAqXG4gICAqIFRoZSBkYXRlIGV4cHJlc3Npb246IGEgYERhdGVgIG9iamVjdCwgYSBudW1iZXJcbiAgICogKG1pbGxpc2Vjb25kcyBzaW5jZSBVVEMgZXBvY2gpLCBvciBhbiBJU08gc3RyaW5nIChodHRwczovL3d3dy53My5vcmcvVFIvTk9URS1kYXRldGltZSkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIGxvY2FsaXplRGF0ZShuZXcgRGF0ZSgyMDE5LCA5LCA3LCAxMiwgMCwgMCkpIC8vIDEwLzcvMjAxOVxuICAgKiBsb2NhbGl6ZURhdGUoZGF0ZSwgJ2VuLVVTJywgeyBkYXRlU3R5bGU6ICdtZWRpdW0nLCB0aW1lU3R5bGU6ICdtZWRpdW0nIH0pIC8vIFNlcCAxMCwgMjAxOSwgMTA6NDY6MTIgUE1cbiAgICogbG9jYWxpemVEYXRlKGRhdGUpICdlbi1VUycsIHsgdGltZVpvbmU6ICdVVEMnLCB0aW1lU3R5bGU6ICdmdWxsJyB9IC8vIDc6NDA6MzIgUE0gQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWVcbiAgICogbG9jYWxpemVEYXRlKDEsICdlbi1VUycsIHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9KSAvLyBKYW4gMSwgMTk3MFxuICAgKiBsb2NhbGl6ZURhdGUoJzIwMTktMDItMDgnLCAnZW4tVVMnLCB7IGRhdGVTdHlsZTogJ21lZGl1bScgfSkgLy8gRmViIDgsIDIwMTlcbiAgICovXG4gIGxvY2FsaXplRGF0ZShcbiAgICBkYXRlOiBWYWxpZERhdGUsXG4gICAgbG9jYWxlOiBMb2NhbGUgPSB0aGlzLmdldExvY2FsZSgpLFxuICAgIG9wdGlvbnM6IERhdGVGb3JtYXRPcHRpb25zID0ge31cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXNvbHZlZCA9XG4gICAgICBvcHRpb25zID8/IGdldERlZmF1bHRPcHRpb25zKGxvY2FsZSwgJ2RhdGUnLCB0aGlzLmxvY2FsZUNvbmZpZyk7XG5cbiAgICByZXR1cm4gdGhpcy5kYXRlVHJhbnNmb3JtZXIudHJhbnNmb3JtKHRvRGF0ZShkYXRlKSwgbG9jYWxlLCByZXNvbHZlZCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgbnVtYmVyIGludG8gdGhlIGxvY2FsZSdzIG51bWJlciBmb3JtYXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgdHlwZS5cbiAgICpcbiAgICogbG9jYWxpemVOdW1iZXIoMTIzNDU2Nzg5MCwgJ2RlY2ltYWwnKSAvLyAxLDIzNCw1NjcsODkwXG4gICAqIGxvY2FsaXplTnVtYmVyKDAuNSwgJ3BlcmNlbnQnKSAvLyA1MCVcbiAgICogbG9jYWxpemVOdW1iZXIoMTAwMCwgJ2N1cnJlbmN5JykgLy8gJDEsMDAwLjAwXG4gICAqL1xuICBsb2NhbGl6ZU51bWJlcihcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIHN0eWxlOiBOdW1iZXJTdHlsZXMsXG4gICAgbG9jYWxlOiBMb2NhbGUgPSB0aGlzLmdldExvY2FsZSgpLFxuICAgIG9wdGlvbnM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnNcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzb2x2ZWQgPVxuICAgICAgb3B0aW9ucyA/PyBnZXREZWZhdWx0T3B0aW9ucyhsb2NhbGUsIHN0eWxlLCB0aGlzLmxvY2FsZUNvbmZpZyk7XG5cbiAgICBpZiAoc3R5bGUgPT09ICdjdXJyZW5jeScpIHtcbiAgICAgIHJlc29sdmVkID0ge1xuICAgICAgICAuLi5yZXNvbHZlZCxcbiAgICAgICAgY3VycmVuY3k6IHJlc29sdmVkLmN1cnJlbmN5IHx8IHRoaXMuX3Jlc29sdmVDdXJyZW5jeUNvZGUobG9jYWxlKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubnVtYmVyVHJhbnNmb3JtZXIudHJhbnNmb3JtKHZhbHVlLCBzdHlsZSwgbG9jYWxlLCByZXNvbHZlZCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfcmVzb2x2ZUN1cnJlbmN5Q29kZShsb2NhbGU6IExvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKCkpIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbGVDdXJyZW5jeU1hcHBpbmdbbG9jYWxlXSB8fCB0aGlzLmRlZmF1bHRDdXJyZW5jeTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIC8vIENhcmV0YWtlciBub3RlOiBpdCdzIGltcG9ydGFudCB0byBjbGVhbiB1cCByZWZlcmVuY2VzIHRvIHN1YnNjcmlwdGlvbnMgc2luY2UgdGhleSBzYXZlIHRoZSBgbmV4dGBcbiAgICAvLyBjYWxsYmFjayB3aXRoaW4gaXRzIGBkZXN0aW5hdGlvbmAgcHJvcGVydHksIHByZXZlbnRpbmcgY2xhc3NlcyBmcm9tIGJlaW5nIEdDJ2QuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0xvY2FsZSh2YWw6IHN0cmluZyB8IExvY2FsZSk6IExvY2FsZSB7XG4gICAgaWYgKHRoaXMubGFuZ0xvY2FsZU1hcHBpbmdbdmFsXSkge1xuICAgICAgcmV0dXJuIHRoaXMubGFuZ0xvY2FsZU1hcHBpbmdbdmFsXTtcbiAgICB9XG5cbiAgICBpZiAoaXNMb2NhbGVGb3JtYXQodmFsKSkge1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { localizeNumber, localizeDate } from './helpers';
|
|
3
|
+
export const TRANSLOCO_DATE_TRANSFORMER = new InjectionToken('TRANSLOCO_DATE_TRANSFORMER');
|
|
4
|
+
export const TRANSLOCO_NUMBER_TRANSFORMER = new InjectionToken('TRANSLOCO_NUMBER_TRANSFORMER');
|
|
5
|
+
export class DefaultDateTransformer {
|
|
6
|
+
transform(date, locale, options) {
|
|
7
|
+
return localizeDate(date, locale, options);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class DefaultNumberTransformer {
|
|
11
|
+
transform(value, type, locale, options) {
|
|
12
|
+
return localizeNumber(value, locale, { ...options, style: type });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS50cmFuc2Zvcm1lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi90cmFuc2xvY28tbG9jYWxlLnRyYW5zZm9ybWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBbUJ6RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsSUFBSSxjQUFjLENBQTJCLDRCQUE0QixDQUFDLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQ3ZDLElBQUksY0FBYyxDQUNoQiw4QkFBOEIsQ0FDL0IsQ0FBQztBQUVKLE1BQU0sT0FBTyxzQkFBc0I7SUFDMUIsU0FBUyxDQUNkLElBQVUsRUFDVixNQUFjLEVBQ2QsT0FBMEI7UUFFMUIsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sd0JBQXdCO0lBQzVCLFNBQVMsQ0FDZCxLQUFzQixFQUN0QixJQUFrQixFQUNsQixNQUFjLEVBQ2QsT0FBaUM7UUFFakMsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGxvY2FsaXplTnVtYmVyLCBsb2NhbGl6ZURhdGUgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHtcbiAgTG9jYWxlLFxuICBEYXRlRm9ybWF0T3B0aW9ucyxcbiAgTnVtYmVyU3R5bGVzLFxufSBmcm9tICcuL3RyYW5zbG9jby1sb2NhbGUudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbG9jb0RhdGVUcmFuc2Zvcm1lciB7XG4gIHRyYW5zZm9ybShkYXRlOiBEYXRlLCBsb2NhbGU6IExvY2FsZSwgb3B0aW9uczogRGF0ZUZvcm1hdE9wdGlvbnMpOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbG9jb051bWJlclRyYW5zZm9ybWVyIHtcbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgdHlwZTogTnVtYmVyU3R5bGVzLFxuICAgIGxvY2FsZTogTG9jYWxlLFxuICAgIG9wdGlvbnM6IEludGwuTnVtYmVyRm9ybWF0T3B0aW9uc1xuICApOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xPQ09fREFURV9UUkFOU0ZPUk1FUiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxUcmFuc2xvY29EYXRlVHJhbnNmb3JtZXI+KCdUUkFOU0xPQ09fREFURV9UUkFOU0ZPUk1FUicpO1xuZXhwb3J0IGNvbnN0IFRSQU5TTE9DT19OVU1CRVJfVFJBTlNGT1JNRVIgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48VHJhbnNsb2NvTnVtYmVyVHJhbnNmb3JtZXI+KFxuICAgICdUUkFOU0xPQ09fTlVNQkVSX1RSQU5TRk9STUVSJ1xuICApO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdERhdGVUcmFuc2Zvcm1lciBpbXBsZW1lbnRzIFRyYW5zbG9jb0RhdGVUcmFuc2Zvcm1lciB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgZGF0ZTogRGF0ZSxcbiAgICBsb2NhbGU6IExvY2FsZSxcbiAgICBvcHRpb25zOiBEYXRlRm9ybWF0T3B0aW9uc1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBsb2NhbGl6ZURhdGUoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKTtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIERlZmF1bHROdW1iZXJUcmFuc2Zvcm1lciBpbXBsZW1lbnRzIFRyYW5zbG9jb051bWJlclRyYW5zZm9ybWVyIHtcbiAgcHVibGljIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIHR5cGU6IE51bWJlclN0eWxlcyxcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnNcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbG9jYWxpemVOdW1iZXIodmFsdWUsIGxvY2FsZSwgeyAuLi5vcHRpb25zLCBzdHlsZTogdHlwZSB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3RyYW5zbG9jby1sb2NhbGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTnVtYmVyRm9ybWF0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGVuIHRvIGRpc3BsYXkgdGhlIHNpZ24gZm9yIHRoZSBudW1iZXIuXG4gICAqL1xuICBzaWduRGlzcGxheT86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9uc1snc2lnbkRpc3BsYXknXTtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW5jeSB0byB1c2UgaW4gY3VycmVuY3kgZm9ybWF0dGluZy4gUG9zc2libGUgdmFsdWVzIGFyZSB0aGUgSVNPIDQyMTcgY3VycmVuY3kgY29kZXMsIHN1Y2ggYXMgXCJVU0RcIiBmb3IgdGhlIFVTIGRvbGxhciwgXCJFVVJcIiBmb3IgdGhlIGV1cm9cbiAgICovXG4gIGN1cnJlbmN5PzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zWydjdXJyZW5jeSddO1xuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgZ3JvdXBpbmcgc2VwYXJhdG9ycywgc3VjaCBhcyB0aG91c2FuZHMgc2VwYXJhdG9ycyBvciB0aG91c2FuZC9sYWtoL2Nyb3JlIHNlcGFyYXRvcnMuIFBvc3NpYmxlIHZhbHVlcyBhcmUgdHJ1ZSBhbmQgZmFsc2U7IHRoZSBkZWZhdWx0IGlzIHRydWUuXG4gICAqL1xuICB1c2VHcm91cGluZz86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9uc1sndXNlR3JvdXBpbmcnXTtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnRlZ2VyIGRpZ2l0cyB0byB1c2UuIFBvc3NpYmxlIHZhbHVlcyBhcmUgZnJvbSAxIHRvIDIxLlxuICAgKi9cbiAgbWluaW11bUludGVnZXJEaWdpdHM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnNbJ21pbmltdW1JbnRlZ2VyRGlnaXRzJ107XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgZnJhY3Rpb24gZGlnaXRzIHRvIHVzZS4gUG9zc2libGUgdmFsdWVzIGFyZSBmcm9tIDAgdG8gMjAuXG4gICAqL1xuICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnNbJ21pbmltdW1GcmFjdGlvbkRpZ2l0cyddO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIGZyYWN0aW9uIGRpZ2l0cyB0byB1c2UuIFBvc3NpYmxlIHZhbHVlcyBhcmUgZnJvbSAwIHRvIDIwLlxuICAgKi9cbiAgbWF4aW11bUZyYWN0aW9uRGlnaXRzPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zWydtYXhpbXVtRnJhY3Rpb25EaWdpdHMnXTtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBzaWduaWZpY2FudCBkaWdpdHMgdG8gdXNlLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGZyb20gMSB0byAyMS5cbiAgICovXG4gIG1pbmltdW1TaWduaWZpY2FudERpZ2l0cz86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9uc1snbWluaW11bVNpZ25pZmljYW50RGlnaXRzJ107XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzIHRvIHVzZS4gUG9zc2libGUgdmFsdWVzIGFyZSBmcm9tIDEgdG8gMjFcbiAgICovXG4gIG1heGltdW1TaWduaWZpY2FudERpZ2l0cz86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9uc1snbWF4aW11bVNpZ25pZmljYW50RGlnaXRzJ107XG59XG5cbi8qKlxuICogVGhlIG51bWJlciBkaXNwbGF5IGZvcm1hdHRpbmcgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgTnVtYmVyU3R5bGVzID0gJ2N1cnJlbmN5JyB8ICdkZWNpbWFsJyB8ICdwZXJjZW50JztcblxuLyoqXG4gKiBBbGxvd2VkIHZhbHVlcyB3aXRoIERhdGUgYW5kIFRpbWUgZm9ybWF0c1xuICovXG5leHBvcnQgdHlwZSBEYXRlRm9ybWF0U3R5bGVzID0gJ2Z1bGwnIHwgJ2xvbmcnIHwgJ21lZGl1bScgfCAnc2hvcnQnO1xuXG4vKipcbiAqIENvbW1vbiBhbGxvd2VkIGZvcm1hdHMgZm9yIHRpbWUgem9uZXNcbiAqL1xuZXhwb3J0IHR5cGUgVGltZXpvbmVOYW1lRm9ybWF0cyA9ICdzaG9ydCcgfCAnbG9uZyc7XG5cbi8qKlxuICogQ29tbW9uIGFsbG93ZWQgZm9ybWF0cyBmb3IgZGF0ZSBzdHJpbmdzXG4gKi9cbmV4cG9ydCB0eXBlIERhdGVTdHJpbmdGb3JtYXRzID0gVGltZXpvbmVOYW1lRm9ybWF0cyB8ICduYXJyb3cnO1xuXG4vKipcbiAqIENvbW1vbiBhbGxvd2VkIGZvcm1hdHMgZm9yIG51bWJlcnNcbiAqL1xuZXhwb3J0IHR5cGUgRGF0ZU51bWJlckZvcm1hdHMgPSAnbnVtZXJpYycgfCAnMi1kaWdpdCc7XG5cbi8qKlxuICogU3VwcG9ydGVkIEludGwgY2FsZW5kZXIgdHlwZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRlRm9ybWF0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBmb3JtYXR0aW5nIHN0eWxlLlxuICAgKi9cbiAgZGF0ZVN0eWxlPzogRGF0ZUZvcm1hdFN0eWxlcztcbiAgLyoqXG4gICAqIFRoZSB0aW1lIGZvcm1hdHRpbmcgc3R5bGUuXG4gICAqL1xuICB0aW1lU3R5bGU/OiBEYXRlRm9ybWF0U3R5bGVzO1xuICAvKipcbiAgICogTnVtYmVyIG9mIGZyYWN0aW9uYWwgc2Vjb25kcyB0byBzaG93XG4gICAqL1xuICBmcmFjdGlvbmFsU2Vjb25kRGlnaXRzPzogMCB8IDEgfCAyIHwgMztcbiAgLyoqXG4gICAqIFRoZSB3YXkgZGF5IHBlcmlvZHMgc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgZGF5UGVyaW9kPzogRGF0ZVN0cmluZ0Zvcm1hdHM7XG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uIGZvciAxMi8yNCBob3VyIGRpc3BsYXlcbiAgICovXG4gIGhvdXIxMj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMb2NhbGUgbWF0Y2hlciBvcHRpb25zXG4gICAqL1xuICBsb2NhbGVNYXRjaGVyPzogJ2xvb2t1cCcgfCAnYmVzdCBmaXQnO1xuICAvKipcbiAgICogRm9ybWF0IG1hdGNoZXIgb3B0aW9uc1xuICAgKi9cbiAgZm9ybWF0TWF0Y2hlcj86ICdsb29rdXAnIHwgJ2Jlc3QgZml0JztcbiAgLyoqXG4gICAqIFRoZSB3ZWVrZGF5IGZvcm1hdHRpbmcgc3R5bGVcbiAgICovXG4gIHdlZWtkYXk/OiBEYXRlU3RyaW5nRm9ybWF0cztcbiAgLyoqXG4gICAqIFRoZSBlcmEgZm9ybWF0dGluZyBzdHlsZVxuICAgKi9cbiAgZXJhPzogRGF0ZVN0cmluZ0Zvcm1hdHM7XG4gIC8qKlxuICAgKiBUaGUgeWVhciBmb3JtYXR0aW5nIHN0eWxlXG4gICAqL1xuICB5ZWFyPzogRGF0ZU51bWJlckZvcm1hdHM7XG4gIC8qKlxuICAgKiBUaGUgTW9udGggZm9ybWF0dGluZyBzdHlsZVxuICAgKi9cbiAgbW9udGg/OiBEYXRlU3RyaW5nRm9ybWF0cyB8IERhdGVOdW1iZXJGb3JtYXRzO1xuICAvKipcbiAgICogVGhlIERheSBmb3JtYXR0aW5nIHN0eWxlXG4gICAqL1xuICBkYXk/OiBEYXRlTnVtYmVyRm9ybWF0cztcbiAgLyoqXG4gICAqIFRoZSBIb3VyIGZvcm1hdHRpbmcgc3R5bGVcbiAgICovXG4gIGhvdXI/OiBEYXRlTnVtYmVyRm9ybWF0cztcbiAgLyoqXG4gICAqIFRoZSBNaW51dGUgZm9ybWF0dGluZyBzdHlsZVxuICAgKi9cbiAgbWludXRlPzogRGF0ZU51bWJlckZvcm1hdHM7XG4gIC8qKlxuICAgKiBUaGUgU2Vjb25kcyBmb3JtYXR0aW5nIHN0eWxlXG4gICAqL1xuICBzZWNvbmQ/OiBEYXRlTnVtYmVyRm9ybWF0cztcbiAgLyoqXG4gICAqIFRoZSB0aW1lIHpvbmUgdG8gdXNlLiBUaGUgb25seSB2YWx1ZSBpbXBsZW1lbnRhdGlvbnMgbXVzdCByZWNvZ25pemUgaXMgXCJVVENcIjsgdGhlIGRlZmF1bHQgaXMgdGhlIHJ1bnRpbWUncyBkZWZhdWx0IHRpbWUgem9uZS4gSW1wbGVtZW50YXRpb25zIG1heSBhbHNvIHJlY29nbml6ZSB0aGUgdGltZSB6b25lIG5hbWVzIG9mIHRoZSBJQU5BIHRpbWUgem9uZSBkYXRhYmFzZSwgc3VjaCBhcyBcIkFzaWEvU2hhbmdoYWlcIiwgXCJBc2lhL0tvbGthdGFcIiwgXCJBbWVyaWNhL05ld19Zb3JrXCIuXG4gICAqL1xuICB0aW1lWm9uZT86IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zWyd0aW1lWm9uZSddO1xuICAvKipcbiAgICogVGhlIGZvcm1hdHRpbmcgZm9yIHRoZSB0aW1lIHpvbmUgbmFtZVxuICAgKi9cbiAgdGltZVpvbmVOYW1lPzogVGltZXpvbmVOYW1lRm9ybWF0cztcbn1cblxuLy9CQ1AgNDcgbG9jYWxlIHN0cmluZyAoZS5nLiBlbi1VUywgZXMtRVMpLlxuZXhwb3J0IHR5cGUgTG9jYWxlID0gc3RyaW5nO1xuXG4vL0lTTyA0MjE3IGN1cnJlbmN5IHN0cmluZyAoZS5nLiBVU0QsIEVVUikuXG5leHBvcnQgdHlwZSBDdXJyZW5jeSA9IHN0cmluZztcblxuZXhwb3J0IHR5cGUgVmFsaWREYXRlID0gRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGVGb3JtYXRPcHRpb25zIHtcbiAgZGF0ZT86IERhdGVGb3JtYXRPcHRpb25zO1xuICBkZWNpbWFsPzogTnVtYmVyRm9ybWF0T3B0aW9ucztcbiAgY3VycmVuY3k/OiBOdW1iZXJGb3JtYXRPcHRpb25zO1xuICBwZXJjZW50PzogTnVtYmVyRm9ybWF0T3B0aW9ucztcbiAgdW5pdD86IE51bWJlckZvcm1hdE9wdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIExvY2FsZUNvbmZpZ01hcHBpbmcgPSBSZWNvcmQ8c3RyaW5nLCBMb2NhbGVGb3JtYXRPcHRpb25zPjtcbmV4cG9ydCB0eXBlIExhbmdUb0xvY2FsZU1hcHBpbmcgPSBSZWNvcmQ8c3RyaW5nLCBMb2NhbGU+O1xuZXhwb3J0IHR5cGUgTG9jYWxlVG9DdXJyZW5jeU1hcHBpbmcgPSBSZWNvcmQ8c3RyaW5nLCBDdXJyZW5jeT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxlQ29uZmlnIHtcbiAgZ2xvYmFsPzogTG9jYWxlRm9ybWF0T3B0aW9ucztcbiAgbG9jYWxlQmFzZWQ/OiBMb2NhbGVDb25maWdNYXBwaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbG9jb0xvY2FsZUNvbmZpZyB7XG4gIGRlZmF1bHRMb2NhbGU/OiBMb2NhbGU7XG4gIGRlZmF1bHRDdXJyZW5jeT86IEN1cnJlbmN5O1xuICBsb2NhbGVDb25maWc/OiBMb2NhbGVDb25maWc7XG4gIGxhbmdUb0xvY2FsZU1hcHBpbmc/OiBMYW5nVG9Mb2NhbGVNYXBwaW5nO1xuICBsb2NhbGVUb0N1cnJlbmN5TWFwcGluZz86IExvY2FsZVRvQ3VycmVuY3lNYXBwaW5nO1xufVxuIl19
|