You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
703 B

4 years ago
  1. /**
  2. * This method invokes `interceptor` and returns `value`. The interceptor
  3. * is invoked with one argument; (value). The purpose of this method is to
  4. * "tap into" a method chain sequence in order to modify intermediate results.
  5. *
  6. * @static
  7. * @memberOf _
  8. * @since 0.1.0
  9. * @category Seq
  10. * @param {*} value The value to provide to `interceptor`.
  11. * @param {Function} interceptor The function to invoke.
  12. * @returns {*} Returns `value`.
  13. * @example
  14. *
  15. * _([1, 2, 3])
  16. * .tap(function(array) {
  17. * // Mutate input array.
  18. * array.pop();
  19. * })
  20. * .reverse()
  21. * .value();
  22. * // => [2, 1]
  23. */
  24. function tap(value, interceptor) {
  25. interceptor(value);
  26. return value;
  27. }
  28. module.exports = tap;