fallow_types/
serde_path.rs1use std::path::{Path, PathBuf};
6
7use serde::Serializer;
8
9pub fn serialize<S: Serializer>(path: &Path, s: S) -> Result<S::Ok, S::Error> {
11 s.serialize_str(&path.to_string_lossy().replace('\\', "/"))
12}
13
14pub fn serialize_vec<S: Serializer>(paths: &[PathBuf], s: S) -> Result<S::Ok, S::Error> {
16 use serde::ser::SerializeSeq;
17 let mut seq = s.serialize_seq(Some(paths.len()))?;
18 for p in paths {
19 seq.serialize_element(&p.to_string_lossy().replace('\\', "/"))?;
20 }
21 seq.end()
22}