# Path: draftjs_exporter/types.py
# HTML = str


from typing import List
from draftjs_exporter.types import Block



class Command(object):
    """
    A Command represents an operation that has to be executed
    on a block for it to be converted into an arbitrary number
    of HTML nodes.
    """

    __slots__ = ("name", "index", "data")

    def __init__(self, name: str, index: int, data: str = "") -> None:
        self.name = name
        self.index = index
        self.data = data

    def __str__(self) -> str:
        return f"<Command {self.name} {self.index} {self.data}>"

    def __repr__(self) -> str:
        return str(self)

    @staticmethod

# Path: draftjs_exporter/types.py
# HTML = str


# Path: draftjs_exporter/command.py
from typing import List
from draftjs_exporter.types import Block




class Command(object):
    """
    A Command represents an operation that has to be executed
    on a block for it to be converted into an arbitrary number
    of HTML nodes.
    """

    __slots__ = ("name", "index", "data")

    def __init__(self, name: str, index: int, data: str = "") -> None:
        self.name = name
        self.index = index
        self.data = data

    def __str__(self) -> str:
        return f"<Command {self.name} {self.index} {self.data}>"

    def __repr__(self) -> str:
        return str(self)

    @staticmethod

    def from_entity_ranges(block: Block) -> List["Command"]: