@kubb/plugin-react-query
Version:
React Query hooks generator plugin for Kubb, creating type-safe API client hooks from OpenAPI specifications for React applications.
199 lines (189 loc) • 8.95 kB
TypeScript
import { Operation } from '@kubb/oas';
import { OperationSchemas } from '@kubb/plugin-oas';
import { ReactNode } from 'react';
import { P as PluginReactQuery, T as Transformer, I as Infinite } from './types-BdjqYAq1.js';
import { FunctionParams } from '@kubb/react';
import '@kubb/core';
import '@kubb/plugin-client';
type Props$7 = {
/**
* Name of the function
*/
name: string;
typeName: string;
clientName: string;
mutationKeyName: string;
typeSchemas: OperationSchemas;
operation: Operation;
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
};
declare function Mutation({ name, clientName, paramsCasing, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName, }: Props$7): ReactNode;
type Props$6 = {
/**
* Name of the function
*/
name: string;
queryOptionsName: string;
queryKeyName: string;
queryKeyTypeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
};
type GetParamsProps$6 = {
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
typeSchemas: OperationSchemas;
};
declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$6): ReactNode;
declare namespace Query {
var getParams: ({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$6) => FunctionParams;
}
type Props$5 = {
name: string;
typeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
transformer: Transformer | undefined;
};
type GetParamsProps$5 = {
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
typeSchemas: OperationSchemas;
};
declare function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer }: Props$5): ReactNode;
declare namespace QueryKey {
var getParams: ({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps$5) => FunctionParams;
var getTransformer: Transformer;
}
type Props$4 = {
name: string;
typeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
transformer: Transformer | undefined;
};
type GetParamsProps$4 = {
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
typeSchemas: OperationSchemas;
};
declare function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer }: Props$4): ReactNode;
declare namespace MutationKey {
var getParams: ({}: GetParamsProps$4) => FunctionParams;
var getTransformer: Transformer;
}
type Props$3 = {
name: string;
clientName: string;
queryKeyName: string;
typeSchemas: OperationSchemas;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
};
type GetParamsProps$3 = {
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
typeSchemas: OperationSchemas;
};
declare function QueryOptions({ name, clientName, dataReturnType, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }: Props$3): any;
declare namespace QueryOptions {
var getParams: ({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps$3) => FunctionParams;
}
type Props$2 = {
name: string;
clientName: string;
queryKeyName: string;
typeSchemas: OperationSchemas;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
initialPageParam: Infinite['initialPageParam'];
cursorParam: Infinite['cursorParam'];
queryParam: Infinite['queryParam'];
};
type GetParamsProps$2 = {
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
typeSchemas: OperationSchemas;
};
declare function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryParam, queryKeyName, }: Props$2): ReactNode;
declare namespace InfiniteQueryOptions {
var getParams: ({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps$2) => FunctionParams;
}
type Props$1 = {
/**
* Name of the function
*/
name: string;
queryOptionsName: string;
queryKeyName: string;
queryKeyTypeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
};
type GetParamsProps$1 = {
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
typeSchemas: OperationSchemas;
};
declare function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$1): ReactNode;
declare namespace InfiniteQuery {
var getParams: ({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$1) => FunctionParams;
}
type Props = {
/**
* Name of the function
*/
name: string;
queryOptionsName: string;
queryKeyName: string;
queryKeyTypeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
};
type GetParamsProps = {
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
typeSchemas: OperationSchemas;
};
/**
* Generates a strongly-typed React Query Suspense hook function for an OpenAPI operation.
*
* The generated function wraps `useSuspenseQuery`, providing type-safe parameters and return types based on the supplied OpenAPI schemas and configuration.
*
* @returns A React component source node containing the generated query function.
*/
declare function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, }: Props): ReactNode;
declare namespace SuspenseQuery {
var getParams: ({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) => FunctionParams;
}
export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions, SuspenseQuery };