1 module spasm.bindings.indexeddb;
2
3 import spasm.types;
4 import spasm.bindings.common;
5 import spasm.bindings.dom;
6 import spasm.bindings.html;
7
8 @safe:
9 nothrow:
10
11 struct IDBCursor {
12 nothrow:
13 JsHandle handle;
14 alias handle this;
15 this(Handle h) {
16 this.handle = JsHandle(h);
17 }
18 auto source()() {
19 return IDBCursor_source_Get(this.handle);
20 }
21 auto direction()() {
22 return IDBCursor_direction_Get(this.handle);
23 }
24 auto key()() {
25 return Any(IDBCursor_key_Get(this.handle));
26 }
27 auto primaryKey()() {
28 return Any(IDBCursor_primaryKey_Get(this.handle));
29 }
30 void advance()(uint count) {
31 IDBCursor_advance(this.handle, count);
32 }
33 void continue_(T0)(scope auto ref T0 key) {
34 Handle _handle_key = getOrCreateHandle(key);
35 IDBCursor_continue(this.handle, _handle_key);
36 dropHandle!(T0)(_handle_key);
37 }
38 void continue_()() {
39 IDBCursor_continue_0(this.handle);
40 }
41 void continuePrimaryKey(T0, T1)(scope auto ref T0 key, scope auto ref T1 primaryKey) {
42 Handle _handle_key = getOrCreateHandle(key);
43 Handle _handle_primaryKey = getOrCreateHandle(primaryKey);
44 IDBCursor_continuePrimaryKey(this.handle, _handle_key, _handle_primaryKey);
45 dropHandle!(T0)(_handle_key);
46 dropHandle!(T1)(_handle_primaryKey);
47 }
48 auto update(T0)(scope auto ref T0 value) {
49 Handle _handle_value = getOrCreateHandle(value);
50 auto result = IDBRequest(IDBCursor_update(this.handle, _handle_value));
51 dropHandle!(T0)(_handle_value);
52 return result;
53 }
54 auto delete_()() {
55 return IDBRequest(IDBCursor_delete(this.handle));
56 }
57 }
58 enum IDBCursorDirection {
59 next,
60 nextunique,
61 prev,
62 prevunique
63 }
64 struct IDBCursorWithValue {
65 nothrow:
66 spasm.bindings.indexeddb.IDBCursor _parent;
67 alias _parent this;
68 this(Handle h) {
69 _parent = .IDBCursor(h);
70 }
71 auto value()() {
72 return Any(IDBCursorWithValue_value_Get(this._parent));
73 }
74 }
75 struct IDBDatabase {
76 nothrow:
77 spasm.bindings.dom.EventTarget _parent;
78 alias _parent this;
79 this(Handle h) {
80 _parent = .EventTarget(h);
81 }
82 auto name()() {
83 return IDBDatabase_name_Get(this._parent);
84 }
85 auto version_()() {
86 return IDBDatabase_version_Get(this._parent);
87 }
88 auto objectStoreNames()() {
89 return DOMStringList(IDBDatabase_objectStoreNames_Get(this._parent));
90 }
91 auto transaction()(scope ref SumType!(string, Sequence!(string)) storeNames, IDBTransactionMode mode /* = "readonly" */) {
92 return IDBTransaction(IDBDatabase_transaction(this._parent, storeNames, mode));
93 }
94 auto transaction()(scope ref SumType!(string, Sequence!(string)) storeNames) {
95 return IDBTransaction(IDBDatabase_transaction_0(this._parent, storeNames));
96 }
97 void close()() {
98 IDBDatabase_close(this._parent);
99 }
100 auto createObjectStore()(string name, scope ref IDBObjectStoreParameters options) {
101 return IDBObjectStore(IDBDatabase_createObjectStore(this._parent, name, options.handle));
102 }
103 auto createObjectStore()(string name) {
104 return IDBObjectStore(IDBDatabase_createObjectStore_0(this._parent, name));
105 }
106 void deleteObjectStore()(string name) {
107 IDBDatabase_deleteObjectStore(this._parent, name);
108 }
109 void onabort()(EventHandler onabort) {
110 IDBDatabase_onabort_Set(this._parent, onabort);
111 }
112 auto onabort()() {
113 return IDBDatabase_onabort_Get(this._parent);
114 }
115 void onclose()(EventHandler onclose) {
116 IDBDatabase_onclose_Set(this._parent, onclose);
117 }
118 auto onclose()() {
119 return IDBDatabase_onclose_Get(this._parent);
120 }
121 void onerror()(EventHandler onerror) {
122 IDBDatabase_onerror_Set(this._parent, onerror);
123 }
124 auto onerror()() {
125 return IDBDatabase_onerror_Get(this._parent);
126 }
127 void onversionchange()(EventHandler onversionchange) {
128 IDBDatabase_onversionchange_Set(this._parent, onversionchange);
129 }
130 auto onversionchange()() {
131 return IDBDatabase_onversionchange_Get(this._parent);
132 }
133 }
134 struct IDBDatabaseInfo {
135 nothrow:
136 JsHandle handle;
137 alias handle this;
138 this(Handle h) {
139 this.handle = JsHandle(h);
140 }
141 static auto create() {
142 return IDBDatabaseInfo(spasm_add__object());
143 }
144 void name()(string name) {
145 IDBDatabaseInfo_name_Set(this.handle, name);
146 }
147 auto name()() {
148 return IDBDatabaseInfo_name_Get(this.handle);
149 }
150 void version_()(uint version_) {
151 IDBDatabaseInfo_version_Set(this.handle, version_);
152 }
153 auto version_()() {
154 return IDBDatabaseInfo_version_Get(this.handle);
155 }
156 }
157 struct IDBFactory {
158 nothrow:
159 JsHandle handle;
160 alias handle this;
161 this(Handle h) {
162 this.handle = JsHandle(h);
163 }
164 auto open()(string name, uint version_) {
165 return IDBOpenDBRequest(IDBFactory_open(this.handle, name, version_));
166 }
167 auto open()(string name) {
168 return IDBOpenDBRequest(IDBFactory_open_0(this.handle, name));
169 }
170 auto deleteDatabase()(string name) {
171 return IDBOpenDBRequest(IDBFactory_deleteDatabase(this.handle, name));
172 }
173 auto databases()() {
174 return Promise!(Sequence!(IDBDatabaseInfo))(IDBFactory_databases(this.handle));
175 }
176 auto cmp(T0, T1)(scope auto ref T0 first, scope auto ref T1 second) {
177 Handle _handle_first = getOrCreateHandle(first);
178 Handle _handle_second = getOrCreateHandle(second);
179 auto result = IDBFactory_cmp(this.handle, _handle_first, _handle_second);
180 dropHandle!(T0)(_handle_first);
181 dropHandle!(T1)(_handle_second);
182 return result;
183 }
184 }
185 struct IDBIndex {
186 nothrow:
187 JsHandle handle;
188 alias handle this;
189 this(Handle h) {
190 this.handle = JsHandle(h);
191 }
192 void name()(string name) {
193 IDBIndex_name_Set(this.handle, name);
194 }
195 auto name()() {
196 return IDBIndex_name_Get(this.handle);
197 }
198 auto objectStore()() {
199 return IDBObjectStore(IDBIndex_objectStore_Get(this.handle));
200 }
201 auto keyPath()() {
202 return Any(IDBIndex_keyPath_Get(this.handle));
203 }
204 auto multiEntry()() {
205 return IDBIndex_multiEntry_Get(this.handle);
206 }
207 auto unique()() {
208 return IDBIndex_unique_Get(this.handle);
209 }
210 auto get(T0)(scope auto ref T0 query) {
211 Handle _handle_query = getOrCreateHandle(query);
212 auto result = IDBRequest(IDBIndex_get(this.handle, _handle_query));
213 dropHandle!(T0)(_handle_query);
214 return result;
215 }
216 auto getKey(T0)(scope auto ref T0 query) {
217 Handle _handle_query = getOrCreateHandle(query);
218 auto result = IDBRequest(IDBIndex_getKey(this.handle, _handle_query));
219 dropHandle!(T0)(_handle_query);
220 return result;
221 }
222 auto getAll(T0)(scope auto ref T0 query, uint count) {
223 Handle _handle_query = getOrCreateHandle(query);
224 auto result = IDBRequest(IDBIndex_getAll(this.handle, _handle_query, count));
225 dropHandle!(T0)(_handle_query);
226 return result;
227 }
228 auto getAll(T0)(scope auto ref T0 query) {
229 Handle _handle_query = getOrCreateHandle(query);
230 auto result = IDBRequest(IDBIndex_getAll_0(this.handle, _handle_query));
231 dropHandle!(T0)(_handle_query);
232 return result;
233 }
234 auto getAll()() {
235 return IDBRequest(IDBIndex_getAll_1(this.handle));
236 }
237 auto getAllKeys(T0)(scope auto ref T0 query, uint count) {
238 Handle _handle_query = getOrCreateHandle(query);
239 auto result = IDBRequest(IDBIndex_getAllKeys(this.handle, _handle_query, count));
240 dropHandle!(T0)(_handle_query);
241 return result;
242 }
243 auto getAllKeys(T0)(scope auto ref T0 query) {
244 Handle _handle_query = getOrCreateHandle(query);
245 auto result = IDBRequest(IDBIndex_getAllKeys_0(this.handle, _handle_query));
246 dropHandle!(T0)(_handle_query);
247 return result;
248 }
249 auto getAllKeys()() {
250 return IDBRequest(IDBIndex_getAllKeys_1(this.handle));
251 }
252 auto count(T0)(scope auto ref T0 query) {
253 Handle _handle_query = getOrCreateHandle(query);
254 auto result = IDBRequest(IDBIndex_count(this.handle, _handle_query));
255 dropHandle!(T0)(_handle_query);
256 return result;
257 }
258 auto count()() {
259 return IDBRequest(IDBIndex_count_0(this.handle));
260 }
261 auto openCursor(T0)(scope auto ref T0 query, IDBCursorDirection direction /* = "next" */) {
262 Handle _handle_query = getOrCreateHandle(query);
263 auto result = IDBRequest(IDBIndex_openCursor(this.handle, _handle_query, direction));
264 dropHandle!(T0)(_handle_query);
265 return result;
266 }
267 auto openCursor(T0)(scope auto ref T0 query) {
268 Handle _handle_query = getOrCreateHandle(query);
269 auto result = IDBRequest(IDBIndex_openCursor_0(this.handle, _handle_query));
270 dropHandle!(T0)(_handle_query);
271 return result;
272 }
273 auto openCursor()() {
274 return IDBRequest(IDBIndex_openCursor_1(this.handle));
275 }
276 auto openKeyCursor(T0)(scope auto ref T0 query, IDBCursorDirection direction /* = "next" */) {
277 Handle _handle_query = getOrCreateHandle(query);
278 auto result = IDBRequest(IDBIndex_openKeyCursor(this.handle, _handle_query, direction));
279 dropHandle!(T0)(_handle_query);
280 return result;
281 }
282 auto openKeyCursor(T0)(scope auto ref T0 query) {
283 Handle _handle_query = getOrCreateHandle(query);
284 auto result = IDBRequest(IDBIndex_openKeyCursor_0(this.handle, _handle_query));
285 dropHandle!(T0)(_handle_query);
286 return result;
287 }
288 auto openKeyCursor()() {
289 return IDBRequest(IDBIndex_openKeyCursor_1(this.handle));
290 }
291 }
292 struct IDBIndexParameters {
293 nothrow:
294 JsHandle handle;
295 alias handle this;
296 this(Handle h) {
297 this.handle = JsHandle(h);
298 }
299 static auto create() {
300 return IDBIndexParameters(spasm_add__object());
301 }
302 void unique()(bool unique) {
303 IDBIndexParameters_unique_Set(this.handle, unique);
304 }
305 auto unique()() {
306 return IDBIndexParameters_unique_Get(this.handle);
307 }
308 void multiEntry()(bool multiEntry) {
309 IDBIndexParameters_multiEntry_Set(this.handle, multiEntry);
310 }
311 auto multiEntry()() {
312 return IDBIndexParameters_multiEntry_Get(this.handle);
313 }
314 }
315 struct IDBKeyRange {
316 nothrow:
317 JsHandle handle;
318 alias handle this;
319 this(Handle h) {
320 this.handle = JsHandle(h);
321 }
322 auto lower()() {
323 return Any(IDBKeyRange_lower_Get(this.handle));
324 }
325 auto upper()() {
326 return Any(IDBKeyRange_upper_Get(this.handle));
327 }
328 auto lowerOpen()() {
329 return IDBKeyRange_lowerOpen_Get(this.handle);
330 }
331 auto upperOpen()() {
332 return IDBKeyRange_upperOpen_Get(this.handle);
333 }
334 auto only(T0)(scope auto ref T0 value) {
335 Handle _handle_value = getOrCreateHandle(value);
336 auto result = IDBKeyRange(IDBKeyRange_only(this.handle, _handle_value));
337 dropHandle!(T0)(_handle_value);
338 return result;
339 }
340 auto lowerBound(T0)(scope auto ref T0 lower, bool open /* = false */) {
341 Handle _handle_lower = getOrCreateHandle(lower);
342 auto result = IDBKeyRange(IDBKeyRange_lowerBound(this.handle, _handle_lower, open));
343 dropHandle!(T0)(_handle_lower);
344 return result;
345 }
346 auto lowerBound(T0)(scope auto ref T0 lower) {
347 Handle _handle_lower = getOrCreateHandle(lower);
348 auto result = IDBKeyRange(IDBKeyRange_lowerBound_0(this.handle, _handle_lower));
349 dropHandle!(T0)(_handle_lower);
350 return result;
351 }
352 auto upperBound(T0)(scope auto ref T0 upper, bool open /* = false */) {
353 Handle _handle_upper = getOrCreateHandle(upper);
354 auto result = IDBKeyRange(IDBKeyRange_upperBound(this.handle, _handle_upper, open));
355 dropHandle!(T0)(_handle_upper);
356 return result;
357 }
358 auto upperBound(T0)(scope auto ref T0 upper) {
359 Handle _handle_upper = getOrCreateHandle(upper);
360 auto result = IDBKeyRange(IDBKeyRange_upperBound_0(this.handle, _handle_upper));
361 dropHandle!(T0)(_handle_upper);
362 return result;
363 }
364 auto bound(T0, T1)(scope auto ref T0 lower, scope auto ref T1 upper, bool lowerOpen /* = false */, bool upperOpen /* = false */) {
365 Handle _handle_lower = getOrCreateHandle(lower);
366 Handle _handle_upper = getOrCreateHandle(upper);
367 auto result = IDBKeyRange(IDBKeyRange_bound(this.handle, _handle_lower, _handle_upper, lowerOpen, upperOpen));
368 dropHandle!(T0)(_handle_lower);
369 dropHandle!(T1)(_handle_upper);
370 return result;
371 }
372 auto bound(T0, T1)(scope auto ref T0 lower, scope auto ref T1 upper, bool lowerOpen /* = false */) {
373 Handle _handle_lower = getOrCreateHandle(lower);
374 Handle _handle_upper = getOrCreateHandle(upper);
375 auto result = IDBKeyRange(IDBKeyRange_bound_0(this.handle, _handle_lower, _handle_upper, lowerOpen));
376 dropHandle!(T0)(_handle_lower);
377 dropHandle!(T1)(_handle_upper);
378 return result;
379 }
380 auto bound(T0, T1)(scope auto ref T0 lower, scope auto ref T1 upper) {
381 Handle _handle_lower = getOrCreateHandle(lower);
382 Handle _handle_upper = getOrCreateHandle(upper);
383 auto result = IDBKeyRange(IDBKeyRange_bound_1(this.handle, _handle_lower, _handle_upper));
384 dropHandle!(T0)(_handle_lower);
385 dropHandle!(T1)(_handle_upper);
386 return result;
387 }
388 auto _includes(T0)(scope auto ref T0 key) {
389 Handle _handle_key = getOrCreateHandle(key);
390 auto result = IDBKeyRange__includes(this.handle, _handle_key);
391 dropHandle!(T0)(_handle_key);
392 return result;
393 }
394 }
395 struct IDBObjectStore {
396 nothrow:
397 JsHandle handle;
398 alias handle this;
399 this(Handle h) {
400 this.handle = JsHandle(h);
401 }
402 void name()(string name) {
403 IDBObjectStore_name_Set(this.handle, name);
404 }
405 auto name()() {
406 return IDBObjectStore_name_Get(this.handle);
407 }
408 auto keyPath()() {
409 return Any(IDBObjectStore_keyPath_Get(this.handle));
410 }
411 auto indexNames()() {
412 return DOMStringList(IDBObjectStore_indexNames_Get(this.handle));
413 }
414 auto transaction()() {
415 return IDBTransaction(IDBObjectStore_transaction_Get(this.handle));
416 }
417 auto autoIncrement()() {
418 return IDBObjectStore_autoIncrement_Get(this.handle);
419 }
420 auto put(T0, T1)(scope auto ref T0 value, scope auto ref T1 key) {
421 Handle _handle_value = getOrCreateHandle(value);
422 Handle _handle_key = getOrCreateHandle(key);
423 auto result = IDBRequest(IDBObjectStore_put(this.handle, _handle_value, _handle_key));
424 dropHandle!(T0)(_handle_value);
425 dropHandle!(T1)(_handle_key);
426 return result;
427 }
428 auto put(T0)(scope auto ref T0 value) {
429 Handle _handle_value = getOrCreateHandle(value);
430 auto result = IDBRequest(IDBObjectStore_put_0(this.handle, _handle_value));
431 dropHandle!(T0)(_handle_value);
432 return result;
433 }
434 auto add(T0, T1)(scope auto ref T0 value, scope auto ref T1 key) {
435 Handle _handle_value = getOrCreateHandle(value);
436 Handle _handle_key = getOrCreateHandle(key);
437 auto result = IDBRequest(IDBObjectStore_add(this.handle, _handle_value, _handle_key));
438 dropHandle!(T0)(_handle_value);
439 dropHandle!(T1)(_handle_key);
440 return result;
441 }
442 auto add(T0)(scope auto ref T0 value) {
443 Handle _handle_value = getOrCreateHandle(value);
444 auto result = IDBRequest(IDBObjectStore_add_0(this.handle, _handle_value));
445 dropHandle!(T0)(_handle_value);
446 return result;
447 }
448 auto delete_(T0)(scope auto ref T0 query) {
449 Handle _handle_query = getOrCreateHandle(query);
450 auto result = IDBRequest(IDBObjectStore_delete(this.handle, _handle_query));
451 dropHandle!(T0)(_handle_query);
452 return result;
453 }
454 auto clear()() {
455 return IDBRequest(IDBObjectStore_clear(this.handle));
456 }
457 auto get(T0)(scope auto ref T0 query) {
458 Handle _handle_query = getOrCreateHandle(query);
459 auto result = IDBRequest(IDBObjectStore_get(this.handle, _handle_query));
460 dropHandle!(T0)(_handle_query);
461 return result;
462 }
463 auto getKey(T0)(scope auto ref T0 query) {
464 Handle _handle_query = getOrCreateHandle(query);
465 auto result = IDBRequest(IDBObjectStore_getKey(this.handle, _handle_query));
466 dropHandle!(T0)(_handle_query);
467 return result;
468 }
469 auto getAll(T0)(scope auto ref T0 query, uint count) {
470 Handle _handle_query = getOrCreateHandle(query);
471 auto result = IDBRequest(IDBObjectStore_getAll(this.handle, _handle_query, count));
472 dropHandle!(T0)(_handle_query);
473 return result;
474 }
475 auto getAll(T0)(scope auto ref T0 query) {
476 Handle _handle_query = getOrCreateHandle(query);
477 auto result = IDBRequest(IDBObjectStore_getAll_0(this.handle, _handle_query));
478 dropHandle!(T0)(_handle_query);
479 return result;
480 }
481 auto getAll()() {
482 return IDBRequest(IDBObjectStore_getAll_1(this.handle));
483 }
484 auto getAllKeys(T0)(scope auto ref T0 query, uint count) {
485 Handle _handle_query = getOrCreateHandle(query);
486 auto result = IDBRequest(IDBObjectStore_getAllKeys(this.handle, _handle_query, count));
487 dropHandle!(T0)(_handle_query);
488 return result;
489 }
490 auto getAllKeys(T0)(scope auto ref T0 query) {
491 Handle _handle_query = getOrCreateHandle(query);
492 auto result = IDBRequest(IDBObjectStore_getAllKeys_0(this.handle, _handle_query));
493 dropHandle!(T0)(_handle_query);
494 return result;
495 }
496 auto getAllKeys()() {
497 return IDBRequest(IDBObjectStore_getAllKeys_1(this.handle));
498 }
499 auto count(T0)(scope auto ref T0 query) {
500 Handle _handle_query = getOrCreateHandle(query);
501 auto result = IDBRequest(IDBObjectStore_count(this.handle, _handle_query));
502 dropHandle!(T0)(_handle_query);
503 return result;
504 }
505 auto count()() {
506 return IDBRequest(IDBObjectStore_count_0(this.handle));
507 }
508 auto openCursor(T0)(scope auto ref T0 query, IDBCursorDirection direction /* = "next" */) {
509 Handle _handle_query = getOrCreateHandle(query);
510 auto result = IDBRequest(IDBObjectStore_openCursor(this.handle, _handle_query, direction));
511 dropHandle!(T0)(_handle_query);
512 return result;
513 }
514 auto openCursor(T0)(scope auto ref T0 query) {
515 Handle _handle_query = getOrCreateHandle(query);
516 auto result = IDBRequest(IDBObjectStore_openCursor_0(this.handle, _handle_query));
517 dropHandle!(T0)(_handle_query);
518 return result;
519 }
520 auto openCursor()() {
521 return IDBRequest(IDBObjectStore_openCursor_1(this.handle));
522 }
523 auto openKeyCursor(T0)(scope auto ref T0 query, IDBCursorDirection direction /* = "next" */) {
524 Handle _handle_query = getOrCreateHandle(query);
525 auto result = IDBRequest(IDBObjectStore_openKeyCursor(this.handle, _handle_query, direction));
526 dropHandle!(T0)(_handle_query);
527 return result;
528 }
529 auto openKeyCursor(T0)(scope auto ref T0 query) {
530 Handle _handle_query = getOrCreateHandle(query);
531 auto result = IDBRequest(IDBObjectStore_openKeyCursor_0(this.handle, _handle_query));
532 dropHandle!(T0)(_handle_query);
533 return result;
534 }
535 auto openKeyCursor()() {
536 return IDBRequest(IDBObjectStore_openKeyCursor_1(this.handle));
537 }
538 auto index()(string name) {
539 return IDBIndex(IDBObjectStore_index(this.handle, name));
540 }
541 auto createIndex()(string name, scope ref SumType!(string, Sequence!(string)) keyPath, scope ref IDBIndexParameters options) {
542 return IDBIndex(IDBObjectStore_createIndex(this.handle, name, keyPath, options.handle));
543 }
544 auto createIndex()(string name, scope ref SumType!(string, Sequence!(string)) keyPath) {
545 return IDBIndex(IDBObjectStore_createIndex_0(this.handle, name, keyPath));
546 }
547 void deleteIndex()(string name) {
548 IDBObjectStore_deleteIndex(this.handle, name);
549 }
550 }
551 struct IDBObjectStoreParameters {
552 nothrow:
553 JsHandle handle;
554 alias handle this;
555 this(Handle h) {
556 this.handle = JsHandle(h);
557 }
558 static auto create() {
559 return IDBObjectStoreParameters(spasm_add__object());
560 }
561 void keyPath(T0)(scope auto ref Optional!(T0) keyPath) if (isTOrPointer!(T0, SumType!(string, Sequence!(string)))) {
562 IDBObjectStoreParameters_keyPath_Set(this.handle, !keyPath.empty, *keyPath.frontRef);
563 }
564 auto keyPath()() {
565 return IDBObjectStoreParameters_keyPath_Get(this.handle);
566 }
567 void autoIncrement()(bool autoIncrement) {
568 IDBObjectStoreParameters_autoIncrement_Set(this.handle, autoIncrement);
569 }
570 auto autoIncrement()() {
571 return IDBObjectStoreParameters_autoIncrement_Get(this.handle);
572 }
573 }
574 struct IDBOpenDBRequest {
575 nothrow:
576 spasm.bindings.indexeddb.IDBRequest _parent;
577 alias _parent this;
578 this(Handle h) {
579 _parent = .IDBRequest(h);
580 }
581 void onblocked()(EventHandler onblocked) {
582 IDBOpenDBRequest_onblocked_Set(this._parent, onblocked);
583 }
584 auto onblocked()() {
585 return IDBOpenDBRequest_onblocked_Get(this._parent);
586 }
587 void onupgradeneeded()(EventHandler onupgradeneeded) {
588 IDBOpenDBRequest_onupgradeneeded_Set(this._parent, onupgradeneeded);
589 }
590 auto onupgradeneeded()() {
591 return IDBOpenDBRequest_onupgradeneeded_Get(this._parent);
592 }
593 }
594 struct IDBRequest {
595 nothrow:
596 spasm.bindings.dom.EventTarget _parent;
597 alias _parent this;
598 this(Handle h) {
599 _parent = .EventTarget(h);
600 }
601 auto result()() {
602 return Any(IDBRequest_result_Get(this._parent));
603 }
604 auto error()() {
605 return IDBRequest_error_Get(this._parent);
606 }
607 auto source()() {
608 return IDBRequest_source_Get(this._parent);
609 }
610 auto transaction()() {
611 return IDBRequest_transaction_Get(this._parent);
612 }
613 auto readyState()() {
614 return IDBRequest_readyState_Get(this._parent);
615 }
616 void onsuccess()(EventHandler onsuccess) {
617 IDBRequest_onsuccess_Set(this._parent, onsuccess);
618 }
619 auto onsuccess()() {
620 return IDBRequest_onsuccess_Get(this._parent);
621 }
622 void onerror()(EventHandler onerror) {
623 IDBRequest_onerror_Set(this._parent, onerror);
624 }
625 auto onerror()() {
626 return IDBRequest_onerror_Get(this._parent);
627 }
628 }
629 enum IDBRequestReadyState {
630 pending,
631 done
632 }
633 struct IDBTransaction {
634 nothrow:
635 spasm.bindings.dom.EventTarget _parent;
636 alias _parent this;
637 this(Handle h) {
638 _parent = .EventTarget(h);
639 }
640 auto objectStoreNames()() {
641 return DOMStringList(IDBTransaction_objectStoreNames_Get(this._parent));
642 }
643 auto mode()() {
644 return IDBTransaction_mode_Get(this._parent);
645 }
646 auto db()() {
647 return IDBDatabase(IDBTransaction_db_Get(this._parent));
648 }
649 auto error()() {
650 return DOMException(IDBTransaction_error_Get(this._parent));
651 }
652 auto objectStore()(string name) {
653 return IDBObjectStore(IDBTransaction_objectStore(this._parent, name));
654 }
655 void abort()() {
656 IDBTransaction_abort(this._parent);
657 }
658 void onabort()(EventHandler onabort) {
659 IDBTransaction_onabort_Set(this._parent, onabort);
660 }
661 auto onabort()() {
662 return IDBTransaction_onabort_Get(this._parent);
663 }
664 void oncomplete()(EventHandler oncomplete) {
665 IDBTransaction_oncomplete_Set(this._parent, oncomplete);
666 }
667 auto oncomplete()() {
668 return IDBTransaction_oncomplete_Get(this._parent);
669 }
670 void onerror()(EventHandler onerror) {
671 IDBTransaction_onerror_Set(this._parent, onerror);
672 }
673 auto onerror()() {
674 return IDBTransaction_onerror_Get(this._parent);
675 }
676 }
677 enum IDBTransactionMode {
678 readonly,
679 readwrite,
680 versionchange
681 }
682 struct IDBVersionChangeEvent {
683 nothrow:
684 spasm.bindings.dom.Event _parent;
685 alias _parent this;
686 this(Handle h) {
687 _parent = .Event(h);
688 }
689 auto oldVersion()() {
690 return IDBVersionChangeEvent_oldVersion_Get(this._parent);
691 }
692 auto newVersion()() {
693 return IDBVersionChangeEvent_newVersion_Get(this._parent);
694 }
695 }
696 struct IDBVersionChangeEventInit {
697 nothrow:
698 spasm.bindings.dom.EventInit _parent;
699 alias _parent this;
700 this(Handle h) {
701 _parent = .EventInit(h);
702 }
703 static auto create() {
704 return IDBVersionChangeEventInit(spasm_add__object());
705 }
706 void oldVersion()(uint oldVersion) {
707 IDBVersionChangeEventInit_oldVersion_Set(this._parent, oldVersion);
708 }
709 auto oldVersion()() {
710 return IDBVersionChangeEventInit_oldVersion_Get(this._parent);
711 }
712 void newVersion(T0)(scope auto ref Optional!(T0) newVersion) if (isTOrPointer!(T0, uint)) {
713 IDBVersionChangeEventInit_newVersion_Set(this._parent, !newVersion.empty, newVersion.front);
714 }
715 auto newVersion()() {
716 return IDBVersionChangeEventInit_newVersion_Get(this._parent);
717 }
718 }
719
720
721 extern (C) SumType!(IDBObjectStore, IDBIndex) IDBCursor_source_Get(Handle);
722 extern (C) IDBCursorDirection IDBCursor_direction_Get(Handle);
723 extern (C) Handle IDBCursor_key_Get(Handle);
724 extern (C) Handle IDBCursor_primaryKey_Get(Handle);
725 extern (C) void IDBCursor_advance(Handle, uint);
726 extern (C) void IDBCursor_continue(Handle, Handle);
727 extern (C) void IDBCursor_continue_0(Handle);
728 extern (C) void IDBCursor_continuePrimaryKey(Handle, Handle, Handle);
729 extern (C) Handle IDBCursor_update(Handle, Handle);
730 extern (C) Handle IDBCursor_delete(Handle);
731 extern (C) Handle IDBCursorWithValue_value_Get(Handle);
732 extern (C) string IDBDatabase_name_Get(Handle);
733 extern (C) uint IDBDatabase_version_Get(Handle);
734 extern (C) Handle IDBDatabase_objectStoreNames_Get(Handle);
735 extern (C) Handle IDBDatabase_transaction(Handle, scope ref SumType!(string, Sequence!(string)), IDBTransactionMode);
736 extern (C) Handle IDBDatabase_transaction_0(Handle, scope ref SumType!(string, Sequence!(string)));
737 extern (C) void IDBDatabase_close(Handle);
738 extern (C) Handle IDBDatabase_createObjectStore(Handle, string, Handle);
739 extern (C) Handle IDBDatabase_createObjectStore_0(Handle, string);
740 extern (C) void IDBDatabase_deleteObjectStore(Handle, string);
741 extern (C) void IDBDatabase_onabort_Set(Handle, EventHandler);
742 extern (C) EventHandler IDBDatabase_onabort_Get(Handle);
743 extern (C) void IDBDatabase_onclose_Set(Handle, EventHandler);
744 extern (C) EventHandler IDBDatabase_onclose_Get(Handle);
745 extern (C) void IDBDatabase_onerror_Set(Handle, EventHandler);
746 extern (C) EventHandler IDBDatabase_onerror_Get(Handle);
747 extern (C) void IDBDatabase_onversionchange_Set(Handle, EventHandler);
748 extern (C) EventHandler IDBDatabase_onversionchange_Get(Handle);
749 extern (C) void IDBDatabaseInfo_name_Set(Handle, string);
750 extern (C) string IDBDatabaseInfo_name_Get(Handle);
751 extern (C) void IDBDatabaseInfo_version_Set(Handle, uint);
752 extern (C) uint IDBDatabaseInfo_version_Get(Handle);
753 extern (C) Handle IDBFactory_open(Handle, string, uint);
754 extern (C) Handle IDBFactory_open_0(Handle, string);
755 extern (C) Handle IDBFactory_deleteDatabase(Handle, string);
756 extern (C) Handle IDBFactory_databases(Handle);
757 extern (C) short IDBFactory_cmp(Handle, Handle, Handle);
758 extern (C) void IDBIndex_name_Set(Handle, string);
759 extern (C) string IDBIndex_name_Get(Handle);
760 extern (C) Handle IDBIndex_objectStore_Get(Handle);
761 extern (C) Handle IDBIndex_keyPath_Get(Handle);
762 extern (C) bool IDBIndex_multiEntry_Get(Handle);
763 extern (C) bool IDBIndex_unique_Get(Handle);
764 extern (C) Handle IDBIndex_get(Handle, Handle);
765 extern (C) Handle IDBIndex_getKey(Handle, Handle);
766 extern (C) Handle IDBIndex_getAll(Handle, Handle, uint);
767 extern (C) Handle IDBIndex_getAll_0(Handle, Handle);
768 extern (C) Handle IDBIndex_getAll_1(Handle);
769 extern (C) Handle IDBIndex_getAllKeys(Handle, Handle, uint);
770 extern (C) Handle IDBIndex_getAllKeys_0(Handle, Handle);
771 extern (C) Handle IDBIndex_getAllKeys_1(Handle);
772 extern (C) Handle IDBIndex_count(Handle, Handle);
773 extern (C) Handle IDBIndex_count_0(Handle);
774 extern (C) Handle IDBIndex_openCursor(Handle, Handle, IDBCursorDirection);
775 extern (C) Handle IDBIndex_openCursor_0(Handle, Handle);
776 extern (C) Handle IDBIndex_openCursor_1(Handle);
777 extern (C) Handle IDBIndex_openKeyCursor(Handle, Handle, IDBCursorDirection);
778 extern (C) Handle IDBIndex_openKeyCursor_0(Handle, Handle);
779 extern (C) Handle IDBIndex_openKeyCursor_1(Handle);
780 extern (C) void IDBIndexParameters_unique_Set(Handle, bool);
781 extern (C) bool IDBIndexParameters_unique_Get(Handle);
782 extern (C) void IDBIndexParameters_multiEntry_Set(Handle, bool);
783 extern (C) bool IDBIndexParameters_multiEntry_Get(Handle);
784 extern (C) Handle IDBKeyRange_lower_Get(Handle);
785 extern (C) Handle IDBKeyRange_upper_Get(Handle);
786 extern (C) bool IDBKeyRange_lowerOpen_Get(Handle);
787 extern (C) bool IDBKeyRange_upperOpen_Get(Handle);
788 extern (C) Handle IDBKeyRange_only(Handle, Handle);
789 extern (C) Handle IDBKeyRange_lowerBound(Handle, Handle, bool);
790 extern (C) Handle IDBKeyRange_lowerBound_0(Handle, Handle);
791 extern (C) Handle IDBKeyRange_upperBound(Handle, Handle, bool);
792 extern (C) Handle IDBKeyRange_upperBound_0(Handle, Handle);
793 extern (C) Handle IDBKeyRange_bound(Handle, Handle, Handle, bool, bool);
794 extern (C) Handle IDBKeyRange_bound_0(Handle, Handle, Handle, bool);
795 extern (C) Handle IDBKeyRange_bound_1(Handle, Handle, Handle);
796 extern (C) bool IDBKeyRange__includes(Handle, Handle);
797 extern (C) void IDBObjectStore_name_Set(Handle, string);
798 extern (C) string IDBObjectStore_name_Get(Handle);
799 extern (C) Handle IDBObjectStore_keyPath_Get(Handle);
800 extern (C) Handle IDBObjectStore_indexNames_Get(Handle);
801 extern (C) Handle IDBObjectStore_transaction_Get(Handle);
802 extern (C) bool IDBObjectStore_autoIncrement_Get(Handle);
803 extern (C) Handle IDBObjectStore_put(Handle, Handle, Handle);
804 extern (C) Handle IDBObjectStore_put_0(Handle, Handle);
805 extern (C) Handle IDBObjectStore_add(Handle, Handle, Handle);
806 extern (C) Handle IDBObjectStore_add_0(Handle, Handle);
807 extern (C) Handle IDBObjectStore_delete(Handle, Handle);
808 extern (C) Handle IDBObjectStore_clear(Handle);
809 extern (C) Handle IDBObjectStore_get(Handle, Handle);
810 extern (C) Handle IDBObjectStore_getKey(Handle, Handle);
811 extern (C) Handle IDBObjectStore_getAll(Handle, Handle, uint);
812 extern (C) Handle IDBObjectStore_getAll_0(Handle, Handle);
813 extern (C) Handle IDBObjectStore_getAll_1(Handle);
814 extern (C) Handle IDBObjectStore_getAllKeys(Handle, Handle, uint);
815 extern (C) Handle IDBObjectStore_getAllKeys_0(Handle, Handle);
816 extern (C) Handle IDBObjectStore_getAllKeys_1(Handle);
817 extern (C) Handle IDBObjectStore_count(Handle, Handle);
818 extern (C) Handle IDBObjectStore_count_0(Handle);
819 extern (C) Handle IDBObjectStore_openCursor(Handle, Handle, IDBCursorDirection);
820 extern (C) Handle IDBObjectStore_openCursor_0(Handle, Handle);
821 extern (C) Handle IDBObjectStore_openCursor_1(Handle);
822 extern (C) Handle IDBObjectStore_openKeyCursor(Handle, Handle, IDBCursorDirection);
823 extern (C) Handle IDBObjectStore_openKeyCursor_0(Handle, Handle);
824 extern (C) Handle IDBObjectStore_openKeyCursor_1(Handle);
825 extern (C) Handle IDBObjectStore_index(Handle, string);
826 extern (C) Handle IDBObjectStore_createIndex(Handle, string, scope ref SumType!(string, Sequence!(string)), Handle);
827 extern (C) Handle IDBObjectStore_createIndex_0(Handle, string, scope ref SumType!(string, Sequence!(string)));
828 extern (C) void IDBObjectStore_deleteIndex(Handle, string);
829 extern (C) void IDBObjectStoreParameters_keyPath_Set(Handle, bool, scope ref SumType!(string, Sequence!(string)));
830 extern (C) Optional!(SumType!(string, Sequence!(string))) IDBObjectStoreParameters_keyPath_Get(Handle);
831 extern (C) void IDBObjectStoreParameters_autoIncrement_Set(Handle, bool);
832 extern (C) bool IDBObjectStoreParameters_autoIncrement_Get(Handle);
833 extern (C) void IDBOpenDBRequest_onblocked_Set(Handle, EventHandler);
834 extern (C) EventHandler IDBOpenDBRequest_onblocked_Get(Handle);
835 extern (C) void IDBOpenDBRequest_onupgradeneeded_Set(Handle, EventHandler);
836 extern (C) EventHandler IDBOpenDBRequest_onupgradeneeded_Get(Handle);
837 extern (C) Handle IDBRequest_result_Get(Handle);
838 extern (C) Optional!(DOMException) IDBRequest_error_Get(Handle);
839 extern (C) Optional!(SumType!(IDBObjectStore, IDBIndex, IDBCursor)) IDBRequest_source_Get(Handle);
840 extern (C) Optional!(IDBTransaction) IDBRequest_transaction_Get(Handle);
841 extern (C) IDBRequestReadyState IDBRequest_readyState_Get(Handle);
842 extern (C) void IDBRequest_onsuccess_Set(Handle, EventHandler);
843 extern (C) EventHandler IDBRequest_onsuccess_Get(Handle);
844 extern (C) void IDBRequest_onerror_Set(Handle, EventHandler);
845 extern (C) EventHandler IDBRequest_onerror_Get(Handle);
846 extern (C) Handle IDBTransaction_objectStoreNames_Get(Handle);
847 extern (C) IDBTransactionMode IDBTransaction_mode_Get(Handle);
848 extern (C) Handle IDBTransaction_db_Get(Handle);
849 extern (C) Handle IDBTransaction_error_Get(Handle);
850 extern (C) Handle IDBTransaction_objectStore(Handle, string);
851 extern (C) void IDBTransaction_abort(Handle);
852 extern (C) void IDBTransaction_onabort_Set(Handle, EventHandler);
853 extern (C) EventHandler IDBTransaction_onabort_Get(Handle);
854 extern (C) void IDBTransaction_oncomplete_Set(Handle, EventHandler);
855 extern (C) EventHandler IDBTransaction_oncomplete_Get(Handle);
856 extern (C) void IDBTransaction_onerror_Set(Handle, EventHandler);
857 extern (C) EventHandler IDBTransaction_onerror_Get(Handle);
858 extern (C) uint IDBVersionChangeEvent_oldVersion_Get(Handle);
859 extern (C) Optional!(uint) IDBVersionChangeEvent_newVersion_Get(Handle);
860 extern (C) void IDBVersionChangeEventInit_oldVersion_Set(Handle, uint);
861 extern (C) uint IDBVersionChangeEventInit_oldVersion_Get(Handle);
862 extern (C) void IDBVersionChangeEventInit_newVersion_Set(Handle, bool, uint);
863 extern (C) Optional!(uint) IDBVersionChangeEventInit_newVersion_Get(Handle);