23 lines
No EOL
674 B
TypeScript
23 lines
No EOL
674 B
TypeScript
import { NamespacedCache } from './namespaced-cache';
|
|
import type { CacheProvider } from './types';
|
|
|
|
/**
|
|
* Factory function to create namespaced caches
|
|
* Provides a clean API for services to get their own namespaced cache
|
|
*/
|
|
export function createNamespacedCache(
|
|
cache: CacheProvider | null | undefined,
|
|
namespace: string
|
|
): CacheProvider | null {
|
|
if (!cache) {
|
|
return null;
|
|
}
|
|
return new NamespacedCache(cache, namespace);
|
|
}
|
|
|
|
/**
|
|
* Type guard to check if cache is available
|
|
*/
|
|
export function isCacheAvailable(cache: any): cache is CacheProvider {
|
|
return cache !== null && cache !== undefined && typeof cache.get === 'function';
|
|
} |