liudong
2023-05-29 340f156319b863525e50e900c58e59b86ecb3d5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var restArguments = require('./restArguments.js');
var isFunction = require('./isFunction.js');
var negate = require('./negate.js');
var map = require('./map.js');
var _flatten = require('./_flatten.js');
var contains = require('./contains.js');
var pick = require('./pick.js');
 
// Return a copy of the object without the disallowed properties.
var omit = restArguments(function(obj, keys) {
  var iteratee = keys[0], context;
  if (isFunction(iteratee)) {
    iteratee = negate(iteratee);
    if (keys.length > 1) context = keys[1];
  } else {
    keys = map(_flatten(keys, false, false), String);
    iteratee = function(value, key) {
      return !contains(keys, key);
    };
  }
  return pick(obj, iteratee, context);
});
 
module.exports = omit;