import { hasCacheProvider, registerCacheProvider } from "@suaveplan/cache"; import { StorageCache } from "../storage-cache/index.js"; declare module "@suaveplan/cache" { interface CacheProviderRegistry { storage: typeof StorageCache; } } let registered = false; /** * Idempotently register `StorageCache` as the `"storage"` provider on the * shared `CacheFactory` registry. * * Side-effect import — running this module once is enough; repeated imports * are no-ops. */ export function registerStorageProvider(): void { if (registered || hasCacheProvider("storage")) { registered = true; return; } registerCacheProvider( "storage", StorageCache as unknown as Parameters[1] ); registered = true; } registerStorageProvider();