use crate::state::{ParserState, Span};
pub enum SpanScanner {
JsonNumber,
JsonString,
JsonStringQuoted,
CssIdent,
CssWsComment,
CssString,
CssBlockComment,
}
impl SpanScanner {
#[inline(always)]
pub fn call<'a>(&self, state: &mut ParserState<'a>) -> Option<Span<'a>> {
match self {
Self::JsonNumber => crate::parsers::json::number_span_fast(state),
Self::JsonString => crate::parsers::json::json_string_fast(state),
Self::JsonStringQuoted => crate::parsers::json::json_string_fast_quoted(state),
Self::CssIdent => crate::parsers::css::css_ident_fast(state),
Self::CssWsComment => crate::parsers::css::css_ws_comment_fast(state),
Self::CssString => crate::parsers::css::css_string_fast(state),
Self::CssBlockComment => crate::parsers::css::css_block_comment_fast(state),
}
}
}