Функциональный JavaScriptФункции-декораторыmedium

Валидатор аргументов

Джаваскрипт позволяет передать в функцию любое количество аргументов, независимо от того, сколько их было при объявлении функции.

function sum(a, b) { return a + b; } console.log(sum(1)); console.log(sum(1, 2)); console.log(sum(1, 2, 3));

Реализуйте декоратор withArgsValidation, который позволяет проверять, что в функцию передано нужное количество аргументов.

Примеры

function sum(a, b) { return a + b; } const sumWithValidation = withArgsValidation(sum); // возвращает значение 3 console.log(sumWithValidation(1, 2)); // бросает ошибку с сообщением // "Invalid number of arguments" console.log(sumWithValidation(5));