README

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