react-native-worklets 0.8.1 → 0.8.2

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 (255) hide show
  1. package/Common/cpp/worklets/SharedItems/Shareable.cpp +7 -5
  2. package/README.md +1 -1
  3. package/package.json +3 -2
  4. package/src/debug/jsVersion.ts +1 -1
  5. package/lib/module/WorkletsModule/NativeWorklets.js +0 -4
  6. package/lib/module/WorkletsModule/NativeWorklets.js.map +0 -1
  7. package/lib/module/WorkletsModule/NativeWorklets.native.js +0 -152
  8. package/lib/module/WorkletsModule/NativeWorklets.native.js.map +0 -1
  9. package/lib/module/WorkletsModule/workletsModuleProxy.js +0 -4
  10. package/lib/module/WorkletsModule/workletsModuleProxy.js.map +0 -1
  11. package/lib/module/bundleMode/metroOverrides.native.js +0 -115
  12. package/lib/module/bundleMode/metroOverrides.native.js.map +0 -1
  13. package/lib/module/bundleMode/network.native.js +0 -41
  14. package/lib/module/bundleMode/network.native.js.map +0 -1
  15. package/lib/module/callGuard.native.js +0 -30
  16. package/lib/module/callGuard.native.js.map +0 -1
  17. package/lib/module/debug/WorkletsError.js +0 -12
  18. package/lib/module/debug/WorkletsError.js.map +0 -1
  19. package/lib/module/debug/WorkletsError.native.js +0 -27
  20. package/lib/module/debug/WorkletsError.native.js.map +0 -1
  21. package/lib/module/debug/checkCppVersion.js +0 -30
  22. package/lib/module/debug/checkCppVersion.js.map +0 -1
  23. package/lib/module/debug/errors.native.js +0 -69
  24. package/lib/module/debug/errors.native.js.map +0 -1
  25. package/lib/module/debug/jsVersion.js +0 -9
  26. package/lib/module/debug/jsVersion.js.map +0 -1
  27. package/lib/module/debug/logger.js +0 -15
  28. package/lib/module/debug/logger.js.map +0 -1
  29. package/lib/module/debug/types.js +0 -2
  30. package/lib/module/debug/types.js.map +0 -1
  31. package/lib/module/deprecated.js +0 -27
  32. package/lib/module/deprecated.js.map +0 -1
  33. package/lib/module/featureFlags/featureFlags.js +0 -12
  34. package/lib/module/featureFlags/featureFlags.js.map +0 -1
  35. package/lib/module/featureFlags/featureFlags.native.js +0 -51
  36. package/lib/module/featureFlags/featureFlags.native.js.map +0 -1
  37. package/lib/module/featureFlags/staticFlags.json +0 -5
  38. package/lib/module/featureFlags/types.js +0 -13
  39. package/lib/module/featureFlags/types.js.map +0 -1
  40. package/lib/module/guardImplementation.native.js +0 -17
  41. package/lib/module/guardImplementation.native.js.map +0 -1
  42. package/lib/module/index.js +0 -28
  43. package/lib/module/index.js.map +0 -1
  44. package/lib/module/initializers/initializers.js +0 -24
  45. package/lib/module/initializers/initializers.js.map +0 -1
  46. package/lib/module/initializers/initializers.native.js +0 -174
  47. package/lib/module/initializers/initializers.native.js.map +0 -1
  48. package/lib/module/initializers/workletRuntimeEntry.js +0 -6
  49. package/lib/module/initializers/workletRuntimeEntry.js.map +0 -1
  50. package/lib/module/initializers/workletRuntimeEntry.native.js +0 -37
  51. package/lib/module/initializers/workletRuntimeEntry.native.js.map +0 -1
  52. package/lib/module/memory/bundleUnpacker.native.js +0 -47
  53. package/lib/module/memory/bundleUnpacker.native.js.map +0 -1
  54. package/lib/module/memory/customSerializableUnpacker.native.js +0 -18
  55. package/lib/module/memory/customSerializableUnpacker.native.js.map +0 -1
  56. package/lib/module/memory/isShareable.js +0 -8
  57. package/lib/module/memory/isShareable.js.map +0 -1
  58. package/lib/module/memory/isSynchronizable.js +0 -8
  59. package/lib/module/memory/isSynchronizable.js.map +0 -1
  60. package/lib/module/memory/serializable.js +0 -18
  61. package/lib/module/memory/serializable.js.map +0 -1
  62. package/lib/module/memory/serializable.native.js +0 -642
  63. package/lib/module/memory/serializable.native.js.map +0 -1
  64. package/lib/module/memory/serializableMappingCache.js +0 -11
  65. package/lib/module/memory/serializableMappingCache.js.map +0 -1
  66. package/lib/module/memory/serializableMappingCache.native.js +0 -29
  67. package/lib/module/memory/serializableMappingCache.native.js.map +0 -1
  68. package/lib/module/memory/shareable.js +0 -28
  69. package/lib/module/memory/shareable.js.map +0 -1
  70. package/lib/module/memory/shareable.native.js +0 -53
  71. package/lib/module/memory/shareable.native.js.map +0 -1
  72. package/lib/module/memory/shareableGuestUnpacker.native.js +0 -96
  73. package/lib/module/memory/shareableGuestUnpacker.native.js.map +0 -1
  74. package/lib/module/memory/shareableHostUnpacker.native.js +0 -18
  75. package/lib/module/memory/shareableHostUnpacker.native.js.map +0 -1
  76. package/lib/module/memory/synchronizable.js +0 -7
  77. package/lib/module/memory/synchronizable.js.map +0 -1
  78. package/lib/module/memory/synchronizable.native.js +0 -9
  79. package/lib/module/memory/synchronizable.native.js.map +0 -1
  80. package/lib/module/memory/synchronizableUnpacker.native.js +0 -42
  81. package/lib/module/memory/synchronizableUnpacker.native.js.map +0 -1
  82. package/lib/module/memory/types.js +0 -12
  83. package/lib/module/memory/types.js.map +0 -1
  84. package/lib/module/memory/valueUnpacker.native.js +0 -61
  85. package/lib/module/memory/valueUnpacker.native.js.map +0 -1
  86. package/lib/module/mock.js +0 -85
  87. package/lib/module/mock.js.map +0 -1
  88. package/lib/module/platformChecker.js +0 -8
  89. package/lib/module/platformChecker.js.map +0 -1
  90. package/lib/module/platformChecker.native.js +0 -4
  91. package/lib/module/platformChecker.native.js.map +0 -1
  92. package/lib/module/privateGlobals.d.js +0 -6
  93. package/lib/module/privateGlobals.d.js.map +0 -1
  94. package/lib/module/runLoop/common/setImmediatePolyfill.js +0 -15
  95. package/lib/module/runLoop/common/setImmediatePolyfill.js.map +0 -1
  96. package/lib/module/runLoop/common/setIntervalPolyfill.js +0 -26
  97. package/lib/module/runLoop/common/setIntervalPolyfill.js.map +0 -1
  98. package/lib/module/runLoop/uiRuntime/mockedRequestAnimationFrame.js +0 -10
  99. package/lib/module/runLoop/uiRuntime/mockedRequestAnimationFrame.js.map +0 -1
  100. package/lib/module/runLoop/uiRuntime/requestAnimationFrame.js +0 -63
  101. package/lib/module/runLoop/uiRuntime/requestAnimationFrame.js.map +0 -1
  102. package/lib/module/runLoop/uiRuntime/setTimeoutPolyfill.js +0 -32
  103. package/lib/module/runLoop/uiRuntime/setTimeoutPolyfill.js.map +0 -1
  104. package/lib/module/runLoop/workletRuntime/index.js +0 -19
  105. package/lib/module/runLoop/workletRuntime/index.js.map +0 -1
  106. package/lib/module/runLoop/workletRuntime/queueMicrotask.js +0 -11
  107. package/lib/module/runLoop/workletRuntime/queueMicrotask.js.map +0 -1
  108. package/lib/module/runLoop/workletRuntime/requestAnimationFramePolyfill.js +0 -48
  109. package/lib/module/runLoop/workletRuntime/requestAnimationFramePolyfill.js.map +0 -1
  110. package/lib/module/runLoop/workletRuntime/setTimeout.js +0 -28
  111. package/lib/module/runLoop/workletRuntime/setTimeout.js.map +0 -1
  112. package/lib/module/runLoop/workletRuntime/taskQueue.js +0 -37
  113. package/lib/module/runLoop/workletRuntime/taskQueue.js.map +0 -1
  114. package/lib/module/runtimeKind.js +0 -92
  115. package/lib/module/runtimeKind.js.map +0 -1
  116. package/lib/module/runtimes.js +0 -33
  117. package/lib/module/runtimes.js.map +0 -1
  118. package/lib/module/runtimes.native.js +0 -331
  119. package/lib/module/runtimes.native.js.map +0 -1
  120. package/lib/module/specs/NativeWorkletsModule.js +0 -5
  121. package/lib/module/specs/NativeWorkletsModule.js.map +0 -1
  122. package/lib/module/specs/index.js +0 -10
  123. package/lib/module/specs/index.js.map +0 -1
  124. package/lib/module/threads.js +0 -61
  125. package/lib/module/threads.js.map +0 -1
  126. package/lib/module/threads.native.js +0 -290
  127. package/lib/module/threads.native.js.map +0 -1
  128. package/lib/module/types.js +0 -5
  129. package/lib/module/types.js.map +0 -1
  130. package/lib/module/workletFunction.js +0 -36
  131. package/lib/module/workletFunction.js.map +0 -1
  132. package/lib/typescript/WorkletsModule/NativeWorklets.d.ts +0 -4
  133. package/lib/typescript/WorkletsModule/NativeWorklets.d.ts.map +0 -1
  134. package/lib/typescript/WorkletsModule/NativeWorklets.native.d.ts +0 -3
  135. package/lib/typescript/WorkletsModule/NativeWorklets.native.d.ts.map +0 -1
  136. package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts +0 -45
  137. package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts.map +0 -1
  138. package/lib/typescript/bundleMode/metroOverrides.native.d.ts +0 -28
  139. package/lib/typescript/bundleMode/metroOverrides.native.d.ts.map +0 -1
  140. package/lib/typescript/bundleMode/network.native.d.ts +0 -7
  141. package/lib/typescript/bundleMode/network.native.d.ts.map +0 -1
  142. package/lib/typescript/callGuard.native.d.ts +0 -4
  143. package/lib/typescript/callGuard.native.d.ts.map +0 -1
  144. package/lib/typescript/debug/WorkletsError.d.ts +0 -3
  145. package/lib/typescript/debug/WorkletsError.d.ts.map +0 -1
  146. package/lib/typescript/debug/WorkletsError.native.d.ts +0 -8
  147. package/lib/typescript/debug/WorkletsError.native.d.ts.map +0 -1
  148. package/lib/typescript/debug/checkCppVersion.d.ts +0 -3
  149. package/lib/typescript/debug/checkCppVersion.d.ts.map +0 -1
  150. package/lib/typescript/debug/errors.native.d.ts +0 -16
  151. package/lib/typescript/debug/errors.native.d.ts.map +0 -1
  152. package/lib/typescript/debug/jsVersion.d.ts +0 -7
  153. package/lib/typescript/debug/jsVersion.d.ts.map +0 -1
  154. package/lib/typescript/debug/logger.d.ts +0 -5
  155. package/lib/typescript/debug/logger.d.ts.map +0 -1
  156. package/lib/typescript/debug/types.d.ts +0 -9
  157. package/lib/typescript/debug/types.d.ts.map +0 -1
  158. package/lib/typescript/deprecated.d.ts +0 -19
  159. package/lib/typescript/deprecated.d.ts.map +0 -1
  160. package/lib/typescript/featureFlags/featureFlags.d.ts +0 -5
  161. package/lib/typescript/featureFlags/featureFlags.d.ts.map +0 -1
  162. package/lib/typescript/featureFlags/featureFlags.native.d.ts +0 -6
  163. package/lib/typescript/featureFlags/featureFlags.native.d.ts.map +0 -1
  164. package/lib/typescript/featureFlags/types.d.ts +0 -21
  165. package/lib/typescript/featureFlags/types.d.ts.map +0 -1
  166. package/lib/typescript/guardImplementation.native.d.ts +0 -2
  167. package/lib/typescript/guardImplementation.native.d.ts.map +0 -1
  168. package/lib/typescript/index.d.ts +0 -17
  169. package/lib/typescript/index.d.ts.map +0 -1
  170. package/lib/typescript/initializers/initializers.d.ts +0 -2
  171. package/lib/typescript/initializers/initializers.d.ts.map +0 -1
  172. package/lib/typescript/initializers/initializers.native.d.ts +0 -18
  173. package/lib/typescript/initializers/initializers.native.d.ts.map +0 -1
  174. package/lib/typescript/initializers/workletRuntimeEntry.d.ts +0 -2
  175. package/lib/typescript/initializers/workletRuntimeEntry.d.ts.map +0 -1
  176. package/lib/typescript/initializers/workletRuntimeEntry.native.d.ts +0 -14
  177. package/lib/typescript/initializers/workletRuntimeEntry.native.d.ts.map +0 -1
  178. package/lib/typescript/memory/bundleUnpacker.native.d.ts +0 -7
  179. package/lib/typescript/memory/bundleUnpacker.native.d.ts.map +0 -1
  180. package/lib/typescript/memory/customSerializableUnpacker.native.d.ts +0 -3
  181. package/lib/typescript/memory/customSerializableUnpacker.native.d.ts.map +0 -1
  182. package/lib/typescript/memory/isShareable.d.ts +0 -3
  183. package/lib/typescript/memory/isShareable.d.ts.map +0 -1
  184. package/lib/typescript/memory/isSynchronizable.d.ts +0 -3
  185. package/lib/typescript/memory/isSynchronizable.d.ts.map +0 -1
  186. package/lib/typescript/memory/serializable.d.ts +0 -7
  187. package/lib/typescript/memory/serializable.d.ts.map +0 -1
  188. package/lib/typescript/memory/serializable.native.d.ts +0 -37
  189. package/lib/typescript/memory/serializable.native.d.ts.map +0 -1
  190. package/lib/typescript/memory/serializableMappingCache.d.ts +0 -6
  191. package/lib/typescript/memory/serializableMappingCache.d.ts.map +0 -1
  192. package/lib/typescript/memory/serializableMappingCache.native.d.ts +0 -13
  193. package/lib/typescript/memory/serializableMappingCache.native.d.ts.map +0 -1
  194. package/lib/typescript/memory/shareable.d.ts +0 -23
  195. package/lib/typescript/memory/shareable.d.ts.map +0 -1
  196. package/lib/typescript/memory/shareable.native.d.ts +0 -23
  197. package/lib/typescript/memory/shareable.native.d.ts.map +0 -1
  198. package/lib/typescript/memory/shareableGuestUnpacker.native.d.ts +0 -4
  199. package/lib/typescript/memory/shareableGuestUnpacker.native.d.ts.map +0 -1
  200. package/lib/typescript/memory/shareableHostUnpacker.native.d.ts +0 -4
  201. package/lib/typescript/memory/shareableHostUnpacker.native.d.ts.map +0 -1
  202. package/lib/typescript/memory/synchronizable.d.ts +0 -3
  203. package/lib/typescript/memory/synchronizable.d.ts.map +0 -1
  204. package/lib/typescript/memory/synchronizable.native.d.ts +0 -3
  205. package/lib/typescript/memory/synchronizable.native.d.ts.map +0 -1
  206. package/lib/typescript/memory/synchronizableUnpacker.native.d.ts +0 -4
  207. package/lib/typescript/memory/synchronizableUnpacker.native.d.ts.map +0 -1
  208. package/lib/typescript/memory/types.d.ts +0 -132
  209. package/lib/typescript/memory/types.d.ts.map +0 -1
  210. package/lib/typescript/memory/valueUnpacker.native.d.ts +0 -6
  211. package/lib/typescript/memory/valueUnpacker.native.d.ts.map +0 -1
  212. package/lib/typescript/mock.d.ts +0 -2
  213. package/lib/typescript/mock.d.ts.map +0 -1
  214. package/lib/typescript/platformChecker.d.ts +0 -5
  215. package/lib/typescript/platformChecker.d.ts.map +0 -1
  216. package/lib/typescript/platformChecker.native.d.ts +0 -2
  217. package/lib/typescript/platformChecker.native.d.ts.map +0 -1
  218. package/lib/typescript/runLoop/common/setImmediatePolyfill.d.ts +0 -2
  219. package/lib/typescript/runLoop/common/setImmediatePolyfill.d.ts.map +0 -1
  220. package/lib/typescript/runLoop/common/setIntervalPolyfill.d.ts +0 -2
  221. package/lib/typescript/runLoop/common/setIntervalPolyfill.d.ts.map +0 -1
  222. package/lib/typescript/runLoop/uiRuntime/mockedRequestAnimationFrame.d.ts +0 -6
  223. package/lib/typescript/runLoop/uiRuntime/mockedRequestAnimationFrame.d.ts.map +0 -1
  224. package/lib/typescript/runLoop/uiRuntime/requestAnimationFrame.d.ts +0 -2
  225. package/lib/typescript/runLoop/uiRuntime/requestAnimationFrame.d.ts.map +0 -1
  226. package/lib/typescript/runLoop/uiRuntime/setTimeoutPolyfill.d.ts +0 -2
  227. package/lib/typescript/runLoop/uiRuntime/setTimeoutPolyfill.d.ts.map +0 -1
  228. package/lib/typescript/runLoop/workletRuntime/index.d.ts +0 -2
  229. package/lib/typescript/runLoop/workletRuntime/index.d.ts.map +0 -1
  230. package/lib/typescript/runLoop/workletRuntime/queueMicrotask.d.ts +0 -2
  231. package/lib/typescript/runLoop/workletRuntime/queueMicrotask.d.ts.map +0 -1
  232. package/lib/typescript/runLoop/workletRuntime/requestAnimationFramePolyfill.d.ts +0 -2
  233. package/lib/typescript/runLoop/workletRuntime/requestAnimationFramePolyfill.d.ts.map +0 -1
  234. package/lib/typescript/runLoop/workletRuntime/setTimeout.d.ts +0 -2
  235. package/lib/typescript/runLoop/workletRuntime/setTimeout.d.ts.map +0 -1
  236. package/lib/typescript/runLoop/workletRuntime/taskQueue.d.ts +0 -10
  237. package/lib/typescript/runLoop/workletRuntime/taskQueue.d.ts.map +0 -1
  238. package/lib/typescript/runtimeKind.d.ts +0 -56
  239. package/lib/typescript/runtimeKind.d.ts.map +0 -1
  240. package/lib/typescript/runtimes.d.ts +0 -14
  241. package/lib/typescript/runtimes.d.ts.map +0 -1
  242. package/lib/typescript/runtimes.native.d.ts +0 -137
  243. package/lib/typescript/runtimes.native.d.ts.map +0 -1
  244. package/lib/typescript/specs/NativeWorkletsModule.d.ts +0 -7
  245. package/lib/typescript/specs/NativeWorkletsModule.d.ts.map +0 -1
  246. package/lib/typescript/specs/index.d.ts +0 -3
  247. package/lib/typescript/specs/index.d.ts.map +0 -1
  248. package/lib/typescript/threads.d.ts +0 -8
  249. package/lib/typescript/threads.d.ts.map +0 -1
  250. package/lib/typescript/threads.native.d.ts +0 -132
  251. package/lib/typescript/threads.native.d.ts.map +0 -1
  252. package/lib/typescript/types.d.ts +0 -127
  253. package/lib/typescript/types.d.ts.map +0 -1
  254. package/lib/typescript/workletFunction.d.ts +0 -26
  255. package/lib/typescript/workletFunction.d.ts.map +0 -1
@@ -37,11 +37,13 @@ Shareable::Shareable(
37
37
  }
38
38
 
39
39
  Shareable::~Shareable() {
40
- const auto strongHostRuntime = weakHostRuntime_.lock();
41
- if (strongHostRuntime && hostValue_) {
42
- strongHostRuntime->runSync([this](jsi::Runtime &rt) { hostValue_.reset(); });
43
- } else {
44
- hostValue_.release();
40
+ if (hostValue_) {
41
+ const auto strongHostRuntime = weakHostRuntime_.lock();
42
+ if (strongHostRuntime) {
43
+ hostValue_.reset();
44
+ } else {
45
+ hostValue_.release();
46
+ }
45
47
  }
46
48
  }
47
49
 
package/README.md CHANGED
@@ -6,7 +6,7 @@ React Native Worklets is a library that allows you to run JavaScript code in par
6
6
 
7
7
  ## Nightly CI state
8
8
 
9
- [![NPM Worklets publish [Nightly]](https://github.com/software-mansion/react-native-reanimated/actions/workflows/npm-worklets-publish-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/npm-worklets-publish-nightly.yml)
9
+ [![NPM Worklets publish [Nightly]](https://github.com/software-mansion/react-native-reanimated/actions/workflows/npm-worklets-publish.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/npm-worklets-publish.yml)
10
10
  [![Lint clang-tidy [Nightly]](https://github.com/software-mansion/react-native-reanimated/actions/workflows/lint-clang-tidy-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/lint-clang-tidy-nightly.yml)
11
11
  [![Expo DevClient build check](https://github.com/software-mansion/react-native-reanimated/actions/workflows/expo-devclient-build-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/expo-devclient-build-check-nightly.yml)
12
12
  [![Worklets Bundle Mode build check [Nightly]](https://github.com/software-mansion/react-native-reanimated/actions/workflows/worklets-bundle-mode-build-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/worklets-bundle-mode-build-check-nightly.yml)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-worklets",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "The React Native multithreading library",
5
5
  "keywords": [
6
6
  "react-native",
@@ -9,7 +9,7 @@
9
9
  "worklets"
10
10
  ],
11
11
  "scripts": {
12
- "build": "yarn workspace babel-plugin-worklets build && bob build && yarn build:unpackers",
12
+ "build": "yarn workspace babel-plugin-worklets build && yarn set-version && bob build && yarn build:unpackers",
13
13
  "build:unpackers": "NODE_ENV='production' node ./scripts/export-unpackers.js",
14
14
  "circular-dependency-check": "yarn madge --extensions js,jsx --circular lib",
15
15
  "find-unused-code:js": "knip",
@@ -30,6 +30,7 @@
30
30
  "lint:clang-tidy": "find Common -iname \"*.h\" -o -iname \"*.cpp\" | xargs ../../scripts/clang-tidy-lint.sh",
31
31
  "lint:js": "eslint src && yarn prettier --check src",
32
32
  "lint:plugin": "yarn workspace babel-plugin-worklets lint",
33
+ "set-version": "node scripts/set-version.js",
33
34
  "test": "jest",
34
35
  "type:check": "yarn type:check:src:native && yarn type:check:src:web && yarn type:check:plugin && yarn type:check:app && yarn type:check:tests",
35
36
  "type:check:src:native": "yarn tsc --noEmit",
@@ -5,4 +5,4 @@
5
5
  * version used to build the native part of the library in runtime. Remember to
6
6
  * keep this in sync with the version declared in `package.json`
7
7
  */
8
- export const jsVersion = '0.8.1';
8
+ export const jsVersion = '0.8.2';
@@ -1,4 +0,0 @@
1
- 'use strict';
2
-
3
- export const WorkletsModule = null;
4
- //# sourceMappingURL=NativeWorklets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["WorkletsModule"],"sourceRoot":"../../../src","sources":["WorkletsModule/NativeWorklets.ts"],"mappings":"AAAA,YAAY;;AASZ,OAAO,MAAMA,cAA+B,GAAG,IAAK","ignoreList":[]}
@@ -1,152 +0,0 @@
1
- 'use strict';
2
-
3
- import { checkCppVersion } from '../debug/checkCppVersion';
4
- import { jsVersion } from '../debug/jsVersion';
5
- import { WorkletsError } from '../debug/WorkletsError';
6
- import { RuntimeKind } from '../runtimeKind';
7
- import { WorkletsTurboModule } from '../specs';
8
- class NativeWorklets {
9
- #workletsModuleProxy;
10
- #serializableUndefined;
11
- #serializableNull;
12
- #serializableTrue;
13
- #serializableFalse;
14
- constructor() {
15
- const bundleModeEnabled = globalThis._WORKLETS_BUNDLE_MODE_ENABLED ?? false;
16
- globalThis._WORKLETS_VERSION_JS = jsVersion;
17
- if (global.__workletsModuleProxy === undefined && globalThis.__RUNTIME_KIND === RuntimeKind.ReactNative) {
18
- WorkletsTurboModule?.installTurboModule(bundleModeEnabled);
19
- if (__DEV__ && bundleModeEnabled) {
20
- console.log('[Worklets] Bundle mode initialization: Downloaded the bundle for Worklet Runtimes.');
21
- }
22
- }
23
- if (global.__workletsModuleProxy === undefined) {
24
- throw new WorkletsError(`Native part of Worklets doesn't seem to be initialized.
25
- See https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting#native-part-of-worklets-doesnt-seem-to-be-initialized for more details.`);
26
- }
27
- if (__DEV__ && globalThis.__RUNTIME_KIND === RuntimeKind.ReactNative) {
28
- checkCppVersion();
29
- }
30
- this.#workletsModuleProxy = global.__workletsModuleProxy;
31
- this.#serializableNull = this.#workletsModuleProxy.createSerializableNull();
32
- this.#serializableUndefined = this.#workletsModuleProxy.createSerializableUndefined();
33
- this.#serializableTrue = this.#workletsModuleProxy.createSerializableBoolean(true);
34
- this.#serializableFalse = this.#workletsModuleProxy.createSerializableBoolean(false);
35
- }
36
- createSerializable(value, shouldPersistRemote, nativeStateSource) {
37
- return this.#workletsModuleProxy.createSerializable(value, shouldPersistRemote, nativeStateSource);
38
- }
39
- createSerializableImport(from, to) {
40
- return this.#workletsModuleProxy.createSerializableImport(from, to);
41
- }
42
- createSerializableString(str) {
43
- return this.#workletsModuleProxy.createSerializableString(str);
44
- }
45
- createSerializableNumber(num) {
46
- return this.#workletsModuleProxy.createSerializableNumber(num);
47
- }
48
- createSerializableBoolean(bool) {
49
- return bool ? this.#serializableTrue : this.#serializableFalse;
50
- }
51
- createSerializableBigInt(bigInt) {
52
- return this.#workletsModuleProxy.createSerializableBigInt(bigInt);
53
- }
54
- createSerializableUndefined() {
55
- return this.#serializableUndefined;
56
- }
57
- createSerializableNull() {
58
- return this.#serializableNull;
59
- }
60
- createSerializableTurboModuleLike(props, proto) {
61
- return this.#workletsModuleProxy.createSerializableTurboModuleLike(props, proto);
62
- }
63
- createSerializableObject(obj, shouldRetainRemote, nativeStateSource) {
64
- return this.#workletsModuleProxy.createSerializableObject(obj, shouldRetainRemote, nativeStateSource);
65
- }
66
- createSerializableHostObject(obj) {
67
- return this.#workletsModuleProxy.createSerializableHostObject(obj);
68
- }
69
- createSerializableArray(array, shouldRetainRemote) {
70
- return this.#workletsModuleProxy.createSerializableArray(array, shouldRetainRemote);
71
- }
72
- createSerializableMap(keys, values) {
73
- return this.#workletsModuleProxy.createSerializableMap(keys, values);
74
- }
75
- createSerializableSet(values) {
76
- return this.#workletsModuleProxy.createSerializableSet(values);
77
- }
78
- createSerializableInitializer(obj) {
79
- return this.#workletsModuleProxy.createSerializableInitializer(obj);
80
- }
81
- createSerializableFunction(func) {
82
- return this.#workletsModuleProxy.createSerializableFunction(func);
83
- }
84
- createSerializableWorklet(worklet, shouldPersistRemote) {
85
- return this.#workletsModuleProxy.createSerializableWorklet(worklet, shouldPersistRemote);
86
- }
87
- createCustomSerializable(data, typeId) {
88
- return this.#workletsModuleProxy.createCustomSerializable(data, typeId);
89
- }
90
- registerCustomSerializable(determine, pack, unpack, typeId) {
91
- this.#workletsModuleProxy.registerCustomSerializable(determine, pack, unpack, typeId);
92
- }
93
- createShareable(hostRuntimeId, initial, initSynchronously, decorateHost, decorateRef) {
94
- return this.#workletsModuleProxy.createShareable(hostRuntimeId, initial, initSynchronously, decorateHost, decorateRef);
95
- }
96
- scheduleOnUI(serializable) {
97
- return this.#workletsModuleProxy.scheduleOnUI(serializable);
98
- }
99
- runOnUISync(worklet) {
100
- return this.#workletsModuleProxy.runOnUISync(worklet);
101
- }
102
- createWorkletRuntime(name, initializer, useDefaultQueue, customQueue, enableEventLoop) {
103
- return this.#workletsModuleProxy.createWorkletRuntime(name, initializer, useDefaultQueue, customQueue, enableEventLoop);
104
- }
105
- scheduleOnRuntime(workletRuntime, serializableWorklet) {
106
- return this.#workletsModuleProxy.scheduleOnRuntime(workletRuntime, serializableWorklet);
107
- }
108
- scheduleOnRuntimeWithId(runtimeId, worklet) {
109
- return this.#workletsModuleProxy.scheduleOnRuntimeWithId(runtimeId, worklet);
110
- }
111
- runOnRuntimeSync(workletRuntime, worklet) {
112
- return this.#workletsModuleProxy.runOnRuntimeSync(workletRuntime, worklet);
113
- }
114
- runOnRuntimeSyncWithId(runtimeId, worklet) {
115
- return this.#workletsModuleProxy.runOnRuntimeSyncWithId(runtimeId, worklet);
116
- }
117
- createSynchronizable(value) {
118
- return this.#workletsModuleProxy.createSynchronizable(value);
119
- }
120
- synchronizableGetDirty(synchronizableRef) {
121
- return this.#workletsModuleProxy.synchronizableGetDirty(synchronizableRef);
122
- }
123
- synchronizableGetBlocking(synchronizableRef) {
124
- return this.#workletsModuleProxy.synchronizableGetBlocking(synchronizableRef);
125
- }
126
- synchronizableSetBlocking(synchronizableRef, value) {
127
- return this.#workletsModuleProxy.synchronizableSetBlocking(synchronizableRef, value);
128
- }
129
- synchronizableLock(synchronizableRef) {
130
- return this.#workletsModuleProxy.synchronizableLock(synchronizableRef);
131
- }
132
- synchronizableUnlock(synchronizableRef) {
133
- return this.#workletsModuleProxy.synchronizableUnlock(synchronizableRef);
134
- }
135
- reportFatalErrorOnJS(message, stack, name, jsEngine) {
136
- return this.#workletsModuleProxy.reportFatalErrorOnJS(message, stack, name, jsEngine);
137
- }
138
- getStaticFeatureFlag(name) {
139
- return this.#workletsModuleProxy.getStaticFeatureFlag(name);
140
- }
141
- setDynamicFeatureFlag(name, value) {
142
- this.#workletsModuleProxy.setDynamicFeatureFlag(name, value);
143
- }
144
- getUIRuntimeHolder() {
145
- return this.#workletsModuleProxy.getUIRuntimeHolder();
146
- }
147
- getUISchedulerHolder() {
148
- return this.#workletsModuleProxy.getUISchedulerHolder();
149
- }
150
- }
151
- export const WorkletsModule = new NativeWorklets();
152
- //# sourceMappingURL=NativeWorklets.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["checkCppVersion","jsVersion","WorkletsError","RuntimeKind","WorkletsTurboModule","NativeWorklets","workletsModuleProxy","serializableUndefined","serializableNull","serializableTrue","serializableFalse","constructor","bundleModeEnabled","globalThis","_WORKLETS_BUNDLE_MODE_ENABLED","_WORKLETS_VERSION_JS","global","__workletsModuleProxy","undefined","__RUNTIME_KIND","ReactNative","installTurboModule","__DEV__","console","log","createSerializableNull","createSerializableUndefined","createSerializableBoolean","createSerializable","value","shouldPersistRemote","nativeStateSource","createSerializableImport","from","to","createSerializableString","str","createSerializableNumber","num","bool","createSerializableBigInt","bigInt","createSerializableTurboModuleLike","props","proto","createSerializableObject","obj","shouldRetainRemote","createSerializableHostObject","createSerializableArray","array","createSerializableMap","keys","values","createSerializableSet","createSerializableInitializer","createSerializableFunction","func","createSerializableWorklet","worklet","createCustomSerializable","data","typeId","registerCustomSerializable","determine","pack","unpack","createShareable","hostRuntimeId","initial","initSynchronously","decorateHost","decorateRef","scheduleOnUI","serializable","runOnUISync","createWorkletRuntime","name","initializer","useDefaultQueue","customQueue","enableEventLoop","scheduleOnRuntime","workletRuntime","serializableWorklet","scheduleOnRuntimeWithId","runtimeId","runOnRuntimeSync","runOnRuntimeSyncWithId","createSynchronizable","synchronizableGetDirty","synchronizableRef","synchronizableGetBlocking","synchronizableSetBlocking","synchronizableLock","synchronizableUnlock","reportFatalErrorOnJS","message","stack","jsEngine","getStaticFeatureFlag","setDynamicFeatureFlag","getUIRuntimeHolder","getUISchedulerHolder","WorkletsModule"],"sourceRoot":"../../../src","sources":["WorkletsModule/NativeWorklets.native.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- 'use strict';
2
-
3
- export {};
4
- //# sourceMappingURL=workletsModuleProxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["WorkletsModule/workletsModuleProxy.ts"],"mappings":"AAAA,YAAY;;AAAC","ignoreList":[]}
@@ -1,115 +0,0 @@
1
- 'use strict';
2
-
3
- import { WorkletsError } from '../debug/WorkletsError';
4
- import { isWorkletRuntime } from '../runtimeKind';
5
-
6
- /**
7
- * Evaluating HMR updates on Worklet Runtimes leads to verbose warnings which
8
- * don't affect runtime. This function silences those warnings by providing a
9
- * dummy Refresh module to the global scope.
10
- *
11
- * Use only in dev builds.
12
- */
13
- export function silenceHMRWarnings() {
14
- assertWorkletRuntime('silenceHMRWarnings');
15
- const Refresh = new Proxy({}, {
16
- get() {
17
- return () => {};
18
- }
19
- });
20
- globalThis.__r.Refresh = Refresh;
21
- }
22
-
23
- /**
24
- * Importing `react-native` on Worklet Runtimes will result in a crash due to
25
- * the fact that React Native will try to set itself up as on the React Native
26
- * runtime. To provide better developer experience we override the main React
27
- * Native module with a proxy that puts an actionable warning.
28
- *
29
- * Note that this doesn't affect deep imports.
30
- *
31
- * Use only in dev builds.
32
- */
33
- export function disallowRNImports() {
34
- assertWorkletRuntime('disallowRNImports');
35
- const modules = require.getModules();
36
- const ReactNativeModuleId = require.resolveWeak('react-native');
37
- const moduleFactory = makeModuleFactory(module => {
38
- module.exports = new Proxy({}, {
39
- get: function get(_target, prop) {
40
- globalThis.console.warn(`You tried to import '${String(prop)}' from 'react-native' module on a Worklet Runtime. Using 'react-native' module on a Worklet Runtime is not allowed.`,
41
- // eslint-disable-next-line reanimated/use-worklets-error
42
- new Error().stack);
43
- return {
44
- get() {
45
- return undefined;
46
- }
47
- };
48
- }
49
- });
50
- });
51
- const mockModule = {
52
- dependencyMap: [],
53
- moduleFactory,
54
- hasError: false,
55
- importedAll: {},
56
- importedDefault: {},
57
- isInitialized: false,
58
- publicModule: {
59
- exports: {}
60
- }
61
- };
62
- modules.set(ReactNativeModuleId, mockModule);
63
- }
64
-
65
- /**
66
- * To use code from React Native that obtains TurboModules we need to mock the
67
- * registry even if the TurboModules aren't actually used.
68
- *
69
- * This is needed for example for the XHR setup code that is imported from React
70
- * Native.
71
- */
72
- export function mockTurboModuleRegistry() {
73
- const modules = require.getModules();
74
- const TurboModuleRegistryId = require.resolveWeak('react-native/Libraries/TurboModule/TurboModuleRegistry');
75
- const TurboModules = new Map();
76
- TurboModules.set('Networking', {});
77
- globalThis.TurboModules = TurboModules;
78
-
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
- const moduleFactory = makeModuleFactory(module => {
81
- function get(name) {
82
- return globalThis.TurboModules.get(name);
83
- }
84
- function getEnforcing(name) {
85
- return globalThis.TurboModules.get(name);
86
- }
87
- module.exports.get = get;
88
- module.exports.getEnforcing = getEnforcing;
89
- });
90
- const metroModule = {
91
- dependencyMap: [],
92
- factory: moduleFactory,
93
- hasError: false,
94
- importedAll: {},
95
- importedDefault: {},
96
- isInitialized: false,
97
- publicModule: {
98
- exports: {}
99
- }
100
- };
101
- modules.set(TurboModuleRegistryId, metroModule);
102
- }
103
- function assertWorkletRuntime(functionName) {
104
- if (!isWorkletRuntime()) {
105
- throw new WorkletsError(`${functionName} can be used only on Worklet Runtimes.`);
106
- }
107
- }
108
-
109
- /** Module factory mimicking the one used by Metro bundler. */
110
- function makeModuleFactory(moduleImpl) {
111
- return function (_global, _require, _importDefault, _importAll, module, _exports, _dependencyMap) {
112
- moduleImpl(module);
113
- };
114
- }
115
- //# sourceMappingURL=metroOverrides.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["WorkletsError","isWorkletRuntime","silenceHMRWarnings","assertWorkletRuntime","Refresh","Proxy","get","globalThis","__r","disallowRNImports","modules","require","getModules","ReactNativeModuleId","resolveWeak","moduleFactory","makeModuleFactory","module","exports","_target","prop","console","warn","String","Error","stack","undefined","mockModule","dependencyMap","hasError","importedAll","importedDefault","isInitialized","publicModule","set","mockTurboModuleRegistry","TurboModuleRegistryId","TurboModules","Map","name","getEnforcing","metroModule","factory","functionName","moduleImpl","_global","_require","_importDefault","_importAll","_exports","_dependencyMap"],"sourceRoot":"../../../src","sources":["bundleMode/metroOverrides.native.ts"],"mappings":"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","ignoreList":[]}
@@ -1,41 +0,0 @@
1
- 'use strict';
2
-
3
- import { WorkletsError } from '../debug/WorkletsError';
4
-
5
- /**
6
- * Mocks necessary networking TurboModules on Worklet Runtimes to prevent
7
- * crashes when code running on Worklet Runtimes tries to use networking APIs.
8
- * The NetworkingModule itself is injected via C++.
9
- */
10
- export function initializeNetworking() {
11
- const TurboModules = globalThis.TurboModules;
12
- TurboModules.set('FileReaderModule', makeMockTurboModule('FileReaderModule'));
13
- TurboModules.set('PlatformConstants', makeMockTurboModule('PlatformConstants'));
14
- TurboModules.set('WebSocketModule', makeMockTurboModule('WebSocketModule'));
15
- TurboModules.set('BlobModule', makeMockTurboModule('BlobModule', ['addNetworkingHandler']));
16
-
17
- /**
18
- * This require statement below is the key part of the implementation here. It
19
- * pulls all the code that properly sets up XHR on a Runtime, using underlying
20
- * C++ NetworkingModule. Thanks to that we can have the same JavaScript
21
- * implementation for fetch on all runtimes in the app and we don't have to
22
- * write the code ourselves.
23
- */
24
- // eslint-disable-next-line @typescript-eslint/no-require-imports
25
- require('react-native/Libraries/Core/setUpXHR');
26
- }
27
- const noopMethods = ['getConstants'];
28
- function makeMockTurboModule(name, extraNoopMethods) {
29
- const proxy = new Proxy({}, {
30
- get: function get(_target, prop) {
31
- if ([...noopMethods, ...(extraNoopMethods ?? [])].includes(prop)) {
32
- return () => {
33
- return () => {};
34
- };
35
- }
36
- throw new WorkletsError(`You tried to call method '${String(prop)}' from '${name}' TurboModule on a Worklet Runtime. Using '${name}' TurboModule on a Worklet Runtime is not allowed.`);
37
- }
38
- });
39
- return proxy;
40
- }
41
- //# sourceMappingURL=network.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["WorkletsError","initializeNetworking","TurboModules","globalThis","set","makeMockTurboModule","require","noopMethods","name","extraNoopMethods","proxy","Proxy","get","_target","prop","includes","String"],"sourceRoot":"../../../src","sources":["bundleMode/network.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,aAAa,QAAQ,wBAAwB;;AAEtD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,MAAMC,YAAY,GAAGC,UAAU,CAACD,YAAY;EAE5CA,YAAY,CAACE,GAAG,CAAC,kBAAkB,EAAEC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;EAC7EH,YAAY,CAACE,GAAG,CACd,mBAAmB,EACnBC,mBAAmB,CAAC,mBAAmB,CACzC,CAAC;EACDH,YAAY,CAACE,GAAG,CAAC,iBAAiB,EAAEC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;EAC3EH,YAAY,CAACE,GAAG,CACd,YAAY,EACZC,mBAAmB,CAAC,YAAY,EAAE,CAAC,sBAAsB,CAAC,CAC5D,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE;EACAC,OAAO,CAAC,sCAAsC,CAAC;AACjD;AAEA,MAAMC,WAAW,GAAG,CAAC,cAAc,CAAC;AAEpC,SAASF,mBAAmBA,CAACG,IAAY,EAAEC,gBAA2B,EAAE;EACtE,MAAMC,KAAK,GAAG,IAAIC,KAAK,CACrB,CAAC,CAAC,EACF;IACEC,GAAG,EAAE,SAASA,GAAGA,CAACC,OAAO,EAAEC,IAAI,EAAE;MAC/B,IACE,CAAC,GAAGP,WAAW,EAAE,IAAIE,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAACM,QAAQ,CAACD,IAAc,CAAC,EACtE;QACA,OAAO,MAAM;UACX,OAAO,MAAM,CAAC,CAAC;QACjB,CAAC;MACH;MACA,MAAM,IAAId,aAAa,CACrB,6BAA6BgB,MAAM,CACjCF,IACF,CAAC,WAAWN,IAAI,8CAA8CA,IAAI,oDACpE,CAAC;IACH;EACF,CACF,CAAC;EAED,OAAOE,KAAK;AACd","ignoreList":[]}
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- /** Used only with debug builds. */
4
- export function callGuardDEV(fn, ...args) {
5
- 'worklet';
6
-
7
- try {
8
- return fn(...args);
9
- } catch (error) {
10
- if (globalThis.__workletsModuleProxy) {
11
- const {
12
- message,
13
- stack,
14
- name,
15
- jsEngine
16
- } = error;
17
- globalThis.__workletsModuleProxy.reportFatalErrorOnJS(message, stack ?? '', name ?? 'WorkletsError', jsEngine ?? 'Worklets');
18
- } else {
19
- throw error;
20
- }
21
- }
22
- }
23
- export function setupCallGuard() {
24
- 'worklet';
25
-
26
- if (!globalThis.__callGuardDEV) {
27
- globalThis.__callGuardDEV = callGuardDEV;
28
- }
29
- }
30
- //# sourceMappingURL=callGuard.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["callGuardDEV","fn","args","error","globalThis","__workletsModuleProxy","message","stack","name","jsEngine","reportFatalErrorOnJS","setupCallGuard","__callGuardDEV"],"sourceRoot":"../../src","sources":["callGuard.native.ts"],"mappings":"AAAA,YAAY;;AAIZ;AACA,OAAO,SAASA,YAAYA,CAC1BC,EAAkC,EAClC,GAAGC,IAAU,EACO;EACpB,SAAS;;EACT,IAAI;IACF,OAAOD,EAAE,CAAC,GAAGC,IAAI,CAAC;EACpB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,IAAIC,UAAU,CAACC,qBAAqB,EAAE;MACpC,MAAM;QAAEC,OAAO;QAAEC,KAAK;QAAEC,IAAI;QAAEC;MAAS,CAAC,GAAGN,KAAgB;MAC3DC,UAAU,CAACC,qBAAqB,CAACK,oBAAoB,CACnDJ,OAAO,EACPC,KAAK,IAAI,EAAE,EACXC,IAAI,IAAI,eAAe,EACvBC,QAAQ,IAAI,UACd,CAAC;IACH,CAAC,MAAM;MACL,MAAMN,KAAK;IACb;EACF;AACF;AAEA,OAAO,SAASQ,cAAcA,CAAA,EAAG;EAC/B,SAAS;;EACT,IAAI,CAACP,UAAU,CAACQ,cAAc,EAAE;IAC9BR,UAAU,CAACQ,cAAc,GAAGZ,YAAY;EAC1C;AACF","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- function WorkletsErrorConstructor(message) {
4
- const prefix = '[Worklets]';
5
-
6
- // eslint-disable-next-line reanimated/use-worklets-error
7
- const errorInstance = new Error(message ? `${prefix} ${message}` : prefix);
8
- errorInstance.name = `WorkletsError`;
9
- return errorInstance;
10
- }
11
- export const WorkletsError = WorkletsErrorConstructor;
12
- //# sourceMappingURL=WorkletsError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["WorkletsErrorConstructor","message","prefix","errorInstance","Error","name","WorkletsError"],"sourceRoot":"../../../src","sources":["debug/WorkletsError.ts"],"mappings":"AAAA,YAAY;;AAOZ,SAASA,wBAAwBA,CAACC,OAAgB,EAAkB;EAClE,MAAMC,MAAM,GAAG,YAAY;;EAE3B;EACA,MAAMC,aAAa,GAAG,IAAIC,KAAK,CAACH,OAAO,GAAG,GAAGC,MAAM,IAAID,OAAO,EAAE,GAAGC,MAAM,CAAC;EAC1EC,aAAa,CAACE,IAAI,GAAG,eAAe;EACpC,OAAOF,aAAa;AACtB;AAEA,OAAO,MAAMG,aAAa,GACxBN,wBAAqD","ignoreList":[]}
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- import { RuntimeKind } from '../runtimeKind';
4
- function WorkletsErrorConstructor(message) {
5
- 'worklet';
6
-
7
- const prefix = '[Worklets]';
8
-
9
- // eslint-disable-next-line reanimated/use-worklets-error
10
- const errorInstance = new Error(message ? `${prefix} ${message}` : prefix);
11
- errorInstance.name = `WorkletsError`;
12
- return errorInstance;
13
- }
14
-
15
- /**
16
- * Registers WorkletsError in the global scope. Register only for Worklet
17
- * runtimes.
18
- */
19
- export function registerWorkletsError() {
20
- 'worklet';
21
-
22
- if (globalThis.__RUNTIME_KIND !== RuntimeKind.ReactNative) {
23
- globalThis.WorkletsError = WorkletsErrorConstructor;
24
- }
25
- }
26
- export const WorkletsError = WorkletsErrorConstructor;
27
- //# sourceMappingURL=WorkletsError.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["RuntimeKind","WorkletsErrorConstructor","message","prefix","errorInstance","Error","name","registerWorkletsError","globalThis","__RUNTIME_KIND","ReactNative","WorkletsError"],"sourceRoot":"../../../src","sources":["debug/WorkletsError.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,WAAW,QAAQ,gBAAgB;AAM5C,SAASC,wBAAwBA,CAACC,OAAgB,EAAkB;EAClE,SAAS;;EACT,MAAMC,MAAM,GAAG,YAAY;;EAE3B;EACA,MAAMC,aAAa,GAAG,IAAIC,KAAK,CAACH,OAAO,GAAG,GAAGC,MAAM,IAAID,OAAO,EAAE,GAAGC,MAAM,CAAC;EAC1EC,aAAa,CAACE,IAAI,GAAG,eAAe;EACpC,OAAOF,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,qBAAqBA,CAAA,EAAG;EACtC,SAAS;;EACT,IAAKC,UAAU,CAACC,cAAc,KAAqBT,WAAW,CAACU,WAAW,EAAE;IACzEF,UAAU,CAA6BG,aAAa,GACnDV,wBAAwB;EAC5B;AACF;AAEA,OAAO,MAAMU,aAAa,GACxBV,wBAAqD","ignoreList":[]}
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- import { jsVersion } from './jsVersion';
4
- import { logger } from './logger';
5
- import { WorkletsError } from './WorkletsError';
6
- export function checkCppVersion() {
7
- const cppVersion = global._WORKLETS_VERSION_CPP;
8
- if (cppVersion === undefined) {
9
- logger.warn(`Couldn't determine the version of the native part of Worklets.
10
- See \`https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting#couldnt-determine-the-version-of-the-native-part-of-worklets\` for more details.`);
11
- return;
12
- }
13
- const ok = matchVersion(jsVersion, cppVersion);
14
- if (!ok) {
15
- throw new WorkletsError(`Mismatch between JavaScript part and native part of Worklets (${jsVersion} vs ${cppVersion}).
16
- See \`https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting#mismatch-between-javascript-part-and-native-part-of-worklets\` for more details.`);
17
- }
18
- }
19
- export function matchVersion(version1, version2) {
20
- if (version1.match(/^\d+\.\d+\.\d+$/) && version2.match(/^\d+\.\d+\.\d+$/)) {
21
- // x.y.z, compare only major and minor, skip patch
22
- const [major1, minor1] = version1.split('.');
23
- const [major2, minor2] = version2.split('.');
24
- return major1 === major2 && minor1 === minor2;
25
- } else {
26
- // alpha, beta or rc, compare everything
27
- return version1 === version2;
28
- }
29
- }
30
- //# sourceMappingURL=checkCppVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["jsVersion","logger","WorkletsError","checkCppVersion","cppVersion","global","_WORKLETS_VERSION_CPP","undefined","warn","ok","matchVersion","version1","version2","match","major1","minor1","split","major2","minor2"],"sourceRoot":"../../../src","sources":["debug/checkCppVersion.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,MAAMC,UAAU,GAAGC,MAAM,CAACC,qBAAqB;EAC/C,IAAIF,UAAU,KAAKG,SAAS,EAAE;IAC5BN,MAAM,CAACO,IAAI,CACT;AACN,wKACI,CAAC;IACD;EACF;EACA,MAAMC,EAAE,GAAGC,YAAY,CAACV,SAAS,EAAEI,UAAU,CAAC;EAC9C,IAAI,CAACK,EAAE,EAAE;IACP,MAAM,IAAIP,aAAa,CACrB,iEAAiEF,SAAS,OAAOI,UAAU;AACjG,wKACI,CAAC;EACH;AACF;AAEA,OAAO,SAASM,YAAYA,CAACC,QAAgB,EAAEC,QAAgB,EAAE;EAC/D,IAAID,QAAQ,CAACE,KAAK,CAAC,iBAAiB,CAAC,IAAID,QAAQ,CAACC,KAAK,CAAC,iBAAiB,CAAC,EAAE;IAC1E;IACA,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,GAAGJ,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC;IAC5C,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,GAAGN,QAAQ,CAACI,KAAK,CAAC,GAAG,CAAC;IAC5C,OAAOF,MAAM,KAAKG,MAAM,IAAIF,MAAM,KAAKG,MAAM;EAC/C,CAAC,MAAM;IACL;IACA,OAAOP,QAAQ,KAAKC,QAAQ;EAC9B;AACF","ignoreList":[]}
@@ -1,69 +0,0 @@
1
- 'use strict';
2
-
3
- import { WorkletsError } from './WorkletsError';
4
- const _workletStackDetails = new Map();
5
- export function registerWorkletStackDetails(hash, stackDetails) {
6
- _workletStackDetails.set(hash, stackDetails);
7
- }
8
- function getBundleOffset(error) {
9
- const frame = error.stack?.split('\n')?.[0];
10
- if (frame) {
11
- const parsedFrame = /@([^@]+):(\d+):(\d+)/.exec(frame);
12
- if (parsedFrame) {
13
- const [, file, line, col] = parsedFrame;
14
- return [file, Number(line), Number(col)];
15
- }
16
- }
17
- return ['unknown', 0, 0];
18
- }
19
- function processStack(stack) {
20
- if (stack === '' || stack === undefined) {
21
- return undefined;
22
- }
23
- const workletStackEntries = stack.match(/worklet_(\d+):(\d+):(\d+)/g);
24
- let result = stack;
25
- workletStackEntries?.forEach(match => {
26
- const [, hash, origLine, origCol] = match.split(/:|_/).map(Number);
27
- const errorDetails = _workletStackDetails.get(hash);
28
- if (!errorDetails) {
29
- return;
30
- }
31
- const [error, lineOffset, colOffset] = errorDetails;
32
- const [bundleFile, bundleLine, bundleCol] = getBundleOffset(error);
33
- const line = origLine + bundleLine + lineOffset;
34
- const col = origCol + bundleCol + colOffset;
35
- result = result.replace(match, `${bundleFile}:${line}:${col}`);
36
- });
37
- return result;
38
- }
39
- /**
40
- * Remote error is an error coming from a Worklet Runtime that we bubble up to
41
- * the RN Runtime.
42
- */
43
- export function reportFatalRemoteError({
44
- message,
45
- stack,
46
- name,
47
- jsEngine
48
- }, force) {
49
- const error = new WorkletsError();
50
- error.message = message;
51
- error.stack = processStack(stack);
52
- error.name = name;
53
- error.jsEngine = jsEngine;
54
- if (force) {
55
- throw error;
56
- } else {
57
- // @ts-expect-error React Native's `ErrorUtils` are hidden from the global scope.
58
- globalThis.ErrorUtils.reportFatalError(error);
59
- }
60
- }
61
-
62
- /**
63
- * Registers `reportFatalRemoteError` function in global scope to allow to
64
- * invoke it from C++.
65
- */
66
- export function registerReportFatalRemoteError() {
67
- globalThis.__reportFatalRemoteError = reportFatalRemoteError;
68
- }
69
- //# sourceMappingURL=errors.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["WorkletsError","_workletStackDetails","Map","registerWorkletStackDetails","hash","stackDetails","set","getBundleOffset","error","frame","stack","split","parsedFrame","exec","file","line","col","Number","processStack","undefined","workletStackEntries","match","result","forEach","origLine","origCol","map","errorDetails","get","lineOffset","colOffset","bundleFile","bundleLine","bundleCol","replace","reportFatalRemoteError","message","name","jsEngine","force","globalThis","ErrorUtils","reportFatalError","registerReportFatalRemoteError","__reportFatalRemoteError"],"sourceRoot":"../../../src","sources":["debug/errors.native.ts"],"mappings":"AAAA,YAAY;;AAGZ,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAA8B,CAAC;AAEnE,OAAO,SAASC,2BAA2BA,CACzCC,IAAY,EACZC,YAAiC,EACjC;EACAJ,oBAAoB,CAACK,GAAG,CAACF,IAAI,EAAEC,YAAY,CAAC;AAC9C;AAEA,SAASE,eAAeA,CAACC,KAAY,EAA4B;EAC/D,MAAMC,KAAK,GAAGD,KAAK,CAACE,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC3C,IAAIF,KAAK,EAAE;IACT,MAAMG,WAAW,GAAG,sBAAsB,CAACC,IAAI,CAACJ,KAAK,CAAC;IACtD,IAAIG,WAAW,EAAE;MACf,MAAM,GAAGE,IAAI,EAAEC,IAAI,EAAEC,GAAG,CAAC,GAAGJ,WAAW;MACvC,OAAO,CAACE,IAAI,EAAEG,MAAM,CAACF,IAAI,CAAC,EAAEE,MAAM,CAACD,GAAG,CAAC,CAAC;IAC1C;EACF;EACA,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1B;AAEA,SAASE,YAAYA,CAACR,KAAc,EAAsB;EACxD,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAKS,SAAS,EAAE;IACvC,OAAOA,SAAS;EAClB;EACA,MAAMC,mBAAmB,GAAGV,KAAK,CAACW,KAAK,CAAC,4BAA4B,CAAC;EACrE,IAAIC,MAAM,GAAGZ,KAAK;EAClBU,mBAAmB,EAAEG,OAAO,CAAEF,KAAK,IAAK;IACtC,MAAM,GAAGjB,IAAI,EAAEoB,QAAQ,EAAEC,OAAO,CAAC,GAAGJ,KAAK,CAACV,KAAK,CAAC,KAAK,CAAC,CAACe,GAAG,CAACT,MAAM,CAAC;IAClE,MAAMU,YAAY,GAAG1B,oBAAoB,CAAC2B,GAAG,CAACxB,IAAI,CAAC;IACnD,IAAI,CAACuB,YAAY,EAAE;MACjB;IACF;IACA,MAAM,CAACnB,KAAK,EAAEqB,UAAU,EAAEC,SAAS,CAAC,GAAGH,YAAY;IACnD,MAAM,CAACI,UAAU,EAAEC,UAAU,EAAEC,SAAS,CAAC,GAAG1B,eAAe,CAACC,KAAK,CAAC;IAClE,MAAMO,IAAI,GAAGS,QAAQ,GAAGQ,UAAU,GAAGH,UAAU;IAC/C,MAAMb,GAAG,GAAGS,OAAO,GAAGQ,SAAS,GAAGH,SAAS;IAE3CR,MAAM,GAAGA,MAAM,CAACY,OAAO,CAACb,KAAK,EAAE,GAAGU,UAAU,IAAIhB,IAAI,IAAIC,GAAG,EAAE,CAAC;EAChE,CAAC,CAAC;EACF,OAAOM,MAAM;AACf;AAMA;AACA;AACA;AACA;AACA,OAAO,SAASa,sBAAsBA,CACpC;EAAEC,OAAO;EAAE1B,KAAK;EAAE2B,IAAI;EAAEC;AAAkB,CAAC,EAC3CC,KAAc,EACR;EACN,MAAM/B,KAAK,GAAG,IAAIR,aAAa,CAAC,CAAY;EAC5CQ,KAAK,CAAC4B,OAAO,GAAGA,OAAO;EACvB5B,KAAK,CAACE,KAAK,GAAGQ,YAAY,CAACR,KAAK,CAAC;EACjCF,KAAK,CAAC6B,IAAI,GAAGA,IAAI;EACjB7B,KAAK,CAAC8B,QAAQ,GAAGA,QAAQ;EACzB,IAAIC,KAAK,EAAE;IACT,MAAM/B,KAAK;EACb,CAAC,MAAM;IACL;IACAgC,UAAU,CAACC,UAAU,CAACC,gBAAgB,CAAClC,KAAK,CAAC;EAC/C;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASmC,8BAA8BA,CAAA,EAAG;EAC/CH,UAAU,CAACI,wBAAwB,GAAGT,sBAAsB;AAC9D","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * We hardcode the version of Worklets here in order to compare it with the
5
- * version used to build the native part of the library in runtime. Remember to
6
- * keep this in sync with the version declared in `package.json`
7
- */
8
- export const jsVersion = '0.8.1';
9
- //# sourceMappingURL=jsVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["jsVersion"],"sourceRoot":"../../../src","sources":["debug/jsVersion.ts"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG,OAAO","ignoreList":[]}