@kubb/plugin-react-query 3.2.0 → 3.3.0
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-VWLT4KLD.cjs → chunk-4I6UYXEA.cjs} +18 -18
- package/dist/{chunk-VWLT4KLD.cjs.map → chunk-4I6UYXEA.cjs.map} +1 -1
- package/dist/{chunk-5NA5VRXZ.js → chunk-JICGDXHM.js} +10 -10
- package/dist/{chunk-5NA5VRXZ.js.map → chunk-JICGDXHM.js.map} +1 -1
- package/dist/{chunk-A24GQ5ZN.js → chunk-QFITPKDT.js} +3 -3
- package/dist/{chunk-A24GQ5ZN.js.map → chunk-QFITPKDT.js.map} +1 -1
- package/dist/{chunk-EZXV6KB3.cjs → chunk-YNY2PBUX.cjs} +10 -10
- package/dist/{chunk-EZXV6KB3.cjs.map → chunk-YNY2PBUX.cjs.map} +1 -1
- package/dist/components.cjs +9 -9
- package/dist/components.d.cts +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +1 -1
- package/dist/generators.cjs +6 -6
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +2 -2
- package/dist/index.cjs +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/{types-ClmUaz7P.d.cts → types-DbdPn2MA.d.cts} +9 -2
- package/dist/{types-ClmUaz7P.d.ts → types-DbdPn2MA.d.ts} +9 -2
- package/package.json +10 -10
- package/src/components/InfiniteQueryOptions.tsx +16 -9
- package/src/generators/__snapshots__/clientDataReturnTypeFull.ts +49 -34
- package/src/generators/__snapshots__/clientGetImportPath.ts +49 -34
- package/src/generators/__snapshots__/clientPostImportPath.ts +46 -32
- package/src/generators/__snapshots__/findByTags.ts +49 -34
- package/src/generators/__snapshots__/findByTagsObject.ts +55 -44
- package/src/generators/__snapshots__/findByTagsPathParamsObject.ts +49 -34
- package/src/generators/__snapshots__/findByTagsWithCustomQueryKey.ts +49 -34
- package/src/generators/__snapshots__/findByTagsWithZod.ts +49 -34
- package/src/generators/__snapshots__/findInfiniteByTags.ts +60 -40
- package/src/generators/__snapshots__/findInfiniteByTagsCursor.ts +60 -40
- package/src/generators/__snapshots__/getAsMutation.ts +2 -2
- package/src/generators/__snapshots__/getPetIdCamelCase.ts +40 -36
- package/src/generators/__snapshots__/postAsQuery.ts +66 -36
- package/src/generators/__snapshots__/updatePetById.ts +46 -32
- package/src/generators/__snapshots__/updatePetByIdPathParamsObject.ts +46 -34
- package/src/generators/infiniteQueryGenerator.tsx +0 -1
- package/src/plugin.ts +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin.ts"],"names":["createPlugin","transformers","queryGenerator","suspenseQueryGenerator","infiniteQueryGenerator","mutationGenerator","MutationKey","QueryKey","pluginOasName","pluginTsName","pluginZodName","options","path","FileManager","camelCase","pascalCase","PluginManager","OperationGenerator"],"mappings":";;;;;;;;;;;;;;;AAgBO,IAAM,oBAAuB,GAAA;AAEvB,IAAA,gBAAA,GAAmBA,iBAA+B,CAAA,CAAC,OAAY,KAAA;AAC1E,EAAM,MAAA;AAAA,IACJ,MAAS,GAAA,EAAE,IAAM,EAAA,OAAA,EAAS,YAAY,OAAQ,EAAA;AAAA,IAC9C,KAAA;AAAA,IACA,UAAU,EAAC;AAAA,IACX,OAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,MAAS,GAAA,QAAA;AAAA,IACT,WAAW,EAAC;AAAA,IACZ,QAAW,GAAA,KAAA;AAAA,kBACXC,iBAAe,EAAC;AAAA,IAChB,UAAa,GAAA,QAAA;AAAA,IACb,cAAiB,GAAA,QAAA;AAAA,IACjB,UAAA,GAAa,CAACC,gCAAgB,EAAAC,wCAAA,EAAwBC,0CAAwBC,mCAAiB,CAAA,CAAE,OAAO,OAAO,CAAA;AAAA,IAC/G,WAAW,EAAC;AAAA,IACZ,QAAQ,EAAC;AAAA,IACT,cAAcC,6BAAY,CAAA,cAAA;AAAA,IAC1B,WAAWC,0BAAS,CAAA,cAAA;AAAA,IACpB;AAAA,GACE,GAAA,OAAA;AAEJ,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,oBAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,MAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,UAAY,EAAA,
|
|
1
|
+
{"version":3,"sources":["../src/plugin.ts"],"names":["createPlugin","transformers","queryGenerator","suspenseQueryGenerator","infiniteQueryGenerator","mutationGenerator","MutationKey","QueryKey","pluginOasName","pluginTsName","pluginZodName","options","path","FileManager","camelCase","pascalCase","PluginManager","OperationGenerator"],"mappings":"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","file":"index.cjs","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { MutationKey } from './components'\nimport { QueryKey } from './components/QueryKey.tsx'\nimport { infiniteQueryGenerator, mutationGenerator, queryGenerator, suspenseQueryGenerator } from './generators'\nimport type { PluginReactQuery } from './types.ts'\n\nexport const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']\n\nexport const pluginReactQuery = createPlugin<PluginReactQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n suspense = {},\n infinite = false,\n transformers = {},\n paramsType = 'inline',\n pathParamsType = 'inline',\n generators = [queryGenerator, suspenseQueryGenerator, infiniteQueryGenerator, mutationGenerator].filter(Boolean),\n mutation = {},\n query = {},\n mutationKey = MutationKey.getTransformer,\n queryKey = QueryKey.getTransformer,\n paramsCasing,\n } = options\n\n return {\n name: pluginReactQueryName,\n options: {\n output,\n client: {\n importPath: '@kubb/plugin-client/clients/axios',\n dataReturnType: 'data',\n ...options.client,\n },\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n suspense,\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/react-query',\n ...query,\n },\n mutationKey,\n mutation: {\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/react-query',\n ...mutation,\n },\n paramsType,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n parser,\n paramsCasing,\n group,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (options?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), baseName)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n if (baseURL) {\n this.plugin.options.client.baseURL = baseURL\n }\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"]}
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { queryGenerator, suspenseQueryGenerator, infiniteQueryGenerator, mutationGenerator } from './chunk-
|
|
2
|
-
import { MutationKey, QueryKey } from './chunk-
|
|
1
|
+
import { queryGenerator, suspenseQueryGenerator, infiniteQueryGenerator, mutationGenerator } from './chunk-QFITPKDT.js';
|
|
2
|
+
import { MutationKey, QueryKey } from './chunk-JICGDXHM.js';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { createPlugin, FileManager, PluginManager } from '@kubb/core';
|
|
5
5
|
import { camelCase, pascalCase } from '@kubb/core/transformers';
|
|
@@ -33,7 +33,7 @@ var pluginReactQuery = createPlugin((options) => {
|
|
|
33
33
|
options: {
|
|
34
34
|
output,
|
|
35
35
|
client: {
|
|
36
|
-
importPath: "@kubb/plugin-client/
|
|
36
|
+
importPath: "@kubb/plugin-client/clients/axios",
|
|
37
37
|
dataReturnType: "data",
|
|
38
38
|
...options.client
|
|
39
39
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin.ts"],"names":["options"],"mappings":";;;;;;;;;AAgBO,IAAM,oBAAuB,GAAA;AAEvB,IAAA,gBAAA,GAAmB,YAA+B,CAAA,CAAC,OAAY,KAAA;AAC1E,EAAM,MAAA;AAAA,IACJ,MAAS,GAAA,EAAE,IAAM,EAAA,OAAA,EAAS,YAAY,OAAQ,EAAA;AAAA,IAC9C,KAAA;AAAA,IACA,UAAU,EAAC;AAAA,IACX,OAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,MAAS,GAAA,QAAA;AAAA,IACT,WAAW,EAAC;AAAA,IACZ,QAAW,GAAA,KAAA;AAAA,IACX,eAAe,EAAC;AAAA,IAChB,UAAa,GAAA,QAAA;AAAA,IACb,cAAiB,GAAA,QAAA;AAAA,IACjB,UAAA,GAAa,CAAC,cAAgB,EAAA,sBAAA,EAAwB,wBAAwB,iBAAiB,CAAA,CAAE,OAAO,OAAO,CAAA;AAAA,IAC/G,WAAW,EAAC;AAAA,IACZ,QAAQ,EAAC;AAAA,IACT,cAAc,WAAY,CAAA,cAAA;AAAA,IAC1B,WAAW,QAAS,CAAA,cAAA;AAAA,IACpB;AAAA,GACE,GAAA,OAAA;AAEJ,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,oBAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,MAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,UAAY,EAAA,
|
|
1
|
+
{"version":3,"sources":["../src/plugin.ts"],"names":["options"],"mappings":"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","file":"index.js","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { MutationKey } from './components'\nimport { QueryKey } from './components/QueryKey.tsx'\nimport { infiniteQueryGenerator, mutationGenerator, queryGenerator, suspenseQueryGenerator } from './generators'\nimport type { PluginReactQuery } from './types.ts'\n\nexport const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']\n\nexport const pluginReactQuery = createPlugin<PluginReactQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n suspense = {},\n infinite = false,\n transformers = {},\n paramsType = 'inline',\n pathParamsType = 'inline',\n generators = [queryGenerator, suspenseQueryGenerator, infiniteQueryGenerator, mutationGenerator].filter(Boolean),\n mutation = {},\n query = {},\n mutationKey = MutationKey.getTransformer,\n queryKey = QueryKey.getTransformer,\n paramsCasing,\n } = options\n\n return {\n name: pluginReactQueryName,\n options: {\n output,\n client: {\n importPath: '@kubb/plugin-client/clients/axios',\n dataReturnType: 'data',\n ...options.client,\n },\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n suspense,\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/react-query',\n ...query,\n },\n mutationKey,\n mutation: {\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/react-query',\n ...mutation,\n },\n paramsType,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n parser,\n paramsCasing,\n group,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (options?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), baseName)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n if (baseURL) {\n this.plugin.options.client.baseURL = baseURL\n }\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"]}
|
|
@@ -33,7 +33,7 @@ type Options$1 = {
|
|
|
33
33
|
* Path to the client import path that will be used to do the API calls.
|
|
34
34
|
* It will be used as `import client from '${client.importPath}'`.
|
|
35
35
|
* It allows both relative and absolute path but be aware that we will not change the path.
|
|
36
|
-
* @default '@kubb/plugin-client/
|
|
36
|
+
* @default '@kubb/plugin-client/clients/axios'
|
|
37
37
|
*/
|
|
38
38
|
importPath?: string;
|
|
39
39
|
/**
|
|
@@ -68,10 +68,17 @@ type Options$1 = {
|
|
|
68
68
|
pathParamsType?: 'object' | 'inline';
|
|
69
69
|
/**
|
|
70
70
|
* Which parser can be used before returning the data
|
|
71
|
-
* - 'zod'
|
|
71
|
+
* - 'zod' will use `@kubb/plugin-zod` to parse the data.
|
|
72
72
|
* @default 'client'
|
|
73
73
|
*/
|
|
74
74
|
parser?: 'client' | 'zod';
|
|
75
|
+
/**
|
|
76
|
+
* Which client should be used to do the HTTP calls
|
|
77
|
+
* - 'axios' will use `@kubb/plugin-client/clients/axios` to fetch data.
|
|
78
|
+
* - 'fetch' will use `@kubb/plugin-client/clients/fetch` to fetch data.
|
|
79
|
+
* @default 'axios'
|
|
80
|
+
*/
|
|
81
|
+
client?: 'axios' | 'fetch';
|
|
75
82
|
transformers?: {
|
|
76
83
|
/**
|
|
77
84
|
* Customize the names based on the type that is provided by the plugin.
|
|
@@ -33,7 +33,7 @@ type Options$1 = {
|
|
|
33
33
|
* Path to the client import path that will be used to do the API calls.
|
|
34
34
|
* It will be used as `import client from '${client.importPath}'`.
|
|
35
35
|
* It allows both relative and absolute path but be aware that we will not change the path.
|
|
36
|
-
* @default '@kubb/plugin-client/
|
|
36
|
+
* @default '@kubb/plugin-client/clients/axios'
|
|
37
37
|
*/
|
|
38
38
|
importPath?: string;
|
|
39
39
|
/**
|
|
@@ -68,10 +68,17 @@ type Options$1 = {
|
|
|
68
68
|
pathParamsType?: 'object' | 'inline';
|
|
69
69
|
/**
|
|
70
70
|
* Which parser can be used before returning the data
|
|
71
|
-
* - 'zod'
|
|
71
|
+
* - 'zod' will use `@kubb/plugin-zod` to parse the data.
|
|
72
72
|
* @default 'client'
|
|
73
73
|
*/
|
|
74
74
|
parser?: 'client' | 'zod';
|
|
75
|
+
/**
|
|
76
|
+
* Which client should be used to do the HTTP calls
|
|
77
|
+
* - 'axios' will use `@kubb/plugin-client/clients/axios` to fetch data.
|
|
78
|
+
* - 'fetch' will use `@kubb/plugin-client/clients/fetch` to fetch data.
|
|
79
|
+
* @default 'axios'
|
|
80
|
+
*/
|
|
81
|
+
client?: 'axios' | 'fetch';
|
|
75
82
|
transformers?: {
|
|
76
83
|
/**
|
|
77
84
|
* Customize the names based on the type that is provided by the plugin.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-react-query",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Generator react-query hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"faker",
|
|
@@ -63,21 +63,21 @@
|
|
|
63
63
|
],
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"remeda": "^2.17.4",
|
|
66
|
-
"@kubb/core": "3.
|
|
67
|
-
"@kubb/
|
|
68
|
-
"@kubb/
|
|
69
|
-
"@kubb/plugin-oas": "3.
|
|
70
|
-
"@kubb/plugin-ts": "3.
|
|
71
|
-
"@kubb/
|
|
72
|
-
"@kubb/
|
|
66
|
+
"@kubb/core": "3.3.0",
|
|
67
|
+
"@kubb/fs": "3.3.0",
|
|
68
|
+
"@kubb/oas": "3.3.0",
|
|
69
|
+
"@kubb/plugin-oas": "3.3.0",
|
|
70
|
+
"@kubb/plugin-ts": "3.3.0",
|
|
71
|
+
"@kubb/plugin-zod": "3.3.0",
|
|
72
|
+
"@kubb/react": "3.3.0"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@types/react": "^18.3.16",
|
|
76
76
|
"react": "^18.3.1",
|
|
77
77
|
"tsup": "^8.3.5",
|
|
78
78
|
"typescript": "^5.7.2",
|
|
79
|
-
"@kubb/config-
|
|
80
|
-
"@kubb/config-
|
|
79
|
+
"@kubb/config-ts": "3.3.0",
|
|
80
|
+
"@kubb/config-tsup": "3.3.0"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"@kubb/react": "^3.0.0"
|
|
@@ -151,11 +151,11 @@ export function InfiniteQueryOptions({
|
|
|
151
151
|
|
|
152
152
|
const enabledText = enabled ? `enabled: !!(${enabled}),` : ''
|
|
153
153
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
<
|
|
157
|
-
{
|
|
158
|
-
`
|
|
154
|
+
if (infiniteOverrideParams) {
|
|
155
|
+
return (
|
|
156
|
+
<File.Source name={name} isExportable isIndexable>
|
|
157
|
+
<Function name={name} export params={params.toConstructor()}>
|
|
158
|
+
{`
|
|
159
159
|
const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
|
|
160
160
|
return infiniteQueryOptions({
|
|
161
161
|
${enabledText}
|
|
@@ -168,17 +168,24 @@ export function InfiniteQueryOptions({
|
|
|
168
168
|
${queryOptions.join(',\n')}
|
|
169
169
|
})
|
|
170
170
|
`}
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
</Function>
|
|
172
|
+
</File.Source>
|
|
173
|
+
)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return (
|
|
177
|
+
<File.Source name={name} isExportable isIndexable>
|
|
178
|
+
<Function name={name} export params={params.toConstructor()}>
|
|
179
|
+
{`
|
|
173
180
|
const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
|
|
174
181
|
return infiniteQueryOptions({
|
|
175
|
-
${enabledText}
|
|
182
|
+
${enabledText}
|
|
176
183
|
queryKey,
|
|
177
184
|
queryFn: async ({ signal }) => {
|
|
178
185
|
config.signal = signal
|
|
179
186
|
return ${clientName}(${clientParams.toCall()})
|
|
180
187
|
},
|
|
181
|
-
${queryOptions.join('
|
|
188
|
+
${queryOptions.join(',\n')}
|
|
182
189
|
})
|
|
183
190
|
`}
|
|
184
191
|
</Function>
|
|
@@ -1,51 +1,66 @@
|
|
|
1
|
-
import client from
|
|
2
|
-
import type { RequestConfig, ResponseConfig } from
|
|
3
|
-
import type { QueryKey, QueryObserverOptions, UseQueryResult } from
|
|
4
|
-
import { queryOptions, useQuery } from
|
|
1
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
2
|
+
import type { RequestConfig, ResponseConfig } from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { QueryKey, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query'
|
|
4
|
+
import { queryOptions, useQuery } from '@tanstack/react-query'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
export type FindPetsByTagsQueryKey = ReturnType<typeof findPetsByTagsQueryKey>
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
11
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
12
12
|
* @summary Finds Pets by tags
|
|
13
13
|
* {@link /pet/findByTags}
|
|
14
14
|
*/
|
|
15
15
|
async function findPetsByTags(headers: FindPetsByTagsHeaderParams, params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({
|
|
17
|
+
method: 'GET',
|
|
18
|
+
url: `/pet/findByTags`,
|
|
19
|
+
params,
|
|
20
|
+
headers: { ...headers, ...config.headers },
|
|
21
|
+
...config,
|
|
22
|
+
})
|
|
23
|
+
return { ...res, data: findPetsByTagsQueryResponse.parse(res.data) }
|
|
18
24
|
}
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
export function findPetsByTagsQueryOptions(headers: FindPetsByTagsHeaderParams, params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
27
|
+
const queryKey = findPetsByTagsQueryKey(params)
|
|
28
|
+
return queryOptions({
|
|
29
|
+
queryKey,
|
|
30
|
+
queryFn: async ({ signal }) => {
|
|
31
|
+
config.signal = signal
|
|
32
|
+
return findPetsByTags(headers, params, config)
|
|
33
|
+
},
|
|
34
|
+
})
|
|
29
35
|
}
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
/**
|
|
32
38
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
33
39
|
* @summary Finds Pets by tags
|
|
34
40
|
* {@link /pet/findByTags}
|
|
35
41
|
*/
|
|
36
|
-
export function useFindPetsByTags<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
42
|
+
export function useFindPetsByTags<
|
|
43
|
+
TData = ResponseConfig<FindPetsByTagsQueryResponse>,
|
|
44
|
+
TQueryData = ResponseConfig<FindPetsByTagsQueryResponse>,
|
|
45
|
+
TQueryKey extends QueryKey = FindPetsByTagsQueryKey,
|
|
46
|
+
>(
|
|
47
|
+
headers: FindPetsByTagsHeaderParams,
|
|
48
|
+
params?: FindPetsByTagsQueryParams,
|
|
49
|
+
options: {
|
|
50
|
+
query?: Partial<QueryObserverOptions<ResponseConfig<FindPetsByTagsQueryResponse>, FindPetsByTags400, TData, TQueryData, TQueryKey>>
|
|
51
|
+
client?: Partial<RequestConfig>
|
|
52
|
+
} = {},
|
|
53
|
+
) {
|
|
54
|
+
const { query: queryOptions, client: config = {} } = options ?? {}
|
|
55
|
+
const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
|
|
56
|
+
|
|
57
|
+
const query = useQuery({
|
|
58
|
+
...(findPetsByTagsQueryOptions(headers, params, config) as unknown as QueryObserverOptions),
|
|
59
|
+
queryKey,
|
|
60
|
+
...(queryOptions as unknown as Omit<QueryObserverOptions, 'queryKey'>),
|
|
61
|
+
}) as UseQueryResult<TData, FindPetsByTags400> & { queryKey: TQueryKey }
|
|
62
|
+
|
|
63
|
+
query.queryKey = queryKey as TQueryKey
|
|
64
|
+
|
|
65
|
+
return query
|
|
51
66
|
}
|
|
@@ -1,51 +1,66 @@
|
|
|
1
|
-
import client from
|
|
2
|
-
import type { QueryKey, QueryObserverOptions, UseQueryResult } from
|
|
3
|
-
import type { RequestConfig } from
|
|
4
|
-
import { queryOptions, useQuery } from
|
|
1
|
+
import client from 'axios'
|
|
2
|
+
import type { QueryKey, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query'
|
|
3
|
+
import type { RequestConfig } from 'axios'
|
|
4
|
+
import { queryOptions, useQuery } from '@tanstack/react-query'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
export type FindPetsByTagsQueryKey = ReturnType<typeof findPetsByTagsQueryKey>
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
11
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
12
12
|
* @summary Finds Pets by tags
|
|
13
13
|
* {@link /pet/findByTags}
|
|
14
14
|
*/
|
|
15
15
|
async function findPetsByTags(headers: FindPetsByTagsHeaderParams, params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({
|
|
17
|
+
method: 'GET',
|
|
18
|
+
url: `/pet/findByTags`,
|
|
19
|
+
params,
|
|
20
|
+
headers: { ...headers, ...config.headers },
|
|
21
|
+
...config,
|
|
22
|
+
})
|
|
23
|
+
return findPetsByTagsQueryResponse.parse(res.data)
|
|
18
24
|
}
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
export function findPetsByTagsQueryOptions(headers: FindPetsByTagsHeaderParams, params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
27
|
+
const queryKey = findPetsByTagsQueryKey(params)
|
|
28
|
+
return queryOptions({
|
|
29
|
+
queryKey,
|
|
30
|
+
queryFn: async ({ signal }) => {
|
|
31
|
+
config.signal = signal
|
|
32
|
+
return findPetsByTags(headers, params, config)
|
|
33
|
+
},
|
|
34
|
+
})
|
|
29
35
|
}
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
/**
|
|
32
38
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
33
39
|
* @summary Finds Pets by tags
|
|
34
40
|
* {@link /pet/findByTags}
|
|
35
41
|
*/
|
|
36
|
-
export function useFindPetsByTags<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
42
|
+
export function useFindPetsByTags<
|
|
43
|
+
TData = FindPetsByTagsQueryResponse,
|
|
44
|
+
TQueryData = FindPetsByTagsQueryResponse,
|
|
45
|
+
TQueryKey extends QueryKey = FindPetsByTagsQueryKey,
|
|
46
|
+
>(
|
|
47
|
+
headers: FindPetsByTagsHeaderParams,
|
|
48
|
+
params?: FindPetsByTagsQueryParams,
|
|
49
|
+
options: {
|
|
50
|
+
query?: Partial<QueryObserverOptions<FindPetsByTagsQueryResponse, FindPetsByTags400, TData, TQueryData, TQueryKey>>
|
|
51
|
+
client?: Partial<RequestConfig>
|
|
52
|
+
} = {},
|
|
53
|
+
) {
|
|
54
|
+
const { query: queryOptions, client: config = {} } = options ?? {}
|
|
55
|
+
const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
|
|
56
|
+
|
|
57
|
+
const query = useQuery({
|
|
58
|
+
...(findPetsByTagsQueryOptions(headers, params, config) as unknown as QueryObserverOptions),
|
|
59
|
+
queryKey,
|
|
60
|
+
...(queryOptions as unknown as Omit<QueryObserverOptions, 'queryKey'>),
|
|
61
|
+
}) as UseQueryResult<TData, FindPetsByTags400> & { queryKey: TQueryKey }
|
|
62
|
+
|
|
63
|
+
query.queryKey = queryKey as TQueryKey
|
|
64
|
+
|
|
65
|
+
return query
|
|
51
66
|
}
|
|
@@ -1,44 +1,58 @@
|
|
|
1
|
-
import client from
|
|
2
|
-
import type { UseMutationOptions } from
|
|
3
|
-
import type { RequestConfig } from
|
|
4
|
-
import { useMutation } from
|
|
1
|
+
import client from 'axios'
|
|
2
|
+
import type { UseMutationOptions } from '@tanstack/react-query'
|
|
3
|
+
import type { RequestConfig } from 'axios'
|
|
4
|
+
import { useMutation } from '@tanstack/react-query'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
export const updatePetWithFormMutationKey = () => [{ url: '/pet/{pet_id}' }] as const
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
export type UpdatePetWithFormMutationKey = ReturnType<typeof updatePetWithFormMutationKey>
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
11
|
* @summary Updates a pet in the store with form data
|
|
12
12
|
* {@link /pet/:pet_id}
|
|
13
13
|
*/
|
|
14
|
-
async function updatePetWithForm(
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
async function updatePetWithForm(
|
|
15
|
+
petId: UpdatePetWithFormPathParams['petId'],
|
|
16
|
+
data?: UpdatePetWithFormMutationRequest,
|
|
17
|
+
params?: UpdatePetWithFormQueryParams,
|
|
18
|
+
config: Partial<RequestConfig<UpdatePetWithFormMutationRequest>> = {},
|
|
19
|
+
) {
|
|
20
|
+
const res = await client<UpdatePetWithFormMutationResponse, UpdatePetWithForm405, UpdatePetWithFormMutationRequest>({
|
|
21
|
+
method: 'POST',
|
|
22
|
+
url: `/pet/${pet_id}`,
|
|
23
|
+
params,
|
|
24
|
+
data,
|
|
25
|
+
...config,
|
|
26
|
+
})
|
|
27
|
+
return updatePetWithFormMutationResponse.parse(res.data)
|
|
17
28
|
}
|
|
18
29
|
|
|
19
|
-
|
|
30
|
+
/**
|
|
20
31
|
* @summary Updates a pet in the store with form data
|
|
21
32
|
* {@link /pet/:pet_id}
|
|
22
33
|
*/
|
|
23
|
-
export function useUpdatePetWithForm(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
34
|
+
export function useUpdatePetWithForm(
|
|
35
|
+
options: {
|
|
36
|
+
mutation?: UseMutationOptions<
|
|
37
|
+
UpdatePetWithFormMutationResponse,
|
|
38
|
+
UpdatePetWithForm405,
|
|
39
|
+
{ petId: UpdatePetWithFormPathParams['petId']; data?: UpdatePetWithFormMutationRequest; params?: UpdatePetWithFormQueryParams }
|
|
40
|
+
>
|
|
41
|
+
client?: Partial<RequestConfig<UpdatePetWithFormMutationRequest>>
|
|
42
|
+
} = {},
|
|
43
|
+
) {
|
|
44
|
+
const { mutation: mutationOptions, client: config = {} } = options ?? {}
|
|
45
|
+
const mutationKey = mutationOptions?.mutationKey ?? updatePetWithFormMutationKey()
|
|
46
|
+
|
|
47
|
+
return useMutation<
|
|
48
|
+
UpdatePetWithFormMutationResponse,
|
|
49
|
+
UpdatePetWithForm405,
|
|
50
|
+
{ petId: UpdatePetWithFormPathParams['petId']; data?: UpdatePetWithFormMutationRequest; params?: UpdatePetWithFormQueryParams }
|
|
51
|
+
>({
|
|
52
|
+
mutationFn: async ({ petId, data, params }) => {
|
|
53
|
+
return updatePetWithForm(petId, data, params, config)
|
|
54
|
+
},
|
|
55
|
+
mutationKey,
|
|
56
|
+
...mutationOptions,
|
|
57
|
+
})
|
|
44
58
|
}
|