git » sdk » commit 4b0758a

Helper to clone a ChatMessage

author Stephen Paul Weber
2023-12-11 15:57:23 UTC
committer Stephen Paul Weber
2023-12-11 15:59:52 UTC
parent 8d4cdf2aea064133157357327ff0f9307e608a3d

Helper to clone a ChatMessage

xmpp/ChatMessage.hx +13 -0

diff --git a/xmpp/ChatMessage.hx b/xmpp/ChatMessage.hx
index 3f2267f..0d7524f 100644
--- a/xmpp/ChatMessage.hx
+++ b/xmpp/ChatMessage.hx
@@ -325,4 +325,17 @@ class ChatMessage {
 		if (body != null) stanza.textTag("body", body);
 		return stanza;
 	}
+
+	public function clone() {
+		final cls:Class<ChatMessage> = untyped Type.getClass(this);
+		final inst = Type.createEmptyInstance(cls);
+		final fields = Type.getInstanceFields(cls);
+		for (field in fields) {
+			final val:Dynamic = Reflect.field(this, field);
+			if (!Reflect.isFunction(val)) {
+				Reflect.setField(inst,field,val);
+			}
+		}
+		return inst;
+	}
 }