/**
 * Assumes true for a non-browser env, otherwise makes a best effort
 * @link https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState
 */
export function isDocumentVisible(): boolean {
  // `document` may not exist in non-browser envs (like RN)
  if (typeof document === 'undefined') {
    return true
  }
  // Match true for visible, prerender, undefined
  return document.visibilityState !== 'hidden'
}
