mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-15 00:50:56 -05:00
7f37ba737c
* Update Copybara options in preparation for open-sourcing the source editor * Move files * Update paths * Remove source-editor module and checks for its existence * Explicitly mention CM6 license in files that contain code adapted from CM6 GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b
24 lines
606 B
TypeScript
24 lines
606 B
TypeScript
export class Range {
|
|
from: number
|
|
to: number
|
|
|
|
constructor(from: number, to: number) {
|
|
this.from = from
|
|
this.to = to
|
|
}
|
|
|
|
contains(pos: number, allowBoundaries = true) {
|
|
return allowBoundaries
|
|
? pos >= this.from && pos <= this.to
|
|
: pos > this.from && pos < this.to
|
|
}
|
|
|
|
// Ranges that touch but don't overlap are not considered to intersect
|
|
intersects(range: Range) {
|
|
return this.contains(range.from, false) || this.contains(range.to, false)
|
|
}
|
|
|
|
touchesOrIntersects(range: Range) {
|
|
return this.contains(range.from, true) || this.contains(range.to, true)
|
|
}
|
|
}
|