mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-16 01:26:16 -08:00
23 lines
563 B
TypeScript
23 lines
563 B
TypeScript
import type ResourceScope from '../lifecycle/scope'
|
|
|
|
const pauses = new WeakMap<ResourceScope, number>()
|
|
|
|
export function settingScopeActive(scope: ResourceScope): boolean {
|
|
return !scope.closed && !pauses.get(scope)
|
|
}
|
|
|
|
export function pauseSettingScope(scope: ResourceScope): () => void {
|
|
pauses.set(scope, (pauses.get(scope) || 0) + 1)
|
|
let paused = true
|
|
return () => {
|
|
if (!paused)
|
|
return
|
|
paused = false
|
|
const count = (pauses.get(scope) || 1) - 1
|
|
if (count)
|
|
pauses.set(scope, count)
|
|
else
|
|
pauses.delete(scope)
|
|
}
|
|
}
|