@appsent-co/react-native-watchos 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 (1045) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +94 -0
  3. package/RNWatchConnectivity.podspec +77 -0
  4. package/app.plugin.js +1 -0
  5. package/apple/Package.swift +49 -0
  6. package/apple/Sources/ReactNativeWatchOS/DevSupport/ErrorToast.swift +22 -0
  7. package/apple/Sources/ReactNativeWatchOS/DevSupport/ShakeDetector.swift +42 -0
  8. package/apple/Sources/ReactNativeWatchOS/EventBus.swift +20 -0
  9. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityAction.swift +20 -0
  10. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityActions.swift +17 -0
  11. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityAddTraits.swift +48 -0
  12. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityElement.swift +19 -0
  13. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityHidden.swift +13 -0
  14. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityHint.swift +12 -0
  15. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityIdentifier.swift +12 -0
  16. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityLabel.swift +12 -0
  17. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityRemoveTraits.swift +14 -0
  18. package/apple/Sources/ReactNativeWatchOS/Modifiers/AccessibilityValue.swift +12 -0
  19. package/apple/Sources/ReactNativeWatchOS/Modifiers/Alert.swift +81 -0
  20. package/apple/Sources/ReactNativeWatchOS/Modifiers/AlignmentGuide.swift +53 -0
  21. package/apple/Sources/ReactNativeWatchOS/Modifiers/AllowsHitTesting.swift +13 -0
  22. package/apple/Sources/ReactNativeWatchOS/Modifiers/AllowsTightening.swift +13 -0
  23. package/apple/Sources/ReactNativeWatchOS/Modifiers/Animation.swift +63 -0
  24. package/apple/Sources/ReactNativeWatchOS/Modifiers/Antialiased.swift +12 -0
  25. package/apple/Sources/ReactNativeWatchOS/Modifiers/AspectRatio.swift +21 -0
  26. package/apple/Sources/ReactNativeWatchOS/Modifiers/AutocorrectionDisabled.swift +14 -0
  27. package/apple/Sources/ReactNativeWatchOS/Modifiers/Background.swift +26 -0
  28. package/apple/Sources/ReactNativeWatchOS/Modifiers/BackgroundExtensionEffect.swift +17 -0
  29. package/apple/Sources/ReactNativeWatchOS/Modifiers/BackgroundStyle.swift +17 -0
  30. package/apple/Sources/ReactNativeWatchOS/Modifiers/BaselineOffset.swift +13 -0
  31. package/apple/Sources/ReactNativeWatchOS/Modifiers/BlendMode.swift +35 -0
  32. package/apple/Sources/ReactNativeWatchOS/Modifiers/Blur.swift +14 -0
  33. package/apple/Sources/ReactNativeWatchOS/Modifiers/Bold.swift +12 -0
  34. package/apple/Sources/ReactNativeWatchOS/Modifiers/Border.swift +18 -0
  35. package/apple/Sources/ReactNativeWatchOS/Modifiers/Brightness.swift +12 -0
  36. package/apple/Sources/ReactNativeWatchOS/Modifiers/ButtonBorderShape.swift +27 -0
  37. package/apple/Sources/ReactNativeWatchOS/Modifiers/ButtonRepeatBehavior.swift +19 -0
  38. package/apple/Sources/ReactNativeWatchOS/Modifiers/ButtonSizing.swift +18 -0
  39. package/apple/Sources/ReactNativeWatchOS/Modifiers/ButtonStyle.swift +23 -0
  40. package/apple/Sources/ReactNativeWatchOS/Modifiers/ClipShape.swift +26 -0
  41. package/apple/Sources/ReactNativeWatchOS/Modifiers/Clipped.swift +11 -0
  42. package/apple/Sources/ReactNativeWatchOS/Modifiers/ColorInvert.swift +11 -0
  43. package/apple/Sources/ReactNativeWatchOS/Modifiers/ColorMultiply.swift +17 -0
  44. package/apple/Sources/ReactNativeWatchOS/Modifiers/ColorScheme.swift +21 -0
  45. package/apple/Sources/ReactNativeWatchOS/Modifiers/CompositingGroup.swift +12 -0
  46. package/apple/Sources/ReactNativeWatchOS/Modifiers/ConfirmationDialog.swift +91 -0
  47. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContainerBackground.swift +34 -0
  48. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContainerRelativeFrame.swift +24 -0
  49. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContainerShape.swift +25 -0
  50. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContainerValue.swift +20 -0
  51. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContentMargins.swift +21 -0
  52. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContentShape.swift +26 -0
  53. package/apple/Sources/ReactNativeWatchOS/Modifiers/ContextMenu.swift +14 -0
  54. package/apple/Sources/ReactNativeWatchOS/Modifiers/Contrast.swift +12 -0
  55. package/apple/Sources/ReactNativeWatchOS/Modifiers/ControlSize.swift +27 -0
  56. package/apple/Sources/ReactNativeWatchOS/Modifiers/CoordinateSpace.swift +15 -0
  57. package/apple/Sources/ReactNativeWatchOS/Modifiers/CornerRadius.swift +14 -0
  58. package/apple/Sources/ReactNativeWatchOS/Modifiers/DatePickerStyle.swift +20 -0
  59. package/apple/Sources/ReactNativeWatchOS/Modifiers/DefaultAppStorage.swift +21 -0
  60. package/apple/Sources/ReactNativeWatchOS/Modifiers/DefaultScrollAnchor.swift +20 -0
  61. package/apple/Sources/ReactNativeWatchOS/Modifiers/DeleteDisabled.swift +12 -0
  62. package/apple/Sources/ReactNativeWatchOS/Modifiers/DigitalCrownAccessory.swift +20 -0
  63. package/apple/Sources/ReactNativeWatchOS/Modifiers/DigitalCrownRotation.swift +100 -0
  64. package/apple/Sources/ReactNativeWatchOS/Modifiers/Disabled.swift +12 -0
  65. package/apple/Sources/ReactNativeWatchOS/Modifiers/DrawingGroup.swift +12 -0
  66. package/apple/Sources/ReactNativeWatchOS/Modifiers/DynamicTypeSize.swift +36 -0
  67. package/apple/Sources/ReactNativeWatchOS/Modifiers/Environment.swift +40 -0
  68. package/apple/Sources/ReactNativeWatchOS/Modifiers/EnvironmentObject.swift +20 -0
  69. package/apple/Sources/ReactNativeWatchOS/Modifiers/FixedSize.swift +22 -0
  70. package/apple/Sources/ReactNativeWatchOS/Modifiers/Focusable.swift +14 -0
  71. package/apple/Sources/ReactNativeWatchOS/Modifiers/Focused.swift +52 -0
  72. package/apple/Sources/ReactNativeWatchOS/Modifiers/Font.swift +65 -0
  73. package/apple/Sources/ReactNativeWatchOS/Modifiers/FontDesign.swift +20 -0
  74. package/apple/Sources/ReactNativeWatchOS/Modifiers/FontWeight.swift +15 -0
  75. package/apple/Sources/ReactNativeWatchOS/Modifiers/ForegroundColor.swift +19 -0
  76. package/apple/Sources/ReactNativeWatchOS/Modifiers/ForegroundStyle.swift +17 -0
  77. package/apple/Sources/ReactNativeWatchOS/Modifiers/FormStyle.swift +14 -0
  78. package/apple/Sources/ReactNativeWatchOS/Modifiers/Frame.swift +44 -0
  79. package/apple/Sources/ReactNativeWatchOS/Modifiers/FullScreenCover.swift +68 -0
  80. package/apple/Sources/ReactNativeWatchOS/Modifiers/GaugeStyle.swift +27 -0
  81. package/apple/Sources/ReactNativeWatchOS/Modifiers/GeometryGroup.swift +16 -0
  82. package/apple/Sources/ReactNativeWatchOS/Modifiers/Gesture.swift +68 -0
  83. package/apple/Sources/ReactNativeWatchOS/Modifiers/GlassEffect.swift +49 -0
  84. package/apple/Sources/ReactNativeWatchOS/Modifiers/GlassEffectID.swift +34 -0
  85. package/apple/Sources/ReactNativeWatchOS/Modifiers/GlassEffectTransition.swift +29 -0
  86. package/apple/Sources/ReactNativeWatchOS/Modifiers/GlassEffectUnion.swift +35 -0
  87. package/apple/Sources/ReactNativeWatchOS/Modifiers/Grayscale.swift +12 -0
  88. package/apple/Sources/ReactNativeWatchOS/Modifiers/GridCellAnchor.swift +38 -0
  89. package/apple/Sources/ReactNativeWatchOS/Modifiers/GridCellColumns.swift +13 -0
  90. package/apple/Sources/ReactNativeWatchOS/Modifiers/GridCellUnsizedAxes.swift +21 -0
  91. package/apple/Sources/ReactNativeWatchOS/Modifiers/GridColumnAlignment.swift +13 -0
  92. package/apple/Sources/ReactNativeWatchOS/Modifiers/HandGestureShortcut.swift +18 -0
  93. package/apple/Sources/ReactNativeWatchOS/Modifiers/HeaderProminence.swift +16 -0
  94. package/apple/Sources/ReactNativeWatchOS/Modifiers/Help.swift +15 -0
  95. package/apple/Sources/ReactNativeWatchOS/Modifiers/Hidden.swift +14 -0
  96. package/apple/Sources/ReactNativeWatchOS/Modifiers/HighPriorityGesture.swift +12 -0
  97. package/apple/Sources/ReactNativeWatchOS/Modifiers/HueRotation.swift +12 -0
  98. package/apple/Sources/ReactNativeWatchOS/Modifiers/Id.swift +33 -0
  99. package/apple/Sources/ReactNativeWatchOS/Modifiers/IgnoresSafeArea.swift +16 -0
  100. package/apple/Sources/ReactNativeWatchOS/Modifiers/InteractiveDismissDisabled.swift +13 -0
  101. package/apple/Sources/ReactNativeWatchOS/Modifiers/Interpolation.swift +19 -0
  102. package/apple/Sources/ReactNativeWatchOS/Modifiers/Italic.swift +12 -0
  103. package/apple/Sources/ReactNativeWatchOS/Modifiers/Kerning.swift +14 -0
  104. package/apple/Sources/ReactNativeWatchOS/Modifiers/LabelIconToTitleSpacing.swift +17 -0
  105. package/apple/Sources/ReactNativeWatchOS/Modifiers/LabelReservedIconWidth.swift +17 -0
  106. package/apple/Sources/ReactNativeWatchOS/Modifiers/LabelStyle.swift +21 -0
  107. package/apple/Sources/ReactNativeWatchOS/Modifiers/LabeledContentStyle.swift +14 -0
  108. package/apple/Sources/ReactNativeWatchOS/Modifiers/LabelsHidden.swift +14 -0
  109. package/apple/Sources/ReactNativeWatchOS/Modifiers/LabelsVisibility.swift +18 -0
  110. package/apple/Sources/ReactNativeWatchOS/Modifiers/LayoutPriority.swift +12 -0
  111. package/apple/Sources/ReactNativeWatchOS/Modifiers/LineLimit.swift +13 -0
  112. package/apple/Sources/ReactNativeWatchOS/Modifiers/LineSpacing.swift +13 -0
  113. package/apple/Sources/ReactNativeWatchOS/Modifiers/ListItemTint.swift +17 -0
  114. package/apple/Sources/ReactNativeWatchOS/Modifiers/ListRowBackground.swift +16 -0
  115. package/apple/Sources/ReactNativeWatchOS/Modifiers/ListRowInsets.swift +18 -0
  116. package/apple/Sources/ReactNativeWatchOS/Modifiers/ListSectionSpacing.swift +24 -0
  117. package/apple/Sources/ReactNativeWatchOS/Modifiers/ListStyle.swift +18 -0
  118. package/apple/Sources/ReactNativeWatchOS/Modifiers/LuminanceToAlpha.swift +12 -0
  119. package/apple/Sources/ReactNativeWatchOS/Modifiers/Mask.swift +15 -0
  120. package/apple/Sources/ReactNativeWatchOS/Modifiers/MatchedGeometryEffect.swift +50 -0
  121. package/apple/Sources/ReactNativeWatchOS/Modifiers/MatchedTransitionSource.swift +33 -0
  122. package/apple/Sources/ReactNativeWatchOS/Modifiers/MaterialActiveAppearance.swift +26 -0
  123. package/apple/Sources/ReactNativeWatchOS/Modifiers/MenuActionDismissBehavior.swift +23 -0
  124. package/apple/Sources/ReactNativeWatchOS/Modifiers/MenuOrder.swift +19 -0
  125. package/apple/Sources/ReactNativeWatchOS/Modifiers/MinimumScaleFactor.swift +14 -0
  126. package/apple/Sources/ReactNativeWatchOS/Modifiers/Monospaced.swift +12 -0
  127. package/apple/Sources/ReactNativeWatchOS/Modifiers/MonospacedDigit.swift +13 -0
  128. package/apple/Sources/ReactNativeWatchOS/Modifiers/MoveDisabled.swift +12 -0
  129. package/apple/Sources/ReactNativeWatchOS/Modifiers/MultilineTextAlignment.swift +14 -0
  130. package/apple/Sources/ReactNativeWatchOS/Modifiers/NavigationBarBackButtonHidden.swift +14 -0
  131. package/apple/Sources/ReactNativeWatchOS/Modifiers/NavigationDestination.swift +64 -0
  132. package/apple/Sources/ReactNativeWatchOS/Modifiers/NavigationTitle.swift +14 -0
  133. package/apple/Sources/ReactNativeWatchOS/Modifiers/NavigationTransition.swift +22 -0
  134. package/apple/Sources/ReactNativeWatchOS/Modifiers/Offset.swift +15 -0
  135. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnAppear.swift +11 -0
  136. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnChange.swift +60 -0
  137. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnDisappear.swift +12 -0
  138. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnGeometryChange.swift +25 -0
  139. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnLongPressGesture.swift +17 -0
  140. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnOpenURL.swift +19 -0
  141. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnReceive.swift +24 -0
  142. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnSubmit.swift +24 -0
  143. package/apple/Sources/ReactNativeWatchOS/Modifiers/OnTapGesture.swift +16 -0
  144. package/apple/Sources/ReactNativeWatchOS/Modifiers/Opacity.swift +11 -0
  145. package/apple/Sources/ReactNativeWatchOS/Modifiers/Overlay.swift +15 -0
  146. package/apple/Sources/ReactNativeWatchOS/Modifiers/Padding.swift +30 -0
  147. package/apple/Sources/ReactNativeWatchOS/Modifiers/PickerStyle.swift +21 -0
  148. package/apple/Sources/ReactNativeWatchOS/Modifiers/Position.swift +15 -0
  149. package/apple/Sources/ReactNativeWatchOS/Modifiers/PreferredColorScheme.swift +15 -0
  150. package/apple/Sources/ReactNativeWatchOS/Modifiers/PresentationBackground.swift +23 -0
  151. package/apple/Sources/ReactNativeWatchOS/Modifiers/PresentationCompactAdaptation.swift +20 -0
  152. package/apple/Sources/ReactNativeWatchOS/Modifiers/PresentationCornerRadius.swift +19 -0
  153. package/apple/Sources/ReactNativeWatchOS/Modifiers/PresentationDetents.swift +19 -0
  154. package/apple/Sources/ReactNativeWatchOS/Modifiers/PresentationDragIndicator.swift +17 -0
  155. package/apple/Sources/ReactNativeWatchOS/Modifiers/PrivacySensitive.swift +13 -0
  156. package/apple/Sources/ReactNativeWatchOS/Modifiers/ProgressViewStyle.swift +19 -0
  157. package/apple/Sources/ReactNativeWatchOS/Modifiers/ProjectionEffect.swift +17 -0
  158. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWAccessibilityModifiers.swift +23 -0
  159. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWComponentStylesModifiers.swift +23 -0
  160. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWContainerGridModifiers.swift +19 -0
  161. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWControlsPolishModifiers.swift +20 -0
  162. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWEnvironmentModifiers.swift +15 -0
  163. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWFiltersModifiers.swift +28 -0
  164. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWGeometryModifiers.swift +16 -0
  165. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWGesturesModifiers.swift +17 -0
  166. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWGlassModifiers.swift +17 -0
  167. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWImageScaleModifier.swift +18 -0
  168. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWImageSymbolModifiers.swift +15 -0
  169. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWInputModifiers.swift +16 -0
  170. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWInteractionModifiers.swift +23 -0
  171. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWLayoutModifiers.swift +20 -0
  172. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWListsModifiers.swift +19 -0
  173. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWNavigationModifiers.swift +19 -0
  174. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWPresentationModifiers.swift +17 -0
  175. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWScrollModifiers.swift +24 -0
  176. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWSearchModifiers.swift +15 -0
  177. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWStylingModifiers.swift +25 -0
  178. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWSymbolEffectModifier.swift +46 -0
  179. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWSymbolRenderingModeModifier.swift +19 -0
  180. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWSymbolVariantModifier.swift +21 -0
  181. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWTextModifiers.swift +25 -0
  182. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWTextPolishModifiers.swift +16 -0
  183. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWThemeModifiers.swift +18 -0
  184. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWToolbarModifiers.swift +24 -0
  185. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWTransformsModifiers.swift +16 -0
  186. package/apple/Sources/ReactNativeWatchOS/Modifiers/RNWWatchModifiers.swift +15 -0
  187. package/apple/Sources/ReactNativeWatchOS/Modifiers/Redacted.swift +13 -0
  188. package/apple/Sources/ReactNativeWatchOS/Modifiers/Refreshable.swift +18 -0
  189. package/apple/Sources/ReactNativeWatchOS/Modifiers/RenderingMode.swift +17 -0
  190. package/apple/Sources/ReactNativeWatchOS/Modifiers/Resizable.swift +13 -0
  191. package/apple/Sources/ReactNativeWatchOS/Modifiers/Rotation3DEffect.swift +30 -0
  192. package/apple/Sources/ReactNativeWatchOS/Modifiers/RotationEffect.swift +33 -0
  193. package/apple/Sources/ReactNativeWatchOS/Modifiers/SafeAreaInset.swift +49 -0
  194. package/apple/Sources/ReactNativeWatchOS/Modifiers/Saturation.swift +12 -0
  195. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScaleEffect.swift +17 -0
  196. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollBounceBehavior.swift +53 -0
  197. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollClipDisabled.swift +17 -0
  198. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollContentBackground.swift +15 -0
  199. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollDisabled.swift +12 -0
  200. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollDismissesKeyboard.swift +29 -0
  201. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollIndicators.swift +26 -0
  202. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollPosition.swift +67 -0
  203. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollTargetBehavior.swift +26 -0
  204. package/apple/Sources/ReactNativeWatchOS/Modifiers/ScrollTargetLayout.swift +18 -0
  205. package/apple/Sources/ReactNativeWatchOS/Modifiers/SearchCompletion.swift +21 -0
  206. package/apple/Sources/ReactNativeWatchOS/Modifiers/SearchPresentationToolbarBehavior.swift +19 -0
  207. package/apple/Sources/ReactNativeWatchOS/Modifiers/SearchSuggestions.swift +22 -0
  208. package/apple/Sources/ReactNativeWatchOS/Modifiers/SearchToolbarBehavior.swift +19 -0
  209. package/apple/Sources/ReactNativeWatchOS/Modifiers/Searchable.swift +26 -0
  210. package/apple/Sources/ReactNativeWatchOS/Modifiers/SelectionDisabled.swift +16 -0
  211. package/apple/Sources/ReactNativeWatchOS/Modifiers/SensoryFeedback.swift +74 -0
  212. package/apple/Sources/ReactNativeWatchOS/Modifiers/Shadow.swift +20 -0
  213. package/apple/Sources/ReactNativeWatchOS/Modifiers/Sheet.swift +64 -0
  214. package/apple/Sources/ReactNativeWatchOS/Modifiers/SimultaneousGesture.swift +12 -0
  215. package/apple/Sources/ReactNativeWatchOS/Modifiers/SpringLoadingBehavior.swift +20 -0
  216. package/apple/Sources/ReactNativeWatchOS/Modifiers/Strikethrough.swift +15 -0
  217. package/apple/Sources/ReactNativeWatchOS/Modifiers/SubmitLabel.swift +29 -0
  218. package/apple/Sources/ReactNativeWatchOS/Modifiers/SwipeActions.swift +19 -0
  219. package/apple/Sources/ReactNativeWatchOS/Modifiers/TabItem.swift +16 -0
  220. package/apple/Sources/ReactNativeWatchOS/Modifiers/TabViewStyle.swift +28 -0
  221. package/apple/Sources/ReactNativeWatchOS/Modifiers/Tag.swift +13 -0
  222. package/apple/Sources/ReactNativeWatchOS/Modifiers/Task.swift +15 -0
  223. package/apple/Sources/ReactNativeWatchOS/Modifiers/TextCase.swift +20 -0
  224. package/apple/Sources/ReactNativeWatchOS/Modifiers/TextContentType.swift +35 -0
  225. package/apple/Sources/ReactNativeWatchOS/Modifiers/TextFieldStyle.swift +14 -0
  226. package/apple/Sources/ReactNativeWatchOS/Modifiers/TextInputAutocapitalization.swift +25 -0
  227. package/apple/Sources/ReactNativeWatchOS/Modifiers/TextScale.swift +19 -0
  228. package/apple/Sources/ReactNativeWatchOS/Modifiers/Tint.swift +17 -0
  229. package/apple/Sources/ReactNativeWatchOS/Modifiers/ToggleStyle.swift +19 -0
  230. package/apple/Sources/ReactNativeWatchOS/Modifiers/Toolbar.swift +22 -0
  231. package/apple/Sources/ReactNativeWatchOS/Modifiers/ToolbarBackground.swift +37 -0
  232. package/apple/Sources/ReactNativeWatchOS/Modifiers/ToolbarColorScheme.swift +25 -0
  233. package/apple/Sources/ReactNativeWatchOS/Modifiers/ToolbarTitleDisplayMode.swift +22 -0
  234. package/apple/Sources/ReactNativeWatchOS/Modifiers/ToolbarTitleMenu.swift +16 -0
  235. package/apple/Sources/ReactNativeWatchOS/Modifiers/ToolbarVisibility.swift +18 -0
  236. package/apple/Sources/ReactNativeWatchOS/Modifiers/Tracking.swift +13 -0
  237. package/apple/Sources/ReactNativeWatchOS/Modifiers/TransformEffect.swift +28 -0
  238. package/apple/Sources/ReactNativeWatchOS/Modifiers/Transition.swift +33 -0
  239. package/apple/Sources/ReactNativeWatchOS/Modifiers/TruncationMode.swift +19 -0
  240. package/apple/Sources/ReactNativeWatchOS/Modifiers/Underline.swift +15 -0
  241. package/apple/Sources/ReactNativeWatchOS/Modifiers/Unredacted.swift +12 -0
  242. package/apple/Sources/ReactNativeWatchOS/Modifiers/ZIndex.swift +12 -0
  243. package/apple/Sources/ReactNativeWatchOS/RNWRootView.swift +141 -0
  244. package/apple/Sources/ReactNativeWatchOS/ReactNativeWatchOS.swift +290 -0
  245. package/apple/Sources/ReactNativeWatchOS/ReactNativeWatchOSView.swift +100 -0
  246. package/apple/Sources/ReactNativeWatchOS/Registry/ColorParser.swift +51 -0
  247. package/apple/Sources/ReactNativeWatchOS/Registry/ImageModifierRegistry.swift +31 -0
  248. package/apple/Sources/ReactNativeWatchOS/Registry/ModifierRegistry.swift +38 -0
  249. package/apple/Sources/ReactNativeWatchOS/Registry/ParamCoercion.swift +25 -0
  250. package/apple/Sources/ReactNativeWatchOS/Registry/ParsersShared.swift +166 -0
  251. package/apple/Sources/ReactNativeWatchOS/Registry/RNWModifierContext.swift +37 -0
  252. package/apple/Sources/ReactNativeWatchOS/Registry/RNWNodeRenderer.swift +56 -0
  253. package/apple/Sources/ReactNativeWatchOS/Registry/ShadowNodeSnapshot+Children.swift +11 -0
  254. package/apple/Sources/ReactNativeWatchOS/Registry/TextModifierRegistry.swift +30 -0
  255. package/apple/Sources/ReactNativeWatchOS/Registry/ViewRegistry.swift +30 -0
  256. package/apple/Sources/ReactNativeWatchOS/Views/AngularGradientView.swift +41 -0
  257. package/apple/Sources/ReactNativeWatchOS/Views/AsyncImageView.swift +168 -0
  258. package/apple/Sources/ReactNativeWatchOS/Views/ButtonView.swift +23 -0
  259. package/apple/Sources/ReactNativeWatchOS/Views/CapsuleView.swift +11 -0
  260. package/apple/Sources/ReactNativeWatchOS/Views/CircleView.swift +11 -0
  261. package/apple/Sources/ReactNativeWatchOS/Views/ColorView.swift +22 -0
  262. package/apple/Sources/ReactNativeWatchOS/Views/ContentUnavailableViewView.swift +87 -0
  263. package/apple/Sources/ReactNativeWatchOS/Views/DatePickerView.swift +90 -0
  264. package/apple/Sources/ReactNativeWatchOS/Views/DividerView.swift +11 -0
  265. package/apple/Sources/ReactNativeWatchOS/Views/EllipseView.swift +11 -0
  266. package/apple/Sources/ReactNativeWatchOS/Views/EmptyViewView.swift +11 -0
  267. package/apple/Sources/ReactNativeWatchOS/Views/FormView.swift +14 -0
  268. package/apple/Sources/ReactNativeWatchOS/Views/GaugeView.swift +35 -0
  269. package/apple/Sources/ReactNativeWatchOS/Views/GeometryReaderView.swift +14 -0
  270. package/apple/Sources/ReactNativeWatchOS/Views/GridRowView.swift +27 -0
  271. package/apple/Sources/ReactNativeWatchOS/Views/GridView.swift +37 -0
  272. package/apple/Sources/ReactNativeWatchOS/Views/GroupView.swift +15 -0
  273. package/apple/Sources/ReactNativeWatchOS/Views/HStackView.swift +27 -0
  274. package/apple/Sources/ReactNativeWatchOS/Views/ImageView.swift +31 -0
  275. package/apple/Sources/ReactNativeWatchOS/Views/LabelView.swift +18 -0
  276. package/apple/Sources/ReactNativeWatchOS/Views/LabeledContentView.swift +55 -0
  277. package/apple/Sources/ReactNativeWatchOS/Views/LazyHGridView.swift +33 -0
  278. package/apple/Sources/ReactNativeWatchOS/Views/LazyHStackView.swift +41 -0
  279. package/apple/Sources/ReactNativeWatchOS/Views/LazyVGridView.swift +97 -0
  280. package/apple/Sources/ReactNativeWatchOS/Views/LazyVStackView.swift +39 -0
  281. package/apple/Sources/ReactNativeWatchOS/Views/LinearGradientView.swift +44 -0
  282. package/apple/Sources/ReactNativeWatchOS/Views/LinkView.swift +20 -0
  283. package/apple/Sources/ReactNativeWatchOS/Views/ListView.swift +27 -0
  284. package/apple/Sources/ReactNativeWatchOS/Views/ModifierContentView.swift +16 -0
  285. package/apple/Sources/ReactNativeWatchOS/Views/NavigationLinkDestinationView.swift +14 -0
  286. package/apple/Sources/ReactNativeWatchOS/Views/NavigationLinkLabelView.swift +15 -0
  287. package/apple/Sources/ReactNativeWatchOS/Views/NavigationLinkView.swift +40 -0
  288. package/apple/Sources/ReactNativeWatchOS/Views/NavigationStackView.swift +15 -0
  289. package/apple/Sources/ReactNativeWatchOS/Views/PickerView.swift +69 -0
  290. package/apple/Sources/ReactNativeWatchOS/Views/ProgressViewView.swift +44 -0
  291. package/apple/Sources/ReactNativeWatchOS/Views/RadialGradientView.swift +22 -0
  292. package/apple/Sources/ReactNativeWatchOS/Views/RectangleView.swift +11 -0
  293. package/apple/Sources/ReactNativeWatchOS/Views/RoundedRectangleView.swift +15 -0
  294. package/apple/Sources/ReactNativeWatchOS/Views/ScrollViewReaderView.swift +14 -0
  295. package/apple/Sources/ReactNativeWatchOS/Views/ScrollViewView.swift +25 -0
  296. package/apple/Sources/ReactNativeWatchOS/Views/SectionFooterView.swift +15 -0
  297. package/apple/Sources/ReactNativeWatchOS/Views/SectionHeaderView.swift +15 -0
  298. package/apple/Sources/ReactNativeWatchOS/Views/SectionView.swift +45 -0
  299. package/apple/Sources/ReactNativeWatchOS/Views/SecureFieldView.swift +49 -0
  300. package/apple/Sources/ReactNativeWatchOS/Views/ShareLinkView.swift +27 -0
  301. package/apple/Sources/ReactNativeWatchOS/Views/SliderView.swift +60 -0
  302. package/apple/Sources/ReactNativeWatchOS/Views/SpacerView.swift +13 -0
  303. package/apple/Sources/ReactNativeWatchOS/Views/StepperView.swift +61 -0
  304. package/apple/Sources/ReactNativeWatchOS/Views/TabViewView.swift +88 -0
  305. package/apple/Sources/ReactNativeWatchOS/Views/TextFieldView.swift +50 -0
  306. package/apple/Sources/ReactNativeWatchOS/Views/TextView.swift +37 -0
  307. package/apple/Sources/ReactNativeWatchOS/Views/TimelineViewView.swift +42 -0
  308. package/apple/Sources/ReactNativeWatchOS/Views/ToggleView.swift +58 -0
  309. package/apple/Sources/ReactNativeWatchOS/Views/VStackView.swift +25 -0
  310. package/apple/Sources/ReactNativeWatchOS/Views/ViewThatFitsView.swift +20 -0
  311. package/apple/Sources/ReactNativeWatchOS/Views/ZStackView.swift +30 -0
  312. package/apple/Sources/ReactNativeWatchOSCxx/RNWCallInvoker.h +175 -0
  313. package/apple/Sources/ReactNativeWatchOSCxx/RNWHermesHost.mm +485 -0
  314. package/apple/Sources/ReactNativeWatchOSCxx/RNWRCTEventEmitter.mm +32 -0
  315. package/apple/Sources/ReactNativeWatchOSCxx/RNWShadowNode.mm +24 -0
  316. package/apple/Sources/ReactNativeWatchOSCxx/RNWTurboModule.mm +706 -0
  317. package/apple/Sources/ReactNativeWatchOSCxx/RNWTurboModuleRegistry.mm +137 -0
  318. package/apple/Sources/ReactNativeWatchOSCxx/RNWUIManager.h +19 -0
  319. package/apple/Sources/ReactNativeWatchOSCxx/RNWUIManager.mm +383 -0
  320. package/apple/Sources/ReactNativeWatchOSCxx/RNWWebSocket.h +20 -0
  321. package/apple/Sources/ReactNativeWatchOSCxx/RNWWebSocket.mm +328 -0
  322. package/apple/Sources/ReactNativeWatchOSCxx/RNWXHR.h +22 -0
  323. package/apple/Sources/ReactNativeWatchOSCxx/RNWXHR.mm +597 -0
  324. package/apple/Sources/ReactNativeWatchOSCxx/include/RCTRequired/RCTRequired.h +13 -0
  325. package/apple/Sources/ReactNativeWatchOSCxx/include/RCTTypeSafety/RCTConvertHelpers.h +7 -0
  326. package/apple/Sources/ReactNativeWatchOSCxx/include/RCTTypeSafety/RCTTypedModuleConstants.h +7 -0
  327. package/apple/Sources/ReactNativeWatchOSCxx/include/React/RCTBridgeModule.h +88 -0
  328. package/apple/Sources/ReactNativeWatchOSCxx/include/React/RCTCxxConvert.h +7 -0
  329. package/apple/Sources/ReactNativeWatchOSCxx/include/React/RCTEventEmitter.h +71 -0
  330. package/apple/Sources/ReactNativeWatchOSCxx/include/React/RCTManagedPointer.h +7 -0
  331. package/apple/Sources/ReactNativeWatchOSCxx/include/ReactCommon/RCTTurboModule.h +187 -0
  332. package/apple/Sources/ReactNativeWatchOSCxx/include/ReactNativeWatchOSCxx/RNWHermesHost.h +58 -0
  333. package/apple/Sources/ReactNativeWatchOSCxx/include/ReactNativeWatchOSCxx/RNWShadowNode.h +49 -0
  334. package/apple/Sources/ReactNativeWatchOSCxx/include/ReactNativeWatchOSCxx/RNWTurboModuleRegistry+Cxx.h +64 -0
  335. package/apple/Sources/ReactNativeWatchOSCxx/include/ReactNativeWatchOSCxx/RNWTurboModuleRegistry.h +24 -0
  336. package/apple/Sources/ReactNativeWatchOSCxx/include/ReactNativeWatchOSCxx/module.modulemap +25 -0
  337. package/apple/Sources/WatchConnectivity/RNWWatchConnectivity.h +23 -0
  338. package/apple/Sources/WatchConnectivity/RNWWatchConnectivity.mm +406 -0
  339. package/build/xcframework/Hermes.xcframework/Info.plist +43 -0
  340. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/AsyncDebuggerAPI.h +304 -0
  341. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/CompileJS.h +73 -0
  342. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/DebuggerAPI.h +505 -0
  343. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/Buffer.h +42 -0
  344. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/CrashManager.h +107 -0
  345. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/CtorConfig.h +148 -0
  346. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/DebuggerTypes.h +200 -0
  347. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/GCConfig.h +231 -0
  348. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/GCTripwireContext.h +43 -0
  349. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/HermesExport.h +14 -0
  350. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/JSOutOfMemoryError.h +30 -0
  351. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/RuntimeConfig.h +135 -0
  352. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/Public/SamplingProfiler.h +273 -0
  353. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/RuntimeTaskRunner.h +67 -0
  354. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/SynthTrace.h +1527 -0
  355. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/SynthTraceParser.h +40 -0
  356. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/ThreadSafetyAnalysis.h +78 -0
  357. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/TimerStats.h +23 -0
  358. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/TraceInterpreter.h +284 -0
  359. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/TracingRuntime.h +315 -0
  360. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/hermes.h +211 -0
  361. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Headers/hermes_tracing.h +55 -0
  362. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/Info.plist +28 -0
  363. package/build/xcframework/Hermes.xcframework/watchos-arm64/hermes.framework/hermes +0 -0
  364. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/AsyncDebuggerAPI.h +304 -0
  365. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/CompileJS.h +73 -0
  366. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/DebuggerAPI.h +505 -0
  367. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/Buffer.h +42 -0
  368. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/CrashManager.h +107 -0
  369. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/CtorConfig.h +148 -0
  370. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/DebuggerTypes.h +200 -0
  371. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/GCConfig.h +231 -0
  372. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/GCTripwireContext.h +43 -0
  373. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/HermesExport.h +14 -0
  374. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/JSOutOfMemoryError.h +30 -0
  375. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/RuntimeConfig.h +135 -0
  376. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/Public/SamplingProfiler.h +273 -0
  377. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/RuntimeTaskRunner.h +67 -0
  378. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/SynthTrace.h +1527 -0
  379. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/SynthTraceParser.h +40 -0
  380. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/ThreadSafetyAnalysis.h +78 -0
  381. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/TimerStats.h +23 -0
  382. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/TraceInterpreter.h +284 -0
  383. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/TracingRuntime.h +315 -0
  384. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/hermes.h +211 -0
  385. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Headers/hermes_tracing.h +55 -0
  386. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/Info.plist +28 -0
  387. package/build/xcframework/Hermes.xcframework/watchos-arm64-simulator/hermes.framework/hermes +0 -0
  388. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/Info.plist +47 -0
  389. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/RCTRequired/RCTRequired.h +13 -0
  390. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/RCTTypeSafety/RCTConvertHelpers.h +7 -0
  391. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/RCTTypeSafety/RCTTypedModuleConstants.h +7 -0
  392. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/CallInvoker.h +64 -0
  393. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/CallbackWrapper.h +11 -0
  394. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/CxxTurboModuleUtils.h +35 -0
  395. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/LongLivedObject.h +11 -0
  396. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/RCTTurboModule.h +187 -0
  397. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/RuntimeExecutor.h +25 -0
  398. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/SchedulerPriority.h +20 -0
  399. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/TurboCxxModule.h +49 -0
  400. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/TurboModule.h +162 -0
  401. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/TurboModuleBinding.h +59 -0
  402. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/TurboModulePerfLogger.h +108 -0
  403. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/TurboModuleUtils.h +38 -0
  404. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  405. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactNativeWatchOSCxx/RNWHermesHost.h +58 -0
  406. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactNativeWatchOSCxx/RNWShadowNode.h +49 -0
  407. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry+Cxx.h +64 -0
  408. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry.h +24 -0
  409. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/decorator.h +1064 -0
  410. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/hermes-interfaces.h +189 -0
  411. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/instrumentation.h +132 -0
  412. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/jsi-inl.h +405 -0
  413. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/jsi.h +1937 -0
  414. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/jsilib.h +59 -0
  415. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/test/testlib.h +49 -0
  416. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/jsi/threadsafe.h +79 -0
  417. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/module.modulemap +25 -0
  418. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/RCTBridgeModule.h +88 -0
  419. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/RCTCxxConvert.h +7 -0
  420. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/RCTEventEmitter.h +71 -0
  421. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/RCTManagedPointer.h +7 -0
  422. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/AString.h +42 -0
  423. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Array.h +151 -0
  424. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Base.h +188 -0
  425. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Bool.h +25 -0
  426. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Bridging.h +22 -0
  427. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/CallbackWrapper.h +67 -0
  428. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Class.h +93 -0
  429. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Convert.h +170 -0
  430. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Dynamic.h +26 -0
  431. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Error.h +51 -0
  432. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/EventEmitter.h +134 -0
  433. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Function.h +283 -0
  434. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/HighResTimeStamp.h +41 -0
  435. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/LongLivedObject.h +61 -0
  436. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Number.h +58 -0
  437. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Object.h +93 -0
  438. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Promise.h +110 -0
  439. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/Value.h +107 -0
  440. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/bridging/tests/BridgingTest.h +77 -0
  441. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/debug/flags.h +22 -0
  442. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/debug/react_native_assert.h +72 -0
  443. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/debug/react_native_expect.h +43 -0
  444. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlags.h +402 -0
  445. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsAccessor.h +172 -0
  446. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsDefaults.h +275 -0
  447. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +598 -0
  448. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  449. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +43 -0
  450. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  451. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/featureflags/ReactNativeFeatureFlagsProvider.h +91 -0
  452. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/ContextContainer.h +110 -0
  453. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/FloatComparison.h +23 -0
  454. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/ManagedObjectWrapper.h +80 -0
  455. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/OnScopeExit.h +36 -0
  456. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/PackTraits.h +29 -0
  457. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/RunLoopObserver.h +125 -0
  458. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/SharedFunction.h +63 -0
  459. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/SimpleThreadSafeCache.h +88 -0
  460. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/Telemetry.h +113 -0
  461. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/TemplateStringLiteral.h +35 -0
  462. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/fnv1a.h +53 -0
  463. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/hash_combine.h +33 -0
  464. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/iequals.h +32 -0
  465. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/jsi-utils.h +31 -0
  466. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/platform/android/react/utils/LowPriorityExecutor.h +14 -0
  467. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  468. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  469. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  470. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/toLower.h +22 -0
  471. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/Headers/react/utils/to_underlying.h +22 -0
  472. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64/libReactNativeWatchOSCxx.a +0 -0
  473. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/RCTRequired/RCTRequired.h +13 -0
  474. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/RCTTypeSafety/RCTConvertHelpers.h +7 -0
  475. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/RCTTypeSafety/RCTTypedModuleConstants.h +7 -0
  476. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/CallInvoker.h +64 -0
  477. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/CallbackWrapper.h +11 -0
  478. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/CxxTurboModuleUtils.h +35 -0
  479. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/LongLivedObject.h +11 -0
  480. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/RCTTurboModule.h +187 -0
  481. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/RuntimeExecutor.h +25 -0
  482. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/SchedulerPriority.h +20 -0
  483. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/TurboCxxModule.h +49 -0
  484. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/TurboModule.h +162 -0
  485. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/TurboModuleBinding.h +59 -0
  486. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/TurboModulePerfLogger.h +108 -0
  487. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/TurboModuleUtils.h +38 -0
  488. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  489. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactNativeWatchOSCxx/RNWHermesHost.h +58 -0
  490. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactNativeWatchOSCxx/RNWShadowNode.h +49 -0
  491. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry+Cxx.h +64 -0
  492. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry.h +24 -0
  493. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/decorator.h +1064 -0
  494. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/hermes-interfaces.h +189 -0
  495. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/instrumentation.h +132 -0
  496. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/jsi-inl.h +405 -0
  497. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/jsi.h +1937 -0
  498. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/jsilib.h +59 -0
  499. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/test/testlib.h +49 -0
  500. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/jsi/threadsafe.h +79 -0
  501. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/module.modulemap +25 -0
  502. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/RCTBridgeModule.h +88 -0
  503. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/RCTCxxConvert.h +7 -0
  504. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/RCTEventEmitter.h +71 -0
  505. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/RCTManagedPointer.h +7 -0
  506. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/AString.h +42 -0
  507. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Array.h +151 -0
  508. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Base.h +188 -0
  509. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Bool.h +25 -0
  510. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Bridging.h +22 -0
  511. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/CallbackWrapper.h +67 -0
  512. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Class.h +93 -0
  513. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Convert.h +170 -0
  514. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Dynamic.h +26 -0
  515. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Error.h +51 -0
  516. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/EventEmitter.h +134 -0
  517. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Function.h +283 -0
  518. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/HighResTimeStamp.h +41 -0
  519. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/LongLivedObject.h +61 -0
  520. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Number.h +58 -0
  521. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Object.h +93 -0
  522. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Promise.h +110 -0
  523. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/Value.h +107 -0
  524. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/bridging/tests/BridgingTest.h +77 -0
  525. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/debug/flags.h +22 -0
  526. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/debug/react_native_assert.h +72 -0
  527. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/debug/react_native_expect.h +43 -0
  528. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlags.h +402 -0
  529. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsAccessor.h +172 -0
  530. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsDefaults.h +275 -0
  531. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +598 -0
  532. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  533. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +43 -0
  534. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  535. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/featureflags/ReactNativeFeatureFlagsProvider.h +91 -0
  536. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/ContextContainer.h +110 -0
  537. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/FloatComparison.h +23 -0
  538. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/ManagedObjectWrapper.h +80 -0
  539. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/OnScopeExit.h +36 -0
  540. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/PackTraits.h +29 -0
  541. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/RunLoopObserver.h +125 -0
  542. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/SharedFunction.h +63 -0
  543. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/SimpleThreadSafeCache.h +88 -0
  544. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/Telemetry.h +113 -0
  545. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/TemplateStringLiteral.h +35 -0
  546. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/fnv1a.h +53 -0
  547. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/hash_combine.h +33 -0
  548. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/iequals.h +32 -0
  549. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/jsi-utils.h +31 -0
  550. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/platform/android/react/utils/LowPriorityExecutor.h +14 -0
  551. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  552. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  553. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  554. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/toLower.h +22 -0
  555. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/Headers/react/utils/to_underlying.h +22 -0
  556. package/build/xcframework/ReactNativeWatchOSCxx.xcframework/watchos-arm64-simulator/libReactNativeWatchOSCxx.a +0 -0
  557. package/build/xcframework/device/Headers/RCTRequired/RCTRequired.h +13 -0
  558. package/build/xcframework/device/Headers/RCTTypeSafety/RCTConvertHelpers.h +7 -0
  559. package/build/xcframework/device/Headers/RCTTypeSafety/RCTTypedModuleConstants.h +7 -0
  560. package/build/xcframework/device/Headers/ReactCommon/CallInvoker.h +64 -0
  561. package/build/xcframework/device/Headers/ReactCommon/CallbackWrapper.h +11 -0
  562. package/build/xcframework/device/Headers/ReactCommon/CxxTurboModuleUtils.h +35 -0
  563. package/build/xcframework/device/Headers/ReactCommon/LongLivedObject.h +11 -0
  564. package/build/xcframework/device/Headers/ReactCommon/RCTTurboModule.h +187 -0
  565. package/build/xcframework/device/Headers/ReactCommon/RuntimeExecutor.h +25 -0
  566. package/build/xcframework/device/Headers/ReactCommon/SchedulerPriority.h +20 -0
  567. package/build/xcframework/device/Headers/ReactCommon/TurboCxxModule.h +49 -0
  568. package/build/xcframework/device/Headers/ReactCommon/TurboModule.h +162 -0
  569. package/build/xcframework/device/Headers/ReactCommon/TurboModuleBinding.h +59 -0
  570. package/build/xcframework/device/Headers/ReactCommon/TurboModulePerfLogger.h +108 -0
  571. package/build/xcframework/device/Headers/ReactCommon/TurboModuleUtils.h +38 -0
  572. package/build/xcframework/device/Headers/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  573. package/build/xcframework/device/Headers/ReactNativeWatchOSCxx/RNWHermesHost.h +58 -0
  574. package/build/xcframework/device/Headers/ReactNativeWatchOSCxx/RNWShadowNode.h +49 -0
  575. package/build/xcframework/device/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry+Cxx.h +64 -0
  576. package/build/xcframework/device/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry.h +24 -0
  577. package/build/xcframework/device/Headers/jsi/decorator.h +1064 -0
  578. package/build/xcframework/device/Headers/jsi/hermes-interfaces.h +189 -0
  579. package/build/xcframework/device/Headers/jsi/instrumentation.h +132 -0
  580. package/build/xcframework/device/Headers/jsi/jsi-inl.h +405 -0
  581. package/build/xcframework/device/Headers/jsi/jsi.h +1937 -0
  582. package/build/xcframework/device/Headers/jsi/jsilib.h +59 -0
  583. package/build/xcframework/device/Headers/jsi/test/testlib.h +49 -0
  584. package/build/xcframework/device/Headers/jsi/threadsafe.h +79 -0
  585. package/build/xcframework/device/Headers/module.modulemap +25 -0
  586. package/build/xcframework/device/Headers/react/RCTBridgeModule.h +88 -0
  587. package/build/xcframework/device/Headers/react/RCTCxxConvert.h +7 -0
  588. package/build/xcframework/device/Headers/react/RCTEventEmitter.h +71 -0
  589. package/build/xcframework/device/Headers/react/RCTManagedPointer.h +7 -0
  590. package/build/xcframework/device/Headers/react/bridging/AString.h +42 -0
  591. package/build/xcframework/device/Headers/react/bridging/Array.h +151 -0
  592. package/build/xcframework/device/Headers/react/bridging/Base.h +188 -0
  593. package/build/xcframework/device/Headers/react/bridging/Bool.h +25 -0
  594. package/build/xcframework/device/Headers/react/bridging/Bridging.h +22 -0
  595. package/build/xcframework/device/Headers/react/bridging/CallbackWrapper.h +67 -0
  596. package/build/xcframework/device/Headers/react/bridging/Class.h +93 -0
  597. package/build/xcframework/device/Headers/react/bridging/Convert.h +170 -0
  598. package/build/xcframework/device/Headers/react/bridging/Dynamic.h +26 -0
  599. package/build/xcframework/device/Headers/react/bridging/Error.h +51 -0
  600. package/build/xcframework/device/Headers/react/bridging/EventEmitter.h +134 -0
  601. package/build/xcframework/device/Headers/react/bridging/Function.h +283 -0
  602. package/build/xcframework/device/Headers/react/bridging/HighResTimeStamp.h +41 -0
  603. package/build/xcframework/device/Headers/react/bridging/LongLivedObject.h +61 -0
  604. package/build/xcframework/device/Headers/react/bridging/Number.h +58 -0
  605. package/build/xcframework/device/Headers/react/bridging/Object.h +93 -0
  606. package/build/xcframework/device/Headers/react/bridging/Promise.h +110 -0
  607. package/build/xcframework/device/Headers/react/bridging/Value.h +107 -0
  608. package/build/xcframework/device/Headers/react/bridging/tests/BridgingTest.h +77 -0
  609. package/build/xcframework/device/Headers/react/debug/flags.h +22 -0
  610. package/build/xcframework/device/Headers/react/debug/react_native_assert.h +72 -0
  611. package/build/xcframework/device/Headers/react/debug/react_native_expect.h +43 -0
  612. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlags.h +402 -0
  613. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsAccessor.h +172 -0
  614. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsDefaults.h +275 -0
  615. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +598 -0
  616. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  617. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +43 -0
  618. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  619. package/build/xcframework/device/Headers/react/featureflags/ReactNativeFeatureFlagsProvider.h +91 -0
  620. package/build/xcframework/device/Headers/react/utils/ContextContainer.h +110 -0
  621. package/build/xcframework/device/Headers/react/utils/FloatComparison.h +23 -0
  622. package/build/xcframework/device/Headers/react/utils/ManagedObjectWrapper.h +80 -0
  623. package/build/xcframework/device/Headers/react/utils/OnScopeExit.h +36 -0
  624. package/build/xcframework/device/Headers/react/utils/PackTraits.h +29 -0
  625. package/build/xcframework/device/Headers/react/utils/RunLoopObserver.h +125 -0
  626. package/build/xcframework/device/Headers/react/utils/SharedFunction.h +63 -0
  627. package/build/xcframework/device/Headers/react/utils/SimpleThreadSafeCache.h +88 -0
  628. package/build/xcframework/device/Headers/react/utils/Telemetry.h +113 -0
  629. package/build/xcframework/device/Headers/react/utils/TemplateStringLiteral.h +35 -0
  630. package/build/xcframework/device/Headers/react/utils/fnv1a.h +53 -0
  631. package/build/xcframework/device/Headers/react/utils/hash_combine.h +33 -0
  632. package/build/xcframework/device/Headers/react/utils/iequals.h +32 -0
  633. package/build/xcframework/device/Headers/react/utils/jsi-utils.h +31 -0
  634. package/build/xcframework/device/Headers/react/utils/platform/android/react/utils/LowPriorityExecutor.h +14 -0
  635. package/build/xcframework/device/Headers/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  636. package/build/xcframework/device/Headers/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  637. package/build/xcframework/device/Headers/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  638. package/build/xcframework/device/Headers/react/utils/toLower.h +22 -0
  639. package/build/xcframework/device/Headers/react/utils/to_underlying.h +22 -0
  640. package/build/xcframework/device/libReactNativeWatchOSCxx.a +0 -0
  641. package/build/xcframework/simulator/Headers/RCTRequired/RCTRequired.h +13 -0
  642. package/build/xcframework/simulator/Headers/RCTTypeSafety/RCTConvertHelpers.h +7 -0
  643. package/build/xcframework/simulator/Headers/RCTTypeSafety/RCTTypedModuleConstants.h +7 -0
  644. package/build/xcframework/simulator/Headers/ReactCommon/CallInvoker.h +64 -0
  645. package/build/xcframework/simulator/Headers/ReactCommon/CallbackWrapper.h +11 -0
  646. package/build/xcframework/simulator/Headers/ReactCommon/CxxTurboModuleUtils.h +35 -0
  647. package/build/xcframework/simulator/Headers/ReactCommon/LongLivedObject.h +11 -0
  648. package/build/xcframework/simulator/Headers/ReactCommon/RCTTurboModule.h +187 -0
  649. package/build/xcframework/simulator/Headers/ReactCommon/RuntimeExecutor.h +25 -0
  650. package/build/xcframework/simulator/Headers/ReactCommon/SchedulerPriority.h +20 -0
  651. package/build/xcframework/simulator/Headers/ReactCommon/TurboCxxModule.h +49 -0
  652. package/build/xcframework/simulator/Headers/ReactCommon/TurboModule.h +162 -0
  653. package/build/xcframework/simulator/Headers/ReactCommon/TurboModuleBinding.h +59 -0
  654. package/build/xcframework/simulator/Headers/ReactCommon/TurboModulePerfLogger.h +108 -0
  655. package/build/xcframework/simulator/Headers/ReactCommon/TurboModuleUtils.h +38 -0
  656. package/build/xcframework/simulator/Headers/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  657. package/build/xcframework/simulator/Headers/ReactNativeWatchOSCxx/RNWHermesHost.h +58 -0
  658. package/build/xcframework/simulator/Headers/ReactNativeWatchOSCxx/RNWShadowNode.h +49 -0
  659. package/build/xcframework/simulator/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry+Cxx.h +64 -0
  660. package/build/xcframework/simulator/Headers/ReactNativeWatchOSCxx/RNWTurboModuleRegistry.h +24 -0
  661. package/build/xcframework/simulator/Headers/jsi/decorator.h +1064 -0
  662. package/build/xcframework/simulator/Headers/jsi/hermes-interfaces.h +189 -0
  663. package/build/xcframework/simulator/Headers/jsi/instrumentation.h +132 -0
  664. package/build/xcframework/simulator/Headers/jsi/jsi-inl.h +405 -0
  665. package/build/xcframework/simulator/Headers/jsi/jsi.h +1937 -0
  666. package/build/xcframework/simulator/Headers/jsi/jsilib.h +59 -0
  667. package/build/xcframework/simulator/Headers/jsi/test/testlib.h +49 -0
  668. package/build/xcframework/simulator/Headers/jsi/threadsafe.h +79 -0
  669. package/build/xcframework/simulator/Headers/module.modulemap +25 -0
  670. package/build/xcframework/simulator/Headers/react/RCTBridgeModule.h +88 -0
  671. package/build/xcframework/simulator/Headers/react/RCTCxxConvert.h +7 -0
  672. package/build/xcframework/simulator/Headers/react/RCTEventEmitter.h +71 -0
  673. package/build/xcframework/simulator/Headers/react/RCTManagedPointer.h +7 -0
  674. package/build/xcframework/simulator/Headers/react/bridging/AString.h +42 -0
  675. package/build/xcframework/simulator/Headers/react/bridging/Array.h +151 -0
  676. package/build/xcframework/simulator/Headers/react/bridging/Base.h +188 -0
  677. package/build/xcframework/simulator/Headers/react/bridging/Bool.h +25 -0
  678. package/build/xcframework/simulator/Headers/react/bridging/Bridging.h +22 -0
  679. package/build/xcframework/simulator/Headers/react/bridging/CallbackWrapper.h +67 -0
  680. package/build/xcframework/simulator/Headers/react/bridging/Class.h +93 -0
  681. package/build/xcframework/simulator/Headers/react/bridging/Convert.h +170 -0
  682. package/build/xcframework/simulator/Headers/react/bridging/Dynamic.h +26 -0
  683. package/build/xcframework/simulator/Headers/react/bridging/Error.h +51 -0
  684. package/build/xcframework/simulator/Headers/react/bridging/EventEmitter.h +134 -0
  685. package/build/xcframework/simulator/Headers/react/bridging/Function.h +283 -0
  686. package/build/xcframework/simulator/Headers/react/bridging/HighResTimeStamp.h +41 -0
  687. package/build/xcframework/simulator/Headers/react/bridging/LongLivedObject.h +61 -0
  688. package/build/xcframework/simulator/Headers/react/bridging/Number.h +58 -0
  689. package/build/xcframework/simulator/Headers/react/bridging/Object.h +93 -0
  690. package/build/xcframework/simulator/Headers/react/bridging/Promise.h +110 -0
  691. package/build/xcframework/simulator/Headers/react/bridging/Value.h +107 -0
  692. package/build/xcframework/simulator/Headers/react/bridging/tests/BridgingTest.h +77 -0
  693. package/build/xcframework/simulator/Headers/react/debug/flags.h +22 -0
  694. package/build/xcframework/simulator/Headers/react/debug/react_native_assert.h +72 -0
  695. package/build/xcframework/simulator/Headers/react/debug/react_native_expect.h +43 -0
  696. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlags.h +402 -0
  697. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsAccessor.h +172 -0
  698. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsDefaults.h +275 -0
  699. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +598 -0
  700. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  701. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +43 -0
  702. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  703. package/build/xcframework/simulator/Headers/react/featureflags/ReactNativeFeatureFlagsProvider.h +91 -0
  704. package/build/xcframework/simulator/Headers/react/utils/ContextContainer.h +110 -0
  705. package/build/xcframework/simulator/Headers/react/utils/FloatComparison.h +23 -0
  706. package/build/xcframework/simulator/Headers/react/utils/ManagedObjectWrapper.h +80 -0
  707. package/build/xcframework/simulator/Headers/react/utils/OnScopeExit.h +36 -0
  708. package/build/xcframework/simulator/Headers/react/utils/PackTraits.h +29 -0
  709. package/build/xcframework/simulator/Headers/react/utils/RunLoopObserver.h +125 -0
  710. package/build/xcframework/simulator/Headers/react/utils/SharedFunction.h +63 -0
  711. package/build/xcframework/simulator/Headers/react/utils/SimpleThreadSafeCache.h +88 -0
  712. package/build/xcframework/simulator/Headers/react/utils/Telemetry.h +113 -0
  713. package/build/xcframework/simulator/Headers/react/utils/TemplateStringLiteral.h +35 -0
  714. package/build/xcframework/simulator/Headers/react/utils/fnv1a.h +53 -0
  715. package/build/xcframework/simulator/Headers/react/utils/hash_combine.h +33 -0
  716. package/build/xcframework/simulator/Headers/react/utils/iequals.h +32 -0
  717. package/build/xcframework/simulator/Headers/react/utils/jsi-utils.h +31 -0
  718. package/build/xcframework/simulator/Headers/react/utils/platform/android/react/utils/LowPriorityExecutor.h +14 -0
  719. package/build/xcframework/simulator/Headers/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  720. package/build/xcframework/simulator/Headers/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  721. package/build/xcframework/simulator/Headers/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  722. package/build/xcframework/simulator/Headers/react/utils/toLower.h +22 -0
  723. package/build/xcframework/simulator/Headers/react/utils/to_underlying.h +22 -0
  724. package/build/xcframework/simulator/libReactNativeWatchOSCxx.a +0 -0
  725. package/cli/init.js +155 -0
  726. package/cocoapods/autolink.rb +76 -0
  727. package/metro-config.d.ts +23 -0
  728. package/metro-config.js +1 -0
  729. package/package.json +131 -0
  730. package/plugin/README.md +113 -0
  731. package/plugin/src/index.js +69 -0
  732. package/plugin/src/withSPMPackage.js +287 -0
  733. package/plugin/src/withWatchAutolinking.js +106 -0
  734. package/plugin/src/withWatchBundleScript.js +216 -0
  735. package/plugin/src/withWatchTurboModuleCodegen.js +469 -0
  736. package/plugin/src/withWatchosMetro.js +163 -0
  737. package/plugin/templates/ContentView.swift +29 -0
  738. package/plugin/templates/index.watchos.tsx +16 -0
  739. package/react-native.config.js +21 -0
  740. package/src/components/AngularGradient.tsx +15 -0
  741. package/src/components/AsyncImage.tsx +82 -0
  742. package/src/components/Button.tsx +25 -0
  743. package/src/components/Capsule.tsx +3 -0
  744. package/src/components/Circle.tsx +3 -0
  745. package/src/components/Color.tsx +57 -0
  746. package/src/components/ContentUnavailableView.tsx +47 -0
  747. package/src/components/DatePicker.tsx +40 -0
  748. package/src/components/Divider.tsx +3 -0
  749. package/src/components/Ellipse.tsx +3 -0
  750. package/src/components/EmptyView.tsx +3 -0
  751. package/src/components/Form.tsx +8 -0
  752. package/src/components/Gauge.tsx +21 -0
  753. package/src/components/GeometryReader.tsx +3 -0
  754. package/src/components/Grid.tsx +21 -0
  755. package/src/components/GridRow.tsx +9 -0
  756. package/src/components/Group.tsx +5 -0
  757. package/src/components/HStack.tsx +15 -0
  758. package/src/components/Image.tsx +10 -0
  759. package/src/components/Label.tsx +13 -0
  760. package/src/components/LabeledContent.tsx +39 -0
  761. package/src/components/LazyHGrid.tsx +16 -0
  762. package/src/components/LazyHStack.tsx +17 -0
  763. package/src/components/LazyVGrid.tsx +16 -0
  764. package/src/components/LazyVStack.tsx +12 -0
  765. package/src/components/LinearGradient.tsx +23 -0
  766. package/src/components/Link.tsx +8 -0
  767. package/src/components/List.tsx +14 -0
  768. package/src/components/NavigationLink.tsx +48 -0
  769. package/src/components/NavigationStack.tsx +9 -0
  770. package/src/components/Picker.tsx +39 -0
  771. package/src/components/ProgressView.tsx +19 -0
  772. package/src/components/RadialGradient.tsx +12 -0
  773. package/src/components/Rectangle.tsx +3 -0
  774. package/src/components/RoundedRectangle.tsx +11 -0
  775. package/src/components/ScrollView.tsx +10 -0
  776. package/src/components/ScrollViewReader.tsx +3 -0
  777. package/src/components/Section.tsx +37 -0
  778. package/src/components/SecureField.tsx +30 -0
  779. package/src/components/ShareLink.tsx +18 -0
  780. package/src/components/Slider.tsx +32 -0
  781. package/src/components/Spacer.tsx +8 -0
  782. package/src/components/Stepper.tsx +35 -0
  783. package/src/components/TabView.tsx +39 -0
  784. package/src/components/Text.tsx +16 -0
  785. package/src/components/TextField.tsx +30 -0
  786. package/src/components/TimelineView.tsx +13 -0
  787. package/src/components/Toggle.tsx +26 -0
  788. package/src/components/VStack.tsx +10 -0
  789. package/src/components/ViewThatFits.tsx +7 -0
  790. package/src/components/ZStack.tsx +18 -0
  791. package/src/createHostConfig.ts +223 -0
  792. package/src/createNativeView.ts +28 -0
  793. package/src/devSupport/index.ts +287 -0
  794. package/src/eventRegistry.ts +110 -0
  795. package/src/index.ts +160 -0
  796. package/src/modifiers/accessibility.ts +27 -0
  797. package/src/modifiers/accessibilityAction.ts +22 -0
  798. package/src/modifiers/accessibilityActions.ts +15 -0
  799. package/src/modifiers/accessibilityAddTraits.ts +23 -0
  800. package/src/modifiers/accessibilityElement.ts +16 -0
  801. package/src/modifiers/accessibilityHidden.ts +7 -0
  802. package/src/modifiers/accessibilityHint.ts +7 -0
  803. package/src/modifiers/accessibilityIdentifier.ts +7 -0
  804. package/src/modifiers/accessibilityLabel.ts +7 -0
  805. package/src/modifiers/accessibilityRemoveTraits.ts +11 -0
  806. package/src/modifiers/accessibilityValue.ts +7 -0
  807. package/src/modifiers/alert.ts +32 -0
  808. package/src/modifiers/alignmentGuide.ts +33 -0
  809. package/src/modifiers/allowsHitTesting.ts +8 -0
  810. package/src/modifiers/allowsTightening.ts +8 -0
  811. package/src/modifiers/animation.ts +38 -0
  812. package/src/modifiers/antialiased.ts +7 -0
  813. package/src/modifiers/aspectRatio.ts +19 -0
  814. package/src/modifiers/autocorrectionDisabled.ts +26 -0
  815. package/src/modifiers/background.ts +37 -0
  816. package/src/modifiers/backgroundExtensionEffect.ts +9 -0
  817. package/src/modifiers/backgroundStyle.ts +10 -0
  818. package/src/modifiers/baselineOffset.ts +8 -0
  819. package/src/modifiers/blendMode.ts +29 -0
  820. package/src/modifiers/blur.ts +17 -0
  821. package/src/modifiers/bold.ts +15 -0
  822. package/src/modifiers/border.ts +21 -0
  823. package/src/modifiers/brightness.ts +7 -0
  824. package/src/modifiers/buttonBorderShape.ts +16 -0
  825. package/src/modifiers/buttonRepeatBehavior.ts +15 -0
  826. package/src/modifiers/buttonSizing.ts +17 -0
  827. package/src/modifiers/buttonStyle.ts +14 -0
  828. package/src/modifiers/clipShape.ts +24 -0
  829. package/src/modifiers/clipped.ts +7 -0
  830. package/src/modifiers/colorInvert.ts +6 -0
  831. package/src/modifiers/colorMultiply.ts +9 -0
  832. package/src/modifiers/colorScheme.ts +10 -0
  833. package/src/modifiers/componentStyles.ts +19 -0
  834. package/src/modifiers/compositingGroup.ts +8 -0
  835. package/src/modifiers/confirmationDialog.ts +38 -0
  836. package/src/modifiers/containerBackground.ts +39 -0
  837. package/src/modifiers/containerGrid.ts +40 -0
  838. package/src/modifiers/containerRelativeFrame.ts +32 -0
  839. package/src/modifiers/containerShape.ts +35 -0
  840. package/src/modifiers/containerValue.ts +22 -0
  841. package/src/modifiers/contentMargins.ts +36 -0
  842. package/src/modifiers/contentShape.ts +27 -0
  843. package/src/modifiers/contextMenu.ts +26 -0
  844. package/src/modifiers/contrast.ts +8 -0
  845. package/src/modifiers/controlSize.ts +15 -0
  846. package/src/modifiers/controlsPolish.ts +23 -0
  847. package/src/modifiers/coordinateSpace.ts +21 -0
  848. package/src/modifiers/cornerRadius.ts +16 -0
  849. package/src/modifiers/createModifier.ts +13 -0
  850. package/src/modifiers/datePickerStyle.ts +10 -0
  851. package/src/modifiers/defaultAppStorage.ts +22 -0
  852. package/src/modifiers/defaultScrollAnchor.ts +26 -0
  853. package/src/modifiers/deleteDisabled.ts +7 -0
  854. package/src/modifiers/digitalCrownAccessory.ts +27 -0
  855. package/src/modifiers/digitalCrownRotation.ts +29 -0
  856. package/src/modifiers/disabled.ts +20 -0
  857. package/src/modifiers/drawingGroup.ts +14 -0
  858. package/src/modifiers/dynamicTypeSize.ts +24 -0
  859. package/src/modifiers/environment.modifier.ts +38 -0
  860. package/src/modifiers/environment.ts +17 -0
  861. package/src/modifiers/environmentObject.ts +21 -0
  862. package/src/modifiers/filters.ts +19 -0
  863. package/src/modifiers/fixedSize.ts +17 -0
  864. package/src/modifiers/focusable.ts +20 -0
  865. package/src/modifiers/focused.ts +17 -0
  866. package/src/modifiers/font.ts +48 -0
  867. package/src/modifiers/fontDesign.ts +18 -0
  868. package/src/modifiers/fontWeight.ts +15 -0
  869. package/src/modifiers/foregroundColor.ts +9 -0
  870. package/src/modifiers/foregroundStyle.ts +11 -0
  871. package/src/modifiers/formStyle.ts +10 -0
  872. package/src/modifiers/frame.ts +34 -0
  873. package/src/modifiers/fullScreenCover.ts +29 -0
  874. package/src/modifiers/gaugeStyle.ts +17 -0
  875. package/src/modifiers/geometry.ts +17 -0
  876. package/src/modifiers/geometryGroup.ts +8 -0
  877. package/src/modifiers/gesture.ts +30 -0
  878. package/src/modifiers/gestures.ts +14 -0
  879. package/src/modifiers/glass.ts +25 -0
  880. package/src/modifiers/glassEffect.ts +26 -0
  881. package/src/modifiers/glassEffectID.ts +19 -0
  882. package/src/modifiers/glassEffectTransition.ts +24 -0
  883. package/src/modifiers/glassEffectUnion.ts +19 -0
  884. package/src/modifiers/grayscale.ts +7 -0
  885. package/src/modifiers/gridCellAnchor.ts +36 -0
  886. package/src/modifiers/gridCellColumns.ts +21 -0
  887. package/src/modifiers/gridCellUnsizedAxes.ts +27 -0
  888. package/src/modifiers/gridColumnAlignment.ts +27 -0
  889. package/src/modifiers/handGestureShortcut.ts +30 -0
  890. package/src/modifiers/headerProminence.ts +11 -0
  891. package/src/modifiers/help.ts +17 -0
  892. package/src/modifiers/hidden.ts +22 -0
  893. package/src/modifiers/highPriorityGesture.ts +12 -0
  894. package/src/modifiers/hueRotation.ts +19 -0
  895. package/src/modifiers/id.ts +8 -0
  896. package/src/modifiers/ignoresSafeArea.ts +23 -0
  897. package/src/modifiers/imageScale.ts +9 -0
  898. package/src/modifiers/imageSymbol.ts +8 -0
  899. package/src/modifiers/input.ts +22 -0
  900. package/src/modifiers/interaction.ts +27 -0
  901. package/src/modifiers/interactiveDismissDisabled.ts +9 -0
  902. package/src/modifiers/interpolation.ts +10 -0
  903. package/src/modifiers/italic.ts +15 -0
  904. package/src/modifiers/kerning.ts +9 -0
  905. package/src/modifiers/labelIconToTitleSpacing.ts +13 -0
  906. package/src/modifiers/labelReservedIconWidth.ts +13 -0
  907. package/src/modifiers/labelStyle.ts +13 -0
  908. package/src/modifiers/labeledContentStyle.ts +10 -0
  909. package/src/modifiers/labelsHidden.ts +7 -0
  910. package/src/modifiers/labelsVisibility.ts +17 -0
  911. package/src/modifiers/layout.ts +23 -0
  912. package/src/modifiers/layoutPriority.ts +22 -0
  913. package/src/modifiers/lineLimit.ts +15 -0
  914. package/src/modifiers/lineSpacing.ts +15 -0
  915. package/src/modifiers/listItemTint.ts +9 -0
  916. package/src/modifiers/listRowBackground.ts +15 -0
  917. package/src/modifiers/listRowInsets.ts +15 -0
  918. package/src/modifiers/listSectionSpacing.ts +26 -0
  919. package/src/modifiers/listStyle.ts +11 -0
  920. package/src/modifiers/lists.ts +16 -0
  921. package/src/modifiers/luminanceToAlpha.ts +7 -0
  922. package/src/modifiers/mask.ts +30 -0
  923. package/src/modifiers/matchedGeometryEffect.ts +28 -0
  924. package/src/modifiers/matchedTransitionSource.ts +21 -0
  925. package/src/modifiers/materialActiveAppearance.ts +19 -0
  926. package/src/modifiers/menuActionDismissBehavior.ts +18 -0
  927. package/src/modifiers/menuOrder.ts +12 -0
  928. package/src/modifiers/minimumScaleFactor.ts +17 -0
  929. package/src/modifiers/monospaced.ts +15 -0
  930. package/src/modifiers/monospacedDigit.ts +8 -0
  931. package/src/modifiers/moveDisabled.ts +7 -0
  932. package/src/modifiers/multilineTextAlignment.ts +19 -0
  933. package/src/modifiers/navigation.ts +17 -0
  934. package/src/modifiers/navigationBarBackButtonHidden.ts +8 -0
  935. package/src/modifiers/navigationDestination.ts +26 -0
  936. package/src/modifiers/navigationTitle.ts +8 -0
  937. package/src/modifiers/navigationTransition.ts +28 -0
  938. package/src/modifiers/offset.ts +22 -0
  939. package/src/modifiers/onAppear.ts +10 -0
  940. package/src/modifiers/onChange.ts +15 -0
  941. package/src/modifiers/onDisappear.ts +10 -0
  942. package/src/modifiers/onGeometryChange.ts +21 -0
  943. package/src/modifiers/onLongPressGesture.ts +30 -0
  944. package/src/modifiers/onOpenURL.ts +12 -0
  945. package/src/modifiers/onReceive.ts +34 -0
  946. package/src/modifiers/onSubmit.ts +25 -0
  947. package/src/modifiers/onTapGesture.ts +27 -0
  948. package/src/modifiers/opacity.ts +14 -0
  949. package/src/modifiers/overlay.ts +29 -0
  950. package/src/modifiers/padding.ts +24 -0
  951. package/src/modifiers/pickerStyle.ts +9 -0
  952. package/src/modifiers/position.ts +24 -0
  953. package/src/modifiers/preferredColorScheme.ts +9 -0
  954. package/src/modifiers/presentation.ts +21 -0
  955. package/src/modifiers/presentationBackground.ts +35 -0
  956. package/src/modifiers/presentationCompactAdaptation.ts +24 -0
  957. package/src/modifiers/presentationCornerRadius.ts +13 -0
  958. package/src/modifiers/presentationDetents.ts +37 -0
  959. package/src/modifiers/presentationDragIndicator.ts +14 -0
  960. package/src/modifiers/privacySensitive.ts +8 -0
  961. package/src/modifiers/progressViewStyle.ts +10 -0
  962. package/src/modifiers/projectionEffect.ts +13 -0
  963. package/src/modifiers/redacted.ts +12 -0
  964. package/src/modifiers/refreshable.ts +10 -0
  965. package/src/modifiers/renderingMode.ts +11 -0
  966. package/src/modifiers/resizable.ts +9 -0
  967. package/src/modifiers/rotation3DEffect.ts +22 -0
  968. package/src/modifiers/rotationEffect.ts +39 -0
  969. package/src/modifiers/safeAreaInset.ts +24 -0
  970. package/src/modifiers/saturation.ts +7 -0
  971. package/src/modifiers/scaleEffect.ts +33 -0
  972. package/src/modifiers/scaledTo.ts +15 -0
  973. package/src/modifiers/scroll.ts +45 -0
  974. package/src/modifiers/scrollBounceBehavior.ts +32 -0
  975. package/src/modifiers/scrollClipDisabled.ts +8 -0
  976. package/src/modifiers/scrollContentBackground.ts +29 -0
  977. package/src/modifiers/scrollDisabled.ts +7 -0
  978. package/src/modifiers/scrollDismissesKeyboard.ts +30 -0
  979. package/src/modifiers/scrollIndicators.ts +30 -0
  980. package/src/modifiers/scrollPosition.ts +19 -0
  981. package/src/modifiers/scrollTargetBehavior.ts +27 -0
  982. package/src/modifiers/scrollTargetLayout.ts +9 -0
  983. package/src/modifiers/search.ts +21 -0
  984. package/src/modifiers/searchCompletion.ts +30 -0
  985. package/src/modifiers/searchPresentationToolbarBehavior.ts +31 -0
  986. package/src/modifiers/searchSuggestions.ts +21 -0
  987. package/src/modifiers/searchToolbarBehavior.ts +27 -0
  988. package/src/modifiers/searchable.ts +25 -0
  989. package/src/modifiers/selectionDisabled.ts +7 -0
  990. package/src/modifiers/sensoryFeedback.ts +32 -0
  991. package/src/modifiers/shadow.ts +18 -0
  992. package/src/modifiers/sheet.ts +22 -0
  993. package/src/modifiers/simultaneousGesture.ts +15 -0
  994. package/src/modifiers/springLoadingBehavior.ts +13 -0
  995. package/src/modifiers/strikethrough.ts +19 -0
  996. package/src/modifiers/styling.ts +22 -0
  997. package/src/modifiers/submitLabel.ts +32 -0
  998. package/src/modifiers/swipeActions.ts +36 -0
  999. package/src/modifiers/symbolEffect.ts +20 -0
  1000. package/src/modifiers/symbolRenderingMode.ts +13 -0
  1001. package/src/modifiers/symbolVariant.ts +15 -0
  1002. package/src/modifiers/tabItem.ts +19 -0
  1003. package/src/modifiers/tabViewStyle.ts +14 -0
  1004. package/src/modifiers/tag.ts +7 -0
  1005. package/src/modifiers/task.ts +12 -0
  1006. package/src/modifiers/text.ts +31 -0
  1007. package/src/modifiers/textCase.ts +19 -0
  1008. package/src/modifiers/textContentType.ts +36 -0
  1009. package/src/modifiers/textFieldStyle.ts +10 -0
  1010. package/src/modifiers/textInputAutocapitalization.ts +30 -0
  1011. package/src/modifiers/textPolish.ts +7 -0
  1012. package/src/modifiers/textScale.ts +14 -0
  1013. package/src/modifiers/theme.ts +8 -0
  1014. package/src/modifiers/tint.ts +9 -0
  1015. package/src/modifiers/toggleStyle.ts +9 -0
  1016. package/src/modifiers/toolbar.ts +27 -0
  1017. package/src/modifiers/toolbarBackground.ts +34 -0
  1018. package/src/modifiers/toolbarColorScheme.ts +32 -0
  1019. package/src/modifiers/toolbarItems.ts +23 -0
  1020. package/src/modifiers/toolbarTitleDisplayMode.ts +26 -0
  1021. package/src/modifiers/toolbarTitleMenu.ts +21 -0
  1022. package/src/modifiers/toolbarVisibility.ts +31 -0
  1023. package/src/modifiers/tracking.ts +9 -0
  1024. package/src/modifiers/transformEffect.ts +31 -0
  1025. package/src/modifiers/transforms.ts +17 -0
  1026. package/src/modifiers/transition.ts +35 -0
  1027. package/src/modifiers/truncationMode.ts +18 -0
  1028. package/src/modifiers/underline.ts +18 -0
  1029. package/src/modifiers/unredacted.ts +7 -0
  1030. package/src/modifiers/watch.ts +21 -0
  1031. package/src/modifiers/zIndex.ts +20 -0
  1032. package/src/polyfills.ts +206 -0
  1033. package/src/reactNativeShim.ts +113 -0
  1034. package/src/render.ts +78 -0
  1035. package/src/setupConsole.ts +78 -0
  1036. package/src/setupSelfGlobal.ts +12 -0
  1037. package/src/types/GridItem.ts +39 -0
  1038. package/src/types.ts +24 -0
  1039. package/src/useEventHandler.ts +31 -0
  1040. package/src/useModifiers.ts +126 -0
  1041. package/src/watchConnectivity/eventBridge.ts +32 -0
  1042. package/src/watchConnectivity/index.ts +195 -0
  1043. package/src/watchConnectivity/specs/NativeWatchConnectivity.ts +56 -0
  1044. package/src/watchConnectivity/types.ts +64 -0
  1045. package/src/whatwg-fetch.d.ts +5 -0
@@ -0,0 +1,1527 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #ifndef HERMES_SYNTHTRACE_H
9
+ #define HERMES_SYNTHTRACE_H
10
+
11
+ #include "hermes/Public/RuntimeConfig.h"
12
+ #include "hermes/Support/JSONEmitter.h"
13
+ #include "hermes/Support/SHA1.h"
14
+ #include "hermes/Support/StringSetVector.h"
15
+ #include "hermes/VM/GCExecTrace.h"
16
+
17
+ #include "jsi/jsi.h"
18
+
19
+ #include <chrono>
20
+ #include <cstdlib>
21
+ #include <memory>
22
+ #include <optional>
23
+ #include <string>
24
+ #include <vector>
25
+
26
+ namespace llvh {
27
+ // Forward declaration to avoid including llvm headers.
28
+ class raw_ostream;
29
+ } // namespace llvh
30
+
31
+ namespace facebook {
32
+ namespace hermes {
33
+ namespace tracing {
34
+
35
+ /// A SynthTrace is a list of events that occur in a run of a JS file by a
36
+ /// runtime that uses JSI.
37
+ /// It can be serialized into JSON and written to a llvh::raw_ostream.
38
+ class SynthTrace {
39
+ public:
40
+ using ObjectID = uint64_t;
41
+
42
+ /// A tagged union representing different types available in the trace.
43
+ /// We use a an API very similar to HermesValue, but:
44
+ /// a) also represent the JSI type PropNameID, and
45
+ /// b) the "payloads" for some the types (Objects, Strings, BigInts, Symbols
46
+ /// and PropNameIDs) are unique ObjectIDs, rather than actual values.
47
+ /// (This could probably become a std::variant when we could use C++17.)
48
+ class TraceValue {
49
+ public:
50
+ bool isUndefined() const {
51
+ return tag_ == Tag::Undefined;
52
+ }
53
+
54
+ bool isNull() const {
55
+ return tag_ == Tag::Null;
56
+ }
57
+
58
+ bool isNumber() const {
59
+ return tag_ == Tag::Number;
60
+ }
61
+
62
+ bool isBool() const {
63
+ return tag_ == Tag::Bool;
64
+ }
65
+
66
+ bool isObject() const {
67
+ return tag_ == Tag::Object;
68
+ }
69
+
70
+ bool isBigInt() const {
71
+ return tag_ == Tag::BigInt;
72
+ }
73
+
74
+ bool isString() const {
75
+ return tag_ == Tag::String;
76
+ }
77
+
78
+ bool isPropNameID() const {
79
+ return tag_ == Tag::PropNameID;
80
+ }
81
+
82
+ bool isSymbol() const {
83
+ return tag_ == Tag::Symbol;
84
+ }
85
+
86
+ bool isUID() const {
87
+ return isObject() || isBigInt() || isString() || isPropNameID() ||
88
+ isSymbol();
89
+ }
90
+
91
+ static TraceValue encodeUndefinedValue() {
92
+ return TraceValue(Tag::Undefined);
93
+ }
94
+
95
+ static TraceValue encodeNullValue() {
96
+ return TraceValue(Tag::Null);
97
+ }
98
+
99
+ static TraceValue encodeBoolValue(bool value) {
100
+ return TraceValue(value);
101
+ }
102
+
103
+ static TraceValue encodeNumberValue(double value) {
104
+ return TraceValue(value);
105
+ }
106
+
107
+ static TraceValue encodeObjectValue(uint64_t uid) {
108
+ return TraceValue(Tag::Object, uid);
109
+ }
110
+
111
+ static TraceValue encodeBigIntValue(uint64_t uid) {
112
+ return TraceValue(Tag::BigInt, uid);
113
+ }
114
+
115
+ static TraceValue encodeStringValue(uint64_t uid) {
116
+ return TraceValue(Tag::String, uid);
117
+ }
118
+
119
+ static TraceValue encodePropNameIDValue(uint64_t uid) {
120
+ return TraceValue(Tag::PropNameID, uid);
121
+ }
122
+
123
+ static TraceValue encodeSymbolValue(uint64_t uid) {
124
+ return TraceValue(Tag::Symbol, uid);
125
+ }
126
+
127
+ bool operator==(const TraceValue &that) const;
128
+
129
+ ObjectID getUID() const {
130
+ assert(isUID());
131
+ return val_.uid;
132
+ }
133
+
134
+ bool getBool() const {
135
+ assert(isBool());
136
+ return val_.b;
137
+ }
138
+
139
+ double getNumber() const {
140
+ assert(isNumber());
141
+ return val_.n;
142
+ }
143
+
144
+ private:
145
+ enum class Tag {
146
+ Undefined,
147
+ Null,
148
+ Bool,
149
+ Number,
150
+ Object,
151
+ String,
152
+ PropNameID,
153
+ Symbol,
154
+ BigInt,
155
+ };
156
+
157
+ explicit TraceValue(Tag tag) : tag_(tag) {}
158
+ TraceValue(bool b) : tag_(Tag::Bool) {
159
+ val_.b = b;
160
+ }
161
+ TraceValue(double n) : tag_(Tag::Number) {
162
+ val_.n = n;
163
+ }
164
+ TraceValue(Tag tag, uint64_t uid) : tag_(tag) {
165
+ val_.uid = uid;
166
+ }
167
+
168
+ Tag tag_;
169
+ union {
170
+ bool b;
171
+ double n;
172
+ ObjectID uid;
173
+ } val_;
174
+ };
175
+
176
+ /// Represents the encoding type of a String or PropNameId
177
+ enum class StringEncodingType { ASCII, UTF8, UTF16 };
178
+
179
+ /// A TimePoint is a time when some event occurred.
180
+ using TimePoint = std::chrono::steady_clock::time_point;
181
+ using TimeSinceStart = std::chrono::milliseconds;
182
+
183
+ #define SYNTH_TRACE_RECORD_TYPES(RECORD) \
184
+ RECORD(BeginExecJS) \
185
+ RECORD(EndExecJS) \
186
+ RECORD(Marker) \
187
+ RECORD(CreateObject) \
188
+ RECORD(CreateObjectWithPrototype) \
189
+ RECORD(CreateString) \
190
+ RECORD(CreatePropNameID) \
191
+ RECORD(CreatePropNameIDWithValue) \
192
+ RECORD(CreateHostObject) \
193
+ RECORD(CreateHostFunction) \
194
+ RECORD(QueueMicrotask) \
195
+ RECORD(DrainMicrotasks) \
196
+ RECORD(GetProperty) \
197
+ RECORD(SetProperty) \
198
+ RECORD(HasProperty) \
199
+ RECORD(GetPropertyNames) \
200
+ RECORD(CreateArray) \
201
+ RECORD(ArrayRead) \
202
+ RECORD(ArrayWrite) \
203
+ RECORD(CallFromNative) \
204
+ RECORD(ConstructFromNative) \
205
+ RECORD(ReturnFromNative) \
206
+ RECORD(ReturnToNative) \
207
+ RECORD(CallToNative) \
208
+ RECORD(GetPropertyNative) \
209
+ RECORD(GetPropertyNativeReturn) \
210
+ RECORD(SetPropertyNative) \
211
+ RECORD(SetPropertyNativeReturn) \
212
+ RECORD(GetNativePropertyNames) \
213
+ RECORD(GetNativePropertyNamesReturn) \
214
+ RECORD(CreateBigInt) \
215
+ RECORD(BigIntToString) \
216
+ RECORD(SetExternalMemoryPressure) \
217
+ RECORD(Utf8) \
218
+ RECORD(Utf16) \
219
+ RECORD(GetStringData) \
220
+ RECORD(GetPrototype) \
221
+ RECORD(SetPrototype) \
222
+ RECORD(DeleteProperty) \
223
+ RECORD(Global)
224
+
225
+ /// RecordType is a tag used to differentiate which type of record it is.
226
+ /// There should be a unique tag for each record type.
227
+ enum class RecordType {
228
+ #define RECORD(name) name,
229
+ SYNTH_TRACE_RECORD_TYPES(RECORD)
230
+ #undef RECORD
231
+ };
232
+
233
+ /// A Record is one element of a trace.
234
+ struct Record {
235
+ /// The time at which this event occurred with respect to the start of
236
+ /// execution.
237
+ /// NOTE: This is not compared in the \c operator= in order for tests to
238
+ /// pass.
239
+ const TimeSinceStart time_;
240
+ explicit Record() = delete;
241
+ explicit Record(TimeSinceStart time) : time_(time) {}
242
+ virtual ~Record() = default;
243
+
244
+ /// Write out a serialization of this Record.
245
+ /// \param json An emitter connected to an ostream which will write out
246
+ /// JSON.
247
+ void toJSON(::hermes::JSONEmitter &json) const;
248
+ virtual RecordType getType() const = 0;
249
+
250
+ // If \p val is an object (that is, an Object or String), push its
251
+ // decoding onto objs.
252
+ static void pushIfTrackedValue(
253
+ const TraceValue &val,
254
+ std::vector<ObjectID> &objs) {
255
+ if (val.isUID()) {
256
+ objs.push_back(val.getUID());
257
+ }
258
+ }
259
+
260
+ /// \return A list of object ids that are defined by this record.
261
+ /// Defined means that the record would produce that object,
262
+ /// string, or PropNameID as a locally accessible value if it were
263
+ /// executed.
264
+ virtual std::vector<ObjectID> defs() const {
265
+ return {};
266
+ }
267
+
268
+ /// \return A list of object ids that are used by this record.
269
+ /// Used means that the record would use that object, string, or
270
+ /// PropNameID as a value if it were executed.
271
+ /// If a record uses an object id, then some preceding record
272
+ /// (either in the same function invocation, or somewhere
273
+ /// globally) must provide a definition.
274
+ virtual std::vector<ObjectID> uses() const {
275
+ return {};
276
+ }
277
+
278
+ protected:
279
+ /// Emit JSON fields into \p os, excluding the closing curly brace.
280
+ /// NOTE: This is overridable, and non-abstract children should call the
281
+ /// parent.
282
+ virtual void toJSONInternal(::hermes::JSONEmitter &json) const;
283
+ };
284
+
285
+ /// If \p traceStream is non-null, the trace will be written to that
286
+ /// stream. Otherwise, no trace is written.
287
+ explicit SynthTrace(
288
+ const ::hermes::vm::RuntimeConfig &conf,
289
+ std::unique_ptr<llvh::raw_ostream> traceStream = nullptr,
290
+ std::optional<ObjectID> = {});
291
+
292
+ template <typename T, typename... Args>
293
+ void emplace_back(Args &&...args) {
294
+ records_.emplace_back(new T(std::forward<Args>(args)...));
295
+ flushRecordsIfNecessary();
296
+ }
297
+
298
+ const std::vector<std::unique_ptr<Record>> &records() const {
299
+ return records_;
300
+ }
301
+
302
+ std::optional<ObjectID> globalObjID() const {
303
+ return globalObjID_;
304
+ }
305
+
306
+ /// Given a trace value, turn it into its typed string.
307
+ static std::string encode(TraceValue value);
308
+ /// Encode an undefined JS value for the trace.
309
+ static TraceValue encodeUndefined();
310
+ /// Encode a null JS value for the trace.
311
+ static TraceValue encodeNull();
312
+ /// Encode a boolean JS value for the trace.
313
+ static TraceValue encodeBool(bool value);
314
+ /// Encodes a numeric value for the trace.
315
+ static TraceValue encodeNumber(double value);
316
+ /// Encodes an object for the trace as a unique id.
317
+ static TraceValue encodeObject(ObjectID objID);
318
+ /// Encodes a bigint for the trace as a unique id.
319
+ static TraceValue encodeBigInt(ObjectID objID);
320
+ /// Encodes a string for the trace as a unique id.
321
+ static TraceValue encodeString(ObjectID objID);
322
+ /// Encodes a PropNameID for the trace as a unique id.
323
+ static TraceValue encodePropNameID(ObjectID objID);
324
+ /// Encodes a Symbol for the trace as a unique id.
325
+ static TraceValue encodeSymbol(ObjectID objID);
326
+
327
+ /// Decodes a string into a trace value.
328
+ static TraceValue decode(const std::string &);
329
+
330
+ #ifdef HERMESVM_API_TRACE_DEBUG
331
+ /// Given a Value, return a descriptive string. This should only be used to
332
+ /// provide more debugging info when creating records.
333
+ static std::string getDescriptiveString(
334
+ jsi::Runtime &runtime,
335
+ const jsi::Value &value);
336
+ #endif
337
+
338
+ /// The version of the Synth Benchmark
339
+ constexpr static uint32_t synthVersion() {
340
+ return 5;
341
+ }
342
+
343
+ static const char *nameFromReleaseUnused(::hermes::vm::ReleaseUnused ru);
344
+ static ::hermes::vm::ReleaseUnused releaseUnusedFromName(const char *name);
345
+
346
+ private:
347
+ llvh::raw_ostream &os() const {
348
+ return (*traceStream_);
349
+ }
350
+
351
+ /// If we're tracing to a file, and the number of accumulated
352
+ /// records has reached the limit kTraceRecordsToFlush, below,
353
+ /// flush the records to the file, and reset the accumulated records
354
+ /// to be empty.
355
+ void flushRecordsIfNecessary();
356
+
357
+ /// Assumes we're tracing to a file; flush accumulated records to
358
+ /// the file, and reset the accumulated records to be empty.
359
+ void flushRecords();
360
+
361
+ static constexpr unsigned kTraceRecordsToFlush = 100;
362
+
363
+ /// If we're tracing to a file, pointer to a stream onto
364
+ /// traceFilename_. Null otherwise.
365
+ std::unique_ptr<llvh::raw_ostream> traceStream_;
366
+ /// If we're tracing to a file, pointer to a JSONEmitter writting
367
+ /// into *traceStream_. Null otherwise.
368
+ std::unique_ptr<::hermes::JSONEmitter> json_;
369
+ /// The records currently being accumulated in the trace. If we are
370
+ /// tracing to a file, these will be only the records not yet
371
+ /// written to the file.
372
+ std::vector<std::unique_ptr<Record>> records_;
373
+ /// The id of the global object.
374
+ /// Note: Keeping this as optional to support replaying the older trace
375
+ /// records before the change of TracingRuntime's PointerValue based ObjectID.
376
+ /// We can remove this once we remove old traces.
377
+ /// TODO: T189113203
378
+ const std::optional<ObjectID> globalObjID_;
379
+
380
+ public:
381
+ /// @name Record classes
382
+ /// @{
383
+
384
+ /// A MarkerRecord is an event that simply records an interesting event that
385
+ /// is not necessarily meaningful to the interpreter. It comes with a tag that
386
+ /// says what type of marker it was.
387
+ struct MarkerRecord : public Record {
388
+ static constexpr RecordType type{RecordType::Marker};
389
+ const std::string tag_;
390
+ explicit MarkerRecord(TimeSinceStart time, const std::string &tag)
391
+ : Record(time), tag_(tag) {}
392
+ RecordType getType() const override {
393
+ return type;
394
+ }
395
+
396
+ protected:
397
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
398
+ };
399
+
400
+ /// A BeginExecJSRecord is an event where execution begins of JS source
401
+ /// code. This is not necessarily the first record, since native code can
402
+ /// inject values into the VM before any source code is run.
403
+ struct BeginExecJSRecord final : public Record {
404
+ static constexpr RecordType type{RecordType::BeginExecJS};
405
+ explicit BeginExecJSRecord(
406
+ TimeSinceStart time,
407
+ std::string sourceURL,
408
+ ::hermes::SHA1 sourceHash,
409
+ bool sourceIsBytecode)
410
+ : Record(time),
411
+ sourceURL_(std::move(sourceURL)),
412
+ sourceHash_(std::move(sourceHash)),
413
+ sourceIsBytecode_(sourceIsBytecode) {}
414
+
415
+ RecordType getType() const override {
416
+ return type;
417
+ }
418
+
419
+ const std::string &sourceURL() const {
420
+ return sourceURL_;
421
+ }
422
+
423
+ const ::hermes::SHA1 &sourceHash() const {
424
+ return sourceHash_;
425
+ }
426
+
427
+ private:
428
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
429
+
430
+ /// The URL providing the source file mapping for the file being executed.
431
+ /// Can be empty.
432
+ std::string sourceURL_;
433
+
434
+ /// A hash of the source that was executed. The source hash must match up
435
+ /// when the file is replayed.
436
+ /// The hash is optional, and will be all zeros if not provided.
437
+ ::hermes::SHA1 sourceHash_;
438
+
439
+ /// Whether the input file was source or bytecode.
440
+ bool sourceIsBytecode_;
441
+ };
442
+
443
+ struct ReturnMixin {
444
+ const TraceValue retVal_;
445
+
446
+ explicit ReturnMixin(TraceValue value) : retVal_(value) {}
447
+
448
+ void toJSONInternal(::hermes::JSONEmitter &json) const;
449
+ };
450
+
451
+ /// A EndExecJSRecord is an event where execution of JS source code stops.
452
+ /// This does not mean that the source code will never be entered again, just
453
+ /// that it has an entered a phase where it is waiting for native code to call
454
+ /// into the JS. This event is not guaranteed to be the last event, for the
455
+ /// aforementioned reason. The logged retVal is the result of the evaluation
456
+ /// ("undefined" in the majority of cases).
457
+ struct EndExecJSRecord final : public MarkerRecord, public ReturnMixin {
458
+ static constexpr RecordType type{RecordType::EndExecJS};
459
+ EndExecJSRecord(TimeSinceStart time, TraceValue retVal)
460
+ : MarkerRecord(time, "end_global_code"), ReturnMixin(retVal) {}
461
+
462
+ RecordType getType() const override {
463
+ return type;
464
+ }
465
+ virtual void toJSONInternal(::hermes::JSONEmitter &json) const final;
466
+ std::vector<ObjectID> defs() const override {
467
+ auto defs = MarkerRecord::defs();
468
+ pushIfTrackedValue(retVal_, defs);
469
+ return defs;
470
+ }
471
+ };
472
+
473
+ /// A CreateObjectRecord is an event where an empty object is created by the
474
+ /// native code.
475
+ struct CreateObjectRecord : public Record {
476
+ static constexpr RecordType type{RecordType::CreateObject};
477
+ /// The ObjectID of the object that was created by native function calls
478
+ /// like Runtime::createObject().
479
+ const ObjectID objID_;
480
+
481
+ explicit CreateObjectRecord(TimeSinceStart time, ObjectID objID)
482
+ : Record(time), objID_(objID) {}
483
+
484
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
485
+ RecordType getType() const override {
486
+ return type;
487
+ }
488
+
489
+ std::vector<ObjectID> defs() const override {
490
+ return {objID_};
491
+ }
492
+
493
+ std::vector<ObjectID> uses() const override {
494
+ return {};
495
+ }
496
+ };
497
+
498
+ /// A CreateBigIntRecord is an event where a jsi::BigInt (and thus a
499
+ /// Hermes BigIntPrimitive) is created by the native code.
500
+ struct CreateBigIntRecord : public Record {
501
+ static constexpr RecordType type{RecordType::CreateBigInt};
502
+ /// The ObjectID of the BigInt that was created by
503
+ /// Runtime::createBigIntFromInt64() or Runtime::createBigIntFromUint64().
504
+ const ObjectID objID_;
505
+ enum class Method {
506
+ FromInt64,
507
+ FromUint64,
508
+ };
509
+ /// The method used for creating the BigInt.
510
+ Method method_;
511
+ /// The value used for creating the BigInt.
512
+ uint64_t bits_;
513
+
514
+ CreateBigIntRecord(
515
+ TimeSinceStart time,
516
+ ObjectID objID,
517
+ Method m,
518
+ uint64_t bits)
519
+ : Record(time), objID_(objID), method_(m), bits_(bits) {}
520
+
521
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
522
+
523
+ RecordType getType() const override {
524
+ return type;
525
+ }
526
+
527
+ std::vector<ObjectID> defs() const override {
528
+ return {objID_};
529
+ }
530
+
531
+ std::vector<ObjectID> uses() const override {
532
+ return {};
533
+ }
534
+ };
535
+
536
+ /// A BigIntToStringRecord is an event where a jsi::BigInt is converted to a
537
+ /// string by native code
538
+ struct BigIntToStringRecord : public Record {
539
+ static constexpr RecordType type{RecordType::BigIntToString};
540
+ /// The ObjectID of the string that was returned from
541
+ /// Runtime::bigintToString().
542
+ const ObjectID strID_;
543
+ /// The ObjectID of the BigInt that was passed to Runtime::bigintToString().
544
+ const ObjectID bigintID_;
545
+ /// The radix used for converting the BigInt to a string.
546
+ int radix_;
547
+
548
+ BigIntToStringRecord(
549
+ TimeSinceStart time,
550
+ ObjectID strID,
551
+ ObjectID bigintID,
552
+ int radix)
553
+ : Record(time), strID_(strID), bigintID_(bigintID), radix_(radix) {}
554
+
555
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
556
+
557
+ RecordType getType() const override {
558
+ return type;
559
+ }
560
+
561
+ std::vector<ObjectID> defs() const override {
562
+ return {strID_};
563
+ }
564
+
565
+ std::vector<ObjectID> uses() const override {
566
+ return {bigintID_};
567
+ }
568
+ };
569
+
570
+ /// A CreateStringRecord is an event where a jsi::String (and thus a
571
+ /// Hermes StringPrimitive) is created by the native code.
572
+ struct CreateStringRecord : public Record {
573
+ static constexpr RecordType type{RecordType::CreateString};
574
+ /// The ObjectID of the string that was created by
575
+ /// Runtime::createStringFromAscii() or Runtime::createStringFromUtf8().
576
+ const ObjectID objID_;
577
+ /// The string that was passed to Runtime::createStringFromAscii() or
578
+ /// Runtime::createStringFromUtf8() when the string was created.
579
+ std::string chars_;
580
+ /// The string that was passed to Runtime::createStringFromUtf16()
581
+ std::u16string chars16_;
582
+ /// Whether the String was created from ASCII, UTF-8 or UTF-16
583
+ StringEncodingType encodingType_;
584
+
585
+ // General UTF-8.
586
+ CreateStringRecord(
587
+ TimeSinceStart time,
588
+ ObjectID objID,
589
+ const uint8_t *chars,
590
+ size_t length)
591
+ : Record(time),
592
+ objID_(objID),
593
+ chars_(reinterpret_cast<const char *>(chars), length),
594
+ encodingType_(StringEncodingType::UTF8) {}
595
+ // Ascii.
596
+ CreateStringRecord(
597
+ TimeSinceStart time,
598
+ ObjectID objID,
599
+ const char *chars,
600
+ size_t length)
601
+ : Record(time),
602
+ objID_(objID),
603
+ chars_(chars, length),
604
+ encodingType_(StringEncodingType::ASCII) {}
605
+ // UTF-16.
606
+ CreateStringRecord(
607
+ TimeSinceStart time,
608
+ ObjectID objID,
609
+ const char16_t *chars,
610
+ size_t length)
611
+ : Record(time),
612
+ objID_(objID),
613
+ chars16_(chars, length),
614
+ encodingType_(StringEncodingType::UTF16) {}
615
+
616
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
617
+ RecordType getType() const override {
618
+ return type;
619
+ }
620
+
621
+ std::vector<ObjectID> defs() const override {
622
+ return {objID_};
623
+ }
624
+
625
+ std::vector<ObjectID> uses() const override {
626
+ return {};
627
+ }
628
+ };
629
+
630
+ /// A CreatePropNameIDRecord is an event where a jsi::PropNameID is
631
+ /// created by the native code.
632
+ struct CreatePropNameIDRecord : public Record {
633
+ static constexpr RecordType type{RecordType::CreatePropNameID};
634
+ /// The ObjectID of the PropNameID that was created.
635
+ const ObjectID propNameID_;
636
+ /// The string that was passed to Runtime::createPropNameIDFromAscii() or
637
+ /// Runtime::createPropNameIDFromUtf8().
638
+ std::string chars_;
639
+ /// The string that was passed to Runtime::createPropNameIDFromUtf16()
640
+ std::u16string chars16_;
641
+ /// Whether the PropNameID was created from ASCII, UTF-8, or UTF-16
642
+ StringEncodingType encodingType_;
643
+
644
+ // General UTF-8.
645
+ CreatePropNameIDRecord(
646
+ TimeSinceStart time,
647
+ ObjectID propNameID,
648
+ const uint8_t *chars,
649
+ size_t length)
650
+ : Record(time),
651
+ propNameID_(propNameID),
652
+ chars_(reinterpret_cast<const char *>(chars), length),
653
+ encodingType_(StringEncodingType::UTF8) {}
654
+ // Ascii.
655
+ CreatePropNameIDRecord(
656
+ TimeSinceStart time,
657
+ ObjectID propNameID,
658
+ const char *chars,
659
+ size_t length)
660
+ : Record(time),
661
+ propNameID_(propNameID),
662
+ chars_(chars, length),
663
+ encodingType_(StringEncodingType::ASCII) {}
664
+ // UTF16
665
+ CreatePropNameIDRecord(
666
+ TimeSinceStart time,
667
+ ObjectID propNameID,
668
+ const char16_t *chars,
669
+ size_t length)
670
+ : Record(time),
671
+ propNameID_(propNameID),
672
+ chars16_(chars, length),
673
+ encodingType_(StringEncodingType::UTF16) {}
674
+
675
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
676
+ RecordType getType() const override {
677
+ return type;
678
+ }
679
+
680
+ std::vector<ObjectID> defs() const override {
681
+ return {propNameID_};
682
+ }
683
+
684
+ std::vector<ObjectID> uses() const override {
685
+ return {};
686
+ }
687
+ };
688
+
689
+ /// A CreatePropNameIDWithValueRecord is an event where a jsi::PropNameID is
690
+ /// created by the native code from JSI Value
691
+ struct CreatePropNameIDWithValueRecord : public Record {
692
+ static constexpr RecordType type{RecordType::CreatePropNameIDWithValue};
693
+ /// The ObjectID of the PropNameID that was created.
694
+ const ObjectID propNameID_;
695
+ /// The String or Symbol that was passed to
696
+ /// Runtime::createPropNameIDFromString() or
697
+ /// Runtime::createPropNameIDFromSymbol().
698
+ const TraceValue traceValue_;
699
+
700
+ // jsi::String or jsi::Symbol.
701
+ CreatePropNameIDWithValueRecord(
702
+ TimeSinceStart time,
703
+ ObjectID propNameID,
704
+ TraceValue traceValue)
705
+ : Record(time), propNameID_(propNameID), traceValue_(traceValue) {}
706
+
707
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
708
+ RecordType getType() const override {
709
+ return type;
710
+ }
711
+
712
+ std::vector<ObjectID> defs() const override {
713
+ return {propNameID_};
714
+ }
715
+
716
+ std::vector<ObjectID> uses() const override {
717
+ std::vector<ObjectID> vec;
718
+ pushIfTrackedValue(traceValue_, vec);
719
+ return vec;
720
+ }
721
+ };
722
+
723
+ struct CreateObjectWithPrototypeRecord : public Record {
724
+ static constexpr RecordType type{RecordType::CreateObjectWithPrototype};
725
+ const ObjectID objID_;
726
+ /// The prototype being assigned
727
+ const TraceValue prototype_;
728
+
729
+ CreateObjectWithPrototypeRecord(
730
+ TimeSinceStart time,
731
+ ObjectID objID,
732
+ TraceValue prototype)
733
+ : Record(time), objID_(objID), prototype_(prototype) {}
734
+
735
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
736
+
737
+ RecordType getType() const override {
738
+ return type;
739
+ }
740
+
741
+ std::vector<ObjectID> uses() const override {
742
+ std::vector<ObjectID> uses{objID_};
743
+ pushIfTrackedValue(prototype_, uses);
744
+ return uses;
745
+ }
746
+ };
747
+
748
+ struct CreateHostObjectRecord final : public CreateObjectRecord {
749
+ static constexpr RecordType type{RecordType::CreateHostObject};
750
+ using CreateObjectRecord::CreateObjectRecord;
751
+ RecordType getType() const override {
752
+ return type;
753
+ }
754
+ };
755
+
756
+ struct CreateHostFunctionRecord final : public CreateObjectRecord {
757
+ static constexpr RecordType type{RecordType::CreateHostFunction};
758
+ /// The ObjectID of the PropNameID that was passed to
759
+ /// Runtime::createFromHostFunction().
760
+ uint32_t propNameID_;
761
+ #ifdef HERMESVM_API_TRACE_DEBUG
762
+ const std::string functionName_;
763
+ #endif
764
+ /// The number of parameters that the created host function takes.
765
+ const unsigned paramCount_;
766
+
767
+ CreateHostFunctionRecord(
768
+ TimeSinceStart time,
769
+ ObjectID objID,
770
+ ObjectID propNameID,
771
+ #ifdef HERMESVM_API_TRACE_DEBUG
772
+ std::string functionName,
773
+ #endif
774
+ unsigned paramCount)
775
+ : CreateObjectRecord(time, objID),
776
+ propNameID_(propNameID),
777
+ #ifdef HERMESVM_API_TRACE_DEBUG
778
+ functionName_(std::move(functionName)),
779
+ #endif
780
+ paramCount_(paramCount) {
781
+ }
782
+
783
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
784
+
785
+ RecordType getType() const override {
786
+ return type;
787
+ }
788
+
789
+ std::vector<ObjectID> uses() const override {
790
+ return {propNameID_};
791
+ }
792
+ };
793
+
794
+ struct QueueMicrotaskRecord : public Record {
795
+ static constexpr RecordType type{RecordType::QueueMicrotask};
796
+ /// The ObjectID of the callback function that was queued.
797
+ const ObjectID callbackID_;
798
+
799
+ QueueMicrotaskRecord(TimeSinceStart time, ObjectID callbackID)
800
+ : Record(time), callbackID_(callbackID) {}
801
+
802
+ RecordType getType() const override {
803
+ return type;
804
+ }
805
+
806
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
807
+
808
+ std::vector<ObjectID> uses() const override {
809
+ return {callbackID_};
810
+ }
811
+ };
812
+
813
+ struct DrainMicrotasksRecord : public Record {
814
+ static constexpr RecordType type{RecordType::DrainMicrotasks};
815
+ /// maxMicrotasksHint value passed to Runtime::drainMicrotasks() call.
816
+ int maxMicrotasksHint_;
817
+
818
+ DrainMicrotasksRecord(TimeSinceStart time, int tasksHint = -1)
819
+ : Record(time), maxMicrotasksHint_(tasksHint) {}
820
+
821
+ RecordType getType() const override {
822
+ return type;
823
+ }
824
+
825
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
826
+ };
827
+
828
+ /// A GetPropertyRecord is an event where native code accesses the property
829
+ /// of a JS object.
830
+ struct GetPropertyRecord : public Record {
831
+ /// The ObjectID of the object that was accessed for its property.
832
+ const ObjectID objID_;
833
+ /// String or PropNameID or Value passed to getProperty.
834
+ const TraceValue propID_;
835
+ #ifdef HERMESVM_API_TRACE_DEBUG
836
+ std::string propNameDbg_;
837
+ #endif
838
+
839
+ GetPropertyRecord(
840
+ TimeSinceStart time,
841
+ ObjectID objID,
842
+ TraceValue propID
843
+ #ifdef HERMESVM_API_TRACE_DEBUG
844
+ ,
845
+ const std::string &propNameDbg
846
+ #endif
847
+ )
848
+ : Record(time),
849
+ objID_(objID),
850
+ propID_(propID)
851
+ #ifdef HERMESVM_API_TRACE_DEBUG
852
+ ,
853
+ propNameDbg_(propNameDbg)
854
+ #endif
855
+ {
856
+ }
857
+
858
+ static constexpr RecordType type{RecordType::GetProperty};
859
+ RecordType getType() const override {
860
+ return type;
861
+ }
862
+
863
+ std::vector<ObjectID> uses() const override {
864
+ std::vector<ObjectID> uses{objID_};
865
+ pushIfTrackedValue(propID_, uses);
866
+ return uses;
867
+ }
868
+
869
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
870
+ };
871
+
872
+ /// A SetPropertyRecord is an event where native code writes to the property
873
+ /// of a JS object.
874
+ struct SetPropertyRecord : public Record {
875
+ /// The ObjectID of the object that was accessed for its property.
876
+ const ObjectID objID_;
877
+ /// String or PropNameID or Value passed to setProperty.
878
+ const TraceValue propID_;
879
+ #ifdef HERMESVM_API_TRACE_DEBUG
880
+ std::string propNameDbg_;
881
+ #endif
882
+ /// The value being assigned.
883
+ const TraceValue value_;
884
+
885
+ SetPropertyRecord(
886
+ TimeSinceStart time,
887
+ ObjectID objID,
888
+ TraceValue propID,
889
+ #ifdef HERMESVM_API_TRACE_DEBUG
890
+ const std::string &propNameDbg,
891
+ #endif
892
+ TraceValue value)
893
+ : Record(time),
894
+ objID_(objID),
895
+ propID_(propID),
896
+ #ifdef HERMESVM_API_TRACE_DEBUG
897
+ propNameDbg_(propNameDbg),
898
+ #endif
899
+ value_(value) {
900
+ }
901
+
902
+ static constexpr RecordType type{RecordType::SetProperty};
903
+ RecordType getType() const override {
904
+ return type;
905
+ }
906
+
907
+ std::vector<ObjectID> uses() const override {
908
+ std::vector<ObjectID> uses{objID_};
909
+ pushIfTrackedValue(propID_, uses);
910
+ pushIfTrackedValue(value_, uses);
911
+ return uses;
912
+ }
913
+
914
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
915
+ };
916
+
917
+ /// A HasPropertyRecord is an event where native code queries whether a
918
+ /// property exists on an object. (We don't care about the result because
919
+ /// it cannot influence the trace.)
920
+ struct HasPropertyRecord final : public Record {
921
+ static constexpr RecordType type{RecordType::HasProperty};
922
+ /// The ObjectID of the object that was accessed for its property.
923
+ const ObjectID objID_;
924
+ #ifdef HERMESVM_API_TRACE_DEBUG
925
+ std::string propNameDbg_;
926
+ #endif
927
+ /// The property name that was passed to hasProperty().
928
+ const TraceValue propID_;
929
+
930
+ HasPropertyRecord(
931
+ TimeSinceStart time,
932
+ ObjectID objID,
933
+ TraceValue propID
934
+ #ifdef HERMESVM_API_TRACE_DEBUG
935
+ ,
936
+ const std::string &propNameDbg
937
+ #endif
938
+ )
939
+ : Record(time),
940
+ objID_(objID),
941
+ #ifdef HERMESVM_API_TRACE_DEBUG
942
+ propNameDbg_(propNameDbg),
943
+ #endif
944
+ propID_(propID) {
945
+ }
946
+
947
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
948
+ RecordType getType() const override {
949
+ return type;
950
+ }
951
+ std::vector<ObjectID> uses() const override {
952
+ std::vector<ObjectID> vec{objID_};
953
+ pushIfTrackedValue(propID_, vec);
954
+ return vec;
955
+ }
956
+ };
957
+
958
+ struct GetPropertyNamesRecord final : public Record {
959
+ static constexpr RecordType type{RecordType::GetPropertyNames};
960
+ /// The ObjectID of the object that was accessed for its property.
961
+ const ObjectID objID_;
962
+
963
+ explicit GetPropertyNamesRecord(TimeSinceStart time, ObjectID objID)
964
+ : Record(time), objID_(objID) {}
965
+
966
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
967
+ RecordType getType() const override {
968
+ return type;
969
+ }
970
+ std::vector<ObjectID> uses() const override {
971
+ return {objID_};
972
+ }
973
+ };
974
+
975
+ /// A SetPrototypeRecord is an event where native code sets the prototype of a
976
+ /// JS Object
977
+ struct SetPrototypeRecord : public Record {
978
+ static constexpr RecordType type{RecordType::SetPrototype};
979
+ /// The ObjectID of the object that was accessed for its prototype.
980
+ const ObjectID objID_;
981
+ /// The custom prototype being assigned
982
+ const TraceValue value_;
983
+ SetPrototypeRecord(TimeSinceStart time, ObjectID objID, TraceValue value)
984
+ : Record(time), objID_(objID), value_(value) {}
985
+
986
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
987
+
988
+ RecordType getType() const override {
989
+ return type;
990
+ }
991
+ std::vector<ObjectID> uses() const override {
992
+ std::vector<ObjectID> uses{objID_};
993
+ pushIfTrackedValue(value_, uses);
994
+ return uses;
995
+ }
996
+ };
997
+
998
+ struct DeletePropertyRecord final : public Record {
999
+ static constexpr RecordType type{RecordType::DeleteProperty};
1000
+ /// The object ID of the object that was accessed for its property
1001
+ const ObjectID objID_;
1002
+ /// The name of the property being deleted
1003
+ const TraceValue propID_;
1004
+
1005
+ DeletePropertyRecord(TimeSinceStart time, ObjectID objID, TraceValue propID)
1006
+ : Record(time), objID_(objID), propID_(propID) {}
1007
+
1008
+ RecordType getType() const override {
1009
+ return type;
1010
+ }
1011
+
1012
+ std::vector<ObjectID> uses() const override {
1013
+ std::vector<ObjectID> uses{objID_};
1014
+ pushIfTrackedValue(propID_, uses);
1015
+ return uses;
1016
+ }
1017
+
1018
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1019
+ };
1020
+
1021
+ /// A GetPrototypeRecord is an event where native code gets the prototype of a
1022
+ /// JS Object
1023
+ struct GetPrototypeRecord : public Record {
1024
+ static constexpr RecordType type{RecordType::GetPrototype};
1025
+ /// The ObjectID of the object that was accessed for its prototype.
1026
+ const ObjectID objID_;
1027
+ GetPrototypeRecord(TimeSinceStart time, ObjectID objID)
1028
+ : Record(time), objID_(objID) {}
1029
+
1030
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1031
+
1032
+ RecordType getType() const override {
1033
+ return type;
1034
+ }
1035
+ std::vector<ObjectID> uses() const override {
1036
+ return {objID_};
1037
+ }
1038
+ };
1039
+
1040
+ /// A CreateArrayRecord is an event where a new array is created of a specific
1041
+ /// length.
1042
+ struct CreateArrayRecord final : public Record {
1043
+ static constexpr RecordType type{RecordType::CreateArray};
1044
+ /// The ObjectID of the array that was created by the createArray().
1045
+ const ObjectID objID_;
1046
+ /// The length of the array that was passed to createArray().
1047
+ const size_t length_;
1048
+
1049
+ explicit CreateArrayRecord(
1050
+ TimeSinceStart time,
1051
+ ObjectID objID,
1052
+ size_t length)
1053
+ : Record(time), objID_(objID), length_(length) {}
1054
+
1055
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1056
+ RecordType getType() const override {
1057
+ return type;
1058
+ }
1059
+ std::vector<ObjectID> defs() const override {
1060
+ return {objID_};
1061
+ }
1062
+ };
1063
+
1064
+ /// An ArrayReadRecord is an event where a value was read from an index
1065
+ /// of an array.
1066
+ /// It is modeled separately from GetProperty because it is more efficient to
1067
+ /// read from a numeric index on an array than a string.
1068
+ struct ArrayReadRecord final : public Record {
1069
+ /// The ObjectID of the array that was accessed.
1070
+ const ObjectID objID_;
1071
+ /// The index of the element that was accessed in the array.
1072
+ const size_t index_;
1073
+
1074
+ explicit ArrayReadRecord(TimeSinceStart time, ObjectID objID, size_t index)
1075
+ : Record(time), objID_(objID), index_(index) {}
1076
+
1077
+ static constexpr RecordType type{RecordType::ArrayRead};
1078
+ RecordType getType() const override {
1079
+ return type;
1080
+ }
1081
+ std::vector<ObjectID> uses() const override {
1082
+ return {objID_};
1083
+ }
1084
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1085
+ };
1086
+
1087
+ /// An ArrayWriteRecord is an event where a value was written into an index
1088
+ /// of an array.
1089
+ struct ArrayWriteRecord final : public Record {
1090
+ /// The ObjectID of the array that was accessed.
1091
+ const ObjectID objID_;
1092
+ /// The index of the element that was accessed in the array.
1093
+ const size_t index_;
1094
+ /// The value that was written to the array.
1095
+ const TraceValue value_;
1096
+
1097
+ explicit ArrayWriteRecord(
1098
+ TimeSinceStart time,
1099
+ ObjectID objID,
1100
+ size_t index,
1101
+ TraceValue value)
1102
+ : Record(time), objID_(objID), index_(index), value_(value) {}
1103
+
1104
+ static constexpr RecordType type{RecordType::ArrayWrite};
1105
+ RecordType getType() const override {
1106
+ return type;
1107
+ }
1108
+ std::vector<ObjectID> uses() const override {
1109
+ std::vector<ObjectID> uses{objID_};
1110
+ pushIfTrackedValue(value_, uses);
1111
+ return uses;
1112
+ }
1113
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1114
+ };
1115
+
1116
+ struct CallRecord : public Record {
1117
+ /// The ObjectID of the function JS object that was called from
1118
+ /// JS or native.
1119
+ const ObjectID functionID_;
1120
+ /// The value of the this argument passed to the function call.
1121
+ const TraceValue thisArg_;
1122
+ /// The arguments given to a call (excluding the this parameter),
1123
+ /// already JSON stringified.
1124
+ const std::vector<TraceValue> args_;
1125
+
1126
+ explicit CallRecord(
1127
+ TimeSinceStart time,
1128
+ ObjectID functionID,
1129
+ TraceValue thisArg,
1130
+ const std::vector<TraceValue> &args)
1131
+ : Record(time),
1132
+ functionID_(functionID),
1133
+ thisArg_(thisArg),
1134
+ args_(args) {}
1135
+
1136
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1137
+ std::vector<ObjectID> uses() const override {
1138
+ // The function is used regardless of direction.
1139
+ return {functionID_};
1140
+ }
1141
+
1142
+ protected:
1143
+ std::vector<ObjectID> getArgTrackedIDs() const {
1144
+ std::vector<ObjectID> objs;
1145
+ pushIfTrackedValue(thisArg_, objs);
1146
+ for (const auto &arg : args_) {
1147
+ pushIfTrackedValue(arg, objs);
1148
+ }
1149
+ return objs;
1150
+ }
1151
+ };
1152
+
1153
+ /// A CallFromNativeRecord is an event where native code calls into a JS
1154
+ /// function.
1155
+ struct CallFromNativeRecord : public CallRecord {
1156
+ static constexpr RecordType type{RecordType::CallFromNative};
1157
+ using CallRecord::CallRecord;
1158
+ RecordType getType() const override {
1159
+ return type;
1160
+ }
1161
+ std::vector<ObjectID> uses() const override {
1162
+ auto uses = CallRecord::uses();
1163
+ auto objs = CallRecord::getArgTrackedIDs();
1164
+ uses.insert(uses.end(), objs.begin(), objs.end());
1165
+ return uses;
1166
+ }
1167
+ };
1168
+
1169
+ /// A ConstructFromNativeRecord is the same as \c CallFromNativeRecord, except
1170
+ /// the function is called with the new operator.
1171
+ struct ConstructFromNativeRecord final : public CallFromNativeRecord {
1172
+ static constexpr RecordType type{RecordType::ConstructFromNative};
1173
+ using CallFromNativeRecord::CallFromNativeRecord;
1174
+ RecordType getType() const override {
1175
+ return type;
1176
+ }
1177
+ };
1178
+
1179
+ /// A ReturnFromNativeRecord is an event where a native function returns to a
1180
+ /// JS caller.
1181
+ /// It pairs with \c CallToNativeRecord.
1182
+ struct ReturnFromNativeRecord final : public Record, public ReturnMixin {
1183
+ static constexpr RecordType type{RecordType::ReturnFromNative};
1184
+ ReturnFromNativeRecord(TimeSinceStart time, TraceValue retVal)
1185
+ : Record(time), ReturnMixin(retVal) {}
1186
+ RecordType getType() const override {
1187
+ return type;
1188
+ }
1189
+ std::vector<ObjectID> uses() const override {
1190
+ auto uses = Record::uses();
1191
+ pushIfTrackedValue(retVal_, uses);
1192
+ return uses;
1193
+ }
1194
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1195
+ };
1196
+
1197
+ /// A ReturnToNativeRecord is an event where a JS function returns to a native
1198
+ /// caller.
1199
+ /// It pairs with \c CallFromNativeRecord.
1200
+ struct ReturnToNativeRecord final : public Record, public ReturnMixin {
1201
+ static constexpr RecordType type{RecordType::ReturnToNative};
1202
+ ReturnToNativeRecord(TimeSinceStart time, TraceValue retVal)
1203
+ : Record(time), ReturnMixin(retVal) {}
1204
+ RecordType getType() const override {
1205
+ return type;
1206
+ }
1207
+ std::vector<ObjectID> defs() const override {
1208
+ auto defs = Record::defs();
1209
+ pushIfTrackedValue(retVal_, defs);
1210
+ return defs;
1211
+ }
1212
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1213
+ };
1214
+
1215
+ /// A CallToNativeRecord is an event where JS code calls into a natively
1216
+ /// defined function.
1217
+ struct CallToNativeRecord final : public CallRecord {
1218
+ static constexpr RecordType type{RecordType::CallToNative};
1219
+ using CallRecord::CallRecord;
1220
+ RecordType getType() const override {
1221
+ return type;
1222
+ }
1223
+ std::vector<ObjectID> defs() const override {
1224
+ auto defs = CallRecord::defs();
1225
+ auto objs = CallRecord::getArgTrackedIDs();
1226
+ defs.insert(defs.end(), objs.begin(), objs.end());
1227
+ return defs;
1228
+ }
1229
+ };
1230
+
1231
+ struct GetOrSetPropertyNativeRecord : public Record {
1232
+ /// The ObjectID of the host object that was being accessed for its
1233
+ /// property.
1234
+ const ObjectID hostObjectID_;
1235
+ /// The ObjectID of the PropNameID that was passed to HostObject::get()
1236
+ /// or HostObject::set().
1237
+ const ObjectID propNameID_;
1238
+ /// The UTF-8 string of the PropNameID that was passed to HostObject::get()
1239
+ /// or HostObject::set().
1240
+ const std::string propName_;
1241
+
1242
+ GetOrSetPropertyNativeRecord(
1243
+ TimeSinceStart time,
1244
+ ObjectID hostObjectID,
1245
+ ObjectID propNameID,
1246
+ const std::string &propName)
1247
+ : Record(time),
1248
+ hostObjectID_(hostObjectID),
1249
+ propNameID_(propNameID),
1250
+ propName_(propName) {}
1251
+
1252
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1253
+ std::vector<ObjectID> defs() const override {
1254
+ return {propNameID_};
1255
+ }
1256
+ std::vector<ObjectID> uses() const override {
1257
+ return {hostObjectID_};
1258
+ }
1259
+
1260
+ protected:
1261
+ };
1262
+
1263
+ /// A GetPropertyNativeRecord is an event where JS tries to access a property
1264
+ /// on a native object.
1265
+ /// This needs to be modeled as a call with no arguments, since native code
1266
+ /// can arbitrarily affect the JS heap during the accessor.
1267
+ struct GetPropertyNativeRecord final : public GetOrSetPropertyNativeRecord {
1268
+ static constexpr RecordType type{RecordType::GetPropertyNative};
1269
+ using GetOrSetPropertyNativeRecord::GetOrSetPropertyNativeRecord;
1270
+ RecordType getType() const override {
1271
+ return type;
1272
+ }
1273
+ };
1274
+
1275
+ struct GetPropertyNativeReturnRecord final : public Record,
1276
+ public ReturnMixin {
1277
+ static constexpr RecordType type{RecordType::GetPropertyNativeReturn};
1278
+ GetPropertyNativeReturnRecord(TimeSinceStart time, TraceValue retVal)
1279
+ : Record(time), ReturnMixin(retVal) {}
1280
+ RecordType getType() const override {
1281
+ return type;
1282
+ }
1283
+ std::vector<ObjectID> uses() const override {
1284
+ auto uses = Record::uses();
1285
+ pushIfTrackedValue(retVal_, uses);
1286
+ return uses;
1287
+ }
1288
+
1289
+ protected:
1290
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1291
+ };
1292
+
1293
+ /// A SetPropertyNativeRecord is an event where JS code writes to the property
1294
+ /// of a Native object.
1295
+ /// This needs to be modeled as a call with one argument, since native code
1296
+ /// can arbitrarily affect the JS heap during the accessor.
1297
+ struct SetPropertyNativeRecord final : public GetOrSetPropertyNativeRecord {
1298
+ static constexpr RecordType type{RecordType::SetPropertyNative};
1299
+ /// The value that was passed to HostObject::set() call.
1300
+ TraceValue value_;
1301
+
1302
+ SetPropertyNativeRecord(
1303
+ TimeSinceStart time,
1304
+ ObjectID hostObjectID,
1305
+ ObjectID propNameID,
1306
+ const std::string &propName,
1307
+ TraceValue value)
1308
+ : GetOrSetPropertyNativeRecord(
1309
+ time,
1310
+ hostObjectID,
1311
+ propNameID,
1312
+ propName),
1313
+ value_(value) {}
1314
+
1315
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1316
+ RecordType getType() const override {
1317
+ return type;
1318
+ }
1319
+ std::vector<ObjectID> defs() const override {
1320
+ auto defs = GetOrSetPropertyNativeRecord::defs();
1321
+ pushIfTrackedValue(value_, defs);
1322
+ return defs;
1323
+ }
1324
+ };
1325
+
1326
+ /// A SetPropertyNativeReturnRecord needs to record no extra information
1327
+ struct SetPropertyNativeReturnRecord final : public Record {
1328
+ static constexpr RecordType type{RecordType::SetPropertyNativeReturn};
1329
+ using Record::Record;
1330
+ RecordType getType() const override {
1331
+ return type;
1332
+ }
1333
+ };
1334
+
1335
+ /// A GetNativePropertyNamesRecord records an event where JS asked for a list
1336
+ /// of property names available on a host object. It records the object, and
1337
+ /// the returned list of property names.
1338
+ struct GetNativePropertyNamesRecord : public Record {
1339
+ static constexpr RecordType type{RecordType::GetNativePropertyNames};
1340
+ /// The ObjectID of the host object that was being accessed for
1341
+ /// HostObjet::getPropertyNames() call.
1342
+ const ObjectID hostObjectID_;
1343
+
1344
+ explicit GetNativePropertyNamesRecord(
1345
+ TimeSinceStart time,
1346
+ ObjectID hostObjectID)
1347
+ : Record(time), hostObjectID_(hostObjectID) {}
1348
+
1349
+ RecordType getType() const override {
1350
+ return type;
1351
+ }
1352
+
1353
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1354
+
1355
+ std::vector<ObjectID> uses() const override {
1356
+ return {hostObjectID_};
1357
+ }
1358
+ };
1359
+
1360
+ /// A GetNativePropertyNamesReturnRecord records what property names were
1361
+ /// returned by the GetNativePropertyNames query.
1362
+ struct GetNativePropertyNamesReturnRecord final : public Record {
1363
+ static constexpr RecordType type{RecordType::GetNativePropertyNamesReturn};
1364
+
1365
+ /// Returned list of property names
1366
+ const std::vector<TraceValue> propNameIDs_;
1367
+
1368
+ explicit GetNativePropertyNamesReturnRecord(
1369
+ TimeSinceStart time,
1370
+ const std::vector<TraceValue> &propNameIDs)
1371
+ : Record(time), propNameIDs_(propNameIDs) {}
1372
+
1373
+ RecordType getType() const override {
1374
+ return type;
1375
+ }
1376
+
1377
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1378
+
1379
+ std::vector<ObjectID> uses() const override {
1380
+ auto uses = Record::uses();
1381
+ for (const auto &val : propNameIDs_) {
1382
+ pushIfTrackedValue(val, uses);
1383
+ }
1384
+ return uses;
1385
+ }
1386
+ };
1387
+
1388
+ struct SetExternalMemoryPressureRecord final : public Record {
1389
+ static constexpr RecordType type{RecordType::SetExternalMemoryPressure};
1390
+ /// The ObjectID of the object that was passed to
1391
+ /// Runtime::setExternalMemoryPressure() call.
1392
+ const ObjectID objID_;
1393
+ /// The value passed to Runtime::setExternalMemoryPressure() call.
1394
+ const size_t amount_;
1395
+
1396
+ explicit SetExternalMemoryPressureRecord(
1397
+ TimeSinceStart time,
1398
+ const ObjectID objID,
1399
+ const size_t amount)
1400
+ : Record(time), objID_(objID), amount_(amount) {}
1401
+
1402
+ RecordType getType() const override {
1403
+ return type;
1404
+ }
1405
+
1406
+ std::vector<ObjectID> uses() const override {
1407
+ return {objID_};
1408
+ }
1409
+
1410
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1411
+ };
1412
+
1413
+ /// An Utf8Record is an event where a PropNameID or String or Symbol was
1414
+ /// converted to utf8.
1415
+ struct Utf8Record final : public Record {
1416
+ static constexpr RecordType type{RecordType::Utf8};
1417
+ /// PropNameID, String or Symbol passed to utf8() or symbolToString() as an
1418
+ /// argument
1419
+ const TraceValue objID_;
1420
+ /// Returned string from utf8() or symbolToString()
1421
+ const std::string retVal_;
1422
+
1423
+ explicit Utf8Record(
1424
+ TimeSinceStart time,
1425
+ const TraceValue objID,
1426
+ std::string retval)
1427
+ : Record(time), objID_(objID), retVal_(std::move(retval)) {}
1428
+
1429
+ RecordType getType() const override {
1430
+ return type;
1431
+ }
1432
+
1433
+ std::vector<ObjectID> uses() const override {
1434
+ std::vector<ObjectID> vec;
1435
+ pushIfTrackedValue(objID_, vec);
1436
+ return vec;
1437
+ }
1438
+
1439
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1440
+ };
1441
+
1442
+ /// A Utf16Record is an event where a PropNameID or String was converted to
1443
+ /// UTF-16.
1444
+ struct Utf16Record final : public Record {
1445
+ static constexpr RecordType type{RecordType::Utf16};
1446
+ /// PropNameID, String passed to utf16() as an argument
1447
+ const TraceValue objID_;
1448
+ /// Returned string from utf16().
1449
+ const std::u16string retVal_;
1450
+
1451
+ explicit Utf16Record(
1452
+ TimeSinceStart time,
1453
+ const TraceValue objID,
1454
+ std::u16string retval)
1455
+ : Record(time), objID_(objID), retVal_(std::move(retval)) {}
1456
+
1457
+ RecordType getType() const override {
1458
+ return type;
1459
+ }
1460
+
1461
+ std::vector<ObjectID> uses() const override {
1462
+ std::vector<ObjectID> vec;
1463
+ pushIfTrackedValue(objID_, vec);
1464
+ return vec;
1465
+ }
1466
+
1467
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1468
+ };
1469
+
1470
+ /// A GetStringData is an event where getStringData or getPropNameIdData was
1471
+ /// invoked.
1472
+ struct GetStringDataRecord final : public Record {
1473
+ static constexpr RecordType type{RecordType::GetStringData};
1474
+ /// The String or PropNameID passed into getStringData or getPropNameIdData
1475
+ const TraceValue objID_;
1476
+ /// The string content in the String or PropNameID that was passed into the
1477
+ /// callback
1478
+ const std::u16string strData_;
1479
+
1480
+ explicit GetStringDataRecord(
1481
+ TimeSinceStart time,
1482
+ const TraceValue objID,
1483
+ std::u16string strData)
1484
+ : Record(time), objID_(objID), strData_(std::move(strData)) {}
1485
+
1486
+ RecordType getType() const override {
1487
+ return type;
1488
+ }
1489
+
1490
+ std::vector<ObjectID> uses() const override {
1491
+ std::vector<ObjectID> vec;
1492
+ pushIfTrackedValue(objID_, vec);
1493
+ return vec;
1494
+ }
1495
+
1496
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1497
+ };
1498
+
1499
+ struct GlobalRecord final : public Record {
1500
+ static constexpr RecordType type{RecordType::Global};
1501
+ const ObjectID objID_; // global's ObjectID returned from Runtime::global().
1502
+
1503
+ explicit GlobalRecord(TimeSinceStart time, ObjectID objID)
1504
+ : Record(time), objID_(objID) {}
1505
+
1506
+ RecordType getType() const override {
1507
+ return type;
1508
+ }
1509
+
1510
+ std::vector<ObjectID> defs() const override {
1511
+ return {objID_};
1512
+ }
1513
+
1514
+ void toJSONInternal(::hermes::JSONEmitter &json) const override;
1515
+ };
1516
+
1517
+ /// Completes writing of the trace to the trace stream. If writing
1518
+ /// to a file, disables further writing to the file, or accumulation
1519
+ /// of data.
1520
+ void flushAndDisable(const ::hermes::vm::GCExecTrace &gcTrace);
1521
+ };
1522
+
1523
+ } // namespace tracing
1524
+ } // namespace hermes
1525
+ } // namespace facebook
1526
+
1527
+ #endif // HERMES_SYNTHTRACE_H