Source code for eotransform.transformers.chain
from itertools import chain
from typing import TypeVar, Iterable, Iterator
from eotransform.protocol.transformer import Transformer
ChainT = TypeVar('ChainT')
[docs]class Chain(Transformer[Iterable[ChainT], Iterator[ChainT]]):
"""
Chain multiple iterables together into one iterator, i.e.:
>>> list(Chain()([[0, 1], [2]]))
[0, 1, 2]
"""
def __call__(self, x: Iterable[ChainT]) -> Iterator[ChainT]:
return chain.from_iterable(x)