import type { AccessibilityProps, TextProps } from 'react-native'; const ACCESSIBILITY_KEYS: ReadonlyArray = [ 'accessible', 'accessibilityActions', 'accessibilityLabel', 'accessibilityRole', 'accessibilityState', 'accessibilityHint', 'accessibilityValue', 'onAccessibilityAction', // Android 'accessibilityLabelledBy', 'accessibilityLiveRegion', 'importantForAccessibility', // iOS 'accessibilityElementsHidden', 'accessibilityLanguage', 'accessibilityIgnoresInvertColors', 'accessibilityViewIsModal', 'onAccessibilityEscape', 'onAccessibilityTap', 'onMagicTap', 'accessibilityIgnoresInvertColors', ]; export const pickAccessibilityProps = (props: TextProps): AccessibilityProps => ACCESSIBILITY_KEYS.filter((key) => key in props).reduce( (acc, key) => Object.assign(acc, { [key]: props[key] }), {} );