
    /_i                       U d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ erJddlZddlmZmZ dd	lmZ ej$                  d
k\  rddlmZ nddlmZ ej$                  dk\  rddlmZ nddlmZ g dZeeee	f      Zded<    G d deeee	f            ZddZ ed      Z ed      Z ed      Z ed      Z  ed      Z! ed      Z" ed      Z# ed      Z$y) z;Set-like guards for matching metadata to an implementation.    )annotations)Set)chain)TYPE_CHECKINGAny)v1N)IterableIterator)Metadata)      )Unpack)r   
   )	TypeAlias)ItemsMetaIsis_arrowis_csvis_jsonis_metais_not_tabular
is_parquet
is_spatialis_topois_tsvr   r   c                       e Zd ZU ded<   ddZedd       ZddZddZd fdZ	ddZ
dd	Zdd
ZddZddZddZddZddZ xZS )r   frozenset[tuple[str, Any]]	_requiresc               2    t         j                  | d|       y )Nr   )object__setattr__)selfkwdss     [/var/www/html/land_sniper/venv/lib/python3.12/site-packages/altair/datasets/_constraints.py__init__zMetaIs.__init__.   s    4d3    c               @     | t        |j                                     S N)	frozensetitems)clsmetas     r$   from_metadatazMetaIs.from_metadata1   s    9TZZ\*++r&   c                N    t         rdd} |di t        |       S t        |       S )Nc                     | S r(    r#   s    r$   collectz#MetaIs.to_metadata.<locals>.collect8   s    r&   )r#   Unpack[Metadata]returnr   r0   )r   dict)r"   r2   s     r$   to_metadatazMetaIs.to_metadata5   s(     (T$Z((Dzr&   c                ^    | sd| }t        |      t        j                  d | D              S )z.Convert constraint into a narwhals expression.z2Unable to convert an empty set to an expression:

c              3  R   K   | ]  \  }}t        j                  |      |k(   ! y wr(   )nwcol).0namevals      r$   	<genexpr>z!MetaIs.to_expr.<locals>.<genexpr>C   s!      Ks!4 Ks   %')	TypeErrorr9   all_horizontal)r"   msgs     r$   to_exprzMetaIs.to_expr>   s2    HQCC.    Kd KKKr&   c                "    t         |   |      S r(   )super
isdisjoint)r"   other	__class__s     r$   rE   zMetaIs.isdisjointE   s    w!%((r&   c                8    | j                   j                  |      S r(   )r   issubset)r"   rF   s     r$   rI   zMetaIs.issubsetH   s    ~~&&u--r&   c                    | j                   |k  S r(   r   )r"   r,   s     r$   __call__zMetaIs.__call__K   s    ~~%%r&   c                ,    t        | j                        S r(   )hashr   r"   s    r$   __hash__zMetaIs.__hash__N   s    DNN##r&   c                8    | j                   j                  |      S r(   )r   __contains__)r"   xs     r$   rR   zMetaIs.__contains__Q   s    ~~**1--r&   c              #  8   K   | j                   E d {    y 7 wr(   rK   rO   s    r$   __iter__zMetaIs.__iter__T   s     >>!!s   c                6    | j                   j                         S r(   )r   __len__rO   s    r$   rW   zMetaIs.__len__W   s    ~~%%''r&   c                R    t        |       j                  d| d| }t        |      )Nz% is immutable.
Could not assign self.z = )type__name__r?   )r"   r<   valuerA   s       r$   r!   zMetaIs.__setattr__Z   s8    Dz""% &%%)F#eW6 	 nr&   c                   t        |       }|sd}np|j                  dd       x}r6dj                  t        d| dgd |j	                         D                    }n&dj                  d |j	                         D              }d| d	S )
Nz<placeholder>suffixz, z'*'c              3  0   K   | ]  \  }}| d |  yw=Nr0   r;   kvs      r$   r>   z"MetaIs.__repr__.<locals>.<genexpr>g   s     (P$!QA3au(P   c              3  0   K   | ]  \  }}| d |  ywr`   r0   rb   s      r$   r>   z"MetaIs.__repr__.<locals>.<genexpr>j   s      H$!QA3au Hre   zis_meta())r5   popjoinr   r*   )r"   r*   contentsr]   s       r$   __repr__zMetaIs.__repr__a   s    T
&Hyy400V0yyF81~&(P%++-(PQH yy H%++- HHH(1%%r&   )r#   r   r4   None)r,   r   r4   r   )r4   r   )r4   znw.Expr)rF   zIterable[Any]r4   bool)r,   r   r4   rm   )r4   int)rS   r    r4   rm   )r4   zIterator[tuple[str, Any]])r<   strr[   r   )r4   ro   )rZ   
__module____qualname____annotations__r%   classmethodr-   r6   rB   rE   rI   rL   rP   rR   rU   rW   r!   rk   __classcell__)rG   s   @r$   r   r   +   sZ    ))4 , ,L).&$."(
&r&   r   c                 ,    t         j                  |       S r(   )r   r-   r1   s    r$   r   r   n   s    %%r&   z.csv)r]   z.jsonz.tsvz.arrowz.parquetT)r   )r   F)
is_tabular)r#   r3   r4   r   )%__doc__
__future__r   collections.abcr   	itertoolsr   typingr   r   narwhals.stabler   r9   sysr	   r
   altair.datasets._typingr   version_infor   typing_extensionsr   __all__tuplero   r   rr   r   r   r   r   r   r   r   r   r   r   r0   r&   r$   <module>r      s    A "   % $20
7"!,
7"$/ uS#X'y '@&SsCx! @&F& 
	

!		(#J'
%

$
E*r&   