forOwnRight.js
 1  var baseForOwnRight = require('./_baseForOwnRight'),
 2      castFunction = require('./_castFunction');
 3  
 4  /**
 5   * This method is like `_.forOwn` except that it iterates over properties of
 6   * `object` in the opposite order.
 7   *
 8   * @static
 9   * @memberOf _
10   * @since 2.0.0
11   * @category Object
12   * @param {Object} object The object to iterate over.
13   * @param {Function} [iteratee=_.identity] The function invoked per iteration.
14   * @returns {Object} Returns `object`.
15   * @see _.forOwn
16   * @example
17   *
18   * function Foo() {
19   *   this.a = 1;
20   *   this.b = 2;
21   * }
22   *
23   * Foo.prototype.c = 3;
24   *
25   * _.forOwnRight(new Foo, function(value, key) {
26   *   console.log(key);
27   * });
28   * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
29   */
30  function forOwnRight(object, iteratee) {
31    return object && baseForOwnRight(object, castFunction(iteratee));
32  }
33  
34  module.exports = forOwnRight;