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