react-native-worklets 0.7.2 → 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.
@@ -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 (0, _serializable.createSerializable)(value);
13
- } : globalThis._createSerializable;
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, undefined));
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, undefined));
36
+ proxy.synchronizableSetBlocking(synchronizable, serializer(newValue));
37
37
  }
38
38
  };
39
39
  synchronizable.lock = function () {
@@ -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.7.2';
8
+ export const jsVersion = '0.7.3';
9
9
  //# sourceMappingURL=jsVersion.js.map
@@ -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":"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","ignoreList":[]}
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 ? (value, _) => createSerializable(value) : globalThis._createSerializable;
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, undefined));
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, undefined));
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","_","_createSerializable","synchronizableUnpacker","synchronizableRef","synchronizable","proxy","__workletsModuleProxy","__synchronizableRef","getDirty","synchronizableGetDirty","getBlocking","synchronizableGetBlocking","setBlocking","valueOrFunction","newValue","func","lock","prev","synchronizableSetBlocking","undefined","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,GACpD,CAACC,KAAc,EAAEC,CAAU,KAAKP,kBAAkB,CAACM,KAAK,CAAC,GACzDH,UAAU,CAACK,mBAAmB;EAEpC,SAASC,sBAAsBA,CAC7BC,iBAA4C,EACpB;IACxB,MAAMC,cAAc,GAClBD,iBAAsD;IACxD,MAAME,KAAK,GAAGT,UAAU,CAACU,qBAAsB;IAE/CF,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,CAC7Bd,cAAc,EACdT,UAAU,CAACmB,QAAQ,EAAEK,SAAS,CAChC,CAAC;QAEDf,cAAc,CAACgB,MAAM,CAAC,CAAC;MACzB,CAAC,MAAM;QACL,MAAMrB,KAAK,GAAGc,eAAe;QAC7BC,QAAQ,GAAGf,KAAK;QAChBM,KAAK,CAACa,yBAAyB,CAC7Bd,cAAc,EACdT,UAAU,CAACmB,QAAQ,EAAEK,SAAS,CAChC,CAAC;MACH;IACF,CAAC;IACDf,cAAc,CAACY,IAAI,GAAG,MAAM;MAC1BX,KAAK,CAACgB,kBAAkB,CAACjB,cAAc,CAAC;IAC1C,CAAC;IACDA,cAAc,CAACgB,MAAM,GAAG,MAAM;MAC5Bf,KAAK,CAACiB,oBAAoB,CAAClB,cAAc,CAAC;IAC5C,CAAC;IAED,OAAOA,cAAc;EACvB;EAEAR,UAAU,CAAC2B,wBAAwB,GAAGrB,sBAAsB;AAC9D","ignoreList":[]}
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":"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","ignoreList":[]}
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.2";
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":"AA0BA;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,OAAO,CA8B/D;AAED,wBAAgB,YAAY,CAAC,sBAAsB,EAAE,OAAO,OAAO,QAWlE;AAID,wBAAgB,IAAI,SAcnB"}
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,SAyDhC;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAC1C,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,KACzC,cAAc,CAAC,MAAM,CAAC,CAAC"}
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":"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":"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.2",
3
+ "version": "0.7.3",
4
4
  "description": "The React Native multithreading library",
5
5
  "keywords": [
6
6
  "react-native",
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
  }
@@ -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.7.2';
8
+ export const jsVersion = '0.7.3';
@@ -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
- ? (value: unknown, _: unknown) => createSerializable(value)
11
- : globalThis._createSerializable;
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 = () => {
@@ -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 | undefined;
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;
@@ -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) {