o
    d
                     @   s\   d dl Z d dlZd dlZddlmZmZmZmZ ddlm	Z	 dd Z
ddd	ZdddZdS )    N   )generate_class_filegenerate_importsgenerate_classes_filesgenerate_class)ComponentRegistryc                 C   sN   t | dd}| }tjtjd|}W d    |S 1 s w   Y  |S )Nzutf-8)encoding)object_pairs_hook)openreadjsonJSONDecodercollectionsOrderedDictdecode)metadata_path	data_filejson_stringdata r   f/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/dash/development/component_loader.py_get_metadata   s   
r   default_namespacec                 C   sh   t j| g }t| }|D ]#}|| }|d dd }t||d |d |d}|| q|S )a  Load React component metadata into a format Dash can parse.

    Usage: load_components('../../component-suites/lib/metadata.json')

    Keyword arguments:
    metadata_path -- a path to a JSON file created by
    [`react-docgen`](https://github.com/reactjs/react-docgen).

    Returns:
    components -- a list of component objects with keys
    `type`, `valid_kwargs`, and `setup`.
    /.r   propsdescriptionN)r   registryaddr   splitpopr   append)r   	namespace
componentsr   componentPathcomponentDataname	componentr   r   r   load_components   s   r(   lib/metadata.jsonc                 C   sF   t |}tj| d}tj|rt| t| |t}t| | dS )ag  Load React component metadata into a format Dash can parse, then create
    Python class files.

    Usage: generate_classes()

    Keyword arguments:
    namespace -- name of the generated Python package (also output dir)

    metadata_path -- a path to a JSON file created by
    [`react-docgen`](https://github.com/reactjs/react-docgen).

    Returns:
    z_imports_.pyN)	r   ospathjoinexistsremover   r   r   )r"   r   r   imports_pathr#   r   r   r   generate_classes?   s   
r0   )r   )r)   )r   r   r*   _py_components_generationr   r   r   r   base_componentr   r   r(   r0   r   r   r   r   <module>   s    

'