import { Discount, Tariff, findDiscountFactor } from "@frontend/kitui"; import { calcCart } from "./calcCart/calcCart"; export function calcIndividualTariffPrices( tariff: Tariff, discounts: Discount[], purchasesAmount: number, currentTariffs: Tariff[], ): { priceBeforeDiscounts: number; priceAfterDiscounts: number; } { const priceBeforeDiscounts = tariff.price || tariff.privileges.reduce((sum, privilege) => sum + privilege.amount * privilege.price, 0); let priceAfterDiscounts = priceBeforeDiscounts; const cart = calcCart([...currentTariffs, tariff], discounts, purchasesAmount); cart.allAppliedDiscounts.forEach(discount => { priceAfterDiscounts *= findDiscountFactor(discount); }); return { priceBeforeDiscounts, priceAfterDiscounts }; }