pub struct Schema {
pub version: u32,
pub project: ProjectConfig,
pub enums: HashMap<String, Vec<String>>,
pub data_types: HashMap<String, TypeDef>,
pub embedded_types: HashMap<String, TypeDef>,
}Expand description
The schema loaded from schema.json - defines all types and enums
Fields§
§version: u32§project: ProjectConfig§enums: HashMap<String, Vec<String>>§data_types: HashMap<String, TypeDef>§embedded_types: HashMap<String, TypeDef>Implementations§
Source§impl Schema
impl Schema
Sourcepub fn get_type(&self, name: &str) -> Option<&TypeDef>
pub fn get_type(&self, name: &str) -> Option<&TypeDef>
Get a type definition by name (checks data_types and embedded_types)
Sourcepub fn all_type_names(&self) -> Vec<&str>
pub fn all_type_names(&self) -> Vec<&str>
Get all type names sorted alphabetically
Sourcepub fn data_type_names(&self) -> Vec<&str>
pub fn data_type_names(&self) -> Vec<&str>
Get all data type names sorted alphabetically
Sourcepub fn placeable_type_names(&self) -> Vec<&str>
pub fn placeable_type_names(&self) -> Vec<&str>
Get all placeable type names (types that can be placed in levels)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Schema
impl<'de> Deserialize<'de> for Schema
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Schema
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more