UNPKG

@data-client/test

Version:

Testing utilities for Data Client

31 lines (30 loc) 1.53 kB
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