UNPKG

@kitmi/utils

Version:

A JavaScript utility library for both server and browser

14 lines (11 loc) 472 B
import filterNull from './filterNull'; /** * Fallback to default value according to the sequence of sources, if the value of a key in all sources is null or undefined. * @param {object} obj - immutable object. * @param {...object} sources * @returns {object} Merged object. */ function defaultDeep(obj, ...sources) { return [...sources.reverse(), obj].reduce((merged, newSource) => ({ ...merged, ...filterNull(newSource) }), {}); } export default defaultDeep;