diff --git a/package.json b/package.json index 240b5a79d9e..9f6fb75889b 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,6 @@ "convert-source-map": "^2.0.0", "invariant": "^2.2.4", "lodash.isequal": "^4.5.0", - "setimmediate": "^1.0.5", "string-hash-64": "^1.0.3" }, "peerDependencies": { diff --git a/plugin/index.js b/plugin/index.js index 34ef8fe4c20..78899f6d1a2 100644 --- a/plugin/index.js +++ b/plugin/index.js @@ -90,6 +90,7 @@ const globals = new Set([ 'UIManager', 'requestAnimationFrame', 'setImmediate', + 'queueMicrotask', '_WORKLET', 'arguments', 'Boolean', diff --git a/plugin/index.js.map b/plugin/index.js.map index cee74f03b4d..14efb798db9 100644 --- a/plugin/index.js.map +++ b/plugin/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugin/index.ts b/plugin/index.ts index cddca63ff54..da7a9dbd980 100644 --- a/plugin/index.ts +++ b/plugin/index.ts @@ -86,6 +86,7 @@ const globals = new Set([ 'UIManager', 'requestAnimationFrame', 'setImmediate', + 'queueMicrotask', '_WORKLET', 'arguments', 'Boolean', diff --git a/src/reanimated2/core.ts b/src/reanimated2/core.ts index 3df2883bb5c..dac2a2b03e5 100644 --- a/src/reanimated2/core.ts +++ b/src/reanimated2/core.ts @@ -117,7 +117,7 @@ export function registerEventHandler( eventHash: string, eventHandler: (event: T) => void ): string { - function handleAndFlushImmediates(eventTimestamp: number, event: T) { + function handleAndFlushAnimationFrame(eventTimestamp: number, event: T) { 'worklet'; global.__frameTimestamp = eventTimestamp; eventHandler(event); @@ -126,7 +126,7 @@ export function registerEventHandler( } return NativeReanimatedModule.registerEventHandler( eventHash, - makeShareableCloneRecursive(handleAndFlushImmediates) + makeShareableCloneRecursive(handleAndFlushAnimationFrame) ); } @@ -140,7 +140,7 @@ export function subscribeForKeyboardEvents( ): number { // TODO: this should really go with the same code path as other events, that is // via registerEventHandler. For now we are copying the code from there. - function handleAndFlushImmediates(state: number, height: number) { + function handleAndFlushAnimationFrame(state: number, height: number) { 'worklet'; const now = performance.now(); global.__frameTimestamp = now; @@ -149,7 +149,7 @@ export function subscribeForKeyboardEvents( global.__frameTimestamp = undefined; } return NativeReanimatedModule.subscribeForKeyboardEvents( - makeShareableCloneRecursive(handleAndFlushImmediates), + makeShareableCloneRecursive(handleAndFlushAnimationFrame), options.isStatusBarTranslucentAndroid ?? false ); } diff --git a/src/reanimated2/globals.d.ts b/src/reanimated2/globals.d.ts index 9c690b7cb90..6fd51548dd2 100644 --- a/src/reanimated2/globals.d.ts +++ b/src/reanimated2/globals.d.ts @@ -72,7 +72,6 @@ declare global { }; const _frameCallbackRegistry: FrameCallbackRegistryUI; const requestAnimationFrame: (callback: (time: number) => void) => number; - const setImmediate: (callback: (time: number) => void) => number; const console: Console; namespace NodeJS { @@ -134,10 +133,9 @@ declare global { __workletsCache?: Map any>; __handleCache?: WeakMap; __mapperRegistry?: MapperRegistry; - __flushImmediates: () => void; + __callMicrotasks: () => void; __flushAnimationFrame: (frameTimestamp: number) => void; requestAnimationFrame: (callback: (time: number) => void) => number; - setImmediate: (callback: (time: number) => void) => number; console: Console; } } diff --git a/src/reanimated2/hook/useAnimatedSensor.ts b/src/reanimated2/hook/useAnimatedSensor.ts index 0ee3e3b78c0..7c37da1c993 100644 --- a/src/reanimated2/hook/useAnimatedSensor.ts +++ b/src/reanimated2/hook/useAnimatedSensor.ts @@ -7,7 +7,7 @@ import { ValueRotation, IOSReferenceFrame, } from '../commonTypes'; -import { flushImmediates } from '../threads'; +import { callMicrotasks } from '../threads'; export type SensorConfig = { interval: number | 'auto'; @@ -145,7 +145,7 @@ export function useAnimatedSensor( } } sensorData.value = data; - flushImmediates(); + callMicrotasks(); } ); diff --git a/src/reanimated2/initializers.ts b/src/reanimated2/initializers.ts index 2c8279329a0..8d7a81fe205 100644 --- a/src/reanimated2/initializers.ts +++ b/src/reanimated2/initializers.ts @@ -3,8 +3,8 @@ import NativeReanimatedModule from './NativeReanimated'; import { isJest } from './PlatformChecker'; import { runOnJS, - setupSetImmediate, - flushImmediates, + setupMicrotasks, + callMicrotasks, runOnUIImmediately, } from './threads'; @@ -106,7 +106,7 @@ function setupRequestAnimationFrame() { const currentCallbacks = animationFrameCallbacks; animationFrameCallbacks = []; currentCallbacks.forEach((f) => f(frameTimestamp)); - flushImmediates(); + callMicrotasks(); }; global.requestAnimationFrame = ( @@ -177,7 +177,7 @@ export function initializeUIRuntime() { }; if (!IS_JEST) { - setupSetImmediate(); + setupMicrotasks(); setupRequestAnimationFrame(); } })(); diff --git a/src/reanimated2/jestUtils.ts b/src/reanimated2/jestUtils.ts index 41362b86965..53fa108b57c 100644 --- a/src/reanimated2/jestUtils.ts +++ b/src/reanimated2/jestUtils.ts @@ -190,7 +190,6 @@ export const setUpTests = (userConfig = {}) => { } } - require('setimmediate'); frameTime = Math.round(1000 / config.fps); config = { diff --git a/src/reanimated2/js-reanimated/index.ts b/src/reanimated2/js-reanimated/index.ts index a468d9f9b22..8c3320c10f3 100644 --- a/src/reanimated2/js-reanimated/index.ts +++ b/src/reanimated2/js-reanimated/index.ts @@ -4,7 +4,7 @@ import { AnimatedStyle, StyleProps } from '../commonTypes'; const reanimatedJS = new JSReanimated(); global._makeShareableClone = (c) => c; -global._scheduleOnJS = setImmediate; +global._scheduleOnJS = queueMicrotask; interface JSReanimatedComponent { previousStyle: StyleProps; diff --git a/src/reanimated2/mappers.ts b/src/reanimated2/mappers.ts index f0196aaffe0..21eeef5b307 100644 --- a/src/reanimated2/mappers.ts +++ b/src/reanimated2/mappers.ts @@ -92,7 +92,7 @@ export function createMapperRegistry() { function maybeRequestUpdates() { if (IS_JEST) { - // On Jest environment we avoid using setImmediate as that'd require test + // On Jest environment we avoid using queueMicrotask as that'd require test // to advance the clock manually. This on other hand would require tests // to know how many times mappers need to run. As we don't want tests to // make any assumptions on that number it is easier to execute mappers @@ -100,7 +100,7 @@ export function createMapperRegistry() { // if they want to make any assertions on the effects of animations being run. mapperRun(); } else if (!runRequested) { - setImmediate(mapperRun); + queueMicrotask(mapperRun); runRequested = true; } } diff --git a/src/reanimated2/threads.ts b/src/reanimated2/threads.ts index cb4a69cc005..4bae61baec3 100644 --- a/src/reanimated2/threads.ts +++ b/src/reanimated2/threads.ts @@ -11,40 +11,40 @@ const IS_WEB = shouldBeUseWeb(); let _runOnUIQueue: Array<[ComplexWorkletFunction, any[]]> = []; -export function setupSetImmediate() { +export function setupMicrotasks() { 'worklet'; - let immediateCallbacks: Array<() => void> = []; + let microtasksQueue: Array<() => void> = []; // @ts-ignore – typescript expects this to conform to NodeJS definition and expects the return value to be NodeJS.Immediate which is an object and not a number - global.setImmediate = (callback: () => void): number => { - immediateCallbacks.push(callback); + global.queueMicrotask = (callback: () => void): number => { + microtasksQueue.push(callback); return -1; }; - global.__flushImmediates = () => { - for (let index = 0; index < immediateCallbacks.length; index += 1) { - // we use classic 'for' loop because the size of the currentTasks array may change while executing some of the callbacks due to setImmediate calls - immediateCallbacks[index](); + global.__callMicrotasks = () => { + for (let index = 0; index < microtasksQueue.length; index += 1) { + // we use classic 'for' loop because the size of the currentTasks array may change while executing some of the callbacks due to queueMicrotask calls + microtasksQueue[index](); } - immediateCallbacks = []; + microtasksQueue = []; }; } -function flushImmediatesOnUIThread() { +function callMicrotasksOnUIThread() { 'worklet'; - global.__flushImmediates(); + global.__callMicrotasks(); } -export const flushImmediates = shouldBeUseWeb() +export const callMicrotasks = shouldBeUseWeb() ? () => { // on web flushing is a noop as immediates are handled by the browser } - : flushImmediatesOnUIThread; + : callMicrotasksOnUIThread; /** * Schedule a worklet to execute on the UI runtime. This method does not schedule the work immediately but instead - * waits for other worklets to be scheduled within the same JS loop. It uses setImmediate to schedule all the worklets + * waits for other worklets to be scheduled within the same JS loop. It uses queueMicrotask to schedule all the worklets * at once making sure they will run within the same frame boundaries on the UI thread. */ export function runOnUI( @@ -55,7 +55,7 @@ export function runOnUI( } return (...args) => { if (IS_JEST) { - // Mocking time in Jest is tricky as both requestAnimationFrame and setImmediate + // Mocking time in Jest is tricky as both requestAnimationFrame and queueMicrotask // callbacks run on the same queue and can be interleaved. There is no way // to flush particular queue in Jest and the only control over mocked timers // is by using jest.advanceTimersByTime() method which advances all types @@ -74,7 +74,7 @@ export function runOnUI( } _runOnUIQueue.push([worklet, args]); if (_runOnUIQueue.length === 1) { - setImmediate(() => { + queueMicrotask(() => { const queue = _runOnUIQueue; _runOnUIQueue = []; NativeReanimatedModule.scheduleOnUI( @@ -83,7 +83,7 @@ export function runOnUI( queue.forEach(([worklet, args]) => { worklet(...args); }); - flushImmediates(); + callMicrotasks(); }) ); }); diff --git a/yarn.lock b/yarn.lock index 2fc780c8a80..c686089df55 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8600,11 +8600,6 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"