UNPKG

@hcaptcha/react-native-hcaptcha

Version:

hCaptcha Library for React Native (both Android and iOS)

39 lines (28 loc) 966 B
// __mocks__/react-native-webview.js import React from 'react'; let messageDataToSend = null; let lastInjectJavaScriptMock = null; export const setWebViewMessageData = (data) => { messageDataToSend = data; }; export const getLastInjectJavaScriptMock = () => lastInjectJavaScriptMock; export const resetWebViewMockState = () => { messageDataToSend = null; lastInjectJavaScriptMock = null; }; const WebView = React.forwardRef((props, ref) => { const { onMessage } = props; const injectJavaScript = React.useMemo(() => jest.fn(), []); lastInjectJavaScriptMock = injectJavaScript; React.useImperativeHandle(ref, () => ({ injectJavaScript, }), [injectJavaScript]); React.useEffect(() => { if (messageDataToSend && onMessage) { onMessage({ nativeEvent: { data: messageDataToSend } }); messageDataToSend = null; } }, [onMessage]); return React.createElement('WebView', { ...props, ref }); }); export default WebView;