
    x
h                        d dl mZmZmZmZ dZer
d dlZd dlmZ d dl	Z	 e	j                   ed            Zd dlmZ d dlmZmZmZmZmZmZ d dlmZ ej/                  d	
      Zej3                  dd       ej3                  dded       ej3                  dedd       ej3                  dedd       dZ G d de      Zy)    )absolute_importdivisionprint_functionunicode_literalsFN)ApiNamespaceargparse)CodeBackend)check_route_name_conflictfmt_error_typefmt_funcfmt_objfmt_typefmt_url)Voidzjs-client-backend)progfilenamez[The name to give the single Javascript file that is created and contains all of the routes.)helpz-cz--class-namezThe name of the class the generated functions will be attached to. The name will be added to each function documentation, which makes it available for tools like JSDoc.)typer   z--wrap-response-in z&Wraps the response in a response class)r   defaultr   z--wrap-error-inz!Wraps the error in an error classz<// Auto-generated by Stone, do not modify.
var routes = {};
c                   .    e Zd ZdZeZdZdZd Zd Z	d Z
y)JavascriptClientBackendzBGenerates a single Javascript file with all of the routes defined.NTc                    | j                  | j                  j                        5  | j                  t               |j
                  j                         D ]B  }|| _        t        |       |j                  D ]  }| j                  |j                  ||       ! D | j                          | j                  d       d d d        y # 1 sw Y   y xY w)Nzexport { routes };)output_to_relative_pathargsr   emit_raw_header
namespacesvaluescur_namespacer
   routes_generate_routeroute_schemaemit)selfapi	namespaceroutes       ]/var/www/html/lionshead-backend/venv/lib/python3.12/site-packages/stone/backends/js_client.pygeneratez JavascriptClientBackend.generateG   s    ))$))*<*<=MM'" ^^224	%."))4&--E(()9)99eL . 5 IIKII*+ >==s   BCCc           	      \   t        |j                  dz   |j                  z   |j                        }| j                          | j                  d       |j                  r7| j                  | j                  |j                  | j                        d       | j                  j                  r5| j                  dj                  | j                  j                  |             |j                  r| j                  d       d }| j                  j                  r0| j                  j                  dt        |j                        d}nt        |j                        }|j                  j                   t"        k7  r'| j                  d	t        |j                        z         | j                  d
|dt%        |j&                  | j                  j(                        d       | j                  d       |j                  j                   t"        k7  r| j                  d|z         n| j                  d|z         | j+                  d      5  t-        |j                  |j                  |j                        }|j.                  rg }|j.                  D ]3  }|j1                  t3        |j4                  |j                                  5 |j                  j                   t"        k7  r1| j                  dj                  |dj7                  |                   nw| j                  dj                  |dj7                  |                   nF|j                  j                   t"        k7  r| j                  d|z         n| j                  d|z         d d d        | j                  d       y # 1 sw Y   xY w)N_z/**z * )prefixz * @function {}#{}z * @deprecated<>z* * @arg {%s} arg - The request parameters.z * @returns {Promise.<z, z>}z */zroutes.%s = function (arg) {zroutes.%s = function () {   )dentz#return this.request('{}', arg, {});z$return this.request('{}', null, {});zreturn this.request("%s", arg);z return this.request("%s", null);z};)r   nameversionr$   docemit_wrapped_textprocess_doc_docfr   
class_nameformat
deprecatedwrap_response_inr   result_data_typearg_data_type	__class__r   r   error_data_typewrap_error_inindentr   fieldsappendr   attrsjoin)	r%   r#   r'   r(   function_namereturn_typeurladditional_argsfields	            r)   r"   z'JavascriptClientBackend._generate_routeU   s    #!5

!BEMMR				%99""4#3#3EIItzz#JSX"Y99II*11$))2F2F2?A BII&'99%%&*ii&@&@//02K #5#9#9:K((D0IIBU0012 3		 5 5tyy7N7NOQ 	R 			%((D0II4FGII1]CD[[a[ )..%**emmDC"""$)00E#**75;;uzz3J+KL 1&&00D8II=DD?!;=> II>EE?!;=> &&00D8II9C?A II:S@B' !* 			$+ ! s   EN""N+c                     |dk(  rmd|v r!|j                  dd      \  }}t        |      }nd}t        | j                  j                  ||      }|t        | j                  j                        dz   d S |S )z
        Callback used as the handler argument to process_docs(). This converts
        Stone doc references to JSDoc-friendly annotations.
        r(   :   N)splitintr   r    r2   len)r%   tagvalr3   rH   s        r)   r7   zJavascriptClientBackend._docf   sy     '>cz"yya0Wg,$,,113@C D..334q8:;;
    )__name__
__module____qualname____doc___cmdline_parsercmdline_parserr    preserve_aliasesr*   r"   r7    rS   r)   r   r   =   s'    L$N M,4lrS   r   )
__future__r   r   r   r   _MYPYtypingstone.irr   	importlibimport_modulestrr   stone.backendr	   stone.backends.js_helpersr
   r   r   r   r   r   r   ArgumentParserrX   add_argumentr   r   r[   rS   r)   <module>rg      s    R R% "9""3z?3 %  ))/B)C   (  
   	/	     	
2	     	
-	  `k `rS   