cache.ts 723 B

12345678910111213141516171819202122232425
  1. // Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. import { InMemoryCache } from '@apollo/client/core'
  3. import type { InMemoryCacheConfig } from '@apollo/client/cache/inmemory/types'
  4. import { ImportGlobEagerDefault } from '@common/types/utils'
  5. let cacheConfig = {}
  6. const cacheInitializerModules = import.meta.globEager(
  7. './cache/initializer/*.ts',
  8. )
  9. type RegisterInMemoryCacheConfig = (
  10. config: InMemoryCacheConfig,
  11. ) => InMemoryCacheConfig
  12. Object.values(cacheInitializerModules).forEach(
  13. (module: ImportGlobEagerDefault<RegisterInMemoryCacheConfig>) => {
  14. const register = module.default
  15. cacheConfig = register(cacheConfig)
  16. },
  17. )
  18. export default new InMemoryCache(cacheConfig)