in binding-go/client.go [313:331]
func normalizeSpaceElem(obs interface{}) (interface{}, error) {
if obs == nil {
return nil, errors.New("unsupported observation: nil")
}
switch obs := obs.(type) {
case float64:
return int(obs), nil
case []interface{}:
if len(obs) == 0 {
return nil, errors.New("unsupported observation: empty array")
} else if _, isFloat := obs[0].(float64); isFloat {
return normalizeOneDimSpace(obs)
} else {
return normalizeMultiDimSpace(obs)
}
default:
return nil, fmt.Errorf("unsupported observation: %v", obs)
}
}