# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/05_name.ipynb.

# %% auto 0
__all__ = ['NamedXath', 'NamedPath', 'NamedFile', 'NamedDir']

# %% ../nbs/05_name.ipynb 6
#| export


# %% ../nbs/05_name.ipynb 8
#| export


# %% ../nbs/05_name.ipynb 10
from atyp import StrQ

# %% ../nbs/05_name.ipynb 12
#| export


# %% ../nbs/05_name.ipynb 14
from .mxns.kind import FileKindMixin, DirKindMixin
from .data import DataXath, DataPath, DataFile, DataDir

# %% ../nbs/05_name.ipynb 16
class NamedXath(DataXath):
    def __init__(
        self,
        path: StrQ = None, leaf: StrQ = None, name: StrQ = None,
        abrv: StrQ = None, desc: StrQ = None, *args, **kwargs        
    ):
        kwargs.update(leaf=leaf, name=name, abrv=abrv, desc=desc)
        super().__init__(path, *args, **kwargs)

# %% ../nbs/05_name.ipynb 18
class NamedPath(NamedXath):
    ...

# %% ../nbs/05_name.ipynb 20
class NamedFile(FileKindMixin, NamedPath):
    file: DataFile()    

# %% ../nbs/05_name.ipynb 22
class NamedDir(DirKindMixin, NamedPath):
    dir: DataDir()
