Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 7x 7x 17x 17x 17x 17x 25x 18x 18x | import { type Cache } from '../../Cache'
import { type Observer } from '../../types'
const invalidateStack: Observer[] = []
let currentObserver: Observer
export function invalidateCache (cache: Observer) {
const skipLoop = Boolean(invalidateStack.length)
invalidateStack.push(cache)
Iif (skipLoop) return
while ((currentObserver = invalidateStack.shift())) {
if (currentObserver.isCache) {
invalidateStack.push(...(currentObserver as Cache).observers)
;(currentObserver as Cache).invalid = true
}
}
}
|