pub struct IslSchema { /* private fields */ }Expand description
Provides an internal representation of a schema file
Implementations§
Source§impl IslSchema
impl IslSchema
Sourcepub fn schema_v_1_0<A: AsRef<str>>(
id: A,
imports: Vec<IslImport>,
types: Vec<IslType>,
inline_imports: Vec<IslImportType>,
open_content: Vec<Element>,
) -> IslSchema
pub fn schema_v_1_0<A: AsRef<str>>( id: A, imports: Vec<IslImport>, types: Vec<IslType>, inline_imports: Vec<IslImportType>, open_content: Vec<Element>, ) -> IslSchema
Sourcepub fn schema_v_2_0<A: AsRef<str>>(
id: A,
user_reserved_fields: UserReservedFields,
imports: Vec<IslImport>,
types: Vec<IslType>,
inline_imports: Vec<IslImportType>,
open_content: Vec<Element>,
) -> IslSchema
pub fn schema_v_2_0<A: AsRef<str>>( id: A, user_reserved_fields: UserReservedFields, imports: Vec<IslImport>, types: Vec<IslType>, inline_imports: Vec<IslImportType>, open_content: Vec<Element>, ) -> IslSchema
Creates an ISL schema using the IslTypes, IslImports, UserReservedFields open content and schema id TODO: Replace with a builder
pub fn id(&self) -> String
pub fn version(&self) -> IslVersion
pub fn imports(&self) -> impl Iterator<Item = &IslImport>
pub fn types(&self) -> impl Iterator<Item = &IslType>
pub fn inline_imported_types(&self) -> impl Iterator<Item = &IslImportType>
Sourcepub fn open_content(&self) -> impl Iterator<Item = &Element>
pub fn open_content(&self) -> impl Iterator<Item = &Element>
Provides top level open content for given schema For open content defined within type definitions use IslType#open_content()
Sourcepub fn user_reserved_fields(&self) -> Option<&UserReservedFields>
pub fn user_reserved_fields(&self) -> Option<&UserReservedFields>
Provide user reserved field defined in the given schema for ISL 2.0, Otherwise returns None
Trait Implementations§
Source§impl<'a> IntoIterator for &'a IslSchema
impl<'a> IntoIterator for &'a IslSchema
impl StructuralPartialEq for IslSchema
Auto Trait Implementations§
impl Freeze for IslSchema
impl RefUnwindSafe for IslSchema
impl Send for IslSchema
impl Sync for IslSchema
impl Unpin for IslSchema
impl UnsafeUnpin for IslSchema
impl UnwindSafe for IslSchema
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