INNER CODE UNIT · Go
normalizeDocSlice
rwynn/gtm · gtm.go:836
func normalizeDocSlice(a []interface{}) []interface{} {
avs := make([]interface{}, 0, len(a))
for _, av := range a {
var avc interface{}
switch achild := av.(type) {
case map[string]interface{}:
avc = normalizeDocMap(achild)
case primitive.M:
avc = normalizeDocMap(map[string]interface{}(achild))
case primitive.D:
avc = normalizeDocMap(map[string]interface{}(achild.Map()))
case []interface{}:
avc = normalizeDocSlice(achild)
case primitive.A:
avc = normalizeDocSlice([]interface{}(achild))
default:
avc = av
}