pouch_sdk/
response.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashSet;
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5#[serde(untagged)]
6pub enum Response {
7    List { values: Vec<String> },
8    Set { values: HashSet<String> },
9    Err { error: Error },
10    AffectedKeys { affected_keys: u64 },
11    Count { count: u64 },
12    StringValue { value: String },
13    IntValue { value: i64 },
14    BooleanValue { value: bool },
15}
16
17impl Response {
18    pub fn to_json(&self) -> serde_json::Result<String> {
19        serde_json::to_string(self)
20    }
21}
22
23#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
24pub enum Error {
25    UnknownCommand,
26    UnknownKey,
27    IncompatibleDataType,
28    NotInteger,
29    TimeWentBackwards,
30}