pub enum VariantRepr {
External,
Internal {
tag: String,
},
Adjacent {
tag: String,
content: String,
},
Untagged,
}Expand description
How to represent variant in a data model. Corresponds to the $variant-repr extension.
Variants§
External
External tagging: {“variant-name”: {…}}
Internal
Internal tagging: {“type”: “variant-name”, …fields…}
Adjacent
Adjacent tagging: {“type”: “variant-name”, “content”: {…}}
Untagged
Untagged: try all variants without structure-based matching.
This is the default when no $variant-repr is specified.
Implementations§
Source§impl VariantRepr
impl VariantRepr
Sourcepub fn from_annotation(doc: &EureDocument, node_id: NodeId) -> Option<Self>
pub fn from_annotation(doc: &EureDocument, node_id: NodeId) -> Option<Self>
Create a VariantRepr from $variant-repr annotation node
Trait Implementations§
Source§impl Clone for VariantRepr
impl Clone for VariantRepr
Source§fn clone(&self) -> VariantRepr
fn clone(&self) -> VariantRepr
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VariantRepr
impl Debug for VariantRepr
Source§impl Default for VariantRepr
impl Default for VariantRepr
Source§fn default() -> VariantRepr
fn default() -> VariantRepr
Returns the “default value” for a type. Read more
Source§impl Hash for VariantRepr
impl Hash for VariantRepr
Source§impl ParseDocument<'_> for VariantRepr
impl ParseDocument<'_> for VariantRepr
Source§type Error = ParseError
type Error = ParseError
The error type returned by parsing.
Source§impl PartialEq for VariantRepr
impl PartialEq for VariantRepr
impl Eq for VariantRepr
impl StructuralPartialEq for VariantRepr
Auto Trait Implementations§
impl Freeze for VariantRepr
impl RefUnwindSafe for VariantRepr
impl Send for VariantRepr
impl Sync for VariantRepr
impl Unpin for VariantRepr
impl UnwindSafe for VariantRepr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.