divideBy

divideBy

  • (right: number) => (left: number) => number
  1. Divide one number by another

    const divideBy2 = divideBy(2)
    divideBy2(6) // is 3
    const divideBy2 = divideBy(2)
    divideBy2(6) // is 3
    
    const divideBy2 = divideBy(2)
    divideBy2(6) // is 3
    const divideBy2 = divideBy(2)
    divideBy2(6) // is 3
    
  2. Sometimes we just gotta divide. Below, we have a dinner and want to share it among two people. Let's figure out how much each person gets.

    const dinner = {
      pizzaSlices: 6,
      sodas: 2,
      brownies: 4,
    }
    
    const shareItem = divideBy(2)
    const shareDinner = mapValues(shareItem)
    
    const dinnerPerPerson = shareDinner(dinner)
    console.log(dinnerPerPerson)
    // is {
    //   pizzaSlices: 3,
    //   sodas: 1,
    //   brownies: 2,
    // }
    type Dinner = Record<string, number>
    const dinner: Dinner = {
      pizzaSlices: 6,
      sodas: 2,
      brownies: 4,
    }
    
    const shareItem = divideBy(2)
    const shareDinner = mapValues(shareItem)<Dinner>
    
    const dinnerPerPerson = shareDinner(dinner)
    console.log(dinnerPerPerson)
    // is {
    //   pizzaSlices: 3,
    //   sodas: 1,
    //   brownies: 2,
    // }
    
    const dinner = {
      pizzaSlices: 6,
      sodas: 2,
      brownies: 4,
    }
    
    const shareItem = divideBy(2)
    const shareDinner = mapValues(shareItem)
    
    const dinnerPerPerson = shareDinner(dinner)
    console.log(dinnerPerPerson)
    // is {
    //   pizzaSlices: 3,
    //   sodas: 1,
    //   brownies: 2,
    // }
    type Dinner = Record<string, number>
    const dinner: Dinner = {
      pizzaSlices: 6,
      sodas: 2,
      brownies: 4,
    }
    
    const shareItem = divideBy(2)
    const shareDinner = mapValues(shareItem)<Dinner>
    
    const dinnerPerPerson = shareDinner(dinner)
    console.log(dinnerPerPerson)
    // is {
    //   pizzaSlices: 3,
    //   sodas: 1,
    //   brownies: 2,
    // }