main
Last change
on this file since 0c6b92a was d565449, checked in by stefan toskovski <stefantoska84@…>, 3 months ago |
Update repo after prototype presentation
|
-
Property mode
set to
100644
|
File size:
574 bytes
|
Rev | Line | |
---|
[d565449] | 1 | import {FC} from 'react';
|
---|
| 2 | import render from './render';
|
---|
| 3 |
|
---|
| 4 | export type MapPropsToArgs<Props extends {}, Args extends any[]> = (props: Props) => Args;
|
---|
| 5 | export type CreateRenderProp = <Props extends {}, Args extends any[], State extends any>(hook: (...args: Args) => State, mapPropsToArgs?: MapPropsToArgs<Props, Args>) => FC<Props>;
|
---|
| 6 |
|
---|
| 7 | const defaultMapPropsToArgs = props => [props];
|
---|
| 8 |
|
---|
| 9 | const hookToRenderProp: CreateRenderProp = (hook, mapPropsToArgs = defaultMapPropsToArgs as any) =>
|
---|
| 10 | props => render(props, hook(...mapPropsToArgs(props)));
|
---|
| 11 |
|
---|
| 12 | export default hookToRenderProp;
|
---|
Note:
See
TracBrowser
for help on using the repository browser.