UNPKG

@rxx/core

Version:

React MVI micro framework.

61 lines (60 loc) 1.94 kB
import React from 'react'; import PropTypes from 'prop-types'; import { StoreConstructor, StateFactory } from '../store/store'; import { Intent, IntentConstructor } from '../intent/intent'; import { StateHandler } from '../handler/state-handler'; import { Provisioning } from '../provisioning'; import { IntentHandler } from '../intent/intent-handler'; import { SubjectTree } from '../subject'; export interface ProviderContextType<State> { intent: IntentHandler; state: any; parent: ProviderContextType<any>; } export declare type ProviderProps = { intent?: IntentConstructor | { [key: string]: IntentConstructor; }; store?: StoreConstructor<any, any> | StoreConstructor<any, any>[]; app?: StateFactory; service?: { [key: string]: any; }; useCache?: boolean; [key: string]: any; }; export declare class Provider extends React.Component<ProviderProps, { prepared: boolean; }> { static contextTypes: { provisioning: PropTypes.Requireable<any>; intent: PropTypes.Requireable<any>; state: PropTypes.Requireable<any>; parent: PropTypes.Requireable<any>; __subject: PropTypes.Requireable<any>; __intent: PropTypes.Requireable<any>; }; private ProviderComponent; private provisioning; private storeState; context: ProviderContextType<any> & { provisioning: Provisioning<any>; __subject: SubjectTree; __intent: Intent; }; constructor(p: any, c: any); render(): JSX.Element | null; componentDidMount(): void; componentWillUnmount(): void; } export declare function directConnect<State, Props>(Component: React.ComponentClass<Props>): React.ComponentClass<{ state?: State; props?: Props; handlers?: { [key: string]: (...args: any[]) => any; }[]; stateHandlers?: { [key: string]: StateHandler; }; app?: StateFactory; }>;