1 module libwasm.bindings.MessageEvent; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Event; 7 import libwasm.bindings.MessagePort; 8 import libwasm.bindings.ServiceWorker; 9 10 @safe: 11 nothrow: 12 13 struct MessageEvent { 14 nothrow: 15 libwasm.bindings.Event.Event _parent; 16 alias _parent this; 17 this(Handle h) { 18 _parent = .Event(h); 19 } 20 auto data()() { 21 return Any(Object_Getter__Handle(this._parent, "data")); 22 } 23 string origin()() { 24 return Object_Getter__string(this._parent, "origin"); 25 } 26 string lastEventId()() { 27 return Object_Getter__string(this._parent, "lastEventId"); 28 } 29 auto source()() { 30 return MessageEvent_source_Get(this._parent); 31 } 32 auto ports()() { 33 return Sequence!(MessagePort)(Object_Getter__Handle(this._parent, "ports")); 34 } 35 void initMessageEvent(T3, T6)(string type, bool bubbles /* = false */, bool cancelable /* = false */, scope auto ref T3 data /* = null */, string origin /* = "" */, string lastEventId /* = "" */, scope auto ref Optional!(T6) source /* = no!(MessageEventSource) */, scope ref Sequence!(MessagePort) ports /* = [] */) if (isTOrPointer!(T6, MessageEventSource)) { 36 // Any 37 Handle _handle_data = getOrCreateHandle(data); 38 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool;bool;Handle;string;string;Optional!SumType!(WindowProxy,Handle,Handle);Handle", tuple(type, bubbles, cancelable, _handle_data, origin, lastEventId, !source.empty, libwasm.sumtype.match!(((WindowProxy v) => 0),((ref source.Types[1] v) => 1),((ref source.Types[2] v) => 2))(source),tuple(libwasm.sumtype.match!(((WindowProxy v) => v),((ref source.Types[1] v) => WindowProxy.init),((ref source.Types[2] v) => WindowProxy.init))(source),libwasm.sumtype.match!(((WindowProxy v) => Handle.init),((ref source.Types[1] v) => cast(Handle)v.handle),((ref source.Types[2] v) => Handle.init))(source),libwasm.sumtype.match!(((WindowProxy v) => Handle.init),((ref source.Types[1] v) => Handle.init),((ref source.Types[2] v) => cast(Handle)v.handle))(source)), cast(Handle)ports.handle)); 39 dropHandle!(T3)(_handle_data); 40 } 41 void initMessageEvent(T3, T6)(string type, bool bubbles /* = false */, bool cancelable /* = false */, scope auto ref T3 data /* = null */, string origin /* = "" */, string lastEventId /* = "" */, scope auto ref Optional!(T6) source /* = no!(MessageEventSource) */) if (isTOrPointer!(T6, MessageEventSource)) { 42 // Any 43 Handle _handle_data = getOrCreateHandle(data); 44 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool;bool;Handle;string;string;Optional!SumType!(WindowProxy,Handle,Handle)", tuple(type, bubbles, cancelable, _handle_data, origin, lastEventId, !source.empty, libwasm.sumtype.match!(((WindowProxy v) => 0),((ref source.Types[1] v) => 1),((ref source.Types[2] v) => 2))(source),tuple(libwasm.sumtype.match!(((WindowProxy v) => v),((ref source.Types[1] v) => WindowProxy.init),((ref source.Types[2] v) => WindowProxy.init))(source),libwasm.sumtype.match!(((WindowProxy v) => Handle.init),((ref source.Types[1] v) => cast(Handle)v.handle),((ref source.Types[2] v) => Handle.init))(source),libwasm.sumtype.match!(((WindowProxy v) => Handle.init),((ref source.Types[1] v) => Handle.init),((ref source.Types[2] v) => cast(Handle)v.handle))(source)))); 45 dropHandle!(T3)(_handle_data); 46 } 47 void initMessageEvent(T3)(string type, bool bubbles /* = false */, bool cancelable /* = false */, scope auto ref T3 data /* = null */, string origin /* = "" */, string lastEventId /* = "" */) { 48 // Any 49 Handle _handle_data = getOrCreateHandle(data); 50 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool;bool;Handle;string;string", tuple(type, bubbles, cancelable, _handle_data, origin, lastEventId)); 51 dropHandle!(T3)(_handle_data); 52 } 53 void initMessageEvent(T3)(string type, bool bubbles /* = false */, bool cancelable /* = false */, scope auto ref T3 data /* = null */, string origin /* = "" */) { 54 // Any 55 Handle _handle_data = getOrCreateHandle(data); 56 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool;bool;Handle;string", tuple(type, bubbles, cancelable, _handle_data, origin)); 57 dropHandle!(T3)(_handle_data); 58 } 59 void initMessageEvent(T3)(string type, bool bubbles /* = false */, bool cancelable /* = false */, scope auto ref T3 data /* = null */) { 60 // Any 61 Handle _handle_data = getOrCreateHandle(data); 62 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool;bool;Handle", tuple(type, bubbles, cancelable, _handle_data)); 63 dropHandle!(T3)(_handle_data); 64 } 65 void initMessageEvent()(string type, bool bubbles /* = false */, bool cancelable /* = false */) { 66 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool;bool", tuple(type, bubbles, cancelable)); 67 } 68 void initMessageEvent()(string type, bool bubbles /* = false */) { 69 Serialize_Object_VarArgCall!void(this._parent, "initMessageEvent", "string;bool", tuple(type, bubbles)); 70 } 71 void initMessageEvent()(string type) { 72 Object_Call_string__void(this._parent, "initMessageEvent", type); 73 } 74 } 75 struct MessageEventInit { 76 nothrow: 77 libwasm.bindings.Event.EventInit _parent; 78 alias _parent this; 79 this(Handle h) { 80 _parent = .EventInit(h); 81 } 82 static auto create() { 83 return MessageEventInit(libwasm_add__object()); 84 } 85 void data(T0)(scope auto ref T0 data) { 86 import std.traits : isNumeric, isFloatingPoint, isSomeString; 87 if (isSomeString!T0) { 88 Object_Call_string__void(this._parent, "data", cast(string) data); 89 return; 90 } else if (isNumeric!T0 && !isFloatingPoint!T0) { 91 Object_Call_long__void(this._parent, "data", cast(long) data); 92 return; 93 } else if (isFloatingPoint!T0) { 94 Object_Call_double__void(this._parent, "data", cast(double) data); 95 return; 96 } 97 // Any 98 Handle _handle_data = getOrCreateHandle(data); 99 Object_Call_Handle__void(this._parent, "data", _handle_data); 100 dropHandle!(T0)(_handle_data); 101 } 102 auto data()() { 103 return Any(Object_Getter__Handle(this._parent, "data")); 104 } 105 void origin()(string origin) { 106 Object_Call_string__void(this._parent, "origin", origin); 107 } 108 string origin()() { 109 return Object_Getter__string(this._parent, "origin"); 110 } 111 void lastEventId()(string lastEventId) { 112 Object_Call_string__void(this._parent, "lastEventId", lastEventId); 113 } 114 string lastEventId()() { 115 return Object_Getter__string(this._parent, "lastEventId"); 116 } 117 void source(T0)(scope auto ref Optional!(T0) source) if (isTOrPointer!(T0, MessageEventSource)) { 118 Serialize_Object_VarArgCall!void(this._parent, "source", "Optional!SumType!(WindowProxy,Handle,Handle)", tuple(!source.empty, libwasm.sumtype.match!(((WindowProxy v) => 0),((ref source.Types[1] v) => 1),((ref source.Types[2] v) => 2))(source),tuple(libwasm.sumtype.match!(((WindowProxy v) => v),((ref source.Types[1] v) => WindowProxy.init),((ref source.Types[2] v) => WindowProxy.init))(source),libwasm.sumtype.match!(((WindowProxy v) => Handle.init),((ref source.Types[1] v) => cast(Handle)v.handle),((ref source.Types[2] v) => Handle.init))(source),libwasm.sumtype.match!(((WindowProxy v) => Handle.init),((ref source.Types[1] v) => Handle.init),((ref source.Types[2] v) => cast(Handle)v.handle))(source)))); 119 } 120 auto source()() { 121 return MessageEventInit_source_Get(this._parent); 122 } 123 void ports()(scope ref Sequence!(MessagePort) ports) { 124 Object_Call_Handle__void(this._parent, "ports", ports.handle); 125 } 126 auto ports()() { 127 return Sequence!(MessagePort)(Object_Getter__Handle(this._parent, "ports")); 128 } 129 } 130 alias MessageEventSource = SumType!(WindowProxy, MessagePort, ServiceWorker); 131 132 133 extern (C) Optional!(MessageEventSource) MessageEvent_source_Get(Handle); 134 extern (C) Optional!(MessageEventSource) MessageEventInit_source_Get(Handle);