
    OJni                     d    d dl Z d dlmZmZ d dlZ ej
                  e       G d de             Zy)    N)ABCMetaabstractmethodc                   b    e Zd ZdZd Zd Zd Zed        Zed        Z	ed        Z
ed        Zy	)
AbstractRuntimeContextz8
    Abstract base class for runtime context class.
    c                 d    | j                         st        j                  | j                  |      S )zExecute source by JavaScript runtime and return all output to stdout as a string.

        source -- JavaScript code to execute.
        )is_availableexecjsRuntimeUnavailableError_exec_selfsources     Q/home/uftp/myenv/lib/python3.12/site-packages/execjs/_abstract_runtime_context.pyexec_zAbstractRuntimeContext.exec_   s+    
   "000{{6""    c                 d    | j                         st        j                  | j                  |      S )z_Evaluate source in JavaScript runtime.

        source -- JavaScript code to evaluate.
        )r   r	   r
   _evalr   s     r   evalzAbstractRuntimeContext.eval   s+    
   "000zz&!!r   c                 h    | j                         st        j                   | j                  |g| S )zCall a JavaScript function in context.

        name -- Name of funtion object to call
        args -- Arguments for the funtion object
        )r   r	   r
   _callr   nameargss      r   callzAbstractRuntimeContext.call   s2       "000tzz$&&&r   c                     t         NNotImplementedError)r   s    r   r   z#AbstractRuntimeContext.is_available'       !!r   c                     t         r   r   r   s     r   r   zAbstractRuntimeContext._exec_+   r   r   c                     t         r   r   r   s     r   r   zAbstractRuntimeContext._eval/   r   r   c                     t         r   r   r   s      r   r   zAbstractRuntimeContext._call3   r   r   N)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r    r   r   r   r      sf    #"' " " " " " " " "r   r   )r	   abcr   r   sixadd_metaclassobjectr   r'   r   r   <module>r,      s6     ' 
 7."V ." ."r   