@jsverse/transloco-locale
Version:
The localization (l10n) library plugin for Transloco
39 lines • 4.79 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 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: "18.2.9", ngImport: i0, type: TranslocoPercentPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPercentPipe, isStandalone: true, name: "translocoPercent", pure: false });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPercentPipe, decorators: [{
type: Pipe,
args: [{
name: 'translocoPercent',
pure: false,
standalone: true,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcmNlbnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxjQUFjO0lBR2QsWUFBWSxHQUFpQixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRTs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsQ0FDUCxLQUFzQixFQUN0QixzQkFBMkMsRUFBRSxFQUM3QyxNQUFlO1FBRWYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxRCxHQUFHLG1CQUFtQjtTQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTdCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGpzdmVyc2UvdXRpbHMnO1xuXG5pbXBvcnQgeyBnZXREZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyB9IGZyb20gJy4uL3RyYW5zbG9jby1sb2NhbGUuY29uZmlnJztcbmltcG9ydCB7XG4gIExvY2FsZSxcbiAgTG9jYWxlQ29uZmlnLFxuICBOdW1iZXJGb3JtYXRPcHRpb25zLFxufSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLnR5cGVzJztcblxuaW1wb3J0IHsgQmFzZUxvY2FsZVBpcGUgfSBmcm9tICcuL2Jhc2UtbG9jYWxlLnBpcGUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cmFuc2xvY29QZXJjZW50JyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb1BlcmNlbnRQaXBlXG4gIGV4dGVuZHMgQmFzZUxvY2FsZVBpcGVcbiAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtXG57XG4gIHByaXZhdGUgbG9jYWxlQ29uZmlnOiBMb2NhbGVDb25maWcgPSBpbmplY3QoVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcpO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSBnaXZlbiBudW1iZXIgaW50byB0aGUgbG9jYWxlJ3MgY3VycmVuY3kgZm9ybWF0LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAxIHwgdHJhbnNsb2NvUGVyY2VudCA6IHt9IDogZW4tVVMgLy8gMTAwJVxuICAgKiBcIjFcIiB8IHRyYW5zbG9jb1BlcmNlbnQgOiB7fSA6IGVuLVVTIC8vIDEwMCVcbiAgICpcbiAgICovXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIG51bWJlckZvcm1hdE9wdGlvbnM6IE51bWJlckZvcm1hdE9wdGlvbnMgPSB7fSxcbiAgICBsb2NhbGU/OiBMb2NhbGUsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKGlzTmlsKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGxvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKGxvY2FsZSk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4uZ2V0RGVmYXVsdE9wdGlvbnMobG9jYWxlLCAncGVyY2VudCcsIHRoaXMubG9jYWxlQ29uZmlnKSxcbiAgICAgIC4uLm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxpemVOdW1iZXIodmFsdWUsICdwZXJjZW50JywgbG9jYWxlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19