Skip to content

Commit 24a339b

Browse files
committed
move to reanimatedUtils
1 parent e33d436 commit 24a339b

2 files changed

Lines changed: 25 additions & 20 deletions

File tree

packages/react-native-gesture-handler/src/v3/hooks/useJSResponderHandler.ts

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ import { Reanimated } from '../../handlers/gestures/reanimatedWrapper';
44
import { JSResponderContext } from '../components/ScrollViewResponderInterceptor';
55
import { type Gesture, type SharedValue, SingleGestureName } from '../types';
66
import { isComposedGesture, isGestureEnabled } from './utils';
7-
import { SHARED_VALUE_OFFSET } from './utils/reanimatedUtils';
7+
import {
8+
getEnabledSharedValues,
9+
SHARED_VALUE_OFFSET,
10+
} from './utils/reanimatedUtils';
811

912
// adding 0.5 to not call Math.random and to make sure that listener ID is not an integer to avoid conflicts
1013
let nextJSResponderContextListenerId = SHARED_VALUE_OFFSET + 0.5;
@@ -30,25 +33,6 @@ function isSupportedGesture<
3033
}
3134
}
3235

33-
function getEnabledSharedValues<
34-
TConfig,
35-
THandlerData,
36-
TExtendedHandlerData extends THandlerData,
37-
>(
38-
gesture: Gesture<TConfig, THandlerData, TExtendedHandlerData>
39-
): SharedValue<boolean>[] {
40-
if (Reanimated === undefined) {
41-
return [];
42-
}
43-
44-
if (isComposedGesture(gesture)) {
45-
return gesture.gestures.flatMap(getEnabledSharedValues);
46-
}
47-
48-
const enabled = gesture.config.enabled;
49-
return Reanimated.isSharedValue<boolean>(enabled) ? [enabled] : [];
50-
}
51-
5236
export function useJSResponderHandler<
5337
TConfig,
5438
THandlerData,

packages/react-native-gesture-handler/src/v3/hooks/utils/reanimatedUtils.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import { Reanimated } from '../../../handlers/gestures/reanimatedWrapper';
22
import { NativeProxy } from '../../NativeProxy';
33
import type {
44
BaseGestureConfig,
5+
Gesture,
56
SharedValue,
67
SharedValueOrT,
78
} from '../../types';
89
import { HandlerCallbacks } from './propsWhiteList';
10+
import { isComposedGesture } from './relationUtils';
911

1012
// Variant of djb2 hash function.
1113
// Taken from https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765
@@ -117,3 +119,22 @@ export function maybeUnpackValue<T>(
117119

118120
return (Reanimated?.isSharedValue(v) ? v.value : v) as T;
119121
}
122+
123+
export function getEnabledSharedValues<
124+
TConfig,
125+
THandlerData,
126+
TExtendedHandlerData extends THandlerData,
127+
>(
128+
gesture: Gesture<TConfig, THandlerData, TExtendedHandlerData>
129+
): SharedValue<boolean>[] {
130+
if (Reanimated === undefined) {
131+
return [];
132+
}
133+
134+
if (isComposedGesture(gesture)) {
135+
return gesture.gestures.flatMap(getEnabledSharedValues);
136+
}
137+
138+
const enabled = gesture.config.enabled;
139+
return Reanimated.isSharedValue<boolean>(enabled) ? [enabled] : [];
140+
}

0 commit comments

Comments
 (0)