MCPcopy Create free account
hub / github.com/anomalyco/opencode / acquireVirtualizer

Function acquireVirtualizer

packages/session-ui/src/pierre/virtualizer.ts:66–100  ·  view source on GitHub ↗
(container: HTMLElement)

Source from the content-addressed store, hash-verified

64}
65
66export function acquireVirtualizer(container: HTMLElement) {
67 const resolved = target(container)
68 if (!resolved) return
69
70 let entry = cache.get(resolved.key)
71 if (!entry) {
72 const virtualizer = new Virtualizer()
73 virtualizer.setup(resolved.root, resolved.content)
74 entry = {
75 virtualizer,
76 refs: 0,
77 }
78 cache.set(resolved.key, entry)
79 }
80
81 entry.refs += 1
82 let done = false
83
84 return {
85 virtualizer: entry.virtualizer,
86 release() {
87 if (done) return
88 done = true
89
90 const current = cache.get(resolved.key)
91 if (!current) return
92
93 current.refs -= 1
94 if (current.refs > 0) return
95
96 current.virtualizer.cleanUp()
97 cache.delete(resolved.key)
98 },
99 }
100}

Callers 2

getVirtualizerFunction · 0.90

Calls 3

targetFunction · 0.70
getMethod · 0.65
setMethod · 0.45

Tested by

no test coverage detected