MCPcopy Create free account
hub / github.com/fontsource/fontsource / buildAlgoliaCacheKey

Function buildAlgoliaCacheKey

website/app/utils/algolia.ts:3–39  ·  view source on GitHub ↗
(requestUrl: string)

Source from the content-addressed store, hash-verified

1const ALGOLIA_CACHE_KEY_PREFIX = 'algolia:ssr';
2
3export const buildAlgoliaCacheKey = (requestUrl: string): string => {
4 const source = new URL(requestUrl).searchParams;
5 const params = new URLSearchParams();
6
7 const query = source.get('query')?.trim();
8 if (query) {
9 params.set('query', query);
10 }
11
12 const subsets = source
13 .getAll('subsets')
14 .flatMap((value) => value.split(','))
15 .map((value) => value.trim())
16 .filter(Boolean);
17 if (subsets.length) {
18 params.set('subsets', [...new Set(subsets)].sort().join(','));
19 }
20
21 const category = source.get('category')?.trim();
22 if (category) {
23 params.set('category', category);
24 }
25
26 if (source.getAll('variable').some((value) => value.trim())) {
27 params.set('variable', 'true');
28 }
29
30 const sort = source.get('sort')?.trim();
31 if (sort) {
32 params.set('sort', sort);
33 }
34
35 const suffix = params.toString();
36 return suffix
37 ? `${ALGOLIA_CACHE_KEY_PREFIX}:${suffix}`
38 : `${ALGOLIA_CACHE_KEY_PREFIX}:root`;
39};

Callers 2

algolia.test.tsFile · 0.90
loaderFunction · 0.90

Calls 3

setMethod · 0.80
toStringMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected