Source code for eotransform.transformers.repeat

from itertools import repeat
from typing import TypeVar, Iterator

from eotransform.protocol.transformer import Transformer

RepeatedT = TypeVar('RepeatedT')


[docs]class Repeat(Transformer[RepeatedT, Iterator[RepeatedT]]): """ Repeat the input n times and return an iterator which can for instance be used to create a collection, such as list. >>> list(Repeat(3)(42)) [42, 42, 42] """ def __init__(self, n: int): """ :param n: Number of times the input is repeated. """ self._n = n def __call__(self, x: RepeatedT) -> Iterator[RepeatedT]: return repeat(x, self._n)