(value)
| 115 | assert not len(kwargs) |
| 116 | |
| 117 | def validate(value): |
| 118 | if (optional and value == ()) or isinstance(value, classinfo): |
| 119 | return value |
| 120 | else: |
| 121 | converted_value = _converter(value, classinfo) |
| 122 | if converted_value: |
| 123 | return converted_value |
| 124 | |
| 125 | if not optional and value == (): |
| 126 | raise ValueError("must be specified") |
| 127 | raise TypeError("must be " + " or ".join(t.__name__ for t in classinfo)) |
| 128 | |
| 129 | return validate |
| 130 |