MCPcopy
hub / github.com/ZToolsCenter/ZTools / setIconCache

Function setIconCache

src/main/core/iconProtocol.ts:12–24  ·  view source on GitHub ↗

* 写入图标缓存(LRU 淘汰) * 命中时先 delete 再 set,保证该 key 移到 Map 末尾(最近使用)

(key: string, buffer: Buffer)

Source from the content-addressed store, hash-verified

10 * 命中时先 delete 再 set,保证该 key 移到 Map 末尾(最近使用)
11 */
12function setIconCache(key: string, buffer: Buffer): void {
13 // 已存在则先删除,重新插入以刷新顺序
14 if (iconMemoryCache.has(key)) {
15 iconMemoryCache.delete(key)
16 } else if (iconMemoryCache.size >= MAX_ICON_CACHE) {
17 // 淘汰最早插入(最久未使用)的条目
18 const oldest = iconMemoryCache.keys().next().value
19 if (oldest !== undefined) {
20 iconMemoryCache.delete(oldest)
21 }
22 }
23 iconMemoryCache.set(key, buffer)
24}
25
26/**
27 * 根据平台提取图标并返回 PNG Buffer(异步,直接调用原生,无队列)

Callers 2

getFileIconAsBase64Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected