Skip to content
This repository was archived by the owner on Jul 30, 2020. It is now read-only.

Commit a6c2d16

Browse files
committed
Add types for NativeEvent
1 parent c153fce commit a6c2d16

File tree

1 file changed

+62
-23
lines changed

1 file changed

+62
-23
lines changed

src/index.d.ts

Lines changed: 62 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,81 @@
11
import { ReactElement, ComponentType } from 'react'
22
import { ReactTestInstance, ReactTestRenderer, act } from 'react-test-renderer'
33
import { OptionsReceived } from 'pretty-format'
4+
import {
5+
NativeSyntheticEvent,
6+
TextInputFocusEventData,
7+
TextInputChangeEventData,
8+
TextInputContentSizeChangeEventData,
9+
TextInputEndEditingEventData,
10+
TextInputKeyPressEventData,
11+
TextInputSubmitEditingEventData,
12+
LayoutChangeEvent,
13+
TextInputSelectionChangeEventData,
14+
GestureResponderEvent,
15+
ScrollResponderEvent,
16+
ImageLoadEventData,
17+
ImageErrorEventData,
18+
ImageProgressEventDataIOS,
19+
} from 'react-native'
420

521
// EVENTS
622
// ------
723

8-
// TODO: type second parameter
24+
type EventInit<T> = Partial<NativeSyntheticEvent<T>>
25+
926
export declare class NativeEvent {
10-
constructor(typeArg: string, event?: any)
27+
constructor(type: 'focus', init?: EventInit<TextInputFocusEventData>)
28+
constructor(type: 'blur', init?: EventInit<TextInputFocusEventData>)
29+
constructor(type: 'change', init?: EventInit<TextInputChangeEventData>)
30+
constructor(type: 'changeText', value: string)
31+
constructor(type: 'contentSizeChange', init?: EventInit<TextInputContentSizeChangeEventData>)
32+
constructor(type: 'endEditing', init?: EventInit<TextInputEndEditingEventData>)
33+
constructor(type: 'keyPress', init?: EventInit<TextInputKeyPressEventData>)
34+
constructor(type: 'submitEditing', init?: EventInit<TextInputSubmitEditingEventData>)
35+
constructor(type: 'layout', init?: EventInit<LayoutChangeEvent['nativeEvent']>)
36+
constructor(type: 'selectionChange', init?: EventInit<TextInputSelectionChangeEventData>)
37+
constructor(type: 'longPress', init?: EventInit<GestureResponderEvent>)
38+
constructor(type: 'press', init?: EventInit<GestureResponderEvent>)
39+
constructor(type: 'pressIn', init?: EventInit<GestureResponderEvent>)
40+
constructor(type: 'pressOut', init?: EventInit<GestureResponderEvent>)
41+
constructor(type: 'momentumScrollBegin', init?: EventInit<ScrollResponderEvent>)
42+
constructor(type: 'momentumScrollEnd', init?: EventInit<ScrollResponderEvent>)
43+
constructor(type: 'scroll', init?: EventInit<ScrollResponderEvent>)
44+
constructor(type: 'scrollBeginDrag', init?: EventInit<ScrollResponderEvent>)
45+
constructor(type: 'scrollEndDrag', init?: EventInit<ScrollResponderEvent>)
46+
constructor(type: 'load', init?: EventInit<ImageLoadEventData>)
47+
constructor(type: 'error', init?: EventInit<ImageErrorEventData>)
48+
constructor(type: 'progress', init?: EventInit<ImageProgressEventDataIOS>)
1149
}
1250

1351
export declare function getEventHandlerName(key: string): string
1452

1553
export interface FireEventFn {
1654
(element: NativeTestInstance, event: NativeEvent): any
17-
focus(element: NativeTestInstance, init?: any): any
18-
blur(element: NativeTestInstance, init?: any): any
19-
change(element: NativeTestInstance, init?: any): any
55+
focus(element: NativeTestInstance, init?: EventInit<TextInputFocusEventData>): any
56+
blur(element: NativeTestInstance, init?: EventInit<TextInputFocusEventData>): any
57+
change(element: NativeTestInstance, init?: EventInit<TextInputChangeEventData>): any
2058
changeText(element: NativeTestInstance, value: string): any
21-
contentSizeChange(element: NativeTestInstance, init?: any): any
22-
endEditing(element: NativeTestInstance, init?: any): any
23-
keyPress(element: NativeTestInstance, init?: any): any
24-
submitEditing(element: NativeTestInstance, init?: any): any
25-
layout(element: NativeTestInstance, init?: any): any
26-
selectionChange(element: NativeTestInstance, init?: any): any
27-
longPress(element: NativeTestInstance, init?: any): any
28-
press(element: NativeTestInstance, init?: any): any
29-
pressIn(element: NativeTestInstance, init?: any): any
30-
pressOut(element: NativeTestInstance, init?: any): any
31-
momentumScrollBegin(element: NativeTestInstance, init?: any): any
32-
momentumScrollEnd(element: NativeTestInstance, init?: any): any
33-
scroll(element: NativeTestInstance, init?: any): any
34-
scrollBeginDrag(element: NativeTestInstance, init?: any): any
35-
scrollEndDrag(element: NativeTestInstance, init?: any): any
36-
load(element: NativeTestInstance, init?: any): any
37-
error(element: NativeTestInstance, init?: any): any
38-
progress(element: NativeTestInstance, init?: any): any
59+
contentSizeChange(element: NativeTestInstance, init?: EventInit<TextInputContentSizeChangeEventData>): any
60+
endEditing(element: NativeTestInstance, init?: EventInit<TextInputEndEditingEventData>): any
61+
keyPress(element: NativeTestInstance, init?: EventInit<TextInputKeyPressEventData>): any
62+
submitEditing(element: NativeTestInstance, init?: EventInit<TextInputSubmitEditingEventData>): any
63+
layout(element: NativeTestInstance, init?: EventInit<LayoutChangeEvent['nativeEvent']>): any
64+
selectionChange(element: NativeTestInstance, init?: EventInit<TextInputSelectionChangeEventData>): any
65+
longPress(element: NativeTestInstance, init?: EventInit<GestureResponderEvent>): any
66+
press(element: NativeTestInstance, init?: EventInit<GestureResponderEvent>): any
67+
pressIn(element: NativeTestInstance, init?: EventInit<GestureResponderEvent>): any
68+
pressOut(element: NativeTestInstance, init?: EventInit<GestureResponderEvent>): any
69+
momentumScrollBegin(element: NativeTestInstance, init?: EventInit<ScrollResponderEvent>): any
70+
momentumScrollEnd(element: NativeTestInstance, init?: EventInit<ScrollResponderEvent>): any
71+
scroll(element: NativeTestInstance, init?: EventInit<ScrollResponderEvent>): any
72+
scrollBeginDrag(element: NativeTestInstance, init?: EventInit<ScrollResponderEvent>): any
73+
scrollEndDrag(element: NativeTestInstance, init?: EventInit<ScrollResponderEvent>): any
74+
load(element: NativeTestInstance, init?: EventInit<ImageLoadEventData>): any
75+
error(element: NativeTestInstance, init?: EventInit<ImageErrorEventData>): any
76+
progress(element: NativeTestInstance, init?: EventInit<ImageProgressEventDataIOS>): any
3977
}
78+
4079
export declare const fireEvent: FireEventFn
4180

4281
// GET NODE TEXT

0 commit comments

Comments
 (0)