1 module libwasm.bindings.ExtendableMessageEvent; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Client; 7 import libwasm.bindings.ExtendableEvent; 8 import libwasm.bindings.MessagePort; 9 import libwasm.bindings.ServiceWorker; 10 11 @safe: 12 nothrow: 13 14 struct ExtendableMessageEvent { 15 nothrow: 16 libwasm.bindings.ExtendableEvent.ExtendableEvent _parent; 17 alias _parent this; 18 this(Handle h) { 19 _parent = .ExtendableEvent(h); 20 } 21 auto data()() { 22 return Any(Object_Getter__Handle(this._parent, "data")); 23 } 24 string origin()() { 25 return Object_Getter__string(this._parent, "origin"); 26 } 27 string lastEventId()() { 28 return Object_Getter__string(this._parent, "lastEventId"); 29 } 30 auto source()() { 31 return ExtendableMessageEvent_source_Get(this._parent); 32 } 33 auto ports()() { 34 return Sequence!(MessagePort)(Object_Getter__Handle(this._parent, "ports")); 35 } 36 } 37 struct ExtendableMessageEventInit { 38 nothrow: 39 libwasm.bindings.ExtendableEvent.ExtendableEventInit _parent; 40 alias _parent this; 41 this(Handle h) { 42 _parent = .ExtendableEventInit(h); 43 } 44 static auto create() { 45 return ExtendableMessageEventInit(libwasm_add__object()); 46 } 47 void data(T0)(scope auto ref T0 data) { 48 import std.traits : isNumeric, isFloatingPoint, isSomeString; 49 if (isSomeString!T0) { 50 Object_Call_string__void(this._parent, "data", cast(string) data); 51 return; 52 } else if (isNumeric!T0 && !isFloatingPoint!T0) { 53 Object_Call_long__void(this._parent, "data", cast(long) data); 54 return; 55 } else if (isFloatingPoint!T0) { 56 Object_Call_double__void(this._parent, "data", cast(double) data); 57 return; 58 } 59 // Any 60 Handle _handle_data = getOrCreateHandle(data); 61 Object_Call_Handle__void(this._parent, "data", _handle_data); 62 dropHandle!(T0)(_handle_data); 63 } 64 auto data()() { 65 return Any(Object_Getter__Handle(this._parent, "data")); 66 } 67 void origin()(string origin) { 68 Object_Call_string__void(this._parent, "origin", origin); 69 } 70 string origin()() { 71 return Object_Getter__string(this._parent, "origin"); 72 } 73 void lastEventId()(string lastEventId) { 74 Object_Call_string__void(this._parent, "lastEventId", lastEventId); 75 } 76 string lastEventId()() { 77 return Object_Getter__string(this._parent, "lastEventId"); 78 } 79 void source(T0)(scope auto ref Optional!(T0) source) if (isTOrPointer!(T0, SumType!(Client, ServiceWorker, MessagePort))) { 80 Serialize_Object_VarArgCall!void(this._parent, "source", "Optional!SumType!(Handle,Handle,Handle)", tuple(!source.empty, libwasm.sumtype.match!(((ref source.Types[0] v) => 0),((ref source.Types[1] v) => 1),((ref source.Types[2] v) => 2))(source),tuple(libwasm.sumtype.match!(((ref source.Types[0] v) => cast(Handle)v.handle),((ref source.Types[1] v) => Handle.init),((ref source.Types[2] v) => Handle.init))(source),libwasm.sumtype.match!(((ref source.Types[0] v) => Handle.init),((ref source.Types[1] v) => cast(Handle)v.handle),((ref source.Types[2] v) => Handle.init))(source),libwasm.sumtype.match!(((ref source.Types[0] v) => Handle.init),((ref source.Types[1] v) => Handle.init),((ref source.Types[2] v) => cast(Handle)v.handle))(source)))); 81 } 82 auto source()() { 83 return ExtendableMessageEventInit_source_Get(this._parent); 84 } 85 void ports()(scope ref Sequence!(MessagePort) ports) { 86 Object_Call_Handle__void(this._parent, "ports", ports.handle); 87 } 88 auto ports()() { 89 return Sequence!(MessagePort)(Object_Getter__Handle(this._parent, "ports")); 90 } 91 } 92 93 94 extern (C) Optional!(SumType!(Client, ServiceWorker, MessagePort)) ExtendableMessageEvent_source_Get(Handle); 95 extern (C) Optional!(SumType!(Client, ServiceWorker, MessagePort)) ExtendableMessageEventInit_source_Get(Handle);