@taiga-ui/addon-commerce
Version:
Extension package for Taiga UI related to commerce, payment systems, currencies etc.
35 lines (31 loc) • 1.58 kB
JavaScript
import * as i0 from '@angular/core';
import { inject, Injector, INJECTOR, Pipe } from '@angular/core';
import { TuiAmountPipe } from '@taiga-ui/addon-commerce/pipes/amount';
import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
import { switchMap, map } from 'rxjs';
class TuiDecimalPipe {
constructor() {
this.format = inject(TUI_NUMBER_FORMAT);
this.amountPipe = Injector.create({
providers: [{ provide: TuiAmountPipe }],
parent: inject(INJECTOR),
}).get(TuiAmountPipe);
}
transform(value, currency = '') {
return this.format.pipe(switchMap((format) => this.amountPipe.transform(value, currency).pipe(map((value) => {
const [, decimal] = value.split(format.decimalSeparator);
return decimal ? `${format.decimalSeparator}${decimal}` : '';
}))));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDecimalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiDecimalPipe, isStandalone: true, name: "tuiDecimal" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDecimalPipe, decorators: [{
type: Pipe,
args: [{ standalone: true, name: 'tuiDecimal' }]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { TuiDecimalPipe };
//# sourceMappingURL=taiga-ui-addon-commerce-pipes-decimal.mjs.map