rainbow_core/schema/
mod.rs1use std::{
2 collections::BTreeMap,
3 fmt::{Debug, Formatter},
4};
5
6use rainbow_pest::HexColor;
7
8mod methods;
9mod value;
10
11#[derive(Debug, Clone, PartialEq, Eq)]
12pub struct Schema {
13 pub schema: String,
14 pub theme: String,
15 pub variant: String,
16 pub custom: BTreeMap<String, Value>,
17 pub language: BTreeMap<String, Value>,
18}
19
20#[derive(Clone, Eq, PartialEq)]
21pub enum Value {
22 Reference(Vec<String>),
23 Owned(Box<OwnedValue>),
24}
25
26#[derive(Clone, Eq, PartialEq)]
27pub enum OwnedValue {
28 Null,
29 String(String),
30 Number(String),
31 Boolean(bool),
32 Color(HexColor),
33 Object(BTreeMap<String, Value>),
34}