@satoshibits/cache-keys
Version:
Type-safe cache key generation with zero dependencies
55 lines • 2.57 kB
text/typescript
import type { ID } from '../types.mjs';
/**
* User-related cache key factories
*/
export declare const userKeys: {
/**
* User profile key
* @example userKeys.profile.key('507f1f77bcf86cd799439011')
* @returns 'user:profile:507f1f77bcf86cd799439011'
*/
readonly profile: import("../types.mjs").CacheKeyFactory<`user:profile:${string}`, [id: string | number]>;
/**
* User settings key
* @example userKeys.settings.key('507f1f77bcf86cd799439011')
* @returns 'user:settings:507f1f77bcf86cd799439011'
*/
readonly settings: import("../types.mjs").CacheKeyFactory<`user:settings:${string}`, [id: string | number]>;
/**
* User session key
* @example userKeys.session.key('507f1f77bcf86cd799439011', 'session123')
* @returns 'user:session:507f1f77bcf86cd799439011:session123'
*/
readonly session: import("../types.mjs").CacheKeyFactory<`user:session:${string}:${string}`, [userId: ID, sessionId: string]>;
/**
* User permissions key
* @example userKeys.permissions.key('507f1f77bcf86cd799439011')
* @returns 'user:permissions:507f1f77bcf86cd799439011'
*/
readonly permissions: import("../types.mjs").CacheKeyFactory<`user:permissions:${string}`, [id: string | number]>;
/**
* User activity feed paginated key
* @example userKeys.activity.key('507f1f77bcf86cd799439011', 1, 20)
* @returns 'user:activity:507f1f77bcf86cd799439011:page_1:limit_20'
*/
readonly activity: import("../types.mjs").CacheKeyFactory<`user:activity:${string}:page_${number}:limit_${number}`, [id: string | number, page: number, limit: number]>;
/**
* User preferences key
* @example userKeys.preferences.key('507f1f77bcf86cd799439011')
* @returns 'user:preferences:507f1f77bcf86cd799439011'
*/
readonly preferences: import("../types.mjs").CacheKeyFactory<`user:preferences:${string}`, [id: string | number]>;
/**
* User notification settings key
* @example userKeys.notifications.key('507f1f77bcf86cd799439011')
* @returns 'user:notifications:507f1f77bcf86cd799439011'
*/
readonly notifications: import("../types.mjs").CacheKeyFactory<`user:notifications:${string}`, [id: string | number]>;
/**
* User API token key
* @example userKeys.apiTokens.key('507f1f77bcf86cd799439011')
* @returns 'user:apiTokens:507f1f77bcf86cd799439011'
*/
readonly apiTokens: import("../types.mjs").CacheKeyFactory<`user:apiTokens:${string}`, [id: string | number]>;
};
//# sourceMappingURL=user.d.mts.map