phml.types

 1from typing import TypeAlias
 2from pathlib import Path
 3from phml.core.nodes import AST
 4from phml.core.nodes.nodes import NODE
 5
 6__all__ = [
 7    "PathLike",
 8    "Component",
 9    "Components",
10]
11
12PathLike: TypeAlias = str | Path
13Component = dict[str, list | NODE] | AST | PathLike
14
15ComponentsDict: TypeAlias = dict[str, Component]
16ComponentsTuple: TypeAlias = tuple[str, Component]
17Components: TypeAlias = (
18    ComponentsDict
19    | ComponentsTuple
20    | list[PathLike]
21    | PathLike
22)
PathLike: TypeAlias = str | pathlib.Path