Я хотел бы сделать что-то вроде:Проверьте функция имеет несколько аргументов в module.exports
module.exports = (obj) => {
if (arguments.length > 1) {
throw new Error('Must only pass in single argument');
}
}
Когда я вхожу аргументы, я получаю мета-данные о том, о самом модуле и не может видеть аргумент который был принят. Есть ли способ проверить, были ли приняты дополнительные аргументы?
Вот мой тест:
it('should reject multiple arguments',() => {
expect(fn({ data: 1}, { data: 2})).to.throw(Error, 'Too many inputs');
});
* «Однако использование аргументов« остальное »не является хорошим решением для правильного определения вашего API». * Не могли бы вы подробнее остановиться на этом вопросе? – Frxstrem
Потому что 'function (obj, ... restArgs) {...}' предполагает, что эта функция принимает '... restArgs', в то время как цель состоит в том, чтобы запретить это. то есть API противоречит намерению. – unional