aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/webcomponents/polyfills.ts
diff options
context:
space:
mode:
Diffstat (limited to 'web_src/js/webcomponents/polyfills.ts')
-rw-r--r--web_src/js/webcomponents/polyfills.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/web_src/js/webcomponents/polyfills.ts b/web_src/js/webcomponents/polyfills.ts
index 4a84ee9562..9575324b5a 100644
--- a/web_src/js/webcomponents/polyfills.ts
+++ b/web_src/js/webcomponents/polyfills.ts
@@ -16,3 +16,19 @@ try {
return intlNumberFormat(locales, options);
};
}
+
+export function weakRefClass() {
+ const weakMap = new WeakMap();
+ return class {
+ constructor(target: any) {
+ weakMap.set(this, target);
+ }
+ deref() {
+ return weakMap.get(this);
+ }
+ };
+}
+
+if (!window.WeakRef) {
+ window.WeakRef = weakRefClass() as any;
+}