Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | // @flow import React from "react" type GetProps<Props, ComponentProps> = (props: Props) => ComponentProps type Prepare<Props, ComponentProps> = ( Component: React$AbstractComponent<ComponentProps, any> ) => React$AbstractComponent<Props, any> /* * Receive Props, transform them in ComponentProps and return * Component with ComponentProps */ const prepareComponent = <Props, ComponentProps>( usePrepareComponent: GetProps<Props, ComponentProps> ): Prepare<Props, ComponentProps> => ( Component: React$AbstractComponent<ComponentProps, any> ): React$AbstractComponent<Props, any> => { const PrepareComponent = (props: Props) => { const newProps: ComponentProps = usePrepareComponent(props) return <Component {...newProps} /> } return PrepareComponent } export default prepareComponent |