react-native-worklets 0.8.0-nightly-20251208-51904bb3d → 0.8.0-nightly-20251209-adbe0b9da
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/Common/cpp/worklets/NativeModules/JSIWorkletsModuleProxy.cpp +21 -7
- package/lib/module/WorkletsModule/NativeWorklets.native.js +5 -2
- package/lib/module/WorkletsModule/NativeWorklets.native.js.map +1 -1
- package/lib/module/debug/jsVersion.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/runtimes.js +3 -0
- package/lib/module/runtimes.js.map +1 -1
- package/lib/module/runtimes.native.js +30 -0
- package/lib/module/runtimes.native.js.map +1 -1
- package/lib/module/threads.native.js +1 -1
- package/lib/module/threads.native.js.map +1 -1
- package/lib/typescript/WorkletsModule/NativeWorklets.native.d.ts.map +1 -1
- package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts +2 -1
- package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts.map +1 -1
- package/lib/typescript/debug/jsVersion.d.ts +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/runtimes.d.ts +1 -0
- package/lib/typescript/runtimes.d.ts.map +1 -1
- package/lib/typescript/runtimes.native.d.ts +18 -0
- package/lib/typescript/runtimes.native.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/WorkletsModule/NativeWorklets.native.ts +9 -4
- package/src/WorkletsModule/workletsModuleProxy.ts +6 -3
- package/src/debug/jsVersion.ts +1 -1
- package/src/index.ts +1 -0
- package/src/runtimes.native.ts +39 -0
- package/src/runtimes.ts +10 -0
- package/src/threads.native.ts +1 -1
|
@@ -54,10 +54,8 @@ inline void scheduleOnUI(
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
inline jsi::Value
|
|
58
|
-
|
|
59
|
-
jsi::Runtime &rt,
|
|
60
|
-
const jsi::Value &worklet) {
|
|
57
|
+
inline jsi::Value
|
|
58
|
+
runOnUISync(const std::weak_ptr<WorkletRuntime> &weakUIWorkletRuntime, jsi::Runtime &rt, const jsi::Value &worklet) {
|
|
61
59
|
if (auto uiWorkletRuntime = weakUIWorkletRuntime.lock()) {
|
|
62
60
|
auto serializableWorklet = extractSerializableOrThrow<SerializableWorklet>(
|
|
63
61
|
rt, worklet, "[Worklets] Only worklets can be executed on UI runtime.");
|
|
@@ -67,6 +65,14 @@ inline jsi::Value executeOnUIRuntimeSync(
|
|
|
67
65
|
return jsi::Value::undefined();
|
|
68
66
|
}
|
|
69
67
|
|
|
68
|
+
jsi::Value
|
|
69
|
+
runOnRuntimeSync(jsi::Runtime &rt, const jsi::Value &workletRuntimeValue, const jsi::Value &serializableWorkletValue) {
|
|
70
|
+
auto workletRuntime = workletRuntimeValue.getObject(rt).getHostObject<WorkletRuntime>(rt);
|
|
71
|
+
auto worklet = extractSerializableOrThrow<SerializableWorklet>(
|
|
72
|
+
rt, serializableWorkletValue, "[Worklets] Only worklets can be executed on a worklet runtime.");
|
|
73
|
+
return workletRuntime->runSyncSerialized(worklet)->toJSValue(rt);
|
|
74
|
+
}
|
|
75
|
+
|
|
70
76
|
inline jsi::Value createWorkletRuntime(
|
|
71
77
|
jsi::Runtime &originRuntime,
|
|
72
78
|
const std::shared_ptr<RuntimeManager> &runtimeManager,
|
|
@@ -203,7 +209,8 @@ std::vector<jsi::PropNameID> JSIWorkletsModuleProxy::getPropertyNames(jsi::Runti
|
|
|
203
209
|
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "registerCustomSerializable"));
|
|
204
210
|
|
|
205
211
|
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "scheduleOnUI"));
|
|
206
|
-
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "
|
|
212
|
+
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "runOnUISync"));
|
|
213
|
+
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "runOnRuntimeSync"));
|
|
207
214
|
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "createWorkletRuntime"));
|
|
208
215
|
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "scheduleOnRuntime"));
|
|
209
216
|
propertyNames.emplace_back(jsi::PropNameID::forAscii(rt, "reportFatalErrorOnJS"));
|
|
@@ -385,14 +392,21 @@ jsi::Value JSIWorkletsModuleProxy::get(jsi::Runtime &rt, const jsi::PropNameID &
|
|
|
385
392
|
});
|
|
386
393
|
}
|
|
387
394
|
|
|
388
|
-
if (name == "
|
|
395
|
+
if (name == "runOnUISync") {
|
|
389
396
|
return jsi::Function::createFromHostFunction(
|
|
390
397
|
rt,
|
|
391
398
|
propName,
|
|
392
399
|
1,
|
|
393
400
|
[uiWorkletRuntime = uiWorkletRuntime_](
|
|
394
401
|
jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) {
|
|
395
|
-
return
|
|
402
|
+
return runOnUISync(uiWorkletRuntime, rt, args[0]);
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
if (name == "runOnRuntimeSync") {
|
|
407
|
+
return jsi::Function::createFromHostFunction(
|
|
408
|
+
rt, propName, 2, [](jsi::Runtime &rt, const jsi ::Value &thisValue, const jsi::Value *args, size_t count) {
|
|
409
|
+
return runOnRuntimeSync(rt, args[0], args[1]);
|
|
396
410
|
});
|
|
397
411
|
}
|
|
398
412
|
|
|
@@ -89,8 +89,8 @@ See https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting
|
|
|
89
89
|
scheduleOnUI(serializable) {
|
|
90
90
|
return this.#workletsModuleProxy.scheduleOnUI(serializable);
|
|
91
91
|
}
|
|
92
|
-
|
|
93
|
-
return this.#workletsModuleProxy.
|
|
92
|
+
runOnUISync(worklet) {
|
|
93
|
+
return this.#workletsModuleProxy.runOnUISync(worklet);
|
|
94
94
|
}
|
|
95
95
|
createWorkletRuntime(name, initializer, useDefaultQueue, customQueue, enableEventLoop) {
|
|
96
96
|
return this.#workletsModuleProxy.createWorkletRuntime(name, initializer, useDefaultQueue, customQueue, enableEventLoop);
|
|
@@ -98,6 +98,9 @@ See https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting
|
|
|
98
98
|
scheduleOnRuntime(workletRuntime, serializableWorklet) {
|
|
99
99
|
return this.#workletsModuleProxy.scheduleOnRuntime(workletRuntime, serializableWorklet);
|
|
100
100
|
}
|
|
101
|
+
runOnRuntimeSync(workletRuntime, worklet) {
|
|
102
|
+
return this.#workletsModuleProxy.runOnRuntimeSync(workletRuntime, worklet);
|
|
103
|
+
}
|
|
101
104
|
createSynchronizable(value) {
|
|
102
105
|
return this.#workletsModuleProxy.createSynchronizable(value);
|
|
103
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["checkCppVersion","jsVersion","WorkletsError","RuntimeKind","WorkletsTurboModule","NativeWorklets","workletsModuleProxy","serializableUndefined","serializableNull","serializableTrue","serializableFalse","constructor","globalThis","_WORKLETS_VERSION_JS","global","__workletsModuleProxy","undefined","__RUNTIME_KIND","ReactNative","installTurboModule","__DEV__","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","scheduleOnUI","serializable","
|
|
1
|
+
{"version":3,"names":["checkCppVersion","jsVersion","WorkletsError","RuntimeKind","WorkletsTurboModule","NativeWorklets","workletsModuleProxy","serializableUndefined","serializableNull","serializableTrue","serializableFalse","constructor","globalThis","_WORKLETS_VERSION_JS","global","__workletsModuleProxy","undefined","__RUNTIME_KIND","ReactNative","installTurboModule","__DEV__","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","scheduleOnUI","serializable","runOnUISync","createWorkletRuntime","name","initializer","useDefaultQueue","customQueue","enableEventLoop","scheduleOnRuntime","workletRuntime","serializableWorklet","runOnRuntimeSync","createSynchronizable","synchronizableGetDirty","synchronizableRef","synchronizableGetBlocking","synchronizableSetBlocking","synchronizableLock","synchronizableUnlock","reportFatalErrorOnJS","message","stack","jsEngine","getStaticFeatureFlag","setDynamicFeatureFlag","WorkletsModule"],"sourceRoot":"../../../src","sources":["WorkletsModule/NativeWorklets.native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,5 +5,5 @@
|
|
|
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.0-nightly-
|
|
8
|
+
export const jsVersion = '0.8.0-nightly-20251209-adbe0b9da';
|
|
9
9
|
//# sourceMappingURL=jsVersion.js.map
|
package/lib/module/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export { createSerializable, isSerializableRef, registerCustomSerializable } fro
|
|
|
17
17
|
export { serializableMappingCache } from './memory/serializableMappingCache';
|
|
18
18
|
export { createSynchronizable } from './memory/synchronizable';
|
|
19
19
|
export { getRuntimeKind, RuntimeKind } from './runtimeKind';
|
|
20
|
-
export { createWorkletRuntime, runOnRuntime, scheduleOnRuntime } from './runtimes';
|
|
20
|
+
export { createWorkletRuntime, runOnRuntime, runOnRuntimeSync, scheduleOnRuntime } from './runtimes';
|
|
21
21
|
export { callMicrotasks, executeOnUIRuntimeSync, runOnJS, runOnUI, runOnUIAsync, runOnUISync, scheduleOnRN, scheduleOnUI,
|
|
22
22
|
// eslint-disable-next-line camelcase
|
|
23
23
|
unstable_eventLoopTask } from './threads';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["init","bundleModeInit","globalThis","_ALWAYS_FALSE","isShareableRef","makeShareable","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","shareableMappingCache","getDynamicFeatureFlag","getStaticFeatureFlag","setDynamicFeatureFlag","isSynchronizable","createSerializable","isSerializableRef","registerCustomSerializable","serializableMappingCache","createSynchronizable","getRuntimeKind","RuntimeKind","createWorkletRuntime","runOnRuntime","scheduleOnRuntime","callMicrotasks","executeOnUIRuntimeSync","runOnJS","runOnUI","runOnUIAsync","runOnUISync","scheduleOnRN","scheduleOnUI","unstable_eventLoopTask","isWorkletFunction","WorkletsModule"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,IAAI,QAAQ,6BAA6B;AAClD,SAASC,cAAc,QAAQ,oCAAoC;AAEnED,IAAI,CAAC,CAAC;;AAEN;AACA;AACA,IAAIE,UAAU,CAACC,aAAa,EAAE;EAC5B;EACAF,cAAc,CAAC,CAAC;AAClB;AAEA,SACEG,cAAc,EACdC,aAAa,EAEbC,+BAA+B,EAC/BC,2BAA2B,EAC3BC,qBAAqB,QAEhB,cAAc;AACrB,SACEC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,QAChB,6BAA6B;AACpC,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SACEC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,QACrB,uBAAuB;AAC9B,SAASC,wBAAwB,QAAQ,mCAAmC;AAC5E,SAASC,oBAAoB,QAAQ,yBAAyB;AAO9D,SAASC,cAAc,EAAEC,WAAW,QAAQ,eAAe;AAC3D,SACEC,oBAAoB,EACpBC,YAAY,EACZC,iBAAiB,QACZ,YAAY;AACnB,SACEC,cAAc,EACdC,sBAAsB,EACtBC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,YAAY;AACZ;AACAC,sBAAsB,QACjB,WAAW;AAMlB,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,cAAc,QAAQ,iCAAiC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["init","bundleModeInit","globalThis","_ALWAYS_FALSE","isShareableRef","makeShareable","makeShareableCloneOnUIRecursive","makeShareableCloneRecursive","shareableMappingCache","getDynamicFeatureFlag","getStaticFeatureFlag","setDynamicFeatureFlag","isSynchronizable","createSerializable","isSerializableRef","registerCustomSerializable","serializableMappingCache","createSynchronizable","getRuntimeKind","RuntimeKind","createWorkletRuntime","runOnRuntime","runOnRuntimeSync","scheduleOnRuntime","callMicrotasks","executeOnUIRuntimeSync","runOnJS","runOnUI","runOnUIAsync","runOnUISync","scheduleOnRN","scheduleOnUI","unstable_eventLoopTask","isWorkletFunction","WorkletsModule"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,IAAI,QAAQ,6BAA6B;AAClD,SAASC,cAAc,QAAQ,oCAAoC;AAEnED,IAAI,CAAC,CAAC;;AAEN;AACA;AACA,IAAIE,UAAU,CAACC,aAAa,EAAE;EAC5B;EACAF,cAAc,CAAC,CAAC;AAClB;AAEA,SACEG,cAAc,EACdC,aAAa,EAEbC,+BAA+B,EAC/BC,2BAA2B,EAC3BC,qBAAqB,QAEhB,cAAc;AACrB,SACEC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,QAChB,6BAA6B;AACpC,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SACEC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,QACrB,uBAAuB;AAC9B,SAASC,wBAAwB,QAAQ,mCAAmC;AAC5E,SAASC,oBAAoB,QAAQ,yBAAyB;AAO9D,SAASC,cAAc,EAAEC,WAAW,QAAQ,eAAe;AAC3D,SACEC,oBAAoB,EACpBC,YAAY,EACZC,gBAAgB,EAChBC,iBAAiB,QACZ,YAAY;AACnB,SACEC,cAAc,EACdC,sBAAsB,EACtBC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,YAAY;AACZ;AACAC,sBAAsB,QACjB,WAAW;AAMlB,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,cAAc,QAAQ,iCAAiC","ignoreList":[]}
|
package/lib/module/runtimes.js
CHANGED
|
@@ -10,4 +10,7 @@ export function runOnRuntime() {
|
|
|
10
10
|
export function scheduleOnRuntime() {
|
|
11
11
|
throw new WorkletsError('`scheduleOnRuntime` is not supported on web.');
|
|
12
12
|
}
|
|
13
|
+
export function runOnRuntimeSync() {
|
|
14
|
+
throw new WorkletsError('`runOnRuntimeSync` is not supported on web.');
|
|
15
|
+
}
|
|
13
16
|
//# sourceMappingURL=runtimes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WorkletsError","createWorkletRuntime","runOnRuntime","scheduleOnRuntime"],"sourceRoot":"../../src","sources":["runtimes.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,aAAa,QAAQ,uBAAuB;AAgBrD,OAAO,SAASC,oBAAoBA,CAAA,EAAU;EAC5C,MAAM,IAAID,aAAa,CAAC,iDAAiD,CAAC;AAC5E;AAOA,OAAO,SAASE,YAAYA,CAAA,EAAU;EACpC,MAAM,IAAIF,aAAa,CAAC,yCAAyC,CAAC;AACpE;AAQA,OAAO,SAASG,iBAAiBA,CAAA,EAAU;EACzC,MAAM,IAAIH,aAAa,CAAC,8CAA8C,CAAC;AACzE","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["WorkletsError","createWorkletRuntime","runOnRuntime","scheduleOnRuntime","runOnRuntimeSync"],"sourceRoot":"../../src","sources":["runtimes.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,aAAa,QAAQ,uBAAuB;AAgBrD,OAAO,SAASC,oBAAoBA,CAAA,EAAU;EAC5C,MAAM,IAAID,aAAa,CAAC,iDAAiD,CAAC;AAC5E;AAOA,OAAO,SAASE,YAAYA,CAAA,EAAU;EACpC,MAAM,IAAIF,aAAa,CAAC,yCAAyC,CAAC;AACpE;AAQA,OAAO,SAASG,iBAAiBA,CAAA,EAAU;EACzC,MAAM,IAAIH,aAAa,CAAC,8CAA8C,CAAC;AACzE;AAQA,OAAO,SAASI,gBAAgBA,CAAA,EAAU;EACxC,MAAM,IAAIJ,aAAa,CAAC,6CAA6C,CAAC;AACxE","ignoreList":[]}
|
|
@@ -136,4 +136,34 @@ export function runOnRuntime(workletRuntime, worklet) {
|
|
|
136
136
|
}
|
|
137
137
|
return (...args) => scheduleOnRuntime(workletRuntime, worklet, ...args);
|
|
138
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Lets you run a function synchronously on a [Worker
|
|
141
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#worker-runtime).
|
|
142
|
+
*
|
|
143
|
+
* - This function cannot be called from the [UI
|
|
144
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#ui-runtime).
|
|
145
|
+
* or another [Worker
|
|
146
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#worker-runtime),
|
|
147
|
+
* unless the [Bundle
|
|
148
|
+
* Mode](https://docs.swmansion.com/react-native-worklets/docs/experimental/bundleMode)
|
|
149
|
+
* is enabled.
|
|
150
|
+
*
|
|
151
|
+
* @param workletRuntime - The runtime to run the worklet on.
|
|
152
|
+
* @param worklet - The worklet to run.
|
|
153
|
+
* @param args - The arguments to pass to the worklet.
|
|
154
|
+
* @returns The return value of the worklet.
|
|
155
|
+
*/
|
|
156
|
+
export function runOnRuntimeSync(workletRuntime, worklet, ...args) {
|
|
157
|
+
'worklet';
|
|
158
|
+
|
|
159
|
+
if (__DEV__ && !isWorkletFunction(worklet)) {
|
|
160
|
+
throw new WorkletsError('The function passed to `runOnRuntimeSync` is not a worklet.');
|
|
161
|
+
}
|
|
162
|
+
return WorkletsModule.runOnRuntimeSync(workletRuntime, createSerializable(() => {
|
|
163
|
+
'worklet';
|
|
164
|
+
|
|
165
|
+
const result = worklet(...args);
|
|
166
|
+
return makeShareableCloneOnUIRecursive(result);
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
139
169
|
//# sourceMappingURL=runtimes.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setupCallGuard","registerWorkletsError","WorkletsError","getMemorySafeCapturableConsole","setupConsole","createSerializable","makeShareableCloneOnUIRecursive","setupRunLoop","RuntimeKind","isWorkletFunction","WorkletsModule","createWorkletRuntime","nameOrConfig","initializer","runtimeBoundCapturableConsole","name","initializerFn","useDefaultQueue","customQueue","animationQueuePollingRate","enableEventLoop","Math","round","scheduleOnRuntime","workletRuntime","worklet","args","__DEV__","globalThis","__RUNTIME_KIND","ReactNative","_scheduleOnRuntime","__flushMicrotasks","runOnRuntime"],"sourceRoot":"../../src","sources":["runtimes.native.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["setupCallGuard","registerWorkletsError","WorkletsError","getMemorySafeCapturableConsole","setupConsole","createSerializable","makeShareableCloneOnUIRecursive","setupRunLoop","RuntimeKind","isWorkletFunction","WorkletsModule","createWorkletRuntime","nameOrConfig","initializer","runtimeBoundCapturableConsole","name","initializerFn","useDefaultQueue","customQueue","animationQueuePollingRate","enableEventLoop","Math","round","scheduleOnRuntime","workletRuntime","worklet","args","__DEV__","globalThis","__RUNTIME_KIND","ReactNative","_scheduleOnRuntime","__flushMicrotasks","runOnRuntime","runOnRuntimeSync","result"],"sourceRoot":"../../src","sources":["runtimes.native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -142,7 +142,7 @@ if (__DEV__) {
|
|
|
142
142
|
// before it's transformed by Worklets Babel plugin.
|
|
143
143
|
|
|
144
144
|
export function runOnUISync(worklet, ...args) {
|
|
145
|
-
return WorkletsModule.
|
|
145
|
+
return WorkletsModule.runOnUISync(createSerializable(() => {
|
|
146
146
|
'worklet';
|
|
147
147
|
|
|
148
148
|
const result = worklet(...args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WorkletsError","createSerializable","makeShareableCloneOnUIRecursive","serializableMappingCache","RuntimeKind","isWorkletFunction","WorkletsModule","runOnUIQueue","setupMicrotasks","microtasksQueue","isExecutingMicrotasksQueue","globalThis","queueMicrotask","callback","push","_microtaskQueueFinalizers","__callMicrotasks","index","length","forEach","finalizer","callMicrotasksOnUIThread","callMicrotasks","scheduleOnUI","worklet","args","__DEV__","__bundleData","enqueueUI","runOnUI","runOnUIWorklet","serializableRunOnUIWorklet","set","runOnUISync","
|
|
1
|
+
{"version":3,"names":["WorkletsError","createSerializable","makeShareableCloneOnUIRecursive","serializableMappingCache","RuntimeKind","isWorkletFunction","WorkletsModule","runOnUIQueue","setupMicrotasks","microtasksQueue","isExecutingMicrotasksQueue","globalThis","queueMicrotask","callback","push","_microtaskQueueFinalizers","__callMicrotasks","index","length","forEach","finalizer","callMicrotasksOnUIThread","callMicrotasks","scheduleOnUI","worklet","args","__DEV__","__bundleData","enqueueUI","runOnUI","runOnUIWorklet","serializableRunOnUIWorklet","set","runOnUISync","result","executeOnUIRuntimeSync","runWorkletOnJS","scheduleOnRN","fun","__RUNTIME_KIND","ReactNative","__remoteFunction","scheduleOnRNImpl","_scheduleHostFunctionOnJS","_scheduleRemoteFunctionOnJS","undefined","runOnJS","runOnUIAsync","Promise","resolve","runOnUIAsyncWorklet","serializableRunOnUIAsyncWorklet","job","flushUIQueue","queue","workletFunction","workletArgs","jobResolve","unstable_eventLoopTask"],"sourceRoot":"../../src","sources":["threads.native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeWorklets.native.d.ts","sourceRoot":"","sources":["../../../src/WorkletsModule/NativeWorklets.native.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeWorklets.native.d.ts","sourceRoot":"","sources":["../../../src/WorkletsModule/NativeWorklets.native.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AA2Q/B,eAAO,MAAM,cAAc,EAAE,eAAsC,CAAC"}
|
|
@@ -22,9 +22,10 @@ export interface WorkletsModuleProxy {
|
|
|
22
22
|
createCustomSerializable(data: SerializableRef<unknown>, typeId: number): SerializableRef<unknown>;
|
|
23
23
|
registerCustomSerializable(determine: SerializableRef<object>, pack: SerializableRef<object>, unpack: SerializableRef<object>, typeId: number): void;
|
|
24
24
|
scheduleOnUI<TValue>(serializable: SerializableRef<TValue>): void;
|
|
25
|
-
|
|
25
|
+
runOnUISync<TValue, TReturn>(serializable: SerializableRef<TValue>): TReturn;
|
|
26
26
|
createWorkletRuntime(name: string, initializer: SerializableRef<() => void>, useDefaultQueue: boolean, customQueue: object | undefined, enableEventLoop: boolean): WorkletRuntime;
|
|
27
27
|
scheduleOnRuntime<TValue>(workletRuntime: WorkletRuntime, worklet: SerializableRef<TValue>): void;
|
|
28
|
+
runOnRuntimeSync<TValue, TReturn>(workletRuntime: WorkletRuntime, worklet: SerializableRef<TValue>): TReturn;
|
|
28
29
|
reportFatalErrorOnJS(message: string, stack: string, name: string, jsEngine: string): void;
|
|
29
30
|
createSynchronizable<TValue>(value: TValue): SynchronizableRef<TValue>;
|
|
30
31
|
synchronizableGetDirty<TValue>(synchronizableRef: SynchronizableRef<TValue>): TValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletsModuleProxy.d.ts","sourceRoot":"","sources":["../../../src/WorkletsModule/workletsModuleProxy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,OAAO,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3B,wBAAwB,CAAC,MAAM,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3B,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE/D,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE/D,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnE,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAElE,2BAA2B,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAE1D,sBAAsB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAEhD,iCAAiC,CAC/B,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,EAErB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3B,wBAAwB,CAAC,CAAC,SAAS,MAAM,EACvC,GAAG,EAAE,CAAC,EACN,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,CAAC,CAAC,CAAC;IAEtB,4BAA4B,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAE3E,uBAAuB,CACrB,KAAK,EAAE,OAAO,EAAE,EAChB,kBAAkB,EAAE,OAAO,GAC1B,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9B,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAChC,IAAI,EAAE,IAAI,EAAE,EACZ,MAAM,EAAE,MAAM,EAAE,GACf,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtC,qBAAqB,CAAC,OAAO,EAC3B,MAAM,EAAE,OAAO,EAAE,GAChB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjC,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEpE,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACzD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GAChC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE5B,yBAAyB,CACvB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3B,wBAAwB,CACtB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,GACb,eAAe,CAAC,OAAO,CAAC,CAAC;IAE5B,0BAA0B,CACxB,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,EAClC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IAER,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE,
|
|
1
|
+
{"version":3,"file":"workletsModuleProxy.d.ts","sourceRoot":"","sources":["../../../src/WorkletsModule/workletsModuleProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* version used to build the native part of the library in runtime. Remember to
|
|
4
4
|
* keep this in sync with the version declared in `package.json`
|
|
5
5
|
*/
|
|
6
|
-
export declare const jsVersion = "0.8.0-nightly-
|
|
6
|
+
export declare const jsVersion = "0.8.0-nightly-20251209-adbe0b9da";
|
|
7
7
|
//# sourceMappingURL=jsVersion.d.ts.map
|
|
@@ -6,7 +6,7 @@ export { serializableMappingCache } from './memory/serializableMappingCache';
|
|
|
6
6
|
export { createSynchronizable } from './memory/synchronizable';
|
|
7
7
|
export type { RegistrationData, SerializableRef, Synchronizable, SynchronizableRef, } from './memory/types';
|
|
8
8
|
export { getRuntimeKind, RuntimeKind } from './runtimeKind';
|
|
9
|
-
export { createWorkletRuntime, runOnRuntime, scheduleOnRuntime, } from './runtimes';
|
|
9
|
+
export { createWorkletRuntime, runOnRuntime, runOnRuntimeSync, scheduleOnRuntime, } from './runtimes';
|
|
10
10
|
export { callMicrotasks, executeOnUIRuntimeSync, runOnJS, runOnUI, runOnUIAsync, runOnUISync, scheduleOnRN, scheduleOnUI, unstable_eventLoopTask, } from './threads';
|
|
11
11
|
export type { WorkletFunction, WorkletRuntime, WorkletStackDetails, } from './types';
|
|
12
12
|
export { isWorkletFunction } from './workletFunction';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,+BAA+B,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EAEZ,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,+BAA+B,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EAEZ,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,sCAAsC,CAAC"}
|
|
@@ -3,4 +3,5 @@ export declare function createWorkletRuntime(config?: WorkletRuntimeConfig): Wor
|
|
|
3
3
|
export declare function createWorkletRuntime(name?: string, initializer?: () => void): WorkletRuntime;
|
|
4
4
|
export declare function runOnRuntime<Args extends unknown[], ReturnValue>(workletRuntime: WorkletRuntime, worklet: (...args: Args) => ReturnValue): WorkletFunction<Args, ReturnValue>;
|
|
5
5
|
export declare function scheduleOnRuntime<Args extends unknown[], ReturnValue>(workletRuntime: WorkletRuntime, worklet: (...args: Args) => ReturnValue, ...args: Args): void;
|
|
6
|
+
export declare function runOnRuntimeSync<Args extends unknown[], ReturnValue>(workletRuntime: WorkletRuntime, worklet: (...args: Args) => ReturnValue, ...args: Args): ReturnValue;
|
|
6
7
|
//# sourceMappingURL=runtimes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/runtimes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,cAAc,CAAC;AAElB,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,cAAc,CAAC;AAMlB,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EAC9D,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,GACtC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAMtC,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EACnE,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,EACvC,GAAG,IAAI,EAAE,IAAI,GACZ,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/runtimes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,cAAc,CAAC;AAElB,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,cAAc,CAAC;AAMlB,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EAC9D,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,GACtC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAMtC,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EACnE,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,EACvC,GAAG,IAAI,EAAE,IAAI,GACZ,IAAI,CAAC;AAMR,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EAClE,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,EACvC,GAAG,IAAI,EAAE,IAAI,GACZ,WAAW,CAAC"}
|
|
@@ -56,4 +56,22 @@ export declare function scheduleOnRuntime<Args extends unknown[], ReturnValue>(w
|
|
|
56
56
|
* Schedule a worklet to execute on the background queue.
|
|
57
57
|
*/
|
|
58
58
|
export declare function runOnRuntime<Args extends unknown[], ReturnValue>(workletRuntime: WorkletRuntime, worklet: (...args: Args) => ReturnValue): WorkletFunction<Args, ReturnValue>;
|
|
59
|
+
/**
|
|
60
|
+
* Lets you run a function synchronously on a [Worker
|
|
61
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#worker-runtime).
|
|
62
|
+
*
|
|
63
|
+
* - This function cannot be called from the [UI
|
|
64
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#ui-runtime).
|
|
65
|
+
* or another [Worker
|
|
66
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#worker-runtime),
|
|
67
|
+
* unless the [Bundle
|
|
68
|
+
* Mode](https://docs.swmansion.com/react-native-worklets/docs/experimental/bundleMode)
|
|
69
|
+
* is enabled.
|
|
70
|
+
*
|
|
71
|
+
* @param workletRuntime - The runtime to run the worklet on.
|
|
72
|
+
* @param worklet - The worklet to run.
|
|
73
|
+
* @param args - The arguments to pass to the worklet.
|
|
74
|
+
* @returns The return value of the worklet.
|
|
75
|
+
*/
|
|
76
|
+
export declare function runOnRuntimeSync<Args extends unknown[], ReturnValue>(workletRuntime: WorkletRuntime, worklet: (...args: Args) => ReturnValue, ...args: Args): ReturnValue;
|
|
59
77
|
//# sourceMappingURL=runtimes.native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimes.native.d.ts","sourceRoot":"","sources":["../../src/runtimes.native.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAIjB;;;;;;;;GAQG;AAEH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,cAAc,CAAC;AAElB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,cAAc,CAAC;AAqDlB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EACnE,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,EACvC,GAAG,IAAI,EAAE,IAAI,GACZ,IAAI,CAAC;AAiCR;;;;GAIG;AAGH,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EAC9D,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,GACtC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"runtimes.native.d.ts","sourceRoot":"","sources":["../../src/runtimes.native.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAIjB;;;;;;;;GAQG;AAEH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,cAAc,CAAC;AAElB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,cAAc,CAAC;AAqDlB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EACnE,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,EACvC,GAAG,IAAI,EAAE,IAAI,GACZ,IAAI,CAAC;AAiCR;;;;GAIG;AAGH,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EAC9D,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,GACtC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAmBtC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,WAAW,EAClE,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,WAAW,EACvC,GAAG,IAAI,EAAE,IAAI,GACZ,WAAW,CAgBb"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-worklets",
|
|
3
|
-
"version": "0.8.0-nightly-
|
|
3
|
+
"version": "0.8.0-nightly-20251209-adbe0b9da",
|
|
4
4
|
"description": "The React Native multithreading library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@babel/cli": "7.28.3",
|
|
72
72
|
"@babel/core": "7.28.4",
|
|
73
73
|
"@react-native-community/cli": "20.0.0",
|
|
74
|
-
"@react-native/eslint-config": "0.83.0-rc.
|
|
74
|
+
"@react-native/eslint-config": "0.83.0-rc.5",
|
|
75
75
|
"@types/jest": "30.0.0",
|
|
76
76
|
"@types/node": "24.7.0",
|
|
77
77
|
"@types/react": "19.2.2",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"madge": "8.0.0",
|
|
84
84
|
"prettier": "3.6.2",
|
|
85
85
|
"react": "19.2.0",
|
|
86
|
-
"react-native": "0.83.0-rc.
|
|
86
|
+
"react-native": "0.83.0-rc.5",
|
|
87
87
|
"react-native-builder-bob": "0.40.13",
|
|
88
88
|
"typescript": "5.8.3"
|
|
89
89
|
},
|
|
@@ -177,10 +177,8 @@ See https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting
|
|
|
177
177
|
return this.#workletsModuleProxy.scheduleOnUI(serializable);
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
): TReturn {
|
|
183
|
-
return this.#workletsModuleProxy.executeOnUIRuntimeSync(serializable);
|
|
180
|
+
runOnUISync<TValue, TReturn>(worklet: SerializableRef<TValue>): TReturn {
|
|
181
|
+
return this.#workletsModuleProxy.runOnUISync(worklet);
|
|
184
182
|
}
|
|
185
183
|
|
|
186
184
|
createWorkletRuntime(
|
|
@@ -209,6 +207,13 @@ See https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting
|
|
|
209
207
|
);
|
|
210
208
|
}
|
|
211
209
|
|
|
210
|
+
runOnRuntimeSync<TValue, TReturn>(
|
|
211
|
+
workletRuntime: WorkletRuntime,
|
|
212
|
+
worklet: SerializableRef<TValue>
|
|
213
|
+
): TReturn {
|
|
214
|
+
return this.#workletsModuleProxy.runOnRuntimeSync(workletRuntime, worklet);
|
|
215
|
+
}
|
|
216
|
+
|
|
212
217
|
createSynchronizable<TValue>(value: TValue): SynchronizableRef<TValue> {
|
|
213
218
|
return this.#workletsModuleProxy.createSynchronizable(value);
|
|
214
219
|
}
|
|
@@ -83,9 +83,7 @@ export interface WorkletsModuleProxy {
|
|
|
83
83
|
|
|
84
84
|
scheduleOnUI<TValue>(serializable: SerializableRef<TValue>): void;
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
serializable: SerializableRef<TValue>
|
|
88
|
-
): TReturn;
|
|
86
|
+
runOnUISync<TValue, TReturn>(serializable: SerializableRef<TValue>): TReturn;
|
|
89
87
|
|
|
90
88
|
createWorkletRuntime(
|
|
91
89
|
name: string,
|
|
@@ -100,6 +98,11 @@ export interface WorkletsModuleProxy {
|
|
|
100
98
|
worklet: SerializableRef<TValue>
|
|
101
99
|
): void;
|
|
102
100
|
|
|
101
|
+
runOnRuntimeSync<TValue, TReturn>(
|
|
102
|
+
workletRuntime: WorkletRuntime,
|
|
103
|
+
worklet: SerializableRef<TValue>
|
|
104
|
+
): TReturn;
|
|
105
|
+
|
|
103
106
|
reportFatalErrorOnJS(
|
|
104
107
|
message: string,
|
|
105
108
|
stack: string,
|
package/src/debug/jsVersion.ts
CHANGED
|
@@ -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.0-nightly-
|
|
8
|
+
export const jsVersion = '0.8.0-nightly-20251209-adbe0b9da';
|
package/src/index.ts
CHANGED
package/src/runtimes.native.ts
CHANGED
|
@@ -196,3 +196,42 @@ export function runOnRuntime<Args extends unknown[], ReturnValue>(
|
|
|
196
196
|
type WorkletRuntimeConfigInternal = WorkletRuntimeConfig & {
|
|
197
197
|
initializer?: WorkletFunction<[], void>;
|
|
198
198
|
};
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Lets you run a function synchronously on a [Worker
|
|
202
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#worker-runtime).
|
|
203
|
+
*
|
|
204
|
+
* - This function cannot be called from the [UI
|
|
205
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#ui-runtime).
|
|
206
|
+
* or another [Worker
|
|
207
|
+
* Runtime](https://docs.swmansion.com/react-native-worklets/docs/fundamentals/runtimeKinds#worker-runtime),
|
|
208
|
+
* unless the [Bundle
|
|
209
|
+
* Mode](https://docs.swmansion.com/react-native-worklets/docs/experimental/bundleMode)
|
|
210
|
+
* is enabled.
|
|
211
|
+
*
|
|
212
|
+
* @param workletRuntime - The runtime to run the worklet on.
|
|
213
|
+
* @param worklet - The worklet to run.
|
|
214
|
+
* @param args - The arguments to pass to the worklet.
|
|
215
|
+
* @returns The return value of the worklet.
|
|
216
|
+
*/
|
|
217
|
+
export function runOnRuntimeSync<Args extends unknown[], ReturnValue>(
|
|
218
|
+
workletRuntime: WorkletRuntime,
|
|
219
|
+
worklet: (...args: Args) => ReturnValue,
|
|
220
|
+
...args: Args
|
|
221
|
+
): ReturnValue {
|
|
222
|
+
'worklet';
|
|
223
|
+
if (__DEV__ && !isWorkletFunction(worklet)) {
|
|
224
|
+
throw new WorkletsError(
|
|
225
|
+
'The function passed to `runOnRuntimeSync` is not a worklet.'
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return WorkletsModule.runOnRuntimeSync(
|
|
230
|
+
workletRuntime,
|
|
231
|
+
createSerializable(() => {
|
|
232
|
+
'worklet';
|
|
233
|
+
const result = worklet(...args);
|
|
234
|
+
return makeShareableCloneOnUIRecursive(result);
|
|
235
|
+
})
|
|
236
|
+
);
|
|
237
|
+
}
|
package/src/runtimes.ts
CHANGED
|
@@ -38,3 +38,13 @@ export function scheduleOnRuntime<Args extends unknown[], ReturnValue>(
|
|
|
38
38
|
export function scheduleOnRuntime(): never {
|
|
39
39
|
throw new WorkletsError('`scheduleOnRuntime` is not supported on web.');
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
export function runOnRuntimeSync<Args extends unknown[], ReturnValue>(
|
|
43
|
+
workletRuntime: WorkletRuntime,
|
|
44
|
+
worklet: (...args: Args) => ReturnValue,
|
|
45
|
+
...args: Args
|
|
46
|
+
): ReturnValue;
|
|
47
|
+
|
|
48
|
+
export function runOnRuntimeSync(): never {
|
|
49
|
+
throw new WorkletsError('`runOnRuntimeSync` is not supported on web.');
|
|
50
|
+
}
|
package/src/threads.native.ts
CHANGED
|
@@ -187,7 +187,7 @@ export function runOnUISync<Args extends unknown[], ReturnValue>(
|
|
|
187
187
|
worklet: WorkletFunction<Args, ReturnValue>,
|
|
188
188
|
...args: Args
|
|
189
189
|
): ReturnValue {
|
|
190
|
-
return WorkletsModule.
|
|
190
|
+
return WorkletsModule.runOnUISync(
|
|
191
191
|
createSerializable(() => {
|
|
192
192
|
'worklet';
|
|
193
193
|
const result = worklet(...args);
|