#[derive(Debug, PartialEq, Eq, Clone)]
pub enum RawToken<'j> {
Eof,
Null,
Bool(bool),
String(&'j str),
ObjectKey(&'j str),
Number(&'j [u8]),
ObjectStart,
ObjectEnd,
ArrayStart,
ArrayEnd,
Comma,
Colon,
}
impl<'i> RawToken<'i> {
pub fn is_primitive_value(&self) -> bool {
matches!(
self,
RawToken::String(_) | RawToken::Number(_) | RawToken::Bool(_) | RawToken::Null
)
}
pub fn is_separator_token(&self) -> bool {
matches!(
self,
RawToken::Colon
| RawToken::Comma
| RawToken::ArrayStart
| RawToken::ArrayEnd
| RawToken::ObjectStart
| RawToken::ObjectEnd
)
}
}