in isdef/dsl.go [82:103]
func IsAny(of ...IsDef) IsDef {
names := make([]string, len(of))
for i, def := range of {
names[i] = def.Name
}
isName := fmt.Sprintf("either %#v", names)
return Is(isName, func(path llpath.Path, v interface{}) *llresult.Results {
for _, def := range of {
vr := def.Check(path, v, true)
if vr.Valid {
return vr
}
}
return llresult.SimpleResult(
path,
false,
fmt.Sprintf("Value was none of %#v, actual value was %#v", names, v),
)
})
}