aboutsummaryrefslogtreecommitdiff
path: root/lib/jid.ml
diff options
context:
space:
mode:
authorClombrong <cromblong@egregore.fun>2025-06-30 20:04:44 +0200
committerClombrong <cromblong@egregore.fun>2025-07-26 21:55:11 +0200
commit6157a418a779bbb8c862332e6cae3f03d45a7665 (patch)
tree0fa13c8897825e20ec7925f9009ef19440e3c122 /lib/jid.ml
parent3b99539fad3f6f12f0ff55751701140c063395e4 (diff)
feat(jid): add to_string function
Diffstat (limited to 'lib/jid.ml')
-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