Skip to content

Commit 81d8573

Browse files
authored
Fix interval flow types (#92)
1 parent c80dad7 commit 81d8573

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

src/index.js.flow

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -212,17 +212,19 @@ type StateProps<T> =
212212

213213
declare export class State<T: Object> extends React.Component<StateProps<T>> {}
214214

215-
/* Timer */
215+
/* Interval */
216216

217-
type TimerRender = ({|
218-
time: number,
217+
type IntervalRender = ({|
218+
start: (delay?: number) => void,
219+
stop: () => void,
220+
toggle: () => void,
219221
|}) => React.Node
220222

221-
type TimerProps =
222-
| {| delay?: ?number, render: TimerRender |}
223-
| {| delay?: ?number, children: TimerRender |}
223+
type IntervalProps =
224+
| {| delay?: ?number, render: IntervalRender |}
225+
| {| delay?: ?number, children: IntervalRender |}
224226

225-
declare export class Timer extends React.Component<TimerProps> {}
227+
declare export class Interval extends React.Component<IntervalProps> {}
226228

227229
/* Toggle */
228230

tests/test_flow.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
import * as React from 'react'
55
import {
66
Active,
7-
Input,
87
Counter,
98
Focus,
109
FocusManager,
1110
Form,
1211
Hover,
12+
Input,
13+
Interval,
1314
List,
1415
Map,
1516
Set,
@@ -85,6 +86,33 @@ const noop = () => null
8586
]
8687
}
8788

89+
{
90+
const render = ({ start, stop, toggle }) => {
91+
start()
92+
start(500)
93+
stop()
94+
toggle()
95+
// $FlowFixMe
96+
start('')
97+
// $FlowFixMe
98+
stop(500)
99+
// $FlowFixMe
100+
toggle(500)
101+
return null
102+
}
103+
;[
104+
<Interval render={render} />,
105+
<Interval>{render}</Interval>,
106+
<Interval render={noop} />,
107+
<Interval>{noop}</Interval>,
108+
<Interval delay={0} render={noop} />,
109+
// $FlowFixMe
110+
<Interval />,
111+
// $FlowFixMe
112+
<Interval delay={''} render={noop} />,
113+
]
114+
}
115+
88116
/* Counter */
89117
{
90118
const render = ({ count, inc, dec, incBy, decBy }) => {

0 commit comments

Comments
 (0)