@jsverse/transloco-locale
Version:
The localization (l10n) library plugin for Transloco
39 lines • 4.8 kB
JavaScript
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 TranslocoPercentPipe extends BaseLocalePipe {
localeConfig = inject(TRANSLOCO_LOCALE_CONFIG);
/**
* Transform a given number into the locale's currency format.
*
* @example
*
* 1 | translocoPercent : {} : en-US // 100%
* "1" | translocoPercent : {} : en-US // 100%
*
*/
transform(value, numberFormatOptions = {}, locale) {
if (isNil(value))
return '';
locale = this.getLocale(locale);
const options = {
...getDefaultOptions(locale, 'percent', this.localeConfig),
...numberFormatOptions,
};
return this.localeService.localizeNumber(value, 'percent', locale, options);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPercentPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPercentPipe, isStandalone: true, name: "translocoPercent", pure: false });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPercentPipe, decorators: [{
type: Pipe,
args: [{
name: 'translocoPercent',
pure: false,
standalone: true,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcmNlbnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxjQUFjO0lBR2QsWUFBWSxHQUFpQixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRTs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsQ0FDUCxLQUFzQixFQUN0QixzQkFBMkMsRUFBRSxFQUM3QyxNQUFlO1FBRWYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxRCxHQUFHLG1CQUFtQjtTQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTdCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHsgZ2V0RGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcgfSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBMb2NhbGUsXG4gIExvY2FsZUNvbmZpZyxcbiAgTnVtYmVyRm9ybWF0T3B0aW9ucyxcbn0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmltcG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsb2NvUGVyY2VudCcsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29QZXJjZW50UGlwZVxuICBleHRlbmRzIEJhc2VMb2NhbGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ09ORklHKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgZ2l2ZW4gbnVtYmVyIGludG8gdGhlIGxvY2FsZSdzIGN1cnJlbmN5IGZvcm1hdC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogMSB8IHRyYW5zbG9jb1BlcmNlbnQgOiB7fSA6IGVuLVVTIC8vIDEwMCVcbiAgICogXCIxXCIgfCB0cmFuc2xvY29QZXJjZW50IDoge30gOiBlbi1VUyAvLyAxMDAlXG4gICAqXG4gICAqL1xuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcbiAgICBudW1iZXJGb3JtYXRPcHRpb25zOiBOdW1iZXJGb3JtYXRPcHRpb25zID0ge30sXG4gICAgbG9jYWxlPzogTG9jYWxlXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKGlzTmlsKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGxvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKGxvY2FsZSk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4uZ2V0RGVmYXVsdE9wdGlvbnMobG9jYWxlLCAncGVyY2VudCcsIHRoaXMubG9jYWxlQ29uZmlnKSxcbiAgICAgIC4uLm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxpemVOdW1iZXIodmFsdWUsICdwZXJjZW50JywgbG9jYWxlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19