diff --git a/reflex/utils/serializers.py b/reflex/utils/serializers.py index 007b9f549..a9312957a 100644 --- a/reflex/utils/serializers.py +++ b/reflex/utils/serializers.py @@ -7,6 +7,7 @@ import types as builtin_types import warnings from datetime import date, datetime, time, timedelta from enum import Enum +from pathlib import Path from typing import Any, Callable, Dict, List, Set, Tuple, Type, Union, get_type_hints from reflex.base import Base @@ -233,6 +234,19 @@ def serialize_datetime(dt: Union[date, datetime, time, timedelta]) -> str: return str(dt) +@serializer +def serialize_path(path: Path): + """Serialize a pathlib.Path to a JSON string. + + Args: + path: The path to serialize. + + Returns: + The serialized path. + """ + return str(path.as_posix()) + + @serializer def serialize_enum(en: Enum) -> str: """Serialize a enum to a JSON string.