aboutsummaryrefslogtreecommitdiffstats
path: root/src/document_tree/serde_util.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/document_tree/serde_util.rs')
-rw-r--r--src/document_tree/serde_util.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/document_tree/serde_util.rs b/src/document_tree/serde_util.rs
new file mode 100644
index 0000000..2e24309
--- /dev/null
+++ b/src/document_tree/serde_util.rs
@@ -0,0 +1,12 @@
+use url::Url;
+
+pub fn serialize_url<S>(url: &Url, serializer: S) -> Result<S::Ok, S::Error> where S: serde::ser::Serializer {
+ serializer.serialize_str(url.as_str())
+}
+
+pub fn serialize_opt_url<S>(url_opt: &Option<Url>, serializer: S) -> Result<S::Ok, S::Error> where S: serde::ser::Serializer {
+ match url_opt {
+ Some(ref url) => serializer.serialize_some(url.as_str()),
+ None => serializer.serialize_none(),
+ }
+}