From edbd24bbacb7486c816beae22c154903be503cca Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Tue, 30 Jun 2026 16:47:30 +0800 Subject: [PATCH] webapi, idb: Add IDBCursor and IDBCursorWithValue --- src/browser/js/js.zig | 1 + src/browser/tests/indexeddb.html | 141 +++++++++ src/browser/webapi/storage/idb/Engine.zig | 43 +++ src/browser/webapi/storage/idb/IDBCursor.zig | 268 ++++++++++++++++++ .../webapi/storage/idb/IDBCursorWithValue.zig | 48 ++++ .../webapi/storage/idb/IDBObjectStore.zig | 25 +- src/browser/webapi/storage/idb/IDBRequest.zig | 34 ++- .../webapi/storage/idb/IDBTransaction.zig | 6 +- src/browser/webapi/storage/idb/idb.zig | 4 + 9 files changed, 556 insertions(+), 14 deletions(-) create mode 100644 src/browser/webapi/storage/idb/IDBCursor.zig create mode 100644 src/browser/webapi/storage/idb/IDBCursorWithValue.zig diff --git a/src/browser/js/js.zig b/src/browser/js/js.zig index cbbba7cbb..952c61f6d 100644 --- a/src/browser/js/js.zig +++ b/src/browser/js/js.zig @@ -329,6 +329,7 @@ pub fn simpleZigValueToJs(isolate: Isolate, value: anytype, comptime fail: bool, // but this can never be valid. @compileError("Invalid TypeArray type: " ++ @typeName(value_type)); }, + Undefined => return isolate.initUndefined(), inline String, BigInt, Integer, Number, Value, Object => return value.handle, else => {}, } diff --git a/src/browser/tests/indexeddb.html b/src/browser/tests/indexeddb.html index b8d8d4cae..acbcc0f8d 100644 --- a/src/browser/tests/indexeddb.html +++ b/src/browser/tests/indexeddb.html @@ -632,6 +632,147 @@ } + + + + + + + + + + + +