'use strict'; import type { StyleProp } from 'react-native'; import type { AnyRecord } from '../../common'; import type { CSSStyle } from '../types'; import { isCSSStyleProp } from '../utils/guards'; function filterNonCSSStylePropsRecursive( props: StyleProp ): StyleProp { if (Array.isArray(props)) { return props.map((prop) => filterNonCSSStylePropsRecursive(prop as StyleProp) ); } if (!props) { return props; } if (typeof props === 'object') { return Object.entries(props).reduce((acc, [key, value]) => { if (!isCSSStyleProp(key)) { acc[key] = value; } return acc; }, {}); } return props; } export function filterNonCSSStyleProps( props: StyleProp ): StyleProp { return filterNonCSSStylePropsRecursive(props); }