react-native-windows 0.0.0 → 0.0.1-0

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 (2073) hide show
  1. package/.flowconfig +42 -17
  2. package/Chakra/Chakra.vcxitems +0 -5
  3. package/Chakra/Chakra.vcxitems.filters +2 -17
  4. package/Chakra/ChakraHelpers.cpp +2 -268
  5. package/Chakra/ChakraInstanceArgs.h +0 -29
  6. package/Chakra/ChakraPlatform.cpp +1 -1
  7. package/Chakra/ChakraPlatform.h +0 -4
  8. package/Chakra/ChakraTracing.cpp +0 -33
  9. package/Chakra/ChakraUtils.cpp +10 -14
  10. package/Chakra/ChakraUtils.h +2 -2
  11. package/Chakra/ChakraValue.cpp +6 -3
  12. package/Chakra/ChakraValue.h +2 -6
  13. package/Chakra/Utf8DebugExtensions.cpp +0 -5
  14. package/Chakra/Utf8DebugExtensions.h +0 -6
  15. package/Common/Common.vcxproj +7 -10
  16. package/Common/Common.vcxproj.filters +4 -1
  17. package/Common/Utilities.cpp +59 -0
  18. package/Common/packages.lock.json +26 -0
  19. package/Common/utilities.h +11 -0
  20. package/Directory.Build.props +53 -28
  21. package/Directory.Build.targets +13 -71
  22. package/Folly/.clang-format +2 -0
  23. package/Folly/Folly.vcxproj +75 -33
  24. package/Folly/Folly.vcxproj.filters +24 -5
  25. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1439 -0
  26. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +195 -0
  27. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +338 -0
  28. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
  29. package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +33 -0
  30. package/Folly/cgmanifest.json +15 -0
  31. package/Folly/packages.lock.json +23 -0
  32. package/Folly/pch.cpp +4 -0
  33. package/Folly/pch.h +18 -0
  34. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +86 -0
  35. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +36 -9
  36. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +5 -43
  37. package/Libraries/Alert/Alert.d.ts +91 -0
  38. package/Libraries/Alert/Alert.js +28 -10
  39. package/Libraries/Alert/Alert.windows.js +68 -21
  40. package/Libraries/Alert/NativeAlertManager.js +5 -26
  41. package/Libraries/Alert/RCTAlertManager.android.js +2 -4
  42. package/Libraries/Alert/RCTAlertManager.ios.js +2 -3
  43. package/Libraries/Animated/Animated.d.ts +626 -0
  44. package/Libraries/Animated/Animated.js +14 -14
  45. package/Libraries/Animated/AnimatedEvent.js +53 -30
  46. package/Libraries/Animated/AnimatedImplementation.js +152 -111
  47. package/Libraries/Animated/AnimatedMock.js +79 -40
  48. package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
  49. package/Libraries/Animated/AnimatedWeb.js +9 -6
  50. package/Libraries/Animated/Easing.d.ts +37 -0
  51. package/Libraries/Animated/Easing.js +40 -42
  52. package/Libraries/Animated/NativeAnimatedHelper.js +352 -146
  53. package/Libraries/Animated/NativeAnimatedModule.js +5 -62
  54. package/Libraries/Animated/NativeAnimatedTurboModule.js +5 -64
  55. package/Libraries/Animated/SpringConfig.js +13 -18
  56. package/Libraries/Animated/animations/Animation.js +55 -15
  57. package/Libraries/Animated/animations/DecayAnimation.js +22 -9
  58. package/Libraries/Animated/animations/SpringAnimation.js +37 -18
  59. package/Libraries/Animated/animations/TimingAnimation.js +35 -20
  60. package/Libraries/Animated/bezier.js +23 -12
  61. package/Libraries/Animated/components/AnimatedFlatList.js +5 -17
  62. package/Libraries/Animated/components/AnimatedImage.js +5 -8
  63. package/Libraries/Animated/components/AnimatedScrollView.js +120 -16
  64. package/Libraries/Animated/components/AnimatedSectionList.js +5 -17
  65. package/Libraries/Animated/components/AnimatedText.js +5 -8
  66. package/Libraries/Animated/components/AnimatedView.js +5 -8
  67. package/Libraries/Animated/createAnimatedComponent.js +46 -265
  68. package/Libraries/Animated/nodes/AnimatedAddition.js +15 -14
  69. package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
  70. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +13 -12
  71. package/Libraries/Animated/nodes/AnimatedDivision.js +15 -14
  72. package/Libraries/Animated/nodes/AnimatedInterpolation.js +200 -158
  73. package/Libraries/Animated/nodes/AnimatedModulo.js +13 -12
  74. package/Libraries/Animated/nodes/AnimatedMultiplication.js +15 -15
  75. package/Libraries/Animated/nodes/AnimatedNode.js +38 -25
  76. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  77. package/Libraries/Animated/nodes/AnimatedProps.js +51 -41
  78. package/Libraries/Animated/nodes/AnimatedStyle.js +57 -54
  79. package/Libraries/Animated/nodes/AnimatedSubtraction.js +15 -14
  80. package/Libraries/Animated/nodes/AnimatedTracking.js +16 -18
  81. package/Libraries/Animated/nodes/AnimatedTransform.js +45 -36
  82. package/Libraries/Animated/nodes/AnimatedValue.js +66 -34
  83. package/Libraries/Animated/nodes/AnimatedValueXY.js +48 -38
  84. package/Libraries/Animated/nodes/AnimatedWithChildren.js +12 -11
  85. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  86. package/Libraries/Animated/useAnimatedProps.js +220 -0
  87. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  88. package/Libraries/Animated/useAnimatedValue.js +25 -0
  89. package/Libraries/AppState/AppState.d.ts +58 -0
  90. package/Libraries/AppState/AppState.js +91 -142
  91. package/Libraries/AppState/NativeAppState.js +5 -22
  92. package/Libraries/AppTheme/AppTheme.js +90 -90
  93. package/Libraries/AppTheme/AppThemeTypes.d.ts +44 -23
  94. package/Libraries/AppTheme/NativeAppTheme.js +11 -0
  95. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  96. package/Libraries/BatchedBridge/MessageQueue.js +77 -54
  97. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  98. package/Libraries/BatchedBridge/NativeModules.js +11 -6
  99. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
  100. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
  101. package/Libraries/Blob/Blob.js +13 -2
  102. package/Libraries/Blob/BlobManager.js +7 -10
  103. package/Libraries/Blob/BlobRegistry.js +15 -10
  104. package/Libraries/Blob/BlobTypes.js +1 -1
  105. package/Libraries/Blob/File.js +3 -4
  106. package/Libraries/Blob/FileReader.js +35 -15
  107. package/Libraries/Blob/NativeBlobModule.js +5 -52
  108. package/Libraries/Blob/NativeFileReaderModule.js +5 -15
  109. package/Libraries/Blob/URL.js +60 -47
  110. package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
  111. package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
  112. package/Libraries/BugReporting/BugReporting.js +3 -3
  113. package/Libraries/BugReporting/NativeBugReporting.js +5 -12
  114. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  115. package/Libraries/BugReporting/getReactData.js +17 -8
  116. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +157 -0
  117. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +421 -0
  118. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +350 -81
  119. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -18
  120. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -51
  121. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
  122. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  123. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +36 -0
  124. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  125. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +18 -50
  126. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +4 -47
  127. package/Libraries/Components/Button.d.ts +42 -0
  128. package/Libraries/Components/Button.js +152 -78
  129. package/Libraries/Components/Button.windows.js +273 -69
  130. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  131. package/Libraries/Components/Clipboard/Clipboard.js +2 -4
  132. package/Libraries/Components/Clipboard/NativeClipboard.js +4 -13
  133. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +4 -116
  134. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +30 -29
  135. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  136. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +12 -0
  137. package/Libraries/Components/Flyout/Flyout.d.ts +55 -20
  138. package/Libraries/Components/Flyout/Flyout.js +110 -75
  139. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  140. package/Libraries/Components/Glyph/Glyph.d.ts +29 -13
  141. package/Libraries/Components/Glyph/Glyph.js +43 -56
  142. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  143. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  144. package/Libraries/Components/Keyboard/Keyboard.js +78 -66
  145. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  146. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +81 -37
  147. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -6
  148. package/Libraries/Components/Keyboard/KeyboardExt.js +27 -60
  149. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  150. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -43
  151. package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -24
  152. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  153. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +4 -12
  154. package/Libraries/Components/Popup/Popup.d.ts +41 -20
  155. package/Libraries/Components/Popup/Popup.js +86 -76
  156. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  157. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  158. package/Libraries/Components/Pressable/Pressable.js +128 -18
  159. package/Libraries/Components/Pressable/Pressable.windows.js +169 -44
  160. package/Libraries/Components/Pressable/useAndroidRippleForView.js +27 -22
  161. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +9 -10
  162. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  163. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  164. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +5 -27
  165. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +4 -77
  166. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -56
  167. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  168. package/Libraries/Components/RefreshControl/RefreshControl.js +15 -37
  169. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +15 -37
  170. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +6 -9
  171. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +4 -20
  172. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  173. package/Libraries/Components/SafeAreaView/SafeAreaView.js +12 -39
  174. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +5 -32
  175. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +34 -21
  176. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +13 -20
  177. package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
  178. package/Libraries/Components/ScrollView/ScrollView.js +1062 -410
  179. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  180. package/Libraries/Components/ScrollView/ScrollViewContext.js +1 -3
  181. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +164 -18
  182. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +179 -0
  183. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +11 -16
  184. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +237 -247
  185. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -3
  186. package/Libraries/Components/Sound/NativeSoundManager.js +4 -14
  187. package/Libraries/Components/Sound/SoundManager.js +2 -3
  188. package/Libraries/Components/StaticRenderer.js +1 -1
  189. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +4 -60
  190. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +4 -81
  191. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  192. package/Libraries/Components/StatusBar/StatusBar.js +33 -33
  193. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +5 -56
  194. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  195. package/Libraries/Components/Switch/Switch.js +119 -127
  196. package/Libraries/Components/Switch/Switch.windows.js +257 -0
  197. package/Libraries/Components/Switch/SwitchNativeComponent.js +5 -50
  198. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +241 -36
  199. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  200. package/Libraries/Components/TextInput/InputAccessoryView.js +20 -24
  201. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +5 -20
  202. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +24 -9
  203. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +16 -16
  204. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +169 -0
  205. package/Libraries/Components/TextInput/TextInput.d.ts +973 -0
  206. package/Libraries/Components/TextInput/TextInput.flow.js +1092 -0
  207. package/Libraries/Components/TextInput/TextInput.js +935 -372
  208. package/Libraries/Components/TextInput/TextInput.windows.js +1096 -378
  209. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -4
  210. package/Libraries/Components/TextInput/TextInputState.js +33 -10
  211. package/Libraries/Components/TextInput/TextInputState.windows.js +42 -16
  212. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +772 -9
  213. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +4 -30
  214. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +4 -5
  215. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  216. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  217. package/Libraries/Components/Touchable/BoundingDimensions.js +4 -5
  218. package/Libraries/Components/Touchable/PooledClass.js +26 -15
  219. package/Libraries/Components/Touchable/Position.js +3 -4
  220. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  221. package/Libraries/Components/Touchable/Touchable.js +99 -90
  222. package/Libraries/Components/Touchable/Touchable.windows.js +974 -0
  223. package/Libraries/Components/Touchable/TouchableBounce.js +52 -18
  224. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  225. package/Libraries/Components/Touchable/TouchableHighlight.js +60 -22
  226. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +59 -17
  227. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  228. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +85 -37
  229. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  230. package/Libraries/Components/Touchable/TouchableOpacity.js +89 -26
  231. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +88 -21
  232. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  233. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +87 -20
  234. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +87 -20
  235. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +4 -19
  236. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +3 -4
  237. package/Libraries/Components/View/ReactNativeStyleAttributes.js +167 -69
  238. package/Libraries/Components/View/ReactNativeViewAttributes.js +4 -3
  239. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +61 -0
  240. package/Libraries/Components/View/View.d.ts +29 -0
  241. package/Libraries/Components/View/View.js +116 -13
  242. package/Libraries/Components/View/View.windows.js +250 -30
  243. package/Libraries/Components/View/ViewAccessibility.d.ts +415 -0
  244. package/Libraries/Components/View/ViewAccessibility.js +84 -3
  245. package/Libraries/Components/View/ViewAccessibility.windows.js +86 -3
  246. package/Libraries/Components/View/ViewNativeComponent.js +96 -57
  247. package/Libraries/Components/View/ViewPropTypes.d.ts +363 -0
  248. package/Libraries/Components/View/ViewPropTypes.js +200 -59
  249. package/Libraries/Components/View/ViewPropTypes.windows.js +221 -61
  250. package/Libraries/Core/Devtools/getDevServer.js +1 -3
  251. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  252. package/Libraries/Core/Devtools/openFileInEditor.js +5 -1
  253. package/Libraries/Core/Devtools/openURLInBrowser.js +2 -1
  254. package/Libraries/Core/Devtools/parseErrorStack.js +8 -17
  255. package/Libraries/Core/Devtools/parseHermesStack.js +70 -43
  256. package/Libraries/Core/Devtools/symbolicateStackTrace.js +5 -4
  257. package/Libraries/Core/ExceptionsManager.js +90 -98
  258. package/Libraries/Core/ExtendedError.js +33 -0
  259. package/Libraries/Core/InitializeCore.js +5 -4
  260. package/Libraries/Core/NativeExceptionsManager.js +4 -98
  261. package/Libraries/Core/RawEventEmitter.js +39 -0
  262. package/Libraries/Core/ReactFiberErrorDialog.js +45 -35
  263. package/Libraries/Core/ReactNativeVersion.js +12 -6
  264. package/Libraries/Core/ReactNativeVersionCheck.js +10 -7
  265. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +4 -20
  266. package/Libraries/Core/Timers/JSTimers.js +82 -77
  267. package/Libraries/Core/Timers/NativeTiming.js +4 -18
  268. package/Libraries/Core/Timers/immediateShim.js +68 -0
  269. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  270. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  271. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  272. package/Libraries/Core/checkNativeVersion.js +1 -1
  273. package/Libraries/Core/polyfillPromise.js +2 -2
  274. package/Libraries/Core/registerCallableModule.js +42 -0
  275. package/Libraries/Core/setUpAlert.js +2 -2
  276. package/Libraries/Core/setUpBatchedBridge.js +21 -9
  277. package/Libraries/Core/setUpDeveloperTools.js +57 -60
  278. package/Libraries/Core/setUpErrorHandling.js +2 -2
  279. package/Libraries/Core/setUpGlobals.js +6 -5
  280. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  281. package/Libraries/Core/setUpMutationObserver.js +16 -0
  282. package/Libraries/Core/setUpNavigator.js +7 -6
  283. package/Libraries/Core/setUpPerformance.js +18 -15
  284. package/Libraries/Core/setUpPerformanceObserver.js +18 -0
  285. package/Libraries/Core/setUpReactDevTools.js +28 -5
  286. package/Libraries/Core/setUpReactRefresh.js +4 -2
  287. package/Libraries/Core/setUpRegeneratorRuntime.js +28 -9
  288. package/Libraries/Core/setUpSegmentFetcher.js +3 -44
  289. package/Libraries/Core/setUpTimers.js +77 -8
  290. package/Libraries/Core/setUpXHR.js +5 -5
  291. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  292. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  293. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  294. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  295. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  296. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  297. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  298. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  299. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +13 -0
  300. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
  301. package/Libraries/EventEmitter/NativeEventEmitter.js +90 -48
  302. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
  303. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +26 -66
  304. package/Libraries/EventEmitter/RCTEventEmitter.js +6 -2
  305. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  306. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -3
  307. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +33 -8
  308. package/Libraries/Events/CustomEvent.js +32 -0
  309. package/Libraries/Events/EventPolyfill.js +239 -0
  310. package/Libraries/HeapCapture/HeapCapture.js +2 -4
  311. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +4 -11
  312. package/Libraries/Image/AssetRegistry.js +2 -2
  313. package/Libraries/Image/AssetSourceResolver.js +20 -32
  314. package/Libraries/Image/AssetSourceResolver.windows.js +186 -0
  315. package/Libraries/Image/AssetUtils.js +47 -0
  316. package/Libraries/Image/Image.android.js +200 -298
  317. package/Libraries/Image/Image.d.ts +382 -0
  318. package/Libraries/Image/Image.ios.js +122 -105
  319. package/Libraries/Image/Image.windows.js +123 -106
  320. package/Libraries/Image/ImageAnalyticsTagContext.js +3 -6
  321. package/Libraries/Image/ImageBackground.js +38 -12
  322. package/Libraries/Image/ImageInjection.js +87 -0
  323. package/Libraries/Image/ImageProps.js +133 -22
  324. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  325. package/Libraries/Image/ImageResizeMode.js +1 -1
  326. package/Libraries/Image/ImageSource.d.ts +76 -0
  327. package/Libraries/Image/ImageSource.js +60 -17
  328. package/Libraries/Image/ImageSourceUtils.js +80 -0
  329. package/Libraries/Image/ImageTypes.flow.js +76 -0
  330. package/Libraries/Image/ImageUtils.js +21 -0
  331. package/Libraries/Image/ImageViewNativeComponent.js +143 -29
  332. package/Libraries/Image/NativeImageEditor.js +4 -44
  333. package/Libraries/Image/NativeImageLoaderAndroid.js +5 -32
  334. package/Libraries/Image/NativeImageLoaderIOS.js +5 -29
  335. package/Libraries/Image/NativeImageStoreAndroid.js +4 -18
  336. package/Libraries/Image/NativeImageStoreIOS.js +4 -25
  337. package/Libraries/Image/RelativeImageStub.js +2 -2
  338. package/Libraries/Image/TextInlineImageNativeComponent.js +38 -7
  339. package/Libraries/Image/assetPaths.js +36 -0
  340. package/Libraries/Image/nativeImageSource.js +4 -6
  341. package/Libraries/Image/resolveAssetSource.js +65 -31
  342. package/Libraries/Image/resolveAssetSource.windows.js +148 -0
  343. package/Libraries/Inspector/BorderBox.js +2 -2
  344. package/Libraries/Inspector/BoxInspector.js +4 -5
  345. package/Libraries/Inspector/ElementBox.js +10 -8
  346. package/Libraries/Inspector/ElementProperties.js +34 -61
  347. package/Libraries/Inspector/Inspector.js +131 -275
  348. package/Libraries/Inspector/InspectorOverlay.js +26 -38
  349. package/Libraries/Inspector/InspectorPanel.js +15 -27
  350. package/Libraries/Inspector/NetworkOverlay.js +24 -18
  351. package/Libraries/Inspector/PerformanceOverlay.js +4 -4
  352. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  353. package/Libraries/Inspector/StyleInspector.js +3 -3
  354. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +83 -0
  355. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  356. package/Libraries/Interaction/FrameRateLogger.js +10 -22
  357. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  358. package/Libraries/Interaction/InteractionManager.js +17 -29
  359. package/Libraries/Interaction/JSEventLoopWatchdog.js +7 -11
  360. package/Libraries/Interaction/NativeFrameRateLogger.js +5 -16
  361. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  362. package/Libraries/Interaction/PanResponder.js +26 -28
  363. package/Libraries/Interaction/TaskQueue.js +6 -5
  364. package/Libraries/Interaction/TouchHistoryMath.js +12 -12
  365. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  366. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +141 -0
  367. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +299 -0
  368. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +13 -0
  369. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +172 -0
  370. package/Libraries/JSInspector/InspectorAgent.js +1 -1
  371. package/Libraries/JSInspector/JSInspector.js +1 -4
  372. package/Libraries/JSInspector/NetworkAgent.js +5 -10
  373. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  374. package/Libraries/LayoutAnimation/LayoutAnimation.js +71 -21
  375. package/Libraries/Linking/Linking.d.ts +61 -0
  376. package/Libraries/Linking/Linking.js +23 -27
  377. package/Libraries/Linking/NativeIntentAndroid.js +4 -22
  378. package/Libraries/Linking/NativeLinkingManager.js +4 -19
  379. package/Libraries/Lists/FillRateHelper.js +6 -228
  380. package/Libraries/Lists/FlatList.d.ts +245 -0
  381. package/Libraries/Lists/FlatList.js +193 -113
  382. package/Libraries/Lists/FlatList.windows.js +717 -0
  383. package/Libraries/Lists/SectionList.d.ts +267 -0
  384. package/Libraries/Lists/SectionList.js +36 -31
  385. package/Libraries/Lists/SectionListModern.js +249 -0
  386. package/Libraries/Lists/ViewabilityHelper.js +10 -327
  387. package/Libraries/Lists/VirtualizeUtils.js +6 -235
  388. package/Libraries/Lists/VirtualizedList.js +10 -2109
  389. package/Libraries/Lists/VirtualizedListContext.js +5 -142
  390. package/Libraries/Lists/VirtualizedSectionList.js +9 -565
  391. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -1
  392. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +8 -8
  393. package/Libraries/LogBox/Data/LogBoxData.js +37 -34
  394. package/Libraries/LogBox/Data/LogBoxLog.js +11 -10
  395. package/Libraries/LogBox/Data/LogBoxSymbolication.js +10 -9
  396. package/Libraries/LogBox/Data/parseLogBoxLog.js +97 -61
  397. package/Libraries/LogBox/LogBox.d.ts +28 -0
  398. package/Libraries/LogBox/LogBox.js +124 -76
  399. package/Libraries/LogBox/LogBoxInspectorContainer.js +6 -6
  400. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -5
  401. package/Libraries/LogBox/UI/AnsiHighlight.js +17 -8
  402. package/Libraries/LogBox/UI/LogBoxButton.js +6 -7
  403. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  404. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  405. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  406. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  407. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  408. package/Libraries/LogBox/UI/LogBoxInspector.js +8 -10
  409. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +12 -10
  410. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  411. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +27 -35
  412. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -9
  413. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  414. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -7
  415. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -9
  416. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  417. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -5
  418. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -8
  419. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -10
  420. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  421. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +19 -11
  422. package/Libraries/LogBox/UI/LogBoxMessage.js +100 -19
  423. package/Libraries/LogBox/UI/LogBoxNotification.js +15 -14
  424. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -3
  425. package/Libraries/Modal/Modal.d.ts +104 -0
  426. package/Libraries/Modal/Modal.js +107 -49
  427. package/Libraries/Modal/ModalInjection.js +15 -0
  428. package/Libraries/Modal/NativeModalManager.js +4 -13
  429. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +4 -126
  430. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  431. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  432. package/Libraries/MutationObserver/MutationRecord.js +84 -0
  433. package/Libraries/MutationObserver/NativeMutationObserver.js +13 -0
  434. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  435. package/Libraries/NativeComponent/BaseViewConfig.android.js +339 -0
  436. package/Libraries/NativeComponent/BaseViewConfig.ios.js +401 -0
  437. package/Libraries/NativeComponent/BaseViewConfig.windows.js +454 -0
  438. package/Libraries/NativeComponent/NativeComponentRegistry.js +157 -0
  439. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
  440. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
  441. package/Libraries/NativeComponent/StaticViewConfigValidator.js +163 -0
  442. package/Libraries/NativeComponent/ViewConfig.js +52 -0
  443. package/Libraries/NativeComponent/ViewConfigIgnore.js +51 -0
  444. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +4 -12
  445. package/Libraries/NativeModules/specs/NativeDevMenu.js +4 -15
  446. package/Libraries/NativeModules/specs/NativeDevSettings.js +4 -25
  447. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +4 -11
  448. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +4 -40
  449. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
  450. package/Libraries/NativeModules/specs/NativeLogBox.js +4 -12
  451. package/Libraries/NativeModules/specs/NativeRedBox.js +5 -13
  452. package/Libraries/NativeModules/specs/NativeSourceCode.js +3 -27
  453. package/Libraries/Network/FormData.js +11 -3
  454. package/Libraries/Network/NativeNetworkingAndroid.js +5 -30
  455. package/Libraries/Network/NativeNetworkingIOS.js +5 -30
  456. package/Libraries/Network/RCTNetworking.android.js +15 -9
  457. package/Libraries/Network/RCTNetworking.ios.js +65 -21
  458. package/Libraries/Network/RCTNetworking.windows.js +112 -1
  459. package/Libraries/Network/XHRInterceptor.js +6 -7
  460. package/Libraries/Network/XMLHttpRequest.js +61 -22
  461. package/Libraries/Network/convertRequestBody.js +4 -4
  462. package/Libraries/Network/fetch.js +1 -1
  463. package/Libraries/NewAppScreen/components/Colors.js +1 -3
  464. package/Libraries/NewAppScreen/components/DebugInstructions.js +9 -6
  465. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +7 -5
  466. package/Libraries/NewAppScreen/components/Header.js +8 -4
  467. package/Libraries/NewAppScreen/components/HermesBadge.js +11 -4
  468. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +18 -13
  469. package/Libraries/NewAppScreen/components/ReloadInstructions.js +5 -2
  470. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +4 -2
  471. package/Libraries/NewAppScreen/components/logo.png +0 -0
  472. package/Libraries/NewAppScreen/index.js +2 -4
  473. package/Libraries/Performance/NativeJSCSamplingProfiler.js +4 -11
  474. package/Libraries/Performance/SamplingProfiler.js +4 -4
  475. package/Libraries/Performance/Systrace.d.ts +66 -0
  476. package/Libraries/Performance/Systrace.js +114 -194
  477. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +5 -52
  478. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +116 -0
  479. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +59 -22
  480. package/Libraries/Pressability/HoverState.js +5 -3
  481. package/Libraries/Pressability/Pressability.js +211 -135
  482. package/Libraries/Pressability/Pressability.windows.js +318 -167
  483. package/Libraries/Pressability/PressabilityDebug.js +30 -26
  484. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
  485. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  486. package/Libraries/Pressability/usePressability.js +8 -3
  487. package/Libraries/Promise.js +1 -2
  488. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +5 -66
  489. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  490. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +132 -81
  491. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  492. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  493. package/Libraries/ReactNative/AppContainer.js +9 -136
  494. package/Libraries/ReactNative/AppRegistry.d.ts +114 -0
  495. package/Libraries/ReactNative/AppRegistry.js +130 -71
  496. package/Libraries/ReactNative/BridgelessUIManager.js +438 -0
  497. package/Libraries/ReactNative/DisplayMode.js +32 -0
  498. package/Libraries/ReactNative/FabricUIManager.js +164 -32
  499. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -3
  500. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  501. package/Libraries/ReactNative/I18nManager.js +17 -12
  502. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +4 -12
  503. package/Libraries/ReactNative/NativeI18nManager.js +4 -17
  504. package/Libraries/ReactNative/NativeUIManager.js +5 -113
  505. package/Libraries/ReactNative/PaperUIManager.js +79 -52
  506. package/Libraries/ReactNative/PaperUIManager.windows.js +71 -40
  507. package/Libraries/ReactNative/ReactFabricInternals.js +2 -2
  508. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  509. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
  510. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
  511. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  512. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  513. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
  514. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  515. package/Libraries/ReactNative/RendererImplementation.js +123 -0
  516. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  517. package/Libraries/ReactNative/RendererProxy.js +26 -0
  518. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  519. package/Libraries/ReactNative/RootTag.js +5 -9
  520. package/Libraries/ReactNative/UIManager.d.ts +134 -0
  521. package/Libraries/ReactNative/UIManager.js +178 -24
  522. package/Libraries/ReactNative/UIManagerProperties.js +2 -3
  523. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +670 -0
  524. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +35 -0
  525. package/Libraries/ReactNative/getNativeComponentAttributes.js +34 -18
  526. package/Libraries/ReactNative/renderApplication.js +62 -19
  527. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  528. package/Libraries/ReactNative/requireNativeComponent.js +4 -4
  529. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  530. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +66 -11
  531. package/Libraries/Renderer/implementations/ReactFabric-dev.js +25088 -18550
  532. package/Libraries/Renderer/implementations/ReactFabric-prod.js +5698 -3917
  533. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +6388 -4402
  534. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25418 -19040
  535. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5768 -3968
  536. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +6269 -4235
  537. package/Libraries/Renderer/shims/ReactFabric.js +9 -8
  538. package/Libraries/Renderer/shims/ReactFeatureFlags.js +4 -2
  539. package/Libraries/Renderer/shims/ReactNative.js +4 -2
  540. package/Libraries/Renderer/shims/ReactNativeTypes.js +160 -100
  541. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +23 -32
  542. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +7 -6
  543. package/Libraries/Settings/NativeSettingsManager.js +5 -18
  544. package/Libraries/Settings/Settings.d.ts +18 -0
  545. package/Libraries/Settings/Settings.ios.js +5 -3
  546. package/Libraries/Settings/Settings.js +33 -0
  547. package/Libraries/Share/NativeShareModule.js +4 -15
  548. package/Libraries/Share/Share.d.ts +74 -0
  549. package/Libraries/Share/Share.js +8 -8
  550. package/Libraries/StyleSheet/EdgeInsetsPropType.js +5 -2
  551. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +10 -7
  552. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  553. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +52 -16
  554. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +11 -7
  555. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  556. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +11 -5
  557. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +3 -3
  558. package/Libraries/StyleSheet/PointPropType.js +1 -1
  559. package/Libraries/StyleSheet/Rect.js +1 -3
  560. package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
  561. package/Libraries/StyleSheet/StyleSheet.js +29 -46
  562. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +410 -0
  563. package/Libraries/StyleSheet/StyleSheetTypes.js +362 -114
  564. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +3 -3
  565. package/Libraries/StyleSheet/flattenStyle.js +13 -9
  566. package/Libraries/StyleSheet/normalizeColor.js +7 -9
  567. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  568. package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
  569. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  570. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  571. package/Libraries/StyleSheet/processColor.js +6 -8
  572. package/Libraries/StyleSheet/processColorArray.js +18 -7
  573. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  574. package/Libraries/StyleSheet/processTransform.js +141 -111
  575. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  576. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  577. package/Libraries/StyleSheet/splitLayoutProps.js +57 -49
  578. package/Libraries/Text/Text.d.ts +219 -0
  579. package/Libraries/Text/Text.js +283 -224
  580. package/Libraries/Text/Text.windows.js +395 -292
  581. package/Libraries/Text/TextAncestor.js +3 -4
  582. package/Libraries/Text/TextNativeComponent.js +56 -43
  583. package/Libraries/Text/TextProps.js +97 -31
  584. package/Libraries/Text/TextProps.windows.js +275 -0
  585. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  586. package/Libraries/TurboModule/RCTExport.js +2 -2
  587. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  588. package/Libraries/TurboModule/TurboModuleRegistry.js +55 -36
  589. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +5 -29
  590. package/Libraries/Types/CodegenTypes.js +4 -2
  591. package/Libraries/Types/CoreEventTypes.d.ts +266 -0
  592. package/Libraries/Types/CoreEventTypes.js +142 -5
  593. package/Libraries/Types/CoreEventTypes.windows.js +154 -5
  594. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  595. package/Libraries/Types/RootTagTypes.js +11 -0
  596. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  597. package/Libraries/UTFSequence.js +5 -3
  598. package/Libraries/Utilities/Appearance.d.ts +53 -0
  599. package/Libraries/Utilities/Appearance.js +35 -15
  600. package/Libraries/Utilities/BackHandler.android.js +8 -12
  601. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  602. package/Libraries/Utilities/BackHandler.ios.js +1 -1
  603. package/Libraries/Utilities/BackHandler.windows.js +8 -12
  604. package/Libraries/Utilities/DebugEnvironment.js +3 -8
  605. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  606. package/Libraries/Utilities/DevSettings.js +55 -58
  607. package/Libraries/Utilities/DeviceInfo.js +1 -3
  608. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  609. package/Libraries/Utilities/Dimensions.js +29 -49
  610. package/Libraries/Utilities/FeatureDetection.js +31 -0
  611. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -3
  612. package/Libraries/Utilities/HMRClient.js +51 -25
  613. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  614. package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
  615. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  616. package/Libraries/Utilities/LoadingView.android.js +29 -14
  617. package/Libraries/Utilities/LoadingView.ios.js +2 -4
  618. package/Libraries/Utilities/LoadingView.js +1 -1
  619. package/Libraries/Utilities/NativeAppearance.js +4 -27
  620. package/Libraries/Utilities/NativeDevLoadingView.js +4 -16
  621. package/Libraries/Utilities/NativeDeviceInfo.js +3 -50
  622. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +4 -31
  623. package/Libraries/Utilities/NativePlatformConstantsIOS.js +4 -25
  624. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -21
  625. package/Libraries/Utilities/PerformanceLoggerContext.js +14 -10
  626. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  627. package/Libraries/Utilities/PixelRatio.js +3 -3
  628. package/Libraries/Utilities/Platform.android.js +29 -14
  629. package/Libraries/Utilities/Platform.d.ts +106 -0
  630. package/Libraries/Utilities/Platform.flow.js +91 -0
  631. package/Libraries/Utilities/Platform.flow.windows.js +120 -0
  632. package/Libraries/Utilities/Platform.ios.js +32 -18
  633. package/Libraries/Utilities/Platform.windows.js +31 -14
  634. package/Libraries/Utilities/PolyfillFunctions.js +3 -3
  635. package/Libraries/Utilities/RCTLog.js +1 -1
  636. package/Libraries/Utilities/ReactNativeTestTools.js +29 -44
  637. package/Libraries/Utilities/SceneTracker.js +6 -5
  638. package/Libraries/Utilities/__mocks__/BackHandler.js +4 -4
  639. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  640. package/Libraries/Utilities/__mocks__/PixelRatio.js +2 -2
  641. package/Libraries/Utilities/binaryToBase64.js +2 -2
  642. package/Libraries/Utilities/codegenNativeCommands.js +6 -6
  643. package/Libraries/Utilities/codegenNativeComponent.js +21 -11
  644. package/Libraries/Utilities/createPerformanceLogger.js +21 -53
  645. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +6 -3
  646. package/Libraries/Utilities/defineLazyObjectProperty.js +2 -2
  647. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  648. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  649. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  650. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  651. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  652. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  653. package/Libraries/Utilities/infoLog.js +1 -1
  654. package/Libraries/Utilities/logError.js +2 -2
  655. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  656. package/Libraries/Utilities/stringifySafe.js +7 -7
  657. package/Libraries/Utilities/useColorScheme.js +10 -16
  658. package/Libraries/Utilities/useMergeRefs.js +40 -0
  659. package/Libraries/Utilities/useRefEffect.js +45 -0
  660. package/Libraries/Utilities/useWindowDimensions.js +15 -8
  661. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +31 -35
  662. package/Libraries/Utilities/warnOnce.js +1 -1
  663. package/Libraries/Vibration/NativeVibration.js +4 -16
  664. package/Libraries/Vibration/Vibration.d.ts +43 -0
  665. package/Libraries/Vibration/Vibration.js +8 -9
  666. package/Libraries/WebSocket/NativeWebSocketModule.js +5 -27
  667. package/Libraries/WebSocket/WebSocket.js +38 -16
  668. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  669. package/Libraries/WebSocket/WebSocketInterceptor.js +13 -10
  670. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  671. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  672. package/Libraries/YellowBox/YellowBoxDeprecated.js +6 -6
  673. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -3
  674. package/Libraries/__tests__/ViewWindows-test.js +16 -0
  675. package/Libraries/platform-types.d.ts +19 -0
  676. package/Libraries/promiseRejectionTrackingOptions.js +29 -12
  677. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  678. package/Libraries/vendor/core/ErrorUtils.js +2 -2
  679. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  680. package/Libraries/vendor/emitter/EventEmitter.js +145 -8
  681. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  682. package/Microsoft.ReactNative/ABIViewManager.cpp +82 -5
  683. package/Microsoft.ReactNative/ABIViewManager.h +25 -1
  684. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
  685. package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
  686. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -4
  687. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +4 -6
  688. package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
  689. package/Microsoft.ReactNative/ComponentView.idl +106 -0
  690. package/Microsoft.ReactNative/Composition.Input.idl +117 -0
  691. package/Microsoft.ReactNative/CompositionComponentView.idl +132 -0
  692. package/Microsoft.ReactNative/CompositionContext.idl +54 -0
  693. package/Microsoft.ReactNative/CompositionHwndHost.idl +39 -0
  694. package/Microsoft.ReactNative/CompositionRootView.idl +106 -0
  695. package/Microsoft.ReactNative/CompositionSwitcher.idl +164 -0
  696. package/Microsoft.ReactNative/CompositionUIService.idl +26 -0
  697. package/Microsoft.ReactNative/DesktopWindowMessage.idl +15 -0
  698. package/Microsoft.ReactNative/DevMenuControl.idl +6 -3
  699. package/Microsoft.ReactNative/DevMenuControl.xaml +15 -15
  700. package/Microsoft.ReactNative/DynamicReader.cpp +8 -2
  701. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
  702. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
  703. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
  704. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
  705. package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
  706. package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
  707. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +190 -0
  708. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +80 -0
  709. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +152 -0
  710. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +92 -0
  711. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
  712. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
  713. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
  714. package/Microsoft.ReactNative/Fabric/ComponentView.h +176 -0
  715. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +162 -0
  716. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +63 -0
  717. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +125 -0
  718. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +37 -0
  719. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +670 -0
  720. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +226 -0
  721. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +1971 -0
  722. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +65 -0
  723. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
  724. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +419 -0
  725. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +53 -0
  726. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +1183 -0
  727. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +175 -0
  728. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.cpp +137 -0
  729. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +81 -0
  730. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +160 -0
  731. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +48 -0
  732. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +444 -0
  733. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +82 -0
  734. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +701 -0
  735. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +158 -0
  736. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +138 -0
  737. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +42 -0
  738. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.h +25 -0
  739. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +21 -0
  740. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +1836 -0
  741. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +236 -0
  742. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
  743. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
  744. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +432 -0
  745. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +101 -0
  746. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
  747. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +342 -0
  748. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
  749. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
  750. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
  751. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +361 -0
  752. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +76 -0
  753. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +114 -0
  754. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +61 -0
  755. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +196 -0
  756. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +62 -0
  757. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +1219 -0
  758. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +145 -0
  759. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +390 -0
  760. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +83 -0
  761. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
  762. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
  763. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +170 -0
  764. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1567 -0
  765. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +143 -0
  766. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +49 -0
  767. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +45 -0
  768. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +61 -0
  769. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +123 -0
  770. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +198 -0
  771. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +82 -0
  772. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +47 -0
  773. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +74 -0
  774. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +560 -0
  775. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +81 -0
  776. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
  777. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +165 -0
  778. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +32 -0
  779. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +124 -0
  780. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +41 -0
  781. package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
  782. package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
  783. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +446 -0
  784. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +99 -0
  785. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +35 -0
  786. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +25 -0
  787. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +40 -0
  788. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +53 -0
  789. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +26 -0
  790. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +39 -0
  791. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +108 -0
  792. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +48 -0
  793. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +125 -0
  794. package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +20 -0
  795. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
  796. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +57 -0
  797. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
  798. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
  799. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +33 -0
  800. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +27 -0
  801. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
  802. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +73 -0
  803. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
  804. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
  805. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
  806. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +145 -0
  807. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
  808. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +315 -0
  809. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +97 -0
  810. package/Microsoft.ReactNative/GlyphViewManager.cpp +10 -9
  811. package/Microsoft.ReactNative/GlyphViewManager.h +1 -1
  812. package/Microsoft.ReactNative/IJSValueReader.idl +62 -14
  813. package/Microsoft.ReactNative/IJSValueWriter.idl +39 -19
  814. package/Microsoft.ReactNative/INativeUIManager.h +1 -1
  815. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +28 -0
  816. package/Microsoft.ReactNative/IReactContext.cpp +32 -15
  817. package/Microsoft.ReactNative/IReactContext.h +7 -8
  818. package/Microsoft.ReactNative/IReactContext.idl +158 -26
  819. package/Microsoft.ReactNative/IReactDispatcher.cpp +79 -4
  820. package/Microsoft.ReactNative/IReactDispatcher.h +35 -3
  821. package/Microsoft.ReactNative/IReactDispatcher.idl +40 -12
  822. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +57 -0
  823. package/Microsoft.ReactNative/IReactModuleBuilder.idl +25 -20
  824. package/Microsoft.ReactNative/IReactNonAbiValue.idl +8 -10
  825. package/Microsoft.ReactNative/IReactNotificationService.cpp +220 -65
  826. package/Microsoft.ReactNative/IReactNotificationService.h +47 -26
  827. package/Microsoft.ReactNative/IReactNotificationService.idl +56 -54
  828. package/Microsoft.ReactNative/IReactPackageBuilder.idl +14 -13
  829. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  830. package/Microsoft.ReactNative/IReactPackageProvider.idl +8 -6
  831. package/Microsoft.ReactNative/IReactPropertyBag.cpp +10 -1
  832. package/Microsoft.ReactNative/IReactPropertyBag.h +3 -0
  833. package/Microsoft.ReactNative/IReactPropertyBag.idl +48 -43
  834. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +93 -0
  835. package/Microsoft.ReactNative/IViewManager.idl +73 -2
  836. package/Microsoft.ReactNative/IViewManagerCore.idl +2 -0
  837. package/Microsoft.ReactNative/JSDispatcherWriter.cpp +146 -0
  838. package/Microsoft.ReactNative/JSDispatcherWriter.h +47 -0
  839. package/Microsoft.ReactNative/JsiApi.cpp +565 -255
  840. package/Microsoft.ReactNative/JsiApi.h +55 -12
  841. package/Microsoft.ReactNative/JsiApi.idl +148 -9
  842. package/Microsoft.ReactNative/JsiWriter.cpp +1 -13
  843. package/Microsoft.ReactNative/JsiWriter.h +0 -3
  844. package/Microsoft.ReactNative/LayoutService.cpp +51 -0
  845. package/Microsoft.ReactNative/LayoutService.h +32 -0
  846. package/Microsoft.ReactNative/LayoutService.idl +41 -0
  847. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +130 -173
  848. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +111 -87
  849. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +24 -20
  850. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +13 -4
  851. package/Microsoft.ReactNative/Modules/AlertModule.cpp +215 -54
  852. package/Microsoft.ReactNative/Modules/AlertModule.h +32 -21
  853. package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.cpp +35 -18
  854. package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.h +5 -4
  855. package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.cpp +19 -4
  856. package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.h +21 -3
  857. package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.cpp +23 -0
  858. package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.h +17 -0
  859. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.cpp +74 -38
  860. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.h +37 -11
  861. package/Microsoft.ReactNative/Modules/Animated/AnimationUtils.h +45 -0
  862. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.cpp +13 -10
  863. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.h +4 -6
  864. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.cpp +33 -17
  865. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.h +6 -6
  866. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.cpp +31 -16
  867. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.h +6 -4
  868. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.cpp +44 -21
  869. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.h +5 -4
  870. package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.cpp +4 -4
  871. package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.h +3 -3
  872. package/Microsoft.ReactNative/Modules/Animated/FacadeType.h +8 -3
  873. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.cpp +51 -12
  874. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.h +9 -4
  875. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.cpp +82 -42
  876. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.h +8 -7
  877. package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.cpp +27 -15
  878. package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.h +6 -4
  879. package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.cpp +35 -18
  880. package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.h +5 -4
  881. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +251 -206
  882. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +95 -43
  883. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +395 -65
  884. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +50 -15
  885. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +213 -59
  886. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +30 -7
  887. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.cpp +78 -23
  888. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.h +12 -8
  889. package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.cpp +27 -8
  890. package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.h +5 -4
  891. package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.cpp +44 -22
  892. package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.h +5 -3
  893. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.cpp +25 -13
  894. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.h +7 -8
  895. package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.cpp +42 -12
  896. package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.h +7 -4
  897. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.cpp +62 -34
  898. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +14 -6
  899. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +82 -32
  900. package/Microsoft.ReactNative/Modules/AppStateModule.h +19 -13
  901. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +83 -48
  902. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +26 -26
  903. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +71 -36
  904. package/Microsoft.ReactNative/Modules/AppearanceModule.h +30 -30
  905. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  906. package/Microsoft.ReactNative/Modules/ClipboardModule.h +5 -2
  907. package/Microsoft.ReactNative/Modules/CreateModules.cpp +5 -15
  908. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +3 -0
  909. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +151 -54
  910. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +22 -12
  911. package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
  912. package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
  913. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +8 -6
  914. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +5 -2
  915. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +109 -104
  916. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +37 -19
  917. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +57 -67
  918. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +39 -15
  919. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +156 -38
  920. package/Microsoft.ReactNative/Modules/LogBoxModule.h +12 -3
  921. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +216 -160
  922. package/Microsoft.ReactNative/Modules/NativeUIManager.h +19 -9
  923. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +148 -100
  924. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +13 -3
  925. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
  926. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
  927. package/Microsoft.ReactNative/Modules/ReactRootViewTagGenerator.h +0 -3
  928. package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
  929. package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
  930. package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
  931. package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
  932. package/Microsoft.ReactNative/Modules/Timing.h +121 -0
  933. package/Microsoft.ReactNative/NativeModulesProvider.cpp +1 -1
  934. package/Microsoft.ReactNative/Pch/pch.h +30 -4
  935. package/Microsoft.ReactNative/PropertySheet.props +1 -1
  936. package/Microsoft.ReactNative/QuirkSettings.cpp +109 -12
  937. package/Microsoft.ReactNative/QuirkSettings.h +36 -2
  938. package/Microsoft.ReactNative/QuirkSettings.idl +54 -14
  939. package/Microsoft.ReactNative/ReactApplication.cpp +74 -22
  940. package/Microsoft.ReactNative/ReactApplication.h +47 -12
  941. package/Microsoft.ReactNative/ReactApplication.idl +24 -12
  942. package/Microsoft.ReactNative/ReactCoreInjection.cpp +209 -0
  943. package/Microsoft.ReactNative/ReactCoreInjection.h +86 -0
  944. package/Microsoft.ReactNative/ReactCoreInjection.idl +116 -0
  945. package/Microsoft.ReactNative/ReactHost/AsyncActionQueue.cpp +1 -2
  946. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +125 -0
  947. package/Microsoft.ReactNative/ReactHost/CrashManager.h +25 -0
  948. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +4 -7
  949. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +7 -4
  950. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.h +2 -0
  951. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +238 -0
  952. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +71 -0
  953. package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +4 -5
  954. package/Microsoft.ReactNative/ReactHost/MsoUtils.h +2 -2
  955. package/Microsoft.ReactNative/ReactHost/React.h +38 -14
  956. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +108 -34
  957. package/Microsoft.ReactNative/ReactHost/ReactHost.h +24 -7
  958. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +921 -348
  959. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +65 -28
  960. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -3
  961. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +2 -6
  962. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +14 -22
  963. package/Microsoft.ReactNative/ReactInstanceSettings.h +68 -31
  964. package/Microsoft.ReactNative/ReactInstanceSettings.idl +207 -53
  965. package/Microsoft.ReactNative/ReactNativeHost.cpp +36 -10
  966. package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
  967. package/Microsoft.ReactNative/ReactNativeHost.idl +32 -7
  968. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +26 -3
  969. package/Microsoft.ReactNative/ReactPackageBuilder.h +27 -3
  970. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +55 -0
  971. package/Microsoft.ReactNative/ReactPointerEventArgs.h +32 -0
  972. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +79 -0
  973. package/Microsoft.ReactNative/ReactRootView.cpp +410 -13
  974. package/Microsoft.ReactNative/ReactRootView.h +71 -7
  975. package/Microsoft.ReactNative/ReactRootView.idl +21 -3
  976. package/Microsoft.ReactNative/ReactSupport.h +1 -1
  977. package/Microsoft.ReactNative/RedBox.cpp +121 -46
  978. package/Microsoft.ReactNative/RedBox.h +4 -3
  979. package/Microsoft.ReactNative/RedBoxHandler.cpp +7 -1
  980. package/Microsoft.ReactNative/RedBoxHandler.idl +56 -32
  981. package/Microsoft.ReactNative/SchedulerSettings.cpp +74 -0
  982. package/Microsoft.ReactNative/SchedulerSettings.h +35 -0
  983. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
  984. package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
  985. package/Microsoft.ReactNative/TestHook.cpp +1 -1
  986. package/Microsoft.ReactNative/Theme.idl +68 -0
  987. package/Microsoft.ReactNative/Timer.cpp +63 -0
  988. package/Microsoft.ReactNative/Timer.h +22 -0
  989. package/Microsoft.ReactNative/Timer.idl +32 -0
  990. package/Microsoft.ReactNative/TurboModulesProvider.cpp +300 -169
  991. package/Microsoft.ReactNative/TurboModulesProvider.h +14 -12
  992. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +2 -2
  993. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +2 -2
  994. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +171 -0
  995. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +72 -0
  996. package/Microsoft.ReactNative/Utils/Helpers.cpp +31 -34
  997. package/Microsoft.ReactNative/Utils/Helpers.h +7 -11
  998. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +191 -0
  999. package/Microsoft.ReactNative/Utils/ImageUtils.h +36 -0
  1000. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  1001. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  1002. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +53 -12
  1003. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +5 -5
  1004. package/Microsoft.ReactNative/Utils/PropertyUtils.h +52 -23
  1005. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +54 -22
  1006. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +12 -4
  1007. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +26 -0
  1008. package/Microsoft.ReactNative/Utils/TextTransform.h +8 -0
  1009. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
  1010. package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
  1011. package/Microsoft.ReactNative/Utils/TransformableText.h +10 -15
  1012. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +2 -2
  1013. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +4 -4
  1014. package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +2 -2
  1015. package/Microsoft.ReactNative/Utils/UwpScriptStore.h +3 -3
  1016. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +140 -56
  1017. package/Microsoft.ReactNative/Utils/ValueUtils.h +11 -8
  1018. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +93 -0
  1019. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +48 -0
  1020. package/Microsoft.ReactNative/Version.rc +8 -25
  1021. package/Microsoft.ReactNative/ViewProps.idl +57 -0
  1022. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +11 -1
  1023. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +2 -1
  1024. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +6 -7
  1025. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +48 -1
  1026. package/Microsoft.ReactNative/Views/ControlViewManager.h +9 -0
  1027. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
  1028. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
  1029. package/Microsoft.ReactNative/Views/DevMenu.cpp +356 -182
  1030. package/Microsoft.ReactNative/Views/DevMenu.h +3 -14
  1031. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +271 -140
  1032. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +19 -15
  1033. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +61 -71
  1034. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +24 -37
  1035. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +2 -2
  1036. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +4 -4
  1037. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +2 -2
  1038. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +2 -2
  1039. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +88 -20
  1040. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +1 -2
  1041. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +126 -0
  1042. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +23 -0
  1043. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +538 -257
  1044. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -8
  1045. package/Microsoft.ReactNative/Views/ICompositionRootView.h +18 -0
  1046. package/Microsoft.ReactNative/Views/IXamlRootView.h +2 -15
  1047. package/Microsoft.ReactNative/Views/Image/Effects.h +4 -6
  1048. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +66 -37
  1049. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +13 -2
  1050. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +7 -13
  1051. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +179 -157
  1052. package/Microsoft.ReactNative/Views/Image/ReactImage.h +14 -29
  1053. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +39 -37
  1054. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +6 -7
  1055. package/Microsoft.ReactNative/Views/Impl/ScrollViewUWPImplementation.cpp +2 -2
  1056. package/Microsoft.ReactNative/Views/Impl/ScrollViewUWPImplementation.h +2 -2
  1057. package/Microsoft.ReactNative/Views/Impl/SnapPointManagingContentControl.cpp +2 -2
  1058. package/Microsoft.ReactNative/Views/Impl/SnapPointManagingContentControl.h +2 -2
  1059. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +35 -413
  1060. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +3 -6
  1061. package/Microsoft.ReactNative/Views/PaperShadowNode.h +2 -1
  1062. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +7 -10
  1063. package/Microsoft.ReactNative/Views/PopupViewManager.h +1 -1
  1064. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +8 -39
  1065. package/Microsoft.ReactNative/Views/RawTextViewManager.h +10 -5
  1066. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +43 -0
  1067. package/Microsoft.ReactNative/Views/ReactViewInstance.h +53 -0
  1068. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +9 -7
  1069. package/Microsoft.ReactNative/Views/RefreshControlManager.h +1 -1
  1070. package/Microsoft.ReactNative/Views/RootViewManager.cpp +9 -10
  1071. package/Microsoft.ReactNative/Views/RootViewManager.h +1 -1
  1072. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +7 -8
  1073. package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
  1074. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +79 -50
  1075. package/Microsoft.ReactNative/Views/ScrollViewManager.h +4 -1
  1076. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +40 -5
  1077. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +33 -6
  1078. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -12
  1079. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +2 -4
  1080. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +16 -8
  1081. package/Microsoft.ReactNative/Views/SliderViewManager.h +1 -1
  1082. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +70 -23
  1083. package/Microsoft.ReactNative/Views/SwitchViewManager.h +1 -1
  1084. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +52 -0
  1085. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +37 -0
  1086. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +348 -0
  1087. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +13 -0
  1088. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +76 -0
  1089. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +32 -0
  1090. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +12 -0
  1091. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +19 -0
  1092. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +75 -0
  1093. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +43 -0
  1094. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +21 -0
  1095. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +23 -0
  1096. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +70 -0
  1097. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +34 -0
  1098. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +56 -0
  1099. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +34 -0
  1100. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +35 -0
  1101. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +47 -0
  1102. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +320 -119
  1103. package/Microsoft.ReactNative/Views/TextInputViewManager.h +1 -1
  1104. package/Microsoft.ReactNative/Views/TextViewManager.cpp +245 -89
  1105. package/Microsoft.ReactNative/Views/TextViewManager.h +12 -2
  1106. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +261 -165
  1107. package/Microsoft.ReactNative/Views/TouchEventHandler.h +34 -21
  1108. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
  1109. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
  1110. package/Microsoft.ReactNative/Views/ViewControl.cpp +5 -5
  1111. package/Microsoft.ReactNative/Views/ViewControl.h +5 -5
  1112. package/Microsoft.ReactNative/Views/ViewManager.h +4 -0
  1113. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +161 -43
  1114. package/Microsoft.ReactNative/Views/ViewManagerBase.h +20 -6
  1115. package/Microsoft.ReactNative/Views/ViewPanel.cpp +28 -243
  1116. package/Microsoft.ReactNative/Views/ViewPanel.h +12 -52
  1117. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +110 -206
  1118. package/Microsoft.ReactNative/Views/ViewViewManager.h +3 -2
  1119. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +64 -25
  1120. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +14 -12
  1121. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +2 -2
  1122. package/Microsoft.ReactNative/Views/XamlFeatures.h +2 -2
  1123. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +88 -13
  1124. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +4 -12
  1125. package/Microsoft.ReactNative/XamlHelper.cpp +52 -3
  1126. package/Microsoft.ReactNative/XamlHelper.h +32 -1
  1127. package/Microsoft.ReactNative/XamlHelper.idl +18 -5
  1128. package/Microsoft.ReactNative/XamlLoadState.cpp +6 -5
  1129. package/Microsoft.ReactNative/XamlLoadState.h +2 -2
  1130. package/Microsoft.ReactNative/XamlUIService.cpp +54 -6
  1131. package/Microsoft.ReactNative/XamlUIService.h +9 -2
  1132. package/Microsoft.ReactNative/XamlUIService.idl +43 -10
  1133. package/Microsoft.ReactNative/XamlView.cpp +18 -11
  1134. package/Microsoft.ReactNative/XamlView.h +20 -6
  1135. package/Microsoft.ReactNative/microsoft.reactnative.def +1 -1
  1136. package/Microsoft.ReactNative/packages.lock.json +159 -0
  1137. package/Microsoft.ReactNative.Cxx/AppModelHelpers.h +17 -0
  1138. package/Microsoft.ReactNative.Cxx/AutoDraw.h +40 -0
  1139. package/Microsoft.ReactNative.Cxx/CompositionSwitcher.Experimental.interop.h +34 -0
  1140. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
  1141. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +114 -0
  1142. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +231 -165
  1143. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +39 -56
  1144. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +69 -0
  1145. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +64 -0
  1146. package/Microsoft.ReactNative.Cxx/JSI/JsiValueHelpers.cpp +53 -0
  1147. package/Microsoft.ReactNative.Cxx/JSI/JsiValueHelpers.h +32 -0
  1148. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +84 -0
  1149. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiLoader.cpp +16 -0
  1150. package/Microsoft.ReactNative.Cxx/JSValue.cpp +5 -6
  1151. package/Microsoft.ReactNative.Cxx/JSValue.h +14 -2
  1152. package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
  1153. package/Microsoft.ReactNative.Cxx/JSValueReader.h +47 -3
  1154. package/Microsoft.ReactNative.Cxx/JSValueWriter.h +18 -12
  1155. package/Microsoft.ReactNative.Cxx/JSValueXaml.h +48 -3
  1156. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +102 -12
  1157. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +70 -5
  1158. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +14 -4
  1159. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +28 -3
  1160. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +2 -0
  1161. package/Microsoft.ReactNative.Cxx/NativeModules.h +189 -39
  1162. package/Microsoft.ReactNative.Cxx/ReactContext.h +6 -5
  1163. package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
  1164. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +5 -5
  1165. package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +20 -11
  1166. package/Microsoft.ReactNative.Cxx/ReactPromise.cpp +21 -1
  1167. package/Microsoft.ReactNative.Cxx/ReactPromise.h +27 -0
  1168. package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +15 -13
  1169. package/Microsoft.ReactNative.Cxx/StructInfo.h +4 -4
  1170. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +32 -0
  1171. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +34 -0
  1172. package/Microsoft.ReactNative.Cxx/VersionMacros.h +19 -0
  1173. package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
  1174. package/Microsoft.ReactNative.Cxx/cppapi.md.mustache +13 -0
  1175. package/Microsoft.ReactNative.Cxx/doxysaurus.json +53 -0
  1176. package/Microsoft.ReactNative.Managed/IReactPromise.cs +0 -20
  1177. package/Microsoft.ReactNative.Managed/JSValue.cs +1 -1
  1178. package/Microsoft.ReactNative.Managed/JSValueReader.cs +438 -444
  1179. package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
  1180. package/Microsoft.ReactNative.Managed/JSValueWriter.cs +8 -7
  1181. package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
  1182. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +39 -35
  1183. package/Microsoft.ReactNative.Managed/ReactAttributes.cs +16 -0
  1184. package/Microsoft.ReactNative.Managed/ReactConstantProvider.cs +5 -0
  1185. package/Microsoft.ReactNative.Managed/ReactContext.cs +21 -4
  1186. package/Microsoft.ReactNative.Managed/ReactDispatcher.cs +34 -0
  1187. package/Microsoft.ReactNative.Managed/ReactError.cs +36 -0
  1188. package/Microsoft.ReactNative.Managed/ReactNotificationArgsOf.cs +23 -0
  1189. package/Microsoft.ReactNative.Managed/ReactNotificationHandlerOf.cs +7 -0
  1190. package/Microsoft.ReactNative.Managed/ReactNotificationIdOf.cs +44 -0
  1191. package/Microsoft.ReactNative.Managed/ReactNotificationService.cs +146 -0
  1192. package/Microsoft.ReactNative.Managed/ReactNotificationSubscription.cs +43 -0
  1193. package/Microsoft.ReactNative.Managed/ReactNotificationSubscriptionRevoker.cs +64 -0
  1194. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
  1195. package/Microsoft.ReactNative.Managed/ReactPromise.cs +123 -81
  1196. package/Microsoft.ReactNative.Managed/ReactPropertyBag.cs +91 -0
  1197. package/Microsoft.ReactNative.Managed/ReactPropertyIdOf.cs +44 -0
  1198. package/Microsoft.ReactNative.Managed/ReactPropertyName.cs +39 -0
  1199. package/Microsoft.ReactNative.Managed/ReactPropertyNamespace.cs +26 -0
  1200. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +50 -0
  1201. package/Microsoft.ReactNative.Managed/ReactTaskExtensions.cs +15 -4
  1202. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
  1203. package/Microsoft.ReactNative.Managed/packages.lock.json +373 -0
  1204. package/Microsoft.ReactNative.Managed.CodeGen/App.cs +1 -1
  1205. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +795 -731
  1206. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +96 -61
  1207. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Serializers.cs +57 -18
  1208. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
  1209. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +37 -5
  1210. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +7 -7
  1211. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +3 -3
  1212. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactGetConstants.cs +17 -0
  1213. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactMethod.cs +11 -2
  1214. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactModule.cs +2 -0
  1215. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +10 -4
  1216. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +4 -4
  1217. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +4 -4
  1218. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +29 -3
  1219. package/Microsoft.ReactNative.Managed.CodeGen/SyntaxHelpers.cs +18 -4
  1220. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
  1221. package/Mso/Mso.vcxitems.filters +2 -2
  1222. package/Mso/activeObject/activeObject.h +8 -14
  1223. package/Mso/comUtil/IUnknownShim.h +4 -0
  1224. package/Mso/comUtil/qiCastCore.h +0 -6
  1225. package/Mso/compilerAdapters/compilerFeatures.h +1 -1
  1226. package/Mso/compilerAdapters/cppMacros.h +3 -5
  1227. package/Mso/compilerAdapters/functionDecorations.h +6 -6
  1228. package/Mso/cppExtensions/autoRestore.h +1 -6
  1229. package/Mso/debugAssertApi/debugAssertApi.h +1 -3
  1230. package/Mso/debugAssertApi/debugAssertDetails.h +4 -6
  1231. package/Mso/dispatchQueue/dispatchQueue.h +21 -8
  1232. package/Mso/errorCode/errorProvider.h +2 -2
  1233. package/Mso/errorCode/maybe.h +4 -4
  1234. package/Mso/functional/functor.h +6 -6
  1235. package/Mso/functional/functorRef.h +2 -2
  1236. package/Mso/future/details/executor.h +3 -3
  1237. package/Mso/future/details/futureFuncInl.h +4 -4
  1238. package/Mso/future/details/ifuture.h +3 -3
  1239. package/Mso/future/details/maybeInvoker.h +6 -6
  1240. package/Mso/future/details/promiseGroupInl.h +4 -4
  1241. package/Mso/future/details/promiseInl.h +4 -4
  1242. package/Mso/future/details/resultTraits.h +4 -4
  1243. package/Mso/future/details/whenAllInl.h +1 -1
  1244. package/Mso/future/future.h +13 -13
  1245. package/Mso/future/futureWait.h +1 -1
  1246. package/Mso/future/futureWinRT.h +11 -7
  1247. package/Mso/guid/msoGuidDetails.h +16 -15
  1248. package/Mso/memoryApi/memoryApi.h +13 -7
  1249. package/Mso/motifCpp/assert_IgnorePlat_emptyImpl.h +2 -0
  1250. package/Mso/motifCpp/assert_motifApi.h +2 -0
  1251. package/Mso/motifCpp/gTestAdapter.h +3 -1
  1252. package/Mso/motifCpp/libletAwareMemLeakDetection.h +2 -0
  1253. package/Mso/motifCpp/motifCppTest.h +5 -1
  1254. package/Mso/motifCpp/motifCppTestBase.h +2 -0
  1255. package/Mso/motifCpp/testCheck.h +9 -4
  1256. package/Mso/motifCpp/testInfo.h +9 -9
  1257. package/Mso/oacr/oacr.h +1 -1
  1258. package/Mso/object/make.h +8 -8
  1259. package/Mso/object/objectRefCount.h +3 -5
  1260. package/Mso/object/objectWithWeakRef.h +10 -14
  1261. package/Mso/object/queryCast.h +4 -6
  1262. package/Mso/object/refCountedObject.h +4 -4
  1263. package/Mso/object/unknownObject.h +7 -7
  1264. package/Mso/platformAdapters/windowsFirst.h +1 -1
  1265. package/Mso/smartPtr/cntPtr.h +21 -21
  1266. package/Mso/smartPtr/smartPointerBase.h +1 -5
  1267. package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
  1268. package/Mso/src/dispatchQueue/looperScheduler.cpp +38 -11
  1269. package/Mso/src/dispatchQueue/queueService.cpp +4 -6
  1270. package/Mso/src/dispatchQueue/queueService.h +2 -2
  1271. package/Mso/src/dispatchQueue/taskQueue.h +1 -1
  1272. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +98 -6
  1273. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +135 -44
  1274. package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -3
  1275. package/Mso/src/future/futureImpl.cpp +5 -5
  1276. package/Mso/src/future/futureImpl.h +2 -2
  1277. package/Mso/src/memoryApi/memoryApi.cpp +7 -4
  1278. package/PropertySheets/Appx.props +19 -0
  1279. package/PropertySheets/Autolink.props +1 -1
  1280. package/PropertySheets/Bundle.Common.targets +5 -4
  1281. package/PropertySheets/Bundle.props +9 -10
  1282. package/PropertySheets/Codegen.props +15 -0
  1283. package/PropertySheets/Codegen.targets +19 -0
  1284. package/PropertySheets/CppAppConsumeCSharpModule.props +18 -3
  1285. package/PropertySheets/CppAppConsumeCSharpModule.targets +0 -3
  1286. package/PropertySheets/Debug.props +1 -0
  1287. package/PropertySheets/External/Microsoft.ReactNative.CSharp.Dependencies.props +17 -0
  1288. package/PropertySheets/External/Microsoft.ReactNative.CSharp.PackageReferences.props +12 -0
  1289. package/PropertySheets/External/Microsoft.ReactNative.CSharp.ProjectReferences.props +20 -0
  1290. package/PropertySheets/External/Microsoft.ReactNative.Common.props +33 -3
  1291. package/PropertySheets/External/Microsoft.ReactNative.Common.targets +34 -0
  1292. package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +28 -0
  1293. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.props +25 -0
  1294. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
  1295. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
  1296. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
  1297. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
  1298. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
  1299. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +26 -0
  1300. package/PropertySheets/External/Microsoft.ReactNative.Cpp.PackageReferences.props +12 -0
  1301. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +22 -0
  1302. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.props +3 -0
  1303. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +26 -12
  1304. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpLib.props +1 -0
  1305. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpLib.targets +13 -12
  1306. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.props +4 -0
  1307. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +23 -10
  1308. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.props +11 -1
  1309. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.targets +18 -9
  1310. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +32 -0
  1311. package/PropertySheets/FastBuild.targets +64 -0
  1312. package/PropertySheets/FixupRoslynCscWarnings.targets +38 -0
  1313. package/PropertySheets/Generated/PackageVersion.g.props +20 -0
  1314. package/PropertySheets/HybridCRT.props +34 -0
  1315. package/PropertySheets/JSEngine.props +17 -9
  1316. package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  1317. package/PropertySheets/NewAPIDeclarations.props +25 -0
  1318. package/PropertySheets/NuGet.CSharp.props +15 -0
  1319. package/PropertySheets/NuGet.Cpp.props +32 -0
  1320. package/PropertySheets/OutputMSBuildProperties.targets +31 -0
  1321. package/PropertySheets/PackageVersionDefinitions.props +46 -0
  1322. package/PropertySheets/React.Cpp.props +45 -13
  1323. package/PropertySheets/ReactCommunity.cpp.props +2 -2
  1324. package/PropertySheets/Release.props +8 -1
  1325. package/PropertySheets/Warnings.props +8 -3
  1326. package/PropertySheets/WinUI.props +30 -11
  1327. package/PropertySheets/x64.props +3 -0
  1328. package/PropertySheets/x86.props +3 -0
  1329. package/README.md +6 -6
  1330. package/ReactCommon/ReactCommon.vcxproj +110 -48
  1331. package/ReactCommon/ReactCommon.vcxproj.filters +100 -41
  1332. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1556 -0
  1333. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
  1334. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
  1335. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
  1336. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +59 -0
  1337. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
  1338. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
  1339. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
  1340. package/ReactCommon/cgmanifest.json +15 -0
  1341. package/ReactCommon/packages.lock.json +30 -0
  1342. package/ReactCommon/pch.h +11 -1
  1343. package/Scripts/Analyze-Crash.ps1 +116 -0
  1344. package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
  1345. package/Scripts/Install-WindowsSDKISO.ps1 +1 -1
  1346. package/Scripts/IntegrationTests.ps1 +26 -11
  1347. package/Scripts/JustMyXaml.ps1 +8 -8
  1348. package/Scripts/Microsoft.ReactNative.Managed.nuspec +23 -30
  1349. package/Scripts/Microsoft.ReactNative.nuspec +16 -17
  1350. package/Scripts/Microsoft.ReactNative.targets +3 -2
  1351. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
  1352. package/Scripts/OfficeReact.Win32.nuspec +23 -9
  1353. package/Scripts/OpenSSL.targets +1 -1
  1354. package/Scripts/StripAdditionalPlatformsFromNuspec.ps1 +1 -1
  1355. package/Scripts/TestServers.ps1 +2 -28
  1356. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +132 -0
  1357. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +110 -0
  1358. package/Scripts/Tfs/Make-AnyCPU-RefAssemblies.ps1 +39 -0
  1359. package/Scripts/Tfs/Start-TestServers.ps1 +2 -14
  1360. package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
  1361. package/Scripts/Tracing/Start-Tracing.ps1 +28 -0
  1362. package/Scripts/Tracing/Stop-Tracing.ps1 +57 -0
  1363. package/Scripts/Tracing/rnw.wprp +27 -0
  1364. package/Scripts/UnitTest.ps1 +3 -3
  1365. package/Scripts/rnw-dependencies.ps1 +485 -143
  1366. package/Scripts/utils.js +1 -1
  1367. package/Shared/AbiSafe.h +3 -3
  1368. package/Shared/BaseFileReaderResource.cpp +89 -0
  1369. package/Shared/BaseFileReaderResource.h +41 -0
  1370. package/Shared/BaseScriptStoreImpl.cpp +69 -25
  1371. package/Shared/BaseScriptStoreImpl.h +2 -2
  1372. package/Shared/BatchingMessageQueueThread.h +3 -0
  1373. package/Shared/ChakraRuntimeHolder.cpp +5 -3
  1374. package/Shared/ChakraRuntimeHolder.h +4 -3
  1375. package/Shared/CppRuntimeOptions.h +50 -0
  1376. package/Shared/CreateInstance.h +25 -0
  1377. package/Shared/CreateModules.h +46 -14
  1378. package/Shared/CxxMessageQueue.cpp +1 -1
  1379. package/Shared/DevServerHelper.h +33 -6
  1380. package/Shared/DevSettings.h +30 -25
  1381. package/Shared/DevSupportManager.cpp +64 -15
  1382. package/Shared/DevSupportManager.h +27 -1
  1383. package/Shared/Executors/WebSocketJSExecutor.cpp +17 -22
  1384. package/Shared/Executors/WebSocketJSExecutor.h +2 -6
  1385. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +2 -1
  1386. package/Shared/Hasher.cpp +64 -0
  1387. package/Shared/Hasher.h +24 -0
  1388. package/Shared/HermesRuntimeHolder.cpp +397 -17
  1389. package/Shared/HermesRuntimeHolder.h +59 -12
  1390. package/Shared/HermesSamplingProfiler.cpp +115 -0
  1391. package/Shared/HermesSamplingProfiler.h +26 -0
  1392. package/Shared/IBlobPersistor.h +30 -0
  1393. package/Shared/IDevSupportManager.h +7 -2
  1394. package/Shared/IFileReaderResource.h +36 -0
  1395. package/Shared/IReactRootView.h +0 -1
  1396. package/Shared/InspectorPackagerConnection.cpp +235 -0
  1397. package/Shared/InspectorPackagerConnection.h +61 -0
  1398. package/Shared/InstanceManager.cpp +40 -9
  1399. package/Shared/InstanceManager.h +9 -5
  1400. package/Shared/JSI/ChakraApi.cpp +436 -0
  1401. package/Shared/JSI/ChakraApi.h +474 -0
  1402. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +100 -0
  1403. package/Shared/JSI/ChakraRuntime.cpp +1128 -0
  1404. package/Shared/JSI/ChakraRuntime.h +510 -0
  1405. package/Shared/JSI/ChakraRuntimeArgs.h +45 -0
  1406. package/Shared/JSI/ChakraRuntimeFactory.h +15 -0
  1407. package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
  1408. package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
  1409. package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
  1410. package/Shared/JSI/RuntimeHolder.h +28 -0
  1411. package/Shared/JSI/ScriptStore.h +77 -0
  1412. package/Shared/JSI/V8RuntimeHolder.cpp +260 -0
  1413. package/Shared/JSI/V8RuntimeHolder.h +37 -0
  1414. package/Shared/Logging.cpp +1 -1
  1415. package/Shared/MemoryMappedBuffer.cpp +2 -36
  1416. package/Shared/MemoryMappedBuffer.h +1 -1
  1417. package/Shared/Modules/BlobCollector.cpp +21 -0
  1418. package/Shared/Modules/BlobCollector.h +23 -0
  1419. package/Shared/Modules/BlobModule.cpp +191 -0
  1420. package/Shared/Modules/BlobModule.h +91 -0
  1421. package/Shared/Modules/CxxModuleUtilities.cpp +51 -0
  1422. package/Shared/Modules/CxxModuleUtilities.h +40 -0
  1423. package/Shared/Modules/ExceptionsManagerModule.cpp +57 -55
  1424. package/Shared/Modules/FileReaderModule.cpp +218 -0
  1425. package/Shared/Modules/FileReaderModule.h +80 -0
  1426. package/Shared/Modules/HttpModule.cpp +329 -0
  1427. package/Shared/Modules/HttpModule.h +92 -0
  1428. package/Shared/Modules/I18nModule.cpp +3 -2
  1429. package/Shared/Modules/IHttpModuleProxy.h +30 -0
  1430. package/Shared/Modules/IRequestBodyHandler.h +54 -0
  1431. package/Shared/Modules/IResponseHandler.h +27 -0
  1432. package/Shared/Modules/IUriHandler.h +37 -0
  1433. package/Shared/Modules/IWebSocketModuleContentHandler.h +28 -0
  1434. package/Shared/Modules/IWebSocketModuleProxy.h +22 -0
  1435. package/Shared/Modules/NetworkingModule.cpp +2 -5
  1436. package/Shared/Modules/PlatformConstantsModule.cpp +6 -16
  1437. package/Shared/Modules/SourceCodeModule.h +0 -3
  1438. package/Shared/Modules/WebSocketModule.cpp +415 -106
  1439. package/Shared/Modules/WebSocketModule.h +54 -15
  1440. package/Shared/Modules/WebSocketTurboModule.h +71 -0
  1441. package/Shared/Networking/DefaultBlobResource.cpp +331 -0
  1442. package/Shared/Networking/DefaultBlobResource.h +133 -0
  1443. package/Shared/Networking/IBlobResource.h +56 -0
  1444. package/Shared/Networking/IHttpResource.h +229 -0
  1445. package/Shared/Networking/IRedirectEventSource.h +18 -0
  1446. package/Shared/Networking/IWebSocketResource.h +185 -0
  1447. package/Shared/Networking/IWinRTHttpRequestFactory.h +22 -0
  1448. package/Shared/Networking/OriginPolicy.h +15 -0
  1449. package/Shared/Networking/OriginPolicyHttpFilter.cpp +798 -0
  1450. package/Shared/Networking/OriginPolicyHttpFilter.h +123 -0
  1451. package/Shared/Networking/RedirectHttpFilter.cpp +292 -0
  1452. package/Shared/Networking/RedirectHttpFilter.h +97 -0
  1453. package/Shared/Networking/WinRTHttpResource.cpp +692 -0
  1454. package/Shared/Networking/WinRTHttpResource.h +110 -0
  1455. package/Shared/Networking/WinRTTypes.h +33 -0
  1456. package/Shared/Networking/WinRTWebSocketResource.cpp +461 -0
  1457. package/Shared/Networking/WinRTWebSocketResource.h +129 -0
  1458. package/Shared/OInstance.cpp +346 -247
  1459. package/Shared/OInstance.h +31 -17
  1460. package/Shared/PackagerConnection.cpp +7 -5
  1461. package/Shared/PackagerConnection.h +2 -2
  1462. package/Shared/RuntimeOptions.cpp +126 -0
  1463. package/Shared/RuntimeOptions.h +32 -8
  1464. package/Shared/SafeLoadLibrary.cpp +77 -0
  1465. package/Shared/SafeLoadLibrary.h +19 -0
  1466. package/Shared/Shared.vcxitems +566 -32
  1467. package/Shared/Shared.vcxitems.filters +596 -99
  1468. package/Shared/SystemChakraRuntime.h +38 -0
  1469. package/Shared/Threading/BatchingQueueThread.cpp +73 -25
  1470. package/Shared/Threading/BatchingQueueThread.h +30 -15
  1471. package/Shared/Threading/MessageDispatchQueue.cpp +83 -4
  1472. package/Shared/Threading/MessageDispatchQueue.h +31 -0
  1473. package/Shared/Threading/MessageQueueThreadFactory.cpp +2 -2
  1474. package/Shared/Threading/MessageQueueThreadFactory.h +3 -3
  1475. package/Shared/TurboModuleManager.cpp +1 -1
  1476. package/Shared/Utils/CppWinrtLessExceptions.h +10 -4
  1477. package/Shared/Utils/WinRTConversions.cpp +22 -0
  1478. package/Shared/Utils/WinRTConversions.h +15 -0
  1479. package/Shared/Utils.cpp +58 -1
  1480. package/Shared/Utils.h +3 -0
  1481. package/Shared/V8JSIRuntimeHolder.cpp +13 -133
  1482. package/Shared/V8JSIRuntimeHolder.h +14 -6
  1483. package/Shared/WebSocketJSExecutorFactory.h +1 -0
  1484. package/Shared/tracing/fbsystrace.h +3 -3
  1485. package/Shared/tracing/tracing.cpp +105 -34
  1486. package/Shared/tracing/tracing.h +20 -0
  1487. package/codegen/.clang-format +2 -0
  1488. package/codegen/NativeAccessibilityInfoSpec.g.h +27 -14
  1489. package/codegen/NativeAccessibilityManagerSpec.g.h +89 -32
  1490. package/codegen/NativeActionSheetManagerSpec.g.h +85 -7
  1491. package/codegen/NativeAlertManagerSpec.g.h +34 -4
  1492. package/codegen/NativeAnimatedModuleSpec.g.h +122 -83
  1493. package/codegen/NativeAnimatedTurboModuleSpec.g.h +122 -83
  1494. package/codegen/NativeAnimationsDebugModuleSpec.g.h +6 -5
  1495. package/codegen/NativeAppStateSpec.g.h +31 -8
  1496. package/codegen/NativeAppThemeSpec.g.h +68 -0
  1497. package/codegen/NativeAppearanceSpec.g.h +18 -11
  1498. package/codegen/NativeBlobModuleSpec.g.h +29 -15
  1499. package/codegen/NativeBugReportingSpec.g.h +7 -12
  1500. package/codegen/NativeClipboardSpec.g.h +7 -6
  1501. package/codegen/NativeDevLoadingViewSpec.g.h +7 -6
  1502. package/codegen/NativeDevMenuSpec.g.h +12 -11
  1503. package/codegen/NativeDevSettingsSpec.g.h +24 -23
  1504. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +52 -0
  1505. package/codegen/NativeDeviceEventManagerSpec.g.h +4 -3
  1506. package/codegen/NativeDeviceInfoSpec.g.h +68 -1
  1507. package/codegen/NativeDialogManagerAndroidSpec.g.h +57 -4
  1508. package/codegen/NativeDialogManagerWindowsSpec.g.h +90 -0
  1509. package/codegen/NativeExceptionsManagerSpec.g.h +60 -15
  1510. package/codegen/NativeFileReaderModuleSpec.g.h +8 -7
  1511. package/codegen/NativeFrameRateLoggerSpec.g.h +22 -10
  1512. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +7 -6
  1513. package/codegen/NativeI18nManagerSpec.g.h +23 -7
  1514. package/codegen/NativeImageEditorSpec.g.h +63 -4
  1515. package/codegen/NativeImageLoaderAndroidSpec.g.h +29 -15
  1516. package/codegen/NativeImageLoaderIOSSpec.g.h +30 -16
  1517. package/codegen/NativeImageStoreAndroidSpec.g.h +5 -4
  1518. package/codegen/NativeImageStoreIOSSpec.g.h +35 -12
  1519. package/codegen/NativeIntentAndroidSpec.g.h +17 -16
  1520. package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
  1521. package/codegen/NativeJSCHeapCaptureSpec.g.h +5 -4
  1522. package/codegen/NativeJSCSamplingProfilerSpec.g.h +5 -4
  1523. package/codegen/NativeKeyboardObserverSpec.g.h +6 -5
  1524. package/codegen/NativeLinkingManagerSpec.g.h +18 -17
  1525. package/codegen/NativeLogBoxSpec.g.h +6 -5
  1526. package/codegen/NativeModalManagerSpec.g.h +6 -5
  1527. package/codegen/NativeMutationObserverSpec.g.h +90 -0
  1528. package/codegen/NativeNetworkingAndroidSpec.g.h +14 -13
  1529. package/codegen/NativeNetworkingIOSSpec.g.h +39 -13
  1530. package/codegen/NativePerformanceObserverSpec.g.h +130 -0
  1531. package/codegen/NativePerformanceSpec.g.h +52 -0
  1532. package/codegen/NativePermissionsAndroidSpec.g.h +14 -13
  1533. package/codegen/NativePlatformConstantsAndroidSpec.g.h +54 -3
  1534. package/codegen/NativePlatformConstantsIOSSpec.g.h +44 -1
  1535. package/codegen/NativePlatformConstantsWinSpec.g.h +53 -1
  1536. package/codegen/NativePushNotificationManagerIOSSpec.g.h +112 -48
  1537. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +100 -0
  1538. package/codegen/NativeRedBoxSpec.g.h +7 -6
  1539. package/codegen/NativeSampleTurboModuleSpec.g.h +110 -36
  1540. package/codegen/NativeSegmentFetcherSpec.g.h +8 -7
  1541. package/codegen/NativeSettingsManagerSpec.g.h +29 -7
  1542. package/codegen/NativeShareModuleSpec.g.h +29 -4
  1543. package/codegen/NativeSoundManagerSpec.g.h +4 -3
  1544. package/codegen/NativeSourceCodeSpec.g.h +13 -1
  1545. package/codegen/NativeStatusBarManagerAndroidSpec.g.h +34 -10
  1546. package/codegen/NativeStatusBarManagerIOSSpec.g.h +50 -15
  1547. package/codegen/NativeTimingSpec.g.h +8 -7
  1548. package/codegen/NativeToastAndroidSpec.g.h +37 -7
  1549. package/codegen/NativeUIManagerSpec.g.h +94 -105
  1550. package/codegen/NativeVibrationSpec.g.h +9 -8
  1551. package/codegen/NativeWebSocketModuleSpec.g.h +28 -16
  1552. package/codegen/react/components/rnwcore/ComponentDescriptors.h +31 -0
  1553. package/codegen/react/components/rnwcore/EventEmitters.cpp +132 -0
  1554. package/codegen/react/components/rnwcore/EventEmitters.h +169 -0
  1555. package/codegen/react/components/rnwcore/Props.cpp +155 -0
  1556. package/codegen/react/components/rnwcore/Props.h +392 -0
  1557. package/codegen/react/components/rnwcore/ShadowNodes.cpp +24 -0
  1558. package/codegen/react/components/rnwcore/ShadowNodes.h +109 -0
  1559. package/codegen/react/components/rnwcore/States.cpp +16 -0
  1560. package/codegen/react/components/rnwcore/States.h +139 -0
  1561. package/codegen/rnwcoreJSI-generated.cpp +2939 -0
  1562. package/codegen/rnwcoreJSI.h +10018 -0
  1563. package/fmt/.clang-format +2 -0
  1564. package/fmt/cgmanifest.json +15 -0
  1565. package/fmt/fmt.vcxproj +153 -0
  1566. package/fmt/fmt.vcxproj.filters +59 -0
  1567. package/fmt/packages.lock.json +13 -0
  1568. package/fmt/pch.cpp +4 -0
  1569. package/fmt/pch.h +2 -0
  1570. package/generate.js +6 -1
  1571. package/include/Include.vcxitems +0 -1
  1572. package/include/Include.vcxitems.filters +1 -4
  1573. package/include/Shared/cdebug.h +43 -34
  1574. package/index.js +319 -233
  1575. package/index.windows.js +335 -253
  1576. package/interface.js +9 -9
  1577. package/jest/MockNativeMethods.js +21 -0
  1578. package/jest/ReactNativeInternalFeatureFlagsMock.js +13 -0
  1579. package/jest/__tests__/setup-test.js +18 -0
  1580. package/jest/assetFileTransformer.js +32 -0
  1581. package/jest/local-setup.js +28 -0
  1582. package/jest/mockComponent.js +64 -0
  1583. package/jest/mockModal.js +34 -0
  1584. package/jest/mockNativeComponent.js +40 -0
  1585. package/jest/mockScrollView.js +35 -0
  1586. package/jest/react-native-env.js +16 -0
  1587. package/jest/renderer.js +30 -0
  1588. package/jest/setup.js +411 -0
  1589. package/just-task.js +25 -35
  1590. package/metro.config.js +3 -62
  1591. package/package.json +75 -60
  1592. package/react-native.config.js +47 -10
  1593. package/rn-get-polyfills.js +2 -2
  1594. package/src/private/core/setUpDOM.js +18 -0
  1595. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +44 -0
  1596. package/src/private/featureflags/ReactNativeFeatureFlags.js +150 -0
  1597. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +101 -0
  1598. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  1599. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  1600. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  1601. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  1602. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  1603. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  1604. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  1605. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  1606. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  1607. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  1608. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  1609. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  1610. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  1611. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  1612. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  1613. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  1614. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  1615. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  1616. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  1617. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  1618. package/src/private/specs/modules/NativeAppState.js +33 -0
  1619. package/src/private/specs/modules/NativeAppTheme.js +33 -0
  1620. package/src/private/specs/modules/NativeAppearance.js +36 -0
  1621. package/src/private/specs/modules/NativeBlobModule.js +61 -0
  1622. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  1623. package/src/private/specs/modules/NativeClipboard.js +21 -0
  1624. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  1625. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  1626. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  1627. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  1628. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  1629. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  1630. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  1631. package/src/private/specs/modules/NativeDialogManagerWindows.js +51 -0
  1632. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  1633. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  1634. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  1635. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  1636. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  1637. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  1638. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  1639. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  1640. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  1641. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  1642. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  1643. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  1644. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  1645. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  1646. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  1647. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  1648. package/src/private/specs/modules/NativeLogBox.js +20 -0
  1649. package/src/private/specs/modules/NativeModalManager.js +21 -0
  1650. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  1651. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  1652. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  1653. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  1654. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  1655. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  1656. package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
  1657. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  1658. package/src/private/specs/modules/NativeRedBox.js +20 -0
  1659. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  1660. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  1661. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  1662. package/src/private/specs/modules/NativeShareModule.js +23 -0
  1663. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  1664. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  1665. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  1666. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  1667. package/src/private/specs/modules/NativeTiming.js +26 -0
  1668. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  1669. package/src/private/specs/modules/NativeUIManager.js +118 -0
  1670. package/src/private/specs/modules/NativeVibration.js +24 -0
  1671. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  1672. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  1673. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  1674. package/src/private/webapis/dom/nodes/ReactNativeElement.js +192 -0
  1675. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +72 -0
  1676. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +275 -0
  1677. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +363 -0
  1678. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  1679. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  1680. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  1681. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  1682. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  1683. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  1684. package/src/private/webapis/performance/EventCounts.js +78 -0
  1685. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  1686. package/src/private/webapis/performance/NativePerformance.js +33 -0
  1687. package/src/private/webapis/performance/NativePerformanceObserver.js +61 -0
  1688. package/src/private/webapis/performance/Performance.js +339 -0
  1689. package/src/private/webapis/performance/PerformanceEntry.js +53 -0
  1690. package/src/private/webapis/performance/PerformanceEventTiming.js +55 -0
  1691. package/src/private/webapis/performance/PerformanceObserver.js +337 -0
  1692. package/src/private/webapis/performance/RawPerformanceEntry.js +87 -0
  1693. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  1694. package/src/private/webapis/performance/__mocks__/NativePerformance.js +67 -0
  1695. package/src/private/webapis/performance/__mocks__/NativePerformanceObserver.js +128 -0
  1696. package/stubs/double-conversion/double-conversion.h +23 -6
  1697. package/stubs/glog/logging.h +7 -0
  1698. package/template/.clang-format +4 -0
  1699. package/template/cpp-app/proj/MyApp.sln +21 -52
  1700. package/template/cpp-app/proj/MyApp.vcxproj +12 -57
  1701. package/template/cpp-app/proj/MyApp.vcxproj.filters +1 -2
  1702. package/template/cpp-app/src/App.cpp +23 -10
  1703. package/template/cpp-app/src/App.h +5 -9
  1704. package/template/cpp-app/src/MainPage.cpp +1 -5
  1705. package/template/cpp-app/src/MainPage.h +0 -2
  1706. package/template/cpp-app/src/MainPage.idl +3 -1
  1707. package/template/cpp-app/src/PropertySheet.props +3 -3
  1708. package/template/cpp-app/src/ReactPackageProvider.cpp +1 -4
  1709. package/template/cpp-app/src/ReactPackageProvider.h +0 -2
  1710. package/template/cpp-app/src/pch.h +6 -9
  1711. package/template/cpp-lib/proj/MyLib.sln +21 -52
  1712. package/template/cpp-lib/proj/MyLib.vcxproj +19 -50
  1713. package/template/cpp-lib/proj/MyLib.vcxproj.filters +1 -2
  1714. package/template/cpp-lib/src/PropertySheet.props +3 -3
  1715. package/template/cpp-lib/src/ReactNativeModule.h +0 -4
  1716. package/template/cpp-lib/src/ReactPackageProvider.cpp +1 -4
  1717. package/template/cpp-lib/src/ReactPackageProvider.h +0 -3
  1718. package/template/cpp-lib/src/pch.h +4 -9
  1719. package/template/cs-app/proj/MyApp.csproj +18 -47
  1720. package/template/cs-app/proj/MyApp.sln +21 -60
  1721. package/template/cs-app/src/App.xaml.cs +22 -11
  1722. package/template/cs-app/src/AutolinkedNativeModules.g.cs +1 -1
  1723. package/template/cs-app/src/MainPage.xaml.cs +8 -7
  1724. package/template/cs-lib/proj/MyLib.csproj +17 -35
  1725. package/template/cs-lib/proj/MyLib.sln +21 -60
  1726. package/template/metro.config.js +22 -8
  1727. package/template/metro.devMode.config.js +33 -18
  1728. package/template/shared-app/proj/ExperimentalFeatures.props +40 -0
  1729. package/template/shared-app/proj/NuGet_Config +19 -0
  1730. package/template/shared-app/src/MainPage.xaml +1 -1
  1731. package/template/shared-lib/proj/ExperimentalFeatures.props +40 -0
  1732. package/template/shared-lib/proj/NuGet_Config +17 -0
  1733. package/templates/.clang-format +4 -0
  1734. package/templates/cpp-app/jest.config.windows.js +3 -0
  1735. package/templates/cpp-app/metro.config.js +54 -0
  1736. package/templates/cpp-app/template.config.js +134 -0
  1737. package/templates/cpp-app/windows/ExperimentalFeatures.props +11 -0
  1738. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
  1739. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
  1740. package/templates/cpp-app/windows/MyApp/MyApp.cpp +164 -0
  1741. package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
  1742. package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
  1743. package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
  1744. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +143 -0
  1745. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +58 -0
  1746. package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
  1747. package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
  1748. package/templates/cpp-app/windows/MyApp/pch.h +38 -0
  1749. package/templates/cpp-app/windows/MyApp/resource.h +17 -0
  1750. package/templates/cpp-app/windows/MyApp/small.ico +0 -0
  1751. package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
  1752. package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
  1753. package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
  1754. package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
  1755. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
  1756. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  1757. package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
  1758. package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
  1759. package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
  1760. package/templates/cpp-app/windows/MyApp.Package/Package.appxmanifest +49 -0
  1761. package/templates/cpp-app/windows/MyApp.sln +176 -0
  1762. package/templates/cpp-app/windows/_gitignore +41 -0
  1763. package/templates/cpp-lib/example/metro.config.js +74 -0
  1764. package/templates/cpp-lib/template.config.js +235 -0
  1765. package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
  1766. package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
  1767. package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
  1768. package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
  1769. package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
  1770. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
  1771. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
  1772. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
  1773. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
  1774. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
  1775. package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
  1776. package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
  1777. package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
  1778. package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
  1779. package/templates/cpp-lib/windows/MyLib.sln +156 -0
  1780. package/templates/cpp-lib/windows/_gitignore +41 -0
  1781. package/templates/old/generateWrapper.js +67 -0
  1782. package/templates/old/uwp-cpp-app/template.config.js +15 -0
  1783. package/templates/old/uwp-cpp-lib/template.config.js +15 -0
  1784. package/templates/old/uwp-cs-app/template.config.js +15 -0
  1785. package/templates/old/uwp-cs-lib/template.config.js +15 -0
  1786. package/templates/templateUtils.js +137 -0
  1787. package/types/experimental.d.ts +145 -0
  1788. package/types/index.d.ts +217 -0
  1789. package/types/modules/BatchedBridge.d.ts +32 -0
  1790. package/types/modules/Codegen.d.ts +74 -0
  1791. package/types/modules/Devtools.d.ts +32 -0
  1792. package/types/modules/LaunchScreen.d.ts +18 -0
  1793. package/types/modules/globals.d.ts +599 -0
  1794. package/types/private/TimerMixin.d.ts +19 -0
  1795. package/types/private/Utilities.d.ts +10 -0
  1796. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  1797. package/types/public/Insets.d.ts +15 -0
  1798. package/types/public/ReactNativeRenderer.d.ts +144 -0
  1799. package/types/public/ReactNativeTypes.d.ts +143 -0
  1800. package/CHANGELOG.json +0 -10261
  1801. package/CHANGELOG.md +0 -3715
  1802. package/Chakra/ChakraCoreDebugger.h +0 -147
  1803. package/Chakra/ChakraExecutor.cpp +0 -802
  1804. package/Chakra/ChakraExecutor.h +0 -163
  1805. package/Chakra/ChakraNativeModules.cpp +0 -67
  1806. package/Chakra/ChakraNativeModules.h +0 -36
  1807. package/Folly/TEMP_UntilFollyUpdate/portability/Builtins.h +0 -153
  1808. package/Folly/packages.config +0 -4
  1809. package/JSI/Desktop/ChakraJsiRuntime_core.cpp +0 -328
  1810. package/JSI/Desktop/JSI.Desktop.vcxproj +0 -97
  1811. package/JSI/Desktop/JSI.Desktop.vcxproj.filters +0 -19
  1812. package/JSI/Desktop/packages.config +0 -6
  1813. package/JSI/Shared/ChakraApi.cpp +0 -458
  1814. package/JSI/Shared/ChakraApi.h +0 -478
  1815. package/JSI/Shared/ChakraRuntime.cpp +0 -972
  1816. package/JSI/Shared/ChakraRuntime.h +0 -501
  1817. package/JSI/Shared/ChakraRuntimeArgs.h +0 -50
  1818. package/JSI/Shared/ChakraRuntimeFactory.h +0 -14
  1819. package/JSI/Shared/JSI.Shared.vcxitems +0 -29
  1820. package/JSI/Shared/JSI.Shared.vcxitems.filters +0 -42
  1821. package/JSI/Shared/RuntimeHolder.h +0 -21
  1822. package/JSI/Shared/ScriptStore.h +0 -79
  1823. package/JSI/Universal/ChakraJsiRuntime_edgemode.cpp +0 -90
  1824. package/JSI/Universal/JSI.Universal.vcxproj +0 -100
  1825. package/JSI/Universal/JSI.Universal.vcxproj.filters +0 -16
  1826. package/Libraries/AppTheme/AppTheme.d.ts +0 -25
  1827. package/Libraries/AppTheme/AppTheme.d.ts.map +0 -1
  1828. package/Libraries/AppTheme/AppTheme.js.map +0 -1
  1829. package/Libraries/AppTheme/AppThemeTypes.d.ts.map +0 -1
  1830. package/Libraries/AppTheme/AppThemeTypes.js +0 -8
  1831. package/Libraries/AppTheme/AppThemeTypes.js.map +0 -1
  1832. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -158
  1833. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -273
  1834. package/Libraries/Components/DatePicker/DatePicker.d.ts +0 -11
  1835. package/Libraries/Components/DatePicker/DatePicker.d.ts.map +0 -1
  1836. package/Libraries/Components/DatePicker/DatePicker.js +0 -96
  1837. package/Libraries/Components/DatePicker/DatePicker.js.map +0 -1
  1838. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -46
  1839. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -189
  1840. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -8
  1841. package/Libraries/Components/DatePicker/DatePickerProps.d.ts +0 -33
  1842. package/Libraries/Components/DatePicker/DatePickerProps.d.ts.map +0 -1
  1843. package/Libraries/Components/DatePicker/DatePickerProps.js +0 -16
  1844. package/Libraries/Components/DatePicker/DatePickerProps.js.map +0 -1
  1845. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  1846. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
  1847. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  1848. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.windows.js +0 -8
  1849. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  1850. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -22
  1851. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +0 -12
  1852. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
  1853. package/Libraries/Components/Flyout/Flyout.d.ts.map +0 -1
  1854. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  1855. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -22
  1856. package/Libraries/Components/Flyout/FlyoutProps.d.ts.map +0 -1
  1857. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  1858. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  1859. package/Libraries/Components/Glyph/Glyph.d.ts.map +0 -1
  1860. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  1861. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -17
  1862. package/Libraries/Components/Glyph/GlyphProps.d.ts.map +0 -1
  1863. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  1864. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  1865. package/Libraries/Components/Keyboard/KeyboardExt.d.ts.map +0 -1
  1866. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts.map +0 -1
  1867. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +0 -13
  1868. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  1869. package/Libraries/Components/MaskedView/MaskedViewIOS.windows.js +0 -9
  1870. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  1871. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -82
  1872. package/Libraries/Components/Picker/AndroidDialogPickerViewConfig.js +0 -30
  1873. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -69
  1874. package/Libraries/Components/Picker/Picker.js +0 -165
  1875. package/Libraries/Components/Picker/Picker.windows.js +0 -170
  1876. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -145
  1877. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  1878. package/Libraries/Components/Picker/PickerAndroid.windows.js +0 -8
  1879. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  1880. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  1881. package/Libraries/Components/Picker/PickerIOS.windows.js +0 -8
  1882. package/Libraries/Components/Picker/PickerProps.d.ts +0 -30
  1883. package/Libraries/Components/Picker/PickerProps.d.ts.map +0 -1
  1884. package/Libraries/Components/Picker/PickerProps.js +0 -8
  1885. package/Libraries/Components/Picker/PickerProps.js.map +0 -1
  1886. package/Libraries/Components/Picker/PickerWindows.d.ts +0 -38
  1887. package/Libraries/Components/Picker/PickerWindows.d.ts.map +0 -1
  1888. package/Libraries/Components/Picker/PickerWindows.js +0 -118
  1889. package/Libraries/Components/Picker/PickerWindows.js.map +0 -1
  1890. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -72
  1891. package/Libraries/Components/Picker/RCTPickerViewConfig.js +0 -41
  1892. package/Libraries/Components/Popup/Popup.d.ts.map +0 -1
  1893. package/Libraries/Components/Popup/Popup.js.map +0 -1
  1894. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  1895. package/Libraries/Components/Popup/PopupProps.d.ts.map +0 -1
  1896. package/Libraries/Components/Popup/PopupProps.js +0 -8
  1897. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  1898. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
  1899. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -8
  1900. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -46
  1901. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -77
  1902. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -8
  1903. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -35
  1904. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -63
  1905. package/Libraries/Components/ScrollResponder.js +0 -772
  1906. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -75
  1907. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -46
  1908. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -46
  1909. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  1910. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -8
  1911. package/Libraries/Components/Slider/Slider.js +0 -273
  1912. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -60
  1913. package/Libraries/Components/StaticContainer.react.js +0 -51
  1914. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -21
  1915. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -114
  1916. package/Libraries/Components/TextInput/RCTSinglelineTextInputViewConfig.js +0 -134
  1917. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -37
  1918. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -37
  1919. package/Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js +0 -12
  1920. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
  1921. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -347
  1922. package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -377
  1923. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  1924. package/Libraries/Components/View/ViewWindows.d.ts +0 -20
  1925. package/Libraries/Components/View/ViewWindows.d.ts.map +0 -1
  1926. package/Libraries/Components/View/ViewWindows.js +0 -30
  1927. package/Libraries/Components/View/ViewWindows.js.map +0 -1
  1928. package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -30
  1929. package/Libraries/Components/View/ViewWindowsProps.d.ts.map +0 -1
  1930. package/Libraries/Components/View/ViewWindowsProps.js +0 -8
  1931. package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
  1932. package/Libraries/Core/setUpSystrace.js +0 -21
  1933. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  1934. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  1935. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.js +0 -82
  1936. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  1937. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  1938. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  1939. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  1940. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  1941. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  1942. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  1943. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  1944. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  1945. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  1946. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -44
  1947. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.windows.js +0 -71
  1948. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  1949. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  1950. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  1951. package/Libraries/Image/ImagePickerIOS.js +0 -105
  1952. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1953. package/Libraries/Image/NativeImagePickerIOS.js +0 -40
  1954. package/Libraries/Interaction/Batchinator.js +0 -76
  1955. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -62
  1956. package/Libraries/Interaction/InteractionMixin.js +0 -55
  1957. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1958. package/Libraries/Network/RCTNetworkingWinShared.js +0 -69
  1959. package/Libraries/Performance/PureComponentDebug.js +0 -73
  1960. package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
  1961. package/Libraries/ReactNative/DummyUIManager.js +0 -122
  1962. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  1963. package/Libraries/Reliability/UserFlow.js +0 -136
  1964. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -21758
  1965. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -7714
  1966. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8009
  1967. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -22404
  1968. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -7938
  1969. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -8230
  1970. package/Libraries/Settings/Settings.android.js +0 -33
  1971. package/Libraries/Settings/Settings.windows.js +0 -28
  1972. package/Libraries/Storage/AsyncStorage.js +0 -361
  1973. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -43
  1974. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -43
  1975. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
  1976. package/Libraries/Text/TextInjection.js +0 -17
  1977. package/Libraries/Utilities/JSDevSupportModule.js +0 -40
  1978. package/Libraries/Utilities/MatrixMath.js +0 -748
  1979. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -20
  1980. package/Libraries/Utilities/NativeJSDevSupport.js +0 -25
  1981. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  1982. package/Libraries/Utilities/clamp.js +0 -23
  1983. package/Libraries/Utilities/deprecatedPropType.js +0 -38
  1984. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1985. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1986. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1987. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  1988. package/Libraries/Utilities/truncate.js +0 -51
  1989. package/Libraries/promiseRejectionIsError.js +0 -24
  1990. package/Libraries/vendor/emitter/_EmitterSubscription.js +0 -60
  1991. package/Libraries/vendor/emitter/_EventEmitter.js +0 -173
  1992. package/Libraries/vendor/emitter/_EventSubscription.js +0 -40
  1993. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +0 -101
  1994. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -112
  1995. package/Microsoft.ReactNative/Base/CoreNativeModules.h +0 -34
  1996. package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -215
  1997. package/Microsoft.ReactNative/Modules/TimingModule.h +0 -91
  1998. package/Microsoft.ReactNative/Modules/WebSocketModuleUwp.cpp +0 -321
  1999. package/Microsoft.ReactNative/Modules/WebSocketModuleUwp.h +0 -28
  2000. package/Microsoft.ReactNative/ReactHost/ReactContext.cpp +0 -190
  2001. package/Microsoft.ReactNative/ReactHost/ReactContext.h +0 -73
  2002. package/Microsoft.ReactNative/Views/DatePickerViewManager.cpp +0 -176
  2003. package/Microsoft.ReactNative/Views/DatePickerViewManager.h +0 -28
  2004. package/Microsoft.ReactNative/Views/PickerViewManager.cpp +0 -212
  2005. package/Microsoft.ReactNative/Views/PickerViewManager.h +0 -29
  2006. package/Microsoft.ReactNative/Views/ReactRootControl.cpp +0 -489
  2007. package/Microsoft.ReactNative/Views/ReactRootControl.h +0 -154
  2008. package/Microsoft.ReactNative/packages.config +0 -12
  2009. package/Microsoft.ReactNative.Cxx/JSI/JsiApi.h +0 -31
  2010. package/PropertySheets/ARM.props +0 -13
  2011. package/PropertySheets/Application/ARM.props +0 -13
  2012. package/PropertySheets/DynamicLibrary/ARM.props +0 -13
  2013. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.SourceReferences.targets +0 -20
  2014. package/PropertySheets/StaticLibrary/ARM.props +0 -13
  2015. package/ReactCommon/Yoga.cpp +0 -4424
  2016. package/ReactCommon/packages.config +0 -4
  2017. package/Scripts/Microsoft.ChakraCore.ARM64.nuspec +0 -50
  2018. package/Scripts/Microsoft.ChakraCore.ARM64.targets +0 -15
  2019. package/Scripts/Microsoft.ReactNative.Cxx.NugetSignConfig.xml +0 -6
  2020. package/Scripts/Microsoft.ReactNative.Managed.CodeGen.NugetSignConfig.xml +0 -6
  2021. package/Scripts/Microsoft.ReactNative.Managed.CodeGen.SignConfig.xml +0 -12
  2022. package/Scripts/Microsoft.ReactNative.Managed.NugetSignConfig.xml +0 -6
  2023. package/Scripts/Microsoft.ReactNative.Managed.SignConfig.xml +0 -26
  2024. package/Scripts/Microsoft.ReactNative.NugetSignConfig.xml +0 -6
  2025. package/Scripts/Microsoft.ReactNative.SignConfig.xml +0 -32
  2026. package/Scripts/Tfs/Install-VSFeatures.ps1 +0 -112
  2027. package/Scripts/Tfs/Layout-Headers.ps1 +0 -155
  2028. package/Scripts/copyRNLibraries.js +0 -87
  2029. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  2030. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  2031. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  2032. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  2033. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  2034. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  2035. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  2036. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  2037. package/Shared/AsyncStorageModule.h +0 -25
  2038. package/Shared/IHttpResource.h +0 -34
  2039. package/Shared/IUIManager.h +0 -90
  2040. package/Shared/IWebSocketResource.h +0 -184
  2041. package/Shared/MemoryTracker.cpp +0 -157
  2042. package/Shared/MemoryTracker.h +0 -141
  2043. package/Shared/Modules/AsyncStorageModule.cpp +0 -91
  2044. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -495
  2045. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  2046. package/Shared/WinRTWebSocketResource.cpp +0 -397
  2047. package/Shared/WinRTWebSocketResource.h +0 -138
  2048. package/Shared/cdebug.cpp +0 -7
  2049. package/Shared/etw/build.bat +0 -4
  2050. package/Shared/etw/react_native_windows.h +0 -1275
  2051. package/Shared/etw/react_native_windows.man +0 -86
  2052. package/Shared/etw/react_native_windows_etw_res.dll +0 -0
  2053. package/Shared/etw/register.bat +0 -3
  2054. package/codegen/NativeAsyncLocalStorageSpec.g.h +0 -63
  2055. package/codegen/NativeAsyncSQLiteDBStorageSpec.g.h +0 -63
  2056. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  2057. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
  2058. package/codegen/NativeImagePickerIOSSpec.g.h +0 -63
  2059. package/codegen/NativeJSDevSupportSpec.g.h +0 -39
  2060. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  2061. package/include/Shared/ViewManager.h +0 -34
  2062. package/template/cpp-app/keys/MyApp_TemporaryKey.pfx +0 -0
  2063. package/template/cpp-app/proj/packages.config +0 -6
  2064. package/template/cpp-lib/proj/packages.config +0 -6
  2065. package/template/cs-app/keys/MyApp_TemporaryKey.pfx +0 -0
  2066. package/template/shared-app/proj/BuildFlags.props +0 -10
  2067. package/template/shared-app/proj/NuGet.Config +0 -13
  2068. package/template/shared-lib/proj/NuGet.Config +0 -13
  2069. package/typings-index.d.ts +0 -23
  2070. package/typings-index.d.ts.map +0 -1
  2071. package/typings-index.js +0 -42
  2072. package/typings-index.js.map +0 -1
  2073. /package/{JSI/Shared → Shared/JSI}/ByteArrayBuffer.h +0 -0
@@ -0,0 +1,1439 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #pragma once
18
+
19
+ #include <functional>
20
+
21
+ #include <folly/CPortability.h>
22
+ #include <folly/Conv.h>
23
+ #include <folly/Format.h>
24
+ #include <folly/Likely.h>
25
+ #include <folly/Portability.h>
26
+ #include <folly/detail/Iterators.h>
27
+ #include <folly/lang/Exception.h>
28
+
29
+ namespace folly {
30
+ namespace detail {
31
+
32
+ struct DynamicHasher {
33
+ using is_transparent = void;
34
+ using folly_is_avalanching = std::true_type;
35
+
36
+ size_t operator()(dynamic const& d) const { return d.hash(); }
37
+
38
+ template <typename T>
39
+ std::enable_if_t<std::is_convertible<T, StringPiece>::value, size_t>
40
+ operator()(T const& val) const {
41
+ // keep consistent with dynamic::hash() for strings
42
+ return Hash()(static_cast<StringPiece>(val));
43
+ }
44
+ };
45
+
46
+ struct DynamicKeyEqual {
47
+ using is_transparent = void;
48
+
49
+ bool operator()(const dynamic& lhs, const dynamic& rhs) const {
50
+ return std::equal_to<dynamic>()(lhs, rhs);
51
+ }
52
+
53
+ // Dynamic objects contains a map<dynamic, dynamic>. At least one of the
54
+ // operands should be a dynamic. Hence, an operator() where both operands are
55
+ // convertible to StringPiece is unnecessary.
56
+ template <typename A, typename B>
57
+ std::enable_if_t<
58
+ std::is_convertible<A, StringPiece>::value &&
59
+ std::is_convertible<B, StringPiece>::value,
60
+ bool>
61
+ operator()(A const& lhs, B const& rhs) const = delete;
62
+
63
+ template <typename A>
64
+ std::enable_if_t<std::is_convertible<A, StringPiece>::value, bool> operator()(
65
+ A const& lhs, dynamic const& rhs) const {
66
+ return FOLLY_LIKELY(rhs.type() == dynamic::Type::STRING) &&
67
+ std::equal_to<StringPiece>()(lhs, rhs.stringPiece());
68
+ }
69
+
70
+ template <typename B>
71
+ std::enable_if_t<std::is_convertible<B, StringPiece>::value, bool> operator()(
72
+ dynamic const& lhs, B const& rhs) const {
73
+ return FOLLY_LIKELY(lhs.type() == dynamic::Type::STRING) &&
74
+ std::equal_to<StringPiece>()(lhs.stringPiece(), rhs);
75
+ }
76
+ };
77
+ } // namespace detail
78
+ } // namespace folly
79
+
80
+ //////////////////////////////////////////////////////////////////////
81
+
82
+ /* clang-format off */
83
+ // This is a higher-order preprocessor macro to aid going from runtime
84
+ // types to the compile time type system.
85
+
86
+ #define FB_DYNAMIC_APPLY(type, apply) \
87
+ do { \
88
+ FOLLY_PUSH_WARNING FOLLY_CLANG_DISABLE_WARNING("-Wcovered-switch-default") \
89
+ switch ((type)) { \
90
+ case NULLT: \
91
+ apply(std::nullptr_t); \
92
+ break; \
93
+ case ARRAY: \
94
+ apply(Array); \
95
+ break; \
96
+ case BOOL: \
97
+ apply(bool); \
98
+ break; \
99
+ case DOUBLE: \
100
+ apply(double); \
101
+ break; \
102
+ case INT64: \
103
+ apply(int64_t); \
104
+ break; \
105
+ case OBJECT: \
106
+ apply(ObjectImpl); \
107
+ break; \
108
+ case STRING: \
109
+ apply(std::string); \
110
+ break; \
111
+ default: \
112
+ abort(); \
113
+ } \
114
+ FOLLY_POP_WARNING \
115
+ } while (0)
116
+ /* clang-format on */
117
+ //////////////////////////////////////////////////////////////////////
118
+
119
+ namespace folly {
120
+
121
+ struct FOLLY_EXPORT TypeError : std::runtime_error {
122
+ explicit TypeError(const std::string& expected, dynamic::Type actual);
123
+ explicit TypeError(
124
+ const std::string& expected,
125
+ dynamic::Type actual1,
126
+ dynamic::Type actual2);
127
+ };
128
+
129
+ //////////////////////////////////////////////////////////////////////
130
+
131
+ namespace detail {
132
+
133
+ // This helper is used in destroy() to be able to run destructors on
134
+ // types like "int64_t" without a compiler error.
135
+ struct Destroy {
136
+ template <class T>
137
+ static void destroy(T* t) {
138
+ t->~T();
139
+ }
140
+ };
141
+
142
+ /*
143
+ * Helper for implementing numeric conversions in operators on
144
+ * numbers. Just promotes to double when one of the arguments is
145
+ * double, or throws if either is not a numeric type.
146
+ */
147
+ template <template <class> class Op>
148
+ dynamic numericOp(dynamic const& a, dynamic const& b) {
149
+ if (!a.isNumber() || !b.isNumber()) {
150
+ throw_exception<TypeError>("numeric", a.type(), b.type());
151
+ }
152
+ if (a.isDouble() || b.isDouble()) {
153
+ return Op<double>()(a.asDouble(), b.asDouble());
154
+ }
155
+ return Op<int64_t>()(a.asInt(), b.asInt());
156
+ }
157
+
158
+ } // namespace detail
159
+
160
+ //////////////////////////////////////////////////////////////////////
161
+
162
+ /*
163
+ * We're doing this instead of a simple member typedef to avoid the
164
+ * undefined behavior of parameterizing F14NodeMap<> with an
165
+ * incomplete type.
166
+ *
167
+ * Note: Later we may add separate order tracking here (a multi-index
168
+ * type of thing.)
169
+ */
170
+ struct dynamic::ObjectImpl : F14NodeMap<
171
+ dynamic,
172
+ dynamic,
173
+ detail::DynamicHasher,
174
+ detail::DynamicKeyEqual> {};
175
+
176
+ //////////////////////////////////////////////////////////////////////
177
+
178
+ // Helper object for creating objects conveniently. See object and
179
+ // the dynamic::dynamic(ObjectMaker&&) ctor.
180
+ struct dynamic::ObjectMaker {
181
+ friend struct dynamic;
182
+
183
+ explicit ObjectMaker() : val_(dynamic::object) {}
184
+ explicit ObjectMaker(dynamic key, dynamic val) : val_(dynamic::object) {
185
+ val_.insert(std::move(key), std::move(val));
186
+ }
187
+
188
+ // Make sure no one tries to save one of these into an lvalue with
189
+ // auto or anything like that.
190
+ ObjectMaker(ObjectMaker&&) = default;
191
+ ObjectMaker(ObjectMaker const&) = delete;
192
+ ObjectMaker& operator=(ObjectMaker const&) = delete;
193
+ ObjectMaker& operator=(ObjectMaker&&) = delete;
194
+
195
+ // This returns an rvalue-reference instead of an lvalue-reference
196
+ // to allow constructs like this to moved instead of copied:
197
+ // dynamic a = dynamic::object("a", "b")("c", "d")
198
+ ObjectMaker&& operator()(dynamic key, dynamic val) {
199
+ val_.insert(std::move(key), std::move(val));
200
+ return std::move(*this);
201
+ }
202
+
203
+ private:
204
+ dynamic val_;
205
+ };
206
+
207
+ inline void dynamic::array(EmptyArrayTag) {}
208
+
209
+ template <class... Args>
210
+ inline dynamic dynamic::array(Args&&... args) {
211
+ return dynamic(Array{std::forward<Args>(args)...});
212
+ }
213
+
214
+ inline dynamic::ObjectMaker dynamic::object() {
215
+ return ObjectMaker();
216
+ }
217
+ inline dynamic::ObjectMaker dynamic::object(dynamic a, dynamic b) {
218
+ return ObjectMaker(std::move(a), std::move(b));
219
+ }
220
+
221
+ //////////////////////////////////////////////////////////////////////
222
+
223
+ struct dynamic::item_iterator : detail::IteratorAdaptor<
224
+ dynamic::item_iterator,
225
+ dynamic::ObjectImpl::iterator,
226
+ std::pair<dynamic const, dynamic>,
227
+ std::forward_iterator_tag> {
228
+ using Super = detail::IteratorAdaptor<
229
+ dynamic::item_iterator,
230
+ dynamic::ObjectImpl::iterator,
231
+ std::pair<dynamic const, dynamic>,
232
+ std::forward_iterator_tag>;
233
+ item_iterator() = default;
234
+ /* implicit */ item_iterator(dynamic::ObjectImpl::iterator b) : Super(b) {}
235
+
236
+ using object_type = dynamic::ObjectImpl;
237
+ };
238
+
239
+ struct dynamic::value_iterator : detail::IteratorAdaptor<
240
+ dynamic::value_iterator,
241
+ dynamic::ObjectImpl::iterator,
242
+ dynamic,
243
+ std::forward_iterator_tag> {
244
+ using Super = detail::IteratorAdaptor<
245
+ dynamic::value_iterator,
246
+ dynamic::ObjectImpl::iterator,
247
+ dynamic,
248
+ std::forward_iterator_tag>;
249
+ value_iterator() = default;
250
+ /* implicit */ value_iterator(dynamic::ObjectImpl::iterator b) : Super(b) {}
251
+
252
+ using object_type = dynamic::ObjectImpl;
253
+
254
+ dynamic& dereference() const { return base()->second; }
255
+ };
256
+
257
+ struct dynamic::const_item_iterator
258
+ : detail::IteratorAdaptor<
259
+ dynamic::const_item_iterator,
260
+ dynamic::ObjectImpl::const_iterator,
261
+ std::pair<dynamic const, dynamic> const,
262
+ std::forward_iterator_tag> {
263
+ using Super = detail::IteratorAdaptor<
264
+ dynamic::const_item_iterator,
265
+ dynamic::ObjectImpl::const_iterator,
266
+ std::pair<dynamic const, dynamic> const,
267
+ std::forward_iterator_tag>;
268
+ const_item_iterator() = default;
269
+ /* implicit */ const_item_iterator(dynamic::ObjectImpl::const_iterator b)
270
+ : Super(b) {}
271
+ /* implicit */ const_item_iterator(const_item_iterator const& i)
272
+ : Super(i.base()) {}
273
+ /* implicit */ const_item_iterator(item_iterator i) : Super(i.base()) {}
274
+
275
+ using object_type = dynamic::ObjectImpl const;
276
+ };
277
+
278
+ struct dynamic::const_key_iterator : detail::IteratorAdaptor<
279
+ dynamic::const_key_iterator,
280
+ dynamic::ObjectImpl::const_iterator,
281
+ dynamic const,
282
+ std::forward_iterator_tag> {
283
+ using Super = detail::IteratorAdaptor<
284
+ dynamic::const_key_iterator,
285
+ dynamic::ObjectImpl::const_iterator,
286
+ dynamic const,
287
+ std::forward_iterator_tag>;
288
+ const_key_iterator() = default;
289
+ /* implicit */ const_key_iterator(dynamic::ObjectImpl::const_iterator b)
290
+ : Super(b) {}
291
+
292
+ using object_type = dynamic::ObjectImpl const;
293
+
294
+ dynamic const& dereference() const { return base()->first; }
295
+ };
296
+
297
+ struct dynamic::const_value_iterator : detail::IteratorAdaptor<
298
+ dynamic::const_value_iterator,
299
+ dynamic::ObjectImpl::const_iterator,
300
+ dynamic const,
301
+ std::forward_iterator_tag> {
302
+ using Super = detail::IteratorAdaptor<
303
+ dynamic::const_value_iterator,
304
+ dynamic::ObjectImpl::const_iterator,
305
+ dynamic const,
306
+ std::forward_iterator_tag>;
307
+ const_value_iterator() = default;
308
+ /* implicit */ const_value_iterator(dynamic::ObjectImpl::const_iterator b)
309
+ : Super(b) {}
310
+ /* implicit */ const_value_iterator(value_iterator i) : Super(i.base()) {}
311
+ /* implicit */ const_value_iterator(dynamic::ObjectImpl::iterator i)
312
+ : Super(i) {}
313
+
314
+ using object_type = dynamic::ObjectImpl const;
315
+
316
+ dynamic const& dereference() const { return base()->second; }
317
+ };
318
+
319
+ //////////////////////////////////////////////////////////////////////
320
+
321
+ inline dynamic::dynamic() : dynamic(nullptr) {}
322
+
323
+ inline dynamic::dynamic(std::nullptr_t) : type_(NULLT) {}
324
+
325
+ inline dynamic::dynamic(void (*)(EmptyArrayTag)) : type_(ARRAY) {
326
+ new (&u_.array) Array();
327
+ }
328
+
329
+ inline dynamic::dynamic(ObjectMaker (*)()) : type_(OBJECT) {
330
+ new (getAddress<ObjectImpl>()) ObjectImpl();
331
+ }
332
+
333
+ inline dynamic::dynamic(char const* s) : type_(STRING) {
334
+ new (&u_.string) std::string(s);
335
+ }
336
+
337
+ inline dynamic::dynamic(std::string s) : type_(STRING) {
338
+ new (&u_.string) std::string(std::move(s));
339
+ }
340
+
341
+ template <typename Stringish, typename>
342
+ inline dynamic::dynamic(Stringish&& s) : type_(STRING) {
343
+ new (&u_.string) std::string(s.data(), s.size());
344
+ }
345
+
346
+ inline dynamic::dynamic(ObjectMaker&& maker) : type_(OBJECT) {
347
+ new (getAddress<ObjectImpl>())
348
+ ObjectImpl(std::move(*maker.val_.getAddress<ObjectImpl>()));
349
+ }
350
+
351
+ inline dynamic::~dynamic() noexcept {
352
+ destroy();
353
+ }
354
+
355
+ // Integral types except bool convert to int64_t, float types to double.
356
+ template <class T>
357
+ struct dynamic::NumericTypeHelper<
358
+ T,
359
+ typename std::enable_if<std::is_integral<T>::value>::type> {
360
+ static_assert(
361
+ !kIsObjC || sizeof(T) > sizeof(char),
362
+ "char-sized types are ambiguous in objc; cast to bool or wider type");
363
+ using type = int64_t;
364
+ };
365
+ template <>
366
+ struct dynamic::NumericTypeHelper<bool> {
367
+ using type = bool;
368
+ };
369
+ template <>
370
+ struct dynamic::NumericTypeHelper<float> {
371
+ using type = double;
372
+ };
373
+ template <>
374
+ struct dynamic::NumericTypeHelper<double> {
375
+ using type = double;
376
+ };
377
+
378
+ inline dynamic::dynamic(std::vector<bool>::reference b)
379
+ : dynamic(static_cast<bool>(b)) {}
380
+ inline dynamic::dynamic(VectorBoolConstRefCtorType b)
381
+ : dynamic(static_cast<bool>(b)) {}
382
+
383
+ template <
384
+ class T,
385
+ class NumericType /* = typename NumericTypeHelper<T>::type */>
386
+ dynamic::dynamic(T t) {
387
+ type_ = TypeInfo<NumericType>::type;
388
+ new (getAddress<NumericType>()) NumericType(NumericType(t));
389
+ }
390
+
391
+ template <class Iterator>
392
+ dynamic::dynamic(Iterator first, Iterator last) : type_(ARRAY) {
393
+ new (&u_.array) Array(first, last);
394
+ }
395
+
396
+ template <
397
+ class T,
398
+ class NumericType /* = typename NumericTypeHelper<T>::type */>
399
+ dynamic& dynamic::operator=(T t) {
400
+ const auto newType = TypeInfo<NumericType>::type;
401
+ if (type_ == newType) {
402
+ *getAddress<NumericType>() = t;
403
+ } else {
404
+ destroy();
405
+ new (getAddress<NumericType>()) NumericType(t);
406
+ type_ = newType;
407
+ }
408
+ return *this;
409
+ }
410
+ //////////////////////////////////////////////////////////////////////
411
+
412
+ inline dynamic::const_iterator dynamic::begin() const {
413
+ return get<Array>().begin();
414
+ }
415
+ inline dynamic::const_iterator dynamic::end() const {
416
+ return get<Array>().end();
417
+ }
418
+
419
+ inline dynamic::iterator dynamic::begin() {
420
+ return get<Array>().begin();
421
+ }
422
+ inline dynamic::iterator dynamic::end() {
423
+ return get<Array>().end();
424
+ }
425
+
426
+ template <class It>
427
+ struct dynamic::IterableProxy {
428
+ typedef It iterator;
429
+ typedef typename It::value_type value_type;
430
+ typedef typename It::object_type object_type;
431
+
432
+ /* implicit */ IterableProxy(object_type* o) : o_(o) {}
433
+
434
+ It begin() const { return o_->begin(); }
435
+
436
+ It end() const { return o_->end(); }
437
+
438
+ private:
439
+ object_type* o_;
440
+ };
441
+
442
+ inline dynamic::IterableProxy<dynamic::const_key_iterator> dynamic::keys()
443
+ const {
444
+ return &(get<ObjectImpl>());
445
+ }
446
+
447
+ inline dynamic::IterableProxy<dynamic::const_value_iterator> dynamic::values()
448
+ const {
449
+ return &(get<ObjectImpl>());
450
+ }
451
+
452
+ inline dynamic::IterableProxy<dynamic::const_item_iterator> dynamic::items()
453
+ const {
454
+ return &(get<ObjectImpl>());
455
+ }
456
+
457
+ inline dynamic::IterableProxy<dynamic::value_iterator> dynamic::values() {
458
+ return &(get<ObjectImpl>());
459
+ }
460
+
461
+ inline dynamic::IterableProxy<dynamic::item_iterator> dynamic::items() {
462
+ return &(get<ObjectImpl>());
463
+ }
464
+
465
+ inline bool dynamic::isString() const {
466
+ return get_nothrow<std::string>() != nullptr;
467
+ }
468
+ inline bool dynamic::isObject() const {
469
+ return get_nothrow<ObjectImpl>() != nullptr;
470
+ }
471
+ inline bool dynamic::isBool() const {
472
+ return get_nothrow<bool>() != nullptr;
473
+ }
474
+ inline bool dynamic::isArray() const {
475
+ return get_nothrow<Array>() != nullptr;
476
+ }
477
+ inline bool dynamic::isDouble() const {
478
+ return get_nothrow<double>() != nullptr;
479
+ }
480
+ inline bool dynamic::isInt() const {
481
+ return get_nothrow<int64_t>() != nullptr;
482
+ }
483
+ inline bool dynamic::isNull() const {
484
+ return get_nothrow<std::nullptr_t>() != nullptr;
485
+ }
486
+ inline bool dynamic::isNumber() const {
487
+ return isInt() || isDouble();
488
+ }
489
+
490
+ inline dynamic::Type dynamic::type() const {
491
+ return type_;
492
+ }
493
+
494
+ inline std::string dynamic::asString() const {
495
+ return asImpl<std::string>();
496
+ }
497
+ inline double dynamic::asDouble() const {
498
+ return asImpl<double>();
499
+ }
500
+ inline int64_t dynamic::asInt() const {
501
+ return asImpl<int64_t>();
502
+ }
503
+ inline bool dynamic::asBool() const {
504
+ return asImpl<bool>();
505
+ }
506
+
507
+ inline const std::string& dynamic::getString() const& {
508
+ return get<std::string>();
509
+ }
510
+ inline double dynamic::getDouble() const& {
511
+ return get<double>();
512
+ }
513
+ inline int64_t dynamic::getInt() const& {
514
+ return get<int64_t>();
515
+ }
516
+ inline bool dynamic::getBool() const& {
517
+ return get<bool>();
518
+ }
519
+
520
+ inline std::string& dynamic::getString() & {
521
+ return get<std::string>();
522
+ }
523
+ inline double& dynamic::getDouble() & {
524
+ return get<double>();
525
+ }
526
+ inline int64_t& dynamic::getInt() & {
527
+ return get<int64_t>();
528
+ }
529
+ inline bool& dynamic::getBool() & {
530
+ return get<bool>();
531
+ }
532
+
533
+ inline std::string&& dynamic::getString() && {
534
+ return std::move(get<std::string>());
535
+ }
536
+ inline double dynamic::getDouble() && {
537
+ return get<double>();
538
+ }
539
+ inline int64_t dynamic::getInt() && {
540
+ return get<int64_t>();
541
+ }
542
+ inline bool dynamic::getBool() && {
543
+ return get<bool>();
544
+ }
545
+
546
+ inline const char* dynamic::c_str() const& {
547
+ return get<std::string>().c_str();
548
+ }
549
+ inline StringPiece dynamic::stringPiece() const {
550
+ return get<std::string>();
551
+ }
552
+
553
+ template <class T>
554
+ struct dynamic::CompareOp {
555
+ static bool comp(T const& a, T const& b) { return a < b; }
556
+ };
557
+ template <>
558
+ struct dynamic::CompareOp<dynamic::ObjectImpl> {
559
+ static bool comp(ObjectImpl const&, ObjectImpl const&) {
560
+ // This code never executes; it is just here for the compiler.
561
+ return false;
562
+ }
563
+ };
564
+ template <>
565
+ struct dynamic::CompareOp<std::nullptr_t> {
566
+ static bool comp(std::nullptr_t const&, std::nullptr_t const&) {
567
+ return false;
568
+ }
569
+ };
570
+
571
+ inline dynamic& dynamic::operator+=(dynamic const& o) {
572
+ if (type() == STRING && o.type() == STRING) {
573
+ *getAddress<std::string>() += *o.getAddress<std::string>();
574
+ return *this;
575
+ }
576
+ *this = detail::numericOp<std::plus>(*this, o);
577
+ return *this;
578
+ }
579
+
580
+ inline dynamic& dynamic::operator-=(dynamic const& o) {
581
+ *this = detail::numericOp<std::minus>(*this, o);
582
+ return *this;
583
+ }
584
+
585
+ inline dynamic& dynamic::operator*=(dynamic const& o) {
586
+ *this = detail::numericOp<std::multiplies>(*this, o);
587
+ return *this;
588
+ }
589
+
590
+ inline dynamic& dynamic::operator/=(dynamic const& o) {
591
+ *this = detail::numericOp<std::divides>(*this, o);
592
+ return *this;
593
+ }
594
+
595
+ #define FB_DYNAMIC_INTEGER_OP(op) \
596
+ inline dynamic& dynamic::operator op(dynamic const& o) { \
597
+ if (!isInt() || !o.isInt()) { \
598
+ throw_exception<TypeError>("int64", type(), o.type()); \
599
+ } \
600
+ *getAddress<int64_t>() op o.asInt(); \
601
+ return *this; \
602
+ }
603
+
604
+ FB_DYNAMIC_INTEGER_OP(%=)
605
+ FB_DYNAMIC_INTEGER_OP(|=)
606
+ FB_DYNAMIC_INTEGER_OP(&=)
607
+ FB_DYNAMIC_INTEGER_OP(^=)
608
+
609
+ #undef FB_DYNAMIC_INTEGER_OP
610
+
611
+ inline dynamic& dynamic::operator++() {
612
+ ++get<int64_t>();
613
+ return *this;
614
+ }
615
+
616
+ inline dynamic& dynamic::operator--() {
617
+ --get<int64_t>();
618
+ return *this;
619
+ }
620
+
621
+ template <typename K>
622
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic const&> dynamic::operator[](
623
+ K&& idx) const& {
624
+ return at(std::forward<K>(idx));
625
+ }
626
+
627
+ template <typename K>
628
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&> dynamic::operator[](
629
+ K&& idx) & {
630
+ if (!isObject() && !isArray()) {
631
+ throw_exception<TypeError>("object/array", type());
632
+ }
633
+ if (isArray()) {
634
+ return at(std::forward<K>(idx));
635
+ }
636
+ auto& obj = get<ObjectImpl>();
637
+ auto ret = obj.emplace(std::forward<K>(idx), nullptr);
638
+ return ret.first->second;
639
+ }
640
+
641
+ template <typename K>
642
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&&> dynamic::operator[](
643
+ K&& idx) && {
644
+ return std::move((*this)[std::forward<K>(idx)]);
645
+ }
646
+
647
+ inline dynamic const& dynamic::operator[](StringPiece k) const& {
648
+ return at(k);
649
+ }
650
+
651
+ inline dynamic&& dynamic::operator[](StringPiece k) && {
652
+ return std::move((*this)[k]);
653
+ }
654
+
655
+ template <typename K>
656
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic> dynamic::getDefault(
657
+ K&& k, const dynamic& v) const& {
658
+ auto& obj = get<ObjectImpl>();
659
+ auto it = obj.find(std::forward<K>(k));
660
+ return it == obj.end() ? v : it->second;
661
+ }
662
+
663
+ template <typename K>
664
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic> dynamic::getDefault(
665
+ K&& k, dynamic&& v) const& {
666
+ auto& obj = get<ObjectImpl>();
667
+ auto it = obj.find(std::forward<K>(k));
668
+ // Avoid clang bug with ternary
669
+ if (it == obj.end()) {
670
+ return std::move(v);
671
+ } else {
672
+ return it->second;
673
+ }
674
+ }
675
+
676
+ template <typename K>
677
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic> dynamic::getDefault(
678
+ K&& k, const dynamic& v) && {
679
+ auto& obj = get<ObjectImpl>();
680
+ auto it = obj.find(std::forward<K>(k));
681
+ // Avoid clang bug with ternary
682
+ if (it == obj.end()) {
683
+ return v;
684
+ } else {
685
+ return std::move(it->second);
686
+ }
687
+ }
688
+
689
+ template <typename K>
690
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic> dynamic::getDefault(
691
+ K&& k, dynamic&& v) && {
692
+ auto& obj = get<ObjectImpl>();
693
+ auto it = obj.find(std::forward<K>(k));
694
+ return std::move(it == obj.end() ? v : it->second);
695
+ }
696
+
697
+ template <typename K, typename V>
698
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&> dynamic::setDefault(
699
+ K&& k, V&& v) {
700
+ auto& obj = get<ObjectImpl>();
701
+ return obj.emplace(std::forward<K>(k), std::forward<V>(v)).first->second;
702
+ }
703
+
704
+ template <typename K>
705
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&> dynamic::setDefault(
706
+ K&& k, dynamic&& v) {
707
+ auto& obj = get<ObjectImpl>();
708
+ return obj.emplace(std::forward<K>(k), std::move(v)).first->second;
709
+ }
710
+
711
+ template <typename K>
712
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&> dynamic::setDefault(
713
+ K&& k, const dynamic& v) {
714
+ auto& obj = get<ObjectImpl>();
715
+ return obj.emplace(std::forward<K>(k), v).first->second;
716
+ }
717
+
718
+ template <typename V>
719
+ dynamic& dynamic::setDefault(StringPiece k, V&& v) {
720
+ auto& obj = get<ObjectImpl>();
721
+ return obj.emplace(k, std::forward<V>(v)).first->second;
722
+ }
723
+
724
+ inline dynamic& dynamic::setDefault(StringPiece k, dynamic&& v) {
725
+ auto& obj = get<ObjectImpl>();
726
+ return obj.emplace(k, std::move(v)).first->second;
727
+ }
728
+
729
+ inline dynamic& dynamic::setDefault(StringPiece k, const dynamic& v) {
730
+ auto& obj = get<ObjectImpl>();
731
+ return obj.emplace(k, v).first->second;
732
+ }
733
+
734
+ template <typename K>
735
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic const*> dynamic::get_ptr(
736
+ K&& k) const& {
737
+ return get_ptrImpl(std::forward<K>(k));
738
+ }
739
+
740
+ template <typename K>
741
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic*> dynamic::get_ptr(
742
+ K&& idx) & {
743
+ return const_cast<dynamic*>(const_cast<dynamic const*>(this)->get_ptr(idx));
744
+ }
745
+
746
+ inline dynamic* dynamic::get_ptr(StringPiece idx) & {
747
+ return const_cast<dynamic*>(const_cast<dynamic const*>(this)->get_ptr(idx));
748
+ }
749
+
750
+ // clang-format off
751
+ inline
752
+ dynamic::resolved_json_pointer<dynamic>
753
+ dynamic::try_get_ptr(json_pointer const& jsonPtr) & {
754
+ auto ret = const_cast<dynamic const*>(this)->try_get_ptr(jsonPtr);
755
+ if (ret.hasValue()) {
756
+ return json_pointer_resolved_value<dynamic>{
757
+ const_cast<dynamic*>(ret.value().parent),
758
+ const_cast<dynamic*>(ret.value().value),
759
+ ret.value().parent_key, ret.value().parent_index};
760
+ } else {
761
+ return makeUnexpected(
762
+ json_pointer_resolution_error<dynamic>{
763
+ ret.error().error_code,
764
+ ret.error().index,
765
+ const_cast<dynamic*>(ret.error().context)}
766
+ );
767
+ }
768
+ }
769
+ // clang-format on
770
+
771
+ inline dynamic* dynamic::get_ptr(json_pointer const& jsonPtr) & {
772
+ return const_cast<dynamic*>(
773
+ const_cast<dynamic const*>(this)->get_ptr(jsonPtr));
774
+ }
775
+
776
+ template <typename K>
777
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic const&> dynamic::at(
778
+ K&& k) const& {
779
+ return atImpl(std::forward<K>(k));
780
+ }
781
+
782
+ template <typename K>
783
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&> dynamic::at(K&& idx) & {
784
+ return const_cast<dynamic&>(const_cast<dynamic const*>(this)->at(idx));
785
+ }
786
+
787
+ template <typename K>
788
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic&&> dynamic::at(K&& idx) && {
789
+ return std::move(at(idx));
790
+ }
791
+
792
+ inline dynamic& dynamic::at(StringPiece idx) & {
793
+ return const_cast<dynamic&>(const_cast<dynamic const*>(this)->at(idx));
794
+ }
795
+
796
+ inline dynamic&& dynamic::at(StringPiece idx) && {
797
+ return std::move(at(idx));
798
+ }
799
+
800
+ inline bool dynamic::empty() const {
801
+ if (isNull()) {
802
+ return true;
803
+ }
804
+ return !size();
805
+ }
806
+
807
+ template <typename K>
808
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic::const_item_iterator>
809
+ dynamic::find(K&& key) const {
810
+ return get<ObjectImpl>().find(std::forward<K>(key));
811
+ }
812
+
813
+ template <typename K>
814
+ dynamic::IfIsNonStringDynamicConvertible<K, dynamic::item_iterator>
815
+ dynamic::find(K&& key) {
816
+ return get<ObjectImpl>().find(std::forward<K>(key));
817
+ }
818
+
819
+ inline dynamic::const_item_iterator dynamic::find(StringPiece key) const {
820
+ return get<ObjectImpl>().find(key);
821
+ }
822
+
823
+ inline dynamic::item_iterator dynamic::find(StringPiece key) {
824
+ return get<ObjectImpl>().find(key);
825
+ }
826
+
827
+ template <typename K>
828
+ dynamic::IfIsNonStringDynamicConvertible<K, std::size_t> dynamic::count(
829
+ K&& key) const {
830
+ return find(std::forward<K>(key)) != items().end() ? 1u : 0u;
831
+ }
832
+
833
+ inline std::size_t dynamic::count(StringPiece key) const {
834
+ return find(key) != items().end() ? 1u : 0u;
835
+ }
836
+
837
+ template <class K, class V>
838
+ inline dynamic::IfNotIterator<K, void> dynamic::insert(K&& key, V&& val) {
839
+ auto& obj = get<ObjectImpl>();
840
+ obj[std::forward<K>(key)] = std::forward<V>(val);
841
+ }
842
+
843
+ template <class... Args>
844
+ inline std::pair<dynamic::item_iterator, bool> dynamic::emplace(
845
+ Args&&... args) {
846
+ auto& obj = get<ObjectImpl>();
847
+ return obj.emplace(std::forward<Args>(args)...);
848
+ }
849
+
850
+ template <class K, class... Args>
851
+ inline std::pair<dynamic::item_iterator, bool> dynamic::try_emplace(
852
+ K&& key, Args&&... args) {
853
+ auto& obj = get<ObjectImpl>();
854
+ return obj.try_emplace(std::forward<K>(key), std::forward<Args>(args)...);
855
+ }
856
+
857
+ template <class T>
858
+ inline dynamic::iterator dynamic::insert(const_iterator pos, T&& value) {
859
+ auto& arr = get<Array>();
860
+ return arr.insert(pos, std::forward<T>(value));
861
+ }
862
+
863
+ template <class InputIt>
864
+ inline dynamic::iterator dynamic::insert(
865
+ const_iterator pos, InputIt first, InputIt last) {
866
+ auto& arr = get<Array>();
867
+ return arr.insert(pos, first, last);
868
+ }
869
+
870
+ inline void dynamic::update(const dynamic& mergeObj) {
871
+ if (!isObject() || !mergeObj.isObject()) {
872
+ throw_exception<TypeError>("object", type(), mergeObj.type());
873
+ }
874
+
875
+ for (const auto& pair : mergeObj.items()) {
876
+ (*this)[pair.first] = pair.second;
877
+ }
878
+ }
879
+
880
+ inline void dynamic::update_missing(const dynamic& mergeObj1) {
881
+ if (!isObject() || !mergeObj1.isObject()) {
882
+ throw_exception<TypeError>("object", type(), mergeObj1.type());
883
+ }
884
+
885
+ // Only add if not already there
886
+ for (const auto& pair : mergeObj1.items()) {
887
+ if ((*this).find(pair.first) == (*this).items().end()) {
888
+ (*this)[pair.first] = pair.second;
889
+ }
890
+ }
891
+ }
892
+
893
+ inline void dynamic::merge_patch(const dynamic& patch) {
894
+ auto& self = *this;
895
+ if (!patch.isObject()) {
896
+ self = patch;
897
+ return;
898
+ }
899
+ // if we are not an object, erase all contents, reset to object
900
+ if (!isObject()) {
901
+ self = object;
902
+ }
903
+ for (const auto& pair : patch.items()) {
904
+ if (pair.second.isNull()) {
905
+ // if name could be found in current object, remove it
906
+ auto it = self.find(pair.first);
907
+ if (it != self.items().end()) {
908
+ self.erase(it);
909
+ }
910
+ } else {
911
+ self[pair.first].merge_patch(pair.second);
912
+ }
913
+ }
914
+ }
915
+
916
+ inline dynamic dynamic::merge(
917
+ const dynamic& mergeObj1, const dynamic& mergeObj2) {
918
+ // No checks on type needed here because they are done in update_missing
919
+ // Note that we do update_missing here instead of update() because
920
+ // it will prevent the extra writes that would occur with update()
921
+ auto ret = mergeObj2;
922
+ ret.update_missing(mergeObj1);
923
+ return ret;
924
+ }
925
+
926
+ template <typename K>
927
+ dynamic::IfIsNonStringDynamicConvertible<K, std::size_t> dynamic::erase(
928
+ K&& key) {
929
+ auto& obj = get<ObjectImpl>();
930
+ return obj.erase(std::forward<K>(key));
931
+ }
932
+ inline std::size_t dynamic::erase(StringPiece key) {
933
+ auto& obj = get<ObjectImpl>();
934
+ return obj.erase(key);
935
+ }
936
+
937
+ inline dynamic::iterator dynamic::erase(const_iterator it) {
938
+ auto& arr = get<Array>();
939
+ // std::vector doesn't have an erase method that works on const iterators,
940
+ // even though the standard says it should, so this hack converts to a
941
+ // non-const iterator before calling erase.
942
+ return get<Array>().erase(arr.begin() + (it - arr.begin()));
943
+ }
944
+
945
+ inline dynamic::const_key_iterator dynamic::erase(const_key_iterator it) {
946
+ return const_key_iterator(get<ObjectImpl>().erase(it.base()));
947
+ }
948
+
949
+ inline dynamic::const_key_iterator dynamic::erase(
950
+ const_key_iterator first, const_key_iterator last) {
951
+ return const_key_iterator(get<ObjectImpl>().erase(first.base(), last.base()));
952
+ }
953
+
954
+ inline dynamic::value_iterator dynamic::erase(const_value_iterator it) {
955
+ return value_iterator(get<ObjectImpl>().erase(it.base()));
956
+ }
957
+
958
+ inline dynamic::value_iterator dynamic::erase(
959
+ const_value_iterator first, const_value_iterator last) {
960
+ return value_iterator(get<ObjectImpl>().erase(first.base(), last.base()));
961
+ }
962
+
963
+ inline dynamic::item_iterator dynamic::erase(const_item_iterator it) {
964
+ return item_iterator(get<ObjectImpl>().erase(it.base()));
965
+ }
966
+
967
+ inline dynamic::item_iterator dynamic::erase(
968
+ const_item_iterator first, const_item_iterator last) {
969
+ return item_iterator(get<ObjectImpl>().erase(first.base(), last.base()));
970
+ }
971
+
972
+ inline void dynamic::resize(std::size_t sz, dynamic const& c) {
973
+ auto& arr = get<Array>();
974
+ arr.resize(sz, c);
975
+ }
976
+
977
+ inline void dynamic::push_back(dynamic const& v) {
978
+ auto& arr = get<Array>();
979
+ arr.push_back(v);
980
+ }
981
+
982
+ inline void dynamic::push_back(dynamic&& v) {
983
+ auto& arr = get<Array>();
984
+ arr.push_back(std::move(v));
985
+ }
986
+
987
+ inline void dynamic::pop_back() {
988
+ auto& arr = get<Array>();
989
+ arr.pop_back();
990
+ }
991
+
992
+ inline const dynamic& dynamic::back() const {
993
+ auto& arr = get<Array>();
994
+ return arr.back();
995
+ }
996
+
997
+ //////////////////////////////////////////////////////////////////////
998
+
999
+ inline dynamic::dynamic(Array&& r) : type_(ARRAY) {
1000
+ new (&u_.array) Array(std::move(r));
1001
+ }
1002
+
1003
+ #define FOLLY_DYNAMIC_DEC_TYPEINFO(T, val) \
1004
+ template <> \
1005
+ struct dynamic::TypeInfo<T> { \
1006
+ static const char* const name; \
1007
+ static constexpr dynamic::Type type = val; \
1008
+ }; \
1009
+ //
1010
+
1011
+ FOLLY_DYNAMIC_DEC_TYPEINFO(std::nullptr_t, dynamic::NULLT)
1012
+ FOLLY_DYNAMIC_DEC_TYPEINFO(bool, dynamic::BOOL)
1013
+ FOLLY_DYNAMIC_DEC_TYPEINFO(std::string, dynamic::STRING)
1014
+ FOLLY_DYNAMIC_DEC_TYPEINFO(dynamic::Array, dynamic::ARRAY)
1015
+ FOLLY_DYNAMIC_DEC_TYPEINFO(double, dynamic::DOUBLE)
1016
+ FOLLY_DYNAMIC_DEC_TYPEINFO(int64_t, dynamic::INT64)
1017
+ FOLLY_DYNAMIC_DEC_TYPEINFO(dynamic::ObjectImpl, dynamic::OBJECT)
1018
+
1019
+ #undef FOLLY_DYNAMIC_DEC_TYPEINFO
1020
+
1021
+ template <class T>
1022
+ T dynamic::asImpl() const {
1023
+ FOLLY_PUSH_WARNING
1024
+ FOLLY_CLANG_DISABLE_WARNING("-Wcovered-switch-default")
1025
+ switch (type()) {
1026
+ case INT64:
1027
+ return to<T>(*get_nothrow<int64_t>());
1028
+ case DOUBLE:
1029
+ return to<T>(*get_nothrow<double>());
1030
+ case BOOL:
1031
+ return to<T>(*get_nothrow<bool>());
1032
+ case STRING:
1033
+ return to<T>(*get_nothrow<std::string>());
1034
+ case NULLT:
1035
+ case ARRAY:
1036
+ case OBJECT:
1037
+ default:
1038
+ throw_exception<TypeError>("int/double/bool/string", type());
1039
+ }
1040
+ FOLLY_POP_WARNING
1041
+ }
1042
+
1043
+ // Return a T* to our type, or null if we're not that type.
1044
+ template <class T>
1045
+ T* dynamic::get_nothrow() & noexcept {
1046
+ if (type_ != TypeInfo<T>::type) {
1047
+ return nullptr;
1048
+ }
1049
+ return getAddress<T>();
1050
+ }
1051
+
1052
+ template <class T>
1053
+ T const* dynamic::get_nothrow() const& noexcept {
1054
+ return const_cast<dynamic*>(this)->get_nothrow<T>();
1055
+ }
1056
+
1057
+ // Return T* for where we can put a T, without type checking. (Memory
1058
+ // might be uninitialized, even.)
1059
+ template <class T>
1060
+ T* dynamic::getAddress() noexcept {
1061
+ return GetAddrImpl<T>::get(u_);
1062
+ }
1063
+
1064
+ template <class T>
1065
+ T const* dynamic::getAddress() const noexcept {
1066
+ return const_cast<dynamic*>(this)->getAddress<T>();
1067
+ }
1068
+
1069
+ template <class T>
1070
+ struct dynamic::GetAddrImpl {};
1071
+ template <>
1072
+ struct dynamic::GetAddrImpl<std::nullptr_t> {
1073
+ static std::nullptr_t* get(Data& d) noexcept { return &d.nul; }
1074
+ };
1075
+ template <>
1076
+ struct dynamic::GetAddrImpl<dynamic::Array> {
1077
+ static Array* get(Data& d) noexcept { return &d.array; }
1078
+ };
1079
+ template <>
1080
+ struct dynamic::GetAddrImpl<bool> {
1081
+ static bool* get(Data& d) noexcept { return &d.boolean; }
1082
+ };
1083
+ template <>
1084
+ struct dynamic::GetAddrImpl<int64_t> {
1085
+ static int64_t* get(Data& d) noexcept { return &d.integer; }
1086
+ };
1087
+ template <>
1088
+ struct dynamic::GetAddrImpl<double> {
1089
+ static double* get(Data& d) noexcept { return &d.doubl; }
1090
+ };
1091
+ template <>
1092
+ struct dynamic::GetAddrImpl<std::string> {
1093
+ static std::string* get(Data& d) noexcept { return &d.string; }
1094
+ };
1095
+ template <>
1096
+ struct dynamic::GetAddrImpl<dynamic::ObjectImpl> {
1097
+ static_assert(
1098
+ sizeof(ObjectImpl) <= sizeof(Data::objectBuffer),
1099
+ "In your implementation, F14NodeMap<> apparently takes different"
1100
+ " amount of space depending on its template parameters. This is "
1101
+ "weird. Make objectBuffer bigger if you want to compile dynamic.");
1102
+
1103
+ static ObjectImpl* get(Data& d) noexcept {
1104
+ void* data = &d.objectBuffer;
1105
+ return static_cast<ObjectImpl*>(data);
1106
+ }
1107
+ };
1108
+
1109
+ // [Win - Forked to avoid using exported data across the dll boundary. Using exported data prevents the ability to
1110
+ // delay load the dll We can remove this, once react-native-win32 stops exporting folly (gets entirely onto the ABI
1111
+ // interface)
1112
+ template <class T>
1113
+ T &dynamic::get() {
1114
+ if (auto *p = get_nothrow<T>()) {
1115
+ return *p;
1116
+ }
1117
+
1118
+ switch (type()) {
1119
+ case dynamic::NULLT:
1120
+ throw_exception<TypeError>("null", dynamic::NULLT);
1121
+ break;
1122
+ case dynamic::BOOL:
1123
+ throw_exception<TypeError>("boolean", dynamic::BOOL);
1124
+ break;
1125
+ case dynamic::STRING:
1126
+ throw_exception<TypeError>("string", dynamic::STRING);
1127
+ break;
1128
+ case dynamic::ARRAY:
1129
+ throw_exception<TypeError>("array", dynamic::ARRAY);
1130
+ break;
1131
+ case dynamic::DOUBLE:
1132
+ throw_exception<TypeError>("double", dynamic::DOUBLE);
1133
+ break;
1134
+ case dynamic::INT64:
1135
+ throw_exception<TypeError>("int64", dynamic::INT64);
1136
+ break;
1137
+ case dynamic::OBJECT:
1138
+ throw_exception<TypeError>("object", dynamic::OBJECT);
1139
+ break;
1140
+ default:
1141
+ throw_exception<TypeError>("never", dynamic::OBJECT);
1142
+ break;
1143
+ }
1144
+ }
1145
+ // Win]
1146
+
1147
+ template <class T>
1148
+ T const& dynamic::get() const {
1149
+ return const_cast<dynamic*>(this)->get<T>();
1150
+ }
1151
+
1152
+ //////////////////////////////////////////////////////////////////////
1153
+
1154
+ /*
1155
+ * Helper for implementing operator<<. Throws if the type shouldn't
1156
+ * support it.
1157
+ */
1158
+ template <class T>
1159
+ struct dynamic::PrintImpl {
1160
+ static void print(dynamic const&, std::ostream& out, T const& t) { out << t; }
1161
+ };
1162
+ // Otherwise, null, being (void*)0, would print as 0.
1163
+ template <>
1164
+ struct dynamic::PrintImpl<std::nullptr_t> {
1165
+ static void print(
1166
+ dynamic const& /* d */, std::ostream& out, std::nullptr_t const&) {
1167
+ out << "null";
1168
+ }
1169
+ };
1170
+ template <>
1171
+ struct dynamic::PrintImpl<dynamic::ObjectImpl> {
1172
+ static void print(
1173
+ dynamic const& d, std::ostream& out, dynamic::ObjectImpl const&) {
1174
+ d.print_as_pseudo_json(out);
1175
+ }
1176
+ };
1177
+ template <>
1178
+ struct dynamic::PrintImpl<dynamic::Array> {
1179
+ static void print(
1180
+ dynamic const& d, std::ostream& out, dynamic::Array const&) {
1181
+ d.print_as_pseudo_json(out);
1182
+ }
1183
+ };
1184
+
1185
+ inline void dynamic::print(std::ostream& out) const {
1186
+ #define FB_X(T) PrintImpl<T>::print(*this, out, *getAddress<T>())
1187
+ FB_DYNAMIC_APPLY(type_, FB_X);
1188
+ #undef FB_X
1189
+ }
1190
+
1191
+ inline std::ostream& operator<<(std::ostream& out, dynamic const& d) {
1192
+ d.print(out);
1193
+ return out;
1194
+ }
1195
+
1196
+ //////////////////////////////////////////////////////////////////////
1197
+
1198
+ inline const_dynamic_view::const_dynamic_view(dynamic const& d) noexcept
1199
+ : d_(&d) {}
1200
+
1201
+ inline const_dynamic_view::const_dynamic_view(dynamic const* d) noexcept
1202
+ : d_(d) {}
1203
+
1204
+ inline const_dynamic_view::operator bool() const noexcept {
1205
+ return !empty();
1206
+ }
1207
+
1208
+ inline bool const_dynamic_view::empty() const noexcept {
1209
+ return d_ == nullptr;
1210
+ }
1211
+
1212
+ inline void const_dynamic_view::reset() noexcept {
1213
+ d_ = nullptr;
1214
+ }
1215
+
1216
+ template <typename Key, typename... Keys>
1217
+ inline const_dynamic_view const_dynamic_view::descend(
1218
+ Key const& key, Keys const&... keys) const noexcept {
1219
+ return descend_(key, keys...);
1220
+ }
1221
+
1222
+ template <typename Key1, typename Key2, typename... Keys>
1223
+ inline dynamic const* const_dynamic_view::descend_(
1224
+ Key1 const& key1, Key2 const& key2, Keys const&... keys) const noexcept {
1225
+ if (!d_) {
1226
+ return nullptr;
1227
+ }
1228
+ return const_dynamic_view{descend_unchecked_(key1)}.descend_(key2, keys...);
1229
+ }
1230
+
1231
+ template <typename Key>
1232
+ inline dynamic const* const_dynamic_view::descend_(
1233
+ Key const& key) const noexcept {
1234
+ if (!d_) {
1235
+ return nullptr;
1236
+ }
1237
+ return descend_unchecked_(key);
1238
+ }
1239
+
1240
+ template <typename Key>
1241
+ inline dynamic::IfIsNonStringDynamicConvertible<Key, dynamic const*>
1242
+ const_dynamic_view::descend_unchecked_(Key const& key) const noexcept {
1243
+ if (auto* parray = d_->get_nothrow<dynamic::Array>()) {
1244
+ if /* constexpr */ (!std::is_integral<Key>::value) {
1245
+ return nullptr;
1246
+ }
1247
+ if (key < 0 || folly::to_unsigned(key) >= parray->size()) {
1248
+ return nullptr;
1249
+ }
1250
+ return &(*parray)[size_t(key)];
1251
+ } else if (auto* pobject = d_->get_nothrow<dynamic::ObjectImpl>()) {
1252
+ auto it = pobject->find(key);
1253
+ if (it == pobject->end()) {
1254
+ return nullptr;
1255
+ }
1256
+ return &it->second;
1257
+ }
1258
+ return nullptr;
1259
+ }
1260
+
1261
+ inline dynamic const* const_dynamic_view::descend_unchecked_(
1262
+ folly::StringPiece key) const noexcept {
1263
+ if (auto* pobject = d_->get_nothrow<dynamic::ObjectImpl>()) {
1264
+ auto it = pobject->find(key);
1265
+ if (it == pobject->end()) {
1266
+ return nullptr;
1267
+ }
1268
+ return &it->second;
1269
+ }
1270
+ return nullptr;
1271
+ }
1272
+
1273
+ inline dynamic const_dynamic_view::value_or(dynamic&& val) const {
1274
+ if (d_) {
1275
+ return *d_;
1276
+ }
1277
+ return std::move(val);
1278
+ }
1279
+
1280
+ template <typename T, typename... Args>
1281
+ inline T const_dynamic_view::get_copy(Args&&... args) const {
1282
+ if (auto* v = (d_ ? d_->get_nothrow<T>() : nullptr)) {
1283
+ return *v;
1284
+ }
1285
+ return T(std::forward<Args>(args)...);
1286
+ }
1287
+
1288
+ inline std::string const_dynamic_view::string_or(char const* val) const {
1289
+ return get_copy<std::string>(val);
1290
+ }
1291
+
1292
+ inline std::string const_dynamic_view::string_or(std::string val) const {
1293
+ return get_copy<std::string>(std::move(val));
1294
+ }
1295
+
1296
+ // Specialized version for StringPiece, FixedString, and other types which are
1297
+ // not convertible to std::string, but can construct one from .data and .size
1298
+ // to std::string. Will not trigger a copy unless data and size require it.
1299
+ template <typename Stringish, typename>
1300
+ inline std::string const_dynamic_view::string_or(Stringish&& val) const {
1301
+ return get_copy(val.data(), val.size());
1302
+ }
1303
+
1304
+ inline double const_dynamic_view::double_or(double val) const noexcept {
1305
+ return get_copy<double>(val);
1306
+ }
1307
+
1308
+ inline int64_t const_dynamic_view::int_or(int64_t val) const noexcept {
1309
+ return get_copy<int64_t>(val);
1310
+ }
1311
+
1312
+ inline bool const_dynamic_view::bool_or(bool val) const noexcept {
1313
+ return get_copy<bool>(val);
1314
+ }
1315
+
1316
+ inline dynamic_view::dynamic_view(dynamic& d) noexcept
1317
+ : const_dynamic_view(d) {}
1318
+
1319
+ template <typename Key, typename... Keys>
1320
+ inline dynamic_view dynamic_view::descend(
1321
+ Key const& key, Keys const&... keys) const noexcept {
1322
+ if (auto* child = const_dynamic_view::descend_(key, keys...)) {
1323
+ return *const_cast<dynamic*>(child);
1324
+ }
1325
+ return {};
1326
+ }
1327
+
1328
+ inline dynamic dynamic_view::move_value_or(dynamic&& val) noexcept {
1329
+ if (d_) {
1330
+ return std::move(*const_cast<dynamic*>(d_));
1331
+ }
1332
+ return std::move(val);
1333
+ }
1334
+
1335
+ template <typename T, typename... Args>
1336
+ inline T dynamic_view::get_move(Args&&... args) {
1337
+ if (auto* v = (d_ ? const_cast<dynamic*>(d_)->get_nothrow<T>() : nullptr)) {
1338
+ return std::move(*v);
1339
+ }
1340
+ return T(std::forward<Args>(args)...);
1341
+ }
1342
+
1343
+ inline std::string dynamic_view::move_string_or(char const* val) {
1344
+ return get_move<std::string>(val);
1345
+ }
1346
+
1347
+ inline std::string dynamic_view::move_string_or(std::string val) noexcept {
1348
+ return get_move<std::string>(std::move(val));
1349
+ }
1350
+
1351
+ template <typename Stringish, typename>
1352
+ inline std::string dynamic_view::move_string_or(Stringish&& val) {
1353
+ return get_move<std::string>(val.begin(), val.end());
1354
+ }
1355
+
1356
+ //////////////////////////////////////////////////////////////////////
1357
+
1358
+ // Specialization of FormatValue so dynamic objects can be formatted
1359
+ template <>
1360
+ class FormatValue<dynamic> {
1361
+ public:
1362
+ explicit FormatValue(const dynamic& val) : val_(val) {}
1363
+
1364
+ template <class FormatCallback>
1365
+ void format(FormatArg& arg, FormatCallback& cb) const {
1366
+ switch (val_.type()) {
1367
+ case dynamic::NULLT:
1368
+ FormatValue<std::nullptr_t>(nullptr).format(arg, cb);
1369
+ break;
1370
+ case dynamic::BOOL:
1371
+ FormatValue<bool>(val_.asBool()).format(arg, cb);
1372
+ break;
1373
+ case dynamic::INT64:
1374
+ FormatValue<int64_t>(val_.asInt()).format(arg, cb);
1375
+ break;
1376
+ case dynamic::STRING:
1377
+ FormatValue<std::string>(val_.asString()).format(arg, cb);
1378
+ break;
1379
+ case dynamic::DOUBLE:
1380
+ FormatValue<double>(val_.asDouble()).format(arg, cb);
1381
+ break;
1382
+ case dynamic::ARRAY:
1383
+ FormatValue(val_.at(arg.splitIntKey())).format(arg, cb);
1384
+ break;
1385
+ case dynamic::OBJECT:
1386
+ FormatValue(val_.at(arg.splitKey().toString())).format(arg, cb);
1387
+ break;
1388
+ }
1389
+ }
1390
+
1391
+ private:
1392
+ const dynamic& val_;
1393
+ };
1394
+
1395
+ template <class V>
1396
+ class FormatValue<detail::DefaultValueWrapper<dynamic, V>> {
1397
+ public:
1398
+ explicit FormatValue(const detail::DefaultValueWrapper<dynamic, V>& val)
1399
+ : val_(val) {}
1400
+
1401
+ template <class FormatCallback>
1402
+ void format(FormatArg& arg, FormatCallback& cb) const {
1403
+ auto& c = val_.container;
1404
+ switch (c.type()) {
1405
+ case dynamic::NULLT:
1406
+ case dynamic::BOOL:
1407
+ case dynamic::INT64:
1408
+ case dynamic::STRING:
1409
+ case dynamic::DOUBLE:
1410
+ FormatValue<dynamic>(c).format(arg, cb);
1411
+ break;
1412
+ case dynamic::ARRAY: {
1413
+ int key = arg.splitIntKey();
1414
+ if (key >= 0 && size_t(key) < c.size()) {
1415
+ FormatValue<dynamic>(c.at(key)).format(arg, cb);
1416
+ } else {
1417
+ FormatValue<V>(val_.defaultValue).format(arg, cb);
1418
+ }
1419
+ break;
1420
+ }
1421
+ case dynamic::OBJECT: {
1422
+ auto pos = c.find(arg.splitKey());
1423
+ if (pos != c.items().end()) {
1424
+ FormatValue<dynamic>(pos->second).format(arg, cb);
1425
+ } else {
1426
+ FormatValue<V>(val_.defaultValue).format(arg, cb);
1427
+ }
1428
+ break;
1429
+ }
1430
+ }
1431
+ }
1432
+
1433
+ private:
1434
+ const detail::DefaultValueWrapper<dynamic, V>& val_;
1435
+ };
1436
+
1437
+ } // namespace folly
1438
+
1439
+ #undef FB_DYNAMIC_APPLY