UNPKG

react-native-gesture-handler

Version:

Declarative API exposing native platform touch and gesture system to React Native

38 lines (31 loc) 956 B
import { State } from '../State'; import { tagMessage } from '../utils'; export type GestureStateManagerType = { activate(handlerTag: number): void; fail(handlerTag: number): void; deactivate(handlerTag: number): void; }; const setGestureState = (handlerTag: number, state: State) => { 'worklet'; if (globalThis._setGestureStateSync) { globalThis._setGestureStateSync(handlerTag, state); } else if (globalThis._setGestureStateAsync) { globalThis._setGestureStateAsync(handlerTag, state); } else { throw new Error(tagMessage('Failed to set gesture state')); } }; export const GestureStateManager: GestureStateManagerType = { activate(handlerTag: number) { 'worklet'; setGestureState(handlerTag, State.ACTIVE); }, fail(handlerTag: number) { 'worklet'; setGestureState(handlerTag, State.FAILED); }, deactivate(handlerTag: number) { 'worklet'; setGestureState(handlerTag, State.END); }, };