Skip to content

Commit 5196ca4

Browse files
committed
Small code clean up
1 parent 4959e06 commit 5196ca4

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

src/schema/schema.rs

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -301,28 +301,26 @@ impl Schema {
301301

302302
let mut doc = Document::default();
303303
for (field_name, json_value) in json_obj.iter() {
304-
match self.get_field(field_name) {
305-
Some(field) => {
306-
let field_entry = self.get_field_entry(field);
307-
let field_type = field_entry.field_type();
308-
match *json_value {
309-
JsonValue::Array(ref json_items) => {
310-
for json_item in json_items {
311-
let value = field_type.value_from_json(json_item).map_err(|e| {
312-
DocParsingError::ValueError(field_name.clone(), e)
313-
})?;
314-
doc.add(FieldValue::new(field, value));
315-
}
316-
}
317-
_ => {
318-
let value = field_type
319-
.value_from_json(json_value)
320-
.map_err(|e| DocParsingError::ValueError(field_name.clone(), e))?;
321-
doc.add(FieldValue::new(field, value));
322-
}
304+
let field = self
305+
.get_field(field_name)
306+
.ok_or_else(|| DocParsingError::NoSuchFieldInSchema(field_name.clone()))?;
307+
let field_entry = self.get_field_entry(field);
308+
let field_type = field_entry.field_type();
309+
match *json_value {
310+
JsonValue::Array(ref json_items) => {
311+
for json_item in json_items {
312+
let value = field_type
313+
.value_from_json(json_item)
314+
.map_err(|e| DocParsingError::ValueError(field_name.clone(), e))?;
315+
doc.add(FieldValue::new(field, value));
323316
}
324317
}
325-
None => return Err(DocParsingError::NoSuchFieldInSchema(field_name.clone())),
318+
_ => {
319+
let value = field_type
320+
.value_from_json(json_value)
321+
.map_err(|e| DocParsingError::ValueError(field_name.clone(), e))?;
322+
doc.add(FieldValue::new(field, value));
323+
}
326324
}
327325
}
328326
Ok(doc)

0 commit comments

Comments
 (0)