Files
HMDesign/packages/ui/src/theme/requests.ts
T

6 lines
451 B
TypeScript

// One owner per root. A newer load/apply/reset supersedes an in-flight load.
const requests = new WeakMap<HTMLElement, object>()
export function beginThemeRequest(root: HTMLElement) { const request = {}; requests.set(root, request); return request }
export function isCurrentThemeRequest(root: HTMLElement, request: object) { return requests.get(root) === request }
export function invalidateThemeRequest(root: HTMLElement) { requests.delete(root) }