<commit_before>// @flow
import { isElement } from './instanceOf';
import type { Window } from '../types';

export default function getDocumentElement(
  element: Element | Window
): HTMLElement {
  // $FlowFixMe: assume body is always available
  return (isElement(element) ? element.ownerDocument : element.document)
    .documentElement;
}<commit_msg>fix: add fallback to window.document for getDocumentElement<commit_after>// @flow
import { isElement } from './instanceOf';
import type { Window } from '../types';

export default function getDocumentElement(
  element: Element | Window
): HTMLElement {
  // $FlowFixMe: assume body is always available
  return (
    (isElement(element) ? element.ownerDocument : element.document) ||
    window.document
  ).documentElement;
}
{'fraction_non_alphanumeric': 0.11666666666666667, 'fraction_numerical': 0.0, 'mean_word_length': 4.423611111111111, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7641619', 'n_tokens_mistral': 210, 'n_tokens_neox': 210, 'n_words': 67}