From a9dfbb423fd61d33cb3158c6b602d88ac409ba7b Mon Sep 17 00:00:00 2001 From: Lucas Vas Date: Thu, 24 Sep 2026 12:18:18 -0400 Subject: [PATCH] refactor: remove unused traits crate This crate was created as an experimental way to make data stores reactive, but is no longer used or required. --- traits/Cargo.lock | 7 ---- traits/Cargo.toml | 6 ---- traits/src/lib.rs | 3 -- traits/src/reactive.rs | 82 ------------------------------------------ 4 files changed, 98 deletions(-) delete mode 100644 traits/Cargo.lock delete mode 100644 traits/Cargo.toml delete mode 100644 traits/src/lib.rs delete mode 100644 traits/src/reactive.rs diff --git a/traits/Cargo.lock b/traits/Cargo.lock deleted file mode 100644 index 85639e5..0000000 --- a/traits/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "traits" -version = "0.1.0" diff --git a/traits/Cargo.toml b/traits/Cargo.toml deleted file mode 100644 index 5ba4e77..0000000 --- a/traits/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "traits" -version = "0.1.0" -edition = "2024" - -[dependencies] diff --git a/traits/src/lib.rs b/traits/src/lib.rs deleted file mode 100644 index 8582022..0000000 --- a/traits/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod reactive; - -pub use reactive::*; diff --git a/traits/src/reactive.rs b/traits/src/reactive.rs deleted file mode 100644 index 40cb7d1..0000000 --- a/traits/src/reactive.rs +++ /dev/null @@ -1,82 +0,0 @@ -/// Trait that ensures a reactive struct can be created from a non-reactive struct. -/// -/// For example: -/// -/// ```rust -/// struct User { -/// id: i32, -/// name: String -/// } -/// -/// struct UserReactive { -/// id: RwSignal, -/// name: RwSignal -/// } -/// -/// impl ReactiveCapture for UserReactive { -/// // implement - required for ReactiveType. -/// } -/// -/// impl AsReactive for User { -/// type ReactiveType = UserReactive; -/// fn as_reactive(self) -> UserReactive { -/// UserReactive { -/// id: RwSignal::new(self.id), -/// name: RwSignal::new(self.name) -/// } -/// } -/// } -/// ``` -pub trait AsReactive { - /// The type of the reactive struct. It must implement `ReactiveCapture`. - type ReactiveType: ReactiveCapture; - - /// Wraps all fields of the struct into an `RwSignal`, returning a new - /// "reactive" struct. - /// - /// Note that this method consumes the original struct and returns a new - /// reactive struct. - fn as_reactive(self) -> Self::ReactiveType; -} - -/// Trait that ensures a reactive struct can be captured into a non-reactive struct. -/// The "captured" struct does not contain *any* reactive fields, meaning that it is not -/// wrapped in an `RwSignal`. -/// -/// The captured struct should simply collect all the values from the reactive fields at -/// that point in time. -/// -/// For example: -/// -/// ```rust -/// struct User { -/// id: i32, -/// name: String -/// } -/// -/// struct UserReactive { -/// id: RwSignal, -/// name: RwSignal -/// } -/// -/// impl AsReactive for User { -/// // implement - required for CaptureType. -/// } -/// -/// impl ReactiveCapture for UserReactive { -/// type CaptureType = User; -/// fn capture(&self) -> User { -/// User { -/// id: self.id.get(), -/// name: self.name.get() -/// } -/// } -/// } -/// ``` -pub trait ReactiveCapture { - /// The type of the captured struct. It must implement `AsReactive`. - type CaptureType: AsReactive; - - /// Captures the current state of the reactive struct into a non-reactive struct. - fn capture(&self) -> Self::CaptureType; -} -- 2.54.0