Как передать параметры нажатию кнопки

Эта проблема вызвана устаревшим обратным синтаксисом функций add, subtract и т. д. в библиотеке моментов. Ниже приведен фрагмент:

moment.d.ts

add(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment;
/**
 * @deprecated reverse syntax
 */
add(unit: unitOfTime.DurationConstructor, amount: number|string): Moment;

В моем случае я хотел, чтобы единицы и значение были переменными, поэтому мне пришлось написать функцию для преобразования general в приемлемые («часы», «минуты» и т. д.).

function convertToDuration (unit: string): Moment.unitOfTime.DurationConstructor {

if(unit ==  'seconds' || unit ==  'minutes' || unit ==  'hours' || unit ==  'days' || unit ==  'weeks' || unit ==  'months'){
    return unit;
}
else // Default unit is hours
    return 'hours';
}

Теперь для вызова этой функции:

const time = moment().add(expiryTime.value, convertToDuration(expiryTime.unit));

Определение expiryTime в Тип:

interface ExpiryTimeDef {
value: number,
unit: string
}
0
задан zx485 26 March 2019 в 19:35
поделиться