UIKit/lib/utils/cart/cartDiscount.ts

23 lines
667 B
TypeScript
Raw Normal View History

2024-03-19 15:30:11 +00:00
import { Discount } from "../../model";
2023-07-13 13:45:38 +00:00
export function findCartDiscount(
cartPurchasesAmount: number,
discounts: Discount[],
2023-08-12 16:17:29 +00:00
): Discount | null {
2023-07-13 13:45:38 +00:00
const applicableDiscounts = discounts.filter(discount => {
return (
discount.Layer === 3 &&
2024-03-19 15:30:11 +00:00
cartPurchasesAmount >= Number(discount.Condition.CartPurchasesAmount)
2023-07-13 13:45:38 +00:00
);
});
2023-08-12 16:17:29 +00:00
if (!applicableDiscounts.length) return null;
2023-07-13 13:45:38 +00:00
const maxValueDiscount = applicableDiscounts.reduce((prev, current) => {
2024-03-19 15:30:11 +00:00
return Number(current.Condition.CartPurchasesAmount) > Number(prev.Condition.CartPurchasesAmount) ? current : prev;
2023-07-13 13:45:38 +00:00
});
2023-08-12 16:17:29 +00:00
return maxValueDiscount;
2023-07-13 13:45:38 +00:00
}