Skip to main content

json_event_parser_blocks/
lib.rs

1#[cfg(feature = "serde")]
2mod serde;
3mod skipper;
4
5use json_event_parser::JsonEvent;
6#[cfg(feature = "serde")]
7pub use serde::{JsonEventSlice, JsonEventSource, JsonSerializer, JsonDeserializer, SerDeIoError};
8pub use skipper::{SkipError, Skipper};
9
10pub fn event_name(event: &JsonEvent<'_>) -> &'static str {
11    match event {
12        JsonEvent::String(_) => "String",
13        JsonEvent::Number(_) => "Number",
14        JsonEvent::Boolean(_) => "Boolean",
15        JsonEvent::Null => "Null",
16        JsonEvent::StartArray => "StartArray",
17        JsonEvent::EndArray => "EndArray",
18        JsonEvent::StartObject => "StartObject",
19        JsonEvent::EndObject => "EndObject",
20        JsonEvent::ObjectKey(_) => "ObjectKey",
21        JsonEvent::Eof => "Eof",
22    }
23}
24
25pub fn owned_event(event: JsonEvent<'_>) -> JsonEvent<'static> {
26    match event {
27        JsonEvent::String(v) => JsonEvent::String(v.into_owned().into()),
28        JsonEvent::Number(v) => JsonEvent::Number(v.into_owned().into()),
29        JsonEvent::Boolean(v) => JsonEvent::Boolean(v),
30        JsonEvent::Null => JsonEvent::Null,
31        JsonEvent::StartArray => JsonEvent::StartArray,
32        JsonEvent::EndArray => JsonEvent::EndArray,
33        JsonEvent::StartObject => JsonEvent::StartObject,
34        JsonEvent::EndObject => JsonEvent::EndObject,
35        JsonEvent::ObjectKey(v) => JsonEvent::ObjectKey(v.into_owned().into()),
36        JsonEvent::Eof => JsonEvent::Eof,
37    }
38}