"""Hassfest utils.""" from __future__ import annotations from typing import Any def _dict_to_str(data: dict) -> str: """Return a string representation of a dict.""" items = [f"'{key}':{to_string(value)}" for key, value in data.items()] result = "{" for item in items: result += str(item) result += "," result += "}" return result def _list_to_str(data: dict) -> str: """Return a string representation of a list.""" items = [to_string(value) for value in data] result = "[" for item in items: result += str(item) result += "," result += "]" return result def to_string(data: Any) -> str: """Return a string representation of the input.""" if isinstance(data, dict): return _dict_to_str(data) if isinstance(data, list): return _list_to_str(data) if isinstance(data, str): return "'" + data + "'" return data