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.

388 lines (387 loc) 11.2 kB
import { Infinite, Operation, OperationSchemas, PluginReactQuery, Transformer } from "./types-CaU9WTtM.js"; import { ReactNode } from "react"; //#region ../react/src/utils/getFunctionParams.d.ts type Param = { /** * `object` will return the pathParams as an object. * * `inline` will return the pathParams as comma separated params. * @default `'inline'` * @private */ mode?: 'object' | 'inline' | 'inlineSpread'; type?: 'string' | 'number' | (string & {}); optional?: boolean; /** * @example test = "default" */ default?: string; /** * Used for no TypeScript(with mode object) * @example test: "default" */ value?: string; children?: Params; }; type Params = Record<string, Param | undefined>; type Options = { type: 'constructor' | 'call' | 'object' | 'objectValue'; transformName?: (name: string) => string; transformType?: (type: string) => string; }; declare class FunctionParams { #private; static factory(params: Params): FunctionParams; constructor(params: Params); get params(): Params; get flatParams(): Params; toCall({ transformName, transformType }?: Pick<Options, 'transformName' | 'transformType'>): string; toObject(): string; toObjectValue(): string; toConstructor(): string; } //#endregion //#region src/components/InfiniteQuery.d.ts type Props$8 = { /** * 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']; queryParam?: Infinite['queryParam']; }; type GetParamsProps$7 = { paramsType: PluginReactQuery['resolvedOptions']['paramsType']; paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']; pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']; typeSchemas: OperationSchemas; pageParamGeneric: string; }; declare function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, queryParam }: Props$8): ReactNode; declare namespace InfiniteQuery { var getParams: ({ paramsType, paramsCasing, pathParamsType, typeSchemas, pageParamGeneric }: GetParamsProps$7) => FunctionParams; } //#endregion //#region src/components/InfiniteQueryOptions.d.ts type Props$7 = { 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$6 = { 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$7): ReactNode; declare namespace InfiniteQueryOptions { var getParams: ({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps$6) => FunctionParams; } //#endregion //#region src/components/Mutation.d.ts type Props$6 = { /** * Name of the function */ name: string; typeName: string; mutationOptionsName: string; mutationKeyName: string; typeSchemas: OperationSchemas; operation: Operation; dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType']; paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']; pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']; }; declare function Mutation({ name, mutationOptionsName, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props$6): ReactNode; //#endregion //#region src/components/MutationKey.d.ts 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 = { pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']; typeSchemas: OperationSchemas; }; declare function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer }: Props$5): ReactNode; declare namespace MutationKey { var getParams: ({}: GetParamsProps$5) => FunctionParams; var getTransformer: Transformer; } //#endregion //#region src/components/MutationOptions.d.ts type Props$4 = { name: string; clientName: string; mutationKeyName: string; typeSchemas: OperationSchemas; paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']; paramsType: PluginReactQuery['resolvedOptions']['paramsType']; pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']; dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType']; }; type GetParamsProps$4 = { typeSchemas: OperationSchemas; }; declare function MutationOptions({ name, clientName, dataReturnType, typeSchemas, paramsCasing, paramsType, pathParamsType, mutationKeyName }: Props$4): any; declare namespace MutationOptions { var getParams: ({ typeSchemas }: GetParamsProps$4) => FunctionParams; } //#endregion //#region src/components/Query.d.ts type Props$3 = { /** * 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$3 = { 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$3): ReactNode; declare namespace Query { var getParams: ({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$3) => FunctionParams; } //#endregion //#region src/components/QueryKey.d.ts type Props$2 = { name: string; typeName: string; typeSchemas: OperationSchemas; operation: Operation; paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']; pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']; transformer: Transformer | undefined; }; type GetParamsProps$2 = { paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']; pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']; typeSchemas: OperationSchemas; }; declare function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer }: Props$2): ReactNode; declare namespace QueryKey { var getParams: ({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps$2) => FunctionParams; var getTransformer: Transformer; } //#endregion //#region src/components/QueryOptions.d.ts type Props$1 = { 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$1 = { 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$1): any; declare namespace QueryOptions { var getParams: ({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps$1) => FunctionParams; } //#endregion //#region src/components/SuspenseQuery.d.ts 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; } //#endregion export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, MutationOptions, Query, QueryKey, QueryOptions, SuspenseQuery }; //# sourceMappingURL=components.d.ts.map