From 4a465147ece3b0afdbbc0f51eb2c741f2f432807 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 1 May 2022 17:03:11 +0100 Subject: [PATCH] apitest: Refactor to make room for handling more piece ops Signed-off-by: Ian Jackson --- apitest/atmain.rs | 51 ++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/apitest/atmain.rs b/apitest/atmain.rs index 3bf74d90..35cbd52e 100644 --- a/apitest/atmain.rs +++ b/apitest/atmain.rs @@ -408,13 +408,6 @@ pub fn update_update_pieces( pieces: &mut Pieces, k: &str, v: &JsV ) { - if k != "Piece" { return } - let v = v.as_object().unwrap(); - let piece = v["piece"].as_str().unwrap(); - let p = pieces.iter_mut().find(|p| p.id == piece); - if_let!{ Some(p) = p; else return } - let (op, d) = v["op"].as_object().unwrap().iter().next().unwrap(); - fn coord(j: &JsV) -> Pos { PosC::from_iter_2( j.as_array().unwrap().iter() @@ -422,24 +415,32 @@ pub fn update_update_pieces( ) } - match op.as_str() { - "Move" => { - p.pos = coord(d); - }, - "Modify" | "ModifyQuiet" => { - let d = d.as_object().unwrap(); - p.pos = coord(&d["pos"]); - for (k,v) in d { - p.info - .as_object_mut().unwrap() - .insert(k.to_string(), v.clone()); - } - }, - _ => { - panic!("unknown op {:?} {:?}", &op, &d); - }, - }; - dbgc!(nick, k,v,p); + if k == "Piece" { + let v = v.as_object().unwrap(); + let piece = v["piece"].as_str().unwrap(); + let p = pieces.iter_mut().find(|p| p.id == piece); + let (op, d) = v["op"].as_object().unwrap().iter().next().unwrap(); + if_let!{ Some(p) = p; else return } + + match op.as_str() { + "Move" => { + p.pos = coord(d); + }, + "Modify" | "ModifyQuiet" => { + let d = d.as_object().unwrap(); + p.pos = coord(&d["pos"]); + for (k,v) in d { + p.info + .as_object_mut().unwrap() + .insert(k.to_string(), v.clone()); + } + }, + _ => { + panic!("unknown op {:?} {:?}", &op, &d); + }, + }; + dbgc!(nick, k,v,p); + } } pub type PieceOpData = (&'static str, JsV); -- 2.30.2