diff options
Diffstat (limited to 'lib/jid.ml')
-rw-r--r-- | lib/jid.ml | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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 |