1 module libwasm.bindings.SharedWorker; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.AbstractWorker; 7 import libwasm.bindings.Blob; 8 import libwasm.bindings.Document; 9 import libwasm.bindings.EventHandler; 10 import libwasm.bindings.EventSource; 11 import libwasm.bindings.EventTarget; 12 import libwasm.bindings.Fetch; 13 import libwasm.bindings.MessagePort; 14 import libwasm.bindings.Worker; 15 import libwasm.bindings.XMLHttpRequest; 16 import libwasm.bindings.XMLHttpRequestEventTarget; 17 import libwasm.bindings.XMLHttpRequestUpload; 18 19 @safe: 20 nothrow: 21 22 struct SharedWorker { 23 nothrow: 24 libwasm.bindings.EventTarget.EventTarget _parent; 25 alias _parent this; 26 this(Handle h) { 27 _parent = .EventTarget(h); 28 } 29 auto port()() { 30 return MessagePort(Object_Getter__Handle(this._parent, "port")); 31 } 32 void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 33 Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front); 34 } 35 EventHandler onerror()() { 36 return Object_Getter__EventHandler(this._parent, "onerror"); 37 } 38 auto ChromeWorker()(string scriptURL) { 39 return .ChromeWorker(Object_Call_string__Handle(this._parent, "ChromeWorker", scriptURL)); 40 } 41 auto Worker()(string scriptURL, scope ref WorkerOptions options) { 42 return .Worker(Serialize_Object_VarArgCall!Handle(this._parent, "Worker", "string;Handle", tuple(scriptURL, cast(Handle)options.handle))); 43 } 44 auto EventSource()(string url, scope ref EventSourceInit eventSourceInitDict) { 45 return .EventSource(Serialize_Object_VarArgCall!Handle(this._parent, "EventSource", "string;Handle", tuple(url, cast(Handle)eventSourceInitDict.handle))); 46 } 47 auto FileReaderSync()() { 48 return .FileReaderSync(Object_Getter__Handle(this._parent, "FileReaderSync")); 49 } 50 auto XMLHttpRequest()(scope ref MozXMLHttpRequestParameters params) { 51 return .XMLHttpRequest(Object_Call_Handle__Handle(this._parent, "XMLHttpRequest", params.handle)); 52 } 53 auto XMLHttpRequest()(string ignored) { 54 return .XMLHttpRequest(Object_Call_string__Handle(this._parent, "XMLHttpRequest", ignored)); 55 } 56 } 57 58