json-event-parser-blocks 0.1.0

add 'skipper' and serde support for json-event-parser
Documentation
#[cfg(feature = "serde")]
mod serde;
mod skipper;

use json_event_parser::JsonEvent;
#[cfg(feature = "serde")]
pub use serde::{JsonEventSlice, JsonEventSource, JsonSerializer, JsonDeserializer, SerDeIoError};
pub use skipper::{SkipError, Skipper};

pub fn event_name(event: &JsonEvent<'_>) -> &'static str {
    match event {
        JsonEvent::String(_) => "String",
        JsonEvent::Number(_) => "Number",
        JsonEvent::Boolean(_) => "Boolean",
        JsonEvent::Null => "Null",
        JsonEvent::StartArray => "StartArray",
        JsonEvent::EndArray => "EndArray",
        JsonEvent::StartObject => "StartObject",
        JsonEvent::EndObject => "EndObject",
        JsonEvent::ObjectKey(_) => "ObjectKey",
        JsonEvent::Eof => "Eof",
    }
}

pub fn owned_event(event: JsonEvent<'_>) -> JsonEvent<'static> {
    match event {
        JsonEvent::String(v) => JsonEvent::String(v.into_owned().into()),
        JsonEvent::Number(v) => JsonEvent::Number(v.into_owned().into()),
        JsonEvent::Boolean(v) => JsonEvent::Boolean(v),
        JsonEvent::Null => JsonEvent::Null,
        JsonEvent::StartArray => JsonEvent::StartArray,
        JsonEvent::EndArray => JsonEvent::EndArray,
        JsonEvent::StartObject => JsonEvent::StartObject,
        JsonEvent::EndObject => JsonEvent::EndObject,
        JsonEvent::ObjectKey(v) => JsonEvent::ObjectKey(v.into_owned().into()),
        JsonEvent::Eof => JsonEvent::Eof,
    }
}