@office-iss/react-native-win32 0.71.5 → 0.72.0-preview.1

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.
Files changed (324) hide show
  1. package/.flowconfig +15 -3
  2. package/CHANGELOG.json +302 -47
  3. package/CHANGELOG.md +141 -27
  4. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  6. package/Libraries/Alert/Alert.d.ts +4 -4
  7. package/Libraries/Alert/Alert.win32.js +1 -0
  8. package/Libraries/Animated/Animated.d.ts +17 -6
  9. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  10. package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
  11. package/Libraries/Animated/bezier.js +1 -1
  12. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  13. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  14. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  15. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  16. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  19. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedProps.js +7 -10
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.win32.js +451 -0
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +1 -1
  42. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  53. package/Libraries/Components/Switch/Switch.js +3 -1
  54. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  55. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  57. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
  58. package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
  59. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
  60. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  61. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  62. package/Libraries/Components/TextInput/TextInput.js +130 -103
  63. package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
  64. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  65. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  66. package/Libraries/Components/Touchable/Touchable.js +6 -3
  67. package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
  68. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  71. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  73. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  74. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  75. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  76. package/Libraries/Components/View/View.js +71 -45
  77. package/Libraries/Components/View/View.win32.js +38 -16
  78. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  79. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  80. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  81. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  82. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  83. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  84. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  86. package/Libraries/Components/View/ViewWin32.js +3 -3
  87. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  88. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  89. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  90. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  91. package/Libraries/Core/ExceptionsManager.js +2 -2
  92. package/Libraries/Core/InitializeCore.js +2 -1
  93. package/Libraries/Core/ReactNativeVersion.js +3 -3
  94. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  95. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
  96. package/Libraries/Core/Timers/JSTimers.js +1 -1
  97. package/Libraries/Core/Timers/immediateShim.js +1 -0
  98. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  99. package/Libraries/Core/setUpAlert.js +1 -1
  100. package/Libraries/Core/setUpDOM.js +18 -0
  101. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  102. package/Libraries/Core/setUpGlobals.js +5 -2
  103. package/Libraries/Core/setUpNavigator.js +6 -5
  104. package/Libraries/Core/setUpPerformance.js +23 -13
  105. package/Libraries/Core/setUpReactDevTools.js +2 -0
  106. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  107. package/Libraries/Core/setUpTimers.js +2 -2
  108. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  109. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  110. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  111. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  112. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  113. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  114. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  115. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  116. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  117. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  118. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  119. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  120. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  121. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  122. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  123. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  124. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  125. package/Libraries/Events/EventPolyfill.js +1 -1
  126. package/Libraries/Image/AssetRegistry.js +1 -1
  127. package/Libraries/Image/AssetSourceResolver.js +3 -3
  128. package/Libraries/Image/Image.android.js +4 -1
  129. package/Libraries/Image/Image.d.ts +63 -2
  130. package/Libraries/Image/Image.ios.js +3 -0
  131. package/Libraries/Image/Image.win32.js +3 -0
  132. package/Libraries/Image/ImageBackground.js +1 -0
  133. package/Libraries/Image/ImageProps.js +1 -1
  134. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  135. package/Libraries/Image/RelativeImageStub.js +1 -1
  136. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  137. package/Libraries/Image/resolveAssetSource.js +1 -1
  138. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  139. package/Libraries/Inspector/ElementBox.js +4 -1
  140. package/Libraries/Inspector/Inspector.js +5 -6
  141. package/Libraries/Inspector/Inspector.win32.js +7 -6
  142. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  143. package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
  144. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  145. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  146. package/Libraries/Interaction/PanResponder.js +5 -6
  147. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  148. package/Libraries/Linking/Linking.js +1 -4
  149. package/Libraries/Lists/FillRateHelper.js +4 -238
  150. package/Libraries/Lists/FlatList.d.ts +15 -22
  151. package/Libraries/Lists/FlatList.js +9 -6
  152. package/Libraries/Lists/SectionList.d.ts +10 -6
  153. package/Libraries/Lists/SectionList.js +5 -3
  154. package/Libraries/Lists/SectionListModern.js +3 -3
  155. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  156. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  157. package/Libraries/Lists/VirtualizedList.js +10 -1867
  158. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  159. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  160. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  161. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  162. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  163. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  164. package/Libraries/LogBox/LogBox.js +1 -1
  165. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  166. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  167. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
  168. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
  169. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  170. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  171. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
  172. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  173. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  174. package/Libraries/Modal/Modal.js +2 -2
  175. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  176. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  177. package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
  178. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  179. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  180. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  181. package/Libraries/Network/RCTNetworking.android.js +2 -2
  182. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  183. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  184. package/Libraries/Network/XMLHttpRequest.js +1 -1
  185. package/Libraries/Pressability/Pressability.js +11 -5
  186. package/Libraries/Pressability/Pressability.win32.js +9 -3
  187. package/Libraries/ReactNative/AppContainer.js +7 -1
  188. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  189. package/Libraries/ReactNative/AppRegistry.js +10 -13
  190. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  191. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  192. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  193. package/Libraries/ReactNative/UIManager.js +142 -1
  194. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  195. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  196. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  197. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  198. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  199. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  200. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  201. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  202. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  203. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  204. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  205. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  206. package/Libraries/Share/Share.js +1 -1
  207. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  208. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  209. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  210. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  211. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  212. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  213. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  214. package/Libraries/StyleSheet/processColor.js +1 -1
  215. package/Libraries/Text/Text.d.ts +12 -2
  216. package/Libraries/Text/Text.js +50 -41
  217. package/Libraries/Text/TextProps.js +3 -4
  218. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  219. package/Libraries/Types/CodegenTypes.js +1 -0
  220. package/Libraries/UTFSequence.js +3 -1
  221. package/Libraries/Utilities/Appearance.d.ts +10 -0
  222. package/Libraries/Utilities/Appearance.js +13 -0
  223. package/Libraries/Utilities/Dimensions.js +1 -1
  224. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  225. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  226. package/Libraries/Utilities/HMRClient.js +16 -10
  227. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  228. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  229. package/Libraries/Utilities/LoadingView.android.js +28 -11
  230. package/Libraries/Utilities/NativeAppearance.js +1 -0
  231. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  232. package/Libraries/Utilities/PixelRatio.js +2 -2
  233. package/Libraries/Utilities/Platform.win32.js +1 -1
  234. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  235. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  236. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  237. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  238. package/Libraries/Utilities/stringifySafe.js +2 -7
  239. package/Libraries/Utilities/useColorScheme.js +1 -1
  240. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  241. package/Libraries/WebPerformance/EventCounts.js +78 -0
  242. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  243. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  244. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  245. package/Libraries/WebPerformance/Performance.js +312 -0
  246. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  247. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  248. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  249. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  250. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  251. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  252. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  253. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  254. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  255. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  256. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  257. package/flow/global.js +29 -4
  258. package/flow/jest.js +258 -164
  259. package/index.js +56 -42
  260. package/index.win32.js +56 -42
  261. package/interface.js +1 -1
  262. package/jest/local-setup.js +33 -0
  263. package/jest/mockComponent.js +4 -2
  264. package/jest/mockNativeComponent.js +1 -1
  265. package/jest/mockScrollView.js +2 -1
  266. package/jest/react-native-env.js +1 -3
  267. package/jest/setup.js +11 -8
  268. package/overrides.json +115 -85
  269. package/package.json +38 -28
  270. package/rn-get-polyfills.js +1 -1
  271. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
  272. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  273. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  274. package/types/index.d.ts +2 -6
  275. package/types/modules/Codegen.d.ts +4 -4
  276. package/types/modules/globals.d.ts +27 -25
  277. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  278. package/types/public/ReactNativeRenderer.d.ts +2 -7
  279. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  280. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  281. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  282. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  283. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  284. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  285. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  286. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  287. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  288. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
  289. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  290. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  291. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  292. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  293. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  294. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
  295. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  296. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  297. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  298. package/Libraries/Components/Slider/Slider.js +0 -282
  299. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  300. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
  301. package/Libraries/Interaction/Batchinator.js +0 -76
  302. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  303. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  304. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  305. package/Libraries/Lists/CellRenderMask.js +0 -155
  306. package/Libraries/Lists/ChildListCollection.js +0 -72
  307. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  308. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  309. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  310. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  311. package/Libraries/Performance/PureComponentDebug.js +0 -74
  312. package/Libraries/Reliability/UserFlow.js +0 -158
  313. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  314. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  315. package/Libraries/Utilities/MatrixMath.js +0 -748
  316. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  317. package/Libraries/Utilities/clamp.js +0 -23
  318. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  319. package/Libraries/Utilities/groupByEveryN.js +0 -51
  320. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  321. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  322. package/Libraries/Utilities/truncate.js +0 -51
  323. package/flow/JSITimerInternalType.js +0 -30
  324. package/flow/use-sync-external-store.js +0 -19
@@ -11,7 +11,6 @@
11
11
  'use strict';
12
12
 
13
13
  export type FetchSegmentFunction = typeof __fetchSegment;
14
- export type GetSegmentFunction = typeof __getSegment;
15
14
 
16
15
  /**
17
16
  * Set up SegmentFetcher.
@@ -51,43 +50,3 @@ function __fetchSegment(
51
50
  }
52
51
 
53
52
  global.__fetchSegment = __fetchSegment;
54
-
55
- function __getSegment(
56
- segmentId: number,
57
- options: $ReadOnly<{
58
- otaBuildNumber: ?string,
59
- requestedModuleName: string,
60
- segmentHash: string,
61
- }>,
62
- callback: (?Error, ?string) => void,
63
- ) {
64
- const SegmentFetcher =
65
- require('./SegmentFetcher/NativeSegmentFetcher').default;
66
-
67
- if (!SegmentFetcher.getSegment) {
68
- throw new Error('SegmentFetcher.getSegment must be defined');
69
- }
70
-
71
- SegmentFetcher.getSegment(
72
- segmentId,
73
- options,
74
- (
75
- errorObject: ?{
76
- message: string,
77
- code: string,
78
- ...
79
- },
80
- path: ?string,
81
- ) => {
82
- if (errorObject) {
83
- const error = new Error(errorObject.message);
84
- (error: any).code = errorObject.code; // flowlint-line unclear-type: off
85
- callback(error);
86
- }
87
-
88
- callback(null, path);
89
- },
90
- );
91
- }
92
-
93
- global.__getSegment = __getSegment;
@@ -61,7 +61,7 @@ if (global.RN$Bridgeless !== true) {
61
61
  * as the Promise.
62
62
  */
63
63
  if (hasPromiseQueuedToJSVM) {
64
- // When promise queues to the JSVM microtasks queue, we shim the immedaite
64
+ // When promise queues to the JSVM microtasks queue, we shim the immediate
65
65
  // APIs via `queueMicrotask` to maintain the backward compatibility.
66
66
  polyfillGlobal(
67
67
  'setImmediate',
@@ -95,7 +95,7 @@ if (hasHermesPromiseQueuedToJSVM) {
95
95
  // Fast path for Hermes.
96
96
  polyfillGlobal('queueMicrotask', () => global.HermesInternal?.enqueueJob);
97
97
  } else {
98
- // Polyfill it with promise (regardless it's polyfiled or native) otherwise.
98
+ // Polyfill it with promise (regardless it's polyfilled or native) otherwise.
99
99
  polyfillGlobal(
100
100
  'queueMicrotask',
101
101
  () => require('./Timers/queueMicrotask.js').default,
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ /**
12
+ * The JSDoc comments in this file have been extracted from [DOMRect](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).
13
+ * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/contributors.txt),
14
+ * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
15
+ */
16
+
17
+ import DOMRectReadOnly, {type DOMRectLike} from './DOMRectReadOnly';
18
+
19
+ // flowlint unsafe-getters-setters:off
20
+
21
+ /**
22
+ * A `DOMRect` describes the size and position of a rectangle.
23
+ * The type of box represented by the `DOMRect` is specified by the method or property that returned it.
24
+ *
25
+ * This is a (mostly) spec-compliant version of `DOMRect` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).
26
+ */
27
+ export default class DOMRect extends DOMRectReadOnly {
28
+ /**
29
+ * The x coordinate of the `DOMRect`'s origin.
30
+ */
31
+ get x(): number {
32
+ return this.__getInternalX();
33
+ }
34
+
35
+ set x(x: ?number) {
36
+ this.__setInternalX(x);
37
+ }
38
+
39
+ /**
40
+ * The y coordinate of the `DOMRect`'s origin.
41
+ */
42
+ get y(): number {
43
+ return this.__getInternalY();
44
+ }
45
+
46
+ set y(y: ?number) {
47
+ this.__setInternalY(y);
48
+ }
49
+
50
+ /**
51
+ * The width of the `DOMRect`.
52
+ */
53
+ get width(): number {
54
+ return this.__getInternalWidth();
55
+ }
56
+
57
+ set width(width: ?number) {
58
+ this.__setInternalWidth(width);
59
+ }
60
+
61
+ /**
62
+ * The height of the `DOMRect`.
63
+ */
64
+ get height(): number {
65
+ return this.__getInternalHeight();
66
+ }
67
+
68
+ set height(height: ?number) {
69
+ this.__setInternalHeight(height);
70
+ }
71
+
72
+ /**
73
+ * Creates a new `DOMRect` object with a given location and dimensions.
74
+ */
75
+ static fromRect(rect?: ?DOMRectLike): DOMRect {
76
+ if (!rect) {
77
+ return new DOMRect();
78
+ }
79
+
80
+ return new DOMRect(rect.x, rect.y, rect.width, rect.height);
81
+ }
82
+ }
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ /**
12
+ * The JSDoc comments in this file have been extracted from [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).
13
+ * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly/contributors.txt),
14
+ * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
15
+ */
16
+
17
+ // flowlint sketchy-null:off, unsafe-getters-setters:off
18
+
19
+ export interface DOMRectLike {
20
+ x?: ?number;
21
+ y?: ?number;
22
+ width?: ?number;
23
+ height?: ?number;
24
+ }
25
+
26
+ function castToNumber(value: mixed): number {
27
+ return value ? Number(value) : 0;
28
+ }
29
+
30
+ /**
31
+ * The `DOMRectReadOnly` interface specifies the standard properties used by `DOMRect` to define a rectangle whose properties are immutable.
32
+ *
33
+ * This is a (mostly) spec-compliant version of `DOMRectReadOnly` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).
34
+ */
35
+ export default class DOMRectReadOnly {
36
+ _x: number;
37
+ _y: number;
38
+ _width: number;
39
+ _height: number;
40
+
41
+ constructor(x: ?number, y: ?number, width: ?number, height: ?number) {
42
+ this.__setInternalX(x);
43
+ this.__setInternalY(y);
44
+ this.__setInternalWidth(width);
45
+ this.__setInternalHeight(height);
46
+ }
47
+
48
+ /**
49
+ * The x coordinate of the `DOMRectReadOnly`'s origin.
50
+ */
51
+ get x(): number {
52
+ return this._x;
53
+ }
54
+
55
+ /**
56
+ * The y coordinate of the `DOMRectReadOnly`'s origin.
57
+ */
58
+ get y(): number {
59
+ return this._y;
60
+ }
61
+
62
+ /**
63
+ * The width of the `DOMRectReadOnly`.
64
+ */
65
+ get width(): number {
66
+ return this._width;
67
+ }
68
+
69
+ /**
70
+ * The height of the `DOMRectReadOnly`.
71
+ */
72
+ get height(): number {
73
+ return this._height;
74
+ }
75
+
76
+ /**
77
+ * Returns the top coordinate value of the `DOMRect` (has the same value as `y`, or `y + height` if `height` is negative).
78
+ */
79
+ get top(): number {
80
+ const height = this._height;
81
+ const y = this._y;
82
+
83
+ if (height < 0) {
84
+ return y + height;
85
+ }
86
+
87
+ return y;
88
+ }
89
+
90
+ /**
91
+ * Returns the right coordinate value of the `DOMRect` (has the same value as ``x + width`, or `x` if `width` is negative).
92
+ */
93
+ get right(): number {
94
+ const width = this._width;
95
+ const x = this._x;
96
+
97
+ if (width < 0) {
98
+ return x;
99
+ }
100
+
101
+ return x + width;
102
+ }
103
+
104
+ /**
105
+ * Returns the bottom coordinate value of the `DOMRect` (has the same value as `y + height`, or `y` if `height` is negative).
106
+ */
107
+ get bottom(): number {
108
+ const height = this._height;
109
+ const y = this._y;
110
+
111
+ if (height < 0) {
112
+ return y;
113
+ }
114
+
115
+ return y + height;
116
+ }
117
+
118
+ /**
119
+ * Returns the left coordinate value of the `DOMRect` (has the same value as `x`, or `x + width` if `width` is negative).
120
+ */
121
+ get left(): number {
122
+ const width = this._width;
123
+ const x = this._x;
124
+
125
+ if (width < 0) {
126
+ return x + width;
127
+ }
128
+
129
+ return x;
130
+ }
131
+
132
+ toJSON(): {
133
+ x: number,
134
+ y: number,
135
+ width: number,
136
+ height: number,
137
+ top: number,
138
+ left: number,
139
+ bottom: number,
140
+ right: number,
141
+ } {
142
+ const {x, y, width, height, top, left, bottom, right} = this;
143
+ return {x, y, width, height, top, left, bottom, right};
144
+ }
145
+
146
+ /**
147
+ * Creates a new `DOMRectReadOnly` object with a given location and dimensions.
148
+ */
149
+ static fromRect(rect?: ?DOMRectLike): DOMRectReadOnly {
150
+ if (!rect) {
151
+ return new DOMRectReadOnly();
152
+ }
153
+
154
+ return new DOMRectReadOnly(rect.x, rect.y, rect.width, rect.height);
155
+ }
156
+
157
+ __getInternalX(): number {
158
+ return this._x;
159
+ }
160
+
161
+ __getInternalY(): number {
162
+ return this._y;
163
+ }
164
+
165
+ __getInternalWidth(): number {
166
+ return this._width;
167
+ }
168
+
169
+ __getInternalHeight(): number {
170
+ return this._height;
171
+ }
172
+
173
+ __setInternalX(x: ?number) {
174
+ this._x = castToNumber(x);
175
+ }
176
+
177
+ __setInternalY(y: ?number) {
178
+ this._y = castToNumber(y);
179
+ }
180
+
181
+ __setInternalWidth(width: ?number) {
182
+ this._width = castToNumber(width);
183
+ }
184
+
185
+ __setInternalHeight(height: ?number) {
186
+ this._height = castToNumber(height);
187
+ }
188
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type {
14
+ HostComponent,
15
+ MeasureInWindowOnSuccessCallback,
16
+ MeasureLayoutOnSuccessCallback,
17
+ MeasureOnSuccessCallback,
18
+ } from '../../Renderer/shims/ReactNativeTypes';
19
+ import type {ElementRef} from 'react';
20
+
21
+ import ReadOnlyElement from './ReadOnlyElement';
22
+
23
+ export default class ReactNativeElement extends ReadOnlyElement {
24
+ get offsetHeight(): number {
25
+ throw new TypeError('Unimplemented');
26
+ }
27
+
28
+ get offsetLeft(): number {
29
+ throw new TypeError('Unimplemented');
30
+ }
31
+
32
+ get offsetParent(): ReadOnlyElement | null {
33
+ throw new TypeError('Unimplemented');
34
+ }
35
+
36
+ get offsetTop(): number {
37
+ throw new TypeError('Unimplemented');
38
+ }
39
+
40
+ get offsetWidth(): number {
41
+ throw new TypeError('Unimplemented');
42
+ }
43
+
44
+ /**
45
+ * React Native compatibility methods
46
+ */
47
+
48
+ blur(): void {
49
+ throw new TypeError('Unimplemented');
50
+ }
51
+
52
+ focus(): void {
53
+ throw new TypeError('Unimplemented');
54
+ }
55
+
56
+ measure(callback: MeasureOnSuccessCallback): void {
57
+ throw new TypeError('Unimplemented');
58
+ }
59
+
60
+ measureInWindow(callback: MeasureInWindowOnSuccessCallback): void {
61
+ throw new TypeError('Unimplemented');
62
+ }
63
+
64
+ measureLayout(
65
+ relativeToNativeNode: number | ElementRef<HostComponent<mixed>>,
66
+ onSuccess: MeasureLayoutOnSuccessCallback,
67
+ onFail?: () => void /* currently unused */,
68
+ ): void {
69
+ throw new TypeError('Unimplemented');
70
+ }
71
+
72
+ setNativeProps(nativeProps: {...}): void {
73
+ throw new TypeError('Unimplemented');
74
+ }
75
+ }
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type HTMLCollection from '../OldStyleCollections/HTMLCollection';
14
+
15
+ import ReadOnlyNode from './ReadOnlyNode';
16
+
17
+ export default class ReadOnlyElement extends ReadOnlyNode {
18
+ get childElementCount(): number {
19
+ throw new TypeError('Unimplemented');
20
+ }
21
+
22
+ get children(): HTMLCollection<ReadOnlyElement> {
23
+ throw new TypeError('Unimplemented');
24
+ }
25
+
26
+ get clientHeight(): number {
27
+ throw new TypeError('Unimplemented');
28
+ }
29
+
30
+ get clientLeft(): number {
31
+ throw new TypeError('Unimplemented');
32
+ }
33
+
34
+ get clientTop(): number {
35
+ throw new TypeError('Unimplemented');
36
+ }
37
+
38
+ get clientWidth(): number {
39
+ throw new TypeError('Unimplemented');
40
+ }
41
+
42
+ get firstElementChild(): ReadOnlyElement | null {
43
+ throw new TypeError('Unimplemented');
44
+ }
45
+
46
+ get id(): string {
47
+ throw new TypeError('Unimplemented');
48
+ }
49
+
50
+ get lastElementChild(): ReadOnlyElement | null {
51
+ throw new TypeError('Unimplemented');
52
+ }
53
+
54
+ get nextElementSibling(): ReadOnlyElement | null {
55
+ throw new TypeError('Unimplemented');
56
+ }
57
+
58
+ get previousElementSibling(): ReadOnlyElement | null {
59
+ throw new TypeError('Unimplemented');
60
+ }
61
+
62
+ get scrollHeight(): number {
63
+ throw new TypeError('Unimplemented');
64
+ }
65
+
66
+ get scrollLeft(): number {
67
+ throw new TypeError('Unimplemented');
68
+ }
69
+
70
+ get scrollTop(): number {
71
+ throw new TypeError('Unimplemented');
72
+ }
73
+
74
+ get scrollWidth(): number {
75
+ throw new TypeError('Unimplemented');
76
+ }
77
+
78
+ get tagName(): string {
79
+ throw new TypeError('Unimplemented');
80
+ }
81
+
82
+ getBoundingClientRect(): DOMRect {
83
+ throw new TypeError('Unimplemented');
84
+ }
85
+
86
+ getClientRects(): DOMRectList {
87
+ throw new TypeError('Unimplemented');
88
+ }
89
+ }
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type NodeList from '../OldStyleCollections/NodeList';
14
+ import type ReadOnlyElement from './ReadOnlyElement';
15
+
16
+ export default class ReadOnlyNode {
17
+ get childNodes(): NodeList<ReadOnlyNode> {
18
+ throw new TypeError('Unimplemented');
19
+ }
20
+
21
+ get firstChild(): ReadOnlyNode | null {
22
+ throw new TypeError('Unimplemented');
23
+ }
24
+
25
+ get isConnected(): boolean {
26
+ throw new TypeError('Unimplemented');
27
+ }
28
+
29
+ get lastChild(): ReadOnlyNode | null {
30
+ throw new TypeError('Unimplemented');
31
+ }
32
+
33
+ get nextSibling(): ReadOnlyNode | null {
34
+ throw new TypeError('Unimplemented');
35
+ }
36
+
37
+ get nodeName(): string {
38
+ throw new TypeError('Unimplemented');
39
+ }
40
+
41
+ get nodeType(): number {
42
+ throw new TypeError('Unimplemented');
43
+ }
44
+
45
+ get nodeValue(): string | null {
46
+ throw new TypeError('Unimplemented');
47
+ }
48
+
49
+ get parentElement(): ReadOnlyElement | null {
50
+ throw new TypeError('Unimplemented');
51
+ }
52
+
53
+ get parentNode(): ReadOnlyNode | null {
54
+ throw new TypeError('Unimplemented');
55
+ }
56
+
57
+ get previousSibling(): ReadOnlyNode | null {
58
+ throw new TypeError('Unimplemented');
59
+ }
60
+
61
+ get textContent(): string | null {
62
+ throw new TypeError('Unimplemented');
63
+ }
64
+
65
+ compareDocumentPosition(otherNode: ReadOnlyNode): number {
66
+ throw new TypeError('Unimplemented');
67
+ }
68
+
69
+ contains(otherNode: ReadOnlyNode): boolean {
70
+ throw new TypeError('Unimplemented');
71
+ }
72
+
73
+ getRootNode(): ReadOnlyNode {
74
+ throw new TypeError('Unimplemented');
75
+ }
76
+
77
+ hasChildNodes(): boolean {
78
+ throw new TypeError('Unimplemented');
79
+ }
80
+
81
+ /*
82
+ * Node types, as returned by the `nodeType` property.
83
+ */
84
+
85
+ /**
86
+ * Type of Element, HTMLElement and ReactNativeElement instances.
87
+ */
88
+ static ELEMENT_NODE: number = 1;
89
+ /**
90
+ * Currently Unused in React Native.
91
+ */
92
+ static ATTRIBUTE_NODE: number = 2;
93
+ /**
94
+ * Text nodes.
95
+ */
96
+ static TEXT_NODE: number = 3;
97
+ /**
98
+ * @deprecated Unused in React Native.
99
+ */
100
+ static CDATA_SECTION_NODE: number = 4;
101
+ /**
102
+ * @deprecated
103
+ */
104
+ static ENTITY_REFERENCE_NODE: number = 5;
105
+ /**
106
+ * @deprecated
107
+ */
108
+ static ENTITY_NODE: number = 6;
109
+ /**
110
+ * @deprecated Unused in React Native.
111
+ */
112
+ static PROCESSING_INSTRUCTION_NODE: number = 7;
113
+ /**
114
+ * @deprecated Unused in React Native.
115
+ */
116
+ static COMMENT_NODE: number = 8;
117
+ /**
118
+ * @deprecated Unused in React Native.
119
+ */
120
+ static DOCUMENT_NODE: number = 9;
121
+ /**
122
+ * @deprecated Unused in React Native.
123
+ */
124
+ static DOCUMENT_TYPE_NODE: number = 10;
125
+ /**
126
+ * @deprecated Unused in React Native.
127
+ */
128
+ static DOCUMENT_FRAGMENT_NODE: number = 11;
129
+ /**
130
+ * @deprecated
131
+ */
132
+ static NOTATION_NODE: number = 12;
133
+
134
+ /*
135
+ * Document position flags. Used to check the return value of
136
+ * `compareDocumentPosition()`.
137
+ */
138
+
139
+ /**
140
+ * Both nodes are in different documents.
141
+ */
142
+ static DOCUMENT_POSITION_DISCONNECTED: number = 1;
143
+ /**
144
+ * `otherNode` precedes the node in either a pre-order depth-first traversal of a tree containing both
145
+ * (e.g., as an ancestor or previous sibling or a descendant of a previous sibling or previous sibling of an ancestor)
146
+ * or (if they are disconnected) in an arbitrary but consistent ordering.
147
+ */
148
+ static DOCUMENT_POSITION_PRECEDING: number = 2;
149
+ /**
150
+ * `otherNode` follows the node in either a pre-order depth-first traversal of a tree containing both
151
+ * (e.g., as a descendant or following sibling or a descendant of a following sibling or following sibling of an ancestor)
152
+ * or (if they are disconnected) in an arbitrary but consistent ordering.
153
+ */
154
+ static DOCUMENT_POSITION_FOLLOWING: number = 4;
155
+ /**
156
+ * `otherNode` is an ancestor of the node.
157
+ */
158
+ static DOCUMENT_POSITION_CONTAINS: number = 8;
159
+ /**
160
+ * `otherNode` is a descendant of the node.
161
+ */
162
+ static DOCUMENT_POSITION_CONTAINED_BY: number = 16;
163
+ /**
164
+ * @deprecated Unused in React Native.
165
+ */
166
+ static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number = 32;
167
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ /**
12
+ * This definition is different from the current built-in type `$ArrayLike`
13
+ * provided by Flow, in that this is an interface and that one is an object.
14
+ *
15
+ * The difference is important because, when using objects, Flow thinks
16
+ * a `length` property would be copied over when using the spread operator,
17
+ * which is incorrect.
18
+ */
19
+ export interface ArrayLike<T> extends Iterable<T> {
20
+ // This property should've been read-only as well, but Flow doesn't handle
21
+ // read-only indexers correctly (thinks reads are writes and fails).
22
+ [indexer: number]: T;
23
+ +length: number;
24
+ }
25
+
26
+ export function* createValueIterator<T>(arrayLike: ArrayLike<T>): Iterator<T> {
27
+ for (let i = 0; i < arrayLike.length; i++) {
28
+ yield arrayLike[i];
29
+ }
30
+ }
31
+
32
+ export function* createKeyIterator<T>(
33
+ arrayLike: ArrayLike<T>,
34
+ ): Iterator<number> {
35
+ for (let i = 0; i < arrayLike.length; i++) {
36
+ yield i;
37
+ }
38
+ }
39
+
40
+ export function* createEntriesIterator<T>(
41
+ arrayLike: ArrayLike<T>,
42
+ ): Iterator<[number, T]> {
43
+ for (let i = 0; i < arrayLike.length; i++) {
44
+ yield [i, arrayLike[i]];
45
+ }
46
+ }