UNPKG

@jsverse/transloco-locale

Version:

The localization (l10n) library plugin for Transloco

39 lines 4.9 kB
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=