aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/jid.ml5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/jid.ml b/lib/jid.ml
index 33c9a9d..f38b192 100644
--- a/lib/jid.ml
+++ b/lib/jid.ml
@@ -42,3 +42,8 @@ let of_string (jid : string) : t =
resourcepart = Option.map (fun i -> String.sub jid (i+1) (len-i-1)) r;
domainpart = String.sub jid lv (rv-lv);
}
+
+let to_string ({ localpart; domainpart; resourcepart } : t) =
+ let local = Option.fold ~none:"" ~some:(fun l -> l ^ "@") localpart
+ and resource = Option.fold ~none:"" ~some:(fun r -> "/" ^ r) resourcepart
+ in local ^ domainpart ^ resource