use cow3::{str_slice_to_range, Cow3};
+pub use no_schema::{split_list, SplitList};
+
// Used to disable calling `check_constraints` on a `StringSchema` if it is being deserialized
// for a `PropertyString`, which performs its own checking.
thread_local! {
}
}
-fn next_str_entry(input: &str, at: &mut usize, has_null: bool) -> Option<Range<usize>> {
+pub(crate) fn next_str_entry(input: &str, at: &mut usize, has_null: bool) -> Option<Range<usize>> {
while *at != input.len() {
let begin = *at;
}
};
- if input[..end].is_empty() {
+ if begin == end || input[..end].is_empty() {
continue;
}
}
while let Some(el_range) = next_str_entry(&self.input, &mut self.at, self.has_null) {
- if el_range.is_empty() {
- continue;
- }
-
if let Some(max) = self.schema.max_length {
if self.count == max {
return Err(Error::msg("too many elements"));