python-kasa/kasa/json.py

24 lines
547 B
Python
Raw Normal View History

"""JSON abstraction."""
2024-11-10 18:55:13 +00:00
from __future__ import annotations
from typing import Any, Callable
try:
import orjson
2024-11-10 18:55:13 +00:00
def dumps(obj: Any, *, default: Callable | None = None) -> str:
"""Dump JSON."""
return orjson.dumps(obj).decode()
loads = orjson.loads
except ImportError:
import json
2024-11-10 18:55:13 +00:00
def dumps(obj: Any, *, default: Callable | None = None) -> str:
"""Dump JSON."""
# Separators specified for consistency with orjson
return json.dumps(obj, separators=(",", ":"))
loads = json.loads