json_event_parser_witespace/
event.rs1use std::borrow::Cow;
2
3#[allow(dead_code)]
5#[derive(Eq, PartialEq, Debug, Clone, Hash)]
6pub enum JsonEvent<'a> {
7 String(Cow<'a, str>),
8 Number(Cow<'a, str>),
9 Boolean(bool),
10 Null,
11 StartArray,
12 NextArrayValue,
13 EndArray,
14 StartObject,
15 NextObjectValue,
16 EndObject,
17 ObjectKey(Cow<'a, str>),
18 Eof,
19 WhiteSpace(String),
20}
21
22impl<'a> JsonEvent<'a> {
23 #[allow(dead_code)]
24 #[allow(clippy::wrong_self_convention)]
25 pub fn into_owned(&self) -> JsonEvent<'static> {
26 match self {
27 JsonEvent::String(s) => JsonEvent::String(Cow::Owned(s.to_string())),
28 JsonEvent::Number(s) => JsonEvent::Number(Cow::Owned(s.to_string())),
29 JsonEvent::Boolean(b) => JsonEvent::Boolean(*b),
30 JsonEvent::Null => JsonEvent::Null,
31 JsonEvent::StartArray => JsonEvent::StartArray,
32 JsonEvent::EndArray => JsonEvent::EndArray,
33 JsonEvent::StartObject => JsonEvent::StartObject,
34 JsonEvent::NextObjectValue => JsonEvent::NextObjectValue,
35 JsonEvent::EndObject => JsonEvent::EndObject,
36 JsonEvent::ObjectKey(s) => JsonEvent::ObjectKey(Cow::Owned(s.to_string())),
37 JsonEvent::Eof => JsonEvent::Eof,
38 JsonEvent::WhiteSpace(s) => JsonEvent::WhiteSpace(s.to_string()),
39 JsonEvent::NextArrayValue => JsonEvent::NextArrayValue,
40 }
41 }
42}