Documentation
¶
Index ¶
- Variables
- func Unmarshal(data map[string]interface{}, s *Schema) error
- func UnmarshalDefinition(data interface{}, d *Definition) error
- func UnmarshalJSON(source []byte, s *Schema) error
- func WithRuntime(runtime Runtime) func(*Transformer)
- type Definition
- type RawDefinition
- type Record
- type Runtime
- type Schema
- type Schemer
- type Transformer
- func (t *Transformer) GetDestinationSchema() *Schema
- func (t *Transformer) GetSourceSchema() *Schema
- func (t *Transformer) Reset()
- func (t *Transformer) SetDestinationSchema(schema *Schema)
- func (t *Transformer) SetScript(script string) error
- func (t *Transformer) SetSourceSchema(schema *Schema)
- func (t *Transformer) Transform(env map[string]interface{}, input map[string]interface{}) ([]map[string]interface{}, error)
- type TransformerOpt
- type Value
- type ValueType
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidTypeDefinition = errors.New("Invalid type definition") ErrInvalidFieldsDefinition = errors.New("Invalid fields definition") ErrInvalidNotNullDefinition = errors.New("Invalid notNull definition") ErrInvalidArraySubtype = errors.New("Array type requires subtype") )
View Source
var (
ErrInvalidType = fmt.Errorf("Invalid type")
)
View Source
var ValueTypes = map[string]ValueType{ "string": TYPE_STRING, "binary": TYPE_BINARY, "int": TYPE_INT64, "uint": TYPE_UINT64, "float": TYPE_FLOAT64, "bool": TYPE_BOOLEAN, "time": TYPE_TIME, "array": TYPE_ARRAY, "map": TYPE_MAP, "any": TYPE_ANY, }
Functions ¶
func UnmarshalDefinition ¶
func UnmarshalDefinition(data interface{}, d *Definition) error
func UnmarshalJSON ¶ added in v0.0.4
func WithRuntime ¶ added in v0.0.22
func WithRuntime(runtime Runtime) func(*Transformer)
Types ¶
type Definition ¶
type Definition struct {
Schema *Schema
Type ValueType
Subtype *Definition
Info interface{}
NotNull bool
}
func NewDefinition ¶
func NewDefinition(t ValueType) *Definition
type RawDefinition ¶
type RawDefinition struct {
Type ValueType
Subtype *RawDefinition
Fields map[string]*RawDefinition
NotNull bool
Props map[string]interface{}
}
func NewRawDefinition ¶ added in v0.0.17
func NewRawDefinition() *RawDefinition
type Schema ¶
type Schema struct {
Fields map[string]*Definition
}
func (*Schema) GetDefinition ¶
func (s *Schema) GetDefinition(valuePath string) *Definition
func (s *Schema) parsePath(fullPath string) []string {
quoted := false
elements := strings.FieldsFunc(fullPath, func(r rune) bool {
if r == '"' {
quoted = !quoted
// Ignore
return true
}
return !quoted && r == '.'
})
parts := make([]string, len(elements))
for i, element := range elements {
parts[i] = element
}
return parts
}
type Schemer ¶
type Schemer struct {
// contains filtered or unexported fields
}
func NewSchemer ¶
func NewSchemer() *Schemer
type Transformer ¶
type Transformer struct {
// contains filtered or unexported fields
}
func NewTransformer ¶
func NewTransformer(source *Schema, dest *Schema, opts ...TransformerOpt) *Transformer
func (*Transformer) GetDestinationSchema ¶ added in v0.0.10
func (t *Transformer) GetDestinationSchema() *Schema
func (*Transformer) GetSourceSchema ¶ added in v0.0.10
func (t *Transformer) GetSourceSchema() *Schema
func (*Transformer) Reset ¶ added in v0.0.26
func (t *Transformer) Reset()
func (*Transformer) SetDestinationSchema ¶ added in v0.0.4
func (t *Transformer) SetDestinationSchema(schema *Schema)
func (*Transformer) SetScript ¶
func (t *Transformer) SetScript(script string) error
func (*Transformer) SetSourceSchema ¶ added in v0.0.4
func (t *Transformer) SetSourceSchema(schema *Schema)
type TransformerOpt ¶ added in v0.0.22
type TransformerOpt func(*Transformer)
type Value ¶
type Value struct {
Definition *Definition
Data interface{}
}
func NewValue ¶
func NewValue(def *Definition) *Value
Source Files
¶
Click to show internal directories.
Click to hide internal directories.