1 module libwasm.bindings.IDBIndex; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.IDBCursor; 7 import libwasm.bindings.IDBObjectStore; 8 import libwasm.bindings.IDBRequest; 9 10 @safe: 11 nothrow: 12 13 struct IDBIndex { 14 nothrow: 15 JsHandle handle; 16 alias handle this; 17 this(Handle h) { 18 this.handle = JsHandle(h); 19 } 20 void name()(string name) { 21 Object_Call_string__void(this.handle, "name", name); 22 } 23 string name()() { 24 return Object_Getter__string(this.handle, "name"); 25 } 26 auto objectStore()() { 27 return IDBObjectStore(Object_Getter__Handle(this.handle, "objectStore")); 28 } 29 auto keyPath()() { 30 return Any(Object_Getter__Handle(this.handle, "keyPath")); 31 } 32 bool multiEntry()() { 33 return Object_Getter__bool(this.handle, "multiEntry"); 34 } 35 bool unique()() { 36 return Object_Getter__bool(this.handle, "unique"); 37 } 38 Optional!(string) locale()() { 39 return Object_Getter__OptionalString(this.handle, "locale"); 40 } 41 bool isAutoLocale()() { 42 return Object_Getter__bool(this.handle, "isAutoLocale"); 43 } 44 auto openCursor(T0)(scope auto ref T0 range, IDBCursorDirection direction /* = "next" */) { 45 // Any 46 Handle _handle_range = getOrCreateHandle(range); 47 auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "openCursor", "Handle;Enum", tuple(_handle_range, direction))); 48 dropHandle!(T0)(_handle_range); 49 return result; 50 } 51 auto openCursor(T0)(scope auto ref T0 range) { 52 // Any 53 Handle _handle_range = getOrCreateHandle(range); 54 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "openCursor", _handle_range)); 55 dropHandle!(T0)(_handle_range); 56 return result; 57 } 58 auto openCursor()() { 59 return IDBRequest(Object_Getter__Handle(this.handle, "openCursor")); 60 } 61 auto openKeyCursor(T0)(scope auto ref T0 range, IDBCursorDirection direction /* = "next" */) { 62 // Any 63 Handle _handle_range = getOrCreateHandle(range); 64 auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "openKeyCursor", "Handle;Enum", tuple(_handle_range, direction))); 65 dropHandle!(T0)(_handle_range); 66 return result; 67 } 68 auto openKeyCursor(T0)(scope auto ref T0 range) { 69 // Any 70 Handle _handle_range = getOrCreateHandle(range); 71 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "openKeyCursor", _handle_range)); 72 dropHandle!(T0)(_handle_range); 73 return result; 74 } 75 auto openKeyCursor()() { 76 return IDBRequest(Object_Getter__Handle(this.handle, "openKeyCursor")); 77 } 78 auto get(T0)(scope auto ref T0 key) { 79 // Any 80 Handle _handle_key = getOrCreateHandle(key); 81 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "get", _handle_key)); 82 dropHandle!(T0)(_handle_key); 83 return result; 84 } 85 auto getKey(T0)(scope auto ref T0 key) { 86 // Any 87 Handle _handle_key = getOrCreateHandle(key); 88 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "getKey", _handle_key)); 89 dropHandle!(T0)(_handle_key); 90 return result; 91 } 92 auto count(T0)(scope auto ref T0 key) { 93 // Any 94 Handle _handle_key = getOrCreateHandle(key); 95 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "count", _handle_key)); 96 dropHandle!(T0)(_handle_key); 97 return result; 98 } 99 auto count()() { 100 return IDBRequest(Object_Getter__Handle(this.handle, "count")); 101 } 102 auto mozGetAll(T0)(scope auto ref T0 key, uint limit) { 103 // Any 104 Handle _handle_key = getOrCreateHandle(key); 105 auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "mozGetAll", "Handle;uint", tuple(_handle_key, limit))); 106 dropHandle!(T0)(_handle_key); 107 return result; 108 } 109 auto mozGetAll(T0)(scope auto ref T0 key) { 110 // Any 111 Handle _handle_key = getOrCreateHandle(key); 112 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "mozGetAll", _handle_key)); 113 dropHandle!(T0)(_handle_key); 114 return result; 115 } 116 auto mozGetAll()() { 117 return IDBRequest(Object_Getter__Handle(this.handle, "mozGetAll")); 118 } 119 auto mozGetAllKeys(T0)(scope auto ref T0 key, uint limit) { 120 // Any 121 Handle _handle_key = getOrCreateHandle(key); 122 auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "mozGetAllKeys", "Handle;uint", tuple(_handle_key, limit))); 123 dropHandle!(T0)(_handle_key); 124 return result; 125 } 126 auto mozGetAllKeys(T0)(scope auto ref T0 key) { 127 // Any 128 Handle _handle_key = getOrCreateHandle(key); 129 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "mozGetAllKeys", _handle_key)); 130 dropHandle!(T0)(_handle_key); 131 return result; 132 } 133 auto mozGetAllKeys()() { 134 return IDBRequest(Object_Getter__Handle(this.handle, "mozGetAllKeys")); 135 } 136 auto getAll(T0)(scope auto ref T0 key, uint limit) { 137 // Any 138 Handle _handle_key = getOrCreateHandle(key); 139 auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "getAll", "Handle;uint", tuple(_handle_key, limit))); 140 dropHandle!(T0)(_handle_key); 141 return result; 142 } 143 auto getAll(T0)(scope auto ref T0 key) { 144 // Any 145 Handle _handle_key = getOrCreateHandle(key); 146 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "getAll", _handle_key)); 147 dropHandle!(T0)(_handle_key); 148 return result; 149 } 150 auto getAll()() { 151 return IDBRequest(Object_Getter__Handle(this.handle, "getAll")); 152 } 153 auto getAllKeys(T0)(scope auto ref T0 key, uint limit) { 154 // Any 155 Handle _handle_key = getOrCreateHandle(key); 156 auto result = IDBRequest(Serialize_Object_VarArgCall!Handle(this.handle, "getAllKeys", "Handle;uint", tuple(_handle_key, limit))); 157 dropHandle!(T0)(_handle_key); 158 return result; 159 } 160 auto getAllKeys(T0)(scope auto ref T0 key) { 161 // Any 162 Handle _handle_key = getOrCreateHandle(key); 163 auto result = IDBRequest(Object_Call_Handle__Handle(this.handle, "getAllKeys", _handle_key)); 164 dropHandle!(T0)(_handle_key); 165 return result; 166 } 167 auto getAllKeys()() { 168 return IDBRequest(Object_Getter__Handle(this.handle, "getAllKeys")); 169 } 170 } 171 struct IDBIndexParameters { 172 nothrow: 173 JsHandle handle; 174 alias handle this; 175 this(Handle h) { 176 this.handle = JsHandle(h); 177 } 178 static auto create() { 179 return IDBIndexParameters(libwasm_add__object()); 180 } 181 void unique()(bool unique) { 182 Object_Call_bool__void(this.handle, "unique", unique); 183 } 184 bool unique()() { 185 return Object_Getter__bool(this.handle, "unique"); 186 } 187 void multiEntry()(bool multiEntry) { 188 Object_Call_bool__void(this.handle, "multiEntry", multiEntry); 189 } 190 bool multiEntry()() { 191 return Object_Getter__bool(this.handle, "multiEntry"); 192 } 193 void locale(T0)(scope auto ref Optional!(T0) locale) if (isTOrPointer!(T0, string)) { 194 Serialize_Object_VarArgCall!void(this.handle, "locale", "Optional!(string)", tuple(!locale.empty, locale.front)); 195 } 196 Optional!(string) locale()() { 197 return Object_Getter__OptionalString(this.handle, "locale"); 198 } 199 } 200 201