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;