o
    6d>                     @   s  d dl mZmZmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZm Z m!Z! ede	deded	ed
ededededededediZ"dZ#d$e#Z%dZ&G dd deZ'dd Z(dd Z)dS )    )absolute_importdivisionprint_functionunicode_literals)contextmanager)BooleanBytesDataTypeFloat32Float64Int32Int64ListString	TimestampUInt32UInt64Voidis_list_typeis_timestamp_typeis_union_typeis_user_defined_typeunwrap_nullable)CodeBackend)	fmt_classfmt_funcfmt_objfmt_typefmt_varZBoolSerializerZNSDataSerializerZFloatSerializerZDoubleSerializerZInt32SerializerZInt64SerializerZArraySerializerZStringSerializerZNSDateSerializerZUInt32SerializerZUInt64SerializerZVoidSerializerzs///
/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
///
/// Auto-generated by Stone, do not modify.
///

z{}import Foundation

z(no description)c                   @   sH   e Zd ZdZedddZdddZeddd	Zdd
dZdd Z	dS )SwiftBaseBackendz3Wrapper class over Stone generator for Swift logic.Nc                 c   sV    d ||}|r|d |7 }| | d V  W d    d S 1 s$w   Y  d S )Nz{}({})z -> {})formatblock)selffuncargsreturn_type	signature r'   kC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\stone/backends/swift.pyfunction_blockK   s   "zSwiftBaseBackend.function_blockFc           
      C   s   g }d}|D ]1\}}|r|rd|vrd |}|r(|d ur(|r(|d | n|d ur5|d || d}qd}	|rD|	d|   7 }	|	|S )	NT=z{0} {0}z{}z{}: {}F, 
)r    appendZmake_indentjoin)
r"   Z	args_listnewlinesZforce_firstZnot_initoutfirstkvsepr'   r'   r(   
_func_argsS   s   

zSwiftBaseBackend._func_argsc                 c   s    |pg }g }t |trt|j}|jr|t|j n|}|| |r.dd	|nd}| 
d|| d V  W d    d S 1 sHw   Y  d S )Nz: {}r+    zopen class {}{})
isinstancer	   r   nameZparent_typer-   r   extendr    r.   r!   )r"   thing	protocols
extensionsr8   Zextend_suffixr'   r'   r(   class_blockh   s   


"zSwiftBaseBackend.class_blockc           
      C   s   g }|j D ]@}t|j}t|j}t|j\}}|jr6t|r)dt|j	j
}nt|j	}|d|7 }n|r<|d7 }||f}	||	 q|S )Nz.{}z = {}z = nil)Z
all_fieldsr   r8   r   	data_typer   Zhas_defaultr   r    defaultZtag_namer   r-   )
r"   r>   	namespacer$   fieldr8   valuenullabler?   argr'   r'   r(   _struct_init_argsz   s   



z"SwiftBaseBackend._struct_init_argsc                 C   s   |dkrd|v r| dd\}}t|}nd}t||S |dkr9d|v r5| d\}}dt|t|S t|S |dv r?|S |S )NZroute:   rA   .z{} in {})typevallink)splitintr   r    r   r   )r"   tagrJ   versionclsrA   r'   r'   r(   _docf   s    


zSwiftBaseBackend._docf)N)FFF)
__name__
__module____qualname____doc__r   r)   r5   r=   rE   rQ   r'   r'   r'   r(   r   G   s    

r   c                 C   sp   t | \} }t| rd}|t| jjt| j}nt| jt| j}t	| r2|dt
| j }|s6|S dS )Nz{}.{}Serializerz<{}>ZNullableSerializer)r   r   r    r   r@   r8   _serial_type_tableget	__class__r   fmt_serial_typer>   r>   rC   resultr'   r'   r(   rY      s   rY   c                 C   s   t | \} }t| rd}|t| jjt| j}n+t| jt| j}t	| r3|dt
| j }nt| r@|d| j }nd|}|sI|S d|S )Nz{}.{}Serializer()z({})z("{}")zSerialization._{}zNullableSerializer({}))r   r   r    r   r@   r8   rV   rW   rX   r   fmt_serial_objr>   r   rZ   r'   r'   r(   r\      s   
r\   N)*
__future__r   r   r   r   
contextlibr   Zstone.irr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zstone.backendr   Zstone.backends.swift_helpersr   r   r   r   r   rV   Zstone_warningr    baseZundocumentedr   rY   r\   r'   r'   r'   r(   <module>   s4    P

Z