module libwasm.bindings.PushEvent; import libwasm.types; import memutils.ct: tuple; import libwasm.bindings.ExtendableEvent; import libwasm.bindings.PushMessageData; @safe: nothrow: struct PushEvent { nothrow: libwasm.bindings.ExtendableEvent.ExtendableEvent _parent; alias _parent this; this(Handle h) { _parent = .ExtendableEvent(h); } auto data()() { return recastOpt!(PushMessageData)(Object_Getter__OptionalHandle(this._parent, "data")); } } struct PushEventInit { nothrow: libwasm.bindings.ExtendableEvent.ExtendableEventInit _parent; alias _parent this; this(Handle h) { _parent = .ExtendableEventInit(h); } static auto create() { return PushEventInit(libwasm_add__object()); } void data()(scope ref PushMessageDataInit data) { Serialize_Object_VarArgCall!void(this._parent, "data", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref data.Types[0] v) => 0),((string v) => 1))(data),tuple(libwasm.sumtype.match!(((ref data.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(data),libwasm.sumtype.match!(((ref data.Types[0] v) => string.init),((string v) => v))(data)))); } auto data()() { return Object_Getter__Handle(this._parent, "data"); } } alias PushMessageDataInit = SumType!(BufferSource, string);