| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-06-24 18:08:11 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-06-24 18:08:23 UTC |
| parent | 55b303113d412ad8afe5e7fc2b128462527f6266 |
| snikket/JID.hx | +6 | -5 |
diff --git a/snikket/JID.hx b/snikket/JID.hx index d859e60..f8850e0 100644 --- a/snikket/JID.hx +++ b/snikket/JID.hx @@ -6,8 +6,8 @@ class JID { public final domain : String; public final resource : Null<String>; - public function new(?node:String, domain:String, ?resource:String) { - this.node = node == null ? null : + public function new(?node:String, domain:String, ?resource:String, ?raw = false) { + this.node = node == null || raw == true ? node : StringTools.replace(StringTools.replace(StringTools.replace( StringTools.replace(StringTools.replace(StringTools.replace( StringTools.replace(StringTools.replace(StringTools.replace( @@ -47,16 +47,17 @@ class JID { return new JID( (nodeDelimiter>0)?jid.substr(0, nodeDelimiter):null, jid.substring((nodeDelimiter == -1)?0:nodeDelimiter+1, (resourceDelimiter == -1)?jid.length+1:resourceDelimiter), - (resourceDelimiter == -1)?null:jid.substring(resourceDelimiter+1) + (resourceDelimiter == -1)?null:jid.substring(resourceDelimiter+1), + true ); } public function asBare():JID { - return new JID(this.node, this.domain); + return new JID(this.node, this.domain, null, true); } public function withResource(resource: String): JID { - return new JID(this.node, this.domain, resource); + return new JID(this.node, this.domain, resource, true); } public function isValid():Bool {