All files / lib/middlewares filter.js

28.57% Statements 2/7
0% Branches 0/2
0% Functions 0/2
33.33% Lines 2/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                  2x                             2x      
/* eslint-disable no-useless-catch */
/**
 * функція-фабрика, яка отримує обробник даних, повертає функцію типу
 * middleware
 * @param predicate функція-обробник фільтрації.
 * @returns {filterMiddleware}  middleware, де в залежності
 * від виконання обробника виконується подальша логіка
 */
const Filter =
  (predicate) =>
  /**
   * @func filterMiddleware
   * @param err помилка, що виникла на одній з минулих ітерації.
   * @param msg об'єкт з даними.
   * @param next функція-колбек наступної проміжної обробки.
   */
  (err, msg, next) => {
    try {
      if (predicate(msg)) next();
    } catch (e) {
      throw e;
    }
  };
 
module.exports = {
  Filter,
};