1 module libwasm.bindings.WorkerNavigator;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.MediaCapabilities;
7 import libwasm.bindings.Navigator;
8 import libwasm.bindings.NetworkInformation;
9 import libwasm.bindings.StorageManager;
10 
11 @safe:
12 nothrow:
13 
14 struct WorkerNavigator {
15   nothrow:
16   JsHandle handle;
17   alias handle this;
18   this(Handle h) {
19     this.handle = JsHandle(h);
20   }
21   auto connection()() {
22     return NetworkInformation(Object_Getter__Handle(this.handle, "connection"));
23   }
24   auto mediaCapabilities()() {
25     return MediaCapabilities(Object_Getter__Handle(this.handle, "mediaCapabilities"));
26   }
27   string appCodeName()() {
28     return Object_Getter__string(this.handle, "appCodeName");
29   }
30   string appName()() {
31     return Object_Getter__string(this.handle, "appName");
32   }
33   string appVersion()() {
34     return Object_Getter__string(this.handle, "appVersion");
35   }
36   string platform()() {
37     return Object_Getter__string(this.handle, "platform");
38   }
39   string userAgent()() {
40     return Object_Getter__string(this.handle, "userAgent");
41   }
42   string product()() {
43     return Object_Getter__string(this.handle, "product");
44   }
45   bool taintEnabled()() {
46     return Object_Getter__bool(this.handle, "taintEnabled");
47   }
48   Optional!(string) language()() {
49     return Object_Getter__OptionalString(this.handle, "language");
50   }
51   auto languages()() {
52     return Sequence!(string)(Object_Getter__Handle(this.handle, "languages"));
53   }
54   bool onLine()() {
55     return Object_Getter__bool(this.handle, "onLine");
56   }
57   uint hardwareConcurrency()() {
58     return Object_Getter__uint(this.handle, "hardwareConcurrency");
59   }
60   auto storage()() {
61     return StorageManager(Object_Getter__Handle(this.handle, "storage"));
62   }
63 }
64 
65