1pub mod checkpoint;
2pub mod completion_token;
3pub mod config;
4pub mod constants;
5pub mod error;
6pub mod format;
7pub mod program_schema;
8pub mod query;
9pub mod query_params;
10pub mod runtime_status;
11pub mod secret_ref;
12pub mod secret_resolver;
13pub mod serde_with_context;
14pub mod suspend;
15pub mod time_series;
16pub mod transaction;
17pub mod transport;
18
19mod serde_via_value {
20 use serde::{
21 de::{DeserializeOwned, Error},
22 ser::Error as _,
23 Deserialize, Deserializer, Serialize, Serializer,
24 };
25
26 pub fn deserialize<'de, D, T>(deserializer: D) -> Result<T, D::Error>
39 where
40 D: Deserializer<'de>,
41 T: DeserializeOwned,
42 {
43 serde_json::from_value(serde_json::Value::deserialize(deserializer)?)
44 .map_err(D::Error::custom)
45 }
46
47 pub fn serialize<T, S>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
48 where
49 T: Serialize,
50 S: Serializer,
51 {
52 serde_json::to_value(value)
53 .map_err(S::Error::custom)?
54 .serialize(serializer)
55 }
56}