From: Ian Jackson Date: Sat, 27 Jun 2020 00:37:26 +0000 (+0100) Subject: use serde derive X-Git-Tag: otter-0.2.0~1541 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c407ee54a60ed708bfbdd1db6934d02ad0ddd5e9;p=otter.git use serde derive --- diff --git a/src/gamestate.rs b/src/gamestate.rs index 65e7e4a7..b8d53951 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -5,6 +5,8 @@ slotmap::new_key_type!{ pub struct PieceId; } +#[derive(Copy,Clone,Serialize)] +#[serde(into="String")] pub struct VisiblePieceId (pub u64); #[derive(Debug)] @@ -25,6 +27,9 @@ impl Debug for VisiblePieceId { ::fmt(self, f) } } +impl From for String { + fn from(p: VisiblePieceId) -> String { format!("{}",p) } +} struct VisiblePieceIdVisitor { } impl<'de> serde::de::Visitor<'de> for VisiblePieceIdVisitor { @@ -50,14 +55,6 @@ impl<'de> Deserialize<'de> for VisiblePieceId { } } -impl Serialize for VisiblePieceId { - fn serialize(&self, s : S) -> Result - where S : Serializer - { - s.serialize_str(&format!("{}", self)) - } -} - impl PieceRenderInstructions { pub fn id_piece(&self) -> String { format!("piece{}", self.id) } pub fn id_select(&self) -> String { format!("select{}", self.id) } diff --git a/templates/script.js b/templates/script.js index d0837436..42e45568 100644 --- a/templates/script.js +++ b/templates/script.js @@ -63,7 +63,7 @@ function api_posted() { // dataset // delt.p piece id (static) -// delt.g grabbed user (>=0 integer, or "") +// delt.g grabbed user (player id string, or "") const DRAGGING = { // bitmask NO : 0,