Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Relax TypeDecorator.process_*_param to return Optional[Any]
The process_bind_param and process_literal_param methods are called to do decorator-specific conversion of values, before deferring to the underlying .impl's conversion methods. This means they can return any value accepted by those methods, not just str (or typing.Text). These are related to the process_result_value method, which is effectively the inverse, doing decorator-specific conversion of the output of the underlying .impl, and indeed this method accepts value: Optional[Any], representing the unknown type of the output of the underlying .impl. Unfortunately, modelling this accurately is likely to be impossible (or at least, much more difficult), because, for instance, the `impl` property itself can only be typed as `Any`, let alone the input/output type it uses. Fixes dropbox#205
- Loading branch information