import isObject_default from "./isObject.js";
import _Stack_default from "./_Stack.js";
import _assignMergeValue_default from "./_assignMergeValue.js";
import _baseFor_default from "./_baseFor.js";
import _safeGet_default from "./_safeGet.js";
import keysIn_default from "./keysIn.js";
import _baseMergeDeep_default from "./_baseMergeDeep.js";
function baseMerge(c, l, u, d, f) {
	c !== l && _baseFor_default(l, function(o, s) {
		if (f ||= new _Stack_default(), isObject_default(o)) _baseMergeDeep_default(c, l, s, u, baseMerge, d, f);
		else {
			var p = d ? d(_safeGet_default(c, s), o, s + "", c, l, f) : void 0;
			p === void 0 && (p = o), _assignMergeValue_default(c, s, p);
		}
	}, keysIn_default);
}
var _baseMerge_default = baseMerge;
export { _baseMerge_default as default };
