o
    篪g_	                     @  s^   d dl mZ d dlmZ d dlmZ d dlmZ er&d dlmZ d dlm	Z	 G dd dZ
d	S )
    )annotations)TYPE_CHECKING)Callable)Sequence)Self)SparkLikeExprc                   @  s\   e Zd ZdddZd d	d
Zd!ddZd"ddZd#ddZd ddZd ddZ	d$ddZ
dS )%SparkLikeExprNameNamespaceselfr   exprr   returnNonec                 C  s
   || _ d S )N)_compliant_expr)r	   r
    r   Z/var/www/html/chatdoc2/venv/lib/python3.10/site-packages/narwhals/_spark_like/expr_name.py__init__   s   
z#SparkLikeExprNameNamespace.__init__c                 C  s   | j d dS )Nalias_output_names_from_alias_output_namesr	   r   r   r   keep   s   zSparkLikeExprNameNamespace.keepfunctionCallable[[str], str]c                      | j  fdddS )Nc                       fdd| D S )Nc                   s   g | ]} |qS r   r   .0namer   r   r   
<listcomp>       zDSparkLikeExprNameNamespace.map.<locals>.<lambda>.<locals>.<listcomp>r   output_namesr   r   r   <lambda>      
 z0SparkLikeExprNameNamespace.map.<locals>.<lambda>r   r   )r	   r   r   r   r   map      
zSparkLikeExprNameNamespace.mapprefixstrc                   r   )Nc                   r   )Nc                   s   g | ]}  | qS r   r   r   output_namer'   r   r   r          zGSparkLikeExprNameNamespace.prefix.<locals>.<lambda>.<locals>.<listcomp>r   r!   r+   r   r   r#      r$   z3SparkLikeExprNameNamespace.prefix.<locals>.<lambda>r   r   )r	   r'   r   r+   r   r'      r&   z!SparkLikeExprNameNamespace.prefixsuffixc                   r   )Nc                   r   )Nc                   s   g | ]}|   qS r   r   r)   r-   r   r   r   $   r,   zGSparkLikeExprNameNamespace.suffix.<locals>.<lambda>.<locals>.<listcomp>r   r!   r.   r   r   r#   $   r$   z3SparkLikeExprNameNamespace.suffix.<locals>.<lambda>r   r   )r	   r-   r   r.   r   r-   "   r&   z!SparkLikeExprNameNamespace.suffixc                 C     | j dd dS )Nc                 S     dd | D S )Nc                 S     g | ]}|  qS r   )lowerr   r   r   r   r   +   r    zMSparkLikeExprNameNamespace.to_lowercase.<locals>.<lambda>.<locals>.<listcomp>r   r!   r   r   r   r#   +       z9SparkLikeExprNameNamespace.to_lowercase.<locals>.<lambda>r   r   r   r   r   r   to_lowercase)      z'SparkLikeExprNameNamespace.to_lowercasec                 C  r/   )Nc                 S  r0   )Nc                 S  r1   r   )upperr   r   r   r   r   2   r    zMSparkLikeExprNameNamespace.to_uppercase.<locals>.<lambda>.<locals>.<listcomp>r   r!   r   r   r   r#   2   r3   z9SparkLikeExprNameNamespace.to_uppercase.<locals>.<lambda>r   r   r   r   r   r   to_uppercase0   r5   z'SparkLikeExprNameNamespace.to_uppercaser   /Callable[[Sequence[str]], Sequence[str]] | Nonec              
   C  s8   | j j| j j| j j| j j|| j j| j j| j j| j jdS )N)function_nameevaluate_output_namesr   	expr_kindbackend_versionversionimplementation)	r   	__class___call_function_name_evaluate_output_names
_expr_kind_backend_version_version_implementation)r	   r   r   r   r   r   7   s   z3SparkLikeExprNameNamespace._from_alias_output_namesN)r	   r   r
   r   r   r   )r	   r   r   r   )r	   r   r   r   r   r   )r	   r   r'   r(   r   r   )r	   r   r-   r(   r   r   )r	   r   r   r8   r   r   )__name__
__module____qualname__r   r   r%   r'   r-   r4   r7   r   r   r   r   r   r      s    






r   N)
__future__r   typingr   r   r   typing_extensionsr   narwhals._spark_like.exprr   r   r   r   r   r   <module>   s    