"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.argumentGuard = void 0; /** will reject function execution if the arguments don't match type guard */ function argumentGuard(fn, ...checks) { return (...args) => { if (args.length === checks.length && args.every((arg, index) => checks[index](arg))) { return fn(...args); } return undefined; }; } exports.argumentGuard = argumentGuard;