react-native-worklets 0.7.1 → 0.7.3
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/Resources/SynchronizableUnpacker.cpp +5 -5
- package/RNWorklets.podspec +2 -1
- package/lib/module/debug/jsVersion.js +1 -1
- package/lib/module/initializers/initializers.native.js +10 -7
- package/lib/module/initializers/initializers.native.js.map +1 -1
- package/lib/module/memory/synchronizableUnpacker.native.js +3 -3
- package/lib/module/memory/synchronizableUnpacker.native.js.map +1 -1
- package/lib/module/runtimes.native.js +2 -1
- package/lib/module/runtimes.native.js.map +1 -1
- package/lib/typescript/debug/jsVersion.d.ts +1 -1
- package/lib/typescript/initializers/initializers.native.d.ts +1 -0
- package/lib/typescript/initializers/initializers.native.d.ts.map +1 -1
- package/lib/typescript/memory/synchronizableUnpacker.native.d.ts.map +1 -1
- package/lib/typescript/runtimes.native.d.ts.map +1 -1
- package/package.json +13 -4
- package/plugin/index.js +1 -1
- package/src/debug/jsVersion.ts +1 -1
- package/src/initializers/initializers.native.ts +10 -7
- package/src/memory/synchronizableUnpacker.native.ts +5 -11
- package/src/privateGlobals.d.ts +4 -1
- package/src/runtimes.native.ts +2 -0
|
@@ -8,9 +8,9 @@ namespace worklets {
|
|
|
8
8
|
|
|
9
9
|
const char SynchronizableUnpackerCode[] =
|
|
10
10
|
R"DELIMITER__((function () {
|
|
11
|
-
var serializer = !globalThis._WORKLET || globalThis._WORKLETS_BUNDLE_MODE ? function (value
|
|
12
|
-
return
|
|
13
|
-
}
|
|
11
|
+
var serializer = !globalThis._WORKLET || globalThis._WORKLETS_BUNDLE_MODE ? _serializable.createSerializable : function (value) {
|
|
12
|
+
return globalThis.__serializer(value);
|
|
13
|
+
};
|
|
14
14
|
function synchronizableUnpacker(synchronizableRef) {
|
|
15
15
|
var synchronizable = synchronizableRef;
|
|
16
16
|
var proxy = globalThis.__workletsModuleProxy;
|
|
@@ -28,12 +28,12 @@ const char SynchronizableUnpackerCode[] =
|
|
|
28
28
|
synchronizable.lock();
|
|
29
29
|
var prev = synchronizable.getBlocking();
|
|
30
30
|
newValue = func(prev);
|
|
31
|
-
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue
|
|
31
|
+
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
|
|
32
32
|
synchronizable.unlock();
|
|
33
33
|
} else {
|
|
34
34
|
var value = valueOrFunction;
|
|
35
35
|
newValue = value;
|
|
36
|
-
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue
|
|
36
|
+
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
synchronizable.lock = function () {
|
package/RNWorklets.podspec
CHANGED
|
@@ -12,6 +12,7 @@ ios_min_version = '13.4'
|
|
|
12
12
|
|
|
13
13
|
feature_flags = "-DWORKLETS_FEATURE_FLAGS=\"#{worklets_get_static_feature_flags()}\""
|
|
14
14
|
version_flags = "-DWORKLETS_VERSION=#{package['version']} -DREACT_NATIVE_MINOR_VERSION=#{$worklets_config[:react_native_minor_version]}"
|
|
15
|
+
hermes_v1_flag = ENV['RCT_HERMES_V1_ENABLED'] == '1' ? '-DHERMES_V1_ENABLED' : ''
|
|
15
16
|
|
|
16
17
|
Pod::Spec.new do |s|
|
|
17
18
|
s.name = "RNWorklets"
|
|
@@ -75,7 +76,7 @@ Pod::Spec.new do |s|
|
|
|
75
76
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
|
|
76
77
|
"GCC_PREPROCESSOR_DEFINITIONS[config=*Debug*]" => "$(inherited) #{hermes_debug_hidden_flags} #{bundle_mode_flag}",
|
|
77
78
|
"GCC_PREPROCESSOR_DEFINITIONS[config=*Release*]" => "$(inherited) #{bundle_mode_flag}",
|
|
78
|
-
"OTHER_CFLAGS" => "$(inherited) #{feature_flags} #{version_flags}",
|
|
79
|
+
"OTHER_CFLAGS" => "$(inherited) #{feature_flags} #{version_flags} #{hermes_v1_flag}",
|
|
79
80
|
}
|
|
80
81
|
s.xcconfig = {
|
|
81
82
|
"HEADER_SEARCH_PATHS" => [
|
|
@@ -5,6 +5,7 @@ import { registerReportFatalRemoteError } from '../debug/errors';
|
|
|
5
5
|
import { registerWorkletsError, WorkletsError } from '../debug/WorkletsError';
|
|
6
6
|
import { bundleValueUnpacker } from '../memory/bundleUnpacker';
|
|
7
7
|
import { __installUnpacker as installCustomSerializableUnpacker } from '../memory/customSerializableUnpacker';
|
|
8
|
+
import { makeShareableCloneOnUIRecursive } from '../memory/serializable';
|
|
8
9
|
import { __installUnpacker as installSynchronizableUnpacker } from '../memory/synchronizableUnpacker';
|
|
9
10
|
import { setupSetImmediate } from '../runLoop/common/setImmediatePolyfill';
|
|
10
11
|
import { setupSetInterval } from '../runLoop/common/setIntervalPolyfill';
|
|
@@ -73,6 +74,11 @@ export function setupConsole(boundCapturableConsole) {
|
|
|
73
74
|
info: (...args) => scheduleOnRN(boundCapturableConsole.info, ...args)
|
|
74
75
|
};
|
|
75
76
|
}
|
|
77
|
+
export function setupSerializer() {
|
|
78
|
+
'worklet';
|
|
79
|
+
|
|
80
|
+
globalThis.__serializer = makeShareableCloneOnUIRecursive;
|
|
81
|
+
}
|
|
76
82
|
let initialized = false;
|
|
77
83
|
export function init() {
|
|
78
84
|
if (initialized) {
|
|
@@ -170,14 +176,11 @@ function installRNBindingsOnUIRuntime() {
|
|
|
170
176
|
/** In bundle mode Runtimes setup their callGuard themselves. */
|
|
171
177
|
runOnUISync(setupCallGuard);
|
|
172
178
|
|
|
173
|
-
/**
|
|
174
|
-
* Register WorkletsError in the UI runtime global scope. (we are using
|
|
175
|
-
* `executeOnUIRuntimeSync` here to make sure that the changes are applied
|
|
176
|
-
* before any async operations are executed on the UI runtime).
|
|
177
|
-
*
|
|
178
|
-
* There's no need to register the error in bundle mode.
|
|
179
|
-
*/
|
|
179
|
+
/** In Bundle Mode the error is taken from the bundle. */
|
|
180
180
|
runOnUISync(registerWorkletsError);
|
|
181
|
+
|
|
182
|
+
/** In Bundle Mode the serializer is taken from the bundle. */
|
|
183
|
+
runOnUISync(setupSerializer);
|
|
181
184
|
}
|
|
182
185
|
runOnUISync(() => {
|
|
183
186
|
'worklet';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setupCallGuard","registerReportFatalRemoteError","registerWorkletsError","WorkletsError","bundleValueUnpacker","__installUnpacker","installCustomSerializableUnpacker","installSynchronizableUnpacker","setupSetImmediate","setupSetInterval","setupRequestAnimationFrame","setupSetTimeout","RuntimeKind","runOnUISync","scheduleOnRN","setupMicrotasks","isWorkletFunction","WorkletsModule","globalThis","__RUNTIME_KIND","undefined","ReactNative","capturableConsole","getMemorySafeCapturableConsole","consoleCopy","Object","fromEntries","entries","console","map","methodName","method","methodWrapper","args","name","defineProperty","value","writable","setupConsole","boundCapturableConsole","assert","debug","log","warn","error","info","initialized","init","initializeRuntime","initializeWorkletRuntime","initializeRNRuntime","installRNBindingsOnUIRuntime","_WORKLETS_BUNDLE_MODE","__valueUnpacker","__DEV__","testWorklet","Refresh","Proxy","get","__r","modules","require","getModules","ReactNativeModuleId","resolveWeak","factory","_global","_require","_importDefault","_importAll","module","_exports","_dependencyMap","exports","_target","prop","String","mod","dependencyMap","hasError","importedAll","importedDefault","isInitialized","publicModule","set","runtimeBoundCapturableConsole"],"sourceRoot":"../../../src","sources":["initializers/initializers.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,cAAc,QAAQ,cAAc;AAC7C,SAASC,8BAA8B,QAAQ,iBAAiB;AAChE,SAASC,qBAAqB,EAAEC,aAAa,QAAQ,wBAAwB;AAC7E,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,iBAAiB,IAAIC,iCAAiC,QAAQ,sCAAsC;AAC7G,
|
|
1
|
+
{"version":3,"names":["setupCallGuard","registerReportFatalRemoteError","registerWorkletsError","WorkletsError","bundleValueUnpacker","__installUnpacker","installCustomSerializableUnpacker","makeShareableCloneOnUIRecursive","installSynchronizableUnpacker","setupSetImmediate","setupSetInterval","setupRequestAnimationFrame","setupSetTimeout","RuntimeKind","runOnUISync","scheduleOnRN","setupMicrotasks","isWorkletFunction","WorkletsModule","globalThis","__RUNTIME_KIND","undefined","ReactNative","capturableConsole","getMemorySafeCapturableConsole","consoleCopy","Object","fromEntries","entries","console","map","methodName","method","methodWrapper","args","name","defineProperty","value","writable","setupConsole","boundCapturableConsole","assert","debug","log","warn","error","info","setupSerializer","__serializer","initialized","init","initializeRuntime","initializeWorkletRuntime","initializeRNRuntime","installRNBindingsOnUIRuntime","_WORKLETS_BUNDLE_MODE","__valueUnpacker","__DEV__","testWorklet","Refresh","Proxy","get","__r","modules","require","getModules","ReactNativeModuleId","resolveWeak","factory","_global","_require","_importDefault","_importAll","module","_exports","_dependencyMap","exports","_target","prop","String","mod","dependencyMap","hasError","importedAll","importedDefault","isInitialized","publicModule","set","runtimeBoundCapturableConsole"],"sourceRoot":"../../../src","sources":["initializers/initializers.native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { createSerializable } from './serializable';
|
|
4
4
|
export function __installUnpacker() {
|
|
5
5
|
// TODO: Add cache for synchronizables.
|
|
6
|
-
const serializer = !globalThis._WORKLET || globalThis._WORKLETS_BUNDLE_MODE ?
|
|
6
|
+
const serializer = !globalThis._WORKLET || globalThis._WORKLETS_BUNDLE_MODE ? createSerializable : value => globalThis.__serializer(value);
|
|
7
7
|
function synchronizableUnpacker(synchronizableRef) {
|
|
8
8
|
const synchronizable = synchronizableRef;
|
|
9
9
|
const proxy = globalThis.__workletsModuleProxy;
|
|
@@ -21,12 +21,12 @@ export function __installUnpacker() {
|
|
|
21
21
|
synchronizable.lock();
|
|
22
22
|
const prev = synchronizable.getBlocking();
|
|
23
23
|
newValue = func(prev);
|
|
24
|
-
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue
|
|
24
|
+
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
|
|
25
25
|
synchronizable.unlock();
|
|
26
26
|
} else {
|
|
27
27
|
const value = valueOrFunction;
|
|
28
28
|
newValue = value;
|
|
29
|
-
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue
|
|
29
|
+
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
synchronizable.lock = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSerializable","__installUnpacker","serializer","globalThis","_WORKLET","_WORKLETS_BUNDLE_MODE","value","
|
|
1
|
+
{"version":3,"names":["createSerializable","__installUnpacker","serializer","globalThis","_WORKLET","_WORKLETS_BUNDLE_MODE","value","__serializer","synchronizableUnpacker","synchronizableRef","synchronizable","proxy","__workletsModuleProxy","__synchronizableRef","getDirty","synchronizableGetDirty","getBlocking","synchronizableGetBlocking","setBlocking","valueOrFunction","newValue","func","lock","prev","synchronizableSetBlocking","unlock","synchronizableLock","synchronizableUnlock","__synchronizableUnpacker"],"sourceRoot":"../../../src","sources":["memory/synchronizableUnpacker.native.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,kBAAkB,QAAQ,gBAAgB;AAGnD,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC;EACA,MAAMC,UAAU,GACd,CAACC,UAAU,CAACC,QAAQ,IAAID,UAAU,CAACE,qBAAqB,GACpDL,kBAAkB,GACjBM,KAAc,IAAKH,UAAU,CAACI,YAAY,CAACD,KAAK,CAAC;EAExD,SAASE,sBAAsBA,CAC7BC,iBAA4C,EACpB;IACxB,MAAMC,cAAc,GAClBD,iBAAsD;IACxD,MAAME,KAAK,GAAGR,UAAU,CAACS,qBAAqB;IAE9CF,cAAc,CAACG,mBAAmB,GAAG,IAAI;IACzCH,cAAc,CAACI,QAAQ,GAAG,MAAM;MAC9B,OAAOH,KAAK,CAACI,sBAAsB,CAACL,cAAc,CAAC;IACrD,CAAC;IACDA,cAAc,CAACM,WAAW,GAAG,MAAM;MACjC,OAAOL,KAAK,CAACM,yBAAyB,CAACP,cAAc,CAAC;IACxD,CAAC;IACDA,cAAc,CAACQ,WAAW,GACxBC,eAAoD,IACjD;MACH,IAAIC,QAAgB;MACpB,IAAI,OAAOD,eAAe,KAAK,UAAU,EAAE;QACzC,MAAME,IAAI,GAAGF,eAA2C;QACxDT,cAAc,CAACY,IAAI,CAAC,CAAC;QACrB,MAAMC,IAAI,GAAGb,cAAc,CAACM,WAAW,CAAC,CAAC;QACzCI,QAAQ,GAAGC,IAAI,CAACE,IAAI,CAAC;QAErBZ,KAAK,CAACa,yBAAyB,CAACd,cAAc,EAAER,UAAU,CAACkB,QAAQ,CAAC,CAAC;QAErEV,cAAc,CAACe,MAAM,CAAC,CAAC;MACzB,CAAC,MAAM;QACL,MAAMnB,KAAK,GAAGa,eAAe;QAC7BC,QAAQ,GAAGd,KAAK;QAChBK,KAAK,CAACa,yBAAyB,CAACd,cAAc,EAAER,UAAU,CAACkB,QAAQ,CAAC,CAAC;MACvE;IACF,CAAC;IACDV,cAAc,CAACY,IAAI,GAAG,MAAM;MAC1BX,KAAK,CAACe,kBAAkB,CAAChB,cAAc,CAAC;IAC1C,CAAC;IACDA,cAAc,CAACe,MAAM,GAAG,MAAM;MAC5Bd,KAAK,CAACgB,oBAAoB,CAACjB,cAAc,CAAC;IAC5C,CAAC;IAED,OAAOA,cAAc;EACvB;EAEAP,UAAU,CAACyB,wBAAwB,GAAGpB,sBAAsB;AAC9D","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { setupCallGuard } from './callGuard';
|
|
4
4
|
import { registerWorkletsError, WorkletsError } from './debug/WorkletsError';
|
|
5
|
-
import { getMemorySafeCapturableConsole, setupConsole } from './initializers/initializers';
|
|
5
|
+
import { getMemorySafeCapturableConsole, setupConsole, setupSerializer } from './initializers/initializers';
|
|
6
6
|
import { createSerializable, makeShareableCloneOnUIRecursive } from './memory/serializable';
|
|
7
7
|
import { setupRunLoop } from './runLoop/workletRuntime';
|
|
8
8
|
import { RuntimeKind } from './runtimeKind';
|
|
@@ -62,6 +62,7 @@ export function createWorkletRuntime(nameOrConfig, initializer) {
|
|
|
62
62
|
'worklet';
|
|
63
63
|
|
|
64
64
|
setupCallGuard();
|
|
65
|
+
setupSerializer();
|
|
65
66
|
registerWorkletsError();
|
|
66
67
|
setupConsole(runtimeBoundCapturableConsole);
|
|
67
68
|
if (enableEventLoop) {
|
|
@@ -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":"AAAA,YAAY;;AAEZ,SAASA,cAAc,QAAQ,aAAa;AAC5C,SAASC,qBAAqB,EAAEC,aAAa,QAAQ,uBAAuB;AAC5E,SACEC,8BAA8B,EAC9BC,YAAY,
|
|
1
|
+
{"version":3,"names":["setupCallGuard","registerWorkletsError","WorkletsError","getMemorySafeCapturableConsole","setupConsole","setupSerializer","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":[]}
|
|
@@ -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.7.
|
|
6
|
+
export declare const jsVersion = "0.7.3";
|
|
7
7
|
//# sourceMappingURL=jsVersion.d.ts.map
|
|
@@ -13,5 +13,6 @@
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function getMemorySafeCapturableConsole(): typeof console;
|
|
15
15
|
export declare function setupConsole(boundCapturableConsole: typeof console): void;
|
|
16
|
+
export declare function setupSerializer(): void;
|
|
16
17
|
export declare function init(): void;
|
|
17
18
|
//# sourceMappingURL=initializers.native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializers.native.d.ts","sourceRoot":"","sources":["../../../src/initializers/initializers.native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initializers.native.d.ts","sourceRoot":"","sources":["../../../src/initializers/initializers.native.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,OAAO,CA8B/D;AAED,wBAAgB,YAAY,CAAC,sBAAsB,EAAE,OAAO,OAAO,QAWlE;AAED,wBAAgB,eAAe,SAG9B;AAID,wBAAgB,IAAI,SAcnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizableUnpacker.native.d.ts","sourceRoot":"","sources":["../../../src/memory/synchronizableUnpacker.native.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEtE,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"synchronizableUnpacker.native.d.ts","sourceRoot":"","sources":["../../../src/memory/synchronizableUnpacker.native.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEtE,wBAAgB,iBAAiB,SAmDhC;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAC1C,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,KACzC,cAAc,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimes.native.d.ts","sourceRoot":"","sources":["../../src/runtimes.native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtimes.native.d.ts","sourceRoot":"","sources":["../../src/runtimes.native.ts"],"names":[],"mappings":"AAeA,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;AAsDlB;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-worklets",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
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.
|
|
74
|
+
"@react-native/eslint-config": "0.83.1",
|
|
75
75
|
"@types/jest": "30.0.0",
|
|
76
76
|
"@types/node": "24.7.0",
|
|
77
77
|
"@types/react": "19.2.2",
|
|
@@ -82,8 +82,8 @@
|
|
|
82
82
|
"knip": "5.61.3",
|
|
83
83
|
"madge": "8.0.0",
|
|
84
84
|
"prettier": "3.6.2",
|
|
85
|
-
"react": "19.
|
|
86
|
-
"react-native": "0.
|
|
85
|
+
"react": "19.2.0",
|
|
86
|
+
"react-native": "0.83.1",
|
|
87
87
|
"react-native-builder-bob": "0.40.13",
|
|
88
88
|
"typescript": "5.8.3"
|
|
89
89
|
},
|
|
@@ -118,6 +118,15 @@
|
|
|
118
118
|
"!**/__mocks__",
|
|
119
119
|
"!**/.*"
|
|
120
120
|
],
|
|
121
|
+
"sideEffects": [
|
|
122
|
+
"./src/index.ts",
|
|
123
|
+
"./lib/module/index.js",
|
|
124
|
+
"./**/runtimeKind.{js,ts}",
|
|
125
|
+
"./**/serializable.native.{js,ts}",
|
|
126
|
+
"./**/workletRuntimeEntry.native.{js,ts}",
|
|
127
|
+
"./**/initializers.native.{js,ts}",
|
|
128
|
+
"./**/featureFlags.native.{js,ts}"
|
|
129
|
+
],
|
|
121
130
|
"react-native-builder-bob": {
|
|
122
131
|
"source": "src",
|
|
123
132
|
"output": "lib",
|
package/plugin/index.js
CHANGED
|
@@ -1682,7 +1682,7 @@ var require_inlineStylesWarning = __commonJS({
|
|
|
1682
1682
|
}
|
|
1683
1683
|
function processPropertyValueForInlineStylesWarning(path) {
|
|
1684
1684
|
if (path.isMemberExpression() && (0, types_12.isIdentifier)(path.node.property)) {
|
|
1685
|
-
if (path.node.property.name === "value") {
|
|
1685
|
+
if (!path.node.computed && path.node.property.name === "value") {
|
|
1686
1686
|
path.replaceWith(generateInlineStylesWarning(path));
|
|
1687
1687
|
}
|
|
1688
1688
|
}
|
package/src/debug/jsVersion.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { registerReportFatalRemoteError } from '../debug/errors';
|
|
|
5
5
|
import { registerWorkletsError, WorkletsError } from '../debug/WorkletsError';
|
|
6
6
|
import { bundleValueUnpacker } from '../memory/bundleUnpacker';
|
|
7
7
|
import { __installUnpacker as installCustomSerializableUnpacker } from '../memory/customSerializableUnpacker';
|
|
8
|
+
import { makeShareableCloneOnUIRecursive } from '../memory/serializable';
|
|
8
9
|
import { __installUnpacker as installSynchronizableUnpacker } from '../memory/synchronizableUnpacker';
|
|
9
10
|
import { setupSetImmediate } from '../runLoop/common/setImmediatePolyfill';
|
|
10
11
|
import { setupSetInterval } from '../runLoop/common/setIntervalPolyfill';
|
|
@@ -82,6 +83,11 @@ export function setupConsole(boundCapturableConsole: typeof console) {
|
|
|
82
83
|
};
|
|
83
84
|
}
|
|
84
85
|
|
|
86
|
+
export function setupSerializer() {
|
|
87
|
+
'worklet';
|
|
88
|
+
globalThis.__serializer = makeShareableCloneOnUIRecursive;
|
|
89
|
+
}
|
|
90
|
+
|
|
85
91
|
let initialized = false;
|
|
86
92
|
|
|
87
93
|
export function init() {
|
|
@@ -210,14 +216,11 @@ function installRNBindingsOnUIRuntime() {
|
|
|
210
216
|
/** In bundle mode Runtimes setup their callGuard themselves. */
|
|
211
217
|
runOnUISync(setupCallGuard);
|
|
212
218
|
|
|
213
|
-
/**
|
|
214
|
-
* Register WorkletsError in the UI runtime global scope. (we are using
|
|
215
|
-
* `executeOnUIRuntimeSync` here to make sure that the changes are applied
|
|
216
|
-
* before any async operations are executed on the UI runtime).
|
|
217
|
-
*
|
|
218
|
-
* There's no need to register the error in bundle mode.
|
|
219
|
-
*/
|
|
219
|
+
/** In Bundle Mode the error is taken from the bundle. */
|
|
220
220
|
runOnUISync(registerWorkletsError);
|
|
221
|
+
|
|
222
|
+
/** In Bundle Mode the serializer is taken from the bundle. */
|
|
223
|
+
runOnUISync(setupSerializer);
|
|
221
224
|
}
|
|
222
225
|
|
|
223
226
|
runOnUISync(() => {
|
|
@@ -7,15 +7,15 @@ export function __installUnpacker() {
|
|
|
7
7
|
// TODO: Add cache for synchronizables.
|
|
8
8
|
const serializer =
|
|
9
9
|
!globalThis._WORKLET || globalThis._WORKLETS_BUNDLE_MODE
|
|
10
|
-
?
|
|
11
|
-
: globalThis.
|
|
10
|
+
? createSerializable
|
|
11
|
+
: (value: unknown) => globalThis.__serializer(value);
|
|
12
12
|
|
|
13
13
|
function synchronizableUnpacker<TValue>(
|
|
14
14
|
synchronizableRef: SynchronizableRef<TValue>
|
|
15
15
|
): Synchronizable<TValue> {
|
|
16
16
|
const synchronizable =
|
|
17
17
|
synchronizableRef as unknown as Synchronizable<TValue>;
|
|
18
|
-
const proxy = globalThis.__workletsModuleProxy
|
|
18
|
+
const proxy = globalThis.__workletsModuleProxy;
|
|
19
19
|
|
|
20
20
|
synchronizable.__synchronizableRef = true;
|
|
21
21
|
synchronizable.getDirty = () => {
|
|
@@ -34,19 +34,13 @@ export function __installUnpacker() {
|
|
|
34
34
|
const prev = synchronizable.getBlocking();
|
|
35
35
|
newValue = func(prev);
|
|
36
36
|
|
|
37
|
-
proxy.synchronizableSetBlocking(
|
|
38
|
-
synchronizable,
|
|
39
|
-
serializer(newValue, undefined)
|
|
40
|
-
);
|
|
37
|
+
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
|
|
41
38
|
|
|
42
39
|
synchronizable.unlock();
|
|
43
40
|
} else {
|
|
44
41
|
const value = valueOrFunction;
|
|
45
42
|
newValue = value;
|
|
46
|
-
proxy.synchronizableSetBlocking(
|
|
47
|
-
synchronizable,
|
|
48
|
-
serializer(newValue, undefined)
|
|
49
|
-
);
|
|
43
|
+
proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
|
|
50
44
|
}
|
|
51
45
|
};
|
|
52
46
|
synchronizable.lock = () => {
|
package/src/privateGlobals.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import type { callGuardDEV } from './callGuard';
|
|
6
6
|
import type { reportFatalRemoteError } from './debug/errors';
|
|
7
7
|
import type { CustomSerializableUnpacker } from './memory/customSerializableUnpacker';
|
|
8
|
+
import type { makeShareableCloneOnUIRecursive } from './memory/serializable';
|
|
8
9
|
import type { SynchronizableUnpacker } from './memory/synchronizableUnpacker';
|
|
9
10
|
import type { CustomSerializationRegistry } from './memory/types';
|
|
10
11
|
import type { Queue } from './runLoop/workletRuntime/taskQueue';
|
|
@@ -17,7 +18,7 @@ declare global {
|
|
|
17
18
|
Record<string, unknown>;
|
|
18
19
|
|
|
19
20
|
var _toString: (value: unknown) => string;
|
|
20
|
-
var __workletsModuleProxy: WorkletsModuleProxy
|
|
21
|
+
var __workletsModuleProxy: WorkletsModuleProxy;
|
|
21
22
|
var _WORKLETS_BUNDLE_MODE: boolean | undefined;
|
|
22
23
|
var _WORKLETS_VERSION_CPP: string | undefined;
|
|
23
24
|
var _WORKLETS_VERSION_JS: string | undefined;
|
|
@@ -54,6 +55,8 @@ declare global {
|
|
|
54
55
|
var _createSerializableSynchronizable: (
|
|
55
56
|
value: object
|
|
56
57
|
) => FlatShareableRef<object>;
|
|
58
|
+
/** Only outside of Bundle Mode on Worklet Runtimes. */
|
|
59
|
+
var __serializer: typeof makeShareableCloneOnUIRecursive;
|
|
57
60
|
var __callMicrotasks: () => void;
|
|
58
61
|
var _scheduleHostFunctionOnJS: (fun: (...args: A) => R, args?: A) => void;
|
|
59
62
|
var _scheduleRemoteFunctionOnJS: (fun: (...args: A) => R, args?: A) => void;
|
package/src/runtimes.native.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { registerWorkletsError, WorkletsError } from './debug/WorkletsError';
|
|
|
5
5
|
import {
|
|
6
6
|
getMemorySafeCapturableConsole,
|
|
7
7
|
setupConsole,
|
|
8
|
+
setupSerializer,
|
|
8
9
|
} from './initializers/initializers';
|
|
9
10
|
import {
|
|
10
11
|
createSerializable,
|
|
@@ -91,6 +92,7 @@ export function createWorkletRuntime(
|
|
|
91
92
|
createSerializable(() => {
|
|
92
93
|
'worklet';
|
|
93
94
|
setupCallGuard();
|
|
95
|
+
setupSerializer();
|
|
94
96
|
registerWorkletsError();
|
|
95
97
|
setupConsole(runtimeBoundCapturableConsole);
|
|
96
98
|
if (enableEventLoop) {
|