Xj |ddlZddlZddlZddlmZmZmZGddZGddeZdee e eefde d e fd Z y) N)OptionalAnyUnionceZdZdZej dZdZ ddddddddee dee dee d ee d ee d ee d dfd Z d e fdZy)ServerSentEventzC Helper class to format data for Server-Sent Events (SSE). z \r\n|\r|\nz N)eventidretrycommentsepdatarr r r r returnc||_||_||_||_||_|||_y|j |_yN)r rr r r DEFAULT_SEPARATOR_sep)selfr rr r r r s g/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/sse_starlette/event.py__init__zServerSentEvent.__init__s>    ?C 0F0F ctj}|jS|jj t |jD]"}|j d||j$|jE|j d|jjd|jz|jz|jE|j d|jjd|jz|jz|jS|jj t |jD]"}|j d||j$|jOt|jts td|j d|j|j|j |j|j!j#dS) Nz: zid: zevent: zdata: zretry argument must be intzretry: zutf-8)ioStringIOr _LINE_SEP_EXPRsplitstrwriterr subrr r isinstanceint TypeErrorgetvalueencode)rbufferchunks rr$zServerSentEvent.encode s << #,,223t||3DE 6 r% 45 6 77  LL$"5"5"9"9"dgg"FFR S :: ! LLD//33B CCdiiO  99 ,,223tyy>B : veWTYYK89 : :: !djj#. <== LL74::,tyyk: ; TYY ''00rr)__name__ __module__ __qualname____doc__recompilerrrrrr!rbytesr$rrrrs RZZ .N#G $ #!%!GsmG} G SM G } G#Gc]G G"11rrc6eZdZdZ ddeeddffd ZxZS)JSONServerSentEventzH Helper class to format JSON data for Server-Sent Events (SSE). Nr rc dt||tj|ddddndg|i|y)NF),:) ensure_ascii allow_nanindent separators)superrjsondumps)rr argskwargs __class__s rrzJSONServerSentEvent.__init__CsP  JJ"%     rr)r'r(r)r*rrr __classcell__)r=s@rr0r0>s- # sm    rr0r r rc(t|ttfr t|St|tr|j St|t r||d<tdi|j Stt ||j S)Nr )r r.)r r- memoryviewrr$dictr)r r s r ensure_bytesrBXsu$ +,T{$({{}$U &&--// 3t9# . 5 5 77r) rr+r9typingrrrrr0r-rArrBr.rrrDsS ''4141n / 48uUD/3>?8c8e8r