summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2021-07-03 15:19:41 +0530
committerGitHub <noreply@github.com>2021-07-03 11:49:41 +0200
commite90b97ada252a7fe81bb3ae547be4d772f70cded (patch)
tree9e701070713b499efffa98dcbe81683be1f2f462
parentcaf87694d0f7168f82fc91685d1e688b68ba5ffa (diff)
refactor: use primordials for extensions/webstorage (#11239)
-rw-r--r--extensions/webstorage/01_webstorage.js18
1 files changed, 14 insertions, 4 deletions
diff --git a/extensions/webstorage/01_webstorage.js b/extensions/webstorage/01_webstorage.js
index 43a1dbbfb..e55e94280 100644
--- a/extensions/webstorage/01_webstorage.js
+++ b/extensions/webstorage/01_webstorage.js
@@ -1,8 +1,18 @@
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
+/// <reference path="../../core/internal.d.ts" />
+
((window) => {
const core = window.Deno.core;
const webidl = window.__bootstrap.webidl;
+ const {
+ Symbol,
+ ObjectDefineProperty,
+ ObjectFromEntries,
+ ObjectEntries,
+ ReflectGet,
+ Proxy,
+ } = window.__bootstrap.primordials;
const _persistent = Symbol("[[persistent]]");
@@ -96,7 +106,7 @@
},
defineProperty(target, key, descriptor) {
if (typeof key == "symbol") {
- Object.defineProperty(target, key, descriptor);
+ ObjectDefineProperty(target, key, descriptor);
} else {
target.setItem(key, descriptor.value);
}
@@ -105,14 +115,14 @@
get(target, key) {
if (typeof key == "symbol") return target[key];
if (key in target) {
- return Reflect.get(...arguments);
+ return ReflectGet(...arguments);
} else {
return target.getItem(key) ?? undefined;
}
},
set(target, key, value) {
if (typeof key == "symbol") {
- Object.defineProperty(target, key, {
+ ObjectDefineProperty(target, key, {
value,
configurable: true,
});
@@ -151,7 +161,7 @@
return `${this.constructor.name} ${
inspect({
length: this.length,
- ...Object.fromEntries(Object.entries(proxy)),
+ ...ObjectFromEntries(ObjectEntries(proxy)),
})
}`;
};