repositorypackage
1.0.2
Repository: https://github.com/koykov/decoder_vector.git
Documentation: pkg.go.dev
# README
Decoder vector bindings
Provide vector and vector_inspector features to use in dyntpl.
Usage
package main
import (
"github.com/koykov/decoder"
"github.com/koykov/inspector/testobj"
"github.com/koykov/inspector/testobj_ins"
_ "github.com/koykov/decoder_vector" // register vector bindings
_ "github.com/koykov/vector_inspector" // register vector inspector
)
const (
dec = `ctx.data = vector::parseJSON(source).(vector)
obj.Name = data.x.y.z`
json = `{"x":{"y":{"z":"foobar"}}}`
)
func main() {
ruleset, _ := decoder.Parse([]byte(dec))
decoder.RegisterDecoder("example", ruleset)
ctx := decoder.NewCtx()
var obj testobj.TestObject
ctx.SetStatic("source", json)
ctx.Set("obj", &obj, testobj_ins.TestObjectInspector{})
_ = decoder.Decode("example", ctx)
println(string(obj.Name)) // output: foobar
}