Skip to content

Commit

Permalink
Make iterateKeys op private
Browse files Browse the repository at this point in the history
  • Loading branch information
littledivy committed Nov 24, 2024
1 parent 887100e commit b80569a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 16 deletions.
4 changes: 2 additions & 2 deletions ext/webstorage/01_webstorage.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/// <reference path="../../core/internal.d.ts" />

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,
Expand Down Expand Up @@ -69,7 +69,7 @@ function createStorage(persistent) {
},

ownKeys() {
return storage.iterateKeys();
return op_webstorage_iterate_keys(storage);
},

getOwnPropertyDescriptor(target, key) {
Expand Down
31 changes: 17 additions & 14 deletions ext/webstorage/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
],
Expand Down Expand Up @@ -224,21 +227,21 @@ impl Storage {

Ok(())
}
}

#[method]
#[serde]
fn iterate_keys(
&self,
state: &mut OpState,
) -> Result<Vec<String>, WebStorageError> {
let conn = get_webstorage(state, self.persistent)?;
#[op2]
#[serde]
fn op_webstorage_iterate_keys(
#[cppgc] storage: &Storage,
state: &mut OpState,
) -> Result<Vec<String>, 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)
}

0 comments on commit b80569a

Please sign in to comment.