pub struct Schema {
pub(crate) named: Vec<NamedSchemaPiece>,
pub(crate) indices: BTreeMap<FullName, usize>,
pub top: SchemaPieceOrNamed,
}
Expand description
Represents any valid Avro schema More information about Avro schemas can be found in the Avro Specification
Fields§
§named: Vec<NamedSchemaPiece>
§indices: BTreeMap<FullName, usize>
§top: SchemaPieceOrNamed
Implementations§
source§impl Schema
impl Schema
pub fn top_node(&self) -> SchemaNode<'_>
pub fn top_node_or_named(&self) -> SchemaNodeOrNamed<'_>
pub fn lookup(&self, idx: usize) -> &NamedSchemaPiece
pub fn try_lookup_name(&self, name: &FullName) -> Option<&NamedSchemaPiece>
source§impl Schema
impl Schema
sourcepub fn parse(value: &Value) -> Result<Self, AvroError>
pub fn parse(value: &Value) -> Result<Self, AvroError>
Create a Schema
from a serde_json::Value
representing a JSON Avro
schema.
sourcepub fn canonical_form(&self) -> String
pub fn canonical_form(&self) -> String
Converts self
into its Parsing Canonical Form.
sourcepub fn fingerprint<D: Digest>(&self) -> SchemaFingerprint
pub fn fingerprint<D: Digest>(&self) -> SchemaFingerprint
Generate fingerprint of Schema’s Parsing Canonical Form.
sourcefn parse_primitive(primitive: &str) -> Result<SchemaPiece, AvroError>
fn parse_primitive(primitive: &str) -> Result<SchemaPiece, AvroError>
Parse a serde_json::Value
representing a primitive Avro type into a
Schema
.
Trait Implementations§
source§impl<'a> From<&'a Schema> for SchemaKind
impl<'a> From<&'a Schema> for SchemaKind
source§fn from(schema: &'a Schema) -> SchemaKind
fn from(schema: &'a Schema) -> SchemaKind
Converts to this type from the input type.