@kubb/plugin-vue-query 5.0.0-beta.64 → 5.0.0-beta.73

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"generators-fWBjs0CN.js","names":[],"sources":["../src/generators/infiniteQueryGenerator.tsx","../src/generators/mutationGenerator.tsx","../src/generators/queryGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { getOperationParameters, operationFileEntry, resolveOperationTypeNames } from '@internals/shared'\nimport { resolveZodSchemaNames } from '@internals/tanstack-query'\nimport { ast, defineGenerator } from '@kubb/core'\nimport { Client, isParserEnabled, pluginClientName } from '@kubb/plugin-client'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, jsxRenderer } from '@kubb/renderer-jsx'\nimport { InfiniteQuery, InfiniteQueryOptions, QueryKey } from '../components'\nimport type { PluginVueQuery } from '../types'\n\n/**\n * Built-in generator for `useInfiniteQuery` composables. Enabled when\n * `pluginVueQuery({ infinite: { ... } })`. Emits one `useFooInfiniteQuery`\n * composable per query operation, wiring the configured cursor path into\n * TanStack Query's cursor-based pagination.\n */\nexport const infiniteQueryGenerator = defineGenerator<PluginVueQuery>({\n name: 'vue-query-infinite',\n renderer: jsxRenderer,\n operation(node, ctx) {\n if (!ast.isHttpOperationNode(node)) return null\n const { config, driver, resolver, root } = ctx\n const { output, query, mutation, infinite, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options\n\n const pluginTs = driver.getPlugin(pluginTsName)\n if (!pluginTs) return null\n const tsResolver = driver.getResolver(pluginTsName)\n\n const isQuery = query === false || (!!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase()))\n const queryMethods = new Set(query ? query.methods : [])\n const isMutation =\n mutation !== false &&\n !isQuery &&\n (mutation ? mutation.methods : []).some((method) => !queryMethods.has(method) && node.method.toLowerCase() === method.toLowerCase())\n const infiniteOptions = infinite && typeof infinite === 'object' ? infinite : null\n\n if (!isQuery || isMutation || !infiniteOptions) return null\n\n // Validate queryParam exists in operation's query parameters\n const normalizeKey = (key: string) => key.replace(/\\?$/, '')\n const queryParamKeys = getOperationParameters(node).query.map((p) => p.name)\n const hasQueryParam = infiniteOptions.queryParam ? queryParamKeys.some((k) => normalizeKey(k) === infiniteOptions.queryParam) : false\n // cursorParam validation against response schema keys is skipped in v5 (complex schema inspection)\n const hasCursorParam = !infiniteOptions.cursorParam || true\n\n if (!hasQueryParam || !hasCursorParam) return null\n\n const importPath = query ? query.importPath : '@tanstack/vue-query'\n\n const queryName = resolver.resolveInfiniteQueryName(node)\n const queryOptionsName = resolver.resolveInfiniteQueryOptionsName(node)\n const queryKeyName = resolver.resolveInfiniteQueryKeyName(node)\n const queryKeyTypeName = resolver.resolveInfiniteQueryKeyTypeName(node)\n const clientBaseName = resolver.resolveInfiniteClientName(node)\n\n const meta = {\n file: resolver.resolveFile(operationFileEntry(node, queryName), { root, output, group: group ?? undefined }),\n fileTs: tsResolver.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: pluginTs.options?.output ?? output,\n group: pluginTs.options?.group ?? undefined,\n }),\n }\n\n const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {\n paramsCasing,\n exclude: [queryKeyTypeName],\n order: 'body-response-first',\n })\n\n const pluginZod = isParserEnabled(parser) ? driver.getPlugin(pluginZodName) : null\n const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null\n const fileZod = zodResolver\n ? zodResolver.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: pluginZod?.options?.output ?? output,\n group: pluginZod?.options?.group ?? undefined,\n })\n : null\n const zodSchemaNames = resolveZodSchemaNames(node, zodResolver, parser)\n\n const clientPlugin = driver.getPlugin(pluginClientName)\n const hasClientPlugin = clientPlugin?.name === pluginClientName\n const shouldUseClientPlugin = hasClientPlugin && clientOptions.clientType !== 'class'\n const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null\n\n const clientFile = shouldUseClientPlugin\n ? clientResolver?.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: clientPlugin?.options?.output ?? output,\n group: clientPlugin?.options?.group ?? undefined,\n })\n : null\n\n const resolvedClientName = shouldUseClientPlugin ? (clientResolver?.resolveName(node.operationId) ?? clientBaseName) : clientBaseName\n\n return (\n <File\n baseName={meta.file.baseName}\n path={meta.file.path}\n meta={meta.file.meta}\n banner={resolver.resolveBanner(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}\n footer={resolver.resolveFooter(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}\n >\n {fileZod && zodSchemaNames.length > 0 && <File.Import name={zodSchemaNames} root={meta.file.path} path={fileZod.path} />}\n {clientOptions.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'client'} path={clientOptions.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={clientOptions.importPath} isTypeOnly />\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['client']} root={meta.file.path} path={path.resolve(root, '.kubb/client.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={meta.file.path}\n path={path.resolve(root, '.kubb/client.ts')}\n isTypeOnly\n />\n </>\n )}\n <File.Import name={['toValue']} path=\"vue\" />\n <File.Import name={['MaybeRefOrGetter']} path=\"vue\" isTypeOnly />\n {shouldUseClientPlugin && clientFile && <File.Import name={[resolvedClientName]} root={meta.file.path} path={clientFile.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={meta.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n {meta.fileTs && importedTypeNames.length > 0 && (\n <File.Import name={Array.from(new Set(importedTypeNames))} root={meta.file.path} path={meta.fileTs.path} isTypeOnly />\n )}\n\n <QueryKey\n name={queryKeyName}\n typeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n pathParamsType={pathParamsType}\n paramsCasing={paramsCasing}\n transformer={ctx.options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={resolvedClientName}\n baseURL={clientOptions.baseURL}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsCasing={clientOptions.paramsCasing || paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n parser={parser}\n node={node}\n tsResolver={tsResolver}\n zodResolver={zodResolver}\n />\n )}\n\n <File.Import name={['InfiniteData']} isTypeOnly path={importPath} />\n <File.Import name={['infiniteQueryOptions']} path={importPath} />\n\n <InfiniteQueryOptions\n name={queryOptionsName}\n clientName={resolvedClientName}\n queryKeyName={queryKeyName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n cursorParam={infiniteOptions.cursorParam}\n nextParam={infiniteOptions.nextParam}\n previousParam={infiniteOptions.previousParam}\n initialPageParam={infiniteOptions.initialPageParam}\n queryParam={infiniteOptions.queryParam}\n />\n\n <File.Import name={['useInfiniteQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'UseInfiniteQueryOptions', 'UseInfiniteQueryReturnType']} path={importPath} isTypeOnly />\n\n <InfiniteQuery\n name={queryName}\n queryOptionsName={queryOptionsName}\n queryKeyName={queryKeyName}\n queryKeyTypeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n initialPageParam={infiniteOptions.initialPageParam}\n queryParam={infiniteOptions.queryParam}\n />\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { operationFileEntry, resolveOperationTypeNames } from '@internals/shared'\nimport { resolveZodSchemaNames } from '@internals/tanstack-query'\nimport { ast, defineGenerator } from '@kubb/core'\nimport { Client, isParserEnabled, pluginClientName } from '@kubb/plugin-client'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, jsxRenderer } from '@kubb/renderer-jsx'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginVueQuery } from '../types'\n\n/**\n * Built-in generator for `useMutation` composables. Emits one\n * `useFooMutation` composable per POST/PUT/DELETE operation (configurable\n * via `mutation.methods`) plus the matching `fooMutationKey` helper.\n */\nexport const mutationGenerator = defineGenerator<PluginVueQuery>({\n name: 'vue-query-mutation',\n renderer: jsxRenderer,\n operation(node, ctx) {\n if (!ast.isHttpOperationNode(node)) return null\n const { config, driver, resolver, root } = ctx\n const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options\n\n const pluginTs = driver.getPlugin(pluginTsName)\n if (!pluginTs) return null\n const tsResolver = driver.getResolver(pluginTsName)\n\n const isQuery = query === false || (!!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase()))\n const queryMethods = new Set(query ? query.methods : [])\n const isMutation =\n mutation !== false &&\n !isQuery &&\n (mutation ? mutation.methods : []).some((method) => !queryMethods.has(method) && node.method.toLowerCase() === method.toLowerCase())\n\n if (!isMutation) return null\n\n const importPath = mutation ? mutation.importPath : '@tanstack/vue-query'\n\n const mutationHookName = resolver.resolveMutationName(node)\n const mutationTypeName = resolver.resolveMutationTypeName(node)\n const mutationKeyName = resolver.resolveMutationKeyName(node)\n const clientName = resolver.resolveClientName(node)\n\n const meta = {\n file: resolver.resolveFile(operationFileEntry(node, mutationHookName), { root, output, group: group ?? undefined }),\n fileTs: tsResolver.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: pluginTs.options?.output ?? output,\n group: pluginTs.options?.group ?? undefined,\n }),\n }\n\n const importedTypeNames = resolveOperationTypeNames(node, tsResolver, { paramsCasing, order: 'body-response-first' })\n\n const pluginZod = isParserEnabled(parser) ? driver.getPlugin(pluginZodName) : null\n const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null\n const fileZod = zodResolver\n ? zodResolver.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: pluginZod?.options?.output ?? output,\n group: pluginZod?.options?.group ?? undefined,\n })\n : null\n const zodSchemaNames = resolveZodSchemaNames(node, zodResolver, parser)\n\n const clientPlugin = driver.getPlugin(pluginClientName)\n const hasClientPlugin = clientPlugin?.name === pluginClientName\n const shouldUseClientPlugin = hasClientPlugin && clientOptions.clientType !== 'class'\n const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null\n\n const clientFile = shouldUseClientPlugin\n ? clientResolver?.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: clientPlugin?.options?.output ?? output,\n group: clientPlugin?.options?.group ?? undefined,\n })\n : null\n\n const resolvedClientName = shouldUseClientPlugin ? (clientResolver?.resolveName(node.operationId) ?? clientName) : clientName\n\n return (\n <File\n baseName={meta.file.baseName}\n path={meta.file.path}\n meta={meta.file.meta}\n banner={resolver.resolveBanner(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}\n footer={resolver.resolveFooter(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}\n >\n {fileZod && zodSchemaNames.length > 0 && <File.Import name={zodSchemaNames} root={meta.file.path} path={fileZod.path} />}\n {clientOptions.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'client'} path={clientOptions.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={clientOptions.importPath} isTypeOnly />\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['client']} root={meta.file.path} path={path.resolve(root, '.kubb/client.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={meta.file.path}\n path={path.resolve(root, '.kubb/client.ts')}\n isTypeOnly\n />\n </>\n )}\n <File.Import name={['MaybeRefOrGetter']} path=\"vue\" isTypeOnly />\n {shouldUseClientPlugin && clientFile && <File.Import name={[resolvedClientName]} root={meta.file.path} path={clientFile.path} />}\n {!shouldUseClientPlugin && node.requestBody?.content?.some((e) => e.contentType === 'multipart/form-data') && (\n <File.Import name={['buildFormData']} root={meta.file.path} path={path.resolve(root, '.kubb/config.ts')} />\n )}\n {!shouldUseClientPlugin && parser === 'zod' && zodResolver && node.requestBody?.content?.[0]?.schema && (\n <File.Import name={['z']} path=\"zod\" isTypeOnly />\n )}\n {meta.fileTs && importedTypeNames.length > 0 && (\n <File.Import name={Array.from(new Set(importedTypeNames))} root={meta.file.path} path={meta.fileTs.path} isTypeOnly />\n )}\n\n <MutationKey name={mutationKeyName} node={node} pathParamsType={pathParamsType} paramsCasing={paramsCasing} transformer={ctx.options.mutationKey} />\n\n {!shouldUseClientPlugin && (\n <Client\n name={resolvedClientName}\n baseURL={clientOptions.baseURL}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsCasing={clientOptions.paramsCasing || paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n parser={parser}\n node={node}\n tsResolver={tsResolver}\n zodResolver={zodResolver}\n />\n )}\n\n {mutation && (\n <>\n <File.Import name={['useMutation']} path={importPath} />\n <File.Import name={['MutationObserverOptions', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutationHookName}\n clientName={resolvedClientName}\n typeName={mutationTypeName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n mutationKeyName={mutationKeyName}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { operationFileEntry, resolveOperationTypeNames } from '@internals/shared'\nimport { resolveZodSchemaNames } from '@internals/tanstack-query'\nimport { ast, defineGenerator } from '@kubb/core'\nimport { Client, isParserEnabled, pluginClientName } from '@kubb/plugin-client'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, jsxRenderer } from '@kubb/renderer-jsx'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginVueQuery } from '../types'\n\n/**\n * Built-in generator for `useQuery` composables. Emits one `useFooQuery`\n * composable per GET operation (configurable via `query.methods`) plus the\n * matching `fooQueryKey` / `fooQueryOptions` helpers.\n */\nexport const queryGenerator = defineGenerator<PluginVueQuery>({\n name: 'vue-query',\n renderer: jsxRenderer,\n operation(node, ctx) {\n if (!ast.isHttpOperationNode(node)) return null\n const { config, driver, resolver, root } = ctx\n const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options\n\n const pluginTs = driver.getPlugin(pluginTsName)\n if (!pluginTs) return null\n const tsResolver = driver.getResolver(pluginTsName)\n\n const isQuery = query === false || (!!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase()))\n const queryMethods = new Set(query ? query.methods : [])\n const isMutation =\n mutation !== false &&\n !isQuery &&\n (mutation ? mutation.methods : []).some((method) => !queryMethods.has(method) && node.method.toLowerCase() === method.toLowerCase())\n\n if (!isQuery || isMutation) return null\n\n const importPath = query ? query.importPath : '@tanstack/vue-query'\n\n const queryName = resolver.resolveQueryName(node)\n const queryOptionsName = resolver.resolveQueryOptionsName(node)\n const queryKeyName = resolver.resolveQueryKeyName(node)\n const queryKeyTypeName = resolver.resolveQueryKeyTypeName(node)\n const clientName = resolver.resolveClientName(node)\n\n const meta = {\n file: resolver.resolveFile(operationFileEntry(node, queryName), { root, output, group: group ?? undefined }),\n fileTs: tsResolver.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: pluginTs.options?.output ?? output,\n group: pluginTs.options?.group ?? undefined,\n }),\n }\n\n const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {\n paramsCasing,\n exclude: [queryKeyTypeName],\n order: 'body-response-first',\n })\n\n const pluginZod = isParserEnabled(parser) ? driver.getPlugin(pluginZodName) : null\n const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null\n const fileZod = zodResolver\n ? zodResolver.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: pluginZod?.options?.output ?? output,\n group: pluginZod?.options?.group ?? undefined,\n })\n : null\n const zodSchemaNames = resolveZodSchemaNames(node, zodResolver, parser)\n\n const clientPlugin = driver.getPlugin(pluginClientName)\n const hasClientPlugin = clientPlugin?.name === pluginClientName\n const shouldUseClientPlugin = hasClientPlugin && clientOptions.clientType !== 'class'\n const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null\n\n const clientFile = shouldUseClientPlugin\n ? clientResolver?.resolveFile(operationFileEntry(node, node.operationId), {\n root,\n output: clientPlugin?.options?.output ?? output,\n group: clientPlugin?.options?.group ?? undefined,\n })\n : null\n\n const resolvedClientName = shouldUseClientPlugin ? (clientResolver?.resolveName(node.operationId) ?? clientName) : clientName\n\n return (\n <File\n baseName={meta.file.baseName}\n path={meta.file.path}\n meta={meta.file.meta}\n banner={resolver.resolveBanner(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}\n footer={resolver.resolveFooter(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}\n >\n {fileZod && zodSchemaNames.length > 0 && <File.Import name={zodSchemaNames} root={meta.file.path} path={fileZod.path} />}\n {clientOptions.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'client'} path={clientOptions.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={clientOptions.importPath} isTypeOnly />\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['client']} root={meta.file.path} path={path.resolve(root, '.kubb/client.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={meta.file.path}\n path={path.resolve(root, '.kubb/client.ts')}\n isTypeOnly\n />\n </>\n )}\n <File.Import name={['toValue']} path=\"vue\" />\n <File.Import name={['MaybeRefOrGetter']} path=\"vue\" isTypeOnly />\n {shouldUseClientPlugin && clientFile && <File.Import name={[resolvedClientName]} root={meta.file.path} path={clientFile.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={meta.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n {meta.fileTs && importedTypeNames.length > 0 && (\n <File.Import name={Array.from(new Set(importedTypeNames))} root={meta.file.path} path={meta.fileTs.path} isTypeOnly />\n )}\n\n <QueryKey\n name={queryKeyName}\n typeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n pathParamsType={pathParamsType}\n paramsCasing={paramsCasing}\n transformer={ctx.options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={resolvedClientName}\n baseURL={clientOptions.baseURL}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsCasing={clientOptions.paramsCasing || paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n parser={parser}\n node={node}\n tsResolver={tsResolver}\n zodResolver={zodResolver}\n />\n )}\n\n <File.Import name={['queryOptions']} path={importPath} />\n\n <QueryOptions\n name={queryOptionsName}\n clientName={resolvedClientName}\n queryKeyName={queryKeyName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n />\n\n {query && (\n <>\n <File.Import name={['useQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'UseQueryOptions', 'UseQueryReturnType']} path={importPath} isTypeOnly />\n <Query\n name={queryName}\n queryOptionsName={queryOptionsName}\n queryKeyName={queryKeyName}\n queryKeyTypeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_generators = require("./generators-DpMLVmyi.cjs");
3
- exports.infiniteQueryGenerator = require_generators.infiniteQueryGenerator;
4
- exports.mutationGenerator = require_generators.mutationGenerator;
5
- exports.queryGenerator = require_generators.queryGenerator;
@@ -1,30 +0,0 @@
1
- import { t as __name } from "./chunk-C0LytTxp.js";
2
- import { r as PluginVueQuery } from "./types-C6a_58nb.js";
3
-
4
- //#region src/generators/infiniteQueryGenerator.d.ts
5
- /**
6
- * Built-in generator for `useInfiniteQuery` composables. Enabled when
7
- * `pluginVueQuery({ infinite: { ... } })`. Emits one `useFooInfiniteQuery`
8
- * composable per query operation, wiring the configured cursor path into
9
- * TanStack Query's cursor-based pagination.
10
- */
11
- declare const infiniteQueryGenerator: import("@kubb/core").Generator<PluginVueQuery, unknown>;
12
- //#endregion
13
- //#region src/generators/mutationGenerator.d.ts
14
- /**
15
- * Built-in generator for `useMutation` composables. Emits one
16
- * `useFooMutation` composable per POST/PUT/DELETE operation (configurable
17
- * via `mutation.methods`) plus the matching `fooMutationKey` helper.
18
- */
19
- declare const mutationGenerator: import("@kubb/core").Generator<PluginVueQuery, unknown>;
20
- //#endregion
21
- //#region src/generators/queryGenerator.d.ts
22
- /**
23
- * Built-in generator for `useQuery` composables. Emits one `useFooQuery`
24
- * composable per GET operation (configurable via `query.methods`) plus the
25
- * matching `fooQueryKey` / `fooQueryOptions` helpers.
26
- */
27
- declare const queryGenerator: import("@kubb/core").Generator<PluginVueQuery, unknown>;
28
- //#endregion
29
- export { infiniteQueryGenerator, mutationGenerator, queryGenerator };
30
- //# sourceMappingURL=generators.d.ts.map
@@ -1,2 +0,0 @@
1
- import { n as mutationGenerator, r as infiniteQueryGenerator, t as queryGenerator } from "./generators-fWBjs0CN.js";
2
- export { infiniteQueryGenerator, mutationGenerator, queryGenerator };
@@ -1,266 +0,0 @@
1
- import { t as __name } from "./chunk-C0LytTxp.js";
2
- import { Exclude, Generator, Group, Include, Output, OutputOptions, Override, PluginFactoryOptions, Resolver, ast } from "@kubb/core";
3
- import { ClientImportPath, PluginClient } from "@kubb/plugin-client";
4
-
5
- //#region src/types.d.ts
6
- type Transformer = (props: {
7
- node: ast.OperationNode;
8
- casing: 'camelcase' | undefined;
9
- }) => Array<unknown>;
10
- /**
11
- * Resolver for Vue Query that provides naming methods for hook functions.
12
- */
13
- type ResolverVueQuery = Resolver & {
14
- /**
15
- * Resolves the base function name for an operation.
16
- */
17
- resolveName(this: ResolverVueQuery, name: string): string;
18
- /**
19
- * Resolves the output file name for a hook module.
20
- */
21
- resolvePathName(this: ResolverVueQuery, name: string, type?: 'file' | 'function' | 'type' | 'const'): string;
22
- /**
23
- * Resolves a query hook function name.
24
- */
25
- resolveQueryName(this: ResolverVueQuery, node: ast.OperationNode): string;
26
- /**
27
- * Resolves an infinite query hook function name.
28
- */
29
- resolveInfiniteQueryName(this: ResolverVueQuery, node: ast.OperationNode): string;
30
- /**
31
- * Resolves a mutation hook function name.
32
- */
33
- resolveMutationName(this: ResolverVueQuery, node: ast.OperationNode): string;
34
- /**
35
- * Resolves the query options helper name.
36
- */
37
- resolveQueryOptionsName(this: ResolverVueQuery, node: ast.OperationNode): string;
38
- /**
39
- * Resolves the infinite query options helper name.
40
- */
41
- resolveInfiniteQueryOptionsName(this: ResolverVueQuery, node: ast.OperationNode): string;
42
- /**
43
- * Resolves the query key helper name.
44
- */
45
- resolveQueryKeyName(this: ResolverVueQuery, node: ast.OperationNode): string;
46
- /**
47
- * Resolves the infinite query key helper name.
48
- */
49
- resolveInfiniteQueryKeyName(this: ResolverVueQuery, node: ast.OperationNode): string;
50
- /**
51
- * Resolves the mutation key helper name.
52
- */
53
- resolveMutationKeyName(this: ResolverVueQuery, node: ast.OperationNode): string;
54
- /**
55
- * Resolves the query key type name.
56
- */
57
- resolveQueryKeyTypeName(this: ResolverVueQuery, node: ast.OperationNode): string;
58
- /**
59
- * Resolves the infinite query key type name.
60
- */
61
- resolveInfiniteQueryKeyTypeName(this: ResolverVueQuery, node: ast.OperationNode): string;
62
- /**
63
- * Resolves the mutation type name.
64
- */
65
- resolveMutationTypeName(this: ResolverVueQuery, node: ast.OperationNode): string;
66
- /**
67
- * Resolves the client function name generated inline by query hooks.
68
- */
69
- resolveClientName(this: ResolverVueQuery, node: ast.OperationNode): string;
70
- /**
71
- * Resolves the client function name generated inline by infinite query hooks.
72
- */
73
- resolveInfiniteClientName(this: ResolverVueQuery, node: ast.OperationNode): string;
74
- };
75
- /**
76
- * Builds the `queryKey` used by each generated query composable.
77
- *
78
- * @note String values are inlined verbatim into generated code. Wrap literal
79
- * strings in `JSON.stringify(...)`.
80
- */
81
- type QueryKey = Transformer;
82
- /**
83
- * Builds the `mutationKey` used by each generated mutation composable.
84
- *
85
- * @note String values are inlined verbatim into generated code. Wrap literal
86
- * strings in `JSON.stringify(...)`.
87
- */
88
- type MutationKey = Transformer;
89
- type Query = {
90
- /**
91
- * HTTP methods treated as queries.
92
- *
93
- * @default ['get']
94
- */
95
- methods?: Array<string>;
96
- /**
97
- * Module specifier used in the `import { useQuery } from '...'` statement at
98
- * the top of every generated composable file.
99
- *
100
- * @default '@tanstack/vue-query'
101
- */
102
- importPath?: string;
103
- };
104
- type Mutation = {
105
- /**
106
- * HTTP methods treated as mutations.
107
- *
108
- * @default ['post', 'put', 'delete']
109
- */
110
- methods?: Array<string>;
111
- /**
112
- * Module specifier used in the `import { useMutation } from '...'` statement
113
- * at the top of every generated composable file.
114
- *
115
- * @default '@tanstack/vue-query'
116
- */
117
- importPath?: string;
118
- };
119
- type Infinite = {
120
- /**
121
- * Name of the query parameter that holds the page cursor.
122
- *
123
- * @default 'id'
124
- */
125
- queryParam?: string;
126
- /**
127
- * Path to the cursor field on the response. Leave undefined when the cursor
128
- * is not known.
129
- *
130
- * @deprecated Use `nextParam` and `previousParam` for richer pagination control.
131
- */
132
- cursorParam?: string | null;
133
- /**
134
- * Path to the next-page cursor on the response. Supports dot notation
135
- * (`'pagination.next.id'`) or array form.
136
- */
137
- nextParam?: string | Array<string> | null;
138
- /**
139
- * Path to the previous-page cursor on the response. Supports dot notation
140
- * or array form.
141
- */
142
- previousParam?: string | Array<string> | null;
143
- /**
144
- * Initial value for `pageParam` on the first fetch.
145
- *
146
- * @default 0
147
- */
148
- initialPageParam?: unknown;
149
- };
150
- /**
151
- * Where the generated composables are written and how they are exported, plus the optional
152
- * `group` strategy. The `group` option organizes `output.mode: 'directory'` output into per-tag or per-path subdirectories.
153
- *
154
- * @default { path: 'hooks', barrel: { type: 'named' } }
155
- */
156
- type Options = OutputOptions & {
157
- /**
158
- * HTTP client used inside every generated composable. Mirrors a subset of
159
- * `pluginClient` options.
160
- */
161
- client?: ClientImportPath & Pick<PluginClient['options'], 'clientType' | 'dataReturnType' | 'baseURL' | 'bundle' | 'paramsCasing'>;
162
- /**
163
- * Skip operations matching at least one entry in the list.
164
- */
165
- exclude?: Array<Exclude>;
166
- /**
167
- * Restrict generation to operations matching at least one entry in the list.
168
- */
169
- include?: Array<Include>;
170
- /**
171
- * Apply a different options object to operations matching a pattern.
172
- */
173
- override?: Array<Override<ResolvedOptions>>;
174
- /**
175
- * Rename parameter properties in the generated composables.
176
- *
177
- * @note Must match the value of `paramsCasing` on `@kubb/plugin-ts`.
178
- */
179
- paramsCasing?: 'camelcase';
180
- /**
181
- * How operation parameters appear in the generated composable signature.
182
- *
183
- * @default 'inline'
184
- */
185
- paramsType?: 'object' | 'inline';
186
- /**
187
- * How URL path parameters are arranged inside the inline argument list.
188
- *
189
- * @default 'inline'
190
- */
191
- pathParamsType?: PluginClient['options']['pathParamsType'];
192
- /**
193
- * Enables `useInfiniteQuery` composables for cursor- or page-based pagination.
194
- * Pass an object to configure how the cursor is read; pass `false` to skip.
195
- *
196
- * @default false
197
- */
198
- infinite?: Partial<Infinite> | false;
199
- /**
200
- * Custom `queryKey` builder.
201
- */
202
- queryKey?: QueryKey;
203
- /**
204
- * Configures query composables. Set to `false` to skip composable generation
205
- * and emit only `queryOptions(...)` helpers.
206
- */
207
- query?: Partial<Query> | false;
208
- /**
209
- * Custom `mutationKey` builder.
210
- */
211
- mutationKey?: MutationKey;
212
- /**
213
- * Configures mutation composables. Set to `false` to skip mutation generation.
214
- */
215
- mutation?: Partial<Mutation> | false;
216
- /**
217
- * Validator applied to response bodies before they reach the caller.
218
- * - `'client'` — no validation.
219
- * - `'zod'` — pipes responses through schemas from `@kubb/plugin-zod`.
220
- */
221
- parser?: PluginClient['options']['parser'];
222
- /**
223
- * Override how composable names and file paths are built.
224
- */
225
- resolver?: Partial<ResolverVueQuery> & ThisType<ResolverVueQuery>;
226
- /**
227
- * Macros applied to each operation node before printing.
228
- */
229
- macros?: Array<ast.Macro>;
230
- /**
231
- * Custom generators that run alongside the built-in Vue Query generators.
232
- */
233
- generators?: Array<Generator<PluginVueQuery>>;
234
- };
235
- type ResolvedOptions = {
236
- output: Output;
237
- group: Group | null;
238
- exclude: NonNullable<Options['exclude']>;
239
- include: Options['include'];
240
- override: NonNullable<Options['override']>;
241
- client: Pick<PluginClient['options'], 'client' | 'clientType' | 'dataReturnType' | 'importPath' | 'baseURL' | 'bundle' | 'paramsCasing'>;
242
- parser: NonNullable<Options['parser']>;
243
- pathParamsType: NonNullable<Options['pathParamsType']>;
244
- paramsCasing: Options['paramsCasing'];
245
- paramsType: NonNullable<Options['paramsType']>;
246
- /**
247
- * Only used for infinite
248
- */
249
- infinite: NonNullable<Infinite> | false;
250
- queryKey: QueryKey | null;
251
- query: NonNullable<Required<Query>> | false;
252
- mutationKey: MutationKey | null;
253
- mutation: NonNullable<Required<Mutation>> | false;
254
- resolver: ResolverVueQuery;
255
- };
256
- type PluginVueQuery = PluginFactoryOptions<'plugin-vue-query', Options, ResolvedOptions, ResolverVueQuery>;
257
- declare global {
258
- namespace Kubb {
259
- interface PluginRegistry {
260
- 'plugin-vue-query': PluginVueQuery;
261
- }
262
- }
263
- }
264
- //#endregion
265
- export { Transformer as i, Options as n, PluginVueQuery as r, Infinite as t };
266
- //# sourceMappingURL=types-C6a_58nb.d.ts.map