Sign in

    yugonlian/moon-avro/schema does not have a README file

    SchemaError

    pub(all) suberror SchemaError {
    EmptySchema
    UnsupportedSchema(String)
    DuplicateName(String)
    UnknownName(String)
    InvalidJson(String)
    InvalidSchema(String)
    InvalidName(String)
    InvalidDefault(field~ : String, reason~ : String)
    } derive(Eq,
    Debug
    )

    Errors produced while parsing, naming, or validating an Avro schema.

    Field

    pub(all) struct Field {
    name : String
    schema : Schema
    default_value : Json?
    aliases : Array[String]
    doc : String?
    } derive(Eq,
    Debug
    )

    A field in an Avro record declaration.

    Field::aliases

    fn Field::aliases(self : Field) -> Array[String]

    Field::default_value

    fn Field::default_value(self : Field) -> Json?

    Field::name

    fn Field::name(self : Field) -> String

    Field::schema

    fn Field::schema(self : Field) -> Schema

    NamedDefinition

    pub(all) struct NamedDefinition {
    name : String
    kind : SchemaKind
    } derive(Eq,
    Debug
    )

    A named definition retained by the root schema for reference resolution.

    Primitive

    pub(all) enum Primitive {
    Null
    Boolean
    Int
    Long
    Float
    Double
    Bytes
    String
    } derive(Eq,
    Debug
    )

    Primitive types defined by the Apache Avro data model.

    Schema

    pub struct Schema {
    kind : SchemaKind
    source : String
    definitions : Array[NamedDefinition]
    } derive(Eq,
    Debug
    )

    Parsed Avro schema with its source retained for diagnostics and canonical form generation.

    Schema::canonical_form

    fn Schema::canonical_form(self : Schema) -> String

    Return Avro parsing canonical form (PCF) for this schema.

    Schema::definition_names

    fn Schema::definition_names(self : Schema) -> Array[String]

    Return the full names declared by this parsed root schema.

    Schema::fingerprint64

    fn Schema::fingerprint64(self : Schema) -> UInt64

    Compute the Avro single-object-encoding CRC-64-AVRO fingerprint of the parsing canonical form.

    Schema::kind

    fn Schema::kind(self : Schema) -> SchemaKind

    Schema::kind_name

    fn Schema::kind_name(self : Schema) -> String

    Schema::new

    fn Schema::new(kind : SchemaKind, source : String) -> Schema

    Schema::resolve_named

    fn Schema::resolve_named(self : Schema, name : String) -> SchemaKind?

    Resolve a full or declared alias name from this parsed root schema.

    Schema::source

    fn Schema::source(self : Schema) -> String

    SchemaKind

    pub(all) enum SchemaKind {
    Primitive(Primitive)
    Record(name~ : String, namespace_~ : String?, aliases~ : Array[String], fields~ : Array[Field])
    Enum(name~ : String, namespace_~ : String?, aliases~ : Array[String], symbols~ : Array[String], default_symbol~ : String?)
    Array(items~ : Schema)
    Map(values~ : Schema)
    Union(branches~ : Array[Schema])
    Fixed(name~ : String, namespace_~ : String?, aliases~ : Array[String], size~ : Int)
    Named(String)
    } derive(Eq,
    Debug
    )

    The complete Avro schema algebra. Named is a resolved full-name reference; use Schema::resolve_named on the root schema to inspect its declaration.

    parse

    fn parse(input : String) -> Schema raise SchemaError

    Parse an Avro JSON schema, resolve named references, and retain named declarations for later datum and OCF consumers.

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io