UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

32 lines (29 loc) 711 B
type GetCalculatePriceOptions = { unitPrice: number percentOfDiscount?: number quantity?: number fixedDiscount?: number } /** * Calculates a total price for a given quantity with a fractional discount * applied. * * @param {string} unitPrice * @param {number} percentOfDiscount * @param {number} quantity * @param {number} fixedDiscount */ export function getCalculatedPrice({ unitPrice, percentOfDiscount = 0, quantity = 1, fixedDiscount = 0, }: GetCalculatePriceOptions) { const fullPrice = unitPrice * quantity const discountMultiplier = 1 - percentOfDiscount const calculatedPrice = ( (fullPrice - fixedDiscount) * discountMultiplier ).toFixed(2) return Number(calculatedPrice) }