sqlmesh.utils.conversions
1from __future__ import annotations 2 3import typing as t 4from datetime import date, datetime 5 6 7def ensure_bool(val: t.Any) -> bool: 8 if isinstance(val, bool): 9 return val 10 11 if isinstance(val, str): 12 val = try_str_to_bool(val) 13 14 return bool(val) 15 16 17def try_str_to_bool(val: str) -> t.Union[str, bool]: 18 maybe_bool = val.lower() 19 if maybe_bool in ["true", "false"]: 20 return maybe_bool == "true" 21 22 return val 23 24 25def make_serializable(obj: t.Any) -> t.Any: 26 if isinstance(obj, (date, datetime)): 27 return obj.isoformat() 28 if isinstance(obj, dict): 29 return {k: make_serializable(v) for k, v in obj.items()} 30 if isinstance(obj, list): 31 return [make_serializable(item) for item in obj] 32 return obj
def
ensure_bool(val: Any) -> bool:
def
try_str_to_bool(val: str) -> Union[str, bool]:
def
make_serializable(obj: Any) -> Any: