UNPKG

28.8 kBTypeScriptView Raw
1// Type definitions for Recompose 0.30
2// Project: https://github.com/acdlite/recompose
3// Definitions by: Iskander Sierra <https://github.com/iskandersierra>
4// Curtis Layne <https://github.com/clayne11>
5// Rasmus Eneman <https://github.com/Pajn>
6// Lucas Terra <https://github.com/lucasterra>
7// Mathieu Masy <https://github.com/TiuSh>
8// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
9// TypeScript Version: 2.8
10
11///<reference types="react" />
12
13declare module 'recompose' {
14
15 import * as React from 'react';
16 import { ComponentType as Component, ComponentClass, FunctionComponent, ValidationMap } from 'react';
17
18 type mapper<TInner, TOutter> = (input: TInner) => TOutter;
19 type predicate<T> = mapper<T, boolean>;
20 type predicateDiff<T> = (current: T, next: T) => boolean
21
22 // Diff / Omit taken from https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html
23 type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
24
25 interface Observer<T>{
26 next(props: T): void;
27 complete(): void;
28 }
29
30 interface Subscription{
31 unsubscribe(): void
32 }
33
34 interface Subscribable<T> {
35 subscribe(observer: Observer<T>): Subscription;
36 }
37
38 interface ComponentEnhancer<TInner, TOutter> {
39 (component: Component<TInner>): ComponentClass<TOutter>;
40 }
41
42 // Injects props and removes them from the prop requirements.
43 // Will not pass through the injected props if they are passed in during
44 // render. Also adds new prop requirements from TNeedsProps.
45 export interface InferableComponentEnhancerWithProps<TInjectedProps, TNeedsProps> {
46 <P extends TInjectedProps>(
47 component: Component<P>
48 ): React.ComponentClass<Omit<P, keyof TInjectedProps> & TNeedsProps>
49 }
50
51 // Injects props and removes them from the prop requirements.
52 // Will not pass through the injected props if they are passed in during
53 // render.
54 export type InferableComponentEnhancer<TInjectedProps> =
55 InferableComponentEnhancerWithProps<TInjectedProps, {}>
56
57 // Injects default props and makes them optional. Will still pass through
58 // the injected props if they are passed in during render.
59 export type DefaultingInferableComponentEnhancer<TInjectedProps> =
60 InferableComponentEnhancerWithProps<TInjectedProps, Partial<TInjectedProps>>
61
62 // Higher-order components: https://github.com/acdlite/recompose/blob/master/docs/API.md#higher-order-components
63
64 // mapProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#mapprops
65 export function mapProps<TInner, TOutter>(
66 propsMapper: mapper<TOutter, TInner>,
67 ): InferableComponentEnhancerWithProps<TInner, TOutter>;
68
69 // withProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#withprops
70 export function withProps<TInner, TOutter>(
71 createProps: TInner | mapper<TOutter, TInner>
72 ): InferableComponentEnhancerWithProps<TInner & TOutter, TOutter>;
73
74 // withPropsOnChange: https://github.com/acdlite/recompose/blob/master/docs/API.md#withpropsonchange
75 export function withPropsOnChange<TInner, TOutter>(
76 shouldMapOrKeys: string[] | predicateDiff<TOutter>,
77 createProps: mapper<TOutter, TInner>
78 ): InferableComponentEnhancerWithProps<TInner & TOutter, TOutter>;
79
80 // withHandlers: https://github.com/acdlite/recompose/blob/master/docs/API.md#withhandlers
81 type EventHandler = Function;
82 // This type is required to infer TOutter
83 type HandleCreatorsStructure<TOutter> = {
84 [handlerName: string]: mapper<TOutter, EventHandler>;
85 };
86 // This type is required to infer THandlers
87 type HandleCreatorsHandlers<TOutter, THandlers> = {
88 [P in keyof THandlers]: (props: TOutter) => THandlers[P];
89 };
90 type HandleCreators<TOutter, THandlers> =
91 & HandleCreatorsStructure<TOutter>
92 & HandleCreatorsHandlers<TOutter, THandlers>
93 type HandleCreatorsFactory<TOutter, THandlers> = (initialProps: TOutter) =>
94 HandleCreators<TOutter, THandlers>;
95
96 export function withHandlers<TOutter, THandlers>(
97 handlerCreators:
98 | HandleCreators<TOutter, THandlers>
99 | HandleCreatorsFactory<TOutter, THandlers>
100 ): InferableComponentEnhancerWithProps<THandlers & TOutter, TOutter>;
101
102 // defaultProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#defaultprops
103 export function defaultProps<T = {}>(
104 props: T
105 ): DefaultingInferableComponentEnhancer<T>;
106
107 // renameProp: https://github.com/acdlite/recompose/blob/master/docs/API.md#renameProp
108 export function renameProp(
109 outterName: string, innerName: string
110 ): ComponentEnhancer<any, any>;
111
112 // renameProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#renameProps
113 type NameMap = {
114 [outterName: string]: string;
115 };
116 export function renameProps(
117 nameMap: NameMap
118 ): ComponentEnhancer<any, any>;
119
120 // flattenProp: https://github.com/acdlite/recompose/blob/master/docs/API.md#flattenProp
121 export function flattenProp(
122 propName: string
123 ): ComponentEnhancer<any, any>;
124
125 // withState: https://github.com/acdlite/recompose/blob/master/docs/API.md#withState
126 type stateProps<
127 TState,
128 TStateName extends string,
129 TStateUpdaterName extends string
130 > = (
131 {[stateName in TStateName]: TState} &
132 {[stateUpdateName in TStateUpdaterName]: (state: TState) => TState}
133 )
134 export function withState<
135 TOutter,
136 TState,
137 TStateName extends string,
138 TStateUpdaterName extends string
139 >(
140 stateName: TStateName,
141 stateUpdaterName: TStateUpdaterName,
142 initialState: TState | mapper<TOutter, TState>
143 ): InferableComponentEnhancerWithProps<
144 stateProps<TState, TStateName, TStateUpdaterName>,
145 TOutter
146 >;
147
148 // withStateHandlers: https://github.com/acdlite/recompose/blob/master/docs/API.md#withstatehandlers
149 type StateHandler<TState> = (...payload: any[]) => Partial<TState> | undefined;
150 type StateHandlerMap<TState> = {
151 [updaterName: string]: StateHandler<TState>;
152 };
153 type StateUpdaters<TOutter, TState, TUpdaters> = {
154 [updaterName in keyof TUpdaters]: (state: TState, props: TOutter) => TUpdaters[updaterName];
155 };
156 export function withStateHandlers<TState, TUpdaters extends StateHandlerMap<TState>, TOutter = {}>(
157 createProps: TState | mapper<TOutter, TState>,
158 stateUpdaters: StateUpdaters<TOutter, TState, TUpdaters>,
159 ): InferableComponentEnhancerWithProps<TOutter & TState & TUpdaters, TOutter>;
160
161 // withReducer: https://github.com/acdlite/recompose/blob/master/docs/API.md#withReducer
162 type reducer<TState, TAction> = (s: TState, a: TAction) => TState;
163 type reducerProps<
164 TState,
165 TAction,
166 TStateName extends string,
167 TDispatchName extends string
168 > = (
169 {[stateName in TStateName]: TState} &
170 {[dispatchName in TDispatchName]: (a: TAction) => void}
171 )
172 export function withReducer<
173 TOutter,
174 TState,
175 TAction,
176 TStateName extends string,
177 TDispatchName extends string
178 >(
179 stateName: TStateName,
180 dispatchName: TDispatchName,
181 reducer: reducer<TState, TAction>,
182 initialState: TState | mapper<TOutter, TState>
183 ): InferableComponentEnhancerWithProps<
184 reducerProps<TState, TAction, TStateName, TDispatchName>,
185 TOutter
186 >;
187
188 // branch: https://github.com/acdlite/recompose/blob/master/docs/API.md#branch
189 export function branch<TOutter>(
190 test: predicate<TOutter>,
191 trueEnhancer: ComponentEnhancer<any, any> | InferableComponentEnhancer<{}>,
192 falseEnhancer?: ComponentEnhancer<any, any> | InferableComponentEnhancer<{}>
193 ): ComponentEnhancer<any, TOutter>;
194
195 // renderComponent: https://github.com/acdlite/recompose/blob/master/docs/API.md#renderComponent
196 export function renderComponent<TProps>(
197 component: string | Component<TProps>
198 ): ComponentEnhancer<any, any>;
199
200 // renderNothing: https://github.com/acdlite/recompose/blob/master/docs/API.md#renderNothing
201 export const renderNothing: InferableComponentEnhancer<{}>;
202
203 // shouldUpdate: https://github.com/acdlite/recompose/blob/master/docs/API.md#shouldUpdate
204 export function shouldUpdate<TProps>(
205 test: predicateDiff<TProps>
206 ): InferableComponentEnhancer<{}>;
207
208 // pure: https://github.com/acdlite/recompose/blob/master/docs/API.md#pure
209 export function pure<TProps>
210 (component: Component<TProps>): Component<TProps>;
211
212 // onlyUpdateForKeys: https://github.com/acdlite/recompose/blob/master/docs/API.md#onlyUpdateForKeys
213 export function onlyUpdateForKeys(
214 propKeys: Array<string>
215 ) : InferableComponentEnhancer<{}>;
216 export function onlyUpdateForKeys<T>(
217 propKeys: Array<keyof T>
218 ) : InferableComponentEnhancer<{}>;
219
220
221 // onlyUpdateForPropTypes: https://github.com/acdlite/recompose/blob/master/docs/API.md#onlyUpdateForPropTypes
222 export const onlyUpdateForPropTypes: InferableComponentEnhancer<{}>;
223
224 // withContext: https://github.com/acdlite/recompose/blob/master/docs/API.md#withContext
225 export function withContext<TContext, TProps>(
226 childContextTypes: ValidationMap<TContext>,
227 getChildContext: mapper<TProps, any>
228 ) : InferableComponentEnhancer<{}>;
229
230 // getContext: https://github.com/acdlite/recompose/blob/master/docs/API.md#getContext
231 export function getContext<TContext>(
232 contextTypes: ValidationMap<TContext>
233 ) : InferableComponentEnhancer<TContext>;
234
235 interface _ReactLifeCycleFunctionsThisArguments<TProps, TState> {
236 props: TProps,
237 state: TState,
238 setState<TKeyOfState extends keyof TState>(f: (prevState: TState, props: TProps) => Pick<TState, TKeyOfState>, callback?: () => any): void;
239 setState<TKeyOfState extends keyof TState>(state: Pick<TState, TKeyOfState>, callback?: () => any): void;
240 forceUpdate(callBack?: () => any): void;
241
242 context: any;
243 refs: {
244 [key: string]: React.ReactInstance
245 };
246 }
247 type ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance = {}> =
248 _ReactLifeCycleFunctionsThisArguments<TProps, TState> & TInstance
249
250 // lifecycle: https://github.com/acdlite/recompose/blob/master/docs/API.md#lifecycle
251 interface ReactLifeCycleFunctions<TProps, TState, TInstance = {}> {
252 componentWillMount?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>) => void) | undefined;
253 UNSAFE_componentWillMount?(this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>): void;
254 componentDidMount?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>) => void) | undefined;
255 componentWillReceiveProps?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, nextProps: TProps) => void) | undefined;
256 UNSAFE_componentWillReceiveProps?(this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, nextProps: TProps): void;
257 shouldComponentUpdate?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, nextProps: TProps, nextState: TState) => boolean) | undefined;
258 componentWillUpdate?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, nextProps: TProps, nextState: TState) => void) | undefined;
259 UNSAFE_componentWillUpdate?(this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, nextProps: TProps, nextState: TState): void;
260 componentDidUpdate?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, prevProps: TProps, prevState: TState) => void) | undefined;
261 componentWillUnmount?: ((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>) => void) | undefined;
262 componentDidCatch?:((this: ReactLifeCycleFunctionsThisArguments<TProps, TState, TInstance>, error: Error, info: React.ErrorInfo) => void) | undefined;
263 }
264
265 export function lifecycle<TProps, TState, TInstance = {}>(
266 spec: ReactLifeCycleFunctions<TProps, TState, TInstance> & TInstance
267 ): InferableComponentEnhancer<{}>;
268
269 // toClass: https://github.com/acdlite/recompose/blob/master/docs/API.md#toClass
270 export const toClass: InferableComponentEnhancer<{}>;
271
272 // toRenderProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#torenderprops
273 export function toRenderProps<TInner, TOutter>(
274 hoc: InferableComponentEnhancerWithProps<TInner & TOutter, TOutter>
275 ): FunctionComponent<TOutter & { children: (props: TInner) => React.ReactElement }>;
276
277 // fromRenderProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#fromrenderprops
278 export function fromRenderProps<TInner, TOutter, TRenderProps = {}>(
279 RenderPropsComponent: Component<any>,
280 propsMapper: (props: TRenderProps) => TInner,
281 renderPropName?: string
282 ): ComponentEnhancer<TInner & TOutter, TOutter>;
283
284 // Static property helpers: https://github.com/acdlite/recompose/blob/master/docs/API.md#static-property-helpers
285
286 // setStatic: https://github.com/acdlite/recompose/blob/master/docs/API.md#setStatic
287 export function setStatic(
288 key: string, value: any
289 ): <T extends Component<any>>(component: T) => T;
290
291 // setPropTypes: https://github.com/acdlite/recompose/blob/master/docs/API.md#setPropTypes
292 export function setPropTypes<P>(
293 propTypes: ValidationMap<P>
294 ): <T extends Component<P>>(component: T) => T;
295
296 // setDisplayName: https://github.com/acdlite/recompose/blob/master/docs/API.md#setDisplayName
297 export function setDisplayName(
298 displayName: string
299 ): <T extends Component<any>>(component: T) => T;
300
301
302 // Utilities: https://github.com/acdlite/recompose/blob/master/docs/API.md#utilities
303
304 // compose: https://github.com/acdlite/recompose/blob/master/docs/API.md#compose
305 export function compose<TInner, TOutter>(
306 ...functions: Function[]
307 ): ComponentEnhancer<TInner, TOutter>;
308 // export function compose<TOutter>(
309 // ...functions: Array<Function>
310 // ): ComponentEnhancer<any, TOutter>;
311 // export function compose(
312 // ...functions: Array<Function>
313 // ): ComponentEnhancer<any, any>;
314
315 // getDisplayName: https://github.com/acdlite/recompose/blob/master/docs/API.md#getDisplayName
316 export function getDisplayName(
317 component: Component<any>
318 ): string;
319
320 // wrapDisplayName: https://github.com/acdlite/recompose/blob/master/docs/API.md#wrapDisplayName
321 export function wrapDisplayName(
322 component: Component<any>,
323 wrapperName: string
324 ): string;
325
326 // shallowEqual: https://github.com/acdlite/recompose/blob/master/docs/API.md#shallowEqual
327 export function shallowEqual(
328 a: Object, b: Object
329 ): boolean;
330
331 // isClassComponent: https://github.com/acdlite/recompose/blob/master/docs/API.md#isClassComponent
332 export function isClassComponent(
333 value: any
334 ): boolean;
335
336 // createEagerElement: https://github.com/acdlite/recompose/blob/master/docs/API.md#createEagerElement
337 export function createEagerElement(
338 type: Component<any> | string,
339 props?: Object,
340 children?: React.ReactNode
341 ): React.ReactElement;
342
343 // createEagerFactory: https://github.com/acdlite/recompose/blob/master/docs/API.md#createEagerFactory
344 type componentFactory = (props?: Object, children?: React.ReactNode) => React.ReactElement;
345 export function createEagerFactory(
346 type: Component<any> | string
347 ): componentFactory;
348
349 // createSink: https://github.com/acdlite/recompose/blob/master/docs/API.md#createSink
350 export function createSink(
351 callback: (props: Object) => void
352 ): React.ComponentClass<any>; // ???
353
354 // componentFromProp: https://github.com/acdlite/recompose/blob/master/docs/API.md#componentFromProp
355 export function componentFromProp(
356 propName: string
357 ): FunctionComponent<any>;
358
359 // nest: https://github.com/acdlite/recompose/blob/master/docs/API.md#nest
360 export function nest(
361 ...Components: (string | Component<any>)[]
362 ): React.ComponentClass<any>; // ???
363
364 // hoistStatics: https://github.com/acdlite/recompose/blob/master/docs/API.md#hoistStatics
365 export function hoistStatics<TProps>(
366 hoc: InferableComponentEnhancer<TProps>,
367 blacklist?: {[key: string]: boolean}
368 ): InferableComponentEnhancer<TProps>;
369
370
371
372 // Observable utilities: https://github.com/acdlite/recompose/blob/master/docs/API.md#observable-utilities
373
374 // componentFromStream: https://github.com/acdlite/recompose/blob/master/docs/API.md#componentFromStream
375 export function componentFromStream<TProps>(
376 propsToReactNode: mapper<Subscribable<TProps>, Subscribable<React.ReactNode>>
377 ): Component<TProps>; // ???
378
379 // componentFromStreamWithConfig: https://github.com/acdlite/recompose/blob/master/docs/API.md#componentfromstreamwithconfig
380 export function componentFromStreamWithConfig(config: ObservableConfig): <TProps> (
381 propsToReactNode: mapper<Subscribable<TProps>, Subscribable<React.ReactNode>>
382 ) => Component<TProps>
383
384 // mapPropsStream: https://github.com/acdlite/recompose/blob/master/docs/API.md#mapPropsStream
385 export function mapPropsStream<TInner, TOutter>(
386 transform: mapper<Subscribable<TOutter>, Subscribable<TInner>>
387 ): ComponentEnhancer<TInner, TOutter>;
388
389 // mapPropsStreamWithConfig: https://github.com/acdlite/recompose/blob/master/docs/API.md#mappropsstreamwithconfig
390 export function mapPropsStreamWithConfig(config: ObservableConfig): <TInner, TOutter> (
391 transform: mapper<Subscribable<TOutter>, Subscribable<TInner>>
392 ) => ComponentEnhancer<TInner, TOutter>;
393
394 // createEventHandler: https://github.com/acdlite/recompose/blob/master/docs/API.md#createEventHandler
395 type EventHandlerOf<T, TSubs extends Subscribable<T>> = {
396 handler: (value: T) => void;
397 stream: TSubs;
398 };
399 export function createEventHandler<T, TSubs extends Subscribable<T>>(): EventHandlerOf<T, TSubs>;
400
401 // createEventHandlerWithConfig: https://github.com/acdlite/recompose/blob/master/docs/API.md#createEventHandlerWithConfig
402 export function createEventHandlerWithConfig(config: ObservableConfig):
403 <T, TSubs extends Subscribable<T>>() => EventHandlerOf<T, TSubs>;
404
405 // setObservableConfig: https://github.com/acdlite/recompose/blob/master/docs/API.md#setObservableConfig
406 type ObservableConfig = {
407 fromESObservable?: (<T>(observable: Subscribable<T>) => any) | undefined;
408 toESObservable?: (<T>(stream: any) => Subscribable<T>) | undefined;
409 };
410 export function setObservableConfig(config: ObservableConfig): void;
411}
412
413// https://github.com/acdlite/recompose/blob/master/docs/API.md#rxjs
414declare module 'recompose/rxjsObservableConfig' {
415
416 import { ObservableConfig } from 'recompose';
417
418 const rxjsconfig: ObservableConfig;
419
420 export default rxjsconfig;
421}
422
423// https://github.com/acdlite/recompose/blob/master/docs/API.md#rxjs-4-legacy
424declare module 'recompose/rxjs4ObservableConfig' {
425
426 import { ObservableConfig } from 'recompose';
427
428 const rxjs4config: ObservableConfig;
429
430 export default rxjs4config;
431}
432
433// https://github.com/acdlite/recompose/blob/master/docs/API.md#most
434declare module 'recompose/mostObservableConfig' {
435
436 import { ObservableConfig } from 'recompose';
437
438 const mostConfig: ObservableConfig;
439
440 export default mostConfig;
441}
442
443// https://github.com/acdlite/recompose/blob/master/docs/API.md#xstream
444declare module 'recompose/xstreamObservableConfig' {
445
446 import { ObservableConfig } from 'recompose';
447
448 const xstreamConfig: ObservableConfig;
449
450 export default xstreamConfig;
451}
452
453// https://github.com/acdlite/recompose/blob/master/docs/API.md#bacon
454declare module 'recompose/baconObservableConfig' {
455
456 import { ObservableConfig } from 'recompose';
457
458 const baconConfig: ObservableConfig;
459
460 export default baconConfig;
461}
462
463// https://github.com/acdlite/recompose/blob/master/docs/API.md#kefir
464declare module 'recompose/kefirObservableConfig' {
465
466 import { ObservableConfig } from 'recompose';
467
468 const kefirConfig: ObservableConfig;
469
470 export default kefirConfig;
471}
472
473// https://github.com/acdlite/recompose/blob/master/docs/API.md#mapprops
474declare module 'recompose/mapProps' {
475 import { mapProps } from 'recompose';
476 export default mapProps;
477}
478
479// https://github.com/acdlite/recompose/blob/master/docs/API.md#withprops
480declare module 'recompose/withProps' {
481 import { withProps } from 'recompose';
482 export default withProps;
483}
484
485// https://github.com/acdlite/recompose/blob/master/docs/API.md#withpropsonchange
486declare module 'recompose/withPropsOnChange' {
487 import { withPropsOnChange } from 'recompose';
488 export default withPropsOnChange;
489}
490
491// https://github.com/acdlite/recompose/blob/master/docs/API.md#withhandlers
492declare module 'recompose/withHandlers' {
493 import { withHandlers } from 'recompose';
494 export default withHandlers;
495}
496
497// https://github.com/acdlite/recompose/blob/master/docs/API.md#defaultprops
498declare module 'recompose/defaultProps' {
499 import { defaultProps } from 'recompose';
500 export default defaultProps;
501}
502
503// https://github.com/acdlite/recompose/blob/master/docs/API.md#renameprop
504declare module 'recompose/renameProp' {
505 import { renameProp } from 'recompose';
506 export default renameProp;
507}
508
509// https://github.com/acdlite/recompose/blob/master/docs/API.md#renameprops
510declare module 'recompose/renameProps' {
511 import { renameProps } from 'recompose';
512 export default renameProps;
513}
514
515// https://github.com/acdlite/recompose/blob/master/docs/API.md#flattenprop
516declare module 'recompose/flattenProp' {
517 import { flattenProp } from 'recompose';
518 export default flattenProp;
519}
520
521// https://github.com/acdlite/recompose/blob/master/docs/API.md#withstate
522declare module 'recompose/withState' {
523 import { withState } from 'recompose';
524 export default withState;
525}
526
527// https://github.com/acdlite/recompose/blob/master/docs/API.md#withstatehandlers
528declare module 'recompose/withStateHandlers' {
529 import { withStateHandlers } from 'recompose';
530 export default withStateHandlers;
531}
532
533// https://github.com/acdlite/recompose/blob/master/docs/API.md#withreducer
534declare module 'recompose/withReducer' {
535 import { withReducer } from 'recompose';
536 export default withReducer;
537}
538
539// https://github.com/acdlite/recompose/blob/master/docs/API.md#branch
540declare module 'recompose/branch' {
541 import { branch } from 'recompose';
542 export default branch;
543}
544
545// https://github.com/acdlite/recompose/blob/master/docs/API.md#rendercomponent
546declare module 'recompose/renderComponent' {
547 import { renderComponent } from 'recompose';
548 export default renderComponent;
549}
550
551// https://github.com/acdlite/recompose/blob/master/docs/API.md#rendernothing
552declare module 'recompose/renderNothing' {
553 import { renderNothing } from 'recompose';
554 export default renderNothing;
555}
556
557// https://github.com/acdlite/recompose/blob/master/docs/API.md#shouldupdate
558declare module 'recompose/shouldUpdate' {
559 import { shouldUpdate } from 'recompose';
560 export default shouldUpdate;
561}
562
563// https://github.com/acdlite/recompose/blob/master/docs/API.md#pure
564declare module 'recompose/pure' {
565 import { pure } from 'recompose';
566 export default pure;
567}
568
569// https://github.com/acdlite/recompose/blob/master/docs/API.md#onlyupdateforkeys
570declare module 'recompose/onlyUpdateForKeys' {
571 import { onlyUpdateForKeys } from 'recompose';
572 export default onlyUpdateForKeys;
573}
574
575// https://github.com/acdlite/recompose/blob/master/docs/API.md#onlyupdateforproptypes
576declare module 'recompose/onlyUpdateForPropTypes' {
577 import { onlyUpdateForPropTypes } from 'recompose';
578 export default onlyUpdateForPropTypes;
579}
580
581// https://github.com/acdlite/recompose/blob/master/docs/API.md#withcontext
582declare module 'recompose/withContext' {
583 import { withContext } from 'recompose';
584 export default withContext;
585}
586
587// https://github.com/acdlite/recompose/blob/master/docs/API.md#getcontext
588declare module 'recompose/getContext' {
589 import { getContext } from 'recompose';
590 export default getContext;
591}
592
593// https://github.com/acdlite/recompose/blob/master/docs/API.md#lifecycle
594declare module 'recompose/lifecycle' {
595 import { lifecycle } from 'recompose';
596 export default lifecycle;
597}
598
599// https://github.com/acdlite/recompose/blob/master/docs/API.md#toclass
600declare module 'recompose/toClass' {
601 import { toClass } from 'recompose';
602 export default toClass;
603}
604
605// https://github.com/acdlite/recompose/blob/master/docs/API.md#torenderprops
606declare module 'recompose/toRenderProps' {
607 import { toRenderProps } from 'recompose';
608 export default toRenderProps;
609}
610
611// https://github.com/acdlite/recompose/blob/master/docs/API.md#fromrenderprops
612declare module 'recompose/fromRenderProps' {
613 import { fromRenderProps } from 'recompose';
614 export default fromRenderProps;
615}
616
617// https://github.com/acdlite/recompose/blob/master/docs/API.md#setstatic
618declare module 'recompose/setStatic' {
619 import { setStatic } from 'recompose';
620 export default setStatic;
621}
622
623// https://github.com/acdlite/recompose/blob/master/docs/API.md#setproptypes
624declare module 'recompose/setPropTypes' {
625 import { setPropTypes } from 'recompose';
626 export default setPropTypes;
627}
628
629// https://github.com/acdlite/recompose/blob/master/docs/API.md#setdisplayname
630declare module 'recompose/setDisplayName' {
631 import { setDisplayName } from 'recompose';
632 export default setDisplayName;
633}
634
635// https://github.com/acdlite/recompose/blob/master/docs/API.md#compose
636declare module 'recompose/compose' {
637 import { compose } from 'recompose';
638 export default compose;
639}
640
641// https://github.com/acdlite/recompose/blob/master/docs/API.md#getdisplayname
642declare module 'recompose/getDisplayName' {
643 import { getDisplayName } from 'recompose';
644 export default getDisplayName;
645}
646
647// https://github.com/acdlite/recompose/blob/master/docs/API.md#wrapdisplayname
648declare module 'recompose/wrapDisplayName' {
649 import { wrapDisplayName } from 'recompose';
650 export default wrapDisplayName;
651}
652
653// https://github.com/acdlite/recompose/blob/master/docs/API.md#shallowequal
654declare module 'recompose/shallowEqual' {
655 import { shallowEqual } from 'recompose';
656 export default shallowEqual;
657}
658
659// https://github.com/acdlite/recompose/blob/master/docs/API.md#isclasscomponent
660declare module 'recompose/isClassComponent' {
661 import { isClassComponent } from 'recompose';
662 export default isClassComponent;
663}
664
665// https://github.com/acdlite/recompose/blob/master/docs/API.md#createsink
666declare module 'recompose/createSink' {
667 import { createSink } from 'recompose';
668 export default createSink;
669}
670
671// https://github.com/acdlite/recompose/blob/master/docs/API.md#componentfromprop
672declare module 'recompose/componentFromProp' {
673 import { componentFromProp } from 'recompose';
674 export default componentFromProp;
675}
676
677// https://github.com/acdlite/recompose/blob/master/docs/API.md#nest
678declare module 'recompose/nest' {
679 import { nest } from 'recompose';
680 export default nest;
681}
682
683// https://github.com/acdlite/recompose/blob/master/docs/API.md#hoiststatics
684declare module 'recompose/hoistStatics' {
685 import { hoistStatics } from 'recompose';
686 export default hoistStatics;
687}
688
689// https://github.com/acdlite/recompose/blob/master/docs/API.md#componentfromstream
690declare module 'recompose/componentFromStream' {
691 import { componentFromStream } from 'recompose';
692 export { componentFromStreamWithConfig } from 'recompose';
693 export default componentFromStream;
694}
695
696// https://github.com/acdlite/recompose/blob/master/docs/API.md#mappropsstream
697declare module 'recompose/mapPropsStream' {
698 import { mapPropsStream } from 'recompose';
699 export { mapPropsStreamWithConfig } from 'recompose';
700 export default mapPropsStream;
701}
702
703// https://github.com/acdlite/recompose/blob/master/docs/API.md#createeventhandler
704declare module 'recompose/createEventHandler' {
705 import { createEventHandler } from 'recompose';
706 export { createEventHandlerWithConfig } from 'recompose';
707 export default createEventHandler;
708}
709
710// https://github.com/acdlite/recompose/blob/master/docs/API.md#setobservableconfig
711declare module 'recompose/setObservableConfig' {
712 import { setObservableConfig } from 'recompose';
713 export default setObservableConfig;
714}
715
\No newline at end of file