Source code for glotaran.typing.protocols

"""Protocol like type definitions."""
from __future__ import annotations

from typing import TYPE_CHECKING
from typing import Protocol
from typing import TypeVar

if TYPE_CHECKING:
    from collections.abc import Callable
    from collections.abc import Mapping
    from collections.abc import Sequence

    from glotaran.typing.types import StrOrPath


[docs] class FileLoadableProtocol(Protocol): """Protocol class that a file loadable class need adherer to.""" loader: Callable[ [StrOrPath | Sequence[StrOrPath] | Mapping[str, StrOrPath]], FileLoadableProtocol, ] source_path: StrOrPath | Sequence[StrOrPath] | Mapping[str, StrOrPath]
FileLoadable = TypeVar("FileLoadable", bound=FileLoadableProtocol)