1 module libwasm.bindings.EventSource; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.EventHandler; 7 import libwasm.bindings.EventTarget; 8 9 @safe: 10 nothrow: 11 12 struct EventSource { 13 nothrow: 14 libwasm.bindings.EventTarget.EventTarget _parent; 15 alias _parent this; 16 this(Handle h) { 17 _parent = .EventTarget(h); 18 } 19 string url()() { 20 return Object_Getter__string(this._parent, "url"); 21 } 22 bool withCredentials()() { 23 return Object_Getter__bool(this._parent, "withCredentials"); 24 } 25 enum ushort CONNECTING = 0; 26 enum ushort OPEN = 1; 27 enum ushort CLOSED = 2; 28 ushort readyState()() { 29 return Object_Getter__ushort(this._parent, "readyState"); 30 } 31 void onopen(T0)(scope auto ref Optional!(T0) onopen) if (isTOrPointer!(T0, EventHandlerNonNull)) { 32 Object_Call_EventHandler__void(this._parent, "onopen", !onopen.empty, onopen.front); 33 } 34 EventHandler onopen()() { 35 return Object_Getter__EventHandler(this._parent, "onopen"); 36 } 37 void onmessage(T0)(scope auto ref Optional!(T0) onmessage) if (isTOrPointer!(T0, EventHandlerNonNull)) { 38 Object_Call_EventHandler__void(this._parent, "onmessage", !onmessage.empty, onmessage.front); 39 } 40 EventHandler onmessage()() { 41 return Object_Getter__EventHandler(this._parent, "onmessage"); 42 } 43 void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 44 Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front); 45 } 46 EventHandler onerror()() { 47 return Object_Getter__EventHandler(this._parent, "onerror"); 48 } 49 void close()() { 50 Object_Call__void(this._parent, "close"); 51 } 52 } 53 struct EventSourceInit { 54 nothrow: 55 JsHandle handle; 56 alias handle this; 57 this(Handle h) { 58 this.handle = JsHandle(h); 59 } 60 static auto create() { 61 return EventSourceInit(libwasm_add__object()); 62 } 63 void withCredentials()(bool withCredentials) { 64 Object_Call_bool__void(this.handle, "withCredentials", withCredentials); 65 } 66 bool withCredentials()() { 67 return Object_Getter__bool(this.handle, "withCredentials"); 68 } 69 } 70 71