diff options
author | Melody Horn <melody@boringcactus.com> | 2021-03-25 19:28:07 -0600 |
---|---|---|
committer | Melody Horn <melody@boringcactus.com> | 2021-03-25 19:28:07 -0600 |
commit | b83e916ec888b38b15a242c673c89da39b52a8e7 (patch) | |
tree | 7620b5c0d8c5ab497230dbe48f5f971021469ba4 /yapymake/util | |
parent | fa31fa96b8088e5157cbb9022f3e77664cf7e5d8 (diff) | |
download | yapymake-b83e916ec888b38b15a242c673c89da39b52a8e7.tar.gz yapymake-b83e916ec888b38b15a242c673c89da39b52a8e7.zip |
handle iterator end more gracefully in peek
Diffstat (limited to 'yapymake/util')
-rw-r--r-- | yapymake/util/peekable_iterator.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/yapymake/util/peekable_iterator.py b/yapymake/util/peekable_iterator.py index 67bd59d..cd2fcac 100644 --- a/yapymake/util/peekable_iterator.py +++ b/yapymake/util/peekable_iterator.py @@ -24,7 +24,10 @@ class PeekableIterator(Iterator[T]): return result return next(self._inner) - def peek(self) -> T: + def peek(self) -> Optional[T]: if self._peeked is None: - self._peeked = next(self._inner) + try: + self._peeked = next(self._inner) + except StopIteration: + self._peeked = None return self._peeked |