CRAP |
Complexity |
Coverage |
Location |
13.13 |
13 |
10/11 (90.91%) |
crap/location-in-range.ts
(L10 - L46)
|
export function locationIsInRange({
location,
range,
}: {
location: { line: number; column: number | undefined };
range: {
start: { line: number; column: number | undefined };
end: { line: number; column: number | undefined };
};
}): boolean {
if (location.line < range.start.line || location.line > range.end.line) {
return false;
}
if (location.column == undefined) {
return true;
}
if (
range.start.column != undefined &&
range.end.column != undefined &&
location.line === range.start.line &&
location.line === range.end.line
) {
return location.column >= range.start.column && location.column <= range.end.column;
}
if (range.start.column != undefined && location.line === range.start.line) {
return location.column >= range.start.column;
}
if (range.end.column != undefined && location.line === range.end.line) {
return location.column <= range.end.column;
}
return true;
}