UNPKG

@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
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 };