mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-23 10:37:41 +08:00
Fix a bug with the new flattening rules
This commit is contained in:
parent
64571c8288
commit
1a9c58a7ab
@ -107,7 +107,7 @@ fn json_to_string<'a>(value: &'a Value, buffer: &'a mut String) -> Option<&'a st
|
|||||||
fn inner(value: &Value, output: &mut String) -> bool {
|
fn inner(value: &Value, output: &mut String) -> bool {
|
||||||
use std::fmt::Write;
|
use std::fmt::Write;
|
||||||
match value {
|
match value {
|
||||||
Value::Null => false,
|
Value::Null | Value::Object(_) => false,
|
||||||
Value::Bool(boolean) => write!(output, "{}", boolean).is_ok(),
|
Value::Bool(boolean) => write!(output, "{}", boolean).is_ok(),
|
||||||
Value::Number(number) => write!(output, "{}", number).is_ok(),
|
Value::Number(number) => write!(output, "{}", number).is_ok(),
|
||||||
Value::String(string) => write!(output, "{}", string).is_ok(),
|
Value::String(string) => write!(output, "{}", string).is_ok(),
|
||||||
@ -122,23 +122,6 @@ fn json_to_string<'a>(value: &'a Value, buffer: &'a mut String) -> Option<&'a st
|
|||||||
// check that at least one value was written
|
// check that at least one value was written
|
||||||
count != 0
|
count != 0
|
||||||
}
|
}
|
||||||
Value::Object(object) => {
|
|
||||||
let mut buffer = String::new();
|
|
||||||
let mut count = 0;
|
|
||||||
for (key, value) in object {
|
|
||||||
buffer.clear();
|
|
||||||
let _ = write!(&mut buffer, "{}: ", key);
|
|
||||||
if inner(value, &mut buffer) {
|
|
||||||
buffer.push_str(". ");
|
|
||||||
// We write the "key: value. " pair only when
|
|
||||||
// we are sure that the value can be written.
|
|
||||||
output.push_str(&buffer);
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// check that at least one value was written
|
|
||||||
count != 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user