dayoff/assets/TimeSpan.js

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;