@jsverse/transloco-locale
Version:
The localization (l10n) library plugin for Transloco
39 lines • 4.9 kB
JavaScript
import { inject, Pipe } from '@angular/core';
import { isNil } from '@jsverse/utils';
import { getDefaultOptions } from '../shared';
import { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';
import { BaseLocalePipe } from './base-locale.pipe';
import * as i0 from "@angular/core";
export class TranslocoDecimalPipe extends BaseLocalePipe {
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
/**
* Transform a given number into the locale's currency format.
*
* @example
*
* 1234567890 | translocoDecimal: {} : en-US // 1,234,567,890
* 1234567890 | translocoDecimal: {useGrouping: false}: en-US // 1234567890
*
*/
transform(value, numberFormatOptions = {}, locale) {
if (isNil(value))
return '';
locale = this.getLocale(locale);
const options = {
...getDefaultOptions(locale, 'decimal', this.localeConfig),
...numberFormatOptions,
};
return this.localeService.localizeNumber(value, 'decimal', locale, options);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoDecimalPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: TranslocoDecimalPipe, isStandalone: true, name: "translocoDecimal", pure: false });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoDecimalPipe, decorators: [{
type: Pipe,
args: [{
name: 'translocoDecimal',
pure: false,
standalone: true,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWRlY2ltYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1kZWNpbWFsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxjQUFjO0lBR2QsWUFBWSxHQUFpQixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRTs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsQ0FDUCxLQUFzQixFQUN0QixzQkFBMkMsRUFBRSxFQUM3QyxNQUFlO1FBRWYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxRCxHQUFHLG1CQUFtQjtTQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTdCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGpzdmVyc2UvdXRpbHMnO1xuXG5pbXBvcnQgeyBnZXREZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyB9IGZyb20gJy4uL3RyYW5zbG9jby1sb2NhbGUuY29uZmlnJztcbmltcG9ydCB7XG4gIExvY2FsZSxcbiAgTG9jYWxlQ29uZmlnLFxuICBOdW1iZXJGb3JtYXRPcHRpb25zLFxufSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLnR5cGVzJztcblxuaW1wb3J0IHsgQmFzZUxvY2FsZVBpcGUgfSBmcm9tICcuL2Jhc2UtbG9jYWxlLnBpcGUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cmFuc2xvY29EZWNpbWFsJyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb0RlY2ltYWxQaXBlXG4gIGV4dGVuZHMgQmFzZUxvY2FsZVBpcGVcbiAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtXG57XG4gIHByaXZhdGUgbG9jYWxlQ29uZmlnOiBMb2NhbGVDb25maWcgPSBpbmplY3QoVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcpO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSBnaXZlbiBudW1iZXIgaW50byB0aGUgbG9jYWxlJ3MgY3VycmVuY3kgZm9ybWF0LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAxMjM0NTY3ODkwIHwgdHJhbnNsb2NvRGVjaW1hbDoge30gOiBlbi1VUyAvLyAxLDIzNCw1NjcsODkwXG4gICAqIDEyMzQ1Njc4OTAgfCB0cmFuc2xvY29EZWNpbWFsOiB7dXNlR3JvdXBpbmc6IGZhbHNlfTogZW4tVVMgLy8gMTIzNDU2Nzg5MFxuICAgKlxuICAgKi9cbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbnVtYmVyRm9ybWF0T3B0aW9uczogTnVtYmVyRm9ybWF0T3B0aW9ucyA9IHt9LFxuICAgIGxvY2FsZT86IExvY2FsZSxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoaXNOaWwodmFsdWUpKSByZXR1cm4gJyc7XG4gICAgbG9jYWxlID0gdGhpcy5nZXRMb2NhbGUobG9jYWxlKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi5nZXREZWZhdWx0T3B0aW9ucyhsb2NhbGUsICdkZWNpbWFsJywgdGhpcy5sb2NhbGVDb25maWcpLFxuICAgICAgLi4ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGl6ZU51bWJlcih2YWx1ZSwgJ2RlY2ltYWwnLCBsb2NhbGUsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=