diff --git a/src/discounts.ts b/src/discounts.ts new file mode 100644 index 0000000..8c9e896 --- /dev/null +++ b/src/discounts.ts @@ -0,0 +1,10 @@ +import type { Discount } from './cart' + +/** Combine multiple discount codes into one effective factor. */ +export function applyDiscounts(subtotalCents: number, discounts: Discount[]): number { + let totalPercentOff = 0 + for (const discount of discounts) { + totalPercentOff += discount.percentOff + } + return Math.round(subtotalCents * (1 - totalPercentOff / 100)) +}