refactor(core): CORE-14 split typed settings and scope tree lifetimes

This commit is contained in:
Harvey Zhao committed 2026-09-11 06:49:04 +08:00
1 parent 697817eceb
commit 64d1939daa
51 files changed
+28144 -1519

No files matched your search

@@ -0,0 +1,22 @@
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)
}
}