def chain_elements()

in fluent/migrate/transforms.py [0:0]


def chain_elements(elements):
    """Flatten a list of FTL nodes into an iterator over PatternElements."""
    for element in elements:
        if isinstance(element, FTL.Pattern):
            # PY3 yield from element.elements
            yield from element.elements
        elif isinstance(element, FTL.PatternElement):
            yield element
        elif isinstance(element, FTL.Expression):
            yield FTL.Placeable(element)
        else:
            raise RuntimeError("Expected Pattern, PatternElement or Expression")