reactive_graph_reactive_service_api/property/property_u64/
accessor.rs

1use crate::TypedReactivePropertyAccessor;
2use crate::TypedReactivePropertyImpl;
3use reactive_graph_reactive_model_api::ReactiveInstance;
4use serde_json::json;
5
6impl<IdType, ReactiveInstanceType> TypedReactivePropertyAccessor for TypedReactivePropertyImpl<IdType, ReactiveInstanceType, u64>
7where
8    IdType: Clone,
9    ReactiveInstanceType: ReactiveInstance<IdType>,
10{
11    type Target = u64;
12
13    fn get(&self) -> Self::Target {
14        self.reactive_instance.as_u64(&self.property_name).unwrap_or_default()
15    }
16
17    fn set(&self, value: Self::Target) {
18        self.reactive_instance.set(&self.property_name, json!(value));
19    }
20
21    fn set_from<T: Into<Self::Target>>(&self, value: T) {
22        self.reactive_instance.set(&self.property_name, json!(value.into()));
23    }
24}