1*641d0767SEvan Baconimport React, { useMemo } from 'react';
2*641d0767SEvan Bacon
3*641d0767SEvan Baconimport { filterStyles } from './filterStyles';
4*641d0767SEvan Bacon
5*641d0767SEvan Baconexport function createSafeStyledView<TView extends React.ComponentType<any>>(View: TView) {
6*641d0767SEvan Bacon  return React.forwardRef(({ style, ...props }: any, forwardedRef: React.Ref<TView>) => {
7*641d0767SEvan Bacon    // Filter and apply `center` prop.
8*641d0767SEvan Bacon    const finalStyle = useMemo(() => filterStyles(style), [style]);
9*641d0767SEvan Bacon
10*641d0767SEvan Bacon    return <View ref={forwardedRef} style={finalStyle} {...props} />;
11*641d0767SEvan Bacon  });
12*641d0767SEvan Bacon}
13