Я хочу написать декоратор для следующего варианта использования:
function doSomethingWithADate(date: string | number | Date) {
// do something with the passed in date
}
Моя проблема в том, что я не знаю, действительно ли дата имеет тип string, number или date.Я мог бы выполнить необходимое преобразование внутри функции, но я не думаю, что это лучший способ, и я, даже если я повторно использую его с использованием дополнительной функции, есть еще одна дополнительная строка кода для каждой функции такого рода.
Я хочу, чтобы декоратор сделал следующее:
- Найдите каждый аргумент, подобный дате
- При необходимости преобразуйте его в дату
- Использованиеманипулируемые аргументы внутри функции так же, как они были переданы таким образом.
Возможно ли это?