ckgl/node_modules/vant/es/utils/deep-assign.mjs
2024-12-21 13:52:42 +08:00

23 lines
478 B
JavaScript

import { isDef, isObject } from "./basic.mjs";
const { hasOwnProperty } = Object.prototype;
function assignKey(to, from, key) {
const val = from[key];
if (!isDef(val)) {
return;
}
if (!hasOwnProperty.call(to, key) || !isObject(val)) {
to[key] = val;
} else {
to[key] = deepAssign(Object(to[key]), val);
}
}
function deepAssign(to, from) {
Object.keys(from).forEach((key) => {
assignKey(to, from, key);
});
return to;
}
export {
deepAssign
};