24 lines
895 B
TypeScript
24 lines
895 B
TypeScript
/**
|
|
* Stable query key factory for font-related queries.
|
|
* Ensures consistent serialization for batch requests by sorting IDs.
|
|
*/
|
|
export const fontKeys = {
|
|
/** Base key for all font queries */
|
|
all: ['fonts'] as const,
|
|
|
|
/** Keys for font list queries */
|
|
lists: () => [...fontKeys.all, 'list'] as const,
|
|
/** Specific font list key with filter parameters */
|
|
list: (params: object) => [...fontKeys.lists(), params] as const,
|
|
|
|
/** Keys for font batch queries */
|
|
batches: () => [...fontKeys.all, 'batch'] as const,
|
|
/** Specific batch key, sorted for stability */
|
|
batch: (ids: string[]) => [...fontKeys.batches(), [...ids].sort()] as const,
|
|
|
|
/** Keys for font detail queries */
|
|
details: () => [...fontKeys.all, 'detail'] as const,
|
|
/** Specific font detail key by ID */
|
|
detail: (id: string) => [...fontKeys.details(), id] as const,
|
|
} as const;
|