From: Ian Jackson Date: Sun, 1 May 2022 17:43:45 +0000 (+0100) Subject: apitest: Introduce and use JsV extension extend X-Git-Tag: otter-1.1.0~353 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=0801fef9a0dfe7bfdf2f92ae4a78ae50a80b2fd4;p=otter.git apitest: Introduce and use JsV extension extend Signed-off-by: Ian Jackson --- diff --git a/apitest/apitest.rs b/apitest/apitest.rs index d2a82358..9819759f 100644 --- a/apitest/apitest.rs +++ b/apitest/apitest.rs @@ -133,6 +133,15 @@ impl JsV { fn set>(&mut self, k: K, v: &JsV) { self.as_object_mut().unwrap().insert(k.into(), v.clone()); } + + fn extend(&mut self, i: I) + where I: IntoIterator, + K: Into, + V: Borrow, + { + let i = i.into_iter().map(|(k,v)| (k.into(), v.borrow().clone())); + self.as_object_mut().unwrap().extend(i); + } } // -------------------- Substition -------------------- diff --git a/apitest/atmain.rs b/apitest/atmain.rs index f72c4a2a..557fc5ca 100644 --- a/apitest/atmain.rs +++ b/apitest/atmain.rs @@ -441,9 +441,7 @@ pub fn update_update_pieces( "Modify" | "ModifyQuiet" => { let d = d.as_object().unwrap(); p.pos = coord(&d["pos"]); - for (k,v) in d { - p.info.set(k, &v); - } + p.info.extend(d); }, _ => { panic!("unknown op {:?} {:?}", &op, &d);