summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/lodash/object/forOwn.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/lodash/object/forOwn.js')
-rw-r--r--deps/npm/node_modules/lodash/object/forOwn.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/deps/npm/node_modules/lodash/object/forOwn.js b/deps/npm/node_modules/lodash/object/forOwn.js
new file mode 100644
index 0000000000..747bb7651b
--- /dev/null
+++ b/deps/npm/node_modules/lodash/object/forOwn.js
@@ -0,0 +1,33 @@
+var baseForOwn = require('../internal/baseForOwn'),
+ createForOwn = require('../internal/createForOwn');
+
+/**
+ * Iterates over own enumerable properties of an object invoking `iteratee`
+ * for each property. The `iteratee` is bound to `thisArg` and invoked with
+ * three arguments: (value, key, object). Iteratee functions may exit iteration
+ * early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forOwn(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'a' and 'b' (iteration order is not guaranteed)
+ */
+var forOwn = createForOwn(baseForOwn);
+
+module.exports = forOwn;