25 lines
581 B
TypeScript
25 lines
581 B
TypeScript
|
|
import { MoneyValue, MoneyValueProps } from "@repo/rdx-ddd";
|
||
|
|
|
||
|
|
type ItemAmountProps = Pick<MoneyValueProps, "value" | "currency_code">;
|
||
|
|
|
||
|
|
export class ItemAmount extends MoneyValue {
|
||
|
|
public static DEFAULT_SCALE = 4;
|
||
|
|
|
||
|
|
static create({ value, currency_code }: ItemAmountProps) {
|
||
|
|
const props = {
|
||
|
|
value: Number(value),
|
||
|
|
scale: ItemAmount.DEFAULT_SCALE,
|
||
|
|
currency_code,
|
||
|
|
};
|
||
|
|
return MoneyValue.create(props);
|
||
|
|
}
|
||
|
|
|
||
|
|
static zero(currency_code: string) {
|
||
|
|
const props = {
|
||
|
|
value: 0,
|
||
|
|
currency_code,
|
||
|
|
};
|
||
|
|
return ItemAmount.create(props);
|
||
|
|
}
|
||
|
|
}
|