func IsAny()

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),
		)
	})
}