import _arrayMap from "./_arrayMap.js";
import _baseClone from "./_baseClone.js";
import _baseUnset from "./_baseUnset.js";
import _castPath from "./_castPath.js";
import _copyObject from "./_copyObject.js";
import _customOmitClone from "./_customOmitClone.js";
import _flatRest from "./_flatRest.js";
import _getAllKeysIn from "./_getAllKeysIn.js";
var arrayMap = _arrayMap, baseClone = _baseClone, baseUnset = _baseUnset, castPath = _castPath, copyObject = _copyObject, customOmitClone = _customOmitClone, flatRest = _flatRest, getAllKeysIn = _getAllKeysIn;
var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
var omit = flatRest(function(object, paths) {
  var result = {};
  if (object == null) {
    return result;
  }
  var isDeep = false;
  paths = arrayMap(paths, function(path) {
    path = castPath(path, object);
    isDeep || (isDeep = path.length > 1);
    return path;
  });
  copyObject(object, getAllKeysIn(object), result);
  if (isDeep) {
    result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
  }
  var length = paths.length;
  while (length--) {
    baseUnset(result, paths[length]);
  }
  return result;
});
var omit_1 = omit;
export {
  omit_1 as default
};
//# sourceMappingURL=omit.js.map
