1 module libwasm.bindings.IDBDatabase; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.DOMStringList; 7 import libwasm.bindings.EventHandler; 8 import libwasm.bindings.EventTarget; 9 import libwasm.bindings.IDBObjectStore; 10 import libwasm.bindings.IDBRequest; 11 import libwasm.bindings.IDBTransaction; 12 import libwasm.bindings.StorageType; 13 14 @safe: 15 nothrow: 16 17 struct IDBDatabase { 18 nothrow: 19 libwasm.bindings.EventTarget.EventTarget _parent; 20 alias _parent this; 21 this(Handle h) { 22 _parent = .EventTarget(h); 23 } 24 string name()() { 25 return Object_Getter__string(this._parent, "name"); 26 } 27 uint version_()() { 28 return Object_Getter__uint(this._parent, "version"); 29 } 30 auto objectStoreNames()() { 31 return DOMStringList(Object_Getter__Handle(this._parent, "objectStoreNames")); 32 } 33 auto createObjectStore()(string name, scope ref IDBObjectStoreParameters optionalParameters) { 34 return IDBObjectStore(Serialize_Object_VarArgCall!Handle(this._parent, "createObjectStore", "string;Handle", tuple(name, cast(Handle)optionalParameters.handle))); 35 } 36 auto createObjectStore()(string name) { 37 return IDBObjectStore(Object_Call_string__Handle(this._parent, "createObjectStore", name)); 38 } 39 void deleteObjectStore()(string name) { 40 Object_Call_string__void(this._parent, "deleteObjectStore", name); 41 } 42 auto transaction()(scope ref SumType!(string, Sequence!(string)) storeNames, IDBTransactionMode mode /* = "readonly" */) { 43 return IDBTransaction(Serialize_Object_VarArgCall!Handle(this._parent, "transaction", "SumType!(string,Handle);Enum", tuple(libwasm.sumtype.match!(((string v) => 0),((ref storeNames.Types[1] v) => 1))(storeNames),tuple(libwasm.sumtype.match!(((string v) => v),((ref storeNames.Types[1] v) => string.init))(storeNames),libwasm.sumtype.match!(((string v) => Handle.init),((ref storeNames.Types[1] v) => cast(Handle)v.handle))(storeNames)), mode))); 44 } 45 auto transaction()(scope ref SumType!(string, Sequence!(string)) storeNames) { 46 return IDBTransaction(Serialize_Object_VarArgCall!Handle(this._parent, "transaction", "SumType!(string,Handle)", tuple(libwasm.sumtype.match!(((string v) => 0),((ref storeNames.Types[1] v) => 1))(storeNames),tuple(libwasm.sumtype.match!(((string v) => v),((ref storeNames.Types[1] v) => string.init))(storeNames),libwasm.sumtype.match!(((string v) => Handle.init),((ref storeNames.Types[1] v) => cast(Handle)v.handle))(storeNames))))); 47 } 48 void close()() { 49 Object_Call__void(this._parent, "close"); 50 } 51 void onabort(T0)(scope auto ref Optional!(T0) onabort) if (isTOrPointer!(T0, EventHandlerNonNull)) { 52 Object_Call_EventHandler__void(this._parent, "onabort", !onabort.empty, onabort.front); 53 } 54 EventHandler onabort()() { 55 return Object_Getter__EventHandler(this._parent, "onabort"); 56 } 57 void onclose(T0)(scope auto ref Optional!(T0) onclose) if (isTOrPointer!(T0, EventHandlerNonNull)) { 58 Object_Call_EventHandler__void(this._parent, "onclose", !onclose.empty, onclose.front); 59 } 60 EventHandler onclose()() { 61 return Object_Getter__EventHandler(this._parent, "onclose"); 62 } 63 void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 64 Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front); 65 } 66 EventHandler onerror()() { 67 return Object_Getter__EventHandler(this._parent, "onerror"); 68 } 69 void onversionchange(T0)(scope auto ref Optional!(T0) onversionchange) if (isTOrPointer!(T0, EventHandlerNonNull)) { 70 Object_Call_EventHandler__void(this._parent, "onversionchange", !onversionchange.empty, onversionchange.front); 71 } 72 EventHandler onversionchange()() { 73 return Object_Getter__EventHandler(this._parent, "onversionchange"); 74 } 75 StorageType storage()() { 76 return Object_Getter__int(this._parent, "storage"); 77 } 78 auto createMutableFile()(string name, string type) { 79 return IDBRequest(Object_Call_string_string__Handle(this._parent, "createMutableFile", name, type)); 80 } 81 auto createMutableFile()(string name) { 82 return IDBRequest(Object_Call_string__Handle(this._parent, "createMutableFile", name)); 83 } 84 auto mozCreateFileHandle()(string name, string type) { 85 return IDBRequest(Object_Call_string_string__Handle(this._parent, "mozCreateFileHandle", name, type)); 86 } 87 auto mozCreateFileHandle()(string name) { 88 return IDBRequest(Object_Call_string__Handle(this._parent, "mozCreateFileHandle", name)); 89 } 90 } 91 92