pub(super) fn format_skip(s: &[u8], end: &[u8]) -> Option<usize> {
let mut brackets: i32 = 0;
let mut i = 0;
while i < s.len() {
let ch = s[i];
if ch == b'#' && s.get(i + 1) == Some(&b'{') {
brackets += 1;
}
if ch == b'#' && i + 1 < s.len() && b",#{}:".contains(&s[i + 1]) {
i += 2;
continue;
}
if ch == b'}' {
brackets -= 1;
}
if end.contains(&ch) && brackets == 0 {
return Some(i);
}
i += 1;
}
None
}
#[must_use]
pub fn format_skip_delimiter(value: &str, end: &[u8]) -> Option<usize> {
format_skip(value.as_bytes(), end)
}