UNPKG

@techsio/storefront-data

Version:

Medusa-first storefront data layer built on TanStack Query.

59 lines (58 loc) • 1.51 kB
const defaultCacheConfig = { static: { staleTime: 86400000, gcTime: 604800000, refetchOnWindowFocus: false, refetchOnMount: false, refetchOnReconnect: false }, semiStatic: { staleTime: 3600000, gcTime: 86400000, refetchOnWindowFocus: false, refetchOnMount: false, refetchOnReconnect: true }, realtime: { staleTime: 30000, gcTime: 300000, refetchOnWindowFocus: true, refetchOnMount: "always", refetchOnReconnect: true }, userData: { staleTime: 300000, gcTime: 1800000, refetchOnWindowFocus: true, refetchOnMount: true, refetchOnReconnect: true } }; function createCacheConfig(overrides = {}) { return { static: { ...defaultCacheConfig.static, ...overrides.static }, semiStatic: { ...defaultCacheConfig.semiStatic, ...overrides.semiStatic }, realtime: { ...defaultCacheConfig.realtime, ...overrides.realtime }, userData: { ...defaultCacheConfig.userData, ...overrides.userData } }; } function getPrefetchCacheOptions(cacheConfig, strategy) { const config = cacheConfig[strategy]; return { staleTime: config.staleTime, gcTime: config.gcTime }; } export { createCacheConfig, defaultCacheConfig, getPrefetchCacheOptions };