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