o
    qo™ið  ã                   @   sR   d Z ddlZddlmZmZ ddlmZ dedejfdd„ZG d	d
„ d
ej	ƒZ
dS )zAA Config that builds a `types.SimpleNamespace` from any argument.é    N)ÚAnyÚIterable)ÚconfigÚkwargsÚreturnc                  K   s   t jdi | ¤ŽS ©N© )ÚtypesÚSimpleNamespace)r   r   r   ú]/home/ubuntu/.local/lib/python3.10/site-packages/fiddle/_src/experimental/namespace_config.pyÚ_kwargs_to_namespace   s   r   c                       s<   e Zd ZdZ‡ fdd„Zedee dej	fdd„ƒZ
‡  ZS )ÚNamespaceConfigzGA Config that builds a `types.SimpleNamespace` accepting all arg names.c                    s   t ƒ jtg|¢R i |¤Ž d S )N)ÚsuperÚ__init__r   )ÚselfÚargsr   ©Ú	__class__r   r   r      s   zNamespaceConfig.__init__ÚvaluesÚmetadatac                 C   s   | di |  |¡¤ŽS r   )Ú	arguments)Úclsr   r   r   r   r   Ú__unflatten__"   s   zNamespaceConfig.__unflatten__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r   r   ÚBuildableTraverserMetadatar   Ú__classcell__r   r   r   r   r      s    þýr   )r   r	   Útypingr   r   Úfiddle._srcr   r
   r   ÚConfigr   r   r   r   r   Ú<module>   s   