@kubb/plugin-react-query 3.0.0-alpha.4 → 3.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-JFX7DCS7.cjs → chunk-GTVJ55F2.cjs} +116 -150
- package/dist/chunk-GTVJ55F2.cjs.map +1 -0
- package/dist/{chunk-5IL6M74X.js → chunk-IVMTW4XS.js} +168 -202
- package/dist/chunk-IVMTW4XS.js.map +1 -0
- package/dist/components.cjs +2 -4
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +1 -2
- package/dist/components.d.ts +1 -2
- package/dist/components.js +1 -3
- package/dist/{index-C9fwRDH7.d.cts → index-5kpkk-7M.d.cts} +7 -41
- package/dist/{index-C9fwRDH7.d.ts → index-5kpkk-7M.d.ts} +7 -41
- package/dist/index.cjs +19 -59
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +7 -47
- package/dist/index.js.map +1 -1
- package/package.json +14 -14
- package/src/OperationGenerator.tsx +0 -29
- package/src/__snapshots__/mutateAsQuery/updatePetWithForm.ts +11 -6
- package/src/__snapshots__/pathParamsTypeInline/getPetById.ts +11 -6
- package/src/__snapshots__/pathParamsTypeObject/getPetById.ts +11 -6
- package/src/__snapshots__/queryOptions/getPetById.ts +9 -5
- package/src/__snapshots__/queryWithoutQueryOptions/getPetById.ts +9 -5
- package/src/__snapshots__/upload/UploadFile.ts +11 -6
- package/src/__snapshots__/uploadMutation/UploadFile.ts +9 -5
- package/src/__snapshots__/variablesTypeMutate/deletePet.ts +7 -4
- package/src/components/Mutation.tsx +30 -30
- package/src/components/Query.tsx +74 -78
- package/src/components/QueryKey.tsx +11 -8
- package/src/components/QueryOptions.tsx +21 -13
- package/src/components/SchemaType.tsx +9 -5
- package/src/components/__snapshots__/gen/showPetById.ts +58 -48
- package/src/components/__snapshots__/gen/useCreatePets.ts +36 -36
- package/src/components/__snapshots__/gen/useCreatePetsMutate.ts +36 -37
- package/src/components/index.ts +0 -1
- package/src/plugin.ts +8 -29
- package/src/types.ts +0 -3
- package/dist/chunk-5IL6M74X.js.map +0 -1
- package/dist/chunk-JFX7DCS7.cjs.map +0 -1
- package/src/components/Operations.tsx +0 -74
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Mutation.tsx","../src/components/SchemaType.tsx","../src/components/Query.tsx","../src/utils.ts","../src/components/QueryImports.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx"],"sourcesContent":["import transformers from '@kubb/core/transformers'\nimport { FunctionParams, URLPath } from '@kubb/core/utils'\nimport { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getASTParams, getComments } from '@kubb/plugin-oas/utils'\nimport { File, Function, useApp } from '@kubb/react'\nimport { pluginTsName } from '@kubb/plugin-ts'\n\nimport { SchemaType } from './SchemaType.tsx'\n\nimport { isRequired } from '@kubb/oas'\nimport type { HttpMethod } from '@kubb/oas'\nimport type { ComponentProps, ComponentType, ReactNode } from 'react'\nimport type { FileMeta, PluginReactQuery } from '../types.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n /**\n * Parameters/options/props that need to be used\n */\n params: string\n mutateParams: string\n /**\n * Options for JSdocs\n */\n JSDoc?: {\n comments: string[]\n }\n hook: {\n name: string\n generics?: string\n children?: string\n }\n client: {\n generics: string\n method: HttpMethod\n path: URLPath\n withQueryParams: boolean\n withPathParams: boolean\n withData: boolean\n withHeaders: boolean\n contentType: string\n }\n dataReturnType: NonNullable<PluginReactQuery['options']['dataReturnType']>\n}\n\nfunction Template({ name, params, mutateParams, JSDoc, client, hook, dataReturnType }: TemplateProps): ReactNode {\n const isFormData = client.contentType === 'multipart/form-data'\n const headers = [\n client.contentType !== 'application/json' ? `'Content-Type': '${client.contentType}'` : undefined,\n client.withHeaders ? '...headers' : undefined,\n ]\n .filter(Boolean)\n .join(', ')\n\n const clientOptions = [\n `method: \"${client.method}\"`,\n `url: ${client.path.template}`,\n client.withQueryParams ? 'params' : undefined,\n client.withData && !isFormData ? 'data' : undefined,\n client.withData && isFormData ? 'data: formData' : undefined,\n headers.length ? `headers: { ${headers}, ...clientOptions.headers }` : undefined,\n '...clientOptions',\n ].filter(Boolean)\n\n const resolvedClientOptions = `${transformers.createIndent(4)}${clientOptions.join(`,\\n${transformers.createIndent(4)}`)}`\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : undefined\n\n return (\n <File.Source name={name} isExportable>\n <Function export name={name} params={params} JSDoc={JSDoc}>\n {`\n const { mutation: mutationOptions, client: clientOptions = {} } = options ?? {}\n\n return ${hook.name}({\n mutationFn: async(${mutateParams}) => {\n ${hook.children || ''}\n ${formData || ''}\n const res = await client<${client.generics}>({\n ${resolvedClientOptions}\n })\n\n return ${dataReturnType === 'data' ? 'res.data' : 'res'}\n },\n ...mutationOptions\n })`}\n </Function>\n </File.Source>\n )\n}\n\ntype RootTemplateProps = {\n children?: React.ReactNode\n}\n\nfunction RootTemplate({ children }: RootTemplateProps) {\n const {\n plugin: {\n options: {\n client: { importPath },\n mutate,\n },\n },\n } = useApp<PluginReactQuery>()\n\n const { getSchemas, getFile } = useOperationManager()\n const operation = useOperation()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const file = getFile(operation)\n const fileType = getFile(operation, { pluginKey: [pluginTsName] })\n\n return (\n <File<FileMeta> baseName={file.baseName} path={file.path} meta={file.meta}>\n <File.Import name={'client'} path={importPath} />\n <File.Import name={['ResponseConfig']} path={importPath} isTypeOnly />\n <File.Import\n name={[\n schemas.request?.name,\n schemas.response.name,\n schemas.pathParams?.name,\n schemas.queryParams?.name,\n schemas.headerParams?.name,\n ...(schemas.errors?.map((error) => error.name) || []),\n ].filter(Boolean)}\n root={file.path}\n path={fileType.path}\n isTypeOnly\n />\n <File.Import\n name={['UseMutationOptions', 'UseMutationResult']}\n path={typeof mutate !== 'boolean' && mutate.importPath ? mutate.importPath : '@tanstack/react-query'}\n isTypeOnly\n />\n <File.Import name={['useMutation']} path={typeof mutate !== 'boolean' && mutate.importPath ? mutate.importPath : '@tanstack/react-query'} />\n {children}\n </File>\n )\n}\n\nconst defaultTemplates = { default: Template, root: RootTemplate } as const\n\ntype Templates = Partial<typeof defaultTemplates>\n\ntype MutationProps = {\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: ComponentType<ComponentProps<typeof Template>>\n}\n\nexport function Mutation({ Template = defaultTemplates.default }: MutationProps): ReactNode {\n // TODO do checks on pathParamsType\n\n const {\n plugin: {\n options: { dataReturnType, mutate },\n },\n } = useApp<PluginReactQuery>()\n\n const operation = useOperation()\n const { getSchemas, getName } = useOperationManager()\n\n const name = getName(operation, { type: 'function' })\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const contentType = operation.getContentType()\n\n const params = new FunctionParams()\n const mutateParams = new FunctionParams()\n const factoryName = getName(operation, { type: 'type' })\n\n const requestType =\n mutate && mutate.variablesType === 'mutate'\n ? FunctionParams.toObject([\n ...getASTParams(schemas.pathParams, { typed: true }),\n {\n name: 'params',\n type: `${factoryName}['queryParams']`,\n enabled: !!schemas.queryParams?.name,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'headers',\n type: `${factoryName}['headerParams']`,\n enabled: !!schemas.headerParams?.name,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'data',\n type: `${factoryName}['request']`,\n enabled: !!schemas.request?.name,\n required: isRequired(schemas.request?.schema),\n },\n ])?.type\n : schemas.request?.name\n ? `${factoryName}['request']`\n : 'never'\n\n const client = {\n method: operation.method,\n path: new URLPath(operation.path),\n generics: [`${factoryName}[\"data\"]`, `${factoryName}[\"error\"]`, requestType ? `${factoryName}[\"request\"]` : 'void'].join(', '),\n withQueryParams: !!schemas.queryParams?.name,\n withData: !!schemas.request?.name,\n withPathParams: !!schemas.pathParams?.name,\n withHeaders: !!schemas.headerParams?.name,\n contentType,\n }\n const hook = {\n name: 'useMutation',\n generics: [`${factoryName}['response']`, `${factoryName}[\"error\"]`, requestType ? `${requestType}` : 'void'].join(', '),\n }\n\n const resultGenerics = [\n `${factoryName}[\"response\"]`,\n `${factoryName}[\"error\"]`,\n mutate && mutate?.variablesType === 'mutate' ? requestType : `${factoryName}[\"request\"]`,\n ]\n\n if (mutate && mutate?.variablesType === 'mutate') {\n params.add([\n {\n name: 'options',\n type: `{\n mutation?: UseMutationOptions<${resultGenerics.join(', ')}>,\n client?: ${factoryName}['client']['parameters']\n }`,\n default: '{}',\n },\n ])\n\n mutateParams.add([\n [\n ...getASTParams(schemas.pathParams, { typed: false }),\n {\n name: 'params',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'headers',\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'data',\n enabled: !!schemas.request?.name,\n required: isRequired(schemas.request?.schema),\n },\n ],\n ])\n } else {\n params.add([\n ...getASTParams(schemas.pathParams, { typed: true }),\n {\n name: 'params',\n type: `${factoryName}['queryParams']`,\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'headers',\n type: `${factoryName}['headerParams']`,\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'options',\n type: `{\n mutation?: UseMutationOptions<${resultGenerics.join(', ')}>,\n client?: ${factoryName}['client']['parameters']\n }`,\n default: '{}',\n },\n ])\n\n mutateParams.add([\n {\n name: 'data',\n enabled: !!schemas.request?.name,\n required: isRequired(schemas.request?.schema),\n },\n ])\n }\n\n if (!mutate) {\n return null\n }\n\n return (\n <>\n <Template\n name={name}\n JSDoc={{ comments: getComments(operation) }}\n client={client}\n hook={hook}\n params={params.toString()}\n mutateParams={mutateParams.toString()}\n dataReturnType={dataReturnType}\n />\n </>\n )\n}\n\ntype FileProps = {\n /**\n * This will make it possible to override the default behaviour.\n */\n templates?: Templates\n}\n\nMutation.File = function ({ ...props }: FileProps): ReactNode {\n const templates = { ...defaultTemplates, ...props.templates }\n\n const Template = templates.default\n const RootTemplate = templates.root\n\n return (\n <RootTemplate>\n <SchemaType />\n <Mutation Template={Template} />\n </RootTemplate>\n )\n}\n\nMutation.templates = defaultTemplates\n","import { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { File, Type, useApp } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\nimport type { PluginReactQuery } from '../types.ts'\nimport { pluginTsName } from '@kubb/plugin-ts'\n\nexport function SchemaType(): ReactNode {\n const {\n plugin: {\n options: { dataReturnType },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas, getName } = useOperationManager()\n const operation = useOperation()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n\n const [TData, TError, TRequest, TPathParams, TQueryParams, THeaderParams, TResponse] = [\n schemas.response.name,\n schemas.errors?.map((item) => item.name).join(' | ') || 'never',\n schemas.request?.name || 'never',\n schemas.pathParams?.name || 'never',\n schemas.queryParams?.name || 'never',\n schemas.headerParams?.name || 'never',\n schemas.response.name,\n ]\n const factoryName = getName(operation, { type: 'type' })\n\n const clientType = `${factoryName}Client`\n const isFormData = operation.getContentType() === 'multipart/form-data'\n\n return (\n <>\n <File.Source name={clientType} isTypeOnly>\n <Type name={clientType}>{`typeof client<${TResponse}, ${TError}, ${isFormData ? 'FormData' : TRequest}>`}</Type>\n </File.Source>\n <File.Source name={factoryName} isTypeOnly>\n <Type name={factoryName}>\n {`\n {\n data: ${TData}\n error: ${TError}\n request: ${isFormData ? 'FormData' : TRequest}\n pathParams: ${TPathParams}\n queryParams: ${TQueryParams}\n headerParams: ${THeaderParams}\n response: ${dataReturnType === 'data' ? TData : `Awaited<ReturnType<${clientType}>>`}\n client: {\n parameters: Partial<Parameters<${clientType}>[0]>\n return: Awaited<ReturnType<${clientType}>>\n }\n }\n `}\n </Type>\n </File.Source>\n </>\n )\n}\n","import { PackageManager } from '@kubb/core'\nimport transformers from '@kubb/core/transformers'\nimport { FunctionParams, URLPath } from '@kubb/core/utils'\nimport { File, Function, useApp } from '@kubb/react'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getASTParams, getComments } from '@kubb/plugin-oas/utils'\n\nimport { getImportNames, reactQueryDepRegex } from '../utils.ts'\nimport { QueryImports } from './QueryImports.tsx'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\nimport { SchemaType } from './SchemaType.tsx'\n\nimport { isRequired } from '@kubb/oas'\nimport type { ReactNode } from 'react'\nimport type { QueryOptions as QueryOptionsPluginOptions, Query as QueryPluginOptions } from '../types.ts'\nimport type { FileMeta, Infinite, PluginReactQuery, Suspense } from '../types.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n /**\n * Parameters/options/props that need to be used\n */\n params: string\n /**\n * Generics that needs to be added for TypeScript\n */\n generics?: string\n /**\n * ReturnType(see async for adding Promise type)\n */\n returnType?: string\n /**\n * Options for JSdocs\n */\n JSDoc?: {\n comments: string[]\n }\n hook: {\n name: string\n generics?: string\n queryKey: string\n queryOptions: string\n }\n infinite: Infinite | false\n}\n\nfunction Template({ name, generics, returnType, params, JSDoc, hook, infinite }: TemplateProps): ReactNode {\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const resolvedReturnType = `${returnType} & { queryKey: TQueryKey }`\n\n if (isV5) {\n return (\n <File.Source name={name} isExportable>\n <Function name={name} export generics={generics} returnType={resolvedReturnType} params={params} JSDoc={JSDoc}>\n {`\n const { query: queryOptions, client: clientOptions = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${hook.queryKey}\n\n const query = ${hook.name}({\n ...${hook.queryOptions} as unknown as ${infinite ? 'InfiniteQueryObserverOptions' : 'QueryObserverOptions'},\n queryKey,\n ...queryOptions as unknown as ${infinite ? 'Omit<InfiniteQueryObserverOptions, \"queryKey\">' : 'Omit<QueryObserverOptions, \"queryKey\">'}\n }) as ${resolvedReturnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n\n `}\n </Function>\n </File.Source>\n )\n }\n\n return (\n <File.Source name={name} isExportable>\n <Function name={name} export generics={generics} returnType={resolvedReturnType} params={params} JSDoc={JSDoc}>\n {`\n const { query: queryOptions, client: clientOptions = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${hook.queryKey}\n\n const query = ${hook.name}<${hook.generics}>({\n ...${hook.queryOptions},\n queryKey,\n ...queryOptions\n }) as ${resolvedReturnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n\n `}\n </Function>\n </File.Source>\n )\n}\n\ntype FrameworkProps = TemplateProps & {\n context: {\n factory: {\n name: string\n }\n queryKey: string\n }\n}\n\nconst defaultTemplates = {\n get react() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get solid() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get svelte() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get vue() {\n return function ({ context, hook, ...rest }: FrameworkProps): ReactNode {\n const { factory, queryKey } = context\n\n const {\n pluginManager,\n plugin: {\n key: pluginKey,\n options: { pathParamsType },\n },\n } = useApp<PluginReactQuery>()\n const operation = useOperation()\n const { getSchemas } = useOperationManager()\n\n const importNames = getImportNames()\n\n const queryOptions = pluginManager.resolveName({\n name: `${factory.name}QueryOptions`,\n pluginKey,\n })\n\n const hookName = rest.infinite ? importNames.queryInfinite.vue.hookName : importNames.query.vue.hookName\n const resultType = rest.infinite ? importNames.queryInfinite.vue.resultType : importNames.query.vue.resultType\n const optionsType = rest.infinite ? importNames.queryInfinite.vue.optionsType : importNames.query.vue.optionsType\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const params = new FunctionParams()\n const queryParams = new FunctionParams()\n const queryKeyParams = new FunctionParams()\n const client = {\n withQueryParams: !!schemas.queryParams?.name,\n withData: !!schemas.request?.name,\n withPathParams: !!schemas.pathParams?.name,\n withHeaders: !!schemas.headerParams?.name,\n }\n\n const resultGenerics = ['TData', `${factory.name}['error']`]\n\n // only needed for the options to override the useQuery options/params\n const queryOptionsOverrideGenerics = [`${factory.name}['response']`, `${factory.name}['error']`, 'TData', 'TQueryKey']\n const queryOptionsGenerics = ['TData', 'TQueryData']\n\n params.add([\n ...(pathParamsType === 'object'\n ? [\n getASTParams(schemas.pathParams, {\n typed: true,\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n }),\n ]\n : getASTParams(schemas.pathParams, {\n typed: true,\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n })),\n {\n name: 'refParams',\n type: `MaybeRef<${schemas.queryParams?.name}>`,\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'refHeaders',\n type: `MaybeRef<${schemas.headerParams?.name}>`,\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'refData',\n type: `MaybeRef<${schemas.request?.name}>`,\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n {\n name: 'options',\n type: `{\n query?: Partial<${optionsType}<${queryOptionsOverrideGenerics.join(', ')}>>,\n client?: ${factory.name}['client']['parameters']\n }`,\n default: '{}',\n },\n ])\n\n queryParams.add([\n ...getASTParams(schemas.pathParams, {\n typed: false,\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n }),\n {\n name: 'refParams',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'refHeaders',\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'clientOptions',\n required: false,\n },\n ])\n\n queryKeyParams.add([\n ...(pathParamsType === 'object'\n ? [\n getASTParams(schemas.pathParams, {\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n }),\n ]\n : getASTParams(schemas.pathParams, {\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n })),\n {\n name: 'refParams',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'refData',\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n ])\n\n return (\n <Template\n {...rest}\n params={params.toString()}\n returnType={`${resultType}<${resultGenerics.join(', ')}>`}\n hook={{\n ...hook,\n name: hookName,\n queryOptions: isV5\n ? `${queryOptions}(${queryParams.toString()})`\n : `${queryOptions}<${queryOptionsGenerics.join(', ')}>(${queryParams.toString()})`,\n queryKey: `${queryKey}(${queryKeyParams.toString()})`,\n }}\n />\n )\n }\n },\n} as const\n\ntype Props = {\n factory: {\n name: string\n }\n resultType: string\n hookName: string\n optionsType: string\n infinite: Infinite | false\n query: QueryPluginOptions | false\n queryOptions: QueryOptionsPluginOptions | false\n suspense: Suspense | false\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: React.ComponentType<FrameworkProps>\n /**\n * This will make it possible to override the default behaviour.\n */\n QueryKeyTemplate?: React.ComponentType<React.ComponentProps<typeof QueryKey.templates.react>>\n /**\n * This will make it possible to override the default behaviour.\n */\n QueryOptionsTemplate?: React.ComponentType<React.ComponentProps<typeof QueryOptions.templates.react>>\n}\n\nexport function Query({\n factory,\n optionsType,\n hookName,\n resultType,\n Template = defaultTemplates.react,\n QueryKeyTemplate = QueryKey.templates.react,\n QueryOptionsTemplate = QueryOptions.templates.react,\n ...props\n}: Props): ReactNode {\n const {\n pluginManager,\n plugin: {\n key: pluginKey,\n options: { dataReturnType, pathParamsType },\n },\n } = useApp<PluginReactQuery>()\n\n const operation = useOperation()\n const { getSchemas, getName } = useOperationManager()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const name = getName(operation, { type: 'function' })\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n\n const queryKey = pluginManager.resolveName({\n name: [factory.name, props.infinite ? 'Infinite' : undefined, props.suspense ? 'Suspense' : undefined, 'QueryKey'].filter(Boolean).join(''),\n pluginKey,\n })\n const queryKeyType = pluginManager.resolveName({\n name: [factory.name, props.infinite ? 'Infinite' : undefined, props.suspense ? 'Suspense' : undefined, 'QueryKey'].filter(Boolean).join(''),\n type: 'type',\n pluginKey,\n })\n const queryOptions = pluginManager.resolveName({\n name: [factory.name, props.infinite ? 'Infinite' : undefined, props.suspense ? 'Suspense' : undefined, 'QueryOptions'].filter(Boolean).join(''),\n pluginKey,\n })\n\n const generics = new FunctionParams()\n const params = new FunctionParams()\n const queryParams = new FunctionParams()\n const queryKeyParams = new FunctionParams()\n //TODO operationManager.getCleitn\n const client = {\n method: operation.method,\n path: new URLPath(operation.path),\n withQueryParams: !!schemas.queryParams?.name,\n withData: !!schemas.request?.name,\n withPathParams: !!schemas.pathParams?.name,\n withHeaders: !!schemas.headerParams?.name,\n }\n\n generics.add([\n {\n type: 'TData',\n default: props.infinite ? `InfiniteData<${factory.name}[\"response\"]>` : `${factory.name}[\"response\"]`,\n },\n props.suspense ? undefined : { type: 'TQueryData', default: `${factory.name}[\"response\"]` },\n { type: 'TQueryKey extends QueryKey', default: queryKeyType },\n ])\n\n const resultGenerics = ['TData', `${factory.name}['error']`]\n // only needed for the options to override the useQuery options/params\n // suspense is having 4 generics instead of 5, TQueryData is not needed because data will always be defined\n const queryOptionsOverrideGenerics = props.suspense\n ? [`${factory.name}['response']`, `${factory.name}['error']`, 'TData', 'TQueryKey']\n : [`${factory.name}['response']`, `${factory.name}['error']`, 'TData', 'TQueryData', 'TQueryKey']\n\n const queryOptionsGenerics = props.suspense ? ['TData'] : ['TData', 'TQueryData']\n\n params.add([\n ...(pathParamsType === 'object' ? [getASTParams(schemas.pathParams, { typed: true })] : getASTParams(schemas.pathParams, { typed: true })),\n {\n name: 'params',\n type: `${factory.name}['queryParams']`,\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'headers',\n type: `${factory.name}['headerParams']`,\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'data',\n type: `${factory.name}['request']`,\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n {\n name: 'options',\n type: `{\n query?: Partial<${optionsType}<${queryOptionsOverrideGenerics.join(', ')}>>,\n client?: ${factory.name}['client']['parameters']\n}`,\n default: '{}',\n },\n ])\n\n queryParams.add([\n ...(pathParamsType === 'object' ? [getASTParams(schemas.pathParams)] : getASTParams(schemas.pathParams)),\n {\n name: 'params',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'headers',\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'data',\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n {\n name: 'clientOptions',\n required: false,\n },\n ])\n\n queryKeyParams.add([\n ...(pathParamsType === 'object' ? [getASTParams(schemas.pathParams)] : getASTParams(schemas.pathParams)),\n {\n name: 'params',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'data',\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n ])\n\n const hook = {\n name: hookName,\n generics: [isV5 ? 'any' : `${factory.name}['data']`, `${factory.name}['error']`, 'TData', 'any'].join(', '),\n queryOptions: isV5 ? `${queryOptions}(${queryParams.toString()})` : `${queryOptions}<${queryOptionsGenerics.join(', ')}>(${queryParams.toString()})`,\n queryKey: `${queryKey}(${queryKeyParams.toString()})`,\n }\n\n return (\n <>\n <QueryKey\n keysFn={props.query ? props.query.queryKey : (keys: unknown[]) => keys}\n Template={QueryKeyTemplate}\n factory={factory}\n name={queryKey}\n typeName={queryKeyType}\n />\n\n {props.queryOptions && (\n <QueryOptions\n Template={QueryOptionsTemplate}\n factory={factory}\n resultType={optionsType}\n dataReturnType={dataReturnType}\n infinite={props.infinite}\n suspense={props.suspense}\n />\n )}\n\n {props.query && (\n <Template\n name={[name, props.infinite ? 'Infinite' : undefined, props.suspense ? 'Suspense' : undefined].filter(Boolean).join('')}\n generics={generics.toString()}\n JSDoc={{ comments: getComments(operation) }}\n params={params.toString()}\n returnType={`${resultType}<${resultGenerics.join(', ')}>`}\n hook={hook}\n infinite={props.infinite}\n context={{\n factory,\n queryKey,\n }}\n />\n )}\n </>\n )\n}\n\ntype FileProps = {\n /**\n * This will make it possible to override the default behaviour.\n */\n templates?: {\n query: typeof defaultTemplates\n queryKey: typeof QueryKey.templates\n queryOptions: typeof QueryOptions.templates\n queryImports: typeof QueryImports.templates\n }\n}\n\nQuery.File = function ({ templates }: FileProps): ReactNode {\n const {\n plugin: {\n options: {\n client: { importPath },\n infinite,\n suspense,\n query,\n queryOptions,\n parser,\n },\n },\n } = useApp<PluginReactQuery>()\n\n const { getSchemas, getFile, getName } = useOperationManager()\n const operation = useOperation()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const zodSchemas = getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' })\n const file = getFile(operation)\n const fileType = getFile(operation, { pluginKey: [pluginTsName] })\n const fileZodSchemas = getFile(operation, {\n pluginKey: [pluginZodName],\n })\n\n const factoryName = getName(operation, { type: 'type' })\n\n const importNames = getImportNames()\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const Template = templates?.query['react'] || defaultTemplates['react']\n const QueryOptionsTemplate = templates?.queryOptions['react'] || QueryOptions.templates['react']\n const QueryKeyTemplate = templates?.queryKey['react'] || QueryKey.templates['react']\n const Import = templates?.queryImports['react'] || QueryImports.templates['react']\n\n const factory = {\n name: factoryName,\n }\n\n return (\n <File<FileMeta> baseName={file.baseName} path={file.path} meta={file.meta}>\n {parser === 'zod' && <File.Import name={[zodSchemas.response?.name]} root={file.path} path={fileZodSchemas.path} />}\n <File.Import name={'client'} path={importPath} />\n <File.Import name={['ResponseConfig']} path={importPath} isTypeOnly />\n <File.Import\n name={[\n schemas.request?.name,\n schemas.response.name,\n schemas.pathParams?.name,\n schemas.queryParams?.name,\n schemas.headerParams?.name,\n ...(schemas.errors?.map((error) => error.name) || []),\n ].filter(Boolean)}\n root={file.path}\n path={fileType.path}\n isTypeOnly\n />\n\n <QueryImports hookPath={typeof query !== 'boolean' ? query.importPath : undefined} Template={Import} isInfinite={false} isSuspense={false} />\n {!!infinite && (\n <QueryImports hookPath={typeof query !== 'boolean' ? query.importPath : undefined} Template={Import} isInfinite={true} isSuspense={false} />\n )}\n {!!suspense && isV5 && (\n <QueryImports hookPath={typeof query !== 'boolean' ? query.importPath : undefined} Template={Import} isInfinite={false} isSuspense={true} />\n )}\n <SchemaType />\n <Query\n factory={factory}\n Template={Template}\n QueryKeyTemplate={QueryKeyTemplate}\n QueryOptionsTemplate={QueryOptionsTemplate}\n infinite={false}\n suspense={false}\n query={query}\n queryOptions={queryOptions}\n hookName={importNames.query['react'].hookName}\n resultType={importNames.query['react'].resultType}\n optionsType={importNames.query['react'].optionsType}\n />\n {!!infinite && (\n <Query\n factory={factory}\n Template={Template}\n QueryKeyTemplate={QueryKeyTemplate}\n QueryOptionsTemplate={QueryOptionsTemplate}\n infinite={infinite}\n suspense={false}\n query={query}\n queryOptions={queryOptions}\n hookName={importNames.queryInfinite['react'].hookName}\n resultType={importNames.queryInfinite['react'].resultType}\n optionsType={importNames.queryInfinite['react'].optionsType}\n />\n )}\n {!!suspense && isV5 && (\n <Query\n factory={factory}\n Template={Template}\n QueryKeyTemplate={QueryKeyTemplate}\n QueryOptionsTemplate={QueryOptionsTemplate}\n infinite={false}\n suspense={suspense}\n query={query}\n queryOptions={queryOptions}\n hookName={importNames.querySuspense['react'].hookName}\n resultType={importNames.querySuspense['react'].resultType}\n optionsType={importNames.querySuspense['react'].optionsType}\n />\n )}\n </File>\n )\n}\n\nQuery.templates = defaultTemplates\n","import { PackageManager } from '@kubb/core'\n\nexport const reactQueryDepRegex = /@tanstack\\/(react|solid|vue|svelte)-query/\n\nexport function getImportNames() {\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n\n return {\n mutation: {\n react: {\n path: '@tanstack/react-query',\n hookName: 'useMutation',\n optionsType: 'UseMutationOptions',\n resultType: 'UseMutationResult',\n },\n solid: {\n path: '@tanstack/solid-query',\n hookName: 'createMutation',\n optionsType: 'CreateMutationOptions',\n resultType: 'CreateMutationResult',\n },\n svelte: {\n path: '@tanstack/svelte-query',\n hookName: 'createMutation',\n optionsType: 'CreateMutationOptions',\n resultType: 'CreateMutationResult',\n },\n vue: {\n path: '@tanstack/vue-query',\n hookName: 'useMutation',\n optionsType: isV5 ? 'UseMutationOptions' : 'VueMutationObserverOptions',\n resultType: 'UseMutationReturnType',\n },\n },\n query: {\n react: {\n path: '@tanstack/react-query',\n hookName: 'useQuery',\n optionsType: isV5 ? 'QueryObserverOptions' : 'UseBaseQueryOptions',\n resultType: 'UseQueryResult',\n },\n solid: {\n path: '@tanstack/solid-query',\n hookName: 'createQuery',\n optionsType: 'CreateBaseQueryOptions',\n resultType: 'CreateQueryResult',\n },\n svelte: {\n path: '@tanstack/svelte-query',\n hookName: 'createQuery',\n optionsType: 'CreateBaseQueryOptions',\n resultType: 'CreateQueryResult',\n },\n vue: {\n path: '@tanstack/vue-query',\n hookName: 'useQuery',\n optionsType: isV5 ? 'QueryObserverOptions' : 'VueQueryObserverOptions',\n resultType: isV5 ? 'UseQueryReturnType' : 'UseQueryReturnType',\n },\n },\n queryInfinite: {\n react: {\n path: '@tanstack/react-query',\n hookName: 'useInfiniteQuery',\n optionsType: isV5 ? 'InfiniteQueryObserverOptions' : 'UseInfiniteQueryOptions',\n resultType: 'UseInfiniteQueryResult',\n },\n solid: {\n path: '@tanstack/solid-query',\n hookName: 'createInfiniteQuery',\n optionsType: 'CreateInfiniteQueryOptions',\n resultType: 'CreateInfiniteQueryResult',\n },\n svelte: {\n path: '@tanstack/svelte-query',\n hookName: 'createInfiniteQuery',\n optionsType: 'CreateInfiniteQueryOptions',\n resultType: 'CreateInfiniteQueryResult',\n },\n vue: {\n path: '@tanstack/vue-query',\n hookName: 'useInfiniteQuery',\n optionsType: isV5 ? 'UseInfiniteQueryOptions' : 'VueInfiniteQueryObserverOptions',\n resultType: isV5 ? 'UseInfiniteQueryReturnType' : 'VueInfiniteQueryObserverOptions',\n },\n },\n querySuspense: {\n react: {\n path: '@tanstack/react-query',\n hookName: 'useSuspenseQuery',\n optionsType: 'UseSuspenseQueryOptions',\n resultType: 'UseSuspenseQueryResult',\n },\n },\n } as const\n}\n","import { PackageManager } from '@kubb/core'\nimport { File } from '@kubb/react'\n\nimport { getImportNames, reactQueryDepRegex } from '../utils.ts'\n\nimport type { ReactNode } from 'react'\n\ntype TemplateProps = {\n /**\n * Path to @tanstack-query\n */\n path: string\n /**\n * Override the path of 'useQuery'\n * @default 'path'\n */\n hookPath: string | undefined\n optionsType: string\n queryOptions: string | undefined\n resultType: string\n hookName: string\n isInfinite: boolean\n}\n\nfunction Template({ path, hookPath = path, isInfinite, hookName, queryOptions, optionsType, resultType }: TemplateProps): ReactNode {\n return (\n <>\n <File.Import name={[optionsType, resultType]} path={path} isTypeOnly />\n <File.Import name={[hookName]} path={hookPath} />\n\n {queryOptions && <File.Import name={[queryOptions].filter(Boolean)} path={path} />}\n <File.Import name={['QueryKey', 'WithRequired', isInfinite ? 'InfiniteData' : undefined].filter(Boolean)} path={path} isTypeOnly />\n </>\n )\n}\n\ntype FrameworkProps = Partial<TemplateProps> & {\n context: {\n isInfinite: boolean\n isSuspense: boolean\n }\n}\n\nconst defaultTemplates = {\n get react() {\n return function ({ context, hookPath, ...rest }: FrameworkProps): ReactNode {\n const importNames = getImportNames()\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const { isInfinite, isSuspense } = context\n\n return (\n <Template\n isInfinite={isInfinite}\n {...(isSuspense ? importNames.querySuspense.react : isInfinite ? importNames.queryInfinite.react : importNames.query.react)}\n queryOptions={isV5 ? (isInfinite ? 'infiniteQueryOptions' : 'queryOptions') : undefined}\n hookPath={hookPath}\n {...rest}\n />\n )\n }\n },\n get solid() {\n return function ({ context, hookPath, ...rest }: FrameworkProps): ReactNode {\n const importNames = getImportNames()\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const { isInfinite } = context\n\n return (\n <Template\n isInfinite={isInfinite}\n {...(isInfinite ? importNames.queryInfinite.solid : importNames.query.solid)}\n queryOptions={isV5 ? (isInfinite ? 'infiniteQueryOptions' : 'queryOptions') : undefined}\n hookPath={hookPath}\n {...rest}\n />\n )\n }\n },\n get svelte() {\n return function ({ context, hookPath, ...rest }: FrameworkProps): ReactNode {\n const importNames = getImportNames()\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const { isInfinite } = context\n\n return (\n <Template\n isInfinite={isInfinite}\n {...(isInfinite ? importNames.queryInfinite.svelte : importNames.query.svelte)}\n queryOptions={isV5 ? (isInfinite ? 'infiniteQueryOptions' : 'queryOptions') : undefined}\n hookPath={hookPath}\n {...rest}\n />\n )\n }\n },\n get vue() {\n return function ({ context, hookPath, ...rest }: FrameworkProps): ReactNode {\n const importNames = getImportNames()\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const { isInfinite } = context\n const path = '@tanstack/vue-query'\n\n return (\n <>\n {isV5 && (\n <>\n <Template\n isInfinite={isInfinite}\n {...(isInfinite ? importNames.queryInfinite.vue : importNames.query.vue)}\n queryOptions={isInfinite ? 'infiniteQueryOptions' : 'queryOptions'}\n hookPath={hookPath}\n {...rest}\n />\n <File.Import name={['QueryObserverOptions']} path={path} isTypeOnly />\n </>\n )}\n\n {!isV5 && isInfinite && (\n <>\n <File.Import name={[importNames.queryInfinite.vue.resultType]} path={path} isTypeOnly />\n <File.Import name={[importNames.queryInfinite.vue.optionsType]} path={'@tanstack/vue-query/build/lib/types'} isTypeOnly />\n <File.Import name={[importNames.queryInfinite.vue.hookName]} path={path} />\n </>\n )}\n\n {!isV5 && !isInfinite && (\n <>\n <File.Import name={[importNames.query.vue.resultType]} path={path} isTypeOnly />\n <File.Import name={[importNames.query.vue.optionsType]} path={'@tanstack/vue-query/build/lib/types'} isTypeOnly />\n <File.Import name={[importNames.query.vue.hookName]} path={path} />\n </>\n )}\n <File.Import name={['unref']} path={'vue'} />\n <File.Import name={['MaybeRef']} path={'vue'} isTypeOnly />\n <File.Import name={['QueryKey', 'WithRequired']} path={path} isTypeOnly />\n </>\n )\n }\n },\n} as const\n\ntype Props = {\n hookPath: string | undefined\n isInfinite: boolean\n /**\n * Only for React and v5\n */\n isSuspense: boolean\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: React.ComponentType<FrameworkProps>\n}\n\nexport function QueryImports({ hookPath, isInfinite, isSuspense, Template = defaultTemplates.react }: Props): ReactNode {\n return (\n <Template\n hookPath={hookPath}\n context={{\n isInfinite,\n isSuspense,\n }}\n />\n )\n}\n\nQueryImports.templates = defaultTemplates\n","import { FunctionParams, URLPath } from '@kubb/core/utils'\nimport { Function, Type, File, useApp } from '@kubb/react'\nimport { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getASTParams } from '@kubb/plugin-oas/utils'\n\nimport { isRequired } from '@kubb/oas'\nimport type { ReactNode } from 'react'\nimport type { PluginReactQuery } from '../types'\nimport { pluginTsName } from '@kubb/plugin-ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n /**\n * TypeName of the function in PascalCase\n */\n typeName: string\n /**\n * Parameters/options/props that need to be used\n */\n params: string\n /**\n * Generics that needs to be added for TypeScript\n */\n generics?: string\n /**\n * ReturnType(see async for adding Promise type)\n */\n returnType?: string\n /**\n * Options for JSdocs\n */\n JSDoc?: {\n comments: string[]\n }\n keys?: string\n}\n\nfunction Template({ name, typeName, params, generics, returnType, JSDoc, keys }: TemplateProps): ReactNode {\n return (\n <>\n <File.Source name={name} isExportable>\n <Function.Arrow name={name} export generics={generics} params={params} returnType={returnType} singleLine JSDoc={JSDoc}>\n {`[${keys}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={name} isExportable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\ntype FrameworkProps = TemplateProps & {\n context: {\n factory: {\n name: string\n }\n }\n}\n\nconst defaultTemplates = {\n get react() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get solid() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get svelte() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get vue() {\n return function ({ context, ...rest }: FrameworkProps): ReactNode {\n const { factory } = context\n\n const {\n plugin: {\n options: { pathParamsType, query },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas } = useOperationManager()\n const operation = useOperation()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const path = new URLPath(operation.path)\n const params = new FunctionParams()\n const withQueryParams = !!schemas.queryParams?.name\n const withRequest = !!schemas.request?.name\n\n params.add([\n ...(pathParamsType === 'object'\n ? [\n getASTParams(schemas.pathParams, {\n typed: true,\n override: (item) => ({\n ...item,\n type: `MaybeRef<${item.type}>`,\n }),\n }),\n ]\n : getASTParams(schemas.pathParams, {\n typed: true,\n override: (item) => ({\n ...item,\n type: `MaybeRef<${item.type}>`,\n }),\n })),\n {\n name: 'params',\n type: `MaybeRef<${`${factory.name}[\"queryParams\"]`}>`,\n enabled: withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'request',\n type: `MaybeRef<${`${factory.name}[\"request\"]`}>`,\n enabled: withRequest,\n required: isRequired(schemas.request?.schema),\n },\n ])\n\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n replacer: (pathParam) => `unref(${pathParam})`,\n }),\n withQueryParams ? '...(params ? [params] : [])' : undefined,\n withRequest ? '...(request ? [request] : [])' : undefined,\n ].filter(Boolean)\n\n return <Template {...rest} params={params.toString()} keys={keys.join(', ')} />\n }\n },\n} as const\n\ntype Props = {\n name: string\n typeName: string\n keysFn: (keys: unknown[]) => unknown[]\n factory: {\n name: string\n }\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: React.ComponentType<FrameworkProps>\n}\n\nexport function QueryKey({ name, typeName, factory, keysFn, Template = defaultTemplates.react }: Props): ReactNode {\n const {\n plugin: {\n options: { pathParamsType },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas } = useOperationManager()\n const operation = useOperation()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const path = new URLPath(operation.path)\n const params = new FunctionParams()\n const withQueryParams = !!schemas.queryParams?.name\n const withRequest = !!schemas.request?.name\n\n params.add([\n ...(pathParamsType === 'object' ? [getASTParams(schemas.pathParams, { typed: true })] : getASTParams(schemas.pathParams, { typed: true })),\n {\n name: 'params',\n type: `${factory.name}[\"queryParams\"]`,\n enabled: withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'data',\n type: `${factory.name}[\"request\"]`,\n enabled: withRequest,\n required: isRequired(schemas.request?.schema),\n },\n ])\n\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n withQueryParams ? '...(params ? [params] : [])' : undefined,\n withRequest ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return <Template typeName={typeName} name={name} params={params.toString()} keys={keysFn(keys).join(', ')} context={{ factory }} />\n}\n\nQueryKey.templates = defaultTemplates\n","import { PackageManager } from '@kubb/core'\nimport transformers from '@kubb/core/transformers'\nimport { FunctionParams, URLPath } from '@kubb/core/utils'\nimport { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getASTParams } from '@kubb/plugin-oas/utils'\nimport { Function, useApp, File } from '@kubb/react'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport { isRequired } from '@kubb/oas'\nimport type { HttpMethod } from '@kubb/oas'\nimport type { ReactNode } from 'react'\nimport type { Infinite, PluginReactQuery, Suspense } from '../types.ts'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { reactQueryDepRegex } from '../utils.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n /**\n * Parameters/options/props that need to be used\n */\n params: string\n /**\n * Generics that needs to be added for TypeScript\n */\n generics?: string\n /**\n * ReturnType(see async for adding Promise type)\n */\n returnType?: string\n /**\n * Options for JSdocs\n */\n JSDoc?: {\n comments: string[]\n }\n hook: {\n queryKey: string\n children?: string\n }\n client: {\n generics: string\n method: HttpMethod\n path: URLPath\n withQueryParams: boolean\n withPathParams: boolean\n withData: boolean\n withHeaders: boolean\n contentType: string\n }\n infinite: Infinite | false\n dataReturnType: NonNullable<PluginReactQuery['options']['dataReturnType']>\n parser: string | undefined\n}\n\nfunction Template({ name, params, generics, returnType, JSDoc, hook, client, infinite, dataReturnType, parser }: TemplateProps): ReactNode {\n const isV5 = new PackageManager().isValidSync(reactQueryDepRegex, '>=5')\n const isFormData = client.contentType === 'multipart/form-data'\n const headers = [\n client.contentType !== 'application/json' ? `'Content-Type': '${client.contentType}'` : undefined,\n client.withHeaders ? '...headers' : undefined,\n ]\n .filter(Boolean)\n .join(', ')\n\n const clientOptions = [\n `method: \"${client.method}\"`,\n `url: ${client.path.template}`,\n client.withQueryParams && !infinite ? 'params' : undefined,\n client.withData && !isFormData ? 'data' : undefined,\n client.withData && isFormData ? 'data: formData' : undefined,\n headers.length ? `headers: { ${headers}, ...options.headers }` : undefined,\n '...options',\n client.withQueryParams && !!infinite\n ? `params: {\n ...params,\n ['${infinite.queryParam}']: pageParam,\n ...(options.params || {}),\n }`\n : undefined,\n ].filter(Boolean)\n\n const queryOptions = [\n isV5 && !!infinite ? `initialPageParam: ${infinite.initialPageParam}` : undefined,\n isV5 && !!infinite && !!infinite.cursorParam ? `getNextPageParam: (lastPage) => lastPage['${infinite.cursorParam}']` : undefined,\n isV5 && !!infinite && !!infinite.cursorParam ? `getPreviousPageParam: (firstPage) => firstPage['${infinite.cursorParam}']` : undefined,\n isV5 && !!infinite && !infinite.cursorParam && dataReturnType === 'full'\n ? 'getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1'\n : undefined,\n isV5 && !!infinite && !infinite.cursorParam && dataReturnType === 'data'\n ? 'getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1'\n : undefined,\n isV5 && !!infinite && !infinite.cursorParam\n ? 'getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1'\n : undefined,\n ].filter(Boolean)\n\n const resolvedClientOptions = `${transformers.createIndent(4)}${clientOptions.join(`,\\n${transformers.createIndent(4)}`)}`\n const resolvedQueryOptions = `${transformers.createIndent(4)}${queryOptions.join(`,\\n${transformers.createIndent(4)}`)}`\n\n let returnRes = parser ? `return ${parser}(res.data)` : 'return res.data'\n\n if (dataReturnType === 'full') {\n returnRes = parser ? `return {...res, data: ${parser}(res.data)}` : 'return res'\n }\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : undefined\n\n if (infinite) {\n if (isV5) {\n return (\n <File.Source name={name} isExportable>\n <Function name={name} export params={params} JSDoc={JSDoc}>\n {`\n const queryKey = ${hook.queryKey}\n\n return infiniteQueryOptions({\n queryKey,\n queryFn: async ({ pageParam }) => {\n ${hook.children || ''}\n ${formData || ''}\n const res = await client<${client.generics}>({\n ${resolvedClientOptions}\n })\n\n ${returnRes}\n },\n ${resolvedQueryOptions}\n })\n\n `}\n </Function>\n </File.Source>\n )\n }\n\n return (\n <File.Source name={name} isExportable>\n <Function name={name} export generics={generics} returnType={returnType} params={params} JSDoc={JSDoc}>\n {`\n const queryKey = ${hook.queryKey}\n\n return {\n queryKey,\n queryFn: async ({ pageParam }) => {\n ${hook.children || ''}\n ${formData || ''}\n const res = await client<${client.generics}>({\n ${resolvedClientOptions}\n })\n\n ${returnRes}\n },\n ${resolvedQueryOptions}\n }\n\n `}\n </Function>\n </File.Source>\n )\n }\n\n if (isV5) {\n return (\n <File.Source name={name} isExportable>\n <Function name={name} export params={params} JSDoc={JSDoc}>\n {`\n const queryKey = ${hook.queryKey}\n\n return queryOptions({\n queryKey,\n queryFn: async () => {\n ${hook.children || ''}\n ${formData || ''}\n const res = await client<${client.generics}>({\n ${resolvedClientOptions}\n })\n\n ${returnRes}\n },\n ${resolvedQueryOptions}\n })\n\n `}\n </Function>\n </File.Source>\n )\n }\n\n return (\n <File.Source name={name} isExportable>\n <Function name={name} export generics={generics} returnType={returnType} params={params} JSDoc={JSDoc}>\n {`\n const queryKey = ${hook.queryKey}\n\n return {\n queryKey,\n queryFn: async () => {\n ${hook.children || ''}\n ${formData || ''}\n const res = await client<${client.generics}>({\n ${resolvedClientOptions}\n })\n\n ${returnRes}\n },\n ${resolvedQueryOptions}\n }\n\n `}\n </Function>\n </File.Source>\n )\n}\n\ntype FrameworkProps = TemplateProps & {\n context: {\n factory: {\n name: string\n }\n queryKey: string\n }\n}\n\nconst defaultTemplates = {\n get react() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get solid() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get svelte() {\n return function (props: FrameworkProps): ReactNode {\n return <Template {...props} />\n }\n },\n get vue() {\n return function ({ client, context, ...rest }: FrameworkProps): ReactNode {\n const { factory, queryKey } = context\n\n const {\n plugin: {\n options: { pathParamsType },\n },\n } = useApp<PluginReactQuery>()\n\n const { getSchemas } = useOperationManager()\n const operation = useOperation()\n\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const params = new FunctionParams()\n const queryKeyParams = new FunctionParams()\n\n params.add([\n ...(pathParamsType === 'object'\n ? [\n getASTParams(schemas.pathParams, {\n typed: true,\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n type: `MaybeRef<${item.type}>`,\n }),\n }),\n ]\n : getASTParams(schemas.pathParams, {\n typed: true,\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n type: `MaybeRef<${item.type}>`,\n }),\n })),\n {\n name: 'refParams',\n type: `MaybeRef<${schemas.queryParams?.name}>`,\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'refHeaders',\n type: `MaybeRef<${schemas.headerParams?.name}>`,\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'refData',\n type: `MaybeRef<${schemas.request?.name}>`,\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n {\n name: 'options',\n type: `${factory.name}['client']['parameters']`,\n default: '{}',\n },\n ])\n\n queryKeyParams.add([\n ...(pathParamsType === 'object'\n ? [\n getASTParams(schemas.pathParams, {\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n }),\n ]\n : getASTParams(schemas.pathParams, {\n override: (item) => ({\n ...item,\n name: item.name ? `ref${transformers.pascalCase(item.name)}` : undefined,\n }),\n })),\n {\n name: 'refParams',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'refData',\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n ])\n\n const unrefs = params.items\n .filter((item) => item.enabled)\n .map((item) => {\n return item.name ? `const ${transformers.camelCase(item.name.replace('ref', ''))} = unref(${item.name})` : undefined\n })\n .join('\\n')\n\n const hook = {\n queryKey: `${queryKey}(${queryKeyParams.toString()})`,\n children: unrefs,\n }\n\n return <Template {...rest} params={params.toString()} hook={hook} client={client} />\n }\n },\n} as const\n\ntype Props = {\n infinite: Infinite | false\n suspense: Suspense | false\n factory: {\n name: string\n }\n resultType: string\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: React.ComponentType<FrameworkProps>\n dataReturnType: NonNullable<PluginReactQuery['options']['dataReturnType']>\n}\n\nexport function QueryOptions({ factory, infinite, suspense, resultType, dataReturnType, Template = defaultTemplates.react }: Props): ReactNode {\n const {\n pluginManager,\n plugin: {\n key: pluginKey,\n options: { parser, pathParamsType, queryOptions },\n },\n } = useApp<PluginReactQuery>()\n\n const { getSchemas } = useOperationManager()\n const operation = useOperation()\n\n const contentType = operation.getContentType()\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n const zodSchemas = getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' })\n\n const queryKey = pluginManager.resolveName({\n name: [factory.name, infinite ? 'Infinite' : undefined, suspense ? 'Suspense' : undefined, 'QueryKey'].filter(Boolean).join(''),\n pluginKey,\n })\n const queryOptionsName = pluginManager.resolveName({\n name: [factory.name, infinite ? 'Infinite' : undefined, suspense ? 'Suspense' : undefined, 'QueryOptions'].filter(Boolean).join(''),\n pluginKey,\n })\n\n const generics = new FunctionParams()\n const params = new FunctionParams()\n const queryKeyParams = new FunctionParams()\n\n const clientGenerics = [`${factory.name}['data']`, `${factory.name}['error']`]\n // suspense is having 4 generics instead of 5, TQueryData is not needed because data will always be defined\n const resultGenerics = suspense\n ? [`${factory.name}['response']`, `${factory.name}[\"error\"]`, 'TData']\n : [`${factory.name}['response']`, `${factory.name}[\"error\"]`, 'TData', 'TQueryData']\n\n const client = {\n withQueryParams: !!schemas.queryParams?.name,\n withData: !!schemas.request?.name,\n withPathParams: !!schemas.pathParams?.name,\n withHeaders: !!schemas.headerParams?.name,\n method: operation.method,\n path: new URLPath(operation.path),\n generics: clientGenerics.toString(),\n contentType,\n }\n\n generics.add([\n { type: 'TData', default: `${factory.name}[\"response\"]` },\n suspense ? undefined : { type: 'TQueryData', default: `${factory.name}[\"response\"]` },\n ])\n\n params.add([\n ...(pathParamsType === 'object' ? [getASTParams(schemas.pathParams, { typed: true })] : getASTParams(schemas.pathParams, { typed: true })),\n {\n name: 'params',\n type: `${factory.name}['queryParams']`,\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'headers',\n type: `${factory.name}['headerParams']`,\n enabled: client.withHeaders,\n required: isRequired(schemas.headerParams?.schema),\n },\n {\n name: 'data',\n type: `${factory.name}['request']`,\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n {\n name: 'options',\n type: `${factory.name}['client']['parameters']`,\n default: '{}',\n },\n ])\n\n queryKeyParams.add([\n ...(pathParamsType === 'object' ? [getASTParams(schemas.pathParams)] : getASTParams(schemas.pathParams)),\n {\n name: 'params',\n enabled: client.withQueryParams,\n required: isRequired(schemas.queryParams?.schema),\n },\n {\n name: 'data',\n enabled: client.withData,\n required: isRequired(schemas.request?.schema),\n },\n ])\n\n const hook = {\n queryKey: `${queryKey}(${queryKeyParams.toString()})`,\n }\n\n if (!queryOptions) {\n return null\n }\n\n return (\n <Template\n name={queryOptionsName}\n params={params.toString()}\n generics={generics.toString()}\n returnType={`WithRequired<${resultType}<${resultGenerics.join(', ')}>, 'queryKey'>`}\n client={client}\n hook={hook}\n infinite={infinite}\n dataReturnType={dataReturnType}\n parser={parser === 'zod' ? `${zodSchemas.response.name}.parse` : undefined}\n context={{\n factory,\n queryKey,\n }}\n />\n )\n}\n\nQueryOptions.templates = defaultTemplates\n"],"mappings":"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","names":["useOperation","useOperationManager","File","useApp","pluginTsName","Fragment","jsx","jsxs","File","useApp","useOperationManager","useOperation","pluginTsName","Template","RootTemplate","PackageManager","transformers","FunctionParams","URLPath","File","Function","useApp","pluginTsName","pluginZodName","useOperation","useOperationManager","getASTParams","getComments","PackageManager","File","Fragment","jsx","jsxs","Template","File","defaultTemplates","PackageManager","FunctionParams","URLPath","Function","Type","File","useApp","useOperation","useOperationManager","getASTParams","isRequired","pluginTsName","Fragment","jsx","jsxs","Template","defaultTemplates","PackageManager","transformers","FunctionParams","URLPath","useOperation","useOperationManager","getASTParams","Function","useApp","File","isRequired","pluginTsName","jsx","Template","PackageManager","transformers","File","Function","defaultTemplates","useApp","useOperationManager","useOperation","pluginTsName","FunctionParams","getASTParams","isRequired","URLPath","isRequired","Fragment","jsx","jsxs","Template","PackageManager","File","Function","defaultTemplates","useApp","useOperation","useOperationManager","pluginTsName","FunctionParams","getASTParams","transformers","URLPath","getComments","pluginZodName"]}
|
package/dist/components.cjs
CHANGED
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
var _chunkGTVJ55F2cjs = require('./chunk-GTVJ55F2.cjs');
|
|
6
7
|
|
|
7
|
-
var _chunkJFX7DCS7cjs = require('./chunk-JFX7DCS7.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
exports.Mutation = _chunkJFX7DCS7cjs.Mutation; exports.Operations = _chunkJFX7DCS7cjs.Operations; exports.Query = _chunkJFX7DCS7cjs.Query; exports.QueryKey = _chunkJFX7DCS7cjs.QueryKey; exports.QueryOptions = _chunkJFX7DCS7cjs.QueryOptions;
|
|
12
|
+
exports.Mutation = _chunkGTVJ55F2cjs.Mutation; exports.Query = _chunkGTVJ55F2cjs.Query; exports.QueryKey = _chunkGTVJ55F2cjs.QueryKey; exports.QueryOptions = _chunkGTVJ55F2cjs.QueryOptions;
|
|
15
13
|
//# sourceMappingURL=components.cjs.map
|
package/dist/components.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-react-query/dist/components.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-react-query/dist/components.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,6LAAC","file":"/home/runner/work/kubb/kubb/packages/plugin-react-query/dist/components.cjs"}
|
package/dist/components.d.cts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { M as Mutation,
|
|
1
|
+
export { M as Mutation, Q as Query, a as QueryKey, b as QueryOptions } from './index-5kpkk-7M.cjs';
|
|
2
2
|
import '@kubb/core/utils';
|
|
3
3
|
import '@kubb/oas';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '@kubb/core';
|
|
6
6
|
import '@kubb/fs/types';
|
|
7
7
|
import '@kubb/plugin-oas';
|
|
8
|
-
import '@kubb/react';
|
package/dist/components.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { M as Mutation,
|
|
1
|
+
export { M as Mutation, Q as Query, a as QueryKey, b as QueryOptions } from './index-5kpkk-7M.js';
|
|
2
2
|
import '@kubb/core/utils';
|
|
3
3
|
import '@kubb/oas';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '@kubb/core';
|
|
6
6
|
import '@kubb/fs/types';
|
|
7
7
|
import '@kubb/plugin-oas';
|
|
8
|
-
import '@kubb/react';
|
package/dist/components.js
CHANGED
|
@@ -4,9 +4,8 @@ import { ReactNode, ComponentType, ComponentProps } from 'react';
|
|
|
4
4
|
import { PluginFactoryOptions, ResolveNameParams } from '@kubb/core';
|
|
5
5
|
import * as KubbFile from '@kubb/fs/types';
|
|
6
6
|
import { ResolvePathOptions, Exclude, Include, Override } from '@kubb/plugin-oas';
|
|
7
|
-
import { KubbNode } from '@kubb/react';
|
|
8
7
|
|
|
9
|
-
type TemplateProps$
|
|
8
|
+
type TemplateProps$4 = {
|
|
10
9
|
/**
|
|
11
10
|
* Name of the function
|
|
12
11
|
*/
|
|
@@ -39,39 +38,7 @@ type TemplateProps$5 = {
|
|
|
39
38
|
};
|
|
40
39
|
dataReturnType: NonNullable<PluginReactQuery['options']['dataReturnType']>;
|
|
41
40
|
};
|
|
42
|
-
declare function Template
|
|
43
|
-
type RootTemplateProps$1 = {
|
|
44
|
-
children?: React.ReactNode;
|
|
45
|
-
};
|
|
46
|
-
declare function RootTemplate$1({ children }: RootTemplateProps$1): JSX.Element;
|
|
47
|
-
declare const defaultTemplates$2: {
|
|
48
|
-
readonly default: typeof Template$1;
|
|
49
|
-
readonly root: typeof RootTemplate$1;
|
|
50
|
-
};
|
|
51
|
-
type Templates$2 = Partial<typeof defaultTemplates$2>;
|
|
52
|
-
type MutationProps = {
|
|
53
|
-
/**
|
|
54
|
-
* This will make it possible to override the default behaviour.
|
|
55
|
-
*/
|
|
56
|
-
Template?: ComponentType<ComponentProps<typeof Template$1>>;
|
|
57
|
-
};
|
|
58
|
-
declare function Mutation({ Template }: MutationProps): ReactNode;
|
|
59
|
-
declare namespace Mutation {
|
|
60
|
-
var File: ({ ...props }: FileProps$2) => ReactNode;
|
|
61
|
-
var templates: {
|
|
62
|
-
readonly default: typeof Template$1;
|
|
63
|
-
readonly root: typeof RootTemplate$1;
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
type FileProps$2 = {
|
|
67
|
-
/**
|
|
68
|
-
* This will make it possible to override the default behaviour.
|
|
69
|
-
*/
|
|
70
|
-
templates?: Templates$2;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
type TemplateProps$4 = {};
|
|
74
|
-
declare function Template({}: TemplateProps$4): KubbNode;
|
|
41
|
+
declare function Template({ name, params, mutateParams, JSDoc, client, hook, dataReturnType }: TemplateProps$4): ReactNode;
|
|
75
42
|
type RootTemplateProps = {
|
|
76
43
|
children?: React.ReactNode;
|
|
77
44
|
};
|
|
@@ -81,15 +48,15 @@ declare const defaultTemplates$1: {
|
|
|
81
48
|
readonly root: typeof RootTemplate;
|
|
82
49
|
};
|
|
83
50
|
type Templates$1 = Partial<typeof defaultTemplates$1>;
|
|
84
|
-
type
|
|
51
|
+
type MutationProps = {
|
|
85
52
|
/**
|
|
86
53
|
* This will make it possible to override the default behaviour.
|
|
87
54
|
*/
|
|
88
55
|
Template?: ComponentType<ComponentProps<typeof Template>>;
|
|
89
56
|
};
|
|
90
|
-
declare function
|
|
91
|
-
declare namespace
|
|
92
|
-
var File: (props: FileProps$1) =>
|
|
57
|
+
declare function Mutation({ Template }: MutationProps): ReactNode;
|
|
58
|
+
declare namespace Mutation {
|
|
59
|
+
var File: ({ ...props }: FileProps$1) => ReactNode;
|
|
93
60
|
var templates: {
|
|
94
61
|
readonly default: typeof Template;
|
|
95
62
|
readonly root: typeof RootTemplate;
|
|
@@ -368,7 +335,6 @@ type FileProps = {
|
|
|
368
335
|
};
|
|
369
336
|
|
|
370
337
|
type Templates = {
|
|
371
|
-
operations?: typeof Operations.templates | false;
|
|
372
338
|
mutation?: typeof Mutation.templates | false;
|
|
373
339
|
query?: typeof Query$1.templates | false;
|
|
374
340
|
queryOptions?: typeof QueryOptions$1.templates | false;
|
|
@@ -576,4 +542,4 @@ type ResolvedOptions = {
|
|
|
576
542
|
};
|
|
577
543
|
type PluginReactQuery = PluginFactoryOptions<'plugin-react-query', Options, ResolvedOptions, never, ResolvePathOptions>;
|
|
578
544
|
|
|
579
|
-
export { Mutation as M, type Options as O, type PluginReactQuery as P, Query$1 as Q,
|
|
545
|
+
export { Mutation as M, type Options as O, type PluginReactQuery as P, Query$1 as Q, QueryKey as a, QueryOptions$1 as b };
|
|
@@ -4,9 +4,8 @@ import { ReactNode, ComponentType, ComponentProps } from 'react';
|
|
|
4
4
|
import { PluginFactoryOptions, ResolveNameParams } from '@kubb/core';
|
|
5
5
|
import * as KubbFile from '@kubb/fs/types';
|
|
6
6
|
import { ResolvePathOptions, Exclude, Include, Override } from '@kubb/plugin-oas';
|
|
7
|
-
import { KubbNode } from '@kubb/react';
|
|
8
7
|
|
|
9
|
-
type TemplateProps$
|
|
8
|
+
type TemplateProps$4 = {
|
|
10
9
|
/**
|
|
11
10
|
* Name of the function
|
|
12
11
|
*/
|
|
@@ -39,39 +38,7 @@ type TemplateProps$5 = {
|
|
|
39
38
|
};
|
|
40
39
|
dataReturnType: NonNullable<PluginReactQuery['options']['dataReturnType']>;
|
|
41
40
|
};
|
|
42
|
-
declare function Template
|
|
43
|
-
type RootTemplateProps$1 = {
|
|
44
|
-
children?: React.ReactNode;
|
|
45
|
-
};
|
|
46
|
-
declare function RootTemplate$1({ children }: RootTemplateProps$1): JSX.Element;
|
|
47
|
-
declare const defaultTemplates$2: {
|
|
48
|
-
readonly default: typeof Template$1;
|
|
49
|
-
readonly root: typeof RootTemplate$1;
|
|
50
|
-
};
|
|
51
|
-
type Templates$2 = Partial<typeof defaultTemplates$2>;
|
|
52
|
-
type MutationProps = {
|
|
53
|
-
/**
|
|
54
|
-
* This will make it possible to override the default behaviour.
|
|
55
|
-
*/
|
|
56
|
-
Template?: ComponentType<ComponentProps<typeof Template$1>>;
|
|
57
|
-
};
|
|
58
|
-
declare function Mutation({ Template }: MutationProps): ReactNode;
|
|
59
|
-
declare namespace Mutation {
|
|
60
|
-
var File: ({ ...props }: FileProps$2) => ReactNode;
|
|
61
|
-
var templates: {
|
|
62
|
-
readonly default: typeof Template$1;
|
|
63
|
-
readonly root: typeof RootTemplate$1;
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
type FileProps$2 = {
|
|
67
|
-
/**
|
|
68
|
-
* This will make it possible to override the default behaviour.
|
|
69
|
-
*/
|
|
70
|
-
templates?: Templates$2;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
type TemplateProps$4 = {};
|
|
74
|
-
declare function Template({}: TemplateProps$4): KubbNode;
|
|
41
|
+
declare function Template({ name, params, mutateParams, JSDoc, client, hook, dataReturnType }: TemplateProps$4): ReactNode;
|
|
75
42
|
type RootTemplateProps = {
|
|
76
43
|
children?: React.ReactNode;
|
|
77
44
|
};
|
|
@@ -81,15 +48,15 @@ declare const defaultTemplates$1: {
|
|
|
81
48
|
readonly root: typeof RootTemplate;
|
|
82
49
|
};
|
|
83
50
|
type Templates$1 = Partial<typeof defaultTemplates$1>;
|
|
84
|
-
type
|
|
51
|
+
type MutationProps = {
|
|
85
52
|
/**
|
|
86
53
|
* This will make it possible to override the default behaviour.
|
|
87
54
|
*/
|
|
88
55
|
Template?: ComponentType<ComponentProps<typeof Template>>;
|
|
89
56
|
};
|
|
90
|
-
declare function
|
|
91
|
-
declare namespace
|
|
92
|
-
var File: (props: FileProps$1) =>
|
|
57
|
+
declare function Mutation({ Template }: MutationProps): ReactNode;
|
|
58
|
+
declare namespace Mutation {
|
|
59
|
+
var File: ({ ...props }: FileProps$1) => ReactNode;
|
|
93
60
|
var templates: {
|
|
94
61
|
readonly default: typeof Template;
|
|
95
62
|
readonly root: typeof RootTemplate;
|
|
@@ -368,7 +335,6 @@ type FileProps = {
|
|
|
368
335
|
};
|
|
369
336
|
|
|
370
337
|
type Templates = {
|
|
371
|
-
operations?: typeof Operations.templates | false;
|
|
372
338
|
mutation?: typeof Mutation.templates | false;
|
|
373
339
|
query?: typeof Query$1.templates | false;
|
|
374
340
|
queryOptions?: typeof QueryOptions$1.templates | false;
|
|
@@ -576,4 +542,4 @@ type ResolvedOptions = {
|
|
|
576
542
|
};
|
|
577
543
|
type PluginReactQuery = PluginFactoryOptions<'plugin-react-query', Options, ResolvedOptions, never, ResolvePathOptions>;
|
|
578
544
|
|
|
579
|
-
export { Mutation as M, type Options as O, type PluginReactQuery as P, Query$1 as Q,
|
|
545
|
+
export { Mutation as M, type Options as O, type PluginReactQuery as P, Query$1 as Q, QueryKey as a, QueryOptions$1 as b };
|
package/dist/index.cjs
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
var _chunkJFX7DCS7cjs = require('./chunk-JFX7DCS7.cjs');
|
|
7
|
+
var _chunkGTVJ55F2cjs = require('./chunk-GTVJ55F2.cjs');
|
|
9
8
|
|
|
10
9
|
// src/plugin.ts
|
|
11
10
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
@@ -13,7 +12,6 @@ var _core = require('@kubb/core');
|
|
|
13
12
|
var _transformers = require('@kubb/core/transformers');
|
|
14
13
|
var _utils = require('@kubb/core/utils');
|
|
15
14
|
var _pluginoas = require('@kubb/plugin-oas');
|
|
16
|
-
var _utils3 = require('@kubb/plugin-oas/utils');
|
|
17
15
|
var _plugints = require('@kubb/plugin-ts');
|
|
18
16
|
var _pluginzod = require('@kubb/plugin-zod');
|
|
19
17
|
|
|
@@ -23,45 +21,26 @@ var _components = require('@kubb/plugin-oas/components');
|
|
|
23
21
|
var _react = require('@kubb/react');
|
|
24
22
|
var _jsxruntime = require('@kubb/react/jsx-runtime');
|
|
25
23
|
var OperationGenerator = class extends _pluginoas.OperationGenerator {
|
|
26
|
-
async all(operations) {
|
|
27
|
-
const { pluginManager, oas, plugin, mode } = this.context;
|
|
28
|
-
const root = _react.createRoot.call(void 0, {
|
|
29
|
-
logger: pluginManager.logger
|
|
30
|
-
});
|
|
31
|
-
const templates = {
|
|
32
|
-
mutation: _chunkJFX7DCS7cjs.Mutation.templates,
|
|
33
|
-
query: _chunkJFX7DCS7cjs.Query.templates,
|
|
34
|
-
queryOptions: _chunkJFX7DCS7cjs.QueryOptions.templates,
|
|
35
|
-
queryKey: _chunkJFX7DCS7cjs.QueryKey.templates,
|
|
36
|
-
queryImports: _chunkJFX7DCS7cjs.QueryImports.templates,
|
|
37
|
-
operations: _chunkJFX7DCS7cjs.Operations.templates,
|
|
38
|
-
...this.options.templates
|
|
39
|
-
};
|
|
40
|
-
root.render(
|
|
41
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.App, { pluginManager, plugin, mode, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _components.Oas, { oas, operations, generator: this, children: templates.operations && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJFX7DCS7cjs.Operations.File, { templates: templates.operations }) }) })
|
|
42
|
-
);
|
|
43
|
-
return root.files;
|
|
44
|
-
}
|
|
45
24
|
async operation(operation, options) {
|
|
46
25
|
const { oas, pluginManager, plugin, mode } = this.context;
|
|
47
26
|
const root = _react.createRoot.call(void 0, {
|
|
48
27
|
logger: pluginManager.logger
|
|
49
28
|
});
|
|
50
29
|
const templates = {
|
|
51
|
-
mutation:
|
|
52
|
-
query:
|
|
53
|
-
queryOptions:
|
|
54
|
-
queryKey:
|
|
55
|
-
queryImports:
|
|
30
|
+
mutation: _chunkGTVJ55F2cjs.Mutation.templates,
|
|
31
|
+
query: _chunkGTVJ55F2cjs.Query.templates,
|
|
32
|
+
queryOptions: _chunkGTVJ55F2cjs.QueryOptions.templates,
|
|
33
|
+
queryKey: _chunkGTVJ55F2cjs.QueryKey.templates,
|
|
34
|
+
queryImports: _chunkGTVJ55F2cjs.QueryImports.templates,
|
|
56
35
|
...options.templates
|
|
57
36
|
};
|
|
58
37
|
const isQuery = typeof options.query === "boolean" ? true : _optionalChain([options, 'access', _ => _.query, 'optionalAccess', _2 => _2.methods, 'access', _3 => _3.some, 'call', _4 => _4((method) => operation.method === method)]);
|
|
59
38
|
const isMutate = !isQuery && options.mutate && options.mutate.methods.some((method) => operation.method === method);
|
|
60
39
|
root.render(
|
|
61
40
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.App, { pluginManager, plugin: { ...plugin, options }, mode, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _components.Oas, { oas, operations: [operation], generator: this, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _components.Oas.Operation, { operation, children: [
|
|
62
|
-
isMutate && _optionalChain([templates, 'optionalAccess', _5 => _5.mutation]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41
|
+
isMutate && _optionalChain([templates, 'optionalAccess', _5 => _5.mutation]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGTVJ55F2cjs.Mutation.File, { templates: templates.mutation }),
|
|
63
42
|
isQuery && _optionalChain([templates, 'optionalAccess', _6 => _6.query]) && templates.queryKey && templates.queryOptions && templates.queryImports && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
64
|
-
|
|
43
|
+
_chunkGTVJ55F2cjs.Query.File,
|
|
65
44
|
{
|
|
66
45
|
templates: {
|
|
67
46
|
query: templates.query,
|
|
@@ -127,12 +106,11 @@ var pluginReactQuery = _core.createPlugin.call(void 0, (options) => {
|
|
|
127
106
|
...mutate
|
|
128
107
|
} : false,
|
|
129
108
|
templates: {
|
|
130
|
-
mutation:
|
|
131
|
-
query:
|
|
132
|
-
queryOptions:
|
|
133
|
-
queryKey:
|
|
134
|
-
queryImports:
|
|
135
|
-
operations: _chunkJFX7DCS7cjs.Operations.templates,
|
|
109
|
+
mutation: _chunkGTVJ55F2cjs.Mutation.templates,
|
|
110
|
+
query: _chunkGTVJ55F2cjs.Query.templates,
|
|
111
|
+
queryOptions: _chunkGTVJ55F2cjs.QueryOptions.templates,
|
|
112
|
+
queryKey: _chunkGTVJ55F2cjs.QueryKey.templates,
|
|
113
|
+
queryImports: _chunkGTVJ55F2cjs.QueryImports.templates,
|
|
136
114
|
...templates
|
|
137
115
|
},
|
|
138
116
|
parser
|
|
@@ -183,34 +161,16 @@ var pluginReactQuery = _core.createPlugin.call(void 0, (options) => {
|
|
|
183
161
|
});
|
|
184
162
|
const files = await operationGenerator.build();
|
|
185
163
|
await this.addFile(...files);
|
|
186
|
-
if (this.config.output.write
|
|
187
|
-
const
|
|
188
|
-
|
|
164
|
+
if (this.config.output.write) {
|
|
165
|
+
const indexFiles = await this.fileManager.getIndexFiles({
|
|
166
|
+
root,
|
|
167
|
+
output,
|
|
189
168
|
files: this.fileManager.files,
|
|
190
169
|
plugin: this.plugin,
|
|
191
|
-
|
|
192
|
-
exportAs: group.exportAs || "{{tag}}Hooks",
|
|
193
|
-
root,
|
|
194
|
-
output
|
|
170
|
+
logger: this.logger
|
|
195
171
|
});
|
|
196
|
-
await this.addFile(...
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
async buildEnd() {
|
|
200
|
-
if (this.config.output.write === false) {
|
|
201
|
-
return;
|
|
172
|
+
await this.addFile(...indexFiles);
|
|
202
173
|
}
|
|
203
|
-
const root = _path2.default.resolve(this.config.root, this.config.output.path);
|
|
204
|
-
const files = await this.fileManager.getIndexFiles({
|
|
205
|
-
root,
|
|
206
|
-
output,
|
|
207
|
-
meta: { pluginKey: this.plugin.key },
|
|
208
|
-
logger: this.logger
|
|
209
|
-
});
|
|
210
|
-
await this.fileManager.processFiles({
|
|
211
|
-
logger: this.logger,
|
|
212
|
-
files
|
|
213
|
-
});
|
|
214
174
|
}
|
|
215
175
|
};
|
|
216
176
|
});
|