Skip to content

Commit

Permalink
fix(teamplay): simplify FinalizationRegistry WeakRef mock
Browse files Browse the repository at this point in the history
  • Loading branch information
cray0000 committed Sep 20, 2024
1 parent 1085432 commit eebfe75
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions packages/teamplay/utils/MockFinalizationRegistry.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
export const REGISTRY_SWEEP_INTERVAL = 10_000
export const MOCK_FINALIZATION_TIMEOUT = 10_000
const PERMANENT = false
export const REGISTRY_SWEEP_INTERVAL = 10000

// This is a mock implementation of FinalizationRegistry which doesn't actually
// finalize anything. It's used in environments where FinalizationRegistry is not
Expand Down Expand Up @@ -65,7 +63,7 @@ export class WeakRefBasedFinalizationRegistry {
if (registration.targetRef.deref() !== undefined) return
const value = registration.value
this.registrations.delete(key)
setTimeout(() => this.finalize(value), MOCK_FINALIZATION_TIMEOUT)
this.finalize(value)
})

if (this.registrations.size > 0) this.scheduleSweep()
Expand All @@ -81,12 +79,12 @@ let ExportedFinalizationRegistry

if (typeof FinalizationRegistry !== 'undefined') {
ExportedFinalizationRegistry = FinalizationRegistry
} else if (typeof WeakRef !== 'undefined' && !PERMANENT) {
} else if (typeof WeakRef !== 'undefined') {
console.warn('FinalizationRegistry is not available in this environment. ' +
'Using a mock implementation: WeakRefBasedFinalizationRegistry')
ExportedFinalizationRegistry = WeakRefBasedFinalizationRegistry
} else {
console.warn('FinalizationRegistry is not available in this environment. ' +
console.warn('Neither FinalizationRegistry nor WeakRef are available in this environment. ' +
'Using a mock implementation: PermanentFinalizationRegistry')
ExportedFinalizationRegistry = PermanentFinalizationRegistry
}
Expand Down

0 comments on commit eebfe75

Please sign in to comment.