You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							25 lines
						
					
					
						
							751 B
						
					
					
				
			
		
		
	
	
							25 lines
						
					
					
						
							751 B
						
					
					
				| 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;
 |