defaultFalseyValTo
defaultFalseyValTo
(defaultVal: any) => (val: any) => any
Return a default value if a falsey one is passed.
const defaultToNoName = defaultFalseyValTo('<no name>') defaultToNoName('mary') // is mary defaultToNoName('') // is <no name> defaultToNoName(undefined) // is <no name>
const defaultToNoName = defaultFalseyValTo('<no name>') defaultToNoName('mary') // is mary defaultToNoName('') // is <no name> defaultToNoName(undefined) // is <no name>
const defaultToNoName = defaultFalseyValTo('<no name>') defaultToNoName('mary') // is mary defaultToNoName('') // is <no name> defaultToNoName(undefined) // is <no name>
const defaultToNoName = defaultFalseyValTo('<no name>') defaultToNoName('mary') // is mary defaultToNoName('') // is <no name> defaultToNoName(undefined) // is <no name>
Sometimes we want a default value in place of a falsey one. Below, we let people build their own bear. If they don't provide a name, let's name it Teddy.
const defaultToTeddy = defaultFalseyValTo('Teddy') const defaultNameToTeddy = update({ name: defaultToTeddy }) const bearsToBuild = [ { name: '', shirt: 'blue', }, { name: 'Winnie', shirt: 'red', }, { name: undefined, shirt: 'purple', }, ] const defaultAllNames = mapValues(defaultNameToTeddy) const updatedBears = defaultAllNames(bearsToBuild) console.log(updatedBears) // [ // { // name: Teddy // shirt: blue // }, { // name: Winnie // shirt: red // }, { // name: Teddy // shirt: purple // } // ]
type Bear = { name?: string shirt: string } const defaultToTeddy = defaultFalseyValTo('Teddy') const defaultNameToTeddy = update({ name: defaultToTeddy })<Bear> const bearsToBuild: Bear[] = [ { name: '', shirt: 'blue', }, { name: 'Winnie', shirt: 'red', }, { name: undefined, shirt: 'purple', }, ] const defaultAllNames = mapValues(defaultNameToTeddy)<Bear[]> const updatedBears = defaultAllNames(bearsToBuild) console.log(updatedBears) // [ // { name: Teddy, shirt: blue }, // { name: Winnie, shirt: red }, // { name: Teddy, shirt: purple }, // ]
const defaultToTeddy = defaultFalseyValTo('Teddy') const defaultNameToTeddy = update({ name: defaultToTeddy, }) const bearsToBuild = [ { name: '', shirt: 'blue', }, { name: 'Winnie', shirt: 'red', }, { name: undefined, shirt: 'purple', }, ] const defaultAllNames = mapValues( defaultNameToTeddy ) const updatedBears = defaultAllNames(bearsToBuild) console.log(updatedBears) // [ // { // name: Teddy // shirt: blue // }, { // name: Winnie // shirt: red // }, { // name: Teddy // shirt: purple // } // ]
type Bear = { name?: string shirt: string } const defaultToTeddy = defaultFalseyValTo('Teddy') const defaultNameToTeddy = update({ name: defaultToTeddy, })<Bear> const bearsToBuild: Bear[] = [ { name: '', shirt: 'blue', }, { name: 'Winnie', shirt: 'red', }, { name: undefined, shirt: 'purple', }, ] const defaultAllNames = mapValues( defaultNameToTeddy )<Bear[]> const updatedBears = defaultAllNames(bearsToBuild) console.log(updatedBears) // [ // { name: Teddy, shirt: blue }, // { name: Winnie, shirt: red }, // { name: Teddy, shirt: purple }, // ]