eL i( bdZddlZddlmZgdZdZdZdZdZefd Z d Z Gd d e Z y) z' Support serializing objects into JSON N) PydeckType) mapbox_keygoogle_maps_key deck_widgetbinary_data_sets _binary_data_tooltip_kwargscd}d}t|D].\}}|dk(r|dk7rd}|r||jzn||z}d}0|S)a.Makes a snake case string into a camel case one Parameters ----------- snake_case : str Snake-cased string (e.g., "snake_cased") to be converted to camel-case (e.g., "camelCase") Returns ------- str Camel-cased (e.g., "camelCased") version of input string F_rT) enumerateupper) snake_case output_strshould_upper_caseics `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pydeck/bindings/json_tools.py to_camel_casersdJ*%"1 8Q $  /@Z!'')+jSTn ! " c<|r|ddj|ddzSdS)Nr )lower)ss rlower_first_letterr,s&$%1Ra5;;=1QR5 -2-rc*tt|S)N)rr)ws rcamel_and_lowerr0s mA. //rct|jD].}d|vr|dk(rd}n t|}|j|||<0y)zMakes all the keys in a dictionary camel-cased and lower-case Parameters ---------- attrs : dict Dictionary for which all the keys should be converted to camel-case r _datadataN)listkeysrpop)attrs snake_key camel_keys rlower_camel_case_keysr)4sS%**,'0 i    I' 2I 99Y/i0rctt|tr t|St |}|j Dcic] \}}| || }}}t D]}|j|s||=|r|||Scc}}w)z3Default method for rendering JSON from a dictionary) issubclasstyperreprvarsitems IGNORE_KEYSget)oremap_functionr&kv ignore_attrs rdefault_serializer7Fs$q':&Aw GE#kkm =daq}QT =E ="# 99[ !k"#u L >s  BBc<tj|dtdS)z,Takes a serializable object and JSONifies itT) sort_keysdefaultindent)jsondumpsr7) serializables r serializer@Ts ::ldrQsI ( 0.00$)> Y  r