From d86b5584fb5a5331ce02fb218000876a9c0a34b6 Mon Sep 17 00:00:00 2001 From: Laurens Valk Date: Fri, 6 Aug 2021 09:49:28 +0200 Subject: [PATCH] ubuiltins: Type enumerate as a class. This reverts commit a0ea0d8ca0ad3ff8e055a30ae77a682f06ca3dfd because of https://github.com/pybricks/pybricks-api/issues/72 --- doc/main/micropython/builtins.rst | 2 +- src/ubuiltins/__init__.py | 35 +++++++++++++++---------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/doc/main/micropython/builtins.rst b/doc/main/micropython/builtins.rst index 0fc10a4..25eceff 100644 --- a/doc/main/micropython/builtins.rst +++ b/doc/main/micropython/builtins.rst @@ -90,7 +90,7 @@ Iterators .. pybricks-requirements:: stm32-extra -.. autofunction:: ubuiltins.enumerate +.. autoclass:: ubuiltins.enumerate .. pybricks-requirements:: diff --git a/src/ubuiltins/__init__.py b/src/ubuiltins/__init__.py index 1280e02..e7fb184 100644 --- a/src/ubuiltins/__init__.py +++ b/src/ubuiltins/__init__.py @@ -286,28 +286,27 @@ def divmod(a, b): """ -@overload -def enumerate(iterable: Iterable) -> Iterable: - ... +class enumerate: + @overload + def __init__(self, iterable: Iterable) -> None: + ... + @overload + def __init__(self, iterable: Iterable, start: _int) -> None: + ... -@overload -def enumerate(iterable: Iterable, start: _int) -> Iterable: - ... + def __init__(self, *args) -> None: + """ + Returns an enumerate object. + Equivalent to:: -def enumerate(*args) -> Iterable: - """ - Returns an enumerate object. - - Equivalent to:: - - def enumerate(sequence, start=0): - n = start - for elem in sequence: - yield n, elem - n += 1 - """ + def enumerate(sequence, start=0): + n = start + for elem in sequence: + yield n, elem + n += 1 + """ @overload