Permalink
Cannot retrieve contributors at this time
57 lines (54 sloc)
1.59 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/lodash/omit.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var arrayMap = require('./_arrayMap'), | |
baseClone = require('./_baseClone'), | |
baseUnset = require('./_baseUnset'), | |
castPath = require('./_castPath'), | |
copyObject = require('./_copyObject'), | |
customOmitClone = require('./_customOmitClone'), | |
flatRest = require('./_flatRest'), | |
getAllKeysIn = require('./_getAllKeysIn'); | |
/** Used to compose bitmasks for cloning. */ | |
var CLONE_DEEP_FLAG = 1, | |
CLONE_FLAT_FLAG = 2, | |
CLONE_SYMBOLS_FLAG = 4; | |
/** | |
* The opposite of `_.pick`; this method creates an object composed of the | |
* own and inherited enumerable property paths of `object` that are not omitted. | |
* | |
* **Note:** This method is considerably slower than `_.pick`. | |
* | |
* @static | |
* @since 0.1.0 | |
* @memberOf _ | |
* @category Object | |
* @param {Object} object The source object. | |
* @param {...(string|string[])} [paths] The property paths to omit. | |
* @returns {Object} Returns the new object. | |
* @example | |
* | |
* var object = { 'a': 1, 'b': '2', 'c': 3 }; | |
* | |
* _.omit(object, ['a', 'c']); | |
* // => { 'b': '2' } | |
*/ | |
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; | |
}); | |
module.exports = omit; |