Add new module bfxapi._utils.json_decoder.

This commit is contained in:
Davide Casale
2023-10-08 21:49:36 +02:00
parent 9872adf60f
commit de0ee54900
6 changed files with 107 additions and 101 deletions

View File

@@ -0,0 +1,13 @@
from typing import Dict, Any
import re, json
def _to_snake_case(string: str) -> str:
return re.sub(r"(?<!^)(?=[A-Z])", "_", string).lower()
def _object_hook(data: Dict[str, Any]) -> Any:
return { _to_snake_case(key): value for key, value in data.items() }
class JSONDecoder(json.JSONDecoder):
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(object_hook=_object_hook, *args, **kwargs)