1 module libwasm.bindings.IDBTransaction; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.DOMException; 7 import libwasm.bindings.DOMStringList; 8 import libwasm.bindings.EventHandler; 9 import libwasm.bindings.EventTarget; 10 import libwasm.bindings.IDBDatabase; 11 import libwasm.bindings.IDBObjectStore; 12 13 @safe: 14 nothrow: 15 16 struct IDBTransaction { 17 nothrow: 18 libwasm.bindings.EventTarget.EventTarget _parent; 19 alias _parent this; 20 this(Handle h) { 21 _parent = .EventTarget(h); 22 } 23 IDBTransactionMode mode()() { 24 return Object_Getter__int(this._parent, "mode"); 25 } 26 auto db()() { 27 return IDBDatabase(Object_Getter__Handle(this._parent, "db")); 28 } 29 auto error()() { 30 return recastOpt!(DOMException)(Object_Getter__OptionalHandle(this._parent, "error")); 31 } 32 auto objectStore()(string name) { 33 return IDBObjectStore(Object_Call_string__Handle(this._parent, "objectStore", name)); 34 } 35 void abort()() { 36 Object_Call__void(this._parent, "abort"); 37 } 38 void onabort(T0)(scope auto ref Optional!(T0) onabort) if (isTOrPointer!(T0, EventHandlerNonNull)) { 39 Object_Call_EventHandler__void(this._parent, "onabort", !onabort.empty, onabort.front); 40 } 41 EventHandler onabort()() { 42 return Object_Getter__EventHandler(this._parent, "onabort"); 43 } 44 void oncomplete(T0)(scope auto ref Optional!(T0) oncomplete) if (isTOrPointer!(T0, EventHandlerNonNull)) { 45 Object_Call_EventHandler__void(this._parent, "oncomplete", !oncomplete.empty, oncomplete.front); 46 } 47 EventHandler oncomplete()() { 48 return Object_Getter__EventHandler(this._parent, "oncomplete"); 49 } 50 void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 51 Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front); 52 } 53 EventHandler onerror()() { 54 return Object_Getter__EventHandler(this._parent, "onerror"); 55 } 56 auto objectStoreNames()() { 57 return DOMStringList(Object_Getter__Handle(this._parent, "objectStoreNames")); 58 } 59 } 60 enum IDBTransactionMode { 61 readonly, 62 readwrite, 63 readwriteflush, 64 cleanup, 65 versionchange 66 } 67 68