瀏覽代碼

add pathlib.Path serializer (#3082)

Thomas Brandého 1 年之前
父節點
當前提交
b8525261b5
共有 1 個文件被更改,包括 14 次插入0 次删除
  1. 14 0
      reflex/utils/serializers.py

+ 14 - 0
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.