o
    ØRWjÆ	  ã                   @  s*   d dl mZ ddlmZmZ ddd	„Zd
S )é    )Úannotationsé   )Úis_dictÚis_listÚaccúdict[object, object]ÚdeltaÚreturnc           	      C  sª  |  ¡ D ]Î\}}|| vr|| |< q| | }|d u r|| |< q|dks&|dkr+|| |< qt|tƒr:t|tƒr:||7 }n”t|ttfƒrMt|ttfƒrM||7 }n�t|ƒr[t|ƒr[t||ƒ}nst|ƒrÎt|ƒrÎtdd„ |D ƒƒrr| 	|¡ q|D ]Y}t|ƒs�t
d|› �ƒ‚z|d }W n ty› } ztd|› �ƒ|‚d }~ww t|tƒs¨t
d|› �ƒ‚z|| }W n ty½   | ||¡ Y qtw t|ƒsÆt
dƒ‚t||ƒ||< qt|| |< q| S )	NÚindexÚtypec                 s  s    � | ]}t |tttfƒV  qd S )N)Ú
isinstanceÚstrÚintÚfloat)Ú.0Úx© r   úk/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/openai/lib/streaming/_deltas.pyÚ	<genexpr>$   s   € z#accumulate_delta.<locals>.<genexpr>z1Unexpected list delta entry is not a dictionary: z2Expected list delta entry to have an `index` key; z>Unexpected, list delta entry `index` value is not an integer; znot handled yet)Úitemsr   r   r   r   r   Úaccumulate_deltar   ÚallÚextendÚ	TypeErrorÚKeyErrorÚRuntimeErrorÚ
IndexErrorÚinsert)	r   r   ÚkeyÚdelta_valueÚ	acc_valueÚdelta_entryr
   ÚexcÚ	acc_entryr   r   r   r      sT   


€ÿ
ÿ
r   N)r   r   r   r   r	   r   )Ú
__future__r   Ú_utilsr   r   r   r   r   r   r   Ú<module>   s    