@taiga-ui/core
Version:
Core library for creating Angular components and applications using Taiga UI
36 lines • 4.44 kB
JavaScript
import { inject, Pipe } from '@angular/core';
import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
import { map } from 'rxjs';
import * as i0 from "@angular/core";
class TuiFormatNumberPipe {
constructor() {
this.numberFormat = inject(TUI_NUMBER_FORMAT);
}
/**
* Formats number adding thousand separators and correct decimal separator
* padding decimal part with zeroes to given length
* @param value number
* @param settings See {@link TuiNumberFormatSettings}
*/
transform(value, settings = {}) {
return this.numberFormat.pipe(map((format) => tuiFormatNumber(value, {
...format,
precision: Number.isNaN(format.precision)
? Infinity
: format.precision,
...settings,
})));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiFormatNumberPipe, isStandalone: true, name: "tuiFormatNumber" }); }
}
export { TuiFormatNumberPipe };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFormatNumberPipe, decorators: [{
type: Pipe,
args: [{
standalone: true,
name: 'tuiFormatNumber',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9waXBlcy9mb3JtYXQtbnVtYmVyL2Zvcm1hdC1udW1iZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUErQixNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFrQixNQUFNLE1BQU0sQ0FBQzs7QUFFMUMsTUFJYSxtQkFBbUI7SUFKaEM7UUFLcUIsaUJBQVksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQXdCN0Q7SUF0Qkc7Ozs7O09BS0c7SUFDSSxTQUFTLENBQ1osS0FBYSxFQUNiLFdBQTZDLEVBQUU7UUFFL0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDWCxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQ25CLEdBQUcsTUFBTTtZQUNULFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxRQUFRO2dCQUNWLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUztZQUN0QixHQUFHLFFBQVE7U0FDZCxDQUFDLENBQ0wsQ0FDSixDQUFDO0lBQ04sQ0FBQzsrR0F4QlEsbUJBQW1COzZHQUFuQixtQkFBbUI7O1NBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsaUJBQWlCO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBQaXBlLCB0eXBlIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfTlVNQkVSX0ZPUk1BVCwgdHlwZSBUdWlOdW1iZXJGb3JtYXRTZXR0aW5nc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpRm9ybWF0TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHttYXAsIHR5cGUgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd0dWlGb3JtYXROdW1iZXInLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGb3JtYXROdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQgPSBpbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpO1xuXG4gICAgLyoqXG4gICAgICogRm9ybWF0cyBudW1iZXIgYWRkaW5nIHRob3VzYW5kIHNlcGFyYXRvcnMgYW5kIGNvcnJlY3QgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgKiBwYWRkaW5nIGRlY2ltYWwgcGFydCB3aXRoIHplcm9lcyB0byBnaXZlbiBsZW5ndGhcbiAgICAgKiBAcGFyYW0gdmFsdWUgbnVtYmVyXG4gICAgICogQHBhcmFtIHNldHRpbmdzIFNlZSB7QGxpbmsgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3N9XG4gICAgICovXG4gICAgcHVibGljIHRyYW5zZm9ybShcbiAgICAgICAgdmFsdWU6IG51bWJlcixcbiAgICAgICAgc2V0dGluZ3M6IFBhcnRpYWw8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+ID0ge30sXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyRm9ybWF0LnBpcGUoXG4gICAgICAgICAgICBtYXAoKGZvcm1hdCkgPT5cbiAgICAgICAgICAgICAgICB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICBwcmVjaXNpb246IE51bWJlci5pc05hTihmb3JtYXQucHJlY2lzaW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBJbmZpbml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmb3JtYXQucHJlY2lzaW9uLFxuICAgICAgICAgICAgICAgICAgICAuLi5zZXR0aW5ncyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19