use oxc::span::{Span, SPAN};
pub trait SpanExt {
fn is_empty(&self) -> bool;
fn is_valid(&self, source: &str) -> bool;
}
impl SpanExt for Span {
fn is_empty(&self) -> bool {
self.start == 0 && self.end == 0
}
#[expect(clippy::cast_possible_truncation)]
fn is_valid(&self, source: &str) -> bool {
if self == &SPAN {
return false;
}
let source_len = source.len() as u32;
if self.start > source_len || self.end > source_len {
return false;
}
if self.start > self.end {
return false;
}
true
}
}