UNPKG

grammy-guard

Version:
19 lines (18 loc) 590 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.guard = void 0; function guard(predicate, errorHandler) { return async (ctx, next) => { const predicates = Array.isArray(predicate) ? predicate.map((predicate) => predicate(ctx)) : [predicate(ctx)]; const isPassed = (await Promise.all(predicates)).every(Boolean); if (isPassed) { return next(); } if (typeof errorHandler === "function") { return errorHandler(ctx, next); } }; } exports.guard = guard;