# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/10_attr.ipynb.

# %% auto 0
__all__ = ['hasshape', 'hascolumns', 'hasdf', 'hasindex']

# %% ../nbs/10_attr.ipynb 4
from typing import TypeGuard
from typing import Callable

# %% ../nbs/10_attr.ipynb 5
from nlit import SHAPE, COLUMNS, INDEX, DF

# %% ../nbs/10_attr.ipynb 6
from .core import make

# %% ../nbs/10_attr.ipynb 8
@make(SHAPE)
def hasshape(obj) -> TypeGuard[object]: '''Checks if `obj.shape` exists'''

@make(COLUMNS)
def hascolumns(obj) -> TypeGuard[object]: '''Checks if `obj.columns` exists'''

@make(DF)
def hasdf(obj) -> TypeGuard[object]: '''Checks if `obj.df` exists'''

@make(INDEX)
def hasindex(obj) -> TypeGuard[object]: '''Checks if `obj.index` exists'''
