def stream_results_optional( f: Callable[..., Optional[PagedResult[TResult, TToken]]], *args, **kwargs ) -> Optional[Iterable[TResult]]: """Like stream_results(), but for functions ``f`` that return an Optional. """ if "page_token" in kwargs: raise TypeError('stream_results has no argument "page_token".') res = f(*args, page_token=None, **kwargs) if res is None: return None else: return stream_results(f, *args, **kwargs)