2025-09-01 14:07:59 +00:00
|
|
|
import { MoneyValue, MoneyValueProps } from "@repo/rdx-ddd";
|
2025-05-26 10:38:45 +00:00
|
|
|
|
2025-09-03 18:04:09 +00:00
|
|
|
export class CustomerInvoiceItemUnitAmount extends MoneyValue {
|
2025-05-26 10:38:45 +00:00
|
|
|
public static DEFAULT_SCALE = 4;
|
|
|
|
|
|
2025-09-04 10:02:24 +00:00
|
|
|
static create({ value: amount, currency_code, scale }: MoneyValueProps) {
|
2025-05-26 10:38:45 +00:00
|
|
|
const props = {
|
|
|
|
|
amount: Number(amount),
|
|
|
|
|
scale: scale ?? MoneyValue.DEFAULT_SCALE,
|
|
|
|
|
currency_code,
|
|
|
|
|
};
|
|
|
|
|
return MoneyValue.create(props);
|
|
|
|
|
}
|
2025-09-03 10:41:12 +00:00
|
|
|
|
2025-09-03 18:04:09 +00:00
|
|
|
static zero(currency_code: string, scale: number = CustomerInvoiceItemUnitAmount.DEFAULT_SCALE) {
|
2025-09-03 10:41:12 +00:00
|
|
|
const props: MoneyValueProps = {
|
2025-09-04 10:02:24 +00:00
|
|
|
value: 0,
|
2025-09-03 10:41:12 +00:00
|
|
|
scale,
|
|
|
|
|
currency_code,
|
|
|
|
|
};
|
|
|
|
|
return MoneyValue.create(props);
|
|
|
|
|
}
|
2025-05-26 10:38:45 +00:00
|
|
|
}
|