in api_generator/src/generator/code_gen/url/url_builder.rs [81:105]
fn parse<'a>(i: &'a [u8], state: PathParseState, r: Vec<PathPart<'a>>) -> Vec<PathPart<'a>> {
if i.is_empty() {
return r;
}
let mut r = r;
match state {
PathParseState::Literal => {
let (rest, part) = PathString::parse_literal(i);
if !part.is_empty() {
r.push(PathPart::Literal(part));
}
PathString::parse(rest, PathParseState::Param, r)
}
PathParseState::Param => {
let (rest, part) = PathString::parse_param(i);
if !part.is_empty() {
r.push(PathPart::Param(part));
}
PathString::parse(rest, PathParseState::Literal, r)
}
}
}