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", "day" | "week" | "month"]

Key for trending tags

Parameters​

timeWindow​

"day" | "week" | "month"

Returns​

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

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') });