@kubb/plugin-solid-query 3.7.4 → 3.7.5

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,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkCAS45V3J_cjs = require('./chunk-CAS45V3J.cjs');
4
- require('./chunk-6I7WVZTD.cjs');
3
+ var chunk6AQN6PYU_cjs = require('./chunk-6AQN6PYU.cjs');
4
+ require('./chunk-S66QYSJW.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "queryGenerator", {
9
9
  enumerable: true,
10
- get: function () { return chunkCAS45V3J_cjs.queryGenerator; }
10
+ get: function () { return chunk6AQN6PYU_cjs.queryGenerator; }
11
11
  });
12
12
  //# sourceMappingURL=generators.cjs.map
13
13
  //# sourceMappingURL=generators.cjs.map
@@ -1,4 +1,4 @@
1
- export { queryGenerator } from './chunk-4L7HRW2A.js';
2
- import './chunk-J4BCXXRI.js';
1
+ export { queryGenerator } from './chunk-OK2KLIE6.js';
2
+ import './chunk-RJUAPUZ6.js';
3
3
  //# sourceMappingURL=generators.js.map
4
4
  //# sourceMappingURL=generators.js.map
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkCAS45V3J_cjs = require('./chunk-CAS45V3J.cjs');
4
- var chunk6I7WVZTD_cjs = require('./chunk-6I7WVZTD.cjs');
3
+ var chunk6AQN6PYU_cjs = require('./chunk-6AQN6PYU.cjs');
4
+ var chunkS66QYSJW_cjs = require('./chunk-S66QYSJW.cjs');
5
5
  var path = require('path');
6
6
  var core = require('@kubb/core');
7
7
  var transformers = require('@kubb/core/transformers');
@@ -25,8 +25,8 @@ var pluginSolidQuery = core.createPlugin((options) => {
25
25
  transformers: transformers$1 = {},
26
26
  paramsType = "inline",
27
27
  pathParamsType = paramsType === "object" ? "object" : options.pathParamsType || "inline",
28
- queryKey = chunk6I7WVZTD_cjs.QueryKey.getTransformer,
29
- generators = [chunkCAS45V3J_cjs.queryGenerator].filter(Boolean),
28
+ queryKey = chunkS66QYSJW_cjs.QueryKey.getTransformer,
29
+ generators = [chunk6AQN6PYU_cjs.queryGenerator].filter(Boolean),
30
30
  query = {},
31
31
  paramsCasing,
32
32
  contentType
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { queryGenerator } from './chunk-4L7HRW2A.js';
2
- import { QueryKey } from './chunk-J4BCXXRI.js';
1
+ import { queryGenerator } from './chunk-OK2KLIE6.js';
2
+ import { QueryKey } from './chunk-RJUAPUZ6.js';
3
3
  import path from 'node:path';
4
4
  import { createPlugin, PluginManager, FileManager } from '@kubb/core';
5
5
  import { camelCase, pascalCase } from '@kubb/core/transformers';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-solid-query",
3
- "version": "3.7.4",
3
+ "version": "3.7.5",
4
4
  "description": "Generator solid-query hooks",
5
5
  "keywords": [
6
6
  "faker",
@@ -63,21 +63,21 @@
63
63
  ],
64
64
  "dependencies": {
65
65
  "remeda": "^2.21.2",
66
- "@kubb/core": "3.7.4",
67
- "@kubb/fs": "3.7.4",
68
- "@kubb/oas": "3.7.4",
69
- "@kubb/plugin-oas": "3.7.4",
70
- "@kubb/plugin-ts": "3.7.4",
71
- "@kubb/plugin-zod": "3.7.4",
72
- "@kubb/react": "3.7.4"
66
+ "@kubb/core": "3.7.5",
67
+ "@kubb/fs": "3.7.5",
68
+ "@kubb/oas": "3.7.5",
69
+ "@kubb/plugin-oas": "3.7.5",
70
+ "@kubb/plugin-ts": "3.7.5",
71
+ "@kubb/plugin-zod": "3.7.5",
72
+ "@kubb/react": "3.7.5"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@types/react": "^18.3.20",
76
76
  "react": "^18.3.1",
77
77
  "tsup": "^8.4.0",
78
78
  "typescript": "^5.8.3",
79
- "@kubb/config-ts": "3.7.4",
80
- "@kubb/config-tsup": "3.7.4"
79
+ "@kubb/config-ts": "3.7.5",
80
+ "@kubb/config-tsup": "3.7.5"
81
81
  },
82
82
  "peerDependencies": {
83
83
  "@kubb/react": "^3.0.0"
@@ -65,7 +65,7 @@ function getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, t
65
65
  options: {
66
66
  type: `
67
67
  {
68
- query?: Partial<CreateBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,
68
+ query?: Partial<CreateBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },
69
69
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof client }` : 'Partial<RequestConfig> & { client?: typeof client }'}
70
70
  }
71
71
  `,
@@ -103,7 +103,7 @@ function getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, t
103
103
  options: {
104
104
  type: `
105
105
  {
106
- query?: Partial<CreateBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,
106
+ query?: Partial<CreateBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },
107
107
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof client }` : 'Partial<RequestConfig> & { client?: typeof client }'}
108
108
  }
109
109
  `,
@@ -162,7 +162,7 @@ export function Query({
162
162
  }}
163
163
  >
164
164
  {`
165
- const { query: queryOptions, client: config = {} } = options ?? {}
165
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
166
166
  const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
167
167
 
168
168
  const query = createQuery(() => ({
@@ -170,7 +170,7 @@ export function Query({
170
170
  queryKey,
171
171
  initialData: null,
172
172
  ...queryOptions as unknown as Omit<CreateBaseQueryOptions, "queryKey">
173
- })) as ${returnType}
173
+ }), queryClient? () => queryClient: undefined) as ${returnType}
174
174
 
175
175
  query.queryKey = queryKey as TQueryKey
176
176
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig, ResponseConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
4
4
  import { queryOptions, createQuery } from '@tanstack/svelte-query'
5
5
 
6
6
  export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
@@ -62,19 +62,24 @@ export function createFindPetsByTags<
62
62
  headers: FindPetsByTagsHeaderParams,
63
63
  params?: FindPetsByTagsQueryParams,
64
64
  options: {
65
- query?: Partial<CreateBaseQueryOptions<ResponseConfig<FindPetsByTagsQueryResponse>, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
65
+ query?: Partial<
66
+ CreateBaseQueryOptions<ResponseConfig<FindPetsByTagsQueryResponse>, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>
67
+ > & { client?: QueryClient }
66
68
  client?: Partial<RequestConfig> & { client?: typeof client }
67
69
  } = {},
68
70
  ) {
69
- const { query: queryOptions, client: config = {} } = options ?? {}
71
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
70
72
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
71
73
 
72
- const query = createQuery(() => ({
73
- ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
74
- queryKey,
75
- initialData: null,
76
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
77
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
74
+ const query = createQuery(
75
+ () => ({
76
+ ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
77
+ queryKey,
78
+ initialData: null,
79
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
80
+ }),
81
+ queryClient ? () => queryClient : undefined,
82
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
78
83
 
79
84
  query.queryKey = queryKey as TQueryKey
80
85
 
@@ -1,5 +1,5 @@
1
1
  import client from 'axios'
2
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
2
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
3
3
  import type { RequestConfig, ResponseErrorConfig } from 'axios'
4
4
  import { queryOptions, createQuery } from '@tanstack/svelte-query'
5
5
 
@@ -57,19 +57,24 @@ export function createFindPetsByTags<
57
57
  headers: FindPetsByTagsHeaderParams,
58
58
  params?: FindPetsByTagsQueryParams,
59
59
  options: {
60
- query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
60
+ query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>> & {
61
+ client?: QueryClient
62
+ }
61
63
  client?: Partial<RequestConfig> & { client?: typeof client }
62
64
  } = {},
63
65
  ) {
64
- const { query: queryOptions, client: config = {} } = options ?? {}
66
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
65
67
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
66
68
 
67
- const query = createQuery(() => ({
68
- ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
69
- queryKey,
70
- initialData: null,
71
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
72
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
69
+ const query = createQuery(
70
+ () => ({
71
+ ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
72
+ queryKey,
73
+ initialData: null,
74
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
75
+ }),
76
+ queryClient ? () => queryClient : undefined,
77
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
73
78
 
74
79
  query.queryKey = queryKey as TQueryKey
75
80
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
4
4
  import { queryOptions, createQuery } from '@tanstack/svelte-query'
5
5
 
6
6
  export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
@@ -57,19 +57,24 @@ export function createFindPetsByTags<
57
57
  headers: FindPetsByTagsHeaderParams,
58
58
  params?: FindPetsByTagsQueryParams,
59
59
  options: {
60
- query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
60
+ query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>> & {
61
+ client?: QueryClient
62
+ }
61
63
  client?: Partial<RequestConfig> & { client?: typeof client }
62
64
  } = {},
63
65
  ) {
64
- const { query: queryOptions, client: config = {} } = options ?? {}
66
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
65
67
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
66
68
 
67
- const query = createQuery(() => ({
68
- ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
69
- queryKey,
70
- initialData: null,
71
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
72
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
69
+ const query = createQuery(
70
+ () => ({
71
+ ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
72
+ queryKey,
73
+ initialData: null,
74
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
75
+ }),
76
+ queryClient ? () => queryClient : undefined,
77
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
73
78
 
74
79
  query.queryKey = queryKey as TQueryKey
75
80
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
4
4
  import { queryOptions, createQuery } from '@tanstack/svelte-query'
5
5
 
6
6
  export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
@@ -54,19 +54,24 @@ export function createFindPetsByTags<
54
54
  >(
55
55
  { headers, params }: { headers: FindPetsByTagsHeaderParams; params?: FindPetsByTagsQueryParams },
56
56
  options: {
57
- query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
57
+ query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>> & {
58
+ client?: QueryClient
59
+ }
58
60
  client?: Partial<RequestConfig> & { client?: typeof client }
59
61
  } = {},
60
62
  ) {
61
- const { query: queryOptions, client: config = {} } = options ?? {}
63
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
62
64
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
63
65
 
64
- const query = createQuery(() => ({
65
- ...(findPetsByTagsQueryOptions({ headers, params }, config) as unknown as CreateBaseQueryOptions),
66
- queryKey,
67
- initialData: null,
68
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
69
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
66
+ const query = createQuery(
67
+ () => ({
68
+ ...(findPetsByTagsQueryOptions({ headers, params }, config) as unknown as CreateBaseQueryOptions),
69
+ queryKey,
70
+ initialData: null,
71
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
72
+ }),
73
+ queryClient ? () => queryClient : undefined,
74
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
70
75
 
71
76
  query.queryKey = queryKey as TQueryKey
72
77
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
4
4
  import { queryOptions, createQuery } from '@tanstack/svelte-query'
5
5
 
6
6
  export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
@@ -57,19 +57,24 @@ export function createFindPetsByTags<
57
57
  headers: FindPetsByTagsHeaderParams,
58
58
  params?: FindPetsByTagsQueryParams,
59
59
  options: {
60
- query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
60
+ query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>> & {
61
+ client?: QueryClient
62
+ }
61
63
  client?: Partial<RequestConfig> & { client?: typeof client }
62
64
  } = {},
63
65
  ) {
64
- const { query: queryOptions, client: config = {} } = options ?? {}
66
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
65
67
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
66
68
 
67
- const query = createQuery(() => ({
68
- ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
69
- queryKey,
70
- initialData: null,
71
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
72
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
69
+ const query = createQuery(
70
+ () => ({
71
+ ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
72
+ queryKey,
73
+ initialData: null,
74
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
75
+ }),
76
+ queryClient ? () => queryClient : undefined,
77
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
73
78
 
74
79
  query.queryKey = queryKey as TQueryKey
75
80
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/react-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/react-query'
4
4
  import { queryOptions, createQuery } from '@tanstack/react-query'
5
5
 
6
6
  export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => ['test', { url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
@@ -57,19 +57,24 @@ export function createFindPetsByTags<
57
57
  headers: FindPetsByTagsHeaderParams,
58
58
  params?: FindPetsByTagsQueryParams,
59
59
  options: {
60
- query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
60
+ query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>> & {
61
+ client?: QueryClient
62
+ }
61
63
  client?: Partial<RequestConfig> & { client?: typeof client }
62
64
  } = {},
63
65
  ) {
64
- const { query: queryOptions, client: config = {} } = options ?? {}
66
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
65
67
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
66
68
 
67
- const query = createQuery(() => ({
68
- ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
69
- queryKey,
70
- initialData: null,
71
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
72
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
69
+ const query = createQuery(
70
+ () => ({
71
+ ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
72
+ queryKey,
73
+ initialData: null,
74
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
75
+ }),
76
+ queryClient ? () => queryClient : undefined,
77
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
73
78
 
74
79
  query.queryKey = queryKey as TQueryKey
75
80
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from '@tanstack/svelte-query'
4
4
  import { queryOptions, createQuery } from '@tanstack/svelte-query'
5
5
 
6
6
  export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: '/pet/findByTags' }, ...(params ? [params] : [])] as const
@@ -57,19 +57,24 @@ export function createFindPetsByTags<
57
57
  headers: FindPetsByTagsHeaderParams,
58
58
  params?: FindPetsByTagsQueryParams,
59
59
  options: {
60
- query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>>
60
+ query?: Partial<CreateBaseQueryOptions<FindPetsByTagsQueryResponse, ResponseErrorConfig<FindPetsByTags400>, TData, TQueryData, TQueryKey>> & {
61
+ client?: QueryClient
62
+ }
61
63
  client?: Partial<RequestConfig> & { client?: typeof client }
62
64
  } = {},
63
65
  ) {
64
- const { query: queryOptions, client: config = {} } = options ?? {}
66
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
65
67
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
66
68
 
67
- const query = createQuery(() => ({
68
- ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
69
- queryKey,
70
- initialData: null,
71
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
72
- })) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
69
+ const query = createQuery(
70
+ () => ({
71
+ ...(findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions),
72
+ queryKey,
73
+ initialData: null,
74
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
75
+ }),
76
+ queryClient ? () => queryClient : undefined,
77
+ ) as CreateQueryResult<TData, ResponseErrorConfig<FindPetsByTags400>> & { queryKey: TQueryKey }
73
78
 
74
79
  query.queryKey = queryKey as TQueryKey
75
80
 
@@ -1,6 +1,6 @@
1
1
  import client from '@kubb/plugin-client/clients/axios'
2
2
  import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
3
- import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from 'custom-query'
3
+ import type { QueryKey, QueryClient, CreateBaseQueryOptions, CreateQueryResult } from 'custom-query'
4
4
  import { queryOptions, createQuery } from 'custom-query'
5
5
 
6
6
  export const updatePetWithFormQueryKey = (
@@ -63,19 +63,24 @@ export function createUpdatePetWithForm<
63
63
  data?: UpdatePetWithFormMutationRequest,
64
64
  params?: UpdatePetWithFormQueryParams,
65
65
  options: {
66
- query?: Partial<CreateBaseQueryOptions<UpdatePetWithFormMutationResponse, ResponseErrorConfig<UpdatePetWithForm405>, TData, TQueryData, TQueryKey>>
66
+ query?: Partial<CreateBaseQueryOptions<UpdatePetWithFormMutationResponse, ResponseErrorConfig<UpdatePetWithForm405>, TData, TQueryData, TQueryKey>> & {
67
+ client?: QueryClient
68
+ }
67
69
  client?: Partial<RequestConfig<UpdatePetWithFormMutationRequest>> & { client?: typeof client }
68
70
  } = {},
69
71
  ) {
70
- const { query: queryOptions, client: config = {} } = options ?? {}
72
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
71
73
  const queryKey = queryOptions?.queryKey ?? updatePetWithFormQueryKey(petId, data, params)
72
74
 
73
- const query = createQuery(() => ({
74
- ...(updatePetWithFormQueryOptions(petId, data, params, config) as unknown as CreateBaseQueryOptions),
75
- queryKey,
76
- initialData: null,
77
- ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
78
- })) as CreateQueryResult<TData, ResponseErrorConfig<UpdatePetWithForm405>> & { queryKey: TQueryKey }
75
+ const query = createQuery(
76
+ () => ({
77
+ ...(updatePetWithFormQueryOptions(petId, data, params, config) as unknown as CreateBaseQueryOptions),
78
+ queryKey,
79
+ initialData: null,
80
+ ...(queryOptions as unknown as Omit<CreateBaseQueryOptions, 'queryKey'>),
81
+ }),
82
+ queryClient ? () => queryClient : undefined,
83
+ ) as CreateQueryResult<TData, ResponseErrorConfig<UpdatePetWithForm405>> & { queryKey: TQueryKey }
79
84
 
80
85
  query.queryKey = queryKey as TQueryKey
81
86
 
@@ -134,7 +134,7 @@ export const queryGenerator = createReactGenerator<PluginSolidQuery>({
134
134
  {options.query && (
135
135
  <>
136
136
  <File.Import name={['createQuery']} path={importPath} />
137
- <File.Import name={['QueryKey', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />
137
+ <File.Import name={['QueryKey', 'QueryClient', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />
138
138
  <Query
139
139
  name={query.name}
140
140
  queryOptionsName={queryOptions.name}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../plugin-client/src/generators/clientGenerator.tsx","../../plugin-client/src/generators/operationsGenerator.tsx","../../plugin-client/src/generators/groupedClientGenerator.tsx","../../plugin-client/src/plugin.ts","../src/generators/queryGenerator.tsx"],"names":["createReactGenerator","useApp","useOas","jsx","File","getBanner","getFooter","useOperationManager","jsxs","pluginZodName","options","camelCase","baseURL","pluginTsName"],"mappings":"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","file":"chunk-4L7HRW2A.js","sourcesContent":["import { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { Client } from '../components/Client'\nimport { Url } from '../components/Url.tsx'\nimport type { PluginClient } from '../types'\n\nexport const clientGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginClient>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const url = {\n name: getName(operation, { type: 'function', suffix: 'url', prefix: 'get' }),\n file: getFile(operation),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n return (\n <File\n baseName={client.file.baseName}\n path={client.file.path}\n meta={client.file.meta}\n banner={getBanner({ oas, output })}\n footer={getFooter({ oas, output })}\n >\n <File.Import name={'client'} path={options.importPath} />\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={client.file.path} path={zod.file.path} />\n )}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={client.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <Url\n name={url.name}\n baseURL={options.baseURL}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n />\n\n <Client\n name={client.name}\n urlName={url.name}\n baseURL={options.baseURL}\n dataReturnType={options.dataReturnType}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File, useApp } from '@kubb/react'\nimport { Operations } from '../components/Operations'\nimport type { PluginClient } from '../types'\n\nexport const operationsGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: {\n key: pluginKey,\n options: { output },\n },\n } = useApp<PluginClient>()\n const oas = useOas()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={getBanner({ oas, output })} footer={getFooter({ oas, output })}>\n <Operations name={name} operations={operations} />\n </File>\n )\n },\n})\n","import { camelCase } from '@kubb/core/transformers'\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File, Function, useApp } from '@kubb/react'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: { options, key: pluginKey },\n } = useApp<PluginClient>()\n const oas = useOas()\n const { getName, getFile, getGroup } = useOperationManager()\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const group = getGroup(operation)\n const name = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) : undefined\n\n if (!group?.tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group },\n })\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.clients.push(client)\n } else {\n acc.push({ name, file, clients: [client] })\n }\n }\n\n return acc\n },\n [] as Array<{ name: string; file: KubbFile.File; clients: Array<{ name: string; file: KubbFile.File }> }>,\n )\n\n return controllers.map(({ name, file, clients }) => {\n return (\n <File\n key={file.path}\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: options.output })}\n footer={getFooter({ oas, output: options.output })}\n >\n {clients.map((client) => (\n <File.Import key={client.name} name={[client.name]} root={file.path} path={client.file.path} />\n ))}\n\n <File.Source name={name} isExportable isIndexable>\n <Function export name={name}>\n {`return { ${clients.map((client) => client.name).join(', ')} }`}\n </Function>\n </File.Source>\n </File>\n )\n })\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { operationsGenerator } from './generators'\nimport { clientGenerator } from './generators/clientGenerator.tsx'\nimport { groupedClientGenerator } from './generators/groupedClientGenerator.tsx'\nimport type { PluginClient } from './types.ts'\n\nexport const pluginClientName = 'plugin-client' satisfies PluginClient['name']\n\nexport const pluginClient = createPlugin<PluginClient>((options) => {\n const {\n output = { path: 'clients', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n transformers = {},\n dataReturnType = 'data',\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n operations = false,\n baseURL,\n paramsCasing,\n generators = [clientGenerator, group ? groupedClientGenerator : undefined, operations ? operationsGenerator : undefined].filter(Boolean),\n parser = 'client',\n client = 'axios',\n importPath = client === 'fetch' ? '@kubb/plugin-client/clients/fetch' : '@kubb/plugin-client/clients/axios',\n contentType,\n } = options\n\n return {\n name: pluginClientName,\n options: {\n output,\n group,\n parser,\n dataReturnType,\n importPath,\n paramsType,\n paramsCasing,\n pathParamsType,\n baseURL,\n },\n pre: [pluginOasName, 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 (group && (options?.group?.path || options?.group?.tag)) {\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(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n const resolvedName = camelCase(name, { isFile: type === 'file' })\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(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 const operationGenerator = new OperationGenerator(\n baseURL\n ? {\n ...this.plugin.options,\n baseURL,\n }\n : this.plugin.options,\n {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n },\n )\n\n const files = await operationGenerator.build(...generators)\n\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","import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginSolidQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSolidQuery>({\n name: 'svelte-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n pluginManager,\n } = useApp<PluginSolidQuery>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(['post', 'put', 'delete', 'patch'], options.query ? options.query.methods : []).some((method) => operation.method === method)\n const importPath = options.query ? options.query.importPath : '@tanstack/solid-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const hasClientPlugin = !!pluginManager.getPluginByKey([pluginClientName])\n const client = {\n name: hasClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginKey: [pluginClientName],\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n <File.Import name={'client'} path={options.client.importPath} />\n {!!hasClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.queryKey}\n />\n {!hasClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType}\n />\n {options.query && (\n <>\n <File.Import name={['createQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n operation={operation}\n paramsCasing={options.paramsCasing}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"]}