Source code for xonsh.jsonutils
"""Custom tools for managing JSON serialization / deserialization of xonsh
objects.
"""
import functools
from xonsh.tools import EnvPath
[docs]
@functools.singledispatch
def serialize_xonsh_json(val):
    """JSON serializer for xonsh custom data structures. This is only
    called when another normal JSON types are not found.
    """
    return str(val)
@serialize_xonsh_json.register(EnvPath)
def _serialize_xonsh_json_env_path(val):
    return val.paths