pdf-caching-flags.js 970 B

123456789101112131415161718192021222324252627
  1. import getMeta from '../../../utils/meta'
  2. const hasTextEncoder = typeof TextEncoder !== 'undefined'
  3. if (!hasTextEncoder) {
  4. console.warn('TextEncoder is not available. Disabling pdf-caching.')
  5. }
  6. const isOpera =
  7. Array.isArray(navigator.userAgentData?.brands) &&
  8. navigator.userAgentData.brands.some(b => b.brand === 'Opera')
  9. if (isOpera) {
  10. console.warn('Browser cache is limited in Opera. Disabling pdf-caching.')
  11. }
  12. function isFlagEnabled(flag) {
  13. if (!hasTextEncoder) return false
  14. if (isOpera) return false
  15. return getMeta('ol-splitTestVariants')?.[flag] === 'enabled'
  16. }
  17. export const cachedUrlLookupEnabled = isFlagEnabled(
  18. 'pdf-caching-cached-url-lookup'
  19. )
  20. export const prefetchingEnabled = isFlagEnabled('pdf-caching-prefetching')
  21. export const prefetchLargeEnabled = isFlagEnabled('pdf-caching-prefetch-large')
  22. export const enablePdfCaching = isFlagEnabled('pdf-caching-mode')
  23. export const trackPdfDownloadEnabled = isFlagEnabled('track-pdf-download')