interstice_abi/interstice_value/
mod.rs1mod convert;
2mod row;
3mod validate;
4
5pub use validate::validate_value;
6
7use serde::{Deserialize, Serialize};
8
9#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
10pub enum IntersticeValue {
11 Void,
12 U8(u8),
13 U32(u32),
14 U64(u64),
15 I32(i32),
16 I64(i64),
17 F32(f32),
18 F64(f64),
19 Bool(bool),
20 String(String),
21
22 Vec(Vec<IntersticeValue>),
23 Option(Option<Box<IntersticeValue>>),
24 Tuple(Vec<IntersticeValue>),
25
26 Struct {
27 name: String,
28 fields: Vec<Field>,
29 },
30
31 Enum {
32 name: String,
33 variant: String,
34 value: Box<IntersticeValue>,
35 },
36}
37
38#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
39pub struct Field {
40 pub name: String,
41 pub value: IntersticeValue,
42}