1 module libwasm.bindings.WorkerGlobalScope;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.CacheStorage;
7 import libwasm.bindings.Crypto;
8 import libwasm.bindings.EventHandler;
9 import libwasm.bindings.EventTarget;
10 import libwasm.bindings.Function;
11 import libwasm.bindings.IDBFactory;
12 import libwasm.bindings.ImageBitmap;
13 import libwasm.bindings.Performance;
14 import libwasm.bindings.Request;
15 import libwasm.bindings.Response;
16 import libwasm.bindings.WindowOrWorkerGlobalScope;
17 import libwasm.bindings.WorkerLocation;
18 import libwasm.bindings.WorkerNavigator;
19 
20 @safe:
21 nothrow:
22 
23 struct WorkerGlobalScope {
24   nothrow:
25   libwasm.bindings.EventTarget.EventTarget _parent;
26   alias _parent this;
27   this(Handle h) {
28     _parent = .EventTarget(h);
29   }
30   auto self()() {
31     return WorkerGlobalScope(Object_Getter__Handle(this._parent, "self"));
32   }
33   auto location()() {
34     return WorkerLocation(Object_Getter__Handle(this._parent, "location"));
35   }
36   auto navigator()() {
37     return WorkerNavigator(Object_Getter__Handle(this._parent, "navigator"));
38   }
39   void importScripts()(string urls) {
40     Object_Call_string__void(this._parent, "importScripts", urls);
41   }
42   void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, OnErrorEventHandlerNonNull)) {
43     WorkerGlobalScope_onerror_Set(this._parent, !onerror.empty, onerror.front);
44   }
45   OnErrorEventHandler onerror()() {
46     return WorkerGlobalScope_onerror_Get(this._parent);
47   }
48   void onoffline(T0)(scope auto ref Optional!(T0) onoffline) if (isTOrPointer!(T0, EventHandlerNonNull)) {
49     Object_Call_EventHandler__void(this._parent, "onoffline", !onoffline.empty, onoffline.front);
50   }
51   EventHandler onoffline()() {
52     return Object_Getter__EventHandler(this._parent, "onoffline");
53   }
54   void ononline(T0)(scope auto ref Optional!(T0) ononline) if (isTOrPointer!(T0, EventHandlerNonNull)) {
55     Object_Call_EventHandler__void(this._parent, "ononline", !ononline.empty, ononline.front);
56   }
57   EventHandler ononline()() {
58     return Object_Getter__EventHandler(this._parent, "ononline");
59   }
60   void dump()(string str) {
61     Object_Call_string__void(this._parent, "dump", str);
62   }
63   void dump()() {
64     Object_Call__void(this._parent, "dump");
65   }
66   auto performance()() {
67     return Performance(Object_Getter__Handle(this._parent, "performance"));
68   }
69   auto getJSTestingFunctions()() {
70     return JsObject(Object_Getter__Handle(this._parent, "getJSTestingFunctions"));
71   }
72   auto crypto()() {
73     return Crypto(Object_Getter__Handle(this._parent, "crypto"));
74   }
75   string origin()() {
76     return Object_Getter__string(this._parent, "origin");
77   }
78   string btoa()(string btoa) {
79     return Object_Call_string__string(this._parent, "btoa", btoa);
80   }
81   string atob()(string atob) {
82     return Object_Call_string__string(this._parent, "atob", atob);
83   }
84   int setTimeout(T2)(Function handler, int timeout /* = 0 */, scope auto ref T2 arguments) {
85     // Any
86     Handle _handle_arguments = getOrCreateHandle(arguments);
87     auto result = WindowOrWorkerGlobalScope_setTimeout__Handle_int_Handle(this._parent, handler, timeout, _handle_arguments);
88     dropHandle!(T2)(_handle_arguments);
89     return result;
90   }
91   int setTimeout(T2)(string handler, int timeout /* = 0 */, scope auto ref T2 unused) {
92     // Any
93     Handle _handle_unused = getOrCreateHandle(unused);
94     auto result = WindowOrWorkerGlobalScope_setTimeout__string_int_Handle(this._parent, handler, timeout, _handle_unused);
95     dropHandle!(T2)(_handle_unused);
96     return result;
97   }
98   void clearTimeout()(int handle /* = 0 */) {
99     Object_Call_int__void(this._parent, "clearTimeout", handle);
100   }
101   void clearTimeout()() {
102     Object_Call__void(this._parent, "clearTimeout");
103   }
104   int setInterval(T2)(Function handler, int timeout /* = 0 */, scope auto ref T2 arguments) {
105     // Any
106     Handle _handle_arguments = getOrCreateHandle(arguments);
107     auto result = WindowOrWorkerGlobalScope_setInterval__Handle_int_Handle(this._parent, handler, timeout, _handle_arguments);
108     dropHandle!(T2)(_handle_arguments);
109     return result;
110   }
111   int setInterval(T2)(string handler, int timeout /* = 0 */, scope auto ref T2 unused) {
112     // Any
113     Handle _handle_unused = getOrCreateHandle(unused);
114     auto result = WindowOrWorkerGlobalScope_setInterval__string_int_Handle(this._parent, handler, timeout, _handle_unused);
115     dropHandle!(T2)(_handle_unused);
116     return result;
117   }
118   void clearInterval()(int handle /* = 0 */) {
119     Object_Call_int__void(this._parent, "clearInterval", handle);
120   }
121   void clearInterval()() {
122     Object_Call__void(this._parent, "clearInterval");
123   }
124   auto createImageBitmap()(scope ref ImageBitmapSource aImage) {
125     return JsPromise!(ImageBitmap)(Serialize_Object_VarArgCall!Handle(this._parent, "createImageBitmap", "SumType!(Handle,Handle,Handle,Handle,Handle,Handle,Handle,Handle)", tuple(libwasm.sumtype.match!(((ref aImage.Types[0] v) => 0),((ref aImage.Types[1] v) => 1),((ref aImage.Types[2] v) => 2),((ref aImage.Types[3] v) => 3),((ref aImage.Types[4] v) => 4),((ref aImage.Types[5] v) => 5),((ref aImage.Types[6] v) => 6),((ref aImage.Types[7] v) => 7))(aImage),tuple(libwasm.sumtype.match!(((ref aImage.Types[0] v) => cast(Handle)v.handle),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => cast(Handle)v.handle),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => cast(Handle)v.handle),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => cast(Handle)v.handle),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => cast(Handle)v.handle),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => cast(Handle)v.handle),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => cast(Handle)v.handle),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => cast(Handle)v.handle))(aImage)))));
126   }
127   auto createImageBitmap()(scope ref ImageBitmapSource aImage, int aSx, int aSy, int aSw, int aSh) {
128     return JsPromise!(ImageBitmap)(Serialize_Object_VarArgCall!Handle(this._parent, "createImageBitmap", "SumType!(Handle,Handle,Handle,Handle,Handle,Handle,Handle,Handle);int;int;int;int", tuple(libwasm.sumtype.match!(((ref aImage.Types[0] v) => 0),((ref aImage.Types[1] v) => 1),((ref aImage.Types[2] v) => 2),((ref aImage.Types[3] v) => 3),((ref aImage.Types[4] v) => 4),((ref aImage.Types[5] v) => 5),((ref aImage.Types[6] v) => 6),((ref aImage.Types[7] v) => 7))(aImage),tuple(libwasm.sumtype.match!(((ref aImage.Types[0] v) => cast(Handle)v.handle),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => cast(Handle)v.handle),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => cast(Handle)v.handle),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => cast(Handle)v.handle),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => cast(Handle)v.handle),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => cast(Handle)v.handle),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => cast(Handle)v.handle),((ref aImage.Types[7] v) => Handle.init))(aImage),libwasm.sumtype.match!(((ref aImage.Types[0] v) => Handle.init),((ref aImage.Types[1] v) => Handle.init),((ref aImage.Types[2] v) => Handle.init),((ref aImage.Types[3] v) => Handle.init),((ref aImage.Types[4] v) => Handle.init),((ref aImage.Types[5] v) => Handle.init),((ref aImage.Types[6] v) => Handle.init),((ref aImage.Types[7] v) => cast(Handle)v.handle))(aImage)), aSx, aSy, aSw, aSh)));
129   }
130   auto fetch()(scope ref RequestInfo input, scope ref RequestInit init) {
131     return JsPromise!(Response)(Serialize_Object_VarArgCall!Handle(this._parent, "fetch", "SumType!(Handle,string);Handle", tuple(libwasm.sumtype.match!(((ref input.Types[0] v) => 0),((string v) => 1))(input),tuple(libwasm.sumtype.match!(((ref input.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(input),libwasm.sumtype.match!(((ref input.Types[0] v) => string.init),((string v) => v))(input)), cast(Handle)init.handle)));
132   }
133   auto fetch()(scope ref RequestInfo input) {
134     return JsPromise!(Response)(Serialize_Object_VarArgCall!Handle(this._parent, "fetch", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref input.Types[0] v) => 0),((string v) => 1))(input),tuple(libwasm.sumtype.match!(((ref input.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(input),libwasm.sumtype.match!(((ref input.Types[0] v) => string.init),((string v) => v))(input)))));
135   }
136   bool isSecureContext()() {
137     return Object_Getter__bool(this._parent, "isSecureContext");
138   }
139   auto indexedDB()() {
140     return recastOpt!(IDBFactory)(Object_Getter__OptionalHandle(this._parent, "indexedDB"));
141   }
142   auto caches()() {
143     return CacheStorage(Object_Getter__Handle(this._parent, "caches"));
144   }
145 }
146 
147 
148 extern (C) void WorkerGlobalScope_onerror_Set(Handle, bool, OnErrorEventHandlerNonNull);
149 extern (C) OnErrorEventHandler WorkerGlobalScope_onerror_Get(Handle);