# Copyright (c) PARRRATE T&V 2021. All rights reserved. from typing import TypeVar from bu4.parsing.abstractparser import AbstractParser from bu4.transform.states.transformstate import TransformState __all__ = ('ParsingRead',) T = TypeVar('T') class ParsingRead(TransformState[T]): def __init__(self, parser: AbstractParser[T]): self.parser = parser def next(self) -> TransformState[T]: code = self.parser.read() extension = self.parser.extension_for(code) return extension.apply()