From c2a6efb1b761014a90d90373cad47a14054af40b Mon Sep 17 00:00:00 2001 From: Josh Kingsley Date: Sun, 23 Nov 2025 17:27:44 +0200 Subject: feat(crdt): add wasm-bindgen --- crdt/src/doc.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'crdt/src/doc.rs') diff --git a/crdt/src/doc.rs b/crdt/src/doc.rs index bbd24d0..fcca1d8 100644 --- a/crdt/src/doc.rs +++ b/crdt/src/doc.rs @@ -1,3 +1,4 @@ +use serde::{Deserialize, Serialize}; use thiserror::Error; use uuid::Uuid; @@ -41,21 +42,33 @@ impl DerivableId for DerivedId { } } -#[derive(Default)] +impl Serialize for DerivedId { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + serializer.serialize_str(&self.to_string()) + } +} + +#[derive(Default, Serialize)] pub struct Doc { pub(crate) grids: Vec, } +#[derive(Serialize)] pub struct Grid { pub(crate) id: DerivedId, pub(crate) rows: Vec, } +#[derive(Serialize)] pub struct Row { pub(crate) id: DerivedId, pub(crate) cells: Vec, } +#[derive(Serialize)] pub struct Cell { pub(crate) id: DerivedId, } -- cgit v1.2.3