shape_value/enums.rs
1//! Custom enum types for Shape
2
3use crate::value_word::ValueWord;
4use std::collections::HashMap;
5
6/// Payload for custom enum variants
7#[derive(Debug, Clone)]
8pub enum EnumPayload {
9 Unit,
10 Tuple(Vec<ValueWord>),
11 Struct(HashMap<String, ValueWord>),
12}
13
14/// Custom enum value (enum name + variant + payload)
15#[derive(Debug, Clone)]
16pub struct EnumValue {
17 pub enum_name: String,
18 pub variant: String,
19 pub payload: EnumPayload,
20}