module libwasm.bindings.TCPSocketEvent; import libwasm.types; import memutils.ct: tuple; import libwasm.bindings.Event; @safe: nothrow: struct TCPSocketEvent { nothrow: libwasm.bindings.Event.Event _parent; alias _parent this; this(Handle h) { _parent = .Event(h); } auto data()() { return Any(Object_Getter__Handle(this._parent, "data")); } } struct TCPSocketEventInit { nothrow: libwasm.bindings.Event.EventInit _parent; alias _parent this; this(Handle h) { _parent = .EventInit(h); } static auto create() { return TCPSocketEventInit(libwasm_add__object()); } void data(T0)(scope auto ref T0 data) { import std.traits : isNumeric, isFloatingPoint, isSomeString; if (isSomeString!T0) { Object_Call_string__void(this._parent, "data", cast(string) data); return; } else if (isNumeric!T0 && !isFloatingPoint!T0) { Object_Call_long__void(this._parent, "data", cast(long) data); return; } else if (isFloatingPoint!T0) { Object_Call_double__void(this._parent, "data", cast(double) data); return; } // Any Handle _handle_data = getOrCreateHandle(data); Object_Call_Handle__void(this._parent, "data", _handle_data); dropHandle!(T0)(_handle_data); } auto data()() { return Any(Object_Getter__Handle(this._parent, "data")); } }