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, }; |