Существует ли модуль JavaScript, который позволяет легко сопоставлять аргументы с параметрами?Вот как я представляю, как это работает:
var arguments = assignArguments (arguments, 'p1', 'p2', [{'p3': 0}, 'p4'], {'p5': 'unknown'});
Внутри функции вы вызываете ее для создания объекта, который связывает параметр с аргументом.Параметры, определенные в массиве или встроенном объекте, будут считаться необязательными, тогда как встроенные объекты позволят назначать значения по умолчанию.Все остальные параметры считаются «обязательными».
Вот несколько примеров ввода / вывода:
foo(1): { p1: 1, p3: 0, p5: 'unknown' } // no p2 (aka undefined)
foo(1, 2): { p1: 1, p2: 2, p3: 0, p5: 'unknown' }
foo(1, 2, 3): { p1: 1, p2: 2, p3: 0, p4: 3, p5: 'unknown' }
foo(1, 2, 3, 4): { p1: 1, p2: 2, p3: 3, p4: 4, p5: 'unknown' }
foo(1, 2, 3, 4, 5): { p1: 1, p2: 2, p3: 3, p4: 4, p5: 5 }
Я надеюсь, что подобная библиотека уже существует.Эта логика часто повторяется, и я хочу устранить ее, если это возможно.
Кто-нибудь знает о такой библиотеке?Если нет, может кто-нибудь прислать мне правильный путь для его реализации?