@zhsz/cool-design-dv
Version:
27 lines (26 loc) • 846 B
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const lodashEs = require("lodash-es");
function setExtend(options, extend) {
Object.entries(extend).forEach(([key, value]) => {
if (key.includes(".")) {
lodashEs.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) && lodashEs.isObject(value)) {
attrs.forEach((attr) => {
lodashEs.merge(attr, value);
});
} else if (lodashEs.isObject(attrs)) {
lodashEs.merge(attrs, value);
} else {
options[key] = value;
}
}
});
}
exports.default = setExtend;