co_primitives/types/
reducer.rs1use crate::Tags;
5use cid::Cid;
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Serialize, Deserialize)]
9pub struct ReducerInput {
10 #[serde(default, skip_serializing_if = "Option::is_none")]
12 pub state: Option<Cid>,
13
14 pub action: Cid,
16}
17
18#[derive(Debug, Serialize, Deserialize)]
19pub struct ReducerOutput {
20 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub state: Option<Cid>,
23
24 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub error: Option<String>,
27
28 #[serde(default, skip_serializing_if = "Tags::is_empty")]
31 pub tags: Tags,
32}