mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import { IItemEntry } from '@/interfaces';
|
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
|
import { formatNumber } from '@/utils';
|
|
|
|
export class ItemEntryTransformer extends Transformer {
|
|
/**
|
|
* Include these attributes to item entry object.
|
|
* @returns {Array}
|
|
*/
|
|
public includeAttributes = (): string[] => {
|
|
return ['quantityFormatted', 'rateFormatted', 'totalFormatted'];
|
|
};
|
|
|
|
/**
|
|
* Retrieves the formatted quantitty of item entry.
|
|
* @param {IItemEntry} entry
|
|
* @returns {string}
|
|
*/
|
|
protected quantityFormatted = (entry: IItemEntry): string => {
|
|
return formatNumber(entry.quantity, { money: false });
|
|
};
|
|
|
|
/**
|
|
* Retrieves the formatted rate of item entry.
|
|
* @param {IItemEntry} itemEntry -
|
|
* @returns {string}
|
|
*/
|
|
protected rateFormatted = (entry: IItemEntry): string => {
|
|
return formatNumber(entry.rate, {
|
|
currencyCode: this.context.currencyCode,
|
|
money: false,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Retrieves the formatted total of item entry.
|
|
* @param {IItemEntry} entry
|
|
* @returns {string}
|
|
*/
|
|
protected totalFormatted = (entry: IItemEntry): string => {
|
|
return formatNumber(entry.total, {
|
|
currencyCode: this.context.currencyCode,
|
|
money: false,
|
|
});
|
|
};
|
|
}
|