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