ng-prime-tools
Version:
An advanced PrimeNG table for Angular
44 lines • 5.64 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
export class CustomCurrencyPipe {
transform(value, currency, decimalPlaces, thousandSeparator = 'comma', decimalSeparator = 'dot') {
let formattedValue;
if (decimalPlaces !== undefined) {
formattedValue = value.toFixed(decimalPlaces);
}
else {
formattedValue = value.toString();
}
const thousandSeparatorChar = thousandSeparator === 'space' ? ' ' : ',';
const decimalSeparatorChar = decimalSeparator === 'comma' ? ',' : '.';
formattedValue = formattedValue.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSeparatorChar);
if (decimalSeparatorChar === ',') {
formattedValue = formattedValue.replace('.', ',');
}
if (currency) {
let formattedCurrency;
switch (currency) {
case 'MAD':
formattedCurrency = `${formattedValue} DH`;
break;
case 'USD':
formattedCurrency = `$${formattedValue}`;
break;
default:
formattedCurrency = `${formattedValue} ${currency}`;
}
return formattedCurrency;
}
return formattedValue;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: CustomCurrencyPipe, isStandalone: true, name: "customCurrency" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomCurrencyPipe, decorators: [{
type: Pipe,
args: [{
name: 'customCurrency',
standalone: true,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWN1cnJlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9waXBlcy9jdXN0b20tY3VycmVuY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUNQLEtBQWEsRUFDYixRQUFpQixFQUNqQixhQUFzQixFQUN0QixvQkFBdUMsT0FBTyxFQUM5QyxtQkFBb0MsS0FBSztRQUV6QyxJQUFJLGNBQXNCLENBQUM7UUFFM0IsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFFRCxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDeEUsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBRXRFLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUNyQyx1QkFBdUIsRUFDdkIscUJBQXFCLENBQ3RCLENBQUM7UUFFRixJQUFJLG9CQUFvQixLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2pDLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksaUJBQXlCLENBQUM7WUFFOUIsUUFBUSxRQUFRLEVBQUUsQ0FBQztnQkFDakIsS0FBSyxLQUFLO29CQUNSLGlCQUFpQixHQUFHLEdBQUcsY0FBYyxLQUFLLENBQUM7b0JBQzNDLE1BQU07Z0JBQ1IsS0FBSyxLQUFLO29CQUNSLGlCQUFpQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQ3pDLE1BQU07Z0JBQ1I7b0JBQ0UsaUJBQWlCLEdBQUcsR0FBRyxjQUFjLElBQUksUUFBUSxFQUFFLENBQUM7WUFDeEQsQ0FBQztZQUVELE9BQU8saUJBQWlCLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7K0dBOUNVLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY3VzdG9tQ3VycmVuY3knLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21DdXJyZW5jeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgY3VycmVuY3k/OiBzdHJpbmcsXG4gICAgZGVjaW1hbFBsYWNlcz86IG51bWJlcixcbiAgICB0aG91c2FuZFNlcGFyYXRvcjogJ2NvbW1hJyB8ICdzcGFjZScgPSAnY29tbWEnLFxuICAgIGRlY2ltYWxTZXBhcmF0b3I6ICdjb21tYScgfCAnZG90JyA9ICdkb3QnXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGZvcm1hdHRlZFZhbHVlOiBzdHJpbmc7XG5cbiAgICBpZiAoZGVjaW1hbFBsYWNlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IHZhbHVlLnRvRml4ZWQoZGVjaW1hbFBsYWNlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvckNoYXIgPSB0aG91c2FuZFNlcGFyYXRvciA9PT0gJ3NwYWNlJyA/ICcgJyA6ICcsJztcbiAgICBjb25zdCBkZWNpbWFsU2VwYXJhdG9yQ2hhciA9IGRlY2ltYWxTZXBhcmF0b3IgPT09ICdjb21tYScgPyAnLCcgOiAnLic7XG5cbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdHRlZFZhbHVlLnJlcGxhY2UoXG4gICAgICAvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZyxcbiAgICAgIHRob3VzYW5kU2VwYXJhdG9yQ2hhclxuICAgICk7XG5cbiAgICBpZiAoZGVjaW1hbFNlcGFyYXRvckNoYXIgPT09ICcsJykge1xuICAgICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZS5yZXBsYWNlKCcuJywgJywnKTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVuY3kpIHtcbiAgICAgIGxldCBmb3JtYXR0ZWRDdXJyZW5jeTogc3RyaW5nO1xuXG4gICAgICBzd2l0Y2ggKGN1cnJlbmN5KSB7XG4gICAgICAgIGNhc2UgJ01BRCc6XG4gICAgICAgICAgZm9ybWF0dGVkQ3VycmVuY3kgPSBgJHtmb3JtYXR0ZWRWYWx1ZX0gREhgO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdVU0QnOlxuICAgICAgICAgIGZvcm1hdHRlZEN1cnJlbmN5ID0gYCQke2Zvcm1hdHRlZFZhbHVlfWA7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgZm9ybWF0dGVkQ3VycmVuY3kgPSBgJHtmb3JtYXR0ZWRWYWx1ZX0gJHtjdXJyZW5jeX1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm9ybWF0dGVkQ3VycmVuY3k7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdHRlZFZhbHVlO1xuICB9XG59XG4iXX0=