From b83e916ec888b38b15a242c673c89da39b52a8e7 Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Thu, 25 Mar 2021 19:28:07 -0600 Subject: handle iterator end more gracefully in peek --- yapymake/util/peekable_iterator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'yapymake/util') 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 -- cgit v1.2.3