mod string_repr;
mod uri_fragment;
use JsonPointer;
pub fn parse(s: &str) -> Result<JsonPointer<String, Vec<String>>, ParseError> {
if s.chars().next() == Some('#') {
let s = uri_fragment::UnescapeIter::new(s.chars().skip(1)).collect::<Result<String, _>>()?;
string_repr::parse(s.chars())
} else {
string_repr::parse(s.chars())
}
}
#[derive(Clone, Debug, PartialEq)]
pub enum ParseError {
InvalidEscape(String),
NoLeadingSlash,
}