in nimo-shake/protocal/raw_converter.go [137:169]
func (rc *RawConverter) convertListToDetailList(name string, input interface{}) interface{} {
list := input.([]interface{})
switch name {
case "B":
output := make([]byte, 0, len(list))
for _, ele := range list {
output = append(output, ele.(byte))
}
return output
case "BS":
output := make([][]byte, 0, len(list))
for _, ele := range list {
inner := rc.convertListToDetailList("B", ele)
output = append(output, inner.([]byte))
}
return output
case "NS":
fallthrough
case "SS":
output := make([]interface{}, 0, len(list))
for _, ele := range list {
output = append(output, ele.(string))
}
return output
case "L":
output := make([]interface{}, 0, len(list))
for _, ele := range list {
output = append(output, ele.(bson2.M))
}
return output
}
return list
}