Skip to main content

Variable: tagKeys

const tagKeys: object

Defined in: web/lib/hooks/use-tags.ts:82

Query key factory for tag queries.

Type declaration

all

all: readonly ["tags"]

Base key for all tag queries

detail()

detail: (normalizedForm) => readonly ["tags", "detail", string]

Key for tag detail

Parameters

normalizedForm

string

Returns

readonly ["tags", "detail", string]

eprintsWithTag()

eprintsWithTag: (normalizedForm, params?) => readonly ["tags", "eprints", string, undefined | TagEprintParams]

Key for eprints by tag

Parameters

normalizedForm

string

params?

TagEprintParams

Returns

readonly ["tags", "eprints", string, undefined | TagEprintParams]

forEprint()

forEprint: (eprintUri) => readonly ["tags", "eprint", string]

Key for tags by eprint

Parameters

eprintUri

string

Returns

readonly ["tags", "eprint", string]

search: (query, params?) => readonly ["tags", "search", string, undefined | TagSearchParams]

Key for tag search

Parameters

query

string

params?

TagSearchParams

Returns

readonly ["tags", "search", string, undefined | TagSearchParams]

suggestions()

suggestions: (query) => readonly ["tags", "suggestions", string]

Key for tag suggestions

Parameters

query

string

Returns

readonly ["tags", "suggestions", string]

trending: (timeWindow) => readonly ["tags", "trending", "month" | "week" | "day"]

Key for trending tags

Parameters

timeWindow

"month" | "week" | "day"

Returns

readonly ["tags", "trending", "month" | "week" | "day"]

Remarks

Follows TanStack Query best practices for hierarchical cache key management.

Example

// Invalidate all tag queries
queryClient.invalidateQueries({ queryKey: tagKeys.all });

// Invalidate tags for a specific eprint
queryClient.invalidateQueries({ queryKey: tagKeys.forEprint(eprintUri) });

// Invalidate trending tags
queryClient.invalidateQueries({ queryKey: tagKeys.trending('week') });