Documentation

Index

Constants

const UTIL_FILE = "primitive.go"

Variables

This section is empty.

Functions

func DeserializeRecordSchema

func DeserializeRecordSchema(packageName string, schemaJson []byte, pkg *Package) error

Deserialize the JSON definiton of a record and generate structs, deserializer and serializer methods. This function only supports JSON maps at the moment, where "type" -> "record". Avro also allows for schemas which are JSON arrays or JSON strings, but we don't currently support those as the root JSON type.

Types

type File

type File struct {
	// contains filtered or unexported fields
}

Represents a Go source file in the output package

func NewFile

func NewFile(name string) *File

func (*File) Functions

func (f *File) Functions() []FunctionName

func (*File) Imports

func (f *File) Imports() []string

func (*File) Structs

func (f *File) Structs() []string

type FunctionName

type FunctionName struct {
	// contains filtered or unexported fields
}

type FunctionNameList

type FunctionNameList []FunctionName

Implement the Sortable interface for FunctionNames

func (FunctionNameList) Len

func (f FunctionNameList) Len() int

func (FunctionNameList) Less

func (f FunctionNameList) Less(i, j int) bool

Sort functions by the struct to which they're attached first, then the name of the method itself. If the function isn't attached to a struct, put it at the bottom

func (FunctionNameList) Swap

func (f FunctionNameList) Swap(i, j int)

type Package

type Package struct {
	// contains filtered or unexported fields
}

Represents the output package

func NewPackage

func NewPackage(name string) *Package

func (*Package) File

func (p *Package) File(name string) (*File, bool)

func (*Package) Files

func (p *Package) Files() []string

func (*Package) WriteFiles

func (p *Package) WriteFiles(targetDir string) error

type RequiredMapKeyError

type RequiredMapKeyError struct {
	Key string
}

func NewRequiredMapKeyError

func NewRequiredMapKeyError(key string) *RequiredMapKeyError

func (*RequiredMapKeyError) Error

func (r *RequiredMapKeyError) Error() string

type SchemaError

type SchemaError struct {
	FieldName   string
	NestedError error
}

func NewSchemaError

func NewSchemaError(fieldName string, err error) *SchemaError

func (*SchemaError) Error

func (s *SchemaError) Error() string

type WrongMapValueTypeError

type WrongMapValueTypeError struct {
	Key          string
	ExpectedType string
	ActualValue  interface{}
}

func NewWrongMapValueTypeError

func NewWrongMapValueTypeError(key, expectedType string, actualValue interface{}) *WrongMapValueTypeError

func (*WrongMapValueTypeError) Error

func (w *WrongMapValueTypeError) Error() string