@appbuckets/react-ui-smart-components
Version:
UI Extended Components that work with @appbuckets/react-client and @appbuckets/react-ui
29 lines (28 loc) • 931 B
TypeScript
import * as React from 'react';
import type {
QueryResultBase,
QuerySuspendedComponentProps,
SuccessesQueryComponent,
} from '../QuerySuspendedComponent.types';
declare type PlainOrBuilder<Props extends {}, Result> =
| Result
| ((props: Props) => Result);
declare type AsFunctionReturn<Result> = (...args: any[]) => Result;
declare type OmittedProps = 'Component' | 'innerProps' | 'query';
export default function asSuspendedComponent<
Props extends {},
QueryResult extends QueryResultBase,
QuerySuccessState = QueryResult
>(
Component: SuccessesQueryComponent<QuerySuccessState, Props>,
useQuery: AsFunctionReturn<QueryResult>,
queryArgs: PlainOrBuilder<
Omit<Props, 'state'>,
Parameters<AsFunctionReturn<QueryResult>>
>,
config?: Omit<
QuerySuspendedComponentProps<QueryResult, QuerySuccessState, Props>,
OmittedProps
>
): React.VoidFunctionComponent<Omit<Props, 'state'>>;
export {};