multiplyBy
multiplyBy
(n1: number) => (n2: number) => number
Multiply one number by another
const multiplyBy2 = multiplyBy(2) multiplyBy2(3) // is 6
const multiplyBy2 = multiplyBy(2) multiplyBy2(3) // is 6
const multiplyBy2 = multiplyBy(2) multiplyBy2(3) // is 6
const multiplyBy2 = multiplyBy(2) multiplyBy2(3) // is 6
Sometimes we just gotta multiply. Below, Phil and Mary had dinner. Let's use multiplyBy to add the 5% tax and find each of their bills.
const dinner = { phil: [ { name: 'chicken sandwich', price: 10.5 }, { name: 'cheese curds', price: 6 }, { name: 'soda', price: 2.25 }, ], mary: [ { name: 'reuben', price: 12.25 }, { name: 'fries', price: 3 }, { name: 'soda', price: 2.25 }, ], } const addTax = multiplyBy(1.05) const getBill = compose([ mapValues(get('price')), sumValues, addTax, roundToNearest('0.01'), ]) const getEachBill = mapValues(getBill) const bills = getEachBill(dinner) console.log(bills) // is { // phil: 19.69 // mary: 18.38 // }
type Item = { name: string price: number } type Dinner = Record<string, Item[]> const dinner: Dinner = { phil: [ { name: 'chicken sandwich', price: 10.5 }, { name: 'cheese curds', price: 6 }, { name: 'soda', price: 2.25 }, ], mary: [ { name: 'reuben', price: 12.25 }, { name: 'fries', price: 3 }, { name: 'soda', price: 2.25 }, ], } const addTax = multiplyBy(1.05) const getPrice = get('price')<Item> const getBill = compose([ mapValues(getPrice)<Item[]>, sumValues, addTax, roundToNearest('0.01'), ]) const getEachBill = mapValues(getBill)<Dinner> const bills = getEachBill(dinner) console.log(bills) // is { // phil: 19.69 // mary: 18.38 // }
const dinner = { phil: [ { name: 'chicken sandwich', price: 10.5 }, { name: 'cheese curds', price: 6 }, { name: 'soda', price: 2.25 }, ], mary: [ { name: 'reuben', price: 12.25 }, { name: 'fries', price: 3 }, { name: 'soda', price: 2.25 }, ], } const addTax = multiplyBy(1.05) const getBill = compose([ mapValues(get('price')), sumValues, addTax, roundToNearest('0.01'), ]) const getEachBill = mapValues(getBill) const bills = getEachBill(dinner) console.log(bills) // is { // phil: 19.69 // mary: 18.38 // }
type Item = { name: string price: number } type Dinner = Record<string, Item[]> const dinner: Dinner = { phil: [ { name: 'chicken sandwich', price: 10.5 }, { name: 'cheese curds', price: 6 }, { name: 'soda', price: 2.25 }, ], mary: [ { name: 'reuben', price: 12.25 }, { name: 'fries', price: 3 }, { name: 'soda', price: 2.25 }, ], } const addTax = multiplyBy(1.05) const getPrice = get('price')<Item> const getBill = compose([ mapValues(getPrice)<Item[]>, sumValues, addTax, roundToNearest('0.01'), ]) const getEachBill = mapValues(getBill)<Dinner> const bills = getEachBill(dinner) console.log(bills) // is { // phil: 19.69 // mary: 18.38 // }