Skip to content

Commit b4a3987

Browse files
fix: Fis feature test for WeakRef fails in browser extensions
Removes window object access in `ReactiveValue`. See #97.
1 parent e97c937 commit b4a3987

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

packages/js-draw/src/util/ReactiveValue.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,8 @@ export abstract class ReactiveValue<T> {
9191
sourceValues: ReactiveValue<any>[],
9292
): ReactiveValue<T> {
9393
const result = new ReactiveValueImpl(callback());
94-
const resultRef = (window as any).WeakRef
95-
? new (window as any).WeakRef(result)
96-
: { deref: () => result };
94+
const resultRef =
95+
typeof WeakRef !== 'undefined' ? new WeakRef(result) : { deref: () => result };
9796

9897
for (const value of sourceValues) {
9998
const listener = value.onUpdate(() => {
@@ -179,9 +178,7 @@ export abstract class MutableReactiveValue<T> extends ReactiveValue<T> {
179178
propertyName: Name,
180179
): MutableReactiveValue<SourceType[Name]> {
181180
const child = ReactiveValue.fromInitialValue(sourceValue.get()[propertyName]);
182-
const childRef = (window as any).WeakRef
183-
? new (window as any).WeakRef(child)
184-
: { deref: () => child };
181+
const childRef = typeof WeakRef !== 'undefined' ? new WeakRef(child) : { deref: () => child };
185182

186183
// When the source is updated...
187184
const sourceListener = sourceValue.onUpdate((newValue) => {

0 commit comments

Comments
 (0)