@data-client/test
Version:
Testing utilities for Data Client
31 lines (30 loc) • 1.53 kB
TypeScript
import { State, Manager, Controller } from '@data-client/react';
import React from 'react';
import { RenderHookResult, RenderHookOptions } from './renderHook.cjs';
import { Interceptor, Fixture } from '../fixtureTypes.js';
/** @see https://dataclient.io/docs/api/makeRenderDataHook */
export default function makeRenderDataHook(Provider: React.ComponentType<DataProviderProps>): RenderDataHook;
export interface DataProviderProps {
children: React.ReactNode;
managers: Manager[];
initialState: State<unknown>;
Controller: typeof Controller<any>;
devButton: any;
}
export type RenderDataHookResult<R, P> = RenderHookResult<R, P> & {
controller: Controller;
cleanup: () => void;
allSettled: () => Promise<PromiseSettledResult<unknown>[]> | undefined;
};
export type RenderDataHook = (<P, R>(callback: (props: P) => R, options?: {
initialProps?: P;
initialFixtures?: readonly Fixture[];
readonly resolverFixtures?: readonly (Fixture | Interceptor)[];
wrapper?: React.ComponentType<React.PropsWithChildren<P>>;
} & Pick<RenderHookOptions<P>, Exclude<keyof RenderHookOptions<P>, 'initialProps' | 'wrapper'>>) => RenderDataHookResult<R, P>) & {
/** @deprecated use per-render cleanup returned from renderDataClient() instead */
cleanup: () => void;
/** @deprecated use per-render allSettled returned from renderDataClient() instead */
allSettled: () => Promise<PromiseSettledResult<unknown>[]> | undefined;
};
//# sourceMappingURL=index.d.ts.map