UNPKG

react-native-reanimated

Version:

More powerful alternative to Animated library for React Native.

40 lines (31 loc) 1.1 kB
'use strict'; import { logger } from '../logger'; import { isChromeDebugger, isJest, shouldBeUseWeb } from '../PlatformChecker'; type SetGestureState = (handlerTag: number, newState: number) => void; export let setGestureState: SetGestureState; function setGestureStateNative(handlerTag: number, newState: number) { 'worklet'; if (!_WORKLET) { logger.warn('You can not use setGestureState in non-worklet function.'); return; } global._setGestureState(handlerTag, newState); } function setGestureStateJest() { logger.warn('setGestureState() cannot be used with Jest.'); } function setGestureStateChromeDebugger() { logger.warn('setGestureState() cannot be used with Chrome Debugger.'); } function setGestureStateDefault() { logger.warn('setGestureState() is not supported on this configuration.'); } if (!shouldBeUseWeb()) { setGestureState = setGestureStateNative; } else if (isJest()) { setGestureState = setGestureStateJest; } else if (isChromeDebugger()) { setGestureState = setGestureStateChromeDebugger; } else { setGestureState = setGestureStateDefault; }