systelab-translate
Version:
The internationalization (i18n) library for Systelab
49 lines • 5.42 kB
JavaScript
import { Injectable, Pipe } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./i18n.service";
import * as i2 from "@angular/common";
export class NumberFormatPipe {
constructor(i18nService, decimalPipe) {
this.i18nService = i18nService;
this.decimalPipe = decimalPipe;
}
transform(value, precision, units, priorSymbol, defaultSymbolWhenNull, ...args) {
if (value || value === 0) {
if (!precision) {
precision = '1.0-2';
}
try {
let roundedValue = this.decimalPipe.transform(value, precision, this.i18nService.getLocale());
if (units) {
roundedValue = roundedValue + units;
}
if (priorSymbol) {
roundedValue = priorSymbol + ' ' + roundedValue;
}
return roundedValue;
}
catch (error) {
console.error(error);
return '';
}
}
else {
return defaultSymbolWhenNull ? defaultSymbolWhenNull : '';
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NumberFormatPipe, deps: [{ token: i1.I18nService }, { token: i2.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: NumberFormatPipe, name: "numberformat" }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NumberFormatPipe, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NumberFormatPipe, decorators: [{
type: Pipe,
args: [{
name: 'numberformat'
}]
}, {
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: i1.I18nService }, { type: i2.DecimalPipe }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItdHJhbnNsYXRlL3NyYy9saWIvbnVtYmVyLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7OztBQVVoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzVCLFlBQXNCLFdBQXdCLEVBQVksV0FBd0I7UUFBNUQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUNsRixDQUFDO0lBRU0sU0FBUyxDQUNmLEtBQWEsRUFBRSxTQUFrQixFQUNqQyxLQUFjLEVBQUUsV0FBb0IsRUFDcEMscUJBQThCLEVBQUUsR0FBRyxJQUFjO1FBRWpELElBQUksS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hCLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFDckIsQ0FBQztZQUNELElBQUksQ0FBQztnQkFDSixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFFOUYsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDWCxZQUFZLEdBQUcsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDckMsQ0FBQztnQkFDRCxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNqQixZQUFZLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsT0FBTyxZQUFZLENBQUM7WUFDckIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFDO1lBQ1gsQ0FBQztRQUNGLENBQUM7YUFBTSxDQUFDO1lBQ1AsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxDQUFDO0lBQ0YsQ0FBQzs4R0E5QlcsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZoQixNQUFNOzsyRkFFTixnQkFBZ0I7a0JBTjVCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLGNBQWM7aUJBQ3BCOztrQkFDQSxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdudW1iZXJmb3JtYXQnXG59KVxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLCBwcm90ZWN0ZWQgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlKSB7XG5cdH1cblxuXHRwdWJsaWMgdHJhbnNmb3JtKFxuXHRcdHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbj86IHN0cmluZyxcblx0XHR1bml0cz86IHN0cmluZywgcHJpb3JTeW1ib2w/OiBzdHJpbmcsXG5cdFx0ZGVmYXVsdFN5bWJvbFdoZW5OdWxsPzogc3RyaW5nLCAuLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cblx0XHRpZiAodmFsdWUgfHwgdmFsdWUgPT09IDApIHtcblx0XHRcdGlmICghcHJlY2lzaW9uKSB7XG5cdFx0XHRcdHByZWNpc2lvbiA9ICcxLjAtMic7XG5cdFx0XHR9XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRsZXQgcm91bmRlZFZhbHVlID0gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUsIHByZWNpc2lvbiwgdGhpcy5pMThuU2VydmljZS5nZXRMb2NhbGUoKSk7XG5cblx0XHRcdFx0aWYgKHVuaXRzKSB7XG5cdFx0XHRcdFx0cm91bmRlZFZhbHVlID0gcm91bmRlZFZhbHVlICsgdW5pdHM7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHByaW9yU3ltYm9sKSB7XG5cdFx0XHRcdFx0cm91bmRlZFZhbHVlID0gcHJpb3JTeW1ib2wgKyAnICcgKyByb3VuZGVkVmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHJvdW5kZWRWYWx1ZTtcblx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXHRcdFx0XHRyZXR1cm4gJyc7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBkZWZhdWx0U3ltYm9sV2hlbk51bGwgPyBkZWZhdWx0U3ltYm9sV2hlbk51bGwgOiAnJztcblx0XHR9XG5cdH1cbn1cbiJdfQ==