1use rkyv::ser::serializers::AllocSerializer;
2use rkyv::ser::Serializer;
3use rkyv::{AlignedVec, Deserialize};
4
5pub mod jsep;
6pub mod json;
7mod model;
8pub use model::*;
9
10pub fn serialize(workflow: WorkflowDefinition) -> AlignedVec {
11 let mut serializer = AllocSerializer::<0>::default();
12 serializer.serialize_value(&workflow).unwrap();
13 serializer.into_serializer().into_inner()
14}
15
16pub fn deserialize(
17 data: &[u8],
18) -> Result<WorkflowDefinition, rkyv::de::deserializers::SharedDeserializeMapError> {
19 let archived = unsafe { rkyv::archived_root::<WorkflowDefinition>(data) };
20 archived.deserialize(&mut rkyv::de::deserializers::SharedDeserializeMap::default())
21}