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);