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);