Skip to main content

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}