Skip to content

Commit e9795cc

Browse files
committed
removed circular dependency
1 parent 3379714 commit e9795cc

File tree

7 files changed

+58
-57
lines changed

7 files changed

+58
-57
lines changed

packages/react-native-gesture-handler/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ export type {
162162
} from './components/DrawerLayout';
163163
export { default as DrawerLayout } from './components/DrawerLayout';
164164

165-
export type { NativeDetectorProps } from './v3/NativeDetector';
165+
export type { NativeDetectorProps } from './v3/types';
166166
export { NativeDetector } from './v3/NativeDetector';
167167

168168
export { LogicDetector } from './v3/LogicDetector';

packages/react-native-gesture-handler/src/v3/HostGestureDetector.web.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@ import { ActionType } from '../ActionType';
44
import { PropsRef } from '../web/interfaces';
55
import { View } from 'react-native';
66
import { tagMessage } from '../utils';
7-
import { LogicDetectorProps } from './LogicDetector.web';
7+
88
export interface GestureHandlerDetectorProps extends PropsRef {
99
handlerTags: number[];
1010
moduleId: number;
1111
children?: React.ReactNode;
1212
logicChildren?: Set<LogicDetectorProps>;
1313
}
1414

15+
export interface LogicDetectorProps {
16+
viewTag: number;
17+
moduleId: number;
18+
handlerTags: number[];
19+
viewRef: RefObject<Element | null>;
20+
}
21+
1522
interface LogicChild {
1623
attachedHandlerTags: Set<number>;
1724
attachedNativeHandlerTags: Set<number>;

packages/react-native-gesture-handler/src/v3/LogicDetector.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
import { useEffect, useRef, useState } from 'react';
2-
import { NativeDetectorProps, useDetectorContext } from './NativeDetector';
2+
import { useDetectorContext } from './NativeDetector';
33
import { Wrap } from '../handlers/gestures/GestureDetector/Wrap';
44
import { findNodeHandle } from 'react-native';
5-
6-
export interface LogicDetectorProps {
7-
viewTag: number;
8-
moduleId: number;
9-
handlerTags: number[];
10-
}
5+
import { NativeDetectorProps } from './types';
116

127
export const LogicDetector = (props: NativeDetectorProps) => {
138
const { register, unregister } = useDetectorContext();

packages/react-native-gesture-handler/src/v3/LogicDetector.web.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
1-
import { RefObject, useEffect, useRef, useState } from 'react';
2-
import { NativeDetectorProps, useDetectorContext } from './NativeDetector';
3-
1+
import { useEffect, useRef, useState } from 'react';
2+
import { useDetectorContext } from './NativeDetector';
43
import { Wrap } from '../handlers/gestures/GestureDetector/Wrap';
5-
export interface LogicDetectorProps {
6-
viewTag: number;
7-
viewRef: RefObject<Element | null>;
8-
moduleId: number;
9-
handlerTags: number[];
10-
}
4+
import { NativeDetectorProps } from './types';
115

126
export const LogicDetector = (props: NativeDetectorProps) => {
137
const { register, unregister } = useDetectorContext();

packages/react-native-gesture-handler/src/v3/NativeDetector.tsx

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,12 @@ import React, {
66
useRef,
77
useState,
88
} from 'react';
9-
import { NativeGesture } from './hooks/useGesture';
109
import { Reanimated } from '../handlers/gestures/reanimatedWrapper';
11-
1210
import { Animated, StyleSheet } from 'react-native';
1311
import HostGestureDetector from './HostGestureDetector';
1412
import { invokeNullableMethod, tagMessage } from '../utils';
15-
import { LogicDetectorProps } from './LogicDetector';
16-
17-
export interface NativeDetectorProps {
18-
children?: React.ReactNode;
19-
gesture: NativeGesture;
20-
}
13+
import { LogicDetectorProps, LogicMethods, NativeDetectorProps } from './types';
2114

22-
interface LogicMethods {
23-
onGestureHandlerEvent?: (e: any) => void;
24-
onGestureHandlerStateChange?: (e: any) => void;
25-
onGestureHandlerTouchEvent?: (e: any) => void;
26-
}
2715
const AnimatedNativeDetector =
2816
Animated.createAnimatedComponent(HostGestureDetector);
2917

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

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,8 @@ import {
77
SharedValue,
88
} from '../../handlers/gestures/reanimatedWrapper';
99
import { tagMessage } from '../../utils';
10-
import { AnimatedEvent } from '../types';
1110
import { hash, prepareConfig } from './utils';
12-
13-
type GestureType =
14-
| 'TapGestureHandler'
15-
| 'LongPressGestureHandler'
16-
| 'PanGestureHandler'
17-
| 'PinchGestureHandler'
18-
| 'RotationGestureHandler'
19-
| 'FlingGestureHandler'
20-
| 'ForceTouchGestureHandler'
21-
| 'ManualGestureHandler'
22-
| 'NativeViewGestureHandler';
23-
24-
type GestureEvents = {
25-
onGestureHandlerStateChange: (event: any) => void;
26-
onGestureHandlerEvent: undefined | ((event: any) => void);
27-
onGestureHandlerTouchEvent: (event: any) => void;
28-
onGestureHandlerAnimatedEvent: undefined | AnimatedEvent;
29-
};
30-
31-
export interface NativeGesture {
32-
tag: number;
33-
name: GestureType;
34-
config: Record<string, unknown>;
35-
gestureEvents: GestureEvents;
36-
}
11+
import { GestureType, NativeGesture } from '../types';
3712

3813
function hasWorkletEventHandlers(config: Record<string, unknown>) {
3914
return Object.values(config).some(

packages/react-native-gesture-handler/src/v3/types.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,31 @@ import {
66
} from '../handlers/gestureHandlerCommon';
77
import { HandlerCallbacks } from '../handlers/gestures/gesture';
88

9+
export type GestureType =
10+
| 'TapGestureHandler'
11+
| 'LongPressGestureHandler'
12+
| 'PanGestureHandler'
13+
| 'PinchGestureHandler'
14+
| 'RotationGestureHandler'
15+
| 'FlingGestureHandler'
16+
| 'ForceTouchGestureHandler'
17+
| 'ManualGestureHandler'
18+
| 'NativeViewGestureHandler';
19+
20+
export type GestureEvents = {
21+
onGestureHandlerStateChange: (event: any) => void;
22+
onGestureHandlerEvent: undefined | ((event: any) => void);
23+
onGestureHandlerTouchEvent: (event: any) => void;
24+
onGestureHandlerAnimatedEvent: undefined | AnimatedEvent;
25+
};
26+
27+
export interface NativeGesture {
28+
tag: number;
29+
name: GestureType;
30+
config: Record<string, unknown>;
31+
gestureEvents: GestureEvents;
32+
}
33+
934
export type GestureUpdateEventWithData<T> = GestureEventPayload & {
1035
handlerData: T;
1136
};
@@ -48,3 +73,20 @@ export type CallbackHandlers = Omit<
4873
export type AnimatedEvent = ((...args: any[]) => void) & {
4974
_argMapping?: unknown;
5075
};
76+
77+
export interface LogicDetectorProps {
78+
viewTag: number;
79+
moduleId: number;
80+
handlerTags: number[];
81+
}
82+
83+
export interface NativeDetectorProps {
84+
children?: React.ReactNode;
85+
gesture: NativeGesture;
86+
}
87+
88+
export interface LogicMethods {
89+
onGestureHandlerEvent?: (e: any) => void;
90+
onGestureHandlerStateChange?: (e: any) => void;
91+
onGestureHandlerTouchEvent?: (e: any) => void;
92+
}

0 commit comments

Comments
 (0)