@depup/react-native-worklets 0.11.3-depup.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 (457) hide show
  1. package/.worklets/dummy.md +1 -0
  2. package/Common/cpp/worklets/AnimationFrameQueue/AnimationFrameBatchinator.cpp +64 -0
  3. package/Common/cpp/worklets/AnimationFrameQueue/AnimationFrameBatchinator.h +38 -0
  4. package/Common/cpp/worklets/Compat/Holders.h +25 -0
  5. package/Common/cpp/worklets/Compat/StableApi.cpp +145 -0
  6. package/Common/cpp/worklets/Compat/StableApi.h +128 -0
  7. package/Common/cpp/worklets/NativeModules/JSIWorkletsModuleProxy.cpp +729 -0
  8. package/Common/cpp/worklets/NativeModules/JSIWorkletsModuleProxy.h +126 -0
  9. package/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.cpp +81 -0
  10. package/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.h +76 -0
  11. package/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp +95 -0
  12. package/Common/cpp/worklets/Registries/EventHandlerRegistry.h +44 -0
  13. package/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp +10 -0
  14. package/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h +43 -0
  15. package/Common/cpp/worklets/RunLoop/AsyncQueue.h +14 -0
  16. package/Common/cpp/worklets/RunLoop/AsyncQueueImpl.cpp +69 -0
  17. package/Common/cpp/worklets/RunLoop/AsyncQueueImpl.h +48 -0
  18. package/Common/cpp/worklets/RunLoop/EventLoop.cpp +103 -0
  19. package/Common/cpp/worklets/RunLoop/EventLoop.h +52 -0
  20. package/Common/cpp/worklets/SharedItems/MemoryManager.cpp +60 -0
  21. package/Common/cpp/worklets/SharedItems/MemoryManager.h +29 -0
  22. package/Common/cpp/worklets/SharedItems/Serializable.cpp +373 -0
  23. package/Common/cpp/worklets/SharedItems/Serializable.h +413 -0
  24. package/Common/cpp/worklets/SharedItems/SerializableFactory.cpp +172 -0
  25. package/Common/cpp/worklets/SharedItems/SerializableFactory.h +85 -0
  26. package/Common/cpp/worklets/SharedItems/SerializableRemoteFunction.cpp +71 -0
  27. package/Common/cpp/worklets/SharedItems/SerializableRemoteFunction.h +75 -0
  28. package/Common/cpp/worklets/SharedItems/Shareable.cpp +84 -0
  29. package/Common/cpp/worklets/SharedItems/Shareable.h +43 -0
  30. package/Common/cpp/worklets/SharedItems/Synchronizable.cpp +59 -0
  31. package/Common/cpp/worklets/SharedItems/Synchronizable.h +57 -0
  32. package/Common/cpp/worklets/SharedItems/SynchronizableAccess.cpp +78 -0
  33. package/Common/cpp/worklets/SharedItems/SynchronizableAccess.h +45 -0
  34. package/Common/cpp/worklets/SharedItems/UnpackerLoader.h +78 -0
  35. package/Common/cpp/worklets/Tools/FeatureFlags.cpp +18 -0
  36. package/Common/cpp/worklets/Tools/FeatureFlags.h +44 -0
  37. package/Common/cpp/worklets/Tools/JSISerializer.cpp +312 -0
  38. package/Common/cpp/worklets/Tools/JSISerializer.h +42 -0
  39. package/Common/cpp/worklets/Tools/JSLogger.cpp +92 -0
  40. package/Common/cpp/worklets/Tools/JSLogger.h +48 -0
  41. package/Common/cpp/worklets/Tools/JSScheduler.cpp +21 -0
  42. package/Common/cpp/worklets/Tools/JSScheduler.h +35 -0
  43. package/Common/cpp/worklets/Tools/PlatformLogger.h +16 -0
  44. package/Common/cpp/worklets/Tools/RNRuntimeStatus.h +27 -0
  45. package/Common/cpp/worklets/Tools/ScriptBuffer.h +56 -0
  46. package/Common/cpp/worklets/Tools/SingleInstanceChecker.h +75 -0
  47. package/Common/cpp/worklets/Tools/ThreadSafeQueue.h +49 -0
  48. package/Common/cpp/worklets/Tools/UIScheduler.cpp +19 -0
  49. package/Common/cpp/worklets/Tools/UIScheduler.h +22 -0
  50. package/Common/cpp/worklets/Tools/VersionUtils.cpp +61 -0
  51. package/Common/cpp/worklets/Tools/VersionUtils.h +24 -0
  52. package/Common/cpp/worklets/Tools/WorkletEventHandler.cpp +34 -0
  53. package/Common/cpp/worklets/Tools/WorkletEventHandler.h +44 -0
  54. package/Common/cpp/worklets/Tools/WorkletsJSIUtils.cpp +30 -0
  55. package/Common/cpp/worklets/Tools/WorkletsJSIUtils.h +222 -0
  56. package/Common/cpp/worklets/Tools/WorkletsSystraceSection.h +116 -0
  57. package/Common/cpp/worklets/Tools/WorkletsVersion.cpp +46 -0
  58. package/Common/cpp/worklets/Tools/WorkletsVersion.h +18 -0
  59. package/Common/cpp/worklets/WorkletRuntime/BundleModeConfig.h +17 -0
  60. package/Common/cpp/worklets/WorkletRuntime/HermesProfiling.cpp +45 -0
  61. package/Common/cpp/worklets/WorkletRuntime/HermesProfiling.h +12 -0
  62. package/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.cpp +68 -0
  63. package/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h +24 -0
  64. package/Common/cpp/worklets/WorkletRuntime/RuntimeBindings.h +59 -0
  65. package/Common/cpp/worklets/WorkletRuntime/RuntimeData.h +38 -0
  66. package/Common/cpp/worklets/WorkletRuntime/RuntimeHolder.h +19 -0
  67. package/Common/cpp/worklets/WorkletRuntime/RuntimeManager.cpp +122 -0
  68. package/Common/cpp/worklets/WorkletRuntime/RuntimeManager.h +75 -0
  69. package/Common/cpp/worklets/WorkletRuntime/ScriptLoader.h +116 -0
  70. package/Common/cpp/worklets/WorkletRuntime/UIRuntimeDecorator.cpp +14 -0
  71. package/Common/cpp/worklets/WorkletRuntime/UIRuntimeDecorator.h +15 -0
  72. package/Common/cpp/worklets/WorkletRuntime/WorkletHermesRuntime.cpp +58 -0
  73. package/Common/cpp/worklets/WorkletRuntime/WorkletHermesRuntime.h +100 -0
  74. package/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp +327 -0
  75. package/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h +256 -0
  76. package/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h +36 -0
  77. package/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +320 -0
  78. package/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h +36 -0
  79. package/LICENSE +20 -0
  80. package/README.md +43 -0
  81. package/RNWorklets.podspec +94 -0
  82. package/android/CMakeLists.txt +108 -0
  83. package/android/build.gradle.kts +369 -0
  84. package/android/fix-prefab.gradle.kts +56 -0
  85. package/android/generate-stub-pch.gradle.kts +84 -0
  86. package/android/gradle.properties +25 -0
  87. package/android/proguard-rules.pro +3 -0
  88. package/android/settings.gradle.kts +21 -0
  89. package/android/src/main/AndroidManifest.xml +2 -0
  90. package/android/src/main/cpp/WorkletsPCH.h +26 -0
  91. package/android/src/main/cpp/worklets/android/AndroidUIScheduler.cpp +66 -0
  92. package/android/src/main/cpp/worklets/android/AndroidUIScheduler.h +38 -0
  93. package/android/src/main/cpp/worklets/android/AnimationFrameCallback.h +30 -0
  94. package/android/src/main/cpp/worklets/android/JScriptBufferWrapper.cpp +66 -0
  95. package/android/src/main/cpp/worklets/android/JScriptBufferWrapper.h +48 -0
  96. package/android/src/main/cpp/worklets/android/JWorkletRuntimeWrapper.cpp +51 -0
  97. package/android/src/main/cpp/worklets/android/JWorkletRuntimeWrapper.h +43 -0
  98. package/android/src/main/cpp/worklets/android/PlatformLogger.cpp +31 -0
  99. package/android/src/main/cpp/worklets/android/WorkletsModule.cpp +203 -0
  100. package/android/src/main/cpp/worklets/android/WorkletsModule.h +75 -0
  101. package/android/src/main/cpp/worklets/android/WorkletsOnLoad.cpp +19 -0
  102. package/android/src/main/java/com/swmansion/worklets/AndroidUIScheduler.kt +56 -0
  103. package/android/src/main/java/com/swmansion/worklets/ScriptBufferWrapper.kt +103 -0
  104. package/android/src/main/java/com/swmansion/worklets/WorkletsPackage.kt +42 -0
  105. package/android/src/main/java/com/swmansion/worklets/runloop/AnimationFrameCallback.kt +14 -0
  106. package/android/src/main/java/com/swmansion/worklets/runloop/AnimationFrameQueue.kt +112 -0
  107. package/android/src/networking/com/swmansion/worklets/WorkletRuntimeWrapper.kt +27 -0
  108. package/android/src/networking/com/swmansion/worklets/WorkletsHeaderUtil.kt +30 -0
  109. package/android/src/networking/com/swmansion/worklets/WorkletsModule.kt +187 -0
  110. package/android/src/networking/com/swmansion/worklets/WorkletsNetworkEventUtil.kt +272 -0
  111. package/android/src/networking/com/swmansion/worklets/WorkletsNetworking.kt +1124 -0
  112. package/android/src/networking/com/swmansion/worklets/WorkletsOkHttpCallUtil.kt +40 -0
  113. package/android/src/networking/com/swmansion/worklets/WorkletsProgressListener.kt +13 -0
  114. package/android/src/networking/com/swmansion/worklets/WorkletsProgressRequestBody.kt +98 -0
  115. package/android/src/networking/com/swmansion/worklets/WorkletsProgressResponseBody.kt +60 -0
  116. package/android/src/networking/com/swmansion/worklets/WorkletsProgressiveStringDecoder.kt +87 -0
  117. package/android/src/networking/com/swmansion/worklets/WorkletsRequestBodyUtil.kt +181 -0
  118. package/android/src/no-networking/com/swmansion/worklets/WorkletsModule.kt +143 -0
  119. package/apple/worklets/apple/AnimationFrameQueue.h +15 -0
  120. package/apple/worklets/apple/AnimationFrameQueue.mm +145 -0
  121. package/apple/worklets/apple/AssertJavaScriptQueue.h +14 -0
  122. package/apple/worklets/apple/AssertTurboModuleManagerQueue.h +12 -0
  123. package/apple/worklets/apple/IOSUIScheduler.h +14 -0
  124. package/apple/worklets/apple/IOSUIScheduler.mm +29 -0
  125. package/apple/worklets/apple/Networking/WorkletsNetworking.h +25 -0
  126. package/apple/worklets/apple/Networking/WorkletsNetworking.mm +707 -0
  127. package/apple/worklets/apple/PlatformLogger.mm +31 -0
  128. package/apple/worklets/apple/SlowAnimations.h +8 -0
  129. package/apple/worklets/apple/SlowAnimations.mm +45 -0
  130. package/apple/worklets/apple/WorkletsDisplayLink.h +21 -0
  131. package/apple/worklets/apple/WorkletsModule.h +28 -0
  132. package/apple/worklets/apple/WorkletsModule.mm +177 -0
  133. package/bundleMode/index.d.ts +6 -0
  134. package/bundleMode/index.js +182 -0
  135. package/bundleMode/shims/reactNativeShim.js +21 -0
  136. package/bundleMode/shims/turboModuleRegistryShim.js +47 -0
  137. package/changes.json +58 -0
  138. package/compatibility.json +29 -0
  139. package/jest/pluginTestUtils.ts +16 -0
  140. package/jest/resolver.js +18 -0
  141. package/lib/module/WorkletsModule/NativeWorklets.js +4 -0
  142. package/lib/module/WorkletsModule/NativeWorklets.js.map +1 -0
  143. package/lib/module/WorkletsModule/NativeWorklets.native.js +199 -0
  144. package/lib/module/WorkletsModule/NativeWorklets.native.js.map +1 -0
  145. package/lib/module/WorkletsModule/workletsModuleProxy.js +4 -0
  146. package/lib/module/WorkletsModule/workletsModuleProxy.js.map +1 -0
  147. package/lib/module/bundleMode/metroOverrides.native.js +26 -0
  148. package/lib/module/bundleMode/metroOverrides.native.js.map +1 -0
  149. package/lib/module/bundleMode/network.native.js +44 -0
  150. package/lib/module/bundleMode/network.native.js.map +1 -0
  151. package/lib/module/debug/bundleMode.js +6 -0
  152. package/lib/module/debug/bundleMode.js.map +1 -0
  153. package/lib/module/debug/bundleMode.native.js +11 -0
  154. package/lib/module/debug/bundleMode.native.js.map +1 -0
  155. package/lib/module/debug/checkCppVersion.js +29 -0
  156. package/lib/module/debug/checkCppVersion.js.map +1 -0
  157. package/lib/module/debug/errors.native.js +67 -0
  158. package/lib/module/debug/errors.native.js.map +1 -0
  159. package/lib/module/debug/jsVersion.js +9 -0
  160. package/lib/module/debug/jsVersion.js.map +1 -0
  161. package/lib/module/debug/logger.js +15 -0
  162. package/lib/module/debug/logger.js.map +1 -0
  163. package/lib/module/debug/slowAnimations.js +7 -0
  164. package/lib/module/debug/slowAnimations.js.map +1 -0
  165. package/lib/module/debug/slowAnimations.native.js +17 -0
  166. package/lib/module/debug/slowAnimations.native.js.map +1 -0
  167. package/lib/module/deprecated.js +27 -0
  168. package/lib/module/deprecated.js.map +1 -0
  169. package/lib/module/featureFlags/featureFlags.js +12 -0
  170. package/lib/module/featureFlags/featureFlags.js.map +1 -0
  171. package/lib/module/featureFlags/featureFlags.native.js +51 -0
  172. package/lib/module/featureFlags/featureFlags.native.js.map +1 -0
  173. package/lib/module/featureFlags/staticFlags.json +6 -0
  174. package/lib/module/featureFlags/types.js +16 -0
  175. package/lib/module/featureFlags/types.js.map +1 -0
  176. package/lib/module/guardImplementation.native.js +17 -0
  177. package/lib/module/guardImplementation.native.js.map +1 -0
  178. package/lib/module/index.js +26 -0
  179. package/lib/module/index.js.map +1 -0
  180. package/lib/module/initializers/initializers.js +24 -0
  181. package/lib/module/initializers/initializers.js.map +1 -0
  182. package/lib/module/initializers/initializers.native.js +195 -0
  183. package/lib/module/initializers/initializers.native.js.map +1 -0
  184. package/lib/module/memory/bundleUnpacker.native.js +38 -0
  185. package/lib/module/memory/bundleUnpacker.native.js.map +1 -0
  186. package/lib/module/memory/customSerializableUnpacker.native.js +20 -0
  187. package/lib/module/memory/customSerializableUnpacker.native.js.map +1 -0
  188. package/lib/module/memory/isShareable.js +8 -0
  189. package/lib/module/memory/isShareable.js.map +1 -0
  190. package/lib/module/memory/isSynchronizable.js +8 -0
  191. package/lib/module/memory/isSynchronizable.js.map +1 -0
  192. package/lib/module/memory/remoteFunctionUnpacker.native.js +18 -0
  193. package/lib/module/memory/remoteFunctionUnpacker.native.js.map +1 -0
  194. package/lib/module/memory/serializable.js +18 -0
  195. package/lib/module/memory/serializable.js.map +1 -0
  196. package/lib/module/memory/serializable.native.js +619 -0
  197. package/lib/module/memory/serializable.native.js.map +1 -0
  198. package/lib/module/memory/serializableMappingCache.js +11 -0
  199. package/lib/module/memory/serializableMappingCache.js.map +1 -0
  200. package/lib/module/memory/serializableMappingCache.native.js +29 -0
  201. package/lib/module/memory/serializableMappingCache.native.js.map +1 -0
  202. package/lib/module/memory/shareable.js +18 -0
  203. package/lib/module/memory/shareable.js.map +1 -0
  204. package/lib/module/memory/shareable.native.js +42 -0
  205. package/lib/module/memory/shareable.native.js.map +1 -0
  206. package/lib/module/memory/shareableGuestUnpacker.native.js +105 -0
  207. package/lib/module/memory/shareableGuestUnpacker.native.js.map +1 -0
  208. package/lib/module/memory/shareableHostUnpacker.native.js +20 -0
  209. package/lib/module/memory/shareableHostUnpacker.native.js.map +1 -0
  210. package/lib/module/memory/synchronizable.js +6 -0
  211. package/lib/module/memory/synchronizable.js.map +1 -0
  212. package/lib/module/memory/synchronizable.native.js +9 -0
  213. package/lib/module/memory/synchronizable.native.js.map +1 -0
  214. package/lib/module/memory/synchronizableUnpacker.native.js +47 -0
  215. package/lib/module/memory/synchronizableUnpacker.native.js.map +1 -0
  216. package/lib/module/memory/types.js +12 -0
  217. package/lib/module/memory/types.js.map +1 -0
  218. package/lib/module/memory/valueUnpacker.native.js +52 -0
  219. package/lib/module/memory/valueUnpacker.native.js.map +1 -0
  220. package/lib/module/mock.js +85 -0
  221. package/lib/module/mock.js.map +1 -0
  222. package/lib/module/package.json +1 -0
  223. package/lib/module/platformChecker.js +4 -0
  224. package/lib/module/platformChecker.js.map +1 -0
  225. package/lib/module/platformChecker.native.js +4 -0
  226. package/lib/module/platformChecker.native.js.map +1 -0
  227. package/lib/module/privateGlobals.d.js +7 -0
  228. package/lib/module/privateGlobals.d.js.map +1 -0
  229. package/lib/module/runLoop/common/setImmediatePolyfill.js +15 -0
  230. package/lib/module/runLoop/common/setImmediatePolyfill.js.map +1 -0
  231. package/lib/module/runLoop/common/setIntervalPolyfill.js +26 -0
  232. package/lib/module/runLoop/common/setIntervalPolyfill.js.map +1 -0
  233. package/lib/module/runLoop/uiRuntime/mockedRequestAnimationFrame.js +10 -0
  234. package/lib/module/runLoop/uiRuntime/mockedRequestAnimationFrame.js.map +1 -0
  235. package/lib/module/runLoop/uiRuntime/requestAnimationFrame.js +71 -0
  236. package/lib/module/runLoop/uiRuntime/requestAnimationFrame.js.map +1 -0
  237. package/lib/module/runLoop/uiRuntime/setTimeoutPolyfill.js +32 -0
  238. package/lib/module/runLoop/uiRuntime/setTimeoutPolyfill.js.map +1 -0
  239. package/lib/module/runLoop/workletRuntime/index.js +19 -0
  240. package/lib/module/runLoop/workletRuntime/index.js.map +1 -0
  241. package/lib/module/runLoop/workletRuntime/queueMicrotask.js +11 -0
  242. package/lib/module/runLoop/workletRuntime/queueMicrotask.js.map +1 -0
  243. package/lib/module/runLoop/workletRuntime/requestAnimationFramePolyfill.js +48 -0
  244. package/lib/module/runLoop/workletRuntime/requestAnimationFramePolyfill.js.map +1 -0
  245. package/lib/module/runLoop/workletRuntime/setTimeout.js +28 -0
  246. package/lib/module/runLoop/workletRuntime/setTimeout.js.map +1 -0
  247. package/lib/module/runLoop/workletRuntime/taskQueue.js +37 -0
  248. package/lib/module/runLoop/workletRuntime/taskQueue.js.map +1 -0
  249. package/lib/module/runtimeKind.js +92 -0
  250. package/lib/module/runtimeKind.js.map +1 -0
  251. package/lib/module/runtimes.js +36 -0
  252. package/lib/module/runtimes.js.map +1 -0
  253. package/lib/module/runtimes.native.js +379 -0
  254. package/lib/module/runtimes.native.js.map +1 -0
  255. package/lib/module/specs/NativeWorkletsModule.js +5 -0
  256. package/lib/module/specs/NativeWorkletsModule.js.map +1 -0
  257. package/lib/module/specs/index.js +10 -0
  258. package/lib/module/specs/index.js.map +1 -0
  259. package/lib/module/threads.js +60 -0
  260. package/lib/module/threads.js.map +1 -0
  261. package/lib/module/threads.native.js +295 -0
  262. package/lib/module/threads.native.js.map +1 -0
  263. package/lib/module/types.js +5 -0
  264. package/lib/module/types.js.map +1 -0
  265. package/lib/module/workletFunction.js +36 -0
  266. package/lib/module/workletFunction.js.map +1 -0
  267. package/lib/typescript/WorkletsModule/NativeWorklets.d.ts +3 -0
  268. package/lib/typescript/WorkletsModule/NativeWorklets.d.ts.map +1 -0
  269. package/lib/typescript/WorkletsModule/NativeWorklets.native.d.ts +3 -0
  270. package/lib/typescript/WorkletsModule/NativeWorklets.native.d.ts.map +1 -0
  271. package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts +59 -0
  272. package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts.map +1 -0
  273. package/lib/typescript/bundleMode/metroOverrides.native.d.ts +9 -0
  274. package/lib/typescript/bundleMode/metroOverrides.native.d.ts.map +1 -0
  275. package/lib/typescript/bundleMode/network.native.d.ts +7 -0
  276. package/lib/typescript/bundleMode/network.native.d.ts.map +1 -0
  277. package/lib/typescript/debug/bundleMode.d.ts +2 -0
  278. package/lib/typescript/debug/bundleMode.d.ts.map +1 -0
  279. package/lib/typescript/debug/bundleMode.native.d.ts +2 -0
  280. package/lib/typescript/debug/bundleMode.native.d.ts.map +1 -0
  281. package/lib/typescript/debug/checkCppVersion.d.ts +3 -0
  282. package/lib/typescript/debug/checkCppVersion.d.ts.map +1 -0
  283. package/lib/typescript/debug/errors.native.d.ts +13 -0
  284. package/lib/typescript/debug/errors.native.d.ts.map +1 -0
  285. package/lib/typescript/debug/jsVersion.d.ts +7 -0
  286. package/lib/typescript/debug/jsVersion.d.ts.map +1 -0
  287. package/lib/typescript/debug/logger.d.ts +5 -0
  288. package/lib/typescript/debug/logger.d.ts.map +1 -0
  289. package/lib/typescript/debug/slowAnimations.d.ts +2 -0
  290. package/lib/typescript/debug/slowAnimations.d.ts.map +1 -0
  291. package/lib/typescript/debug/slowAnimations.native.d.ts +11 -0
  292. package/lib/typescript/debug/slowAnimations.native.d.ts.map +1 -0
  293. package/lib/typescript/deprecated.d.ts +19 -0
  294. package/lib/typescript/deprecated.d.ts.map +1 -0
  295. package/lib/typescript/featureFlags/featureFlags.d.ts +5 -0
  296. package/lib/typescript/featureFlags/featureFlags.d.ts.map +1 -0
  297. package/lib/typescript/featureFlags/featureFlags.native.d.ts +6 -0
  298. package/lib/typescript/featureFlags/featureFlags.native.d.ts.map +1 -0
  299. package/lib/typescript/featureFlags/types.d.ts +23 -0
  300. package/lib/typescript/featureFlags/types.d.ts.map +1 -0
  301. package/lib/typescript/guardImplementation.native.d.ts +3 -0
  302. package/lib/typescript/guardImplementation.native.d.ts.map +1 -0
  303. package/lib/typescript/index.d.ts +19 -0
  304. package/lib/typescript/index.d.ts.map +1 -0
  305. package/lib/typescript/initializers/initializers.d.ts +2 -0
  306. package/lib/typescript/initializers/initializers.d.ts.map +1 -0
  307. package/lib/typescript/initializers/initializers.native.d.ts +19 -0
  308. package/lib/typescript/initializers/initializers.native.d.ts.map +1 -0
  309. package/lib/typescript/memory/bundleUnpacker.native.d.ts +7 -0
  310. package/lib/typescript/memory/bundleUnpacker.native.d.ts.map +1 -0
  311. package/lib/typescript/memory/customSerializableUnpacker.native.d.ts +3 -0
  312. package/lib/typescript/memory/customSerializableUnpacker.native.d.ts.map +1 -0
  313. package/lib/typescript/memory/isShareable.d.ts +3 -0
  314. package/lib/typescript/memory/isShareable.d.ts.map +1 -0
  315. package/lib/typescript/memory/isSynchronizable.d.ts +3 -0
  316. package/lib/typescript/memory/isSynchronizable.d.ts.map +1 -0
  317. package/lib/typescript/memory/remoteFunctionUnpacker.native.d.ts +3 -0
  318. package/lib/typescript/memory/remoteFunctionUnpacker.native.d.ts.map +1 -0
  319. package/lib/typescript/memory/serializable.d.ts +7 -0
  320. package/lib/typescript/memory/serializable.d.ts.map +1 -0
  321. package/lib/typescript/memory/serializable.native.d.ts +37 -0
  322. package/lib/typescript/memory/serializable.native.d.ts.map +1 -0
  323. package/lib/typescript/memory/serializableMappingCache.d.ts +6 -0
  324. package/lib/typescript/memory/serializableMappingCache.d.ts.map +1 -0
  325. package/lib/typescript/memory/serializableMappingCache.native.d.ts +13 -0
  326. package/lib/typescript/memory/serializableMappingCache.native.d.ts.map +1 -0
  327. package/lib/typescript/memory/shareable.d.ts +15 -0
  328. package/lib/typescript/memory/shareable.d.ts.map +1 -0
  329. package/lib/typescript/memory/shareable.native.d.ts +15 -0
  330. package/lib/typescript/memory/shareable.native.d.ts.map +1 -0
  331. package/lib/typescript/memory/shareableGuestUnpacker.native.d.ts +4 -0
  332. package/lib/typescript/memory/shareableGuestUnpacker.native.d.ts.map +1 -0
  333. package/lib/typescript/memory/shareableHostUnpacker.native.d.ts +4 -0
  334. package/lib/typescript/memory/shareableHostUnpacker.native.d.ts.map +1 -0
  335. package/lib/typescript/memory/synchronizable.d.ts +3 -0
  336. package/lib/typescript/memory/synchronizable.d.ts.map +1 -0
  337. package/lib/typescript/memory/synchronizable.native.d.ts +3 -0
  338. package/lib/typescript/memory/synchronizable.native.d.ts.map +1 -0
  339. package/lib/typescript/memory/synchronizableUnpacker.native.d.ts +4 -0
  340. package/lib/typescript/memory/synchronizableUnpacker.native.d.ts.map +1 -0
  341. package/lib/typescript/memory/types.d.ts +136 -0
  342. package/lib/typescript/memory/types.d.ts.map +1 -0
  343. package/lib/typescript/memory/valueUnpacker.native.d.ts +7 -0
  344. package/lib/typescript/memory/valueUnpacker.native.d.ts.map +1 -0
  345. package/lib/typescript/mock.d.ts +2 -0
  346. package/lib/typescript/mock.d.ts.map +1 -0
  347. package/lib/typescript/package.json +1 -0
  348. package/lib/typescript/platformChecker.d.ts +2 -0
  349. package/lib/typescript/platformChecker.d.ts.map +1 -0
  350. package/lib/typescript/platformChecker.native.d.ts +2 -0
  351. package/lib/typescript/platformChecker.native.d.ts.map +1 -0
  352. package/lib/typescript/runLoop/common/setImmediatePolyfill.d.ts +2 -0
  353. package/lib/typescript/runLoop/common/setImmediatePolyfill.d.ts.map +1 -0
  354. package/lib/typescript/runLoop/common/setIntervalPolyfill.d.ts +2 -0
  355. package/lib/typescript/runLoop/common/setIntervalPolyfill.d.ts.map +1 -0
  356. package/lib/typescript/runLoop/uiRuntime/mockedRequestAnimationFrame.d.ts +6 -0
  357. package/lib/typescript/runLoop/uiRuntime/mockedRequestAnimationFrame.d.ts.map +1 -0
  358. package/lib/typescript/runLoop/uiRuntime/requestAnimationFrame.d.ts +2 -0
  359. package/lib/typescript/runLoop/uiRuntime/requestAnimationFrame.d.ts.map +1 -0
  360. package/lib/typescript/runLoop/uiRuntime/setTimeoutPolyfill.d.ts +2 -0
  361. package/lib/typescript/runLoop/uiRuntime/setTimeoutPolyfill.d.ts.map +1 -0
  362. package/lib/typescript/runLoop/workletRuntime/index.d.ts +2 -0
  363. package/lib/typescript/runLoop/workletRuntime/index.d.ts.map +1 -0
  364. package/lib/typescript/runLoop/workletRuntime/queueMicrotask.d.ts +2 -0
  365. package/lib/typescript/runLoop/workletRuntime/queueMicrotask.d.ts.map +1 -0
  366. package/lib/typescript/runLoop/workletRuntime/requestAnimationFramePolyfill.d.ts +2 -0
  367. package/lib/typescript/runLoop/workletRuntime/requestAnimationFramePolyfill.d.ts.map +1 -0
  368. package/lib/typescript/runLoop/workletRuntime/setTimeout.d.ts +2 -0
  369. package/lib/typescript/runLoop/workletRuntime/setTimeout.d.ts.map +1 -0
  370. package/lib/typescript/runLoop/workletRuntime/taskQueue.d.ts +10 -0
  371. package/lib/typescript/runLoop/workletRuntime/taskQueue.d.ts.map +1 -0
  372. package/lib/typescript/runtimeKind.d.ts +56 -0
  373. package/lib/typescript/runtimeKind.d.ts.map +1 -0
  374. package/lib/typescript/runtimes.d.ts +15 -0
  375. package/lib/typescript/runtimes.d.ts.map +1 -0
  376. package/lib/typescript/runtimes.native.d.ts +155 -0
  377. package/lib/typescript/runtimes.native.d.ts.map +1 -0
  378. package/lib/typescript/specs/NativeWorkletsModule.d.ts +9 -0
  379. package/lib/typescript/specs/NativeWorkletsModule.d.ts.map +1 -0
  380. package/lib/typescript/specs/index.d.ts +3 -0
  381. package/lib/typescript/specs/index.d.ts.map +1 -0
  382. package/lib/typescript/threads.d.ts +8 -0
  383. package/lib/typescript/threads.d.ts.map +1 -0
  384. package/lib/typescript/threads.native.d.ts +125 -0
  385. package/lib/typescript/threads.native.d.ts.map +1 -0
  386. package/lib/typescript/types.d.ts +136 -0
  387. package/lib/typescript/types.d.ts.map +1 -0
  388. package/lib/typescript/workletFunction.d.ts +26 -0
  389. package/lib/typescript/workletFunction.d.ts.map +1 -0
  390. package/package.json +220 -0
  391. package/plugin/index.d.ts +168 -0
  392. package/plugin/index.js +2188 -0
  393. package/scripts/validate-react-native-version.js +43 -0
  394. package/scripts/worklets_utils.rb +94 -0
  395. package/src/WorkletsModule/NativeWorklets.native.ts +461 -0
  396. package/src/WorkletsModule/NativeWorklets.ts +5 -0
  397. package/src/WorkletsModule/workletsModuleProxy.ts +247 -0
  398. package/src/bundleMode/metroOverrides.native.ts +33 -0
  399. package/src/bundleMode/network.native.ts +63 -0
  400. package/src/debug/bundleMode.native.ts +18 -0
  401. package/src/debug/bundleMode.ts +5 -0
  402. package/src/debug/checkCppVersion.ts +34 -0
  403. package/src/debug/errors.native.ts +74 -0
  404. package/src/debug/jsVersion.ts +8 -0
  405. package/src/debug/logger.ts +16 -0
  406. package/src/debug/slowAnimations.native.ts +15 -0
  407. package/src/debug/slowAnimations.ts +6 -0
  408. package/src/deprecated.ts +38 -0
  409. package/src/featureFlags/featureFlags.native.ts +70 -0
  410. package/src/featureFlags/featureFlags.ts +20 -0
  411. package/src/featureFlags/staticFlags.json +6 -0
  412. package/src/featureFlags/types.ts +32 -0
  413. package/src/guardImplementation.native.ts +26 -0
  414. package/src/index.ts +95 -0
  415. package/src/initializers/initializers.native.ts +218 -0
  416. package/src/initializers/initializers.ts +24 -0
  417. package/src/memory/bundleUnpacker.native.ts +59 -0
  418. package/src/memory/customSerializableUnpacker.native.ts +30 -0
  419. package/src/memory/isShareable.ts +16 -0
  420. package/src/memory/isSynchronizable.ts +14 -0
  421. package/src/memory/remoteFunctionUnpacker.native.ts +27 -0
  422. package/src/memory/serializable.native.ts +889 -0
  423. package/src/memory/serializable.ts +36 -0
  424. package/src/memory/serializableMappingCache.native.ts +37 -0
  425. package/src/memory/serializableMappingCache.ts +12 -0
  426. package/src/memory/shareable.native.ts +68 -0
  427. package/src/memory/shareable.ts +27 -0
  428. package/src/memory/shareableGuestUnpacker.native.ts +168 -0
  429. package/src/memory/shareableHostUnpacker.native.ts +31 -0
  430. package/src/memory/synchronizable.native.ts +17 -0
  431. package/src/memory/synchronizable.ts +9 -0
  432. package/src/memory/synchronizableUnpacker.native.ts +65 -0
  433. package/src/memory/types.ts +191 -0
  434. package/src/memory/valueUnpacker.native.ts +79 -0
  435. package/src/mock.ts +111 -0
  436. package/src/platformChecker.native.ts +3 -0
  437. package/src/platformChecker.ts +4 -0
  438. package/src/privateGlobals.d.ts +127 -0
  439. package/src/runLoop/common/setImmediatePolyfill.ts +20 -0
  440. package/src/runLoop/common/setIntervalPolyfill.ts +38 -0
  441. package/src/runLoop/uiRuntime/mockedRequestAnimationFrame.ts +11 -0
  442. package/src/runLoop/uiRuntime/requestAnimationFrame.ts +87 -0
  443. package/src/runLoop/uiRuntime/setTimeoutPolyfill.ts +40 -0
  444. package/src/runLoop/workletRuntime/index.ts +18 -0
  445. package/src/runLoop/workletRuntime/queueMicrotask.ts +13 -0
  446. package/src/runLoop/workletRuntime/requestAnimationFramePolyfill.ts +61 -0
  447. package/src/runLoop/workletRuntime/setTimeout.ts +37 -0
  448. package/src/runLoop/workletRuntime/taskQueue.ts +44 -0
  449. package/src/runtimeKind.ts +85 -0
  450. package/src/runtimes.native.ts +572 -0
  451. package/src/runtimes.ts +107 -0
  452. package/src/specs/NativeWorkletsModule.ts +11 -0
  453. package/src/specs/index.ts +13 -0
  454. package/src/threads.native.ts +408 -0
  455. package/src/threads.ts +110 -0
  456. package/src/types.ts +164 -0
  457. package/src/workletFunction.ts +41 -0
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * This symbol is used to represent a mapping from the value to itself.
5
+ *
6
+ * It's used to prevent converting a serializable that's already converted - for
7
+ * example a Shared Value that's in worklet's closure.
8
+ */
9
+ export const serializableMappingFlag = Symbol('serializable flag');
10
+
11
+ /*
12
+ During a fast refresh, React holds the same instance of a Mutable
13
+ (that's guaranteed by `useRef`) but `serializableCache` gets regenerated and thus
14
+ becoming empty. This happens when editing the file that contains the definition of this cache.
15
+
16
+ Because of it, `createSerializable` can't find given mapping
17
+ in `serializableCache` for the Mutable and tries to clone it as if it was a regular JS object.
18
+ During cloning we use `Object.entries` to iterate over the keys which throws an error on accessing `_value`.
19
+ For convenience we moved this cache to a separate file so it doesn't scare us with red squiggles.
20
+ */
21
+
22
+ const cache = new WeakMap();
23
+ export const serializableMappingCache = {
24
+ set(serializable, serializableRef) {
25
+ cache.set(serializable, serializableRef || serializableMappingFlag);
26
+ },
27
+ get: cache.get.bind(cache)
28
+ };
29
+ //# sourceMappingURL=serializableMappingCache.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["serializableMappingFlag","Symbol","cache","WeakMap","serializableMappingCache","set","serializable","serializableRef","get","bind"],"sourceRoot":"../../../src","sources":["memory/serializableMappingCache.native.ts"],"mappings":"AAAA,YAAY;;AAIZ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,uBAAuB,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,KAAK,GAAG,IAAIC,OAAO,CAGvB,CAAC;AAEH,OAAO,MAAMC,wBAAwB,GAAG;EACtCC,GAAGA,CACDC,YAAoB,EACpBC,eAA4D,EACtD;IACNL,KAAK,CAACG,GAAG,CAACC,YAAY,EAAEC,eAAe,IAAIP,uBAAuB,CAAC;EACrE,CAAC;EACDQ,GAAG,EAAEN,KAAK,CAACM,GAAG,CAACC,IAAI,CAACP,KAAK;AAC3B,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Creates a new {@link Shareable} holding the provided initial value. You must
5
+ * explicitly declare which Worklet Runtime will host the Shareable by passing
6
+ * its `runtimeId`. To host on the UI Runtime, pass {@link UIRuntimeId}.
7
+ *
8
+ * @param hostRuntimeId - The `runtimeId` of the Worklet Runtime that will host
9
+ * the Shareable.
10
+ * @param initial - The initial value of the Shareable.
11
+ * @param config - Optional advanced configuration.
12
+ * @returns The created {@link Shareable}.
13
+ * @see {@link https://docs.swmansion.com/react-native-worklets/docs/memory/createShareable | createShareable docs}
14
+ */
15
+ export function createShareable(_hostRuntimeId, _initial, _config) {
16
+ throw new Error('[Worklets] `createShareable` is not supported on web.');
17
+ }
18
+ //# sourceMappingURL=shareable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createShareable","_hostRuntimeId","_initial","_config","Error"],"sourceRoot":"../../../src","sources":["memory/shareable.ts"],"mappings":"AAAA,YAAY;;AAIZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,eAAeA,CAK7BC,cAAsB,EACtBC,QAAgB,EAChBC,OAAkE,EACd;EACpD,MAAM,IAAIC,KAAK,CAAC,uDAAuD,CAAC;AAC1E","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ import { isBundleModeEnabled } from '../debug/bundleMode';
4
+ import { addNoBundleModeGuardImplementation } from '../guardImplementation';
5
+ import { isWorkletFunction } from "../workletFunction.js";
6
+ import { WorkletsModule } from '../WorkletsModule/NativeWorklets';
7
+ import { createSerializable } from './serializable';
8
+
9
+ /**
10
+ * Creates a new {@link Shareable} holding the provided initial value. You must
11
+ * explicitly declare which Worklet Runtime will host the Shareable by passing
12
+ * its `runtimeId`. To host on the UI Runtime, pass {@link UIRuntimeId}.
13
+ *
14
+ * @param hostRuntimeId - The `runtimeId` of the Worklet Runtime that will host
15
+ * the Shareable.
16
+ * @param initial - The initial value of the Shareable.
17
+ * @param config - Optional advanced configuration.
18
+ * @returns The created {@link Shareable}.
19
+ * @see {@link https://docs.swmansion.com/react-native-worklets/docs/memory/createShareable | createShareable docs}
20
+ */
21
+
22
+ export function createShareable(hostRuntimeId, initial, config) {
23
+ const {
24
+ hostDecorator,
25
+ guestDecorator,
26
+ initSynchronously
27
+ } = config || {};
28
+ if (__DEV__) {
29
+ if (hostDecorator && !isWorkletFunction(hostDecorator)) {
30
+ throw new Error('[Worklets] hostDecorator must be a worklet function');
31
+ }
32
+ if (guestDecorator && !isWorkletFunction(guestDecorator)) {
33
+ throw new Error('[Worklets] guestDecorator must be a worklet function');
34
+ }
35
+ }
36
+ const shareableRef = WorkletsModule.createShareable(hostRuntimeId, createSerializable(initial), !!initSynchronously, createSerializable(hostDecorator), createSerializable(guestDecorator));
37
+ return globalThis.__shareableGuestUnpacker(hostRuntimeId, shareableRef, guestDecorator);
38
+ }
39
+ if (__DEV__ && !isBundleModeEnabled()) {
40
+ addNoBundleModeGuardImplementation(createShareable);
41
+ }
42
+ //# sourceMappingURL=shareable.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isBundleModeEnabled","addNoBundleModeGuardImplementation","isWorkletFunction","WorkletsModule","createSerializable","createShareable","hostRuntimeId","initial","config","hostDecorator","guestDecorator","initSynchronously","__DEV__","Error","shareableRef","globalThis","__shareableGuestUnpacker"],"sourceRoot":"../../../src","sources":["memory/shareable.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,mBAAmB,QAAQ,qBAAqB;AACzD,SAASC,kCAAkC,QAAQ,wBAAwB;AAC3E,SAASC,iBAAiB,QAAQ,uBAAoB;AACtD,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,kBAAkB,QAAQ,gBAAgB;;AAGnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA,OAAO,SAASC,eAAeA,CAK7BC,aAAqB,EACrBC,OAAe,EACfC,MAAiE,EACb;EACpD,MAAM;IAAEC,aAAa;IAAEC,cAAc;IAAEC;EAAkB,CAAC,GAAGH,MAAM,IAAI,CAAC,CAAC;EACzE,IAAII,OAAO,EAAE;IACX,IAAIH,aAAa,IAAI,CAACP,iBAAiB,CAACO,aAAa,CAAC,EAAE;MACtD,MAAM,IAAII,KAAK,CAAC,qDAAqD,CAAC;IACxE;IACA,IAAIH,cAAc,IAAI,CAACR,iBAAiB,CAACQ,cAAc,CAAC,EAAE;MACxD,MAAM,IAAIG,KAAK,CAAC,sDAAsD,CAAC;IACzE;EACF;EAEA,MAAMC,YAAY,GAAGX,cAAc,CAACE,eAAe,CACjDC,aAAa,EACbF,kBAAkB,CAACG,OAAO,CAAC,EAC3B,CAAC,CAACI,iBAAiB,EACnBP,kBAAkB,CAACK,aAAa,CAAC,EACjCL,kBAAkB,CAACM,cAAc,CACnC,CAAC;EAED,OAAOK,UAAU,CAACC,wBAAwB,CACxCV,aAAa,EACbQ,YAAY,EACZJ,cACF,CAAC;AACH;AAEA,IAAIE,OAAO,IAAI,CAACZ,mBAAmB,CAAC,CAAC,EAAE;EACrCC,kCAAkC,CAACI,eAAe,CAAC;AACrD","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ /* eslint-disable n/no-missing-require */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+ /* eslint-disable @typescript-eslint/no-require-imports */
4
+ 'use strict';
5
+
6
+ export function installShareableGuestUnpacker() {
7
+ 'worklet';
8
+ 'no-worklet-closure';
9
+
10
+ let runOnRuntimeSyncFromId;
11
+ let runOnRuntimeAsyncFromId;
12
+ let memoize;
13
+ let scheduleOnRuntimeFromId;
14
+ let serializer;
15
+ if (globalThis.__RUNTIME_KIND === 1 || globalThis._WORKLETS_BUNDLE_MODE_ENABLED) {
16
+ serializer = require('./serializable').createSerializable;
17
+ const {
18
+ serializableMappingCache
19
+ } = require('./serializableMappingCache');
20
+ memoize = serializableMappingCache.set.bind(serializableMappingCache);
21
+ runOnRuntimeSyncFromId = require('../runtimes').runOnRuntimeSyncWithId;
22
+ runOnRuntimeAsyncFromId = require('../runtimes').runOnRuntimeAsyncWithId;
23
+ scheduleOnRuntimeFromId = require('../runtimes').scheduleOnRuntimeWithId;
24
+ } else {
25
+ // Serializer can't be inlined here because it might be yet undefined
26
+ // when the unpacker is installed.
27
+ serializer = value => globalThis.__serializer(value);
28
+ memoize = () => {
29
+ // No-op on Worklet Runtimes outside of Bundle Mode.
30
+ };
31
+ const proxy = globalThis.__workletsModuleProxy;
32
+ runOnRuntimeSyncFromId = (hostId, worklet, ...args) => {
33
+ const serializedWorklet = serializer(() => {
34
+ 'worklet';
35
+ 'limit-init-data-hoisting';
36
+
37
+ return globalThis.__serializer(worklet(...args));
38
+ });
39
+ return proxy.runOnRuntimeSyncWithId(hostId, serializedWorklet);
40
+ };
41
+ scheduleOnRuntimeFromId = (hostId, worklet, ...args) => {
42
+ proxy.scheduleOnRuntimeWithId(hostId, serializer(() => {
43
+ 'worklet';
44
+ 'limit-init-data-hoisting';
45
+
46
+ return globalThis.__serializer(worklet(...args));
47
+ }));
48
+ };
49
+ runOnRuntimeAsyncFromId = () => {
50
+ throw new Error('[Worklets] `Shareable.getAsync` can only be called on the RN Runtime.');
51
+ };
52
+ }
53
+ function shareableGuestUnpacker(hostId, shareableRef, guestDecorator) {
54
+ let shareableGuest = shareableRef;
55
+ shareableGuest.isHost = false;
56
+ shareableGuest.__shareableRef = true;
57
+ const get = () => {
58
+ 'worklet';
59
+ 'limit-init-data-hoisting';
60
+
61
+ return shareableGuest.value;
62
+ };
63
+ const setWithValue = value => {
64
+ 'worklet';
65
+ 'limit-init-data-hoisting';
66
+
67
+ shareableGuest.value = value;
68
+ };
69
+ const setWithSetter = setter => {
70
+ 'worklet';
71
+ 'limit-init-data-hoisting';
72
+
73
+ const currentValue = shareableGuest.value;
74
+ const newValue = setter(currentValue);
75
+ shareableGuest.value = newValue;
76
+ };
77
+ shareableGuest.getAsync = () => {
78
+ return runOnRuntimeAsyncFromId(hostId, get);
79
+ };
80
+ shareableGuest.getSync = () => {
81
+ return runOnRuntimeSyncFromId(hostId, get);
82
+ };
83
+ shareableGuest.setAsync = value => {
84
+ if (typeof value === 'function') {
85
+ scheduleOnRuntimeFromId(hostId, setWithSetter, value);
86
+ } else {
87
+ scheduleOnRuntimeFromId(hostId, setWithValue, value);
88
+ }
89
+ };
90
+ shareableGuest.setSync = value => {
91
+ if (typeof value === 'function') {
92
+ runOnRuntimeSyncFromId(hostId, setWithSetter, value);
93
+ } else {
94
+ runOnRuntimeSyncFromId(hostId, setWithValue, value);
95
+ }
96
+ };
97
+ if (guestDecorator) {
98
+ shareableGuest = guestDecorator(shareableGuest);
99
+ }
100
+ memoize(shareableGuest, shareableRef);
101
+ return shareableGuest;
102
+ }
103
+ globalThis.__shareableGuestUnpacker = shareableGuestUnpacker;
104
+ }
105
+ //# sourceMappingURL=shareableGuestUnpacker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installShareableGuestUnpacker","runOnRuntimeSyncFromId","runOnRuntimeAsyncFromId","memoize","scheduleOnRuntimeFromId","serializer","globalThis","__RUNTIME_KIND","_WORKLETS_BUNDLE_MODE_ENABLED","require","createSerializable","serializableMappingCache","set","bind","runOnRuntimeSyncWithId","runOnRuntimeAsyncWithId","scheduleOnRuntimeWithId","value","__serializer","proxy","__workletsModuleProxy","hostId","worklet","args","serializedWorklet","Error","shareableGuestUnpacker","shareableRef","guestDecorator","shareableGuest","isHost","__shareableRef","get","setWithValue","setWithSetter","setter","currentValue","newValue","getAsync","getSync","setAsync","setSync","__shareableGuestUnpacker"],"sourceRoot":"../../../src","sources":["memory/shareableGuestUnpacker.native.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ export function installShareableHostUnpacker() {
4
+ 'worklet';
5
+
6
+ function shareableHostUnpacker(initial, hostDecorator) {
7
+ let hostShareable = {
8
+ isHost: true,
9
+ __shareableRef: true,
10
+ value: initial
11
+ };
12
+ if (hostDecorator) {
13
+ hostShareable = hostDecorator(hostShareable);
14
+ }
15
+ const shareable = hostShareable;
16
+ return shareable;
17
+ }
18
+ globalThis.__shareableHostUnpacker = shareableHostUnpacker;
19
+ }
20
+ //# sourceMappingURL=shareableHostUnpacker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installShareableHostUnpacker","shareableHostUnpacker","initial","hostDecorator","hostShareable","isHost","__shareableRef","value","shareable","globalThis","__shareableHostUnpacker"],"sourceRoot":"../../../src","sources":["memory/shareableHostUnpacker.native.ts"],"mappings":"AAAA,YAAY;;AAIZ,OAAO,SAASA,4BAA4BA,CAAA,EAAG;EAC7C,SAAS;;EACT,SAASC,qBAAqBA,CAC5BC,OAAe,EACfC,aAA8C,EAC3B;IACnB,IAAIC,aAAa,GAAG;MAClBC,MAAM,EAAE,IAAI;MACZC,cAAc,EAAE,IAAI;MACpBC,KAAK,EAAEL;IACT,CAA0B;IAE1B,IAAIC,aAAa,EAAE;MACjBC,aAAa,GAAGD,aAAa,CAACC,aAAa,CAAC;IAC9C;IAEA,MAAMI,SAAS,GAAGJ,aAAa;IAC/B,OAAOI,SAAS;EAClB;EAEAC,UAAU,CAACC,uBAAuB,GAAGT,qBAAqB;AAC5D","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ export function createSynchronizable(_value) {
4
+ throw new Error('[Worklets] `createSynchronizable` is not supported on web.');
5
+ }
6
+ //# sourceMappingURL=synchronizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSynchronizable","_value","Error"],"sourceRoot":"../../../src","sources":["memory/synchronizable.ts"],"mappings":"AAAA,YAAY;;AAIZ,OAAO,SAASA,oBAAoBA,CAClCC,MAAc,EACU;EACxB,MAAM,IAAIC,KAAK,CAAC,4DAA4D,CAAC;AAC/E","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ import { WorkletsModule } from '../WorkletsModule/NativeWorklets';
4
+ import { createSerializable } from './serializable';
5
+ export function createSynchronizable(initialValue) {
6
+ const synchronizableRef = WorkletsModule.createSynchronizable(createSerializable(initialValue));
7
+ return globalThis.__synchronizableUnpacker(synchronizableRef);
8
+ }
9
+ //# sourceMappingURL=synchronizable.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WorkletsModule","createSerializable","createSynchronizable","initialValue","synchronizableRef","globalThis","__synchronizableUnpacker"],"sourceRoot":"../../../src","sources":["memory/synchronizable.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,cAAc,QAAQ,kCAAkC;AACjE,SAASC,kBAAkB,QAAQ,gBAAgB;AAGnD,OAAO,SAASC,oBAAoBA,CAClCC,YAAoB,EACI;EACxB,MAAMC,iBAAiB,GAAGJ,cAAc,CAACE,oBAAoB,CAC3DD,kBAAkB,CAACE,YAAY,CACjC,CAAC;EAED,OAAOE,UAAU,CAACC,wBAAwB,CACxCF,iBACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ /* eslint-disable n/no-missing-require */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+ /* eslint-disable @typescript-eslint/no-require-imports */
4
+ 'use strict';
5
+
6
+ export function installSynchronizableUnpacker() {
7
+ 'worklet';
8
+ 'no-worklet-closure';
9
+
10
+ // TODO: Add cache for synchronizables.
11
+ const serializer = globalThis.__RUNTIME_KIND === 1 || globalThis._WORKLETS_BUNDLE_MODE_ENABLED ? require('./serializable').createSerializable : value => globalThis.__serializer(value);
12
+ function synchronizableUnpacker(synchronizableRef) {
13
+ const synchronizable = synchronizableRef;
14
+ const proxy = globalThis.__workletsModuleProxy;
15
+ synchronizable.__synchronizableRef = true;
16
+ synchronizable.getDirty = () => {
17
+ return proxy.synchronizableGetDirty(synchronizable);
18
+ };
19
+ synchronizable.getBlocking = () => {
20
+ return proxy.synchronizableGetBlocking(synchronizable);
21
+ };
22
+ synchronizable.setBlocking = valueOrFunction => {
23
+ let newValue;
24
+ if (typeof valueOrFunction === 'function') {
25
+ const func = valueOrFunction;
26
+ synchronizable.lock();
27
+ const prev = synchronizable.getBlocking();
28
+ newValue = func(prev);
29
+ proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
30
+ synchronizable.unlock();
31
+ } else {
32
+ const value = valueOrFunction;
33
+ newValue = value;
34
+ proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
35
+ }
36
+ };
37
+ synchronizable.lock = () => {
38
+ proxy.synchronizableLock(synchronizable);
39
+ };
40
+ synchronizable.unlock = () => {
41
+ proxy.synchronizableUnlock(synchronizable);
42
+ };
43
+ return synchronizable;
44
+ }
45
+ globalThis.__synchronizableUnpacker = synchronizableUnpacker;
46
+ }
47
+ //# sourceMappingURL=synchronizableUnpacker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installSynchronizableUnpacker","serializer","globalThis","__RUNTIME_KIND","_WORKLETS_BUNDLE_MODE_ENABLED","require","createSerializable","value","__serializer","synchronizableUnpacker","synchronizableRef","synchronizable","proxy","__workletsModuleProxy","__synchronizableRef","getDirty","synchronizableGetDirty","getBlocking","synchronizableGetBlocking","setBlocking","valueOrFunction","newValue","func","lock","prev","synchronizableSetBlocking","unlock","synchronizableLock","synchronizableUnlock","__synchronizableUnpacker"],"sourceRoot":"../../../src","sources":["memory/synchronizableUnpacker.native.ts"],"mappings":"AAAA;AACA;AACA;AACA,YAAY;;AAIZ,OAAO,SAASA,6BAA6BA,CAAA,EAAG;EAC9C,SAAS;EACT,oBAAoB;;EACpB;EACA,MAAMC,UAAU,GACdC,UAAU,CAACC,cAAc,KAAK,CAAC,IAAID,UAAU,CAACE,6BAA6B,GACvEC,OAAO,CAAC,gBAAgB,CAAC,CAACC,kBAAkB,GAC3CC,KAAc,IAAKL,UAAU,CAACM,YAAY,CAACD,KAAK,CAAC;EAExD,SAASE,sBAAsBA,CAC7BC,iBAA4C,EACpB;IACxB,MAAMC,cAAc,GAClBD,iBAAsD;IACxD,MAAME,KAAK,GAAGV,UAAU,CAACW,qBAAqB;IAE9CF,cAAc,CAACG,mBAAmB,GAAG,IAAI;IACzCH,cAAc,CAACI,QAAQ,GAAG,MAAM;MAC9B,OAAOH,KAAK,CAACI,sBAAsB,CAACL,cAAc,CAAC;IACrD,CAAC;IACDA,cAAc,CAACM,WAAW,GAAG,MAAM;MACjC,OAAOL,KAAK,CAACM,yBAAyB,CAACP,cAAc,CAAC;IACxD,CAAC;IACDA,cAAc,CAACQ,WAAW,GACxBC,eAAoD,IACjD;MACH,IAAIC,QAAgB;MACpB,IAAI,OAAOD,eAAe,KAAK,UAAU,EAAE;QACzC,MAAME,IAAI,GAAGF,eAA2C;QACxDT,cAAc,CAACY,IAAI,CAAC,CAAC;QACrB,MAAMC,IAAI,GAAGb,cAAc,CAACM,WAAW,CAAC,CAAC;QACzCI,QAAQ,GAAGC,IAAI,CAACE,IAAI,CAAC;QAErBZ,KAAK,CAACa,yBAAyB,CAACd,cAAc,EAAEV,UAAU,CAACoB,QAAQ,CAAC,CAAC;QAErEV,cAAc,CAACe,MAAM,CAAC,CAAC;MACzB,CAAC,MAAM;QACL,MAAMnB,KAAK,GAAGa,eAAe;QAC7BC,QAAQ,GAAGd,KAAK;QAChBK,KAAK,CAACa,yBAAyB,CAACd,cAAc,EAAEV,UAAU,CAACoB,QAAQ,CAAC,CAAC;MACvE;IACF,CAAC;IACDV,cAAc,CAACY,IAAI,GAAG,MAAM;MAC1BX,KAAK,CAACe,kBAAkB,CAAChB,cAAc,CAAC;IAC1C,CAAC;IACDA,cAAc,CAACe,MAAM,GAAG,MAAM;MAC5Bd,KAAK,CAACgB,oBAAoB,CAACjB,cAAc,CAAC;IAC5C,CAAC;IAED,OAAOA,cAAc;EACvB;EAEAT,UAAU,CAAC2B,wBAAwB,GAAGpB,sBAAsB;AAC9D","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * The below type is used for HostObjects returned by the JSI API that don't
5
+ * have any accessible fields or methods but can carry data that is accessed
6
+ * from the c++ side. We add a field to the type to make it possible for
7
+ * typescript to recognize which JSI methods accept those types as arguments and
8
+ * to be able to correctly type check other methods that may use them. However,
9
+ * this field is not actually defined nor should be used for anything else as
10
+ * assigning any data to those objects will throw an error.
11
+ */
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["memory/types.ts"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ export function installValueUnpacker() {
4
+ 'worklet';
5
+ 'no-worklet-closure';
6
+
7
+ const workletsCache = new Map();
8
+ const handleCache = new WeakMap();
9
+ function valueUnpacker(objectToUnpack) {
10
+ const workletHash = objectToUnpack.__workletHash;
11
+ if (workletHash !== undefined) {
12
+ let workletFun = workletsCache.get(workletHash);
13
+ if (workletFun === undefined) {
14
+ const initData = objectToUnpack.__initData;
15
+ if (initData.bytecode !== undefined) {
16
+ workletFun = globalThis.evalBytecode(initData.bytecode);
17
+ } else if (globalThis.evalWithSourceMap && initData.sourceMap) {
18
+ // if the runtime (hermes only for now) supports loading source maps
19
+ // we want to use the proper filename for the location as it guarantees
20
+ // that debugger understands and loads the source code of the file where
21
+ // the worklet is defined.
22
+ workletFun = globalThis.evalWithSourceMap(initData.code, initData.location, initData.sourceMap);
23
+ } else if (globalThis.evalWithSourceUrl) {
24
+ // if the runtime doesn't support loading source maps, in dev mode we
25
+ // can pass source url when evaluating the worklet. Now, instead of using
26
+ // the actual file location we use worklet hash, as it the allows us to
27
+ // properly symbolicate traces (see errors.ts for details)
28
+ workletFun = globalThis.evalWithSourceUrl(initData.code, `worklet_${workletHash}`);
29
+ } else {
30
+ // in release we use the regular eval to save on JSI calls
31
+ // eslint-disable-next-line no-eval
32
+ workletFun = eval(initData.code);
33
+ }
34
+ workletsCache.set(workletHash, workletFun);
35
+ }
36
+ const functionInstance = workletFun.bind(objectToUnpack);
37
+ objectToUnpack._recur = functionInstance;
38
+ return functionInstance;
39
+ } else if (objectToUnpack.__init !== undefined) {
40
+ let value = handleCache.get(objectToUnpack);
41
+ if (value === undefined) {
42
+ value = objectToUnpack.__init();
43
+ handleCache.set(objectToUnpack, value);
44
+ }
45
+ return value;
46
+ } else {
47
+ throw new Error(`[Worklets] Data type not recognized by value unpacker: "${globalThis._toString(objectToUnpack)}".`);
48
+ }
49
+ }
50
+ globalThis.__valueUnpacker = valueUnpacker;
51
+ }
52
+ //# sourceMappingURL=valueUnpacker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installValueUnpacker","workletsCache","Map","handleCache","WeakMap","valueUnpacker","objectToUnpack","workletHash","__workletHash","undefined","workletFun","get","initData","__initData","bytecode","globalThis","evalBytecode","evalWithSourceMap","sourceMap","code","location","evalWithSourceUrl","eval","set","functionInstance","bind","_recur","__init","value","Error","_toString","__valueUnpacker"],"sourceRoot":"../../../src","sources":["memory/valueUnpacker.native.ts"],"mappings":"AAAA,YAAY;;AAcZ,OAAO,SAASA,oBAAoBA,CAAA,EAAG;EACrC,SAAS;EACT,oBAAoB;;EACpB,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAwB,CAAC;EACtD,MAAMC,WAAW,GAAG,IAAIC,OAAO,CAAkB,CAAC;EAElD,SAASC,aAAaA,CAACC,cAA8B,EAAW;IAC9D,MAAMC,WAAW,GAAGD,cAAc,CAACE,aAAa;IAChD,IAAID,WAAW,KAAKE,SAAS,EAAE;MAC7B,IAAIC,UAAU,GAAGT,aAAa,CAACU,GAAG,CAACJ,WAAW,CAAC;MAC/C,IAAIG,UAAU,KAAKD,SAAS,EAAE;QAC5B,MAAMG,QAAQ,GAAGN,cAAc,CAACO,UAAU;QAC1C,IAAID,QAAQ,CAAEE,QAAQ,KAAKL,SAAS,EAAE;UACpCC,UAAU,GAAGK,UAAU,CAACC,YAAY,CAAEJ,QAAQ,CAAEE,QAAQ,CAAC;QAC3D,CAAC,MAAM,IAAIC,UAAU,CAACE,iBAAiB,IAAIL,QAAQ,CAAEM,SAAS,EAAE;UAC9D;UACA;UACA;UACA;UACAR,UAAU,GAAGK,UAAU,CAACE,iBAAiB,CACvCL,QAAQ,CAAEO,IAAI,EACdP,QAAQ,CAAEQ,QAAQ,EAClBR,QAAQ,CAAEM,SACZ,CAAC;QACH,CAAC,MAAM,IAAIH,UAAU,CAACM,iBAAiB,EAAE;UACvC;UACA;UACA;UACA;UACAX,UAAU,GAAGK,UAAU,CAACM,iBAAiB,CACvCT,QAAQ,CAAEO,IAAI,EACd,WAAWZ,WAAW,EACxB,CAAC;QACH,CAAC,MAAM;UACL;UACA;UACAG,UAAU,GAAGY,IAAI,CAACV,QAAQ,CAAEO,IAAK,CAAC;QACpC;QACAlB,aAAa,CAACsB,GAAG,CAAChB,WAAW,EAAEG,UAAW,CAAC;MAC7C;MACA,MAAMc,gBAAgB,GAAGd,UAAU,CAAEe,IAAI,CAACnB,cAAc,CAAC;MACzDA,cAAc,CAACoB,MAAM,GAAGF,gBAAgB;MACxC,OAAOA,gBAAgB;IACzB,CAAC,MAAM,IAAIlB,cAAc,CAACqB,MAAM,KAAKlB,SAAS,EAAE;MAC9C,IAAImB,KAAK,GAAGzB,WAAW,CAACQ,GAAG,CAACL,cAAc,CAAC;MAC3C,IAAIsB,KAAK,KAAKnB,SAAS,EAAE;QACvBmB,KAAK,GAAGtB,cAAc,CAACqB,MAAM,CAAC,CAAC;QAC/BxB,WAAW,CAACoB,GAAG,CAACjB,cAAc,EAAEsB,KAAK,CAAC;MACxC;MACA,OAAOA,KAAK;IACd,CAAC,MAAM;MACL,MAAM,IAAIC,KAAK,CACb,2DAA2Dd,UAAU,CAACe,SAAS,CAC7ExB,cACF,CAAC,IACH,CAAC;IACH;EACF;EAEAS,UAAU,CAACgB,eAAe,GAAG1B,aAA8B;AAC7D","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ 'use strict';
2
+
3
+ import { mockedRequestAnimationFrame } from "./runLoop/uiRuntime/mockedRequestAnimationFrame.js";
4
+ import { RuntimeKind } from "./runtimeKind.js";
5
+ import { isWorkletFunction } from "./workletFunction.js";
6
+ const NOOP = () => {};
7
+ const NOOP_FACTORY = () => NOOP;
8
+ const ID = value => value;
9
+ const IMMEDIATE_CALLBACK_INVOCATION = callback => callback();
10
+ globalThis._WORKLET = false;
11
+ globalThis.__RUNTIME_KIND = RuntimeKind.ReactNative;
12
+ globalThis._log = console.log;
13
+ globalThis._getAnimationTimestamp = () => performance.now();
14
+ // requestAnimationFrame react-native jest's setup is incorrect as it polyfills
15
+ // the method directly using setTimeout, therefore the callback doesn't get the
16
+ // expected timestamp as the only argument.
17
+ // We override this setup here to make sure that callbacks get the proper timestamps
18
+ // when executed. For non-jest environments we define requestAnimationFrame in setupRequestAnimationFrame
19
+ // @ts-ignore TypeScript uses Node definition for rAF, setTimeout, etc which returns a Timeout object rather than a number
20
+ globalThis.requestAnimationFrame = mockedRequestAnimationFrame;
21
+ const WorkletAPI = {
22
+ isShareableRef: () => true,
23
+ makeShareable: ID,
24
+ makeShareableCloneOnUIRecursive: ID,
25
+ makeShareableCloneRecursive: ID,
26
+ shareableMappingCache: new Map(),
27
+ getStaticFeatureFlag: () => false,
28
+ setDynamicFeatureFlag: NOOP,
29
+ isSynchronizable: () => false,
30
+ getRuntimeKind: () => RuntimeKind.ReactNative,
31
+ RuntimeKind: RuntimeKind,
32
+ createWorkletRuntime: NOOP_FACTORY,
33
+ runOnRuntime: ID,
34
+ runOnRuntimeAsync(_workletRuntime, worklet, ...args) {
35
+ return WorkletAPI.runOnUIAsync(worklet, ...args);
36
+ },
37
+ scheduleOnRuntime: IMMEDIATE_CALLBACK_INVOCATION,
38
+ createSerializable: ID,
39
+ isSerializableRef: ID,
40
+ serializableMappingCache: new Map(),
41
+ createSynchronizable: ID,
42
+ callMicrotasks: NOOP,
43
+ executeOnUIRuntimeSync: ID,
44
+ runOnJS(fun) {
45
+ return (...args) => queueMicrotask(args.length ? () => fun(...args) : fun);
46
+ },
47
+ runOnUI(worklet) {
48
+ return (...args) => {
49
+ // Mocking time in Jest is tricky as both requestAnimationFrame and queueMicrotask
50
+ // callbacks run on the same queue and can be interleaved. There is no way
51
+ // to flush particular queue in Jest and the only control over mocked timers
52
+ // is by using jest.advanceTimersByTime() method which advances all types
53
+ // of timers including immediate and animation callbacks. Ideally we'd like
54
+ // to have some way here to schedule work along with React updates, but
55
+ // that's not possible, and hence in Jest environment instead of using scheduling
56
+ // mechanism we just schedule the work ommiting the queue. This is ok for the
57
+ // uses that we currently have but may not be ok for future tests that we write.
58
+ mockedRequestAnimationFrame(() => {
59
+ worklet(...args);
60
+ });
61
+ };
62
+ },
63
+ runOnUIAsync(worklet, ...args) {
64
+ return new Promise(resolve => {
65
+ mockedRequestAnimationFrame(() => {
66
+ const result = worklet(...args);
67
+ resolve(result);
68
+ });
69
+ });
70
+ },
71
+ runOnUISync: IMMEDIATE_CALLBACK_INVOCATION,
72
+ scheduleOnRN(fun, ...args) {
73
+ WorkletAPI.runOnJS(fun)(...args);
74
+ },
75
+ scheduleOnUI(worklet, ...args) {
76
+ WorkletAPI.runOnUI(worklet)(...args);
77
+ },
78
+ isWorkletFunction: isWorkletFunction,
79
+ WorkletsModule: {}
80
+ };
81
+ module.exports = {
82
+ __esModule: true,
83
+ ...WorkletAPI
84
+ };
85
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mockedRequestAnimationFrame","RuntimeKind","isWorkletFunction","NOOP","NOOP_FACTORY","ID","value","IMMEDIATE_CALLBACK_INVOCATION","callback","globalThis","_WORKLET","__RUNTIME_KIND","ReactNative","_log","console","log","_getAnimationTimestamp","performance","now","requestAnimationFrame","WorkletAPI","isShareableRef","makeShareable","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","shareableMappingCache","Map","getStaticFeatureFlag","setDynamicFeatureFlag","isSynchronizable","getRuntimeKind","createWorkletRuntime","runOnRuntime","runOnRuntimeAsync","_workletRuntime","worklet","args","runOnUIAsync","scheduleOnRuntime","createSerializable","isSerializableRef","serializableMappingCache","createSynchronizable","callMicrotasks","executeOnUIRuntimeSync","runOnJS","fun","queueMicrotask","length","runOnUI","Promise","resolve","result","runOnUISync","scheduleOnRN","scheduleOnUI","WorkletsModule","module","exports","__esModule"],"sourceRoot":"../../src","sources":["mock.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ export const IS_JEST = typeof globalThis.jest !== 'undefined' || process.env.NODE_ENV === 'test';
4
+ //# sourceMappingURL=platformChecker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IS_JEST","globalThis","jest","process","env","NODE_ENV"],"sourceRoot":"../../src","sources":["platformChecker.ts"],"mappings":"AAAA,YAAY;;AAEZ,OAAO,MAAMA,OAAgB,GAC3B,OAAOC,UAAU,CAACC,IAAI,KAAK,WAAW,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ export const IS_JEST = false;
4
+ //# sourceMappingURL=platformChecker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IS_JEST"],"sourceRoot":"../../src","sources":["platformChecker.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,OAAO,MAAMA,OAAO,GAAG,KAAK","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-function-type */
2
+ 'use strict';
3
+
4
+ // This file works by accident - currently Builder Bob doesn't move `.d.ts` files to output types.
5
+ // If it ever breaks, we should address it so we'd not pollute the user's global namespace.
6
+ export {};
7
+ //# sourceMappingURL=privateGlobals.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["privateGlobals.d.ts"],"mappings":"AAAA;AACA,YAAY;;AAEZ;AACA;AAAA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ export function setupSetImmediate() {
4
+ 'worklet';
5
+
6
+ const setImmediatePolyfill = (callback, ...args) => {
7
+ return setTimeout(callback, 0, ...args);
8
+ };
9
+ const clearImmediatePolyfill = immediateHandle => {
10
+ clearTimeout(immediateHandle);
11
+ };
12
+ globalThis.setImmediate = setImmediatePolyfill;
13
+ globalThis.clearImmediate = clearImmediatePolyfill;
14
+ }
15
+ //# sourceMappingURL=setImmediatePolyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["setupSetImmediate","setImmediatePolyfill","callback","args","setTimeout","clearImmediatePolyfill","immediateHandle","clearTimeout","globalThis","setImmediate","clearImmediate"],"sourceRoot":"../../../../src","sources":["runLoop/common/setImmediatePolyfill.ts"],"mappings":"AAAA,YAAY;;AAEZ,OAAO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,SAAS;;EAET,MAAMC,oBAAoB,GAAGA,CAC3BC,QAAsC,EACtC,GAAGC,IAAe,KACf;IACH,OAAOC,UAAU,CAACF,QAAQ,EAAE,CAAC,EAAE,GAAGC,IAAI,CAAC;EACzC,CAAC;EAED,MAAME,sBAAsB,GAAIC,eAAuB,IAAK;IAC1DC,YAAY,CAACD,eAAe,CAAC;EAC/B,CAAC;EAEDE,UAAU,CAACC,YAAY,GACrBR,oBAAsD;EACxDO,UAAU,CAACE,cAAc,GAAGL,sBAA+C;AAC7E","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ export function setupSetInterval() {
4
+ 'worklet';
5
+
6
+ const intervalHandleToTimeoutHandle = new Map();
7
+ const setIntervalPolyfill = (callback, delay = 0, ...args) => {
8
+ let intervalHandle = 0;
9
+ const repeatingCallback = () => {
10
+ const timeoutHandle = setTimeout(repeatingCallback, delay);
11
+ intervalHandleToTimeoutHandle.set(intervalHandle, timeoutHandle);
12
+ callback(...args);
13
+ };
14
+ intervalHandle = setTimeout(repeatingCallback, delay);
15
+ intervalHandleToTimeoutHandle.set(intervalHandle, intervalHandle);
16
+ return intervalHandle;
17
+ };
18
+ const clearIntervalPolyfill = intervalHandle => {
19
+ const timeoutHandle = intervalHandleToTimeoutHandle.get(intervalHandle);
20
+ clearTimeout(timeoutHandle);
21
+ intervalHandleToTimeoutHandle.delete(intervalHandle);
22
+ };
23
+ globalThis.setInterval = setIntervalPolyfill;
24
+ globalThis.clearInterval = clearIntervalPolyfill;
25
+ }
26
+ //# sourceMappingURL=setIntervalPolyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["setupSetInterval","intervalHandleToTimeoutHandle","Map","setIntervalPolyfill","callback","delay","args","intervalHandle","repeatingCallback","timeoutHandle","setTimeout","set","clearIntervalPolyfill","get","clearTimeout","delete","globalThis","setInterval","clearInterval"],"sourceRoot":"../../../../src","sources":["runLoop/common/setIntervalPolyfill.ts"],"mappings":"AAAA,YAAY;;AAEZ,OAAO,SAASA,gBAAgBA,CAAA,EAAG;EACjC,SAAS;;EAET,MAAMC,6BAAkD,GAAG,IAAIC,GAAG,CAAC,CAAC;EAEpE,MAAMC,mBAAmB,GAAGA,CAC1BC,QAAsC,EACtCC,KAAa,GAAG,CAAC,EACjB,GAAGC,IAAe,KACf;IACH,IAAIC,cAAc,GAAG,CAAC;IAEtB,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;MAC9B,MAAMC,aAAa,GAAGC,UAAU,CAC9BF,iBAAiB,EACjBH,KACF,CAAsB;MACtBJ,6BAA6B,CAACU,GAAG,CAACJ,cAAc,EAAEE,aAAa,CAAC;MAChEL,QAAQ,CAAC,GAAGE,IAAI,CAAC;IACnB,CAAC;IAEDC,cAAc,GAAGG,UAAU,CAACF,iBAAiB,EAAEH,KAAK,CAAsB;IAC1EJ,6BAA6B,CAACU,GAAG,CAACJ,cAAc,EAAEA,cAAc,CAAC;IAEjE,OAAOA,cAAc;EACvB,CAAC;EAED,MAAMK,qBAAqB,GAAIL,cAAsB,IAAK;IACxD,MAAME,aAAa,GAAGR,6BAA6B,CAACY,GAAG,CAACN,cAAc,CAAC;IACvEO,YAAY,CAACL,aAAa,CAAC;IAC3BR,6BAA6B,CAACc,MAAM,CAACR,cAAc,CAAC;EACtD,CAAC;EAEDS,UAAU,CAACC,WAAW,GAAGd,mBAAyC;EAClEa,UAAU,CAACE,aAAa,GAAGN,qBAA6C;AAC1E","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * This is Jest implementation of `requestAnimationFrame` that is required by
5
+ * React Native for test purposes.
6
+ */
7
+ export function mockedRequestAnimationFrame(callback) {
8
+ return setTimeout(() => callback(performance.now()), 0);
9
+ }
10
+ //# sourceMappingURL=mockedRequestAnimationFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mockedRequestAnimationFrame","callback","setTimeout","performance","now"],"sourceRoot":"../../../../src","sources":["runLoop/uiRuntime/mockedRequestAnimationFrame.ts"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,OAAO,SAASA,2BAA2BA,CACzCC,QAAqC,EACN;EAC/B,OAAOC,UAAU,CAAC,MAAMD,QAAQ,CAACE,WAAW,CAACC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzD","ignoreList":[]}