Commit project
This commit is contained in:
parent
28471965a0
commit
3ac017a5ad
1030 changed files with 94062 additions and 0 deletions
40
node_modules/object.omit/index.js
generated
vendored
Normal file
40
node_modules/object.omit/index.js
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*!
|
||||
* object.omit <https://github.com/jonschlinkert/object.omit>
|
||||
*
|
||||
* Copyright (c) 2014-2015, Jon Schlinkert.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var isObject = require('is-extendable');
|
||||
var forOwn = require('for-own');
|
||||
|
||||
module.exports = function omit(obj, keys) {
|
||||
if (!isObject(obj)) return {};
|
||||
|
||||
keys = [].concat.apply([], [].slice.call(arguments, 1));
|
||||
var last = keys[keys.length - 1];
|
||||
var res = {}, fn;
|
||||
|
||||
if (typeof last === 'function') {
|
||||
fn = keys.pop();
|
||||
}
|
||||
|
||||
var isFunction = typeof fn === 'function';
|
||||
if (!keys.length && !isFunction) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
forOwn(obj, function(value, key) {
|
||||
if (keys.indexOf(key) === -1) {
|
||||
|
||||
if (!isFunction) {
|
||||
res[key] = value;
|
||||
} else if (fn(value, key, obj)) {
|
||||
res[key] = value;
|
||||
}
|
||||
}
|
||||
});
|
||||
return res;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue