From b8525261b5e1bedc9abb0eaa221470f19b407938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Brand=C3=A9ho?= <thomas.brandeho@gmail.com> Date: Sat, 13 Apr 2024 01:27:10 +0200 Subject: [PATCH] add pathlib.Path serializer (#3082) --- reflex/utils/serializers.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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.