diff options
Diffstat (limited to 'ext/webstorage/01_webstorage.js')
-rw-r--r-- | ext/webstorage/01_webstorage.js | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/ext/webstorage/01_webstorage.js b/ext/webstorage/01_webstorage.js index 7c3f21dc6..d5e94aaee 100644 --- a/ext/webstorage/01_webstorage.js +++ b/ext/webstorage/01_webstorage.js @@ -3,8 +3,15 @@ /// <reference path="../../core/internal.d.ts" /> import { core, primordials } from "ext:core/mod.js"; -const ops = core.ops; -import * as webidl from "ext:deno_webidl/00_webidl.js"; +const { + op_webstorage_clear, + op_webstorage_get, + op_webstorage_iterate_keys, + op_webstorage_key, + op_webstorage_length, + op_webstorage_remove, + op_webstorage_set, +} = core.ensureFastOps(); const { Symbol, SymbolFor, @@ -17,6 +24,8 @@ const { Proxy, } = primordials; +import * as webidl from "ext:deno_webidl/00_webidl.js"; + const _persistent = Symbol("[[persistent]]"); class Storage { @@ -28,7 +37,7 @@ class Storage { get length() { webidl.assertBranded(this, StoragePrototype); - return ops.op_webstorage_length(this[_persistent]); + return op_webstorage_length(this[_persistent]); } key(index) { @@ -37,7 +46,7 @@ class Storage { webidl.requiredArguments(arguments.length, 1, prefix); index = webidl.converters["unsigned long"](index, prefix, "Argument 1"); - return ops.op_webstorage_key(index, this[_persistent]); + return op_webstorage_key(index, this[_persistent]); } setItem(key, value) { @@ -47,7 +56,7 @@ class Storage { key = webidl.converters.DOMString(key, prefix, "Argument 1"); value = webidl.converters.DOMString(value, prefix, "Argument 2"); - ops.op_webstorage_set(key, value, this[_persistent]); + op_webstorage_set(key, value, this[_persistent]); } getItem(key) { @@ -56,7 +65,7 @@ class Storage { webidl.requiredArguments(arguments.length, 1, prefix); key = webidl.converters.DOMString(key, prefix, "Argument 1"); - return ops.op_webstorage_get(key, this[_persistent]); + return op_webstorage_get(key, this[_persistent]); } removeItem(key) { @@ -65,12 +74,12 @@ class Storage { webidl.requiredArguments(arguments.length, 1, prefix); key = webidl.converters.DOMString(key, prefix, "Argument 1"); - ops.op_webstorage_remove(key, this[_persistent]); + op_webstorage_remove(key, this[_persistent]); } clear() { webidl.assertBranded(this, StoragePrototype); - ops.op_webstorage_clear(this[_persistent]); + op_webstorage_clear(this[_persistent]); } } @@ -126,7 +135,7 @@ function createStorage(persistent) { }, ownKeys() { - return ops.op_webstorage_iterate_keys(persistent); + return op_webstorage_iterate_keys(persistent); }, getOwnPropertyDescriptor(target, key) { |