|
1 | | -import { StatelessComponent } from 'react' |
| 1 | +// tslint:disable-next-line no-unused-variable // Needed for declarations |
| 2 | +import PropTypes from 'prop-types' |
| 3 | +// tslint:disable-next-line no-unused-variable // Needed for declarations |
| 4 | +import React, { ReactElement, StatelessComponent } from 'react' |
| 5 | +// tslint:disable-next-line no-unused-variable // Needed for declarations |
| 6 | +import RxJS from 'rxjs' |
2 | 7 | import { createConsume, createConsumer, createField, createForm } from '..' |
3 | 8 | import { Stapp } from '../../core/createApp/createApp.h' |
4 | 9 | import { FormBaseState } from '../../modules/formBase/formBase.h' |
5 | 10 | import { ConsumerHoc } from '../createConsume/createConsume.h' |
6 | | -import { ConsumerClass } from '../createConsumer/createConsumer.h' |
| 11 | +import { ConsumerProps } from '../createConsumer/createConsumer.h' |
7 | 12 | import { FieldProps } from '../createField/createField.h' |
8 | 13 | import { FormProps } from '../createForm/createForm.h' |
9 | | -import { StappComponents } from './createComponents.h' |
10 | 14 |
|
11 | | -export const createComponents = <State extends FormBaseState, Api>( |
12 | | - app: Stapp<State, Api> |
13 | | -): StappComponents<State, Api> => { |
14 | | - let Consumer: ConsumerClass<State, Api, any, any, any> |
| 15 | +export const createComponents = <State extends FormBaseState, Api>(app: Stapp<State, Api>) => { |
| 16 | + const Consumer = createConsumer(app) |
15 | 17 | let consume: ConsumerHoc<State, Api> |
16 | 18 | let Form: StatelessComponent<FormProps> |
17 | | - let Field: StatelessComponent<FieldProps<State, Api>> |
| 19 | + let Field: <Extra>( |
| 20 | + config: FieldProps<State, Extra> |
| 21 | + ) => ReactElement<ConsumerProps<State, Api, any, any, any>> |
18 | 22 |
|
19 | 23 | return { |
20 | | - get Consumer() { |
21 | | - return Consumer || (Consumer = createConsumer(app)) |
22 | | - }, |
| 24 | + Consumer, |
23 | 25 |
|
24 | 26 | get consume() { |
25 | | - return consume || (consume = createConsume(this.Consumer)) |
| 27 | + return consume || (consume = createConsume(Consumer)) |
26 | 28 | }, |
27 | 29 |
|
28 | 30 | get Form() { |
29 | | - return Form || (Form = createForm(this.Consumer)) |
| 31 | + return Form || (Form = createForm(Consumer)) |
30 | 32 | }, |
31 | 33 |
|
32 | 34 | get Field() { |
33 | | - return Field || (Field = createField(this.Consumer)) |
| 35 | + return Field || (Field = createField(Consumer)) |
34 | 36 | } |
35 | 37 | } |
36 | 38 | } |
0 commit comments