<commit_before>import { PropTypes } from 'react-native';
import Baobab from 'baobab';

export const treeCursorPropType = PropTypes.instanceOf(Baobab);

export const treePathPropType = PropTypes.arrayOf(
  PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.number,
  ])
);

export const elementPathPropType = PropTypes.arrayOf(
  PropTypes.number,
);

export const elementPropType = PropTypes.shape({
  displayName: PropTypes.string,
  type: PropTypes.func.isRequired,
  props: PropTypes.object,
});

export const treeNodePropType = PropTypes.oneOfType([
  elementPropType,
  PropTypes.object,
]);

export const routePropType = PropTypes.shape({
  getTitle: PropTypes.func, // (navigator, index, routeStack) => ?string
  renderTitle: PropTypes.func, // (navigator, index, routeStack) => ?Component
  renderLeftButton: PropTypes.func, // (navigator, index, routeStack) => ?Component
  renderRightButton: PropTypes.func, // (navigator, index, routeStack) => ?Component<commit_msg>+ImmutablePropTypes<commit_after>import { PropTypes } from 'react-native';
import ImmutablePropTypes from 'react-immutable-proptypes';

export const treePathPropType = ImmutablePropTypes.listOf(
  PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.number,
  ])
);

export const elementPathPropType = ImmutablePropTypes.listOf(
  PropTypes.number,
);

export const elementPropType = PropTypes.shape({
  displayName: PropTypes.string,
  type: PropTypes.func.isRequired,
  props: PropTypes.object,
});

export const routePropType = PropTypes.shape({
  getTitle: PropTypes.func, // (navigator, index, routeStack) => ?string
  renderTitle: PropTypes.func, // (navigator, index, routeStack) => ?Component
  renderLeftButton: PropTypes.func, // (navigator, index, routeStack) => ?Component
  renderRightButton: PropTypes.func, // (navigator, index, routeStack) => ?Component
{'fraction_non_alphanumeric': 0.11948331539289558, 'fraction_numerical': 0.0, 'mean_word_length': 5.432525951557094, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, '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': '6243243', 'n_tokens_mistral': 533, 'n_tokens_neox': 566, 'n_words': 125}