@data-client/rest
Version:
Quickly define typed REST resources and endpoints
15 lines (14 loc) • 703 B
TypeScript
import { EndpointInterface } from '@data-client/endpoint';
export interface HookableEndpointInterface extends EndpointInterface {
extend(...args: any): HookableEndpointInterface;
}
/** Turns a collection of Endpoints (Resource) into a collection of hooks.
* This is useful for Endpoints that need hooks to prepare their fetch requests.
*
* @see https://dataclient.io/rest/api/hookifyResource
*/
export default function hookifyResource<R extends {}>(resource: R, useRequestInit: () => RequestInit): HookResource<R>;
export type HookResource<R extends {}> = {
[K in Extract<keyof R, string> as `use${Capitalize<K>}`]: () => R[K];
};
//# sourceMappingURL=hookifyResource.d.ts.map