From 4d124dfb46a01e677a8c61e93108878cacc2e21c Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Wed, 4 Sep 2024 09:29:29 +0200 Subject: [PATCH] rename, use cache.entries --- packages/trace-viewer/src/snapshotRenderer.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/trace-viewer/src/snapshotRenderer.ts b/packages/trace-viewer/src/snapshotRenderer.ts index 10cdb38552..f2d39e87c6 100644 --- a/packages/trace-viewer/src/snapshotRenderer.ts +++ b/packages/trace-viewer/src/snapshotRenderer.ts @@ -29,7 +29,7 @@ let cacheSize = 0; const cache = new Map(); const CACHE_SIZE = 300000000; // 300mb -function cacheAndReturn(key: SnapshotRenderer, compute: () => string): string { +function lruCache(key: SnapshotRenderer, compute: () => string): string { if (cache.has(key)) { const value = cache.get(key)!; // reinserting makes this the least recently used entry @@ -42,9 +42,9 @@ function cacheAndReturn(key: SnapshotRenderer, compute: () => string): string { const result = compute(); while (cache.size && cacheSize + result.length > CACHE_SIZE) { - const first = cache.keys().next().value; - cacheSize -= cache.get(first)!.length; - cache.delete(first); + const [firstKey, firstValue] = cache.entries().next().value; + cacheSize -= firstValue.length; + cache.delete(firstKey); } cache.set(key, result); @@ -151,7 +151,7 @@ export class SnapshotRenderer { }; const snapshot = this._snapshot; - const html = cacheAndReturn(this, () => { + const html = lruCache(this, () => { visit(snapshot.html, this._index, undefined, undefined); const html = result.join('');