14
ElementRef,
15
ElementType,
16
MixedElement,
17
- RefSetter,
17
} from 'react';
19
-// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
20
-import {type PublicRootInstance} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
21
-
22
-export type MeasureOnSuccessCallback = (
23
- x: number,
24
- y: number,
25
- width: number,
26
- height: number,
27
- pageX: number,
28
- pageY: number,
29
-) => void;
30
-
31
-export type MeasureInWindowOnSuccessCallback = (
32
- x: number,
33
- y: number,
34
- width: number,
35
- height: number,
36
-) => void;
37
-
38
-export type MeasureLayoutOnSuccessCallback = (
39
- left: number,
40
- top: number,
41
- width: number,
42
- height: number,
43
-) => void;
18
+import type {
19
+ // $FlowFixMe[nonstrict-import] TODO(@rubennorte)
20
+ MeasureOnSuccessCallback,
21
+ // $FlowFixMe[nonstrict-import] TODO(@rubennorte)
22
+ PublicInstance,
23
+ // $FlowFixMe[nonstrict-import] TODO(@rubennorte)
24
+ PublicRootInstance,
25
+ // $FlowFixMe[nonstrict-import] TODO(@rubennorte)
26
+ PublicTextInstance,
27
+} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
28
29
export type AttributeType<T, V> =
30
| true
90
validAttributes?: PartialAttributeConfiguration,
91
}>;
92
109
-/**
110
- * Current usages should migrate to this definition
111
- */
112
-export interface INativeMethods {
113
- blur(): void;
114
- focus(): void;
115
- measure(callback: MeasureOnSuccessCallback): void;
116
- measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;
117
- measureLayout(
118
- relativeToNativeNode: number | HostInstance,
119
- onSuccess: MeasureLayoutOnSuccessCallback,
120
- onFail?: () => void,
121
- ): void;
122
- setNativeProps(nativeProps: {...}): void;
123
-}
124
-
125
-export type NativeMethods = $ReadOnly<{
126
- blur(): void,
127
- focus(): void,
128
- measure(callback: MeasureOnSuccessCallback): void,
129
- measureInWindow(callback: MeasureInWindowOnSuccessCallback): void,
130
- measureLayout(
131
- relativeToNativeNode: number | HostInstance,
132
- onSuccess: MeasureLayoutOnSuccessCallback,
133
- onFail?: () => void,
134
- ): void,
135
- setNativeProps(nativeProps: {...}): void,
136
-}>;
137
-
138
-// This validates that INativeMethods and NativeMethods stay in sync using Flow!
139
-declare const ensureNativeMethodsAreSynced: NativeMethods;
140
-(ensureNativeMethodsAreSynced: INativeMethods);
141
-
142
-export type HostInstance = NativeMethods;
143
-export type HostComponent<Config: {...}> = component(
144
- ref: RefSetter<HostInstance>,
145
- ...Config
146
-);
147
-
93
type InspectorDataProps = $ReadOnly<{
94
[propName: string]: string,
95
...
156
export type ReactNativeType = {
157
findHostInstance_DEPRECATED<TElementType: ElementType>(
158
componentOrHandle: ?(ElementRef<TElementType> | number),
214
- ): ?HostInstance,
159
+ ): ?PublicInstance,
160
findNodeHandle<TElementType: ElementType>(
161
componentOrHandle: ?(ElementRef<TElementType> | number),
162
): ?number,
218
- isChildPublicInstance(
219
- parent: PublicInstance | HostComponent<empty>,
220
- child: PublicInstance | HostComponent<empty>,
221
- ): boolean,
163
+ isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
164
dispatchCommand(
223
- handle: HostInstance,
165
+ handle: PublicInstance,
166
command: string,
167
args: Array<mixed>,
168
): void,
227
- sendAccessibilityEvent(handle: HostInstance, eventType: string): void,
169
+ sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
170
render(
171
element: MixedElement,
172
containerTag: number,
181
182
export opaque type Node = mixed;
183
export opaque type InternalInstanceHandle = mixed;
242
-type PublicInstance = mixed;
243
-type PublicTextInstance = mixed;
184
185
export type ReactFabricType = {
186
findHostInstance_DEPRECATED<TElementType: ElementType>(
187
componentOrHandle: ?(ElementRef<TElementType> | number),
248
- ): ?HostInstance,
188
+ ): ?PublicInstance,
189
findNodeHandle<TElementType: ElementType>(
190
componentOrHandle: ?(ElementRef<TElementType> | number),
191
): ?number,
192
dispatchCommand(
253
- handle: HostInstance,
193
+ handle: PublicInstance,
194
command: string,
195
args: Array<mixed>,
196
): void,
197
isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
258
- sendAccessibilityEvent(handle: HostInstance, eventType: string): void,
198
+ sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
199
render(
200
element: MixedElement,
201
containerTag: number,