defaultNullishValTo
defaultNullishValTo
(defaultVal: any) => (val: any) => any
Return a default value if a Nullish one is passed.
const defaultToNegativeOne = defaultNullishValTo(-1) defaultToNegativeOne(1) // is 1 defaultToNegativeOne(0) // is 0 defaultToNegativeOne(undefined) // is -1
const defaultToNegativeOne = defaultNullishValTo(-1) defaultToNegativeOne(1) // is 1 defaultToNegativeOne(0) // is 0 defaultToNegativeOne(undefined) // is -1
const defaultToNegativeOne = defaultNullishValTo(-1) defaultToNegativeOne(1) // is 1 defaultToNegativeOne(0) // is 0 defaultToNegativeOne(undefined) // is -1
const defaultToNegativeOne = defaultNullishValTo(-1) defaultToNegativeOne(1) // is 1 defaultToNegativeOne(0) // is 0 defaultToNegativeOne(undefined) // is -1
Sometimes we want a default value specifically when undefined or null are passed.
Below, we have the money per player in a game of Monopoly. Mike joined late, so he doesn't have a value yet. Let's start him off with 1500.
const players = { sam: 2000, jen: 0, mike: undefined, } const defaultTo1500 = defaultNullishValTo(1500) const assignStartingMoney = mapValues(defaultTo1500) const updatedPlayers = assignStartingMoney(players) console.log(updatedPlayers) // a new object { // sam: 2000, // jen: 0, // mike: 1500, // }
type Players = Record<string, number | undefined> const players: Players = { sam: 2000, jen: 0, mike: undefined, } const defaultTo1500 = defaultNullishValTo(1500) const assignStartingMoney = mapValues(defaultTo1500<number>)<Players> const updatedPlayers = assignStartingMoney(players) console.log(updatedPlayers) // a new object { // sam: 2000, // jen: 0, // mike: 1500, // }
const players = { sam: 2000, jen: 0, mike: undefined, } const defaultTo1500 = defaultNullishValTo(1500) const assignStartingMoney = mapValues( defaultTo1500 ) const updatedPlayers = assignStartingMoney(players) console.log(updatedPlayers) // a new object { // sam: 2000, // jen: 0, // mike: 1500, // }
type Players = Record<string, number | undefined> const players: Players = { sam: 2000, jen: 0, mike: undefined, } const defaultTo1500 = defaultNullishValTo(1500) const assignStartingMoney = mapValues( defaultTo1500<number> )<Players> const updatedPlayers = assignStartingMoney(players) console.log(updatedPlayers) // a new object { // sam: 2000, // jen: 0, // mike: 1500, // }