@office-iss/react-native-win32 0.0.0-canary.284 → 0.0.0-canary.285
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +40 -1
- package/CHANGELOG.md +20 -8
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +38 -17
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/Alert/Alert.flow.js +62 -0
- package/Libraries/Alert/Alert.js +4 -27
- package/Libraries/Alert/Alert.win32.js +5 -27
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.flow.js +20 -0
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/useAnimatedProps.js +4 -294
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/Blob/FileReader.js +8 -174
- package/Libraries/Blob/FileReader_new.js +231 -0
- package/Libraries/Blob/FileReader_old.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +2 -2
- package/Libraries/Blob/NativeFileReaderModule.js +2 -2
- package/Libraries/Blob/URLSearchParams.js +1 -2
- package/Libraries/BugReporting/NativeBugReporting.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +14 -18
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/InputAccessoryView.js +4 -2
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +98 -88
- package/Libraries/Components/TextInput/TextInput.js +103 -96
- package/Libraries/Components/TextInput/TextInput.win32.js +105 -98
- package/Libraries/Components/TextInput/TextInputState.js +3 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +3 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/View.win32.js +1 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
- package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
- package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
- package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +5 -4
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +5 -2
- package/Libraries/Core/NativeExceptionsManager.js +2 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/NativeTiming.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +2 -9
- package/Libraries/Core/setUpBatchedBridge.js +4 -3
- package/Libraries/Core/setUpDeveloperTools.js +2 -7
- package/Libraries/Core/setUpErrorHandling.js +1 -6
- package/Libraries/Core/setUpReactDevTools.js +22 -4
- package/Libraries/Core/setUpTimers.js +17 -17
- package/Libraries/Core/setUpXHR.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +3 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/Image.android.js +3 -1
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -5
- package/Libraries/Image/NativeImageEditor.js +2 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
- package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
- package/Libraries/Image/NativeImageStoreIOS.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +3 -1
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +8 -6
- package/Libraries/Interaction/InteractionManagerStub.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +2 -2
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.d.ts +3 -3
- package/Libraries/Linking/Linking.js +10 -8
- package/Libraries/Linking/NativeIntentAndroid.js +2 -2
- package/Libraries/Linking/NativeLinkingManager.js +2 -2
- package/Libraries/Lists/FillRateHelper.js +1 -1
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/ViewabilityHelper.js +1 -1
- package/Libraries/Lists/VirtualizeUtils.js +1 -3
- package/Libraries/Lists/VirtualizedList.js +1 -1
- package/Libraries/Lists/VirtualizedListContext.js +1 -3
- package/Libraries/Lists/VirtualizedSectionList.js +1 -1
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
- package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
- package/Libraries/Network/NativeNetworkingIOS.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +11 -685
- package/Libraries/Network/XMLHttpRequest_new.js +790 -0
- package/Libraries/Network/XMLHttpRequest_old.js +697 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +2 -2
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/FabricUIManager.js +18 -8
- package/Libraries/ReactNative/I18nManager.js +1 -1
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
- package/Libraries/ReactNative/NativeI18nManager.js +2 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.js +2 -3
- package/Libraries/ReactNative/PaperUIManager.win32.js +2 -3
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -31
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +1 -1
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +9 -0
- package/Libraries/ReactNative/UIManager.d.ts +1 -0
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -5
- package/Libraries/ReactNative/requireNativeComponent.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +9 -4
- package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -1
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/Settings.win32.js +1 -1
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +2 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +2 -1
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/Text/Text.js +1 -1
- package/Libraries/Text/Text.win32.js +1 -1
- package/Libraries/Text/TextAncestor.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CoreEventTypes.js +2 -0
- package/Libraries/Types/CoreEventTypes.win32.js +2 -0
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/NativeAppearance.js +2 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/ReactNativeTestTools.js +3 -4
- package/Libraries/Utilities/dismissKeyboard.js +2 -1
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
- package/Libraries/WebSocket/WebSocket.js +8 -285
- package/Libraries/WebSocket/WebSocketEvent.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
- package/Libraries/WebSocket/WebSocket_new.js +325 -0
- package/Libraries/WebSocket/WebSocket_old.js +297 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/index.js +25 -26
- package/index.win32.js +25 -26
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +91 -65
- package/overrides.json +30 -42
- package/package.json +16 -16
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +1 -1
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +23 -30
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -7
- package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
- package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
- package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +8 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +14 -12
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +18 -15
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +5 -5
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +12 -10
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +35 -20
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +5 -5
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +1 -1
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +5 -3
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +3 -2
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -4
- package/src/private/setup/setUpDOM.js +7 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
- package/src/private/webapis/dom/events/CustomEvent.js +40 -0
- package/src/private/webapis/dom/events/Event.js +236 -0
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
- package/src/private/webapis/dom/events/EventTarget.js +436 -0
- package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +120 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +48 -25
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +6 -5
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +25 -25
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +55 -77
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +43 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
- package/src/private/webapis/html/events/MessageEvent.js +63 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +12 -9
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +4 -6
- package/src/private/webapis/websockets/events/CloseEvent.js +54 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +54 -0
- package/types/index.d.ts +0 -5
- package/Libraries/Animated/AnimatedWeb.js +0 -44
- package/Libraries/Inspector/Inspector.win32.js +0 -212
- package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
- package/Libraries/JSInspector/InspectorAgent.js +0 -27
- package/Libraries/JSInspector/JSInspector.js +0 -33
- package/Libraries/JSInspector/NetworkAgent.js +0 -296
- package/Libraries/Utilities/DebugEnvironment.js +0 -16
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -76
- package/src/private/specs/modules/NativeCPUTime.js +0 -24
- package/src/private/specs/modules/NativeFantom.js +0 -43
- /package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeUIManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +0 -0
- /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
- /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../../src/private/
|
|
12
|
-
import NativeSampleTurboModule from '../../../src/private/
|
|
11
|
+
export * from '../../../src/private/specs_DEPRECATED/modules/NativeSampleTurboModule';
|
|
12
|
+
import NativeSampleTurboModule from '../../../src/private/specs_DEPRECATED/modules/NativeSampleTurboModule';
|
|
13
13
|
export default NativeSampleTurboModule;
|
|
@@ -271,12 +271,14 @@ export type ScrollEvent = SyntheticEvent<
|
|
|
271
271
|
export type BlurEvent = SyntheticEvent<
|
|
272
272
|
$ReadOnly<{
|
|
273
273
|
target: number,
|
|
274
|
+
...
|
|
274
275
|
}>,
|
|
275
276
|
>;
|
|
276
277
|
|
|
277
278
|
export type FocusEvent = SyntheticEvent<
|
|
278
279
|
$ReadOnly<{
|
|
279
280
|
target: number,
|
|
281
|
+
...
|
|
280
282
|
}>,
|
|
281
283
|
>;
|
|
282
284
|
|
|
@@ -287,12 +287,14 @@ export type ScrollEvent = SyntheticEvent<
|
|
|
287
287
|
export type BlurEvent = SyntheticEvent<
|
|
288
288
|
$ReadOnly<{
|
|
289
289
|
target: number,
|
|
290
|
+
...
|
|
290
291
|
}>,
|
|
291
292
|
>;
|
|
292
293
|
|
|
293
294
|
export type FocusEvent = SyntheticEvent<
|
|
294
295
|
$ReadOnly<{
|
|
295
296
|
target: number,
|
|
297
|
+
...
|
|
296
298
|
}>,
|
|
297
299
|
>;
|
|
298
300
|
|
|
@@ -14,7 +14,6 @@ import typeof INativeAppearance from './NativeAppearance';
|
|
|
14
14
|
|
|
15
15
|
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
|
16
16
|
import EventEmitter from '../vendor/emitter/EventEmitter';
|
|
17
|
-
import {isAsyncDebugging} from './DebugEnvironment';
|
|
18
17
|
import invariant from 'invariant';
|
|
19
18
|
|
|
20
19
|
type Appearance = {
|
|
@@ -74,13 +73,6 @@ function getState(): $NonMaybeType<typeof lazyState> {
|
|
|
74
73
|
* the `useColorScheme` hook.
|
|
75
74
|
*/
|
|
76
75
|
export function getColorScheme(): ?ColorSchemeName {
|
|
77
|
-
if (__DEV__) {
|
|
78
|
-
if (isAsyncDebugging) {
|
|
79
|
-
// Hard code light theme when using the async debugger as
|
|
80
|
-
// sync calls aren't supported
|
|
81
|
-
return 'light';
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
76
|
let colorScheme = null;
|
|
85
77
|
const state = getState();
|
|
86
78
|
const {NativeAppearance} = state;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export type * from '../../src/private/
|
|
12
|
-
import NativeAppearance from '../../src/private/
|
|
11
|
+
export type * from '../../src/private/specs_DEPRECATED/modules/NativeAppearance';
|
|
12
|
+
import NativeAppearance from '../../src/private/specs_DEPRECATED/modules/NativeAppearance';
|
|
13
13
|
export default NativeAppearance;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativeDevLoadingView from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativeDevLoadingView';
|
|
12
|
+
import NativeDevLoadingView from '../../src/private/specs_DEPRECATED/modules/NativeDevLoadingView';
|
|
13
13
|
export default NativeDevLoadingView;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativeDeviceInfo from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativeDeviceInfo';
|
|
12
|
+
import NativeDeviceInfo from '../../src/private/specs_DEPRECATED/modules/NativeDeviceInfo';
|
|
13
13
|
export default NativeDeviceInfo;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativePlatformConstantsAndroid from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid';
|
|
12
|
+
import NativePlatformConstantsAndroid from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid';
|
|
13
13
|
export default NativePlatformConstantsAndroid;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativePlatformConstantsIOS from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS';
|
|
12
|
+
import NativePlatformConstantsIOS from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS';
|
|
13
13
|
export default NativePlatformConstantsIOS;
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
* @flow strict
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export * from '../../src/private/
|
|
10
|
-
import NativePlatformConstantsWin from '../../src/private/
|
|
9
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsWin';
|
|
10
|
+
import NativePlatformConstantsWin from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsWin';
|
|
11
11
|
export default NativePlatformConstantsWin;
|
|
@@ -13,14 +13,13 @@
|
|
|
13
13
|
import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-renderer';
|
|
14
14
|
|
|
15
15
|
import TouchableWithoutFeedback from '../Components/Touchable/TouchableWithoutFeedback';
|
|
16
|
-
|
|
17
16
|
import React from 'react';
|
|
18
17
|
import ReactTestRenderer from 'react-test-renderer';
|
|
19
18
|
|
|
20
19
|
const Switch = require('../Components/Switch/Switch').default;
|
|
21
|
-
const TextInput = require('../Components/TextInput/TextInput');
|
|
22
|
-
const View = require('../Components/View/View');
|
|
23
|
-
const Text = require('../Text/Text');
|
|
20
|
+
const TextInput = require('../Components/TextInput/TextInput').default;
|
|
21
|
+
const View = require('../Components/View/View').default;
|
|
22
|
+
const Text = require('../Text/Text').default;
|
|
24
23
|
const {VirtualizedList} = require('@react-native/virtualized-lists');
|
|
25
24
|
|
|
26
25
|
export type ReactTestInstance = $PropertyType<ReactTestRendererType, 'root'>;
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const TextInputState =
|
|
15
|
+
const TextInputState =
|
|
16
|
+
require('../Components/TextInput/TextInputState').default;
|
|
16
17
|
|
|
17
18
|
function dismissKeyboard() {
|
|
18
19
|
TextInputState.blurTextInput(TextInputState.currentlyFocusedInput());
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativeVibration from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativeVibration';
|
|
12
|
+
import NativeVibration from '../../src/private/specs_DEPRECATED/modules/NativeVibration';
|
|
13
13
|
export default NativeVibration;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativeWebSocketModule from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativeWebSocketModule';
|
|
12
|
+
import NativeWebSocketModule from '../../src/private/specs_DEPRECATED/modules/NativeWebSocketModule';
|
|
13
13
|
export default NativeWebSocketModule;
|
|
@@ -8,290 +8,13 @@
|
|
|
8
8
|
* @flow
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
import type {EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
11
|
+
import typeof WebSocket from './WebSocket_old';
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
import binaryToBase64 from '../Utilities/binaryToBase64';
|
|
18
|
-
import Platform from '../Utilities/Platform';
|
|
19
|
-
import NativeWebSocketModule from './NativeWebSocketModule';
|
|
20
|
-
import WebSocketEvent from './WebSocketEvent';
|
|
21
|
-
import base64 from 'base64-js';
|
|
22
|
-
import EventTarget from 'event-target-shim';
|
|
23
|
-
import invariant from 'invariant';
|
|
13
|
+
// Use a global instead of a flag from ReactNativeFeatureFlags because this will
|
|
14
|
+
// be read before apps have a chance to set overrides.
|
|
15
|
+
const useBuiltInEventTarget = global.RN$useBuiltInEventTarget?.();
|
|
24
16
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
| Int16Array
|
|
30
|
-
| Uint16Array
|
|
31
|
-
| Int32Array
|
|
32
|
-
| Uint32Array
|
|
33
|
-
| Float32Array
|
|
34
|
-
| Float64Array
|
|
35
|
-
| DataView;
|
|
36
|
-
|
|
37
|
-
type BinaryType = 'blob' | 'arraybuffer';
|
|
38
|
-
|
|
39
|
-
const CONNECTING = 0;
|
|
40
|
-
const OPEN = 1;
|
|
41
|
-
const CLOSING = 2;
|
|
42
|
-
const CLOSED = 3;
|
|
43
|
-
|
|
44
|
-
const CLOSE_NORMAL = 1000;
|
|
45
|
-
|
|
46
|
-
// Abnormal closure where no code is provided in a control frame
|
|
47
|
-
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
|
|
48
|
-
const CLOSE_ABNORMAL = 1006;
|
|
49
|
-
|
|
50
|
-
const WEBSOCKET_EVENTS = ['close', 'error', 'message', 'open'];
|
|
51
|
-
|
|
52
|
-
let nextWebSocketId = 0;
|
|
53
|
-
|
|
54
|
-
type WebSocketEventDefinitions = {
|
|
55
|
-
websocketOpen: [{id: number, protocol: string}],
|
|
56
|
-
websocketClosed: [{id: number, code: number, reason: string}],
|
|
57
|
-
websocketMessage: [
|
|
58
|
-
| {type: 'binary', id: number, data: string}
|
|
59
|
-
| {type: 'text', id: number, data: string}
|
|
60
|
-
| {type: 'blob', id: number, data: BlobData},
|
|
61
|
-
],
|
|
62
|
-
websocketFailed: [{id: number, message: string}],
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Browser-compatible WebSockets implementation.
|
|
67
|
-
*
|
|
68
|
-
* See https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
|
|
69
|
-
* See https://github.com/websockets/ws
|
|
70
|
-
*/
|
|
71
|
-
class WebSocket extends (EventTarget(...WEBSOCKET_EVENTS): typeof EventTarget) {
|
|
72
|
-
static CONNECTING: number = CONNECTING;
|
|
73
|
-
static OPEN: number = OPEN;
|
|
74
|
-
static CLOSING: number = CLOSING;
|
|
75
|
-
static CLOSED: number = CLOSED;
|
|
76
|
-
|
|
77
|
-
CONNECTING: number = CONNECTING;
|
|
78
|
-
OPEN: number = OPEN;
|
|
79
|
-
CLOSING: number = CLOSING;
|
|
80
|
-
CLOSED: number = CLOSED;
|
|
81
|
-
|
|
82
|
-
_socketId: number;
|
|
83
|
-
_eventEmitter: NativeEventEmitter<WebSocketEventDefinitions>;
|
|
84
|
-
_subscriptions: Array<EventSubscription>;
|
|
85
|
-
_binaryType: ?BinaryType;
|
|
86
|
-
|
|
87
|
-
onclose: ?Function;
|
|
88
|
-
onerror: ?Function;
|
|
89
|
-
onmessage: ?Function;
|
|
90
|
-
onopen: ?Function;
|
|
91
|
-
|
|
92
|
-
bufferedAmount: number;
|
|
93
|
-
extension: ?string;
|
|
94
|
-
protocol: ?string;
|
|
95
|
-
readyState: number = CONNECTING;
|
|
96
|
-
url: ?string;
|
|
97
|
-
|
|
98
|
-
constructor(
|
|
99
|
-
url: string,
|
|
100
|
-
protocols: ?string | ?Array<string>,
|
|
101
|
-
options: ?{headers?: {origin?: string, ...}, ...},
|
|
102
|
-
) {
|
|
103
|
-
super();
|
|
104
|
-
this.url = url;
|
|
105
|
-
if (typeof protocols === 'string') {
|
|
106
|
-
protocols = [protocols];
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
const {headers = {}, ...unrecognized} = options || {};
|
|
110
|
-
|
|
111
|
-
// Preserve deprecated backwards compatibility for the 'origin' option
|
|
112
|
-
// $FlowFixMe[prop-missing]
|
|
113
|
-
if (unrecognized && typeof unrecognized.origin === 'string') {
|
|
114
|
-
console.warn(
|
|
115
|
-
'Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.',
|
|
116
|
-
);
|
|
117
|
-
/* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_
|
|
118
|
-
* oss) This comment suppresses an error found when Flow v0.54 was
|
|
119
|
-
* deployed. To see the error delete this comment and run Flow. */
|
|
120
|
-
headers.origin = unrecognized.origin;
|
|
121
|
-
/* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_
|
|
122
|
-
* oss) This comment suppresses an error found when Flow v0.54 was
|
|
123
|
-
* deployed. To see the error delete this comment and run Flow. */
|
|
124
|
-
delete unrecognized.origin;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// Warn about and discard anything else
|
|
128
|
-
if (Object.keys(unrecognized).length > 0) {
|
|
129
|
-
console.warn(
|
|
130
|
-
'Unrecognized WebSocket connection option(s) `' +
|
|
131
|
-
Object.keys(unrecognized).join('`, `') +
|
|
132
|
-
'`. ' +
|
|
133
|
-
'Did you mean to put these under `headers`?',
|
|
134
|
-
);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if (!Array.isArray(protocols)) {
|
|
138
|
-
protocols = null;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
this._eventEmitter = new NativeEventEmitter(
|
|
142
|
-
// T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior
|
|
143
|
-
// If you want to use the native module on other platforms, please remove this condition and test its behavior
|
|
144
|
-
Platform.OS !== 'ios' ? null : NativeWebSocketModule,
|
|
145
|
-
);
|
|
146
|
-
this._socketId = nextWebSocketId++;
|
|
147
|
-
this._registerEvents();
|
|
148
|
-
NativeWebSocketModule.connect(url, protocols, {headers}, this._socketId);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
get binaryType(): ?BinaryType {
|
|
152
|
-
return this._binaryType;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
set binaryType(binaryType: BinaryType): void {
|
|
156
|
-
if (binaryType !== 'blob' && binaryType !== 'arraybuffer') {
|
|
157
|
-
throw new Error("binaryType must be either 'blob' or 'arraybuffer'");
|
|
158
|
-
}
|
|
159
|
-
if (this._binaryType === 'blob' || binaryType === 'blob') {
|
|
160
|
-
invariant(
|
|
161
|
-
BlobManager.isAvailable,
|
|
162
|
-
'Native module BlobModule is required for blob support',
|
|
163
|
-
);
|
|
164
|
-
if (binaryType === 'blob') {
|
|
165
|
-
BlobManager.addWebSocketHandler(this._socketId);
|
|
166
|
-
} else {
|
|
167
|
-
BlobManager.removeWebSocketHandler(this._socketId);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
this._binaryType = binaryType;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
close(code?: number, reason?: string): void {
|
|
174
|
-
if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
this.readyState = this.CLOSING;
|
|
179
|
-
this._close(code, reason);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
send(data: string | ArrayBuffer | ArrayBufferView | Blob): void {
|
|
183
|
-
if (this.readyState === this.CONNECTING) {
|
|
184
|
-
throw new Error('INVALID_STATE_ERR');
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (data instanceof Blob) {
|
|
188
|
-
invariant(
|
|
189
|
-
BlobManager.isAvailable,
|
|
190
|
-
'Native module BlobModule is required for blob support',
|
|
191
|
-
);
|
|
192
|
-
BlobManager.sendOverSocket(data, this._socketId);
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
if (typeof data === 'string') {
|
|
197
|
-
NativeWebSocketModule.send(data, this._socketId);
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {
|
|
202
|
-
NativeWebSocketModule.sendBinary(binaryToBase64(data), this._socketId);
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
throw new Error('Unsupported data type');
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
ping(): void {
|
|
210
|
-
if (this.readyState === this.CONNECTING) {
|
|
211
|
-
throw new Error('INVALID_STATE_ERR');
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
NativeWebSocketModule.ping(this._socketId);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
_close(code?: number, reason?: string): void {
|
|
218
|
-
// See https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent
|
|
219
|
-
const statusCode = typeof code === 'number' ? code : CLOSE_NORMAL;
|
|
220
|
-
const closeReason = typeof reason === 'string' ? reason : '';
|
|
221
|
-
NativeWebSocketModule.close(statusCode, closeReason, this._socketId);
|
|
222
|
-
|
|
223
|
-
if (BlobManager.isAvailable && this._binaryType === 'blob') {
|
|
224
|
-
BlobManager.removeWebSocketHandler(this._socketId);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
_unregisterEvents(): void {
|
|
229
|
-
this._subscriptions.forEach(e => e.remove());
|
|
230
|
-
this._subscriptions = [];
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
_registerEvents(): void {
|
|
234
|
-
this._subscriptions = [
|
|
235
|
-
this._eventEmitter.addListener('websocketMessage', ev => {
|
|
236
|
-
if (ev.id !== this._socketId) {
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
let data: Blob | BlobData | ArrayBuffer | string = ev.data;
|
|
240
|
-
switch (ev.type) {
|
|
241
|
-
case 'binary':
|
|
242
|
-
data = base64.toByteArray(ev.data).buffer;
|
|
243
|
-
break;
|
|
244
|
-
case 'blob':
|
|
245
|
-
data = BlobManager.createFromOptions(ev.data);
|
|
246
|
-
break;
|
|
247
|
-
}
|
|
248
|
-
this.dispatchEvent(new WebSocketEvent('message', {data}));
|
|
249
|
-
}),
|
|
250
|
-
this._eventEmitter.addListener('websocketOpen', ev => {
|
|
251
|
-
if (ev.id !== this._socketId) {
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
this.readyState = this.OPEN;
|
|
255
|
-
this.protocol = ev.protocol;
|
|
256
|
-
this.dispatchEvent(new WebSocketEvent('open'));
|
|
257
|
-
}),
|
|
258
|
-
this._eventEmitter.addListener('websocketClosed', ev => {
|
|
259
|
-
if (ev.id !== this._socketId) {
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
this.readyState = this.CLOSED;
|
|
263
|
-
this.dispatchEvent(
|
|
264
|
-
new WebSocketEvent('close', {
|
|
265
|
-
code: ev.code,
|
|
266
|
-
reason: ev.reason,
|
|
267
|
-
// TODO: missing `wasClean` (exposed on iOS as `clean` but missing on Android)
|
|
268
|
-
}),
|
|
269
|
-
);
|
|
270
|
-
this._unregisterEvents();
|
|
271
|
-
this.close();
|
|
272
|
-
}),
|
|
273
|
-
this._eventEmitter.addListener('websocketFailed', ev => {
|
|
274
|
-
if (ev.id !== this._socketId) {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
this.readyState = this.CLOSED;
|
|
278
|
-
this.dispatchEvent(
|
|
279
|
-
new WebSocketEvent('error', {
|
|
280
|
-
message: ev.message,
|
|
281
|
-
}),
|
|
282
|
-
);
|
|
283
|
-
this.dispatchEvent(
|
|
284
|
-
new WebSocketEvent('close', {
|
|
285
|
-
code: CLOSE_ABNORMAL,
|
|
286
|
-
reason: ev.message,
|
|
287
|
-
// TODO: Expose `wasClean`
|
|
288
|
-
}),
|
|
289
|
-
);
|
|
290
|
-
this._unregisterEvents();
|
|
291
|
-
this.close();
|
|
292
|
-
}),
|
|
293
|
-
];
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
module.exports = WebSocket;
|
|
17
|
+
export default (useBuiltInEventTarget
|
|
18
|
+
? // $FlowExpectedError[incompatible-cast]
|
|
19
|
+
require('./WebSocket_new').default
|
|
20
|
+
: require('./WebSocket_old').default) as WebSocket;
|
|
@@ -40,50 +40,78 @@ let isInterceptorEnabled = false;
|
|
|
40
40
|
const WebSocketInterceptor = {
|
|
41
41
|
/**
|
|
42
42
|
* Invoked when RCTWebSocketModule.close(...) is called.
|
|
43
|
+
* The callback is invoked with the following parameters:
|
|
44
|
+
* - `'code'` - The status code explaining why the connection was closed,
|
|
45
|
+
* - `'reason'` - The reason explaining why the connection was closed,
|
|
46
|
+
* - `'socketId'` - The id of the socket.
|
|
43
47
|
*/
|
|
44
|
-
setCloseCallback(callback:
|
|
48
|
+
setCloseCallback(callback: ?(number | null, string | null, number) => void) {
|
|
45
49
|
closeCallback = callback;
|
|
46
50
|
},
|
|
47
51
|
|
|
48
52
|
/**
|
|
49
53
|
* Invoked when RCTWebSocketModule.send(...) or sendBinary(...) is called.
|
|
54
|
+
* The callback is invoked with the following parameters:
|
|
55
|
+
* - `'data'` - The data sent,
|
|
56
|
+
* - `'socketId'` - The id of the socket.
|
|
50
57
|
*/
|
|
51
|
-
setSendCallback(callback:
|
|
58
|
+
setSendCallback(callback: ?(string | ArrayBuffer, number) => void) {
|
|
52
59
|
sendCallback = callback;
|
|
53
60
|
},
|
|
54
61
|
|
|
55
62
|
/**
|
|
56
63
|
* Invoked when RCTWebSocketModule.connect(...) is called.
|
|
64
|
+
* The callback is invoked with the following parameters:
|
|
65
|
+
* - `'url'` - The url of the socket,
|
|
66
|
+
* - `'protocols'` - The protocols of the socket,
|
|
67
|
+
* - `'options'` - The options of the socket,
|
|
68
|
+
* - `'socketId'` - The id of the socket.
|
|
57
69
|
*/
|
|
58
|
-
setConnectCallback(
|
|
70
|
+
setConnectCallback(
|
|
71
|
+
callback: ?(string, Array<string> | null, Array<string>, number) => void,
|
|
72
|
+
) {
|
|
59
73
|
connectCallback = callback;
|
|
60
74
|
},
|
|
61
75
|
|
|
62
76
|
/**
|
|
63
77
|
* Invoked when event "websocketOpen" happens.
|
|
78
|
+
* The callback is invoked with the following parameters:
|
|
79
|
+
* - `'socketId'` - The id of the socket.
|
|
64
80
|
*/
|
|
65
|
-
setOnOpenCallback(callback:
|
|
81
|
+
setOnOpenCallback(callback: ?(number) => void) {
|
|
66
82
|
onOpenCallback = callback;
|
|
67
83
|
},
|
|
68
84
|
|
|
69
85
|
/**
|
|
70
86
|
* Invoked when event "websocketMessage" happens.
|
|
87
|
+
* The callback is invoked with the following parameters:
|
|
88
|
+
* - `'data'` - The data received,
|
|
89
|
+
* - `'socketId'` - The id of the socket.
|
|
71
90
|
*/
|
|
72
|
-
setOnMessageCallback(callback:
|
|
91
|
+
setOnMessageCallback(callback: ?(string | ArrayBuffer, number) => void) {
|
|
73
92
|
onMessageCallback = callback;
|
|
74
93
|
},
|
|
75
94
|
|
|
76
95
|
/**
|
|
77
96
|
* Invoked when event "websocketFailed" happens.
|
|
97
|
+
* The callback is invoked with the following parameters:
|
|
98
|
+
* - `'message'` - The error message,
|
|
99
|
+
* - `'socketId'` - The id of the socket.
|
|
78
100
|
*/
|
|
79
|
-
setOnErrorCallback(callback:
|
|
101
|
+
setOnErrorCallback(callback: ?({message: string}, number) => void) {
|
|
80
102
|
onErrorCallback = callback;
|
|
81
103
|
},
|
|
82
104
|
|
|
83
105
|
/**
|
|
84
106
|
* Invoked when event "websocketClosed" happens.
|
|
107
|
+
* The callback is invoked with the following parameters:
|
|
108
|
+
* - `'code'` - The status code explaining why the connection was closed,
|
|
109
|
+
* - `'reason'` - The reason explaining why the connection was closed,
|
|
110
|
+
* - `'socketId'` - The id of the socket.
|
|
85
111
|
*/
|
|
86
|
-
setOnCloseCallback(
|
|
112
|
+
setOnCloseCallback(
|
|
113
|
+
callback: ?({code: number, reason: ?string}, number) => void,
|
|
114
|
+
) {
|
|
87
115
|
onCloseCallback = callback;
|
|
88
116
|
},
|
|
89
117
|
|
|
@@ -105,10 +133,10 @@ const WebSocketInterceptor = {
|
|
|
105
133
|
eventEmitter.addListener('websocketMessage', ev => {
|
|
106
134
|
if (onMessageCallback) {
|
|
107
135
|
onMessageCallback(
|
|
108
|
-
ev.id,
|
|
109
136
|
ev.type === 'binary'
|
|
110
137
|
? WebSocketInterceptor._arrayBufferToString(ev.data)
|
|
111
138
|
: ev.data,
|
|
139
|
+
ev.id,
|
|
112
140
|
);
|
|
113
141
|
}
|
|
114
142
|
}),
|
|
@@ -121,13 +149,13 @@ const WebSocketInterceptor = {
|
|
|
121
149
|
// $FlowFixMe[incompatible-type]
|
|
122
150
|
eventEmitter.addListener('websocketClosed', ev => {
|
|
123
151
|
if (onCloseCallback) {
|
|
124
|
-
onCloseCallback(
|
|
152
|
+
onCloseCallback({code: ev.code, reason: ev.reason}, ev.id);
|
|
125
153
|
}
|
|
126
154
|
}),
|
|
127
155
|
// $FlowFixMe[incompatible-type]
|
|
128
156
|
eventEmitter.addListener('websocketFailed', ev => {
|
|
129
157
|
if (onErrorCallback) {
|
|
130
|
-
onErrorCallback(
|
|
158
|
+
onErrorCallback({message: ev.message}, ev.id);
|
|
131
159
|
}
|
|
132
160
|
}),
|
|
133
161
|
];
|
|
@@ -244,4 +272,4 @@ const WebSocketInterceptor = {
|
|
|
244
272
|
},
|
|
245
273
|
};
|
|
246
274
|
|
|
247
|
-
|
|
275
|
+
export default WebSocketInterceptor;
|