@@ -63,17 +63,14 @@ fn basic_value_to_py_object<'py>(
6363 value:: BasicValue :: Int64 ( v) => v. into_bound_py_any ( py) ?,
6464 value:: BasicValue :: Float32 ( v) => v. into_bound_py_any ( py) ?,
6565 value:: BasicValue :: Float64 ( v) => v. into_bound_py_any ( py) ?,
66+ value:: BasicValue :: Range ( v) => pythonize ( py, v) . into_py_result ( ) ?,
67+ value:: BasicValue :: Uuid ( v) => v. as_bytes ( ) . into_bound_py_any ( py) ?,
68+ value:: BasicValue :: Json ( v) => pythonize ( py, v) . into_py_result ( ) ?,
6669 value:: BasicValue :: Vector ( v) => v
6770 . iter ( )
6871 . map ( |v| basic_value_to_py_object ( py, v) )
6972 . collect :: < PyResult < Vec < _ > > > ( ) ?
7073 . into_bound_py_any ( py) ?,
71- _ => {
72- return Err ( PyException :: new_err ( format ! (
73- "unsupported value type: {}" ,
74- v. kind( )
75- ) ) )
76- }
7774 } ;
7875 Ok ( result)
7976}
@@ -129,18 +126,19 @@ fn basic_value_from_py_object<'py>(
129126 schema:: BasicValueType :: Int64 => value:: BasicValue :: Int64 ( v. extract :: < i64 > ( ) ?) ,
130127 schema:: BasicValueType :: Float32 => value:: BasicValue :: Float32 ( v. extract :: < f32 > ( ) ?) ,
131128 schema:: BasicValueType :: Float64 => value:: BasicValue :: Float64 ( v. extract :: < f64 > ( ) ?) ,
129+ schema:: BasicValueType :: Range => value:: BasicValue :: Range ( depythonize ( v) ?) ,
130+ schema:: BasicValueType :: Uuid => {
131+ value:: BasicValue :: Uuid ( uuid:: Uuid :: from_bytes ( v. extract :: < uuid:: Bytes > ( ) ?) )
132+ }
133+ schema:: BasicValueType :: Json => {
134+ value:: BasicValue :: Json ( Arc :: from ( depythonize :: < serde_json:: Value > ( v) ?) )
135+ }
132136 schema:: BasicValueType :: Vector ( elem) => value:: BasicValue :: Vector ( Arc :: from (
133137 v. extract :: < Vec < Bound < ' py , PyAny > > > ( ) ?
134138 . into_iter ( )
135139 . map ( |v| basic_value_from_py_object ( & elem. element_type , & v) )
136140 . collect :: < PyResult < Vec < _ > > > ( ) ?,
137141 ) ) ,
138- _ => {
139- return Err ( PyException :: new_err ( format ! (
140- "unsupported value type: {}" ,
141- typ
142- ) ) )
143- }
144142 } ;
145143 Ok ( result)
146144}
0 commit comments