reactive_graph_reactive_service_api/property/property_i64/
accessor.rs1use 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, i64>
7where
8 IdType: Clone,
9 ReactiveInstanceType: ReactiveInstance<IdType>,
10{
11 type Target = i64;
12
13 fn get(&self) -> Self::Target {
14 self.reactive_instance.as_i64(&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}