1 var arrayMap = require(
'./_arrayMap'),
2 baseClone = require(
'./_baseClone'),
3 baseUnset = require(
'./_baseUnset'),
4 castPath = require(
'./_castPath'),
5 copyObject = require(
'./_copyObject'),
6 customOmitClone = require(
'./_customOmitClone'),
7 flatRest = require(
'./_flatRest'),
8 getAllKeysIn = require(
'./_getAllKeysIn');
11 var CLONE_DEEP_FLAG = 1,
13 CLONE_SYMBOLS_FLAG = 4;
35 var omit = flatRest(
function(
object, paths) {
41 paths = arrayMap(paths,
function(path) {
42 path = castPath(path,
object);
43 isDeep || (isDeep = path.length > 1);
46 copyObject(
object, getAllKeysIn(
object), result);
48 result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
50 var length = paths.length;
52 baseUnset(result, paths[length]);
57 module.exports = omit;