1 module libwasm.bindings.IDBObjectStore;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.DOMStringList;
7 import libwasm.bindings.IDBCursor;
8 import libwasm.bindings.IDBIndex;
9 import libwasm.bindings.IDBRequest;
10 import libwasm.bindings.IDBTransaction;
11 
12 @safe:
13 nothrow:
14 
15 struct IDBObjectStore {
16   nothrow:
17   JsHandle handle;
18   alias handle this;
19   this(Handle h) {
20     this.handle = JsHandle(h);
21   }
22   void name()(string name) {
23     Object_Call_string__void(this.handle, "name", name);
24   }
25   string name()() {
26     return Object_Getter__string(this.handle, "name");
27   }
28   auto keyPath()() {
29     return Any(Object_Getter__Handle(this.handle, "keyPath"));
30   }
31   auto indexNames()() {
32     return DOMStringList(Object_Getter__Handle(this.handle, "indexNames"));
33   }
34   auto transaction()() {
35     return IDBTransaction(Object_Getter__Handle(this.handle, "transaction"));
36   }
37   bool autoIncrement()() {
38     return Object_Getter__bool(this.handle, "autoIncrement");
39   }
40   auto put(T0, T1)(scope auto ref T0 value, scope auto ref T1 key) {
41     // Any
42     Handle _handle_value = getOrCreateHandle(value);
43     // Any
44     Handle _handle_key = getOrCreateHandle(key);
45     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "put", "Handle;Handle", tuple(_handle_value, _handle_key)));
46     dropHandle!(T0)(_handle_value);
47     dropHandle!(T1)(_handle_key);
48     return result;
49   }
50   auto put(T0)(scope auto ref T0 value) {
51     // Any
52     Handle _handle_value = getOrCreateHandle(value);
53     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "put", _handle_value));
54     dropHandle!(T0)(_handle_value);
55     return result;
56   }
57   auto add(T0, T1)(scope auto ref T0 value, scope auto ref T1 key) {
58     // Any
59     Handle _handle_value = getOrCreateHandle(value);
60     // Any
61     Handle _handle_key = getOrCreateHandle(key);
62     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "add", "Handle;Handle", tuple(_handle_value, _handle_key)));
63     dropHandle!(T0)(_handle_value);
64     dropHandle!(T1)(_handle_key);
65     return result;
66   }
67   auto add(T0)(scope auto ref T0 value) {
68     // Any
69     Handle _handle_value = getOrCreateHandle(value);
70     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "add", _handle_value));
71     dropHandle!(T0)(_handle_value);
72     return result;
73   }
74   auto delete_(T0)(scope auto ref T0 key) {
75     // Any
76     Handle _handle_key = getOrCreateHandle(key);
77     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "delete", _handle_key));
78     dropHandle!(T0)(_handle_key);
79     return result;
80   }
81   auto get(T0)(scope auto ref T0 key) {
82     // Any
83     Handle _handle_key = getOrCreateHandle(key);
84     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "get", _handle_key));
85     dropHandle!(T0)(_handle_key);
86     return result;
87   }
88   auto getKey(T0)(scope auto ref T0 key) {
89     // Any
90     Handle _handle_key = getOrCreateHandle(key);
91     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "getKey", _handle_key));
92     dropHandle!(T0)(_handle_key);
93     return result;
94   }
95   auto clear()() {
96     return IDBRequest(Object_Getter__Handle(this.handle, "clear"));
97   }
98   auto openCursor(T0)(scope auto ref T0 range, IDBCursorDirection direction /* = "next" */) {
99     // Any
100     Handle _handle_range = getOrCreateHandle(range);
101     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "openCursor", "Handle;Enum", tuple(_handle_range, direction)));
102     dropHandle!(T0)(_handle_range);
103     return result;
104   }
105   auto openCursor(T0)(scope auto ref T0 range) {
106     // Any
107     Handle _handle_range = getOrCreateHandle(range);
108     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "openCursor", _handle_range));
109     dropHandle!(T0)(_handle_range);
110     return result;
111   }
112   auto openCursor()() {
113     return IDBRequest(Object_Getter__Handle(this.handle, "openCursor"));
114   }
115   auto createIndex()(string name, scope ref SumType!(string, Sequence!(string)) keyPath, scope ref IDBIndexParameters optionalParameters) {
116     return IDBIndex(Serialize_Object_VarArgCall!Handle(this.handle, "createIndex", "string;SumType!(string,Handle);Handle", tuple(name, libwasm.sumtype.match!(((string v) => 0),((ref keyPath.Types[1] v) => 1))(keyPath),tuple(libwasm.sumtype.match!(((string v) => v),((ref keyPath.Types[1] v) => string.init))(keyPath),libwasm.sumtype.match!(((string v) => Handle.init),((ref keyPath.Types[1] v) => cast(Handle)v.handle))(keyPath)), cast(Handle)optionalParameters.handle)));
117   }
118   auto createIndex()(string name, scope ref SumType!(string, Sequence!(string)) keyPath) {
119     return IDBIndex(Serialize_Object_VarArgCall!Handle(this.handle, "createIndex", "string;SumType!(string,Handle)", tuple(name, libwasm.sumtype.match!(((string v) => 0),((ref keyPath.Types[1] v) => 1))(keyPath),tuple(libwasm.sumtype.match!(((string v) => v),((ref keyPath.Types[1] v) => string.init))(keyPath),libwasm.sumtype.match!(((string v) => Handle.init),((ref keyPath.Types[1] v) => cast(Handle)v.handle))(keyPath)))));
120   }
121   auto index()(string name) {
122     return IDBIndex(Object_Call_string__Handle(this.handle, "index", name));
123   }
124   void deleteIndex()(string indexName) {
125     Object_Call_string__void(this.handle, "deleteIndex", indexName);
126   }
127   auto count(T0)(scope auto ref T0 key) {
128     // Any
129     Handle _handle_key = getOrCreateHandle(key);
130     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "count", _handle_key));
131     dropHandle!(T0)(_handle_key);
132     return result;
133   }
134   auto count()() {
135     return IDBRequest(Object_Getter__Handle(this.handle, "count"));
136   }
137   auto mozGetAll(T0)(scope auto ref T0 key, uint limit) {
138     // Any
139     Handle _handle_key = getOrCreateHandle(key);
140     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "mozGetAll", "Handle;uint", tuple(_handle_key, limit)));
141     dropHandle!(T0)(_handle_key);
142     return result;
143   }
144   auto mozGetAll(T0)(scope auto ref T0 key) {
145     // Any
146     Handle _handle_key = getOrCreateHandle(key);
147     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "mozGetAll", _handle_key));
148     dropHandle!(T0)(_handle_key);
149     return result;
150   }
151   auto mozGetAll()() {
152     return IDBRequest(Object_Getter__Handle(this.handle, "mozGetAll"));
153   }
154   auto getAll(T0)(scope auto ref T0 key, uint limit) {
155     // Any
156     Handle _handle_key = getOrCreateHandle(key);
157     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "getAll", "Handle;uint", tuple(_handle_key, limit)));
158     dropHandle!(T0)(_handle_key);
159     return result;
160   }
161   auto getAll(T0)(scope auto ref T0 key) {
162     // Any
163     Handle _handle_key = getOrCreateHandle(key);
164     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "getAll", _handle_key));
165     dropHandle!(T0)(_handle_key);
166     return result;
167   }
168   auto getAll()() {
169     return IDBRequest(Object_Getter__Handle(this.handle, "getAll"));
170   }
171   auto getAllKeys(T0)(scope auto ref T0 key, uint limit) {
172     // Any
173     Handle _handle_key = getOrCreateHandle(key);
174     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "getAllKeys", "Handle;uint", tuple(_handle_key, limit)));
175     dropHandle!(T0)(_handle_key);
176     return result;
177   }
178   auto getAllKeys(T0)(scope auto ref T0 key) {
179     // Any
180     Handle _handle_key = getOrCreateHandle(key);
181     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "getAllKeys", _handle_key));
182     dropHandle!(T0)(_handle_key);
183     return result;
184   }
185   auto getAllKeys()() {
186     return IDBRequest(Object_Getter__Handle(this.handle, "getAllKeys"));
187   }
188   auto openKeyCursor(T0)(scope auto ref T0 range, IDBCursorDirection direction /* = "next" */) {
189     // Any
190     Handle _handle_range = getOrCreateHandle(range);
191     auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "openKeyCursor", "Handle;Enum", tuple(_handle_range, direction)));
192     dropHandle!(T0)(_handle_range);
193     return result;
194   }
195   auto openKeyCursor(T0)(scope auto ref T0 range) {
196     // Any
197     Handle _handle_range = getOrCreateHandle(range);
198     auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "openKeyCursor", _handle_range));
199     dropHandle!(T0)(_handle_range);
200     return result;
201   }
202   auto openKeyCursor()() {
203     return IDBRequest(Object_Getter__Handle(this.handle, "openKeyCursor"));
204   }
205 }
206 struct IDBObjectStoreParameters {
207   nothrow:
208   JsHandle handle;
209   alias handle this;
210   this(Handle h) {
211     this.handle = JsHandle(h);
212   }
213   static auto create() {
214     return IDBObjectStoreParameters(libwasm_add__object());
215   }
216   void keyPath(T0)(scope auto ref Optional!(T0) keyPath) if (isTOrPointer!(T0, SumType!(string, Sequence!(string)))) {
217     Serialize_Object_VarArgCall!void(this.handle, "keyPath", "Optional!SumType!(string,Handle)", tuple(!keyPath.empty, libwasm.sumtype.match!(((string v) => 0),((ref keyPath.Types[1] v) => 1))(keyPath),tuple(libwasm.sumtype.match!(((string v) => v),((ref keyPath.Types[1] v) => string.init))(keyPath),libwasm.sumtype.match!(((string v) => Handle.init),((ref keyPath.Types[1] v) => cast(Handle)v.handle))(keyPath))));
218   }
219   auto keyPath()() {
220     return IDBObjectStoreParameters_keyPath_Get(this.handle);
221   }
222   void autoIncrement()(bool autoIncrement) {
223     Object_Call_bool__void(this.handle, "autoIncrement", autoIncrement);
224   }
225   bool autoIncrement()() {
226     return Object_Getter__bool(this.handle, "autoIncrement");
227   }
228 }
229 
230 
231 extern (C) Optional!(SumType!(string, Sequence!(string))) IDBObjectStoreParameters_keyPath_Get(Handle);