UNPKG

@jsverse/transloco-locale

Version:

The localization (l10n) library plugin for Transloco

39 lines 4.91 kB
import { inject, Pipe } from '@angular/core'; import { isNil } from '@jsverse/transloco'; 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: "17.0.9", ngImport: i0, type: TranslocoDecimalPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDecimalPipe, isStandalone: true, name: "translocoDecimal", pure: false }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDecimalPipe, decorators: [{ type: Pipe, args: [{ name: 'translocoDecimal', pure: false, standalone: true, }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWRlY2ltYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1kZWNpbWFsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxjQUFjO0lBR2QsWUFBWSxHQUFpQixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRTs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsQ0FDUCxLQUFzQixFQUN0QixzQkFBMkMsRUFBRSxFQUM3QyxNQUFlO1FBRWYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxRCxHQUFHLG1CQUFtQjtTQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTdCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHsgZ2V0RGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcgfSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBMb2NhbGUsXG4gIExvY2FsZUNvbmZpZyxcbiAgTnVtYmVyRm9ybWF0T3B0aW9ucyxcbn0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmltcG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsb2NvRGVjaW1hbCcsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29EZWNpbWFsUGlwZVxuICBleHRlbmRzIEJhc2VMb2NhbGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ09ORklHKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgZ2l2ZW4gbnVtYmVyIGludG8gdGhlIGxvY2FsZSdzIGN1cnJlbmN5IGZvcm1hdC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogMTIzNDU2Nzg5MCB8IHRyYW5zbG9jb0RlY2ltYWw6IHt9IDogZW4tVVMgLy8gMSwyMzQsNTY3LDg5MFxuICAgKiAxMjM0NTY3ODkwIHwgdHJhbnNsb2NvRGVjaW1hbDoge3VzZUdyb3VwaW5nOiBmYWxzZX06IGVuLVVTIC8vIDEyMzQ1Njc4OTBcbiAgICpcbiAgICovXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG51bWJlckZvcm1hdE9wdGlvbnM6IE51bWJlckZvcm1hdE9wdGlvbnMgPSB7fSxcbiAgICBsb2NhbGU/OiBMb2NhbGVcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoaXNOaWwodmFsdWUpKSByZXR1cm4gJyc7XG4gICAgbG9jYWxlID0gdGhpcy5nZXRMb2NhbGUobG9jYWxlKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi5nZXREZWZhdWx0T3B0aW9ucyhsb2NhbGUsICdkZWNpbWFsJywgdGhpcy5sb2NhbGVDb25maWcpLFxuICAgICAgLi4ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGl6ZU51bWJlcih2YWx1ZSwgJ2RlY2ltYWwnLCBsb2NhbGUsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=