
    di                    0    S SK Jr  SSKJr  SS jrSS jrg)	    )annotations   )
StructMetac                4    [        [        U 5      [        5      $ )a  Check whether ``obj`` is a `msgspec.Struct`-like instance.

Parameters
----------
obj:
    Object to check.

Returns
-------
bool
    `True` if ``obj`` is an instance of a class whose metaclass is
    `msgspec.StructMeta` (or a subclass of it), and `False` otherwise.
    Static type checkers treat a successful ``is_struct(obj)`` check as
    narrowing ``obj`` to `msgspec.Struct` within the true branch, even if
    the runtime class does not literally inherit `msgspec.Struct`.
)
isinstancetyper   )objs    _/var/www/fortnox.synktek.com/backend/venv/lib/python3.13/site-packages/msgspec/_typing_utils.py	is_structr      s    " d3i,,    c                "    [        U [        5      $ )a  Check whether ``tp`` is a `msgspec.Struct`-like class.

Parameters
----------
tp:
    Object to check, typically a class object.

Returns
-------
bool
    `True` if ``tp`` is a class whose metaclass is `msgspec.StructMeta`
    (or a subclass of it), and `False` otherwise. Static type checkers
    treat a successful ``is_struct_type(tp)`` check as narrowing
    ``tp`` to `type[msgspec.Struct]` within the true branch.
)r   r   )tps    r
   is_struct_typer      s      b*%%r   N)r	   objectreturnbool)r   r   r   r   )
__future__r    r   r   r    r   r
   <module>r      s    " -(&r   