| 19 | const HL_CACHE_MAX = 500; |
| 20 | const hlCache = new Map<string, string>(); |
| 21 | function cachedHighlight(hl: NonNullable<Awaited<ReturnType<typeof getCliHighlightPromise>>>, code: string, language: string): string { |
| 22 | const key = hashPair(language, code); |
| 23 | const hit = hlCache.get(key); |
| 24 | if (hit !== undefined) { |
| 25 | hlCache.delete(key); |
| 26 | hlCache.set(key, hit); |
| 27 | return hit; |
| 28 | } |
| 29 | const out = hl.highlight(code, { |
| 30 | language |
| 31 | }); |
| 32 | if (hlCache.size >= HL_CACHE_MAX) { |
| 33 | const first = hlCache.keys().next().value; |
| 34 | if (first !== undefined) hlCache.delete(first); |
| 35 | } |
| 36 | hlCache.set(key, out); |
| 37 | return out; |
| 38 | } |
| 39 | export function HighlightedCodeFallback(t0) { |
| 40 | const $ = _c(20); |
| 41 | const { |