From b80569a3117ccf353a9ee63cfd62eeede7581d25 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Sun, 24 Nov 2024 10:06:18 +0530 Subject: [PATCH] Make iterateKeys op private --- ext/webstorage/01_webstorage.js | 4 ++-- ext/webstorage/lib.rs | 31 +++++++++++++++++-------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/ext/webstorage/01_webstorage.js b/ext/webstorage/01_webstorage.js index 19aca532a08c11..12abea8387ca3b 100644 --- a/ext/webstorage/01_webstorage.js +++ b/ext/webstorage/01_webstorage.js @@ -3,7 +3,7 @@ /// import { primordials } from "ext:core/mod.js"; -import { Storage } from "ext:core/ops"; +import { op_webstorage_iterate_keys, Storage } from "ext:core/ops"; const { SymbolFor, ObjectFromEntries, @@ -69,7 +69,7 @@ function createStorage(persistent) { }, ownKeys() { - return storage.iterateKeys(); + return op_webstorage_iterate_keys(storage); }, getOwnPropertyDescriptor(target, key) { diff --git a/ext/webstorage/lib.rs b/ext/webstorage/lib.rs index 149e1f83ea20f1..c3e4c465969ed3 100644 --- a/ext/webstorage/lib.rs +++ b/ext/webstorage/lib.rs @@ -32,6 +32,9 @@ const MAX_STORAGE_BYTES: usize = 10 * 1024 * 1024; deno_core::extension!(deno_webstorage, deps = [ deno_webidl ], + ops = [ + op_webstorage_iterate_keys, + ], objects = [ Storage ], @@ -224,21 +227,21 @@ impl Storage { Ok(()) } +} - #[method] - #[serde] - fn iterate_keys( - &self, - state: &mut OpState, - ) -> Result, WebStorageError> { - let conn = get_webstorage(state, self.persistent)?; +#[op2] +#[serde] +fn op_webstorage_iterate_keys( + #[cppgc] storage: &Storage, + state: &mut OpState, +) -> Result, WebStorageError> { + let conn = get_webstorage(state, storage.persistent)?; - let mut stmt = conn.prepare_cached("SELECT key FROM data")?; - let keys = stmt - .query_map(params![], |row| row.get::<_, String>(0))? - .map(|r| r.unwrap()) - .collect(); + let mut stmt = conn.prepare_cached("SELECT key FROM data")?; + let keys = stmt + .query_map(params![], |row| row.get::<_, String>(0))? + .map(|r| r.unwrap()) + .collect(); - Ok(keys) - } + Ok(keys) }