react-native-worklets 0.2.0 → 0.3.0-nightly-20250425-43520c73e
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.
- package/RNWorklets.podspec +12 -3
- package/android/CMakeLists.txt +87 -7
- package/android/build.gradle +23 -9
- package/apple/worklets/apple/SlowAnimations.mm +1 -3
- package/apple/worklets/apple/WorkletsModule.h +4 -1
- package/apple/worklets/apple/WorkletsModule.mm +19 -2
- package/lib/module/WorkletsError.js +19 -5
- package/lib/module/WorkletsError.js.map +1 -1
- package/lib/module/WorkletsModule/NativeWorklets.js +8 -1
- package/lib/module/WorkletsModule/NativeWorklets.js.map +1 -1
- package/lib/module/errors.js +0 -28
- package/lib/module/errors.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/privateGlobals.d.js +1 -0
- package/lib/module/privateGlobals.d.js.map +1 -1
- package/lib/module/runtimes.js +2 -2
- package/lib/module/runtimes.js.map +1 -1
- package/lib/module/threads.js +2 -2
- package/lib/module/threads.js.map +1 -1
- package/lib/typescript/WorkletsError.d.ts +13 -1
- package/lib/typescript/WorkletsError.d.ts.map +1 -1
- package/lib/typescript/WorkletsModule/NativeWorklets.d.ts.map +1 -1
- package/lib/typescript/errors.d.ts +0 -11
- package/lib/typescript/errors.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +0 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +10 -10
- package/plugin/index.js +1665 -2
- package/scripts/worklets_utils.rb +6 -1
- package/src/WorkletsError.ts +27 -7
- package/src/WorkletsModule/NativeWorklets.ts +9 -1
- package/src/errors.ts +0 -40
- package/src/index.ts +0 -2
- package/src/privateGlobals.d.ts +3 -0
- package/src/runtimes.ts +2 -2
- package/src/threads.ts +2 -2
- package/android/src/main/cpp/worklets/CMakeLists.txt +0 -85
package/RNWorklets.podspec
CHANGED
|
@@ -17,8 +17,6 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.platforms = { :ios => ios_min_version, :tvos => "9.0", :osx => "10.14", :visionos => "1.0" }
|
|
18
18
|
s.source = { :git => "https://github.com/software-mansion/react-native-reanimated.git", :tag => "#{s.version}" }
|
|
19
19
|
|
|
20
|
-
s.source_files = "apple/*.{h,m,mm,cpp}"
|
|
21
|
-
|
|
22
20
|
s.subspec "worklets" do |ss|
|
|
23
21
|
ss.source_files = "Common/cpp/worklets/**/*.{cpp,h}"
|
|
24
22
|
ss.header_dir = "worklets"
|
|
@@ -37,6 +35,14 @@ Pod::Spec.new do |s|
|
|
|
37
35
|
# Use install_modules_dependencies helper to install the dependencies.
|
|
38
36
|
# See https://github.com/facebook/react-native/blob/c925872e72d2422be46670777bfa2111e13c9e4c/packages/react-native/scripts/cocoapods/new_architecture.rb#L71.
|
|
39
37
|
install_modules_dependencies(s)
|
|
38
|
+
|
|
39
|
+
# React Native doesn't expose these flags, but not having them
|
|
40
|
+
# can lead to runtime errors due to ABI mismatches.
|
|
41
|
+
# There's also
|
|
42
|
+
# HERMESVM_PROFILER_OPCODE
|
|
43
|
+
# HERMESVM_PROFILER_BB
|
|
44
|
+
# which shouldn't be defined in standard setups.
|
|
45
|
+
hermes_debug_hidden_flags = '$(inherited) HERMES_ENABLE_DEBUGGER=1'
|
|
40
46
|
|
|
41
47
|
s.pod_target_xcconfig = {
|
|
42
48
|
"USE_HEADERMAP" => "YES",
|
|
@@ -50,10 +56,11 @@ Pod::Spec.new do |s|
|
|
|
50
56
|
'"$(PODS_ROOT)/DoubleConversion"',
|
|
51
57
|
'"$(PODS_ROOT)/Headers/Private/React-Core"',
|
|
52
58
|
'"$(PODS_ROOT)/Headers/Private/Yoga"',
|
|
53
|
-
"\"$(PODS_ROOT)/#{$worklets_config[:react_native_common_dir]}\"",
|
|
54
59
|
].join(' '),
|
|
55
60
|
"FRAMEWORK_SEARCH_PATHS" => '"${PODS_CONFIGURATION_BUILD_DIR}/React-hermes"',
|
|
56
61
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
|
|
62
|
+
"GCC_PREPROCESSOR_DEFINITIONS[config=*Debug*]" => hermes_debug_hidden_flags,
|
|
63
|
+
"GCC_PREPROCESSOR_DEFINITIONS[config=*Release*]" => '$(inherited)',
|
|
57
64
|
}
|
|
58
65
|
s.xcconfig = {
|
|
59
66
|
"HEADER_SEARCH_PATHS" => [
|
|
@@ -64,6 +71,8 @@ Pod::Spec.new do |s|
|
|
|
64
71
|
'"$(PODS_ROOT)/Headers/Public/React-hermes"',
|
|
65
72
|
'"$(PODS_ROOT)/Headers/Public/hermes-engine"',
|
|
66
73
|
"\"$(PODS_ROOT)/#{$worklets_config[:react_native_common_dir]}\"",
|
|
74
|
+
"\"$(PODS_ROOT)/#{$worklets_config[:dynamic_frameworks_worklets_dir]}/apple\"",
|
|
75
|
+
"\"$(PODS_ROOT)/#{$worklets_config[:dynamic_frameworks_worklets_dir]}/Common/cpp\"",
|
|
67
76
|
].join(' '),
|
|
68
77
|
}
|
|
69
78
|
|
package/android/CMakeLists.txt
CHANGED
|
@@ -11,12 +11,9 @@ set(CMAKE_CXX_STANDARD 20)
|
|
|
11
11
|
include("${REACT_NATIVE_DIR}/ReactAndroid/cmake-utils/folly-flags.cmake")
|
|
12
12
|
add_compile_options(${folly_FLAGS})
|
|
13
13
|
|
|
14
|
-
string(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
" -DREACT_NATIVE_MINOR_VERSION=${REACT_NATIVE_MINOR_VERSION} \
|
|
18
|
-
-DREANIMATED_VERSION=${REANIMATED_VERSION} \
|
|
19
|
-
-DHERMES_ENABLE_DEBUGGER=${HERMES_ENABLE_DEBUGGER}")
|
|
14
|
+
string(APPEND CMAKE_CXX_FLAGS
|
|
15
|
+
" -DREACT_NATIVE_MINOR_VERSION=${REACT_NATIVE_MINOR_VERSION} \
|
|
16
|
+
-DREANIMATED_VERSION=${REANIMATED_VERSION}")
|
|
20
17
|
|
|
21
18
|
string(APPEND CMAKE_CXX_FLAGS
|
|
22
19
|
" -fexceptions -fno-omit-frame-pointer -frtti -fstack-protector-all \
|
|
@@ -53,4 +50,87 @@ set(BUILD_DIR "${CMAKE_SOURCE_DIR}/build")
|
|
|
53
50
|
set(ANDROID_CPP_DIR "${CMAKE_SOURCE_DIR}/src/main/cpp")
|
|
54
51
|
set(COMMON_CPP_DIR "${CMAKE_SOURCE_DIR}/../Common/cpp")
|
|
55
52
|
|
|
56
|
-
|
|
53
|
+
file(GLOB_RECURSE WORKLETS_COMMON_CPP_SOURCES CONFIGURE_DEPENDS
|
|
54
|
+
"${COMMON_CPP_DIR}/worklets/*.cpp")
|
|
55
|
+
file(GLOB_RECURSE WORKLETS_ANDROID_CPP_SOURCES CONFIGURE_DEPENDS
|
|
56
|
+
"${ANDROID_CPP_DIR}/worklets/*.cpp")
|
|
57
|
+
|
|
58
|
+
# Consume shared libraries and headers from prefabs
|
|
59
|
+
find_package(fbjni REQUIRED CONFIG)
|
|
60
|
+
find_package(ReactAndroid REQUIRED CONFIG)
|
|
61
|
+
|
|
62
|
+
if(${JS_RUNTIME} STREQUAL "hermes")
|
|
63
|
+
find_package(hermes-engine REQUIRED CONFIG)
|
|
64
|
+
endif()
|
|
65
|
+
|
|
66
|
+
add_library(worklets SHARED ${WORKLETS_COMMON_CPP_SOURCES}
|
|
67
|
+
${WORKLETS_ANDROID_CPP_SOURCES})
|
|
68
|
+
|
|
69
|
+
# includes
|
|
70
|
+
target_include_directories(worklets PUBLIC "${COMMON_CPP_DIR}"
|
|
71
|
+
"${ANDROID_CPP_DIR}")
|
|
72
|
+
|
|
73
|
+
target_include_directories(
|
|
74
|
+
worklets
|
|
75
|
+
PRIVATE "${REACT_NATIVE_DIR}/ReactCommon"
|
|
76
|
+
"${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/turbomodule"
|
|
77
|
+
"${REACT_NATIVE_DIR}/ReactCommon/react/nativemodule/core/ReactCommon"
|
|
78
|
+
"${REACT_NATIVE_DIR}/ReactCommon/callinvoker"
|
|
79
|
+
"${REACT_NATIVE_DIR}/ReactCommon/runtimeexecutor")
|
|
80
|
+
|
|
81
|
+
if(${IS_NEW_ARCHITECTURE_ENABLED})
|
|
82
|
+
target_include_directories(
|
|
83
|
+
worklets
|
|
84
|
+
PRIVATE
|
|
85
|
+
"${REACT_NATIVE_DIR}/ReactCommon/yoga"
|
|
86
|
+
"${REACT_NATIVE_DIR}/ReactCommon/react/renderer/graphics/platform/cxx")
|
|
87
|
+
|
|
88
|
+
if(ReactAndroid_VERSION_MINOR LESS 76)
|
|
89
|
+
target_link_libraries(
|
|
90
|
+
worklets ReactAndroid::fabricjni ReactAndroid::react_debug
|
|
91
|
+
ReactAndroid::react_render_core
|
|
92
|
+
ReactAndroid::react_render_componentregistry ReactAndroid::rrc_view)
|
|
93
|
+
endif()
|
|
94
|
+
endif()
|
|
95
|
+
|
|
96
|
+
# build shared lib
|
|
97
|
+
set_target_properties(worklets PROPERTIES LINKER_LANGUAGE CXX)
|
|
98
|
+
|
|
99
|
+
target_link_libraries(worklets log ReactAndroid::jsi fbjni::fbjni)
|
|
100
|
+
|
|
101
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
102
|
+
target_link_libraries(worklets ReactAndroid::reactnative)
|
|
103
|
+
else()
|
|
104
|
+
target_link_libraries(
|
|
105
|
+
worklets ReactAndroid::react_nativemodule_core ReactAndroid::folly_runtime
|
|
106
|
+
ReactAndroid::glog ReactAndroid::reactnativejni)
|
|
107
|
+
endif()
|
|
108
|
+
|
|
109
|
+
if(${JS_RUNTIME} STREQUAL "hermes")
|
|
110
|
+
target_link_libraries(worklets hermes-engine::libhermes)
|
|
111
|
+
|
|
112
|
+
if(${HERMES_ENABLE_DEBUGGER})
|
|
113
|
+
string(APPEND CMAKE_CXX_FLAGS " -DHERMES_ENABLE_DEBUGGER=1")
|
|
114
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
115
|
+
target_link_libraries(worklets ReactAndroid::hermestooling)
|
|
116
|
+
else()
|
|
117
|
+
target_link_libraries(worklets ReactAndroid::hermes_executor)
|
|
118
|
+
endif()
|
|
119
|
+
endif()
|
|
120
|
+
elseif(${JS_RUNTIME} STREQUAL "jsc")
|
|
121
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
122
|
+
target_link_libraries(worklets ReactAndroid::jsctooling)
|
|
123
|
+
else()
|
|
124
|
+
target_link_libraries(worklets ReactAndroid::jscexecutor)
|
|
125
|
+
endif()
|
|
126
|
+
elseif(${JS_RUNTIME} STREQUAL "v8")
|
|
127
|
+
# TODO: Refactor this when adding support for newest V8
|
|
128
|
+
target_include_directories(worklets PRIVATE "${JS_RUNTIME_DIR}/src")
|
|
129
|
+
file(GLOB V8_SO_DIR "${JS_RUNTIME_DIR}/android/build/intermediates/\
|
|
130
|
+
library_jni/**/jni/${ANDROID_ABI}")
|
|
131
|
+
find_library(
|
|
132
|
+
V8EXECUTOR_LIB v8executor
|
|
133
|
+
PATHS ${V8_SO_DIR}
|
|
134
|
+
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
|
135
|
+
target_link_libraries(worklets ${V8EXECUTOR_LIB})
|
|
136
|
+
endif()
|
package/android/build.gradle
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import com.android.build.gradle.tasks.ExternalNativeBuildJsonTask
|
|
1
2
|
import groovy.json.JsonSlurper
|
|
2
3
|
import java.nio.file.Paths
|
|
3
4
|
import org.apache.tools.ant.taskdefs.condition.Os
|
|
@@ -194,9 +195,13 @@ android {
|
|
|
194
195
|
externalNativeBuild {
|
|
195
196
|
cmake {
|
|
196
197
|
if (JS_RUNTIME == "hermes") {
|
|
198
|
+
// React Native doesn't expose these flags, but not having them
|
|
199
|
+
// can lead to runtime errors due to ABI mismatches.
|
|
200
|
+
// There's also
|
|
201
|
+
// HERMESVM_PROFILER_OPCODE
|
|
202
|
+
// HERMESVM_PROFILER_BB
|
|
203
|
+
// which shouldn't be defined in standard setups.
|
|
197
204
|
arguments "-DHERMES_ENABLE_DEBUGGER=1"
|
|
198
|
-
} else {
|
|
199
|
-
arguments "-DHERMES_ENABLE_DEBUGGER=0"
|
|
200
205
|
}
|
|
201
206
|
}
|
|
202
207
|
}
|
|
@@ -204,13 +209,6 @@ android {
|
|
|
204
209
|
doNotStrip "**/**/*.so"
|
|
205
210
|
}
|
|
206
211
|
}
|
|
207
|
-
release {
|
|
208
|
-
externalNativeBuild {
|
|
209
|
-
cmake {
|
|
210
|
-
arguments "-DHERMES_ENABLE_DEBUGGER=0"
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
212
|
}
|
|
215
213
|
lintOptions {
|
|
216
214
|
abortOnError false
|
|
@@ -256,6 +254,22 @@ android {
|
|
|
256
254
|
}
|
|
257
255
|
}
|
|
258
256
|
}
|
|
257
|
+
tasks.withType(ExternalNativeBuildJsonTask) {
|
|
258
|
+
compileTask ->
|
|
259
|
+
compileTask.doLast {
|
|
260
|
+
if (!IS_REANIMATED_EXAMPLE_APP) {
|
|
261
|
+
return
|
|
262
|
+
}
|
|
263
|
+
def packageDir = new File("${project.projectDir}/..")
|
|
264
|
+
|
|
265
|
+
def generated = new File("${compileTask.abi.getCxxBuildFolder()}/compile_commands.json")
|
|
266
|
+
def output = new File("${packageDir}/compile_commands.json")
|
|
267
|
+
|
|
268
|
+
output.text = generated.text
|
|
269
|
+
|
|
270
|
+
println("Generated clangd metadata.")
|
|
271
|
+
}
|
|
272
|
+
}
|
|
259
273
|
}
|
|
260
274
|
|
|
261
275
|
task assertMinimalReactNativeVersionTask {
|
|
@@ -37,11 +37,9 @@ CFTimeInterval calculateTimestampWithSlowAnimations(CFTimeInterval currentTimest
|
|
|
37
37
|
if (areSlowAnimationsEnabled) {
|
|
38
38
|
currentTimestamp = (dragCoefChangedTimestamp + (currentTimestamp - dragCoefChangedTimestamp) / dragCoef);
|
|
39
39
|
}
|
|
40
|
+
#endif // TARGET_IPHONE_SIMULATOR
|
|
40
41
|
currentTimestamp *= MILLISECONDS_IN_SECOND;
|
|
41
42
|
return currentTimestamp;
|
|
42
|
-
#else // TARGET_IPHONE_SIMULATOR
|
|
43
|
-
return currentTimestamp;
|
|
44
|
-
#endif // TARGET_IPHONE_SIMULATOR
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
} // namespace worklets
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
#import <React/RCTCallInvokerModule.h>
|
|
2
2
|
#import <React/RCTEventEmitter.h>
|
|
3
|
+
#import <React/RCTInvalidating.h>
|
|
4
|
+
|
|
5
|
+
#import <rnworklets/rnworklets.h>
|
|
3
6
|
|
|
4
7
|
#import <worklets/NativeModules/WorkletsModuleProxy.h>
|
|
5
8
|
|
|
6
|
-
@interface WorkletsModule : RCTEventEmitter <RCTCallInvokerModule>
|
|
9
|
+
@interface WorkletsModule : RCTEventEmitter <NativeWorkletsModuleSpec, RCTCallInvokerModule, RCTInvalidating>
|
|
7
10
|
|
|
8
11
|
- (std::shared_ptr<worklets::WorkletsModuleProxy>)getWorkletsModuleProxy;
|
|
9
12
|
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#import <worklets/apple/WorkletsMessageThread.h>
|
|
8
8
|
#import <worklets/apple/WorkletsModule.h>
|
|
9
9
|
|
|
10
|
+
#import <React/RCTBridge+Private.h>
|
|
10
11
|
#import <React/RCTCallInvoker.h>
|
|
11
12
|
|
|
12
13
|
using worklets::RNRuntimeWorkletDecorator;
|
|
@@ -30,16 +31,24 @@ using worklets::WorkletsModuleProxy;
|
|
|
30
31
|
return workletsModuleProxy_;
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
- (void)checkBridgeless
|
|
35
|
+
{
|
|
36
|
+
auto isBridgeless = ![self.bridge isKindOfClass:[RCTCxxBridge class]];
|
|
37
|
+
react_native_assert(isBridgeless && "[Worklets] react-native-worklets only supports bridgeless mode");
|
|
38
|
+
}
|
|
39
|
+
|
|
33
40
|
@synthesize callInvoker = _callInvoker;
|
|
34
41
|
|
|
35
42
|
RCT_EXPORT_MODULE(WorkletsModule);
|
|
36
43
|
|
|
37
44
|
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(installTurboModule : (nonnull NSString *)valueUnpackerCode)
|
|
38
45
|
{
|
|
39
|
-
AssertJavaScriptQueue();
|
|
40
|
-
|
|
41
46
|
react_native_assert(self.bridge != nullptr);
|
|
47
|
+
[self checkBridgeless];
|
|
42
48
|
react_native_assert(self.bridge.runtime != nullptr);
|
|
49
|
+
|
|
50
|
+
AssertJavaScriptQueue();
|
|
51
|
+
|
|
43
52
|
jsi::Runtime &rnRuntime = *reinterpret_cast<facebook::jsi::Runtime *>(self.bridge.runtime);
|
|
44
53
|
|
|
45
54
|
auto jsQueue = std::make_shared<WorkletsMessageThread>([NSRunLoop currentRunLoop], ^(NSError *error) {
|
|
@@ -82,4 +91,12 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(installTurboModule : (nonnull NSString *)
|
|
|
82
91
|
[super invalidate];
|
|
83
92
|
}
|
|
84
93
|
|
|
94
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
95
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
96
|
+
{
|
|
97
|
+
[self checkBridgeless];
|
|
98
|
+
AssertJavaScriptQueue();
|
|
99
|
+
return std::make_shared<facebook::react::NativeWorkletsModuleSpecJSI>(params);
|
|
100
|
+
}
|
|
101
|
+
|
|
85
102
|
@end
|
|
@@ -1,13 +1,27 @@
|
|
|
1
|
+
/* eslint-disable reanimated/use-worklets-error */
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
function WorkletsErrorConstructor(message) {
|
|
5
|
+
'worklet';
|
|
6
|
+
|
|
7
|
+
const prefix = '[Worklets]';
|
|
8
|
+
const errorInstance = new Error(message ? `${prefix} ${message}` : prefix);
|
|
9
|
+
errorInstance.name = `WorkletsError`;
|
|
10
|
+
return errorInstance;
|
|
11
|
+
}
|
|
5
12
|
|
|
6
|
-
|
|
7
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Registers WorkletsError in the global scope. Register only for Worklet
|
|
15
|
+
* runtimes.
|
|
16
|
+
*/
|
|
8
17
|
export function registerWorkletsError() {
|
|
9
18
|
'worklet';
|
|
10
19
|
|
|
11
|
-
|
|
20
|
+
if (globalThis._WORKLET) {
|
|
21
|
+
globalThis.WorkletsError = WorkletsErrorConstructor;
|
|
22
|
+
}
|
|
12
23
|
}
|
|
24
|
+
export const WorkletsError = WorkletsErrorConstructor;
|
|
25
|
+
|
|
26
|
+
// signed type
|
|
13
27
|
//# sourceMappingURL=WorkletsError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["WorkletsErrorConstructor","message","prefix","errorInstance","Error","name","registerWorkletsError","globalThis","_WORKLET","WorkletsError"],"sourceRoot":"../../src","sources":["WorkletsError.ts"],"mappings":"AAAA;AACA,YAAY;;AAEZ,SAASA,wBAAwBA,CAACC,OAAgB,EAAiB;EACjE,SAAS;;EACT,MAAMC,MAAM,GAAG,YAAY;EAC3B,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,IAAIC,UAAU,CAACC,QAAQ,EAAE;IACvBD,UAAU,CAACE,aAAa,GACtBT,wBAAqD;EACzD;AACF;AAEA,OAAO,MAAMS,aAAa,GACxBT,wBAAqD;;AAEG","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable reanimated/use-reanimated-error */
|
|
2
|
+
/* eslint-disable @typescript-eslint/unbound-method */
|
|
2
3
|
'use strict';
|
|
3
4
|
|
|
4
5
|
import { WorkletsTurboModule } from "../specs/index.js";
|
|
@@ -18,7 +19,13 @@ class NativeWorklets {
|
|
|
18
19
|
throw new WorkletsError(`Native part of Worklets doesn't seem to be initialized.
|
|
19
20
|
See https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#native-part-of-reanimated-doesnt-seem-to-be-initialized for more details.`);
|
|
20
21
|
}
|
|
21
|
-
this.#workletsModuleProxy =
|
|
22
|
+
this.#workletsModuleProxy = {
|
|
23
|
+
scheduleOnUI: global.__workletsModuleProxy.scheduleOnUI,
|
|
24
|
+
scheduleOnRuntime: global.__workletsModuleProxy.scheduleOnRuntime,
|
|
25
|
+
executeOnUIRuntimeSync: global.__workletsModuleProxy.executeOnUIRuntimeSync,
|
|
26
|
+
createWorkletRuntime: global.__workletsModuleProxy.createWorkletRuntime,
|
|
27
|
+
makeShareableClone: global.__workletsModuleProxy.makeShareableClone
|
|
28
|
+
};
|
|
22
29
|
}
|
|
23
30
|
makeShareableClone(value, shouldPersistRemote, nativeStateSource) {
|
|
24
31
|
return this.#workletsModuleProxy.makeShareableClone(value, shouldPersistRemote, nativeStateSource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WorkletsTurboModule","getValueUnpackerCode","WorkletsError","createNativeWorkletsModule","NativeWorklets","workletsModuleProxy","constructor","global","__workletsModuleProxy","undefined","valueUnpackerCode","installTurboModule","
|
|
1
|
+
{"version":3,"names":["WorkletsTurboModule","getValueUnpackerCode","WorkletsError","createNativeWorkletsModule","NativeWorklets","workletsModuleProxy","constructor","global","__workletsModuleProxy","undefined","valueUnpackerCode","installTurboModule","scheduleOnUI","scheduleOnRuntime","executeOnUIRuntimeSync","createWorkletRuntime","makeShareableClone","value","shouldPersistRemote","nativeStateSource","shareable","name","initializer","workletRuntime","shareableWorklet"],"sourceRoot":"../../../src","sources":["WorkletsModule/NativeWorklets.ts"],"mappings":"AAAA;AACA;AACA,YAAY;;AAEZ,SAASA,mBAAmB,QAAQ,mBAAU;AAC9C,SAASC,oBAAoB,QAAQ,qBAAkB;AACvD,SAASC,aAAa,QAAQ,qBAAkB;AAMhD,OAAO,SAASC,0BAA0BA,CAAA,EAAoB;EAC5D,OAAO,IAAIC,cAAc,CAAC,CAAC;AAC7B;AAEA,MAAMA,cAAc,CAAC;EACnB,CAACC,mBAAmB;EAEpBC,WAAWA,CAAA,EAAG;IACZ,IAAIC,MAAM,CAACC,qBAAqB,KAAKC,SAAS,EAAE;MAC9C,MAAMC,iBAAiB,GAAGT,oBAAoB,CAAC,CAAC;MAChDD,mBAAmB,EAAEW,kBAAkB,CAACD,iBAAiB,CAAC;IAC5D;IACA,IAAIH,MAAM,CAACC,qBAAqB,KAAKC,SAAS,EAAE;MAC9C,MAAM,IAAIP,aAAa,CACrB;AACR,6JACM,CAAC;IACH;IACA,IAAI,CAAC,CAACG,mBAAmB,GAAG;MAC1BO,YAAY,EAAEL,MAAM,CAACC,qBAAqB,CAACI,YAAY;MACvDC,iBAAiB,EAAEN,MAAM,CAACC,qBAAqB,CAACK,iBAAiB;MACjEC,sBAAsB,EACpBP,MAAM,CAACC,qBAAqB,CAACM,sBAAsB;MACrDC,oBAAoB,EAAER,MAAM,CAACC,qBAAqB,CAACO,oBAAoB;MACvEC,kBAAkB,EAAET,MAAM,CAACC,qBAAqB,CAACQ;IACnD,CAAC;EACH;EAEAA,kBAAkBA,CAChBC,KAAa,EACbC,mBAA4B,EAC5BC,iBAA0B,EAC1B;IACA,OAAO,IAAI,CAAC,CAACd,mBAAmB,CAACW,kBAAkB,CACjDC,KAAK,EACLC,mBAAmB,EACnBC,iBACF,CAAC;EACH;EAEAP,YAAYA,CAASQ,SAA+B,EAAE;IACpD,OAAO,IAAI,CAAC,CAACf,mBAAmB,CAACO,YAAY,CAACQ,SAAS,CAAC;EAC1D;EAEAN,sBAAsBA,CACpBM,SAA+B,EACtB;IACT,OAAO,IAAI,CAAC,CAACf,mBAAmB,CAACS,sBAAsB,CAACM,SAAS,CAAC;EACpE;EAEAL,oBAAoBA,CAACM,IAAY,EAAEC,WAAqC,EAAE;IACxE,OAAO,IAAI,CAAC,CAACjB,mBAAmB,CAACU,oBAAoB,CAACM,IAAI,EAAEC,WAAW,CAAC;EAC1E;EAEAT,iBAAiBA,CACfU,cAA8B,EAC9BC,gBAAiC,EACjC;IACA,OAAO,IAAI,CAAC,CAACnB,mBAAmB,CAACQ,iBAAiB,CAChDU,cAAc,EACdC,gBACF,CAAC;EACH;AACF","ignoreList":[]}
|
package/lib/module/errors.js
CHANGED
|
@@ -1,33 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
// signed type
|
|
4
|
-
|
|
5
|
-
export function createCustomError(name) {
|
|
6
|
-
const constructor = function CustomError(message) {
|
|
7
|
-
'worklet';
|
|
8
|
-
|
|
9
|
-
const prefix = `[${name}]`;
|
|
10
|
-
// eslint-disable-next-line reanimated/use-worklets-error
|
|
11
|
-
const errorInstance = new Error(message ? `${prefix} ${message}` : prefix);
|
|
12
|
-
errorInstance.name = `${name}Error`;
|
|
13
|
-
return errorInstance;
|
|
14
|
-
};
|
|
15
|
-
Object.defineProperty(constructor, 'name', {
|
|
16
|
-
value: `${name}Error`
|
|
17
|
-
});
|
|
18
|
-
return constructor;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/** Registers custom errors in global scope. Use it only for Worklet runtimes. */
|
|
22
|
-
export function registerCustomError(constructor, name) {
|
|
23
|
-
'worklet';
|
|
24
|
-
|
|
25
|
-
if (!_WORKLET) {
|
|
26
|
-
// eslint-disable-next-line reanimated/use-worklets-error
|
|
27
|
-
throw new Error('[Worklets] registerCustomError() must be called on a Worklet runtime');
|
|
28
|
-
}
|
|
29
|
-
global[`${name}Error`] = constructor;
|
|
30
|
-
}
|
|
31
3
|
const _workletStackDetails = new Map();
|
|
32
4
|
export function registerWorkletStackDetails(hash, stackDetails) {
|
|
33
5
|
_workletStackDetails.set(hash, stackDetails);
|
package/lib/module/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_workletStackDetails","Map","registerWorkletStackDetails","hash","stackDetails","set","getBundleOffset","error","frame","stack","split","parsedFrame","exec","file","line","col","Number","processStack","workletStackEntries","match","result","forEach","origLine","origCol","map","errorDetails","get","lineOffset","colOffset","bundleFile","bundleLine","bundleCol","replace","reportFatalErrorOnJS","message","moduleName","Error","undefined","name","jsEngine","global","ErrorUtils","reportFatalError"],"sourceRoot":"../../src","sources":["errors.ts"],"mappings":"AAAA,YAAY;;AAIZ,MAAMA,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,KAAa,EAAU;EAC3C,MAAMS,mBAAmB,GAAGT,KAAK,CAACU,KAAK,CAAC,4BAA4B,CAAC;EACrE,IAAIC,MAAM,GAAGX,KAAK;EAClBS,mBAAmB,EAAEG,OAAO,CAAEF,KAAK,IAAK;IACtC,MAAM,GAAGhB,IAAI,EAAEmB,QAAQ,EAAEC,OAAO,CAAC,GAAGJ,KAAK,CAACT,KAAK,CAAC,KAAK,CAAC,CAACc,GAAG,CAACR,MAAM,CAAC;IAClE,MAAMS,YAAY,GAAGzB,oBAAoB,CAAC0B,GAAG,CAACvB,IAAI,CAAC;IACnD,IAAI,CAACsB,YAAY,EAAE;MACjB;IACF;IACA,MAAM,CAAClB,KAAK,EAAEoB,UAAU,EAAEC,SAAS,CAAC,GAAGH,YAAY;IACnD,MAAM,CAACI,UAAU,EAAEC,UAAU,EAAEC,SAAS,CAAC,GAAGzB,eAAe,CAACC,KAAK,CAAC;IAClE,MAAMO,IAAI,GAAGQ,QAAQ,GAAGQ,UAAU,GAAGH,UAAU;IAC/C,MAAMZ,GAAG,GAAGQ,OAAO,GAAGQ,SAAS,GAAGH,SAAS;IAE3CR,MAAM,GAAGA,MAAM,CAACY,OAAO,CAACb,KAAK,EAAE,GAAGU,UAAU,IAAIf,IAAI,IAAIC,GAAG,EAAE,CAAC;EAChE,CAAC,CAAC;EACF,OAAOK,MAAM;AACf;AAEA,OAAO,SAASa,oBAAoBA,CAAC;EACnCC,OAAO;EACPzB,KAAK;EACL0B;AAKF,CAAC,EAAE;EACD;EACA,MAAM5B,KAAK,GAAG,IAAI6B,KAAK,CAAC,CAAC;EACzB7B,KAAK,CAAC2B,OAAO,GAAGA,OAAO;EACvB3B,KAAK,CAACE,KAAK,GAAGA,KAAK,GAAGQ,YAAY,CAACR,KAAK,CAAC,GAAG4B,SAAS;EACrD9B,KAAK,CAAC+B,IAAI,GAAG,GAAGH,UAAU,OAAO;EACjC;EACA5B,KAAK,CAACgC,QAAQ,GAAGJ,UAAU;EAC3B;EACAK,MAAM,CAACC,UAAU,CAACC,gBAAgB,CAACnC,KAAK,CAAC;AAC3C","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -6,7 +6,6 @@ import { WorkletsModule } from "./WorkletsModule/index.js";
|
|
|
6
6
|
// TODO: Specify the initialization pipeline since now there's no
|
|
7
7
|
// universal source of truth for it.
|
|
8
8
|
initializeUIRuntime(WorkletsModule);
|
|
9
|
-
export { createCustomError, registerCustomError } from "./errors.js";
|
|
10
9
|
export { logger, LogLevel, registerLoggerConfig, updateLoggerConfig } from "./logger/index.js";
|
|
11
10
|
export { createWorkletRuntime, runOnRuntime } from "./runtimes.js";
|
|
12
11
|
export { shareableMappingCache } from "./shareableMappingCache.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initializeUIRuntime","WorkletsModule","
|
|
1
|
+
{"version":3,"names":["initializeUIRuntime","WorkletsModule","logger","LogLevel","registerLoggerConfig","updateLoggerConfig","createWorkletRuntime","runOnRuntime","shareableMappingCache","makeShareable","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","callMicrotasks","executeOnUIRuntimeSync","runOnJS","runOnUI","isWorkletFunction"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,mBAAmB,QAAQ,mBAAgB;AACpD,SAASC,cAAc,QAAQ,2BAAkB;;AAEjD;AACA;AACAD,mBAAmB,CAACC,cAAc,CAAC;AAGnC,SACEC,MAAM,EACNC,QAAQ,EACRC,oBAAoB,EACpBC,kBAAkB,QACb,mBAAU;AACjB,SAASC,oBAAoB,EAAEC,YAAY,QAAQ,eAAY;AAC/D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,aAAa,EACbC,+BAA+B,EAC/BC,2BAA2B,QACtB,iBAAc;AACrB,SACEC,cAAc,EACdC,sBAAsB,EACtBC,OAAO,EACPC,OAAO,QACF,cAAW;AAClB,SAASC,iBAAiB,QAAQ,sBAAmB;AAErD,SAASf,cAAc,QAAQ,2BAAkB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["privateGlobals.d.ts"],"mappings":"AAAA;AACA,YAAY;;AAEZ;AACA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["privateGlobals.d.ts"],"mappings":"AAAA;AACA;AACA,YAAY;;AAEZ;AACA;AAAA","ignoreList":[]}
|
package/lib/module/runtimes.js
CHANGED
|
@@ -45,9 +45,9 @@ export function runOnRuntime(workletRuntime, worklet) {
|
|
|
45
45
|
'worklet';
|
|
46
46
|
|
|
47
47
|
if (__DEV__ && !SHOULD_BE_USE_WEB && !isWorkletFunction(worklet)) {
|
|
48
|
-
throw new WorkletsError('The function passed to `runOnRuntime` is not a worklet.' + (_WORKLET ? ' Please make sure that `processNestedWorklets` option in Reanimated Babel plugin is enabled.' : ''));
|
|
48
|
+
throw new WorkletsError('The function passed to `runOnRuntime` is not a worklet.' + (globalThis._WORKLET ? ' Please make sure that `processNestedWorklets` option in Reanimated Babel plugin is enabled.' : ''));
|
|
49
49
|
}
|
|
50
|
-
if (_WORKLET) {
|
|
50
|
+
if (globalThis._WORKLET) {
|
|
51
51
|
return (...args) => global._scheduleOnRuntime(workletRuntime, makeShareableCloneOnUIRecursive(() => {
|
|
52
52
|
'worklet';
|
|
53
53
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setupCallGuard","setupConsole","registerLoggerConfig","shouldBeUseWeb","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","isWorkletFunction","registerWorkletsError","WorkletsError","WorkletsModule","SHOULD_BE_USE_WEB","createWorkletRuntime","name","initializer","config","__workletsLoggerConfig","runOnRuntime","workletRuntime","worklet","__DEV__","_WORKLET","args","global","_scheduleOnRuntime","scheduleOnRuntime"],"sourceRoot":"../../src","sources":["runtimes.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,cAAc,EAAEC,YAAY,QAAQ,mBAAgB;AAC7D,SAASC,oBAAoB,QAAQ,mBAAU;AAC/C,SAASC,cAAc,QAAQ,sBAAmB;AAClD,SACEC,+BAA+B,EAC/BC,2BAA2B,QACtB,iBAAc;AACrB,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,qBAAqB,EAAEC,aAAa,QAAQ,oBAAiB;AACtE,SAASC,cAAc,QAAQ,2BAAkB;AAGjD,MAAMC,iBAAiB,GAAGP,cAAc,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,OAAO,SAASQ,oBAAoBA,CAClCC,IAAY,EACZC,WAAuC,EACvB;EAChB;EACA;EACA,MAAMC,MAAM,GAAGC,sBAAsB;EACrC,OAAON,cAAc,CAACE,oBAAoB,CACxCC,IAAI,EACJP,2BAA2B,CAAC,MAAM;IAChC,SAAS;;IACTE,qBAAqB,CAAC,CAAC;IACvBL,oBAAoB,CAACY,MAAM,CAAC;IAC5Bd,cAAc,CAAC,CAAC;IAChBC,YAAY,CAAC,CAAC;IACdY,WAAW,GAAG,CAAC;EACjB,CAAC,CACH,CAAC;AACH;;AAEA;;AAKA;AACA,OAAO,SAASG,YAAYA,CAC1BC,cAA8B,EAC9BC,OAA2C,EAClB;EACzB,SAAS;;EACT,IAAIC,OAAO,IAAI,CAACT,iBAAiB,IAAI,CAACJ,iBAAiB,CAACY,OAAO,CAAC,EAAE;IAChE,MAAM,IAAIV,aAAa,CACrB,yDAAyD,IACtDY,QAAQ,
|
|
1
|
+
{"version":3,"names":["setupCallGuard","setupConsole","registerLoggerConfig","shouldBeUseWeb","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","isWorkletFunction","registerWorkletsError","WorkletsError","WorkletsModule","SHOULD_BE_USE_WEB","createWorkletRuntime","name","initializer","config","__workletsLoggerConfig","runOnRuntime","workletRuntime","worklet","__DEV__","globalThis","_WORKLET","args","global","_scheduleOnRuntime","scheduleOnRuntime"],"sourceRoot":"../../src","sources":["runtimes.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,cAAc,EAAEC,YAAY,QAAQ,mBAAgB;AAC7D,SAASC,oBAAoB,QAAQ,mBAAU;AAC/C,SAASC,cAAc,QAAQ,sBAAmB;AAClD,SACEC,+BAA+B,EAC/BC,2BAA2B,QACtB,iBAAc;AACrB,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,qBAAqB,EAAEC,aAAa,QAAQ,oBAAiB;AACtE,SAASC,cAAc,QAAQ,2BAAkB;AAGjD,MAAMC,iBAAiB,GAAGP,cAAc,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,OAAO,SAASQ,oBAAoBA,CAClCC,IAAY,EACZC,WAAuC,EACvB;EAChB;EACA;EACA,MAAMC,MAAM,GAAGC,sBAAsB;EACrC,OAAON,cAAc,CAACE,oBAAoB,CACxCC,IAAI,EACJP,2BAA2B,CAAC,MAAM;IAChC,SAAS;;IACTE,qBAAqB,CAAC,CAAC;IACvBL,oBAAoB,CAACY,MAAM,CAAC;IAC5Bd,cAAc,CAAC,CAAC;IAChBC,YAAY,CAAC,CAAC;IACdY,WAAW,GAAG,CAAC;EACjB,CAAC,CACH,CAAC;AACH;;AAEA;;AAKA;AACA,OAAO,SAASG,YAAYA,CAC1BC,cAA8B,EAC9BC,OAA2C,EAClB;EACzB,SAAS;;EACT,IAAIC,OAAO,IAAI,CAACT,iBAAiB,IAAI,CAACJ,iBAAiB,CAACY,OAAO,CAAC,EAAE;IAChE,MAAM,IAAIV,aAAa,CACrB,yDAAyD,IACtDY,UAAU,CAACC,QAAQ,GAChB,8FAA8F,GAC9F,EAAE,CACV,CAAC;EACH;EACA,IAAID,UAAU,CAACC,QAAQ,EAAE;IACvB,OAAO,CAAC,GAAGC,IAAI,KACbC,MAAM,CAACC,kBAAkB,CACvBP,cAAc,EACdb,+BAA+B,CAAC,MAAM;MACpC,SAAS;;MACTc,OAAO,CAAC,GAAGI,IAAI,CAAC;IAClB,CAAC,CACH,CAAC;EACL;EACA,OAAO,CAAC,GAAGA,IAAI,KACbb,cAAc,CAACgB,iBAAiB,CAC9BR,cAAc,EACdZ,2BAA2B,CAAC,MAAM;IAChC,SAAS;;IACTa,OAAO,CAAC,GAAGI,IAAI,CAAC;EAClB,CAAC,CACH,CAAC;AACL","ignoreList":[]}
|
package/lib/module/threads.js
CHANGED
|
@@ -70,7 +70,7 @@ export const callMicrotasks = SHOULD_BE_USE_WEB ? () => {
|
|
|
70
70
|
export function runOnUI(worklet) {
|
|
71
71
|
'worklet';
|
|
72
72
|
|
|
73
|
-
if (__DEV__ && !SHOULD_BE_USE_WEB && _WORKLET) {
|
|
73
|
+
if (__DEV__ && !SHOULD_BE_USE_WEB && globalThis._WORKLET) {
|
|
74
74
|
throw new WorkletsError('`runOnUI` cannot be called on the UI runtime. Please call the function synchronously or use `queueMicrotask` or `requestAnimationFrame` instead.');
|
|
75
75
|
}
|
|
76
76
|
if (__DEV__ && !SHOULD_BE_USE_WEB && !isWorkletFunction(worklet)) {
|
|
@@ -156,7 +156,7 @@ function runWorkletOnJS(worklet, ...args) {
|
|
|
156
156
|
export function runOnJS(fun) {
|
|
157
157
|
'worklet';
|
|
158
158
|
|
|
159
|
-
if (SHOULD_BE_USE_WEB || !_WORKLET) {
|
|
159
|
+
if (SHOULD_BE_USE_WEB || !globalThis._WORKLET) {
|
|
160
160
|
// if we are already on the JS thread, we just schedule the worklet on the JS queue
|
|
161
161
|
return (...args) => queueMicrotask(args.length ? () => fun(...args) : fun);
|
|
162
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isJest","shouldBeUseWeb","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","isWorkletFunction","WorkletsError","WorkletsModule","IS_JEST","SHOULD_BE_USE_WEB","_runOnUIQueue","setupMicrotasks","microtasksQueue","isExecutingMicrotasksQueue","global","queueMicrotask","callback","push","_microtaskQueueFinalizers","__callMicrotasks","index","length","forEach","finalizer","callMicrotasksOnUIThread","callMicrotasks","runOnUI","worklet","__DEV__","_WORKLET","args","scheduleOnUI","queue","executeOnUIRuntimeSync","result","runWorkletOnJS","runOnJS","fun","__remoteFunction","scheduleOnJS","_scheduleHostFunctionOnJS","_scheduleRemoteFunctionOnJS","undefined"],"sourceRoot":"../../src","sources":["threads.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,MAAM,EAAEC,cAAc,QAAQ,sBAAmB;AAC1D,SACEC,+BAA+B,EAC/BC,2BAA2B,QACtB,iBAAc;AACrB,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,2BAAkB;AAGjD,MAAMC,OAAO,GAAGP,MAAM,CAAC,CAAC;AACxB,MAAMQ,iBAAiB,GAAGP,cAAc,CAAC,CAAC;;AAE1C;AACA,IAAIQ,aAAsE,GAAG,EAAE;AAE/E,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,SAAS;;EAET,IAAIC,eAAkC,GAAG,EAAE;EAC3C,IAAIC,0BAA0B,GAAG,KAAK;EACtCC,MAAM,CAACC,cAAc,GAAIC,QAAoB,IAAK;IAChDJ,eAAe,CAACK,IAAI,CAACD,QAAQ,CAAC;EAChC,CAAC;EACDF,MAAM,CAACI,yBAAyB,GAAG,EAAE;EAErCJ,MAAM,CAACK,gBAAgB,GAAG,MAAM;IAC9B,IAAIN,0BAA0B,EAAE;MAC9B;IACF;IACA,IAAI;MACFA,0BAA0B,GAAG,IAAI;MACjC,KAAK,IAAIO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGR,eAAe,CAACS,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;QAC9D;QACAR,eAAe,CAACQ,KAAK,CAAC,CAAC,CAAC;MAC1B;MACAR,eAAe,GAAG,EAAE;MACpBE,MAAM,CAACI,yBAAyB,CAACI,OAAO,CAAEC,SAAS,IAAKA,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC,SAAS;MACRV,0BAA0B,GAAG,KAAK;IACpC;EACF,CAAC;AACH;AAEA,SAASW,wBAAwBA,CAAA,EAAG;EAClC,SAAS;;EACTV,MAAM,CAACK,gBAAgB,CAAC,CAAC;AAC3B;AAEA,OAAO,MAAMM,cAAc,GAAGhB,iBAAiB,GAC3C,MAAM;EACJ;AAAA,CACD,GACDe,wBAAwB;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,OAAO,SAASE,OAAOA,CACrBC,OAA2C,EAClB;EACzB,SAAS;;EACT,IAAIC,OAAO,IAAI,CAACnB,iBAAiB,IAAIoB,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"names":["isJest","shouldBeUseWeb","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","isWorkletFunction","WorkletsError","WorkletsModule","IS_JEST","SHOULD_BE_USE_WEB","_runOnUIQueue","setupMicrotasks","microtasksQueue","isExecutingMicrotasksQueue","global","queueMicrotask","callback","push","_microtaskQueueFinalizers","__callMicrotasks","index","length","forEach","finalizer","callMicrotasksOnUIThread","callMicrotasks","runOnUI","worklet","__DEV__","globalThis","_WORKLET","args","scheduleOnUI","queue","executeOnUIRuntimeSync","result","runWorkletOnJS","runOnJS","fun","__remoteFunction","scheduleOnJS","_scheduleHostFunctionOnJS","_scheduleRemoteFunctionOnJS","undefined"],"sourceRoot":"../../src","sources":["threads.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,MAAM,EAAEC,cAAc,QAAQ,sBAAmB;AAC1D,SACEC,+BAA+B,EAC/BC,2BAA2B,QACtB,iBAAc;AACrB,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,2BAAkB;AAGjD,MAAMC,OAAO,GAAGP,MAAM,CAAC,CAAC;AACxB,MAAMQ,iBAAiB,GAAGP,cAAc,CAAC,CAAC;;AAE1C;AACA,IAAIQ,aAAsE,GAAG,EAAE;AAE/E,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,SAAS;;EAET,IAAIC,eAAkC,GAAG,EAAE;EAC3C,IAAIC,0BAA0B,GAAG,KAAK;EACtCC,MAAM,CAACC,cAAc,GAAIC,QAAoB,IAAK;IAChDJ,eAAe,CAACK,IAAI,CAACD,QAAQ,CAAC;EAChC,CAAC;EACDF,MAAM,CAACI,yBAAyB,GAAG,EAAE;EAErCJ,MAAM,CAACK,gBAAgB,GAAG,MAAM;IAC9B,IAAIN,0BAA0B,EAAE;MAC9B;IACF;IACA,IAAI;MACFA,0BAA0B,GAAG,IAAI;MACjC,KAAK,IAAIO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGR,eAAe,CAACS,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;QAC9D;QACAR,eAAe,CAACQ,KAAK,CAAC,CAAC,CAAC;MAC1B;MACAR,eAAe,GAAG,EAAE;MACpBE,MAAM,CAACI,yBAAyB,CAACI,OAAO,CAAEC,SAAS,IAAKA,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC,SAAS;MACRV,0BAA0B,GAAG,KAAK;IACpC;EACF,CAAC;AACH;AAEA,SAASW,wBAAwBA,CAAA,EAAG;EAClC,SAAS;;EACTV,MAAM,CAACK,gBAAgB,CAAC,CAAC;AAC3B;AAEA,OAAO,MAAMM,cAAc,GAAGhB,iBAAiB,GAC3C,MAAM;EACJ;AAAA,CACD,GACDe,wBAAwB;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,OAAO,SAASE,OAAOA,CACrBC,OAA2C,EAClB;EACzB,SAAS;;EACT,IAAIC,OAAO,IAAI,CAACnB,iBAAiB,IAAIoB,UAAU,CAACC,QAAQ,EAAE;IACxD,MAAM,IAAIxB,aAAa,CACrB,kJACF,CAAC;EACH;EACA,IAAIsB,OAAO,IAAI,CAACnB,iBAAiB,IAAI,CAACJ,iBAAiB,CAACsB,OAAO,CAAC,EAAE;IAChE,MAAM,IAAIrB,aAAa,CAAC,2CAA2C,CAAC;EACtE;EACA,OAAO,CAAC,GAAGyB,IAAI,KAAK;IAClB,IAAIvB,OAAO,EAAE;MACX;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAD,cAAc,CAACyB,YAAY,CACzB5B,2BAA2B,CAAC,MAAM;QAChC,SAAS;;QACTuB,OAAO,CAAC,GAAGI,IAAI,CAAC;MAClB,CAAC,CACH,CAAC;MACD;IACF;IACA,IAAIH,OAAO,EAAE;MACX;MACA;MACA;MACA;MACA;MACAxB,2BAA2B,CAACuB,OAAO,CAAC;MACpCvB,2BAA2B,CAAC2B,IAAI,CAAC;IACnC;IACArB,aAAa,CAACO,IAAI,CAAC,CAACU,OAAO,EAAqBI,IAAI,CAAC,CAAC;IACtD,IAAIrB,aAAa,CAACW,MAAM,KAAK,CAAC,EAAE;MAC9BN,cAAc,CAAC,MAAM;QACnB,MAAMkB,KAAK,GAAGvB,aAAa;QAC3BA,aAAa,GAAG,EAAE;QAClBH,cAAc,CAACyB,YAAY,CACzB5B,2BAA2B,CAAC,MAAM;UAChC,SAAS;;UACT;UACA6B,KAAK,CAACX,OAAO,CAAC,CAAC,CAACK,OAAO,EAAEI,IAAI,CAAC,KAAK;YACjCJ,OAAO,CAAC,GAAGI,IAAI,CAAC;UAClB,CAAC,CAAC;UACFN,cAAc,CAAC,CAAC;QAClB,CAAC,CACH,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC;AACH;;AAEA;;AAKA,OAAO,SAASS,sBAAsBA,CACpCP,OAA2C,EACX;EAChC,OAAO,CAAC,GAAGI,IAAI,KAAK;IAClB,OAAOxB,cAAc,CAAC2B,sBAAsB,CAC1C9B,2BAA2B,CAAC,MAAM;MAChC,SAAS;;MACT,MAAM+B,MAAM,GAAGR,OAAO,CAAC,GAAGI,IAAI,CAAC;MAC/B,OAAO5B,+BAA+B,CAACgC,MAAM,CAAC;IAChD,CAAC,CACH,CAAC;EACH,CAAC;AACH;AAcA,SAASC,cAAcA,CACrBT,OAA2C,EAC3C,GAAGI,IAAU,EACP;EACN;EACAJ,OAAO,CAAC,GAAGI,IAAI,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,OAAOA,CACrBC,GAGsC,EACb;EACzB,SAAS;;EAET,IAAI7B,iBAAiB,IAAI,CAACoB,UAAU,CAACC,QAAQ,EAAE;IAC7C;IACA,OAAO,CAAC,GAAGC,IAAI,KACbhB,cAAc,CACZgB,IAAI,CAACV,MAAM,GACP,MAAOiB,GAAG,CAAoC,GAAGP,IAAI,CAAC,GACrDO,GACP,CAAC;EACL;EACA,IAAIjC,iBAAiB,CAAoBiC,GAAG,CAAC,EAAE;IAC7C;IACA;;IAEA,OAAO,CAAC,GAAGP,IAAI,KACbM,OAAO,CAACD,cAAiC,CAAC,CACxCE,GAAG,EACH,GAAGP,IACL,CAAC;EACL;EACA,IAAKO,GAAG,CAAkBC,gBAAgB,EAAE;IAC1C;IACA;IACA;IACA;IACAD,GAAG,GAAIA,GAAG,CAAkBC,gBAAgB;EAC9C;EAEA,MAAMC,YAAY,GAChB,OAAOF,GAAG,KAAK,UAAU,GACrBxB,MAAM,CAAC2B,yBAAyB,GAChC3B,MAAM,CAAC4B,2BAA2B;EAExC,OAAO,CAAC,GAAGX,IAAI,KAAK;IAClBS,YAAY,CACVF,GAAG,EAGHP,IAAI,CAACV,MAAM,GAAG,CAAC;IACX;IACClB,+BAA+B,CAAC4B,IAAI,CAAC,GACtCY,SACN,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Registers WorkletsError in the global scope. Register only for Worklet
|
|
3
|
+
* runtimes.
|
|
4
|
+
*/
|
|
2
5
|
export declare function registerWorkletsError(): void;
|
|
6
|
+
export declare const WorkletsError: IWorkletsErrorConstructor;
|
|
7
|
+
export type WorkletsError = Error & {
|
|
8
|
+
name: 'Worklets';
|
|
9
|
+
};
|
|
10
|
+
export interface IWorkletsErrorConstructor extends Error {
|
|
11
|
+
new (message?: string): WorkletsError;
|
|
12
|
+
(message?: string): WorkletsError;
|
|
13
|
+
readonly prototype: WorkletsError;
|
|
14
|
+
}
|
|
3
15
|
//# sourceMappingURL=WorkletsError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkletsError.d.ts","sourceRoot":"","sources":["../../src/WorkletsError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkletsError.d.ts","sourceRoot":"","sources":["../../src/WorkletsError.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,wBAAgB,qBAAqB,SAMpC;AAED,eAAO,MAAM,aAAa,2BAC6B,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzD,MAAM,WAAW,yBAA0B,SAAQ,KAAK;IACtD,KAAK,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeWorklets.d.ts","sourceRoot":"","sources":["../../../src/WorkletsModule/NativeWorklets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NativeWorklets.d.ts","sourceRoot":"","sources":["../../../src/WorkletsModule/NativeWorklets.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;CAAG;AAE/D,wBAAgB,0BAA0B,IAAI,eAAe,CAE5D"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import type { WorkletStackDetails } from './workletTypes';
|
|
2
|
-
export type CustomError<TName extends string> = Error & {
|
|
3
|
-
name: TName;
|
|
4
|
-
};
|
|
5
|
-
export interface CustomErrorConstructor<TName extends string> extends Error {
|
|
6
|
-
new (message?: string): CustomError<TName>;
|
|
7
|
-
(message?: string): CustomError<TName>;
|
|
8
|
-
readonly prototype: CustomError<TName>;
|
|
9
|
-
}
|
|
10
|
-
export declare function createCustomError<TName extends string>(name: TName): CustomErrorConstructor<TName>;
|
|
11
|
-
/** Registers custom errors in global scope. Use it only for Worklet runtimes. */
|
|
12
|
-
export declare function registerCustomError<TName extends string>(constructor: CustomErrorConstructor<TName>, name: TName): void;
|
|
13
2
|
export declare function registerWorkletStackDetails(hash: number, stackDetails: WorkletStackDetails): void;
|
|
14
3
|
export declare function reportFatalErrorOnJS({ message, stack, moduleName, }: {
|
|
15
4
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,mBAAmB,QAGlC;AAiCD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,UAAU,GACX,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,QAUA"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export type { CustomError } from './errors';
|
|
2
|
-
export { createCustomError, registerCustomError } from './errors';
|
|
3
1
|
export type { LoggerConfig } from './logger';
|
|
4
2
|
export { logger, LogLevel, registerLoggerConfig, updateLoggerConfig, } from './logger';
|
|
5
3
|
export { createWorkletRuntime, runOnRuntime } from './runtimes';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}
|