HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/chevrotain/src/text/range.ts
export interface IRange {
  start: number
  end: number

  contains(num: number): boolean

  containsRange(other: IRange): boolean

  isContainedInRange(other: IRange): boolean

  strictlyContainsRange(other: IRange): boolean

  isStrictlyContainedInRange(other: IRange): boolean
}

export class Range implements IRange {
  constructor(public start: number, public end: number) {
    if (!isValidRange(start, end)) {
      throw new Error("INVALID RANGE")
    }
  }

  contains(num: number): boolean {
    return this.start <= num && this.end >= num
  }

  containsRange(other: IRange): boolean {
    return this.start <= other.start && this.end >= other.end
  }

  isContainedInRange(other: IRange): boolean {
    return other.containsRange(this)
  }

  strictlyContainsRange(other: IRange): boolean {
    return this.start < other.start && this.end > other.end
  }

  isStrictlyContainedInRange(other: IRange): boolean {
    return other.strictlyContainsRange(this)
  }
}

export function isValidRange(start: number, end: number): boolean {
  return !(start < 0 || end < start)
}