aboutsummaryrefslogtreecommitdiff
path: root/node_modules/object.omit/index.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
committerFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
commitabd94a7f5a50f43c797a11b53549ae48fff667c3 (patch)
treeab8ed457f65cdd72e13e0571d2975729428f1551 /node_modules/object.omit/index.js
parenta0247c6a3fd6a09a41a7e35a3441324c4dcb58be (diff)
add node_modules to address #4364
Diffstat (limited to 'node_modules/object.omit/index.js')
-rw-r--r--node_modules/object.omit/index.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/object.omit/index.js b/node_modules/object.omit/index.js
new file mode 100644
index 000000000..576a578f8
--- /dev/null
+++ b/node_modules/object.omit/index.js
@@ -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 {};
+
+ var 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;
+};