@zhsz/cool-design-dv
Version:
27 lines (26 loc) • 694 B
JavaScript
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
};