var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/utils/mergeWith.ts
var mergeWith_exports = {};
__export(mergeWith_exports, {
  mergeWith: () => mergeWith
});
module.exports = __toCommonJS(mergeWith_exports);
function mergeWith(obj, source, customizer) {
  if (typeof customizer !== "function") {
    throw new Error("Customizer must be a function");
  }
  if (!isObject(obj) || !isObject(source)) {
    return obj;
  }
  for (const key in source) {
    if (Object.prototype.hasOwnProperty.call(source, key)) {
      const objValue = obj[key];
      const srcValue = source[key];
      const customValue = customizer(objValue, srcValue, key, obj, source);
      if (customValue === void 0) {
        if (isObject(objValue) && isObject(srcValue)) {
          obj[key] = mergeWith(objValue, srcValue, customizer);
        } else {
          obj[key] = srcValue;
        }
      } else {
        obj[key] = customValue;
      }
    }
  }
  return obj;
}
function isObject(value) {
  return value && typeof value === "object" && !Array.isArray(value);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  mergeWith
});
