diff --git a/ndb.go b/ndb.go index a6d1005..08f8e51 100644 --- a/ndb.go +++ b/ndb.go @@ -203,6 +203,10 @@ func (e *Encoder) Encode(v interface{}) error { defer func() { e.start = false }() + return Switch(e, v) +} + +func Switch(e *Encoder, v reflect.Value) error { switch val.Kind() { case reflect.Slice: return e.encodeSlice(val) diff --git a/write.go b/write.go index ecd6405..9a73f42 100644 --- a/write.go +++ b/write.go @@ -34,6 +34,7 @@ func (e *Encoder) encodeStruct(val reflect.Value) error { func (e *Encoder) encodeMap(val reflect.Value) error { for _, k := range val.MapKeys() { v := val.MapIndex(k) + println(v.Kind()) if v.Kind() == reflect.Map { return e.encodeMap(v) }