25 lines
514 B
JavaScript
25 lines
514 B
JavaScript
const STATUS_OVERTIME = 'overtime';
|
|
|
|
class TimeSpan {
|
|
static fromObject({ hours, minutes, status }) {
|
|
return new TimeSpan(hours, minutes, status);
|
|
}
|
|
|
|
constructor(hours, minutes, status) {
|
|
this.hours = hours;
|
|
this.minutes = minutes;
|
|
this.status = status;
|
|
}
|
|
|
|
isOvertime() {
|
|
return this.status === STATUS_OVERTIME;
|
|
}
|
|
|
|
toStr() {
|
|
const sign = this.isOvertime() ? '+' : '';
|
|
return sign + this.hours + ':' + String(this.minutes).padStart(2, '0');
|
|
}
|
|
}
|
|
|
|
export default TimeSpan;
|