in sftest/sftest.go [264:290]
func buildObject(rec Recording) (interface{}, Recording, error) {
obj := map[string]interface{}{}
for len(rec) > 0 {
var (
key string
v interface{}
err error
)
switch v := rec[0].(type) {
case ObjectFinishRec:
return obj, rec[1:], nil
case ObjectKeyRec:
key = v.Value
}
v, rec, err = buildValue(rec[1:])
if err != nil {
return nil, nil, err
}
obj[key] = v
}
return nil, nil, errors.New("missing object finish record")
}