pub enum NamedTypeFragment {
Record(RecordTypeFragment),
Enum(EnumTypeFragment),
Newtype {
source_key: TypeSourceKey,
name: SchemaName,
inner: FieldType,
},
List {
source_key: TypeSourceKey,
name: SchemaName,
item: FieldType,
},
Set {
source_key: TypeSourceKey,
name: SchemaName,
item: FieldType,
},
Map {
source_key: TypeSourceKey,
name: SchemaName,
key: FieldType,
value: FieldType,
},
Tuple {
source_key: TypeSourceKey,
name: SchemaName,
members: Vec<TupleElementFragment>,
},
}Expand description
Named reusable type definition.
Variants§
Record(RecordTypeFragment)
Record type.
Enum(EnumTypeFragment)
Enum type.
Newtype
Transparent named wrapper.
Fields
source_key: TypeSourceKeyTyped proposal key derived from the current name.
name: SchemaNameCurrent schema name.
List
Homogeneous ordered collection.
Fields
source_key: TypeSourceKeyTyped proposal key derived from the current name.
name: SchemaNameCurrent schema name.
Set
Homogeneous unique collection.
Fields
source_key: TypeSourceKeyTyped proposal key derived from the current name.
name: SchemaNameCurrent schema name.
Map
Homogeneous key/value collection.
Fields
source_key: TypeSourceKeyTyped proposal key derived from the current name.
name: SchemaNameCurrent schema name.
Tuple
Ordered heterogeneous product.
Fields
source_key: TypeSourceKeyTyped proposal key derived from the current name.
name: SchemaNameCurrent schema name.
members: Vec<TupleElementFragment>Ordered member types.
Implementations§
Source§impl NamedTypeFragment
impl NamedTypeFragment
Sourcepub fn newtype(name: SchemaName, inner: FieldType) -> NamedTypeFragment
pub fn newtype(name: SchemaName, inner: FieldType) -> NamedTypeFragment
Construct one transparent named wrapper from its current name.
Sourcepub fn list(name: SchemaName, item: FieldType) -> NamedTypeFragment
pub fn list(name: SchemaName, item: FieldType) -> NamedTypeFragment
Construct one named ordered collection from its current name.
Sourcepub fn set(name: SchemaName, item: FieldType) -> NamedTypeFragment
pub fn set(name: SchemaName, item: FieldType) -> NamedTypeFragment
Construct one named unique collection from its current name.
Sourcepub fn map(
name: SchemaName,
key: FieldType,
value: FieldType,
) -> NamedTypeFragment
pub fn map( name: SchemaName, key: FieldType, value: FieldType, ) -> NamedTypeFragment
Construct one named key/value collection from its current name.
Sourcepub fn tuple(
name: SchemaName,
members: Vec<TupleElementFragment>,
) -> NamedTypeFragment
pub fn tuple( name: SchemaName, members: Vec<TupleElementFragment>, ) -> NamedTypeFragment
Construct one named heterogeneous product from its current name.
Sourcepub const fn source_key(&self) -> &TypeSourceKey
pub const fn source_key(&self) -> &TypeSourceKey
Borrow the typed proposal key derived from the current type name.
Sourcepub const fn name(&self) -> &SchemaName
pub const fn name(&self) -> &SchemaName
Borrow the current type name.
Trait Implementations§
Source§impl Clone for NamedTypeFragment
impl Clone for NamedTypeFragment
Source§fn clone(&self) -> NamedTypeFragment
fn clone(&self) -> NamedTypeFragment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NamedTypeFragment
impl Debug for NamedTypeFragment
impl Eq for NamedTypeFragment
Source§impl PartialEq for NamedTypeFragment
impl PartialEq for NamedTypeFragment
impl StructuralPartialEq for NamedTypeFragment
Auto Trait Implementations§
impl Freeze for NamedTypeFragment
impl RefUnwindSafe for NamedTypeFragment
impl Send for NamedTypeFragment
impl Sync for NamedTypeFragment
impl Unpin for NamedTypeFragment
impl UnsafeUnpin for NamedTypeFragment
impl UnwindSafe for NamedTypeFragment
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
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
key and return true if they are equal.