Skip to content

Commit 99348cb

Browse files
committed
refactor: infer uuid
1 parent 1544de6 commit 99348cb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/serializers/infer.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ use pyo3::types::{
77
PyByteArray, PyBytes, PyDate, PyDateTime, PyDelta, PyDict, PyFrozenSet, PyIterator, PyList, PySet, PyString,
88
PyTime, PyTuple,
99
};
10-
1110
use serde::ser::{Error, Serialize, SerializeMap, SerializeSeq, Serializer};
1211

1312
use crate::input::Int;
@@ -587,6 +586,11 @@ pub(crate) fn infer_json_key_known<'py>(ob_type: &ObType, key: &'py PyAny, extra
587586
let iso_time = super::type_serializers::datetime_etc::time_to_string(py_time)?;
588587
Ok(Cow::Owned(iso_time))
589588
}
589+
ObType::Uuid => {
590+
let py_uuid: &PyAny = key.downcast()?;
591+
let uuid = super::type_serializers::uuid::uuid_to_string(py_uuid)?;
592+
Ok(Cow::Owned(uuid))
593+
}
590594
ObType::Timedelta => {
591595
let py_timedelta: &PyDelta = key.downcast()?;
592596
extra.config.timedelta_mode.json_key(py_timedelta)
@@ -619,7 +623,7 @@ pub(crate) fn infer_json_key_known<'py>(ob_type: &ObType, key: &'py PyAny, extra
619623
let k = key.getattr(intern!(key.py(), "value"))?;
620624
infer_json_key(k, extra)
621625
}
622-
ObType::Path | ObType::Uuid => Ok(key.str()?.to_string_lossy()),
626+
ObType::Path => Ok(key.str()?.to_string_lossy()),
623627
ObType::Unknown => {
624628
if let Some(fallback) = extra.fallback {
625629
let next_key = fallback.call1((key,))?;

0 commit comments

Comments
 (0)