UNPKG

react-native-reanimated

Version:

More powerful alternative to Animated library for React Native.

66 lines (51 loc) 2.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventType = void 0; exports.useAnimatedGestureHandler = useAnimatedGestureHandler; var _Hooks = require("./Hooks"); let EventType; exports.EventType = EventType; (function (EventType) { EventType[EventType["UNDETERMINED"] = 0] = "UNDETERMINED"; EventType[EventType["FAILED"] = 1] = "FAILED"; EventType[EventType["BEGAN"] = 2] = "BEGAN"; EventType[EventType["CANCELLED"] = 3] = "CANCELLED"; EventType[EventType["ACTIVE"] = 4] = "ACTIVE"; EventType[EventType["END"] = 5] = "END"; })(EventType || (exports.EventType = EventType = {})); function useAnimatedGestureHandler(handlers, dependencies) { const { context, doDependenciesDiffer, useWeb } = (0, _Hooks.useHandler)(handlers, dependencies); const handler = e => { 'worklet'; const event = useWeb ? e.nativeEvent : e; if (event.state === EventType.BEGAN && handlers.onStart) { handlers.onStart(event, context); } if (event.state === EventType.ACTIVE && handlers.onActive) { handlers.onActive(event, context); } if (event.oldState === EventType.ACTIVE && event.state === EventType.END && handlers.onEnd) { handlers.onEnd(event, context); } if (event.oldState === EventType.BEGAN && event.state === EventType.FAILED && handlers.onFail) { handlers.onFail(event, context); } if (event.oldState === EventType.ACTIVE && event.state === EventType.CANCELLED && handlers.onCancel) { handlers.onCancel(event, context); } if ((event.oldState === EventType.BEGAN || event.oldState === EventType.ACTIVE) && event.state !== EventType.BEGAN && event.state !== EventType.ACTIVE && handlers.onFinish) { handlers.onFinish(event, context, event.state === EventType.CANCELLED || event.state === EventType.FAILED); } }; if (useWeb) { return handler; } return (0, _Hooks.useEvent)(handler, ['onGestureHandlerStateChange', 'onGestureHandlerEvent'], doDependenciesDiffer); } //# sourceMappingURL=useAnimatedGestureHandler.js.map