aboutsummaryrefslogtreecommitdiff
path: root/node_modules/lodash/omit.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/lodash/omit.js')
-rw-r--r--node_modules/lodash/omit.js11
1 files changed, 6 insertions, 5 deletions
diff --git a/node_modules/lodash/omit.js b/node_modules/lodash/omit.js
index ecc809731..97f5f546f 100644
--- a/node_modules/lodash/omit.js
+++ b/node_modules/lodash/omit.js
@@ -3,6 +3,7 @@ var arrayMap = require('./_arrayMap'),
baseUnset = require('./_baseUnset'),
castPath = require('./_castPath'),
copyObject = require('./_copyObject'),
+ customOmitClone = require('./_customOmitClone'),
flatRest = require('./_flatRest'),
getAllKeysIn = require('./_getAllKeysIn');
@@ -36,16 +37,16 @@ var omit = flatRest(function(object, paths) {
if (object == null) {
return result;
}
- var bitmask = CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG;
+ var isDeep = false;
paths = arrayMap(paths, function(path) {
path = castPath(path, object);
- bitmask |= (path.length > 1 ? CLONE_DEEP_FLAG : 0);
+ isDeep || (isDeep = path.length > 1);
return path;
});
-
copyObject(object, getAllKeysIn(object), result);
- result = baseClone(result, bitmask);
-
+ 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]);