in ubjson/visitor.go [876:901]
func (vs *Visitor) OnUint64Object(m map[string]uint64) error {
if done, err := vs.onEmptyObject(len(m)); done {
return err
}
// find type:
minT := int8Marker
for _, v := range m {
minT = maxNumType(minT, uintType(uint64(v)))
}
//serialize object
if err := vs.onObject(minT, len(m)); err != nil {
return err
}
for k, v := range m {
if err := vs.string(str2Bytes(k), false); err != nil {
return err
}
if err := vs.uint64(uint64(v), minT, false); err != nil {
return err
}
}
return nil
}