isbnlib/enums/
string_or_block.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use serde::{Deserialize, Serialize};

use crate::jsonb::block::Block;

#[derive(
Serialize,
Deserialize,
Debug,
Clone,
PartialEq,
)]
#[serde(untagged)]
pub enum StringOrBlock {
    String(String),
    Block(Block)
}

impl StringOrBlock {
    pub fn to_string(self) -> String {
        match self {
            StringOrBlock::String(string) => string,
            StringOrBlock::Block(block) => block.value
        }
    }
}