
    -e
                        U d Z ddlmZ ddlZ ej        e          ZddlmZm	Z	m
Z
 ddlmZmZmZmZmZ erddlmZ dZ G d d	          Z e            Z ed
          Zeeef         Zded<   ddZddZdS )z9 Provides helper function for dealing with dataclasses.

    )annotationsN)	dataclassfieldfields)TYPE_CHECKINGAnyIterableTypeVarUnion)	TypeAlias)NotRequiredUnspecifiedr   entriesr   r   is_dataclassc                      e Zd ZddZdS )_UnspecifiedTypereturnstrc                    dS )Nr    )selfs    6lib/python3.11/site-packages/bokeh/util/dataclasses.py__repr__z_UnspecifiedType.__repr__;   s    }    N)r   r   )__name__
__module____qualname__r   r   r   r   r   r   :   s(             r   r   _Tr   r   objr   r   Iterable[tuple[str, Any]]c              #     K   t          |           r=t          |           D ]+}t          | |j                  }|t          ur|j        |fV  ,dS t          dt          |                      )z4 Iterate over a dataclass' fields and their values. zexpected a dataclass, got N)r   r   getattrnamer   	TypeErrortype)r   fvalues      r   r   r   C   s      C B 	& 	&AC((EK''vuo%%%	& 	&
 @T#YY@@AAAr   boolc                <    t          t          |           d          S )N__dataclass_fields__)hasattrr%   )r   s    r   r   r   M   s    4994555r   )r   r   r   r    )r   r   r   r(   )__doc__
__future__r   logging	getLoggerr   logdataclassesr   r   r   typingr   r   r	   r
   r   typing_extensionsr   __all__r   r   r   r   __annotations__r   r   r   r   r   <module>r6      sc     # " " " " " g!! 1 0 0 0 0 0 0 0 0 0               ,++++++$          WT]]/34 4 4 4 4B B B B6 6 6 6 6 6r   