UNPKG

@zhsz/cool-design-dv

Version:

27 lines (26 loc) 694 B
import { set, isObject, merge } from "lodash-es"; function setExtend(options, extend) { Object.entries(extend).forEach(([key, value]) => { if (key.includes(".")) { set(options, key, value); } else if (typeof value === "function") { options[key] = value(options[key]); } else if (value === null) { options[key] = value; } else { const attrs = options[key]; if (Array.isArray(attrs) && isObject(value)) { attrs.forEach((attr) => { merge(attr, value); }); } else if (isObject(attrs)) { merge(attrs, value); } else { options[key] = value; } } }); } export { setExtend as default };