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