Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
e381e56bc7 | |||
c0f6b4fcbb | |||
3eec3ce0fb | |||
d6837b4bb6 | |||
80092295f6 | |||
f07b30bf52 | |||
e6b195fbb1 | |||
c329d43fc4 | |||
|
058bad1792 |
21
BUILD
Normal file
21
BUILD
Normal file
@ -0,0 +1,21 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"ndb.go",
|
||||
"read.go",
|
||||
"write.go",
|
||||
],
|
||||
importpath = "aqwari.net/encoding/ndb",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = [
|
||||
"read_test.go",
|
||||
"write_test.go",
|
||||
],
|
||||
embed = [":go_default_library"],
|
||||
)
|
4
ndb.go
4
ndb.go
@ -203,6 +203,10 @@ func (e *Encoder) Encode(v interface{}) error {
|
||||
defer func() {
|
||||
e.start = false
|
||||
}()
|
||||
return Switch(e, val)
|
||||
}
|
||||
|
||||
func Switch(e *Encoder, val reflect.Value) error {
|
||||
switch val.Kind() {
|
||||
case reflect.Slice:
|
||||
return e.encodeSlice(val)
|
||||
|
4
write.go
4
write.go
@ -34,6 +34,10 @@ 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.Elem().Kind().String())
|
||||
if v.Elem().Kind() == reflect.Map {
|
||||
return e.encodeMap(v)
|
||||
}
|
||||
|
||||
if err := e.writeTuple(k.Interface(), v); err != nil {
|
||||
return err
|
||||
|
Loading…
Reference in New Issue
Block a user