o
    $&]iþ  ã                   @  sd   d dl mZ d dlmZmZmZ d dlmZmZ er d dl	m
Z
 edddZG dd	„ d	ee ƒZd
S )é    )Úannotations)ÚTYPE_CHECKINGÚGenericÚTypeVar)ÚExprKindÚExprNode)ÚExprÚExprTr   )Úboundc                   @  s    e Zd Zddd„Zdd	d
„ZdS )ÚExprStructNamespaceÚexprr	   ÚreturnÚNonec                 C  s
   || _ d S )N)Ú_expr)Úselfr   © r   úR/var/www/html/IGF-ODF-V3/venv/lib/python3.10/site-packages/narwhals/expr_struct.pyÚ__init__   s   
zExprStructNamespace.__init__ÚnameÚstrc                 C  s   | j  ttjd|d¡S )uæ  Retrieve a Struct field as a new expression.

        Arguments:
            name: Name of the struct field to retrieve.

        Examples:
            >>> import polars as pl
            >>> import narwhals as nw
            >>> df_native = pl.DataFrame(
            ...     {"user": [{"id": "0", "name": "john"}, {"id": "1", "name": "jane"}]}
            ... )
            >>> df = nw.from_native(df_native)
            >>> df.with_columns(name=nw.col("user").struct.field("name"))
            â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
            |  Narwhals DataFrame   |
            |-----------------------|
            |shape: (2, 2)          |
            |â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”¬â”€â”€â”€â”€â”€â”€â”|
            |â”‚ user         â”† name â”‚|
            |â”‚ ---          â”† ---  â”‚|
            |â”‚ struct[2]    â”† str  â”‚|
            |â•žâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•¡|
            |â”‚ {"0","john"} â”† john â”‚|
            |â”‚ {"1","jane"} â”† jane â”‚|
            |â””â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”´â”€â”€â”€â”€â”€â”€â”˜|
            â””â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”˜
        zstruct.field)r   )r   Ú_append_noder   r   ÚELEMENTWISE)r   r   r   r   r   Úfield   s   ÿzExprStructNamespace.fieldN)r   r	   r   r   )r   r   r   r	   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    
r   N)Ú
__future__r   Útypingr   r   r   Únarwhals._expression_parsingr   r   Únarwhals.exprr   r	   r   r   r   r   r   Ú<module>   s    