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.