У меня есть некоторые сомнения по поводу создания конвертера времени.
Я создал класс Time, который может конвертировать время в миллисекундах, секундах,
минуты, часы и дни. Хотя я сделал это легко, я не уверен, что мой код
чистый. На самом деле, я создал перечисление DurationType, и каждый элемент содержит
продукт, который позволяет конвертировать его в миллисекундах. Это позволяет мне
иметь код из 30 строк, но, к примеру, странно умножать значение на DurationType.HOUR.
"use strict";
const DurationType = {
DAY: 24*60*60*1000,
HOUR: 60*60*1000,
MINUTE: 60*1000,
SECOND:1000,
MILLISECOND: 1
}
"use strict";
class Time {
constructor(value, type=DurationType.MILLISECOND) {
this.setValue(value, type);
}
getValueIn(type=DurationType.MILLISECOND) {
return convertTo(this.value, DurationType.MILLISECOND, type);
}
setValue(value, type) {
this.value = Time.convertTo(value, type, DurationType.MILLISECOND);
}
static convertTo(value, type, wantedType) {
if(!(wantedType instanceof DurationType))
return error("wantedType isn't an instance of DurationType", 1); // display the error message and return 1
return value*type/wantedType;
}
}