@kubb/plugin-solid-query 3.16.4 → 3.17.1

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.
Files changed (36) hide show
  1. package/dist/{components-LAcBpjX8.cjs → components-CCkbce4B.cjs} +4 -3
  2. package/dist/components-CCkbce4B.cjs.map +1 -0
  3. package/dist/{components-CNM6UaoG.js → components-DteoGXDw.js} +4 -3
  4. package/dist/components-DteoGXDw.js.map +1 -0
  5. package/dist/components.cjs +1 -1
  6. package/dist/components.d.cts +1 -1
  7. package/dist/components.d.ts +1 -1
  8. package/dist/components.js +1 -1
  9. package/dist/{generators-DU74wsZY.js → generators-D4zsCZ8Y.js} +3 -3
  10. package/dist/{generators-DU74wsZY.js.map → generators-D4zsCZ8Y.js.map} +1 -1
  11. package/dist/{generators-DS71XOIi.cjs → generators-yp4-76zC.cjs} +3 -3
  12. package/dist/{generators-DS71XOIi.cjs.map → generators-yp4-76zC.cjs.map} +1 -1
  13. package/dist/generators.cjs +2 -2
  14. package/dist/generators.d.cts +1 -1
  15. package/dist/generators.d.ts +1 -1
  16. package/dist/generators.js +2 -2
  17. package/dist/index.cjs +2 -2
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +2 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/{types-C4Kxe-X1.d.ts → types-Ci_4FqMj.d.ts} +54 -54
  24. package/dist/{types-DULzisVA.d.cts → types-DLEwjVmP.d.cts} +54 -54
  25. package/package.json +9 -9
  26. package/src/components/Query.tsx +4 -4
  27. package/src/generators/__snapshots__/clientDataReturnTypeFull.ts +2 -1
  28. package/src/generators/__snapshots__/clientGetImportPath.ts +2 -1
  29. package/src/generators/__snapshots__/findByTags.ts +2 -1
  30. package/src/generators/__snapshots__/findByTagsObject.ts +2 -1
  31. package/src/generators/__snapshots__/findByTagsPathParamsObject.ts +2 -1
  32. package/src/generators/__snapshots__/findByTagsWithCustomQueryKey.ts +2 -1
  33. package/src/generators/__snapshots__/findByTagsWithZod.ts +2 -1
  34. package/src/generators/__snapshots__/postAsQuery.ts +2 -1
  35. package/dist/components-CNM6UaoG.js.map +0 -1
  36. package/dist/components-LAcBpjX8.cjs.map +0 -1
@@ -21,9 +21,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  }) : target, mod));
22
22
 
23
23
  //#endregion
24
- const __kubb_react = __toESM(require("@kubb/react"));
25
24
  const __kubb_oas = __toESM(require("@kubb/oas"));
26
25
  const __kubb_plugin_oas_utils = __toESM(require("@kubb/plugin-oas/utils"));
26
+ const __kubb_react = __toESM(require("@kubb/react"));
27
27
  const __kubb_core_utils = __toESM(require("@kubb/core/utils"));
28
28
  const __kubb_react_jsx_runtime = __toESM(require("@kubb/react/jsx-runtime"));
29
29
  const __kubb_plugin_client_components = __toESM(require("@kubb/plugin-client/components"));
@@ -321,7 +321,8 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsC
321
321
  params: params.toConstructor(),
322
322
  JSDoc: { comments: (0, __kubb_plugin_oas_utils.getComments)(operation) },
323
323
  children: `
324
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
324
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
325
+ const { client: queryClient, ...queryOptions } = queryConfig
325
326
  const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
326
327
 
327
328
  const query = createQuery(() => ({
@@ -363,4 +364,4 @@ Object.defineProperty(exports, '__toESM', {
363
364
  return __toESM;
364
365
  }
365
366
  });
366
- //# sourceMappingURL=components-LAcBpjX8.cjs.map
367
+ //# sourceMappingURL=components-CCkbce4B.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-CCkbce4B.cjs","names":["getParams","FunctionParams","getTransformer: Transformer","URLPath","File","Function","Type","getParams","FunctionParams","Client","File","Function","FunctionParams","File","Function"],"sources":["../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, paramsCasing, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsCasing,\n typeSchemas,\n paramsType,\n pathParamsType,\n isConfigurable: true,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { isOptional, type Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const returnType = `UseQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryConfig = {}, client: config = {} } = options ?? {}\n const { client: queryClient, ...queryOptions } = queryConfig\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<UseBaseQueryOptions, \"queryKey\">\n }), queryClient? () => queryClient: undefined) as ${returnType}\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { File, Function, FunctionParams, Type } from "@kubb/react";
2
1
  import { isOptional } from "@kubb/oas";
3
2
  import { getComments, getPathParams } from "@kubb/plugin-oas/utils";
3
+ import { File, Function, FunctionParams, Type } from "@kubb/react";
4
4
  import { URLPath } from "@kubb/core/utils";
5
5
  import { Fragment, jsx, jsxs } from "@kubb/react/jsx-runtime";
6
6
  import { Client } from "@kubb/plugin-client/components";
@@ -298,7 +298,8 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsC
298
298
  params: params.toConstructor(),
299
299
  JSDoc: { comments: getComments(operation) },
300
300
  children: `
301
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
301
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
302
+ const { client: queryClient, ...queryOptions } = queryConfig
302
303
  const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
303
304
 
304
305
  const query = createQuery(() => ({
@@ -317,4 +318,4 @@ Query.getParams = getParams;
317
318
 
318
319
  //#endregion
319
320
  export { Query, QueryKey, QueryOptions };
320
- //# sourceMappingURL=components-CNM6UaoG.js.map
321
+ //# sourceMappingURL=components-DteoGXDw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-DteoGXDw.js","names":["getParams","getTransformer: Transformer","getParams"],"sources":["../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, paramsCasing, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsCasing,\n typeSchemas,\n paramsType,\n pathParamsType,\n isConfigurable: true,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { isOptional, type Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const returnType = `UseQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryConfig = {}, client: config = {} } = options ?? {}\n const { client: queryClient, ...queryOptions } = queryConfig\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<UseBaseQueryOptions, \"queryKey\">\n }), queryClient? () => queryClient: undefined) as ${returnType}\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_components = require('./components-LAcBpjX8.cjs');
1
+ const require_components = require('./components-CCkbce4B.cjs');
2
2
 
3
3
  exports.Query = require_components.Query;
4
4
  exports.QueryKey = require_components.QueryKey;
@@ -1,4 +1,4 @@
1
- import { Operation, OperationSchemas, PluginSolidQuery, Transformer } from "./types-DULzisVA.cjs";
1
+ import { Operation, OperationSchemas, PluginSolidQuery, Transformer } from "./types-DLEwjVmP.cjs";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region ../react/src/utils/getFunctionParams.d.ts
@@ -1,4 +1,4 @@
1
- import { Operation, OperationSchemas, PluginSolidQuery, Transformer } from "./types-C4Kxe-X1.js";
1
+ import { Operation, OperationSchemas, PluginSolidQuery, Transformer } from "./types-Ci_4FqMj.js";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region ../react/src/utils/getFunctionParams.d.ts
@@ -1,3 +1,3 @@
1
- import { Query, QueryKey, QueryOptions } from "./components-CNM6UaoG.js";
1
+ import { Query, QueryKey, QueryOptions } from "./components-DteoGXDw.js";
2
2
 
3
3
  export { Query, QueryKey, QueryOptions };
@@ -1,9 +1,9 @@
1
- import { Query, QueryKey, QueryOptions } from "./components-CNM6UaoG.js";
1
+ import { Query, QueryKey, QueryOptions } from "./components-DteoGXDw.js";
2
2
  import { createReactGenerator } from "@kubb/plugin-oas";
3
3
  import { pluginTsName } from "@kubb/plugin-ts";
4
4
  import { pluginZodName } from "@kubb/plugin-zod";
5
- import { File, useApp } from "@kubb/react";
6
5
  import { getBanner, getFooter } from "@kubb/plugin-oas/utils";
6
+ import { File, useApp } from "@kubb/react";
7
7
  import { Fragment, jsx, jsxs } from "@kubb/react/jsx-runtime";
8
8
  import { Client } from "@kubb/plugin-client/components";
9
9
  import { pluginClientName } from "@kubb/plugin-client";
@@ -191,4 +191,4 @@ const queryGenerator = createReactGenerator({
191
191
 
192
192
  //#endregion
193
193
  export { queryGenerator };
194
- //# sourceMappingURL=generators-DU74wsZY.js.map
194
+ //# sourceMappingURL=generators-D4zsCZ8Y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generators-DU74wsZY.js","names":[],"sources":["../src/generators/queryGenerator.tsx"],"sourcesContent":["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, config: pluginManager.config })}\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={'fetch'} 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', 'QueryClient', 'UseBaseQueryOptions', 'UseQueryResult']} 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"],"mappings":";;;;;;;;;;;;;AAYA,MAAa,iBAAiB,qBAAuC;CACnE,MAAM;CACN,UAAU,EAAE,SAAS,WAAW,EAAE;EAChC,MAAM,EACJ,QAAQ,EACN,SAAS,EAAE,QAAQ,EACpB,EACD,eACD,GAAG,QAA0B;EAC9B,MAAM,MAAM,QAAQ;EACpB,MAAM,EAAE,YAAY,SAAS,SAAS,GAAG,qBAAqB;EAE9D,MAAM,UAAU,OAAO,QAAQ,UAAU,YAAY,OAAO,QAAQ,OAAO,QAAQ,KAAK,CAAC,WAAW,UAAU,WAAW,OAAO;EAChI,MAAM,aAAa,WAAW;GAAC;GAAQ;GAAO;GAAU;EAAQ,GAAE,QAAQ,QAAQ,QAAQ,MAAM,UAAU,CAAE,EAAC,CAAC,KAAK,CAAC,WAAW,UAAU,WAAW,OAAO;EAC3J,MAAM,aAAa,QAAQ,QAAQ,QAAQ,MAAM,aAAa;EAE9D,MAAM,QAAQ;GACZ,MAAM,QAAQ,WAAW;IAAE,MAAM;IAAY,QAAQ;GAAU,EAAC;GAChE,UAAU,QAAQ,WAAW,EAAE,MAAM,OAAQ,EAAC;GAC9C,MAAM,QAAQ,WAAW,EAAE,QAAQ,SAAU,EAAC;EAC/C;EAED,MAAM,kBAAkB,CAAC,CAAC,cAAc,eAAe,CAAC,gBAAiB,EAAC;EAC1E,MAAM,SAAS;GACb,MAAM,kBACF,QAAQ,WAAW;IACjB,MAAM;IACN,WAAW,CAAC,gBAAiB;GAC9B,EAAC,GACF,QAAQ,WAAW,EACjB,MAAM,WACP,EAAC;GACN,MAAM,QAAQ,WAAW,EAAE,WAAW,CAAC,gBAAiB,EAAE,EAAC;EAC5D;EAED,MAAM,eAAe,EACnB,MAAM,QAAQ,WAAW;GAAE,MAAM;GAAY,QAAQ;EAAgB,EAAC,CACvE;EAED,MAAM,WAAW;GACf,MAAM,QAAQ,WAAW;IAAE,MAAM;IAAS,QAAQ;GAAY,EAAC;GAC/D,UAAU,QAAQ,WAAW;IAAE,MAAM;IAAQ,QAAQ;GAAY,EAAC;EACnE;EAED,MAAM,OAAO;GACX,MAAM,QAAQ,WAAW,EAAE,WAAW,CAAC,YAAa,EAAE,EAAC;GAEvD,SAAS,WAAW,WAAW;IAAE,WAAW,CAAC,YAAa;IAAE,MAAM;GAAQ,EAAC;EAC5E;EAED,MAAM,MAAM;GACV,MAAM,QAAQ,WAAW,EAAE,WAAW,CAAC,aAAc,EAAE,EAAC;GACxD,SAAS,WAAW,WAAW;IAAE,WAAW,CAAC,aAAc;IAAE,MAAM;GAAY,EAAC;EACjF;AAED,MAAI,CAAC,WAAW,WACd,QAAO;AAGT,8BACG;GACC,UAAU,MAAM,KAAK;GACrB,MAAM,MAAM,KAAK;GACjB,MAAM,MAAM,KAAK;GACjB,QAAQ,UAAU;IAAE;IAAK;IAAQ,QAAQ,cAAc;GAAQ,EAAC;GAChE,QAAQ,UAAU;IAAE;IAAK;GAAQ,EAAC;;IAEjC,QAAQ,WAAW,6BACjB,KAAK;KAAO,MAAM,CAAC,IAAI,QAAQ,SAAS,MAAM,IAAI,QAAQ,SAAS,IAAK,EAAC,OAAO,QAAQ;KAAE,MAAM,MAAM,KAAK;KAAM,MAAM,IAAI,KAAK;MAAQ;wBAE1I,KAAK;KAAO,MAAM;KAAS,MAAM,QAAQ,OAAO;MAAc;IAC9D,CAAC,CAAC,uCAAoB,KAAK;KAAO,MAAM,CAAC,OAAO,IAAK;KAAE,MAAM,MAAM,KAAK;KAAM,MAAM,OAAO,KAAK;MAAQ;wBACxG,KAAK;KAAO,MAAM,CAAC,iBAAiB,qBAAsB;KAAE,MAAM,QAAQ,OAAO;KAAY;MAAa;IAC1G,QAAQ,OAAO,mBAAmB,8BAAW,KAAK;KAAO,MAAM,CAAC,gBAAiB;KAAE,MAAM,QAAQ,OAAO;KAAY;MAAa;wBACjI,KAAK;KACJ,MAAM;MACJ,KAAK,QAAQ,SAAS;MACtB,KAAK,QAAQ,SAAS;MACtB,KAAK,QAAQ,YAAY;MACzB,KAAK,QAAQ,aAAa;MAC1B,KAAK,QAAQ,cAAc;MAC3B,GAAI,KAAK,QAAQ,aAAa,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,CAAE;KAC7D,EAAC,OAAO,QAAQ;KACjB,MAAM,MAAM,KAAK;KACjB,MAAM,KAAK,KAAK;KAChB;MACA;wBACD;KACC,MAAM,SAAS;KACf,UAAU,SAAS;KACR;KACX,cAAc,QAAQ;KACtB,gBAAgB,QAAQ;KACxB,aAAa,KAAK;KAClB,aAAa,QAAQ;MACrB;IACD,CAAC,uCACC;KACC,MAAM,OAAO;KACb,SAAS,QAAQ,OAAO;KACb;KACX,aAAa,KAAK;KAClB,YAAY,IAAI;KAChB,gBAAgB,QAAQ,OAAO;KAC/B,cAAc,QAAQ;KACtB,YAAY,QAAQ;KACpB,gBAAgB,QAAQ;KACxB,QAAQ,QAAQ;MAChB;wBAEH,KAAK;KAAO,MAAM,CAAC,cAAe;KAAE,MAAM;MAAc;wBACxD;KACC,MAAM,aAAa;KACnB,YAAY,OAAO;KACnB,cAAc,SAAS;KACvB,aAAa,KAAK;KAClB,cAAc,QAAQ;KACtB,YAAY,QAAQ;KACpB,gBAAgB,QAAQ;KACxB,gBAAgB,QAAQ,OAAO;MAC/B;IACD,QAAQ;yBAEJ,KAAK;MAAO,MAAM,CAAC,aAAc;MAAE,MAAM;OAAc;yBACvD,KAAK;MAAO,MAAM;OAAC;OAAY;OAAe;OAAuB;MAAiB;MAAE,MAAM;MAAY;OAAa;yBACvH;MACC,MAAM,MAAM;MACZ,kBAAkB,aAAa;MAC/B,aAAa,KAAK;MAClB,YAAY,QAAQ;MACpB,gBAAgB,QAAQ;MACb;MACX,cAAc,QAAQ;MACtB,gBAAgB,QAAQ,OAAO;MAC/B,cAAc,SAAS;MACvB,kBAAkB,SAAS;OAC3B;QACD;;IAEA;CAEV;AACF,EAAC"}
1
+ {"version":3,"file":"generators-D4zsCZ8Y.js","names":[],"sources":["../src/generators/queryGenerator.tsx"],"sourcesContent":["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, config: pluginManager.config })}\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={'fetch'} 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', 'QueryClient', 'UseBaseQueryOptions', 'UseQueryResult']} 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"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- const require_components = require('./components-LAcBpjX8.cjs');
1
+ const require_components = require('./components-CCkbce4B.cjs');
2
2
  const __kubb_plugin_oas = require_components.__toESM(require("@kubb/plugin-oas"));
3
3
  const __kubb_plugin_ts = require_components.__toESM(require("@kubb/plugin-ts"));
4
4
  const __kubb_plugin_zod = require_components.__toESM(require("@kubb/plugin-zod"));
5
- const __kubb_react = require_components.__toESM(require("@kubb/react"));
6
5
  const __kubb_plugin_oas_utils = require_components.__toESM(require("@kubb/plugin-oas/utils"));
6
+ const __kubb_react = require_components.__toESM(require("@kubb/react"));
7
7
  const __kubb_react_jsx_runtime = require_components.__toESM(require("@kubb/react/jsx-runtime"));
8
8
  const __kubb_plugin_client_components = require_components.__toESM(require("@kubb/plugin-client/components"));
9
9
  const __kubb_plugin_client = require_components.__toESM(require("@kubb/plugin-client"));
@@ -196,4 +196,4 @@ Object.defineProperty(exports, 'queryGenerator', {
196
196
  return queryGenerator;
197
197
  }
198
198
  });
199
- //# sourceMappingURL=generators-DS71XOIi.cjs.map
199
+ //# sourceMappingURL=generators-yp4-76zC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generators-DS71XOIi.cjs","names":["pluginClientName","pluginTsName","pluginZodName","File","QueryKey","Client","QueryOptions","Query"],"sources":["../src/generators/queryGenerator.tsx"],"sourcesContent":["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, config: pluginManager.config })}\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={'fetch'} 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', 'QueryClient', 'UseBaseQueryOptions', 'UseQueryResult']} 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"],"mappings":"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"}
1
+ {"version":3,"file":"generators-yp4-76zC.cjs","names":["pluginClientName","pluginTsName","pluginZodName","File","QueryKey","Client","QueryOptions","Query"],"sources":["../src/generators/queryGenerator.tsx"],"sourcesContent":["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, config: pluginManager.config })}\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={'fetch'} 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', 'QueryClient', 'UseBaseQueryOptions', 'UseQueryResult']} 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"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- require('./components-LAcBpjX8.cjs');
2
- const require_generators = require('./generators-DS71XOIi.cjs');
1
+ require('./components-CCkbce4B.cjs');
2
+ const require_generators = require('./generators-yp4-76zC.cjs');
3
3
 
4
4
  exports.queryGenerator = require_generators.queryGenerator;
@@ -1,4 +1,4 @@
1
- import { Generator, PluginSolidQuery } from "./types-DULzisVA.cjs";
1
+ import { Generator, PluginSolidQuery } from "./types-DLEwjVmP.cjs";
2
2
 
3
3
  //#region src/generators/queryGenerator.d.ts
4
4
  declare const queryGenerator: Generator<PluginSolidQuery>;
@@ -1,4 +1,4 @@
1
- import { Generator, PluginSolidQuery } from "./types-C4Kxe-X1.js";
1
+ import { Generator, PluginSolidQuery } from "./types-Ci_4FqMj.js";
2
2
 
3
3
  //#region src/generators/queryGenerator.d.ts
4
4
  declare const queryGenerator: Generator<PluginSolidQuery>;
@@ -1,4 +1,4 @@
1
- import "./components-CNM6UaoG.js";
2
- import { queryGenerator } from "./generators-DU74wsZY.js";
1
+ import "./components-DteoGXDw.js";
2
+ import { queryGenerator } from "./generators-D4zsCZ8Y.js";
3
3
 
4
4
  export { queryGenerator };
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- const require_components = require('./components-LAcBpjX8.cjs');
2
- const require_generators = require('./generators-DS71XOIi.cjs');
1
+ const require_components = require('./components-CCkbce4B.cjs');
2
+ const require_generators = require('./generators-yp4-76zC.cjs');
3
3
  const node_path = require_components.__toESM(require("node:path"));
4
4
  const __kubb_core = require_components.__toESM(require("@kubb/core"));
5
5
  const __kubb_core_transformers = require_components.__toESM(require("@kubb/core/transformers"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["QueryKey","queryGenerator","pluginOasName","pluginTsName","pluginZodName","options","path","FileManager","groupName: Group['name']","PluginManager","OperationGenerator"],"sources":["../src/plugin.ts"],"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 { QueryKey } from './components'\nimport { queryGenerator } from './generators'\nimport type { PluginSolidQuery } from './types.ts'\n\nexport const pluginSolidQueryName = 'plugin-solid-query' satisfies PluginSolidQuery['name']\n\nexport const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator].filter(Boolean),\n query = {},\n paramsCasing,\n contentType,\n } = options\n\n return {\n name: pluginSolidQueryName,\n options: {\n output,\n client: {\n importPath: '@kubb/plugin-client/clients/axios',\n dataReturnType: 'data',\n pathParamsType,\n ...options.client,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/solid-query',\n ...query,\n },\n paramsType,\n pathParamsType,\n parser,\n group,\n paramsCasing,\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 (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 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,\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 meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["QueryKey","queryGenerator","pluginOasName","pluginTsName","pluginZodName","path","FileManager","options","groupName: Group['name']","PluginManager","OperationGenerator"],"sources":["../src/plugin.ts"],"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 { QueryKey } from './components'\nimport { queryGenerator } from './generators'\nimport type { PluginSolidQuery } from './types.ts'\n\nexport const pluginSolidQueryName = 'plugin-solid-query' satisfies PluginSolidQuery['name']\n\nexport const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator].filter(Boolean),\n query = {},\n paramsCasing,\n contentType,\n } = options\n\n return {\n name: pluginSolidQueryName,\n options: {\n output,\n client: {\n importPath: '@kubb/plugin-client/clients/axios',\n dataReturnType: 'data',\n pathParamsType,\n ...options.client,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/solid-query',\n ...query,\n },\n paramsType,\n pathParamsType,\n parser,\n group,\n paramsCasing,\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 (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 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,\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 meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"],"mappings":";;;;;;;;;;AAeA,MAAa,uBAAuB;AAEpC,MAAa,kDAAmD,YAAY;CAC1E,MAAM,EACJ,SAAS;EAAE,MAAM;EAAS,YAAY;EAAS,EAC/C,OACA,UAAU,EAAE,EACZ,SACA,WAAW,EAAE,EACb,SAAS,UACT,eAAe,EAAE,EACjB,aAAa,UACb,iBAAiB,eAAe,WAAW,WAAW,QAAQ,kBAAkB,UAChF,WAAWA,4BAAS,gBACpB,aAAa,CAACC,kCAAe,CAAC,OAAO,UACrC,QAAQ,EAAE,EACV,cACA,aACD,GAAG;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;GACP;GACA,QAAQ;IACN,YAAY;IACZ,gBAAgB;IAChB;IACA,GAAG,QAAQ;IACZ;GACD;GACA,OACE,UAAU,QACN,QACA;IACE,SAAS,CAAC,MAAM;IAChB,YAAY;IACZ,GAAG;IACJ;GACP;GACA;GACA;GACA;GACA;GACD;EACD,KAAK;GAACC;GAAeC;GAAc,WAAW,QAAQC,kCAAgB;GAAU,CAAC,OAAO;EACxF,YAAY,UAAU,UAAU,WAAS;GACvC,MAAM,OAAOC,kBAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO;GAC/D,MAAM,OAAO,YAAYC,wBAAY,QAAQD,kBAAK,QAAQ,MAAM,OAAO;AAEvE,OAAI,SAAS;;;;;AAKX,UAAOA,kBAAK,QAAQ,MAAM,OAAO;AAGnC,OAAI,UAAUE,WAAS,OAAO,QAAQA,WAAS,OAAO,MAAM;IAC1D,MAAMC,YAA2B,OAAO,OACpC,MAAM,QACL,QAAQ;AACP,SAAI,OAAO,SAAS,OAClB,QAAO,GAAG,IAAI,MAAM,MAAM,KAAK;AAEjC,YAAO,2CAAa,IAAI,OAAO;IAChC;AAEL,WAAOH,kBAAK,QACV,MACA,OAAO,MACP,UAAU,EACR,OAAO,MAAM,SAAS,SAASE,UAAQ,MAAM,OAAQA,UAAQ,MAAM,KACpE,GACD;GAEH;AAED,UAAOF,kBAAK,QAAQ,MAAM,OAAO,MAAM;EACxC;EACD,YAAY,MAAM,MAAM;GACtB,IAAI,uDAAyB;AAE7B,OAAI,SAAS,UAAU,SAAS,WAC9B,wDAAyB,MAAM,EAC7B,QAAQ,SAAS,QAClB;AAEH,OAAI,SAAS,OACX,yDAA0B;AAG5B,OAAI,KACF,QAAO,cAAc,OAAO,cAAc,SAAS;AAGrD,UAAO;EACR;EACD,MAAM,aAAa;GACjB,MAAM,CAAC,cAAmC,GAAGI,0BAAc,mBAA8B,KAAK,SAAS,CAACP,gCAAc;GAEtH,MAAM,MAAM,MAAM,cAAc,QAAQ;GACxC,MAAM,OAAOG,kBAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO;GAC/D,MAAM,OAAOC,wBAAY,QAAQD,kBAAK,QAAQ,MAAM,OAAO;GAC3D,MAAM,UAAU,MAAM,cAAc,QAAQ;AAE5C,OAAI,QACF,MAAK,OAAO,QAAQ,OAAO,UAAU;GAGvC,MAAM,qBAAqB,IAAIK,qCAAmB,KAAK,OAAO,SAAS;IACrE;IACA,eAAe,KAAK;IACpB,QAAQ,KAAK;IACb;IACA;IACA;IACA;IACA;IACD;GAED,MAAM,QAAQ,MAAM,mBAAmB,MAAM,GAAG;AAChD,SAAM,KAAK,QAAQ,GAAG;GAEtB,MAAM,cAAc,MAAM,KAAK,YAAY,eAAe;IACxD,MAAM,OAAO,cAAc;IAC3B;IACA;IACA,MAAM,EACJ,WAAW,KAAK,OAAO,KACxB;IACD,QAAQ,KAAK;IACd;AAED,SAAM,KAAK,QAAQ,GAAG;EACvB;EACF;AACF"}
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { Options, PluginSolidQuery, UserPluginWithLifeCycle } from "./types-DULzisVA.cjs";
1
+ import { Options, PluginSolidQuery, UserPluginWithLifeCycle } from "./types-DLEwjVmP.cjs";
2
2
 
3
3
  //#region src/plugin.d.ts
4
4
  declare const pluginSolidQueryName = "plugin-solid-query";
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Options, PluginSolidQuery, UserPluginWithLifeCycle } from "./types-C4Kxe-X1.js";
1
+ import { Options, PluginSolidQuery, UserPluginWithLifeCycle } from "./types-Ci_4FqMj.js";
2
2
 
3
3
  //#region src/plugin.d.ts
4
4
  declare const pluginSolidQueryName = "plugin-solid-query";
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { QueryKey } from "./components-CNM6UaoG.js";
2
- import { queryGenerator } from "./generators-DU74wsZY.js";
1
+ import { QueryKey } from "./components-DteoGXDw.js";
2
+ import { queryGenerator } from "./generators-D4zsCZ8Y.js";
3
3
  import path from "node:path";
4
4
  import { FileManager, PluginManager, createPlugin } from "@kubb/core";
5
5
  import { camelCase, pascalCase } from "@kubb/core/transformers";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["options","groupName: Group['name']"],"sources":["../src/plugin.ts"],"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 { QueryKey } from './components'\nimport { queryGenerator } from './generators'\nimport type { PluginSolidQuery } from './types.ts'\n\nexport const pluginSolidQueryName = 'plugin-solid-query' satisfies PluginSolidQuery['name']\n\nexport const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator].filter(Boolean),\n query = {},\n paramsCasing,\n contentType,\n } = options\n\n return {\n name: pluginSolidQueryName,\n options: {\n output,\n client: {\n importPath: '@kubb/plugin-client/clients/axios',\n dataReturnType: 'data',\n pathParamsType,\n ...options.client,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/solid-query',\n ...query,\n },\n paramsType,\n pathParamsType,\n parser,\n group,\n paramsCasing,\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 (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 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,\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 meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["options","groupName: Group['name']"],"sources":["../src/plugin.ts"],"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 { QueryKey } from './components'\nimport { queryGenerator } from './generators'\nimport type { PluginSolidQuery } from './types.ts'\n\nexport const pluginSolidQueryName = 'plugin-solid-query' satisfies PluginSolidQuery['name']\n\nexport const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n transformers = {},\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n queryKey = QueryKey.getTransformer,\n generators = [queryGenerator].filter(Boolean),\n query = {},\n paramsCasing,\n contentType,\n } = options\n\n return {\n name: pluginSolidQueryName,\n options: {\n output,\n client: {\n importPath: '@kubb/plugin-client/clients/axios',\n dataReturnType: 'data',\n pathParamsType,\n ...options.client,\n },\n queryKey,\n query:\n query === false\n ? false\n : {\n methods: ['get'],\n importPath: '@tanstack/solid-query',\n ...query,\n },\n paramsType,\n pathParamsType,\n parser,\n group,\n paramsCasing,\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 (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 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,\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 meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"],"mappings":";;;;;;;;;;AAeA,MAAa,uBAAuB;AAEpC,MAAa,mBAAmB,cAAgC,YAAY;CAC1E,MAAM,EACJ,SAAS;EAAE,MAAM;EAAS,YAAY;EAAS,EAC/C,OACA,UAAU,EAAE,EACZ,SACA,WAAW,EAAE,EACb,SAAS,UACT,eAAe,EAAE,EACjB,aAAa,UACb,iBAAiB,eAAe,WAAW,WAAW,QAAQ,kBAAkB,UAChF,WAAW,SAAS,gBACpB,aAAa,CAAC,eAAe,CAAC,OAAO,UACrC,QAAQ,EAAE,EACV,cACA,aACD,GAAG;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;GACP;GACA,QAAQ;IACN,YAAY;IACZ,gBAAgB;IAChB;IACA,GAAG,QAAQ;IACZ;GACD;GACA,OACE,UAAU,QACN,QACA;IACE,SAAS,CAAC,MAAM;IAChB,YAAY;IACZ,GAAG;IACJ;GACP;GACA;GACA;GACA;GACA;GACD;EACD,KAAK;GAAC;GAAe;GAAc,WAAW,QAAQ,gBAAgB;GAAU,CAAC,OAAO;EACxF,YAAY,UAAU,UAAU,WAAS;GACvC,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO;GAC/D,MAAM,OAAO,YAAY,YAAY,QAAQ,KAAK,QAAQ,MAAM,OAAO;AAEvE,OAAI,SAAS;;;;;AAKX,UAAO,KAAK,QAAQ,MAAM,OAAO;AAGnC,OAAI,UAAUA,WAAS,OAAO,QAAQA,WAAS,OAAO,MAAM;IAC1D,MAAMC,YAA2B,OAAO,OACpC,MAAM,QACL,QAAQ;AACP,SAAI,OAAO,SAAS,OAClB,QAAO,GAAG,IAAI,MAAM,MAAM,KAAK;AAEjC,YAAO,GAAG,UAAU,IAAI,OAAO;IAChC;AAEL,WAAO,KAAK,QACV,MACA,OAAO,MACP,UAAU,EACR,OAAO,MAAM,SAAS,SAASD,UAAQ,MAAM,OAAQA,UAAQ,MAAM,KACpE,GACD;GAEH;AAED,UAAO,KAAK,QAAQ,MAAM,OAAO,MAAM;EACxC;EACD,YAAY,MAAM,MAAM;GACtB,IAAI,eAAe,UAAU;AAE7B,OAAI,SAAS,UAAU,SAAS,WAC9B,gBAAe,UAAU,MAAM,EAC7B,QAAQ,SAAS,QAClB;AAEH,OAAI,SAAS,OACX,gBAAe,WAAW;AAG5B,OAAI,KACF,QAAO,cAAc,OAAO,cAAc,SAAS;AAGrD,UAAO;EACR;EACD,MAAM,aAAa;GACjB,MAAM,CAAC,cAAmC,GAAG,cAAc,mBAA8B,KAAK,SAAS,CAAC,cAAc;GAEtH,MAAM,MAAM,MAAM,cAAc,QAAQ;GACxC,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO;GAC/D,MAAM,OAAO,YAAY,QAAQ,KAAK,QAAQ,MAAM,OAAO;GAC3D,MAAM,UAAU,MAAM,cAAc,QAAQ;AAE5C,OAAI,QACF,MAAK,OAAO,QAAQ,OAAO,UAAU;GAGvC,MAAM,qBAAqB,IAAI,mBAAmB,KAAK,OAAO,SAAS;IACrE;IACA,eAAe,KAAK;IACpB,QAAQ,KAAK;IACb;IACA;IACA;IACA;IACA;IACD;GAED,MAAM,QAAQ,MAAM,mBAAmB,MAAM,GAAG;AAChD,SAAM,KAAK,QAAQ,GAAG;GAEtB,MAAM,cAAc,MAAM,KAAK,YAAY,eAAe;IACxD,MAAM,OAAO,cAAc;IAC3B;IACA;IACA,MAAM,EACJ,WAAW,KAAK,OAAO,KACxB;IACD,QAAQ,KAAK;IACd;AAED,SAAM,KAAK,QAAQ,GAAG;EACvB;EACF;AACF"}
@@ -1,11 +1,60 @@
1
- import { ConsolaInstance, LogLevel } from "consola";
2
1
  import * as OasTypes from "oas/types";
3
2
  import { HttpMethods as HttpMethod, OASDocument, SchemaObject, User } from "oas/types";
4
3
  import { Operation, Operation as Operation$1 } from "oas/operation";
5
4
  import { OpenAPIV3 } from "openapi-types";
6
5
  import * as oas_normalize_lib_types0 from "oas-normalize/lib/types";
7
6
  import BaseOas from "oas";
7
+ import { ConsolaInstance, LogLevel } from "consola";
8
8
 
9
+ //#region ../oas/src/types.d.ts
10
+ type contentType = 'application/json' | (string & {});
11
+ type SchemaObject$1 = OasTypes.SchemaObject & {
12
+ 'x-nullable'?: boolean;
13
+ $ref?: string;
14
+ };
15
+ //#endregion
16
+ //#region ../oas/src/Oas.d.ts
17
+ type Options$4 = {
18
+ contentType?: contentType;
19
+ discriminator?: 'strict' | 'inherit';
20
+ };
21
+ declare class Oas<const TOAS = unknown> extends BaseOas {
22
+ #private;
23
+ document: TOAS;
24
+ constructor({
25
+ oas,
26
+ user
27
+ }: {
28
+ oas: TOAS | OASDocument | string;
29
+ user?: User;
30
+ });
31
+ setOptions(options: Options$4): void;
32
+ get options(): Options$4;
33
+ get($ref: string): any;
34
+ getKey($ref: string): string | undefined;
35
+ set($ref: string, value: unknown): false | undefined;
36
+ getDiscriminator(schema: OasTypes.SchemaObject): OpenAPIV3.DiscriminatorObject | undefined;
37
+ dereferenceWithRef(schema?: unknown): any;
38
+ getResponseSchema(operation: Operation, statusCode: string | number): SchemaObject;
39
+ getRequestSchema(operation: Operation): SchemaObject | undefined;
40
+ getParametersSchema(operation: Operation, inKey: 'path' | 'query' | 'header'): SchemaObject | null;
41
+ valdiate(): Promise<oas_normalize_lib_types0.ValidationResult>;
42
+ }
43
+ //#endregion
44
+ //#region ../core/src/BaseGenerator.d.ts
45
+ /**
46
+ * Abstract class that contains the building blocks for plugins to create their own Generator
47
+ * @link idea based on https://github.com/colinhacks/zod/blob/master/src/types.ts#L137
48
+ */
49
+ declare abstract class BaseGenerator<TOptions = unknown, TContext = unknown> {
50
+ #private;
51
+ constructor(options?: TOptions, context?: TContext);
52
+ get options(): TOptions;
53
+ get context(): TContext;
54
+ set options(options: TOptions);
55
+ abstract build(...params: unknown[]): unknown;
56
+ }
57
+ //#endregion
9
58
  //#region ../core/src/fs/types.d.ts
10
59
  type BasePath<T extends string = string> = `${T}/`;
11
60
  type Import = {
@@ -121,20 +170,6 @@ type ResolvedFile<TMeta extends object = object> = File<TMeta> & {
121
170
  exports: Array<ResolvedExport>;
122
171
  };
123
172
  //#endregion
124
- //#region ../core/src/BaseGenerator.d.ts
125
- /**
126
- * Abstract class that contains the building blocks for plugins to create their own Generator
127
- * @link idea based on https://github.com/colinhacks/zod/blob/master/src/types.ts#L137
128
- */
129
- declare abstract class BaseGenerator<TOptions = unknown, TContext = unknown> {
130
- #private;
131
- constructor(options?: TOptions, context?: TContext);
132
- get options(): TOptions;
133
- get context(): TContext;
134
- set options(options: TOptions);
135
- abstract build(...params: unknown[]): unknown;
136
- }
137
- //#endregion
138
173
  //#region ../core/src/utils/EventEmitter.d.ts
139
174
  declare class EventEmitter<TEvents extends Record<string, any>> {
140
175
  #private;
@@ -529,7 +564,7 @@ type SafeParseResult<H extends PluginLifecycleHooks, Result = ReturnType<ParseRe
529
564
  result: Result;
530
565
  plugin: Plugin;
531
566
  };
532
- type Options$4 = {
567
+ type Options$3 = {
533
568
  logger: Logger;
534
569
  /**
535
570
  * @default Number.POSITIVE_INFINITY
@@ -556,8 +591,8 @@ declare class PluginManager {
556
591
  readonly config: Config;
557
592
  readonly executed: Array<Executer>;
558
593
  readonly logger: Logger;
559
- readonly options: Options$4;
560
- constructor(config: Config, options: Options$4);
594
+ readonly options: Options$3;
595
+ constructor(config: Config, options: Options$3);
561
596
  getFile<TOptions = object>({
562
597
  name,
563
598
  mode,
@@ -659,41 +694,6 @@ declare class PluginManager {
659
694
  static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "buildEnd"];
660
695
  }
661
696
  //#endregion
662
- //#region ../oas/src/types.d.ts
663
- type contentType = 'application/json' | (string & {});
664
- type SchemaObject$1 = OasTypes.SchemaObject & {
665
- 'x-nullable'?: boolean;
666
- $ref?: string;
667
- };
668
- //#endregion
669
- //#region ../oas/src/Oas.d.ts
670
- type Options$3 = {
671
- contentType?: contentType;
672
- discriminator?: 'strict' | 'inherit';
673
- };
674
- declare class Oas<const TOAS = unknown> extends BaseOas {
675
- #private;
676
- document: TOAS;
677
- constructor({
678
- oas,
679
- user
680
- }: {
681
- oas: TOAS | OASDocument | string;
682
- user?: User;
683
- });
684
- setOptions(options: Options$3): void;
685
- get options(): Options$3;
686
- get($ref: string): any;
687
- getKey($ref: string): string | undefined;
688
- set($ref: string, value: unknown): false | undefined;
689
- getDiscriminator(schema: OasTypes.SchemaObject): OpenAPIV3.DiscriminatorObject | undefined;
690
- dereferenceWithRef(schema?: unknown): any;
691
- getResponseSchema(operation: Operation, statusCode: string | number): SchemaObject;
692
- getRequestSchema(operation: Operation): SchemaObject | undefined;
693
- getParametersSchema(operation: Operation, inKey: 'path' | 'query' | 'header'): SchemaObject | null;
694
- valdiate(): Promise<oas_normalize_lib_types0.ValidationResult>;
695
- }
696
- //#endregion
697
697
  //#region ../plugin-oas/src/SchemaMapper.d.ts
698
698
  type SchemaKeywordMapper = {
699
699
  object: {
@@ -1332,4 +1332,4 @@ type ResolvedOptions = {
1332
1332
  type PluginSolidQuery = PluginFactoryOptions<'plugin-solid-query', Options$1, ResolvedOptions, never, ResolvePathOptions>;
1333
1333
  //#endregion
1334
1334
  export { Generator, type Operation$1 as Operation, OperationSchemas, Options$1 as Options, PluginSolidQuery, Transformer, UserPluginWithLifeCycle };
1335
- //# sourceMappingURL=types-C4Kxe-X1.d.ts.map
1335
+ //# sourceMappingURL=types-Ci_4FqMj.d.ts.map
@@ -1,11 +1,60 @@
1
- import { ConsolaInstance, LogLevel } from "consola";
2
1
  import * as OasTypes from "oas/types";
3
2
  import { HttpMethods as HttpMethod, OASDocument, SchemaObject, User } from "oas/types";
4
3
  import { Operation, Operation as Operation$1 } from "oas/operation";
5
4
  import { OpenAPIV3 } from "openapi-types";
6
5
  import * as oas_normalize_lib_types0 from "oas-normalize/lib/types";
7
6
  import BaseOas from "oas";
7
+ import { ConsolaInstance, LogLevel } from "consola";
8
8
 
9
+ //#region ../oas/src/types.d.ts
10
+ type contentType = 'application/json' | (string & {});
11
+ type SchemaObject$1 = OasTypes.SchemaObject & {
12
+ 'x-nullable'?: boolean;
13
+ $ref?: string;
14
+ };
15
+ //#endregion
16
+ //#region ../oas/src/Oas.d.ts
17
+ type Options$4 = {
18
+ contentType?: contentType;
19
+ discriminator?: 'strict' | 'inherit';
20
+ };
21
+ declare class Oas<const TOAS = unknown> extends BaseOas {
22
+ #private;
23
+ document: TOAS;
24
+ constructor({
25
+ oas,
26
+ user
27
+ }: {
28
+ oas: TOAS | OASDocument | string;
29
+ user?: User;
30
+ });
31
+ setOptions(options: Options$4): void;
32
+ get options(): Options$4;
33
+ get($ref: string): any;
34
+ getKey($ref: string): string | undefined;
35
+ set($ref: string, value: unknown): false | undefined;
36
+ getDiscriminator(schema: OasTypes.SchemaObject): OpenAPIV3.DiscriminatorObject | undefined;
37
+ dereferenceWithRef(schema?: unknown): any;
38
+ getResponseSchema(operation: Operation, statusCode: string | number): SchemaObject;
39
+ getRequestSchema(operation: Operation): SchemaObject | undefined;
40
+ getParametersSchema(operation: Operation, inKey: 'path' | 'query' | 'header'): SchemaObject | null;
41
+ valdiate(): Promise<oas_normalize_lib_types0.ValidationResult>;
42
+ }
43
+ //#endregion
44
+ //#region ../core/src/BaseGenerator.d.ts
45
+ /**
46
+ * Abstract class that contains the building blocks for plugins to create their own Generator
47
+ * @link idea based on https://github.com/colinhacks/zod/blob/master/src/types.ts#L137
48
+ */
49
+ declare abstract class BaseGenerator<TOptions = unknown, TContext = unknown> {
50
+ #private;
51
+ constructor(options?: TOptions, context?: TContext);
52
+ get options(): TOptions;
53
+ get context(): TContext;
54
+ set options(options: TOptions);
55
+ abstract build(...params: unknown[]): unknown;
56
+ }
57
+ //#endregion
9
58
  //#region ../core/src/fs/types.d.ts
10
59
  type BasePath<T extends string = string> = `${T}/`;
11
60
  type Import = {
@@ -121,20 +170,6 @@ type ResolvedFile<TMeta extends object = object> = File<TMeta> & {
121
170
  exports: Array<ResolvedExport>;
122
171
  };
123
172
  //#endregion
124
- //#region ../core/src/BaseGenerator.d.ts
125
- /**
126
- * Abstract class that contains the building blocks for plugins to create their own Generator
127
- * @link idea based on https://github.com/colinhacks/zod/blob/master/src/types.ts#L137
128
- */
129
- declare abstract class BaseGenerator<TOptions = unknown, TContext = unknown> {
130
- #private;
131
- constructor(options?: TOptions, context?: TContext);
132
- get options(): TOptions;
133
- get context(): TContext;
134
- set options(options: TOptions);
135
- abstract build(...params: unknown[]): unknown;
136
- }
137
- //#endregion
138
173
  //#region ../core/src/utils/EventEmitter.d.ts
139
174
  declare class EventEmitter<TEvents extends Record<string, any>> {
140
175
  #private;
@@ -529,7 +564,7 @@ type SafeParseResult<H extends PluginLifecycleHooks, Result = ReturnType<ParseRe
529
564
  result: Result;
530
565
  plugin: Plugin;
531
566
  };
532
- type Options$4 = {
567
+ type Options$3 = {
533
568
  logger: Logger;
534
569
  /**
535
570
  * @default Number.POSITIVE_INFINITY
@@ -556,8 +591,8 @@ declare class PluginManager {
556
591
  readonly config: Config;
557
592
  readonly executed: Array<Executer>;
558
593
  readonly logger: Logger;
559
- readonly options: Options$4;
560
- constructor(config: Config, options: Options$4);
594
+ readonly options: Options$3;
595
+ constructor(config: Config, options: Options$3);
561
596
  getFile<TOptions = object>({
562
597
  name,
563
598
  mode,
@@ -659,41 +694,6 @@ declare class PluginManager {
659
694
  static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "buildEnd"];
660
695
  }
661
696
  //#endregion
662
- //#region ../oas/src/types.d.ts
663
- type contentType = 'application/json' | (string & {});
664
- type SchemaObject$1 = OasTypes.SchemaObject & {
665
- 'x-nullable'?: boolean;
666
- $ref?: string;
667
- };
668
- //#endregion
669
- //#region ../oas/src/Oas.d.ts
670
- type Options$3 = {
671
- contentType?: contentType;
672
- discriminator?: 'strict' | 'inherit';
673
- };
674
- declare class Oas<const TOAS = unknown> extends BaseOas {
675
- #private;
676
- document: TOAS;
677
- constructor({
678
- oas,
679
- user
680
- }: {
681
- oas: TOAS | OASDocument | string;
682
- user?: User;
683
- });
684
- setOptions(options: Options$3): void;
685
- get options(): Options$3;
686
- get($ref: string): any;
687
- getKey($ref: string): string | undefined;
688
- set($ref: string, value: unknown): false | undefined;
689
- getDiscriminator(schema: OasTypes.SchemaObject): OpenAPIV3.DiscriminatorObject | undefined;
690
- dereferenceWithRef(schema?: unknown): any;
691
- getResponseSchema(operation: Operation, statusCode: string | number): SchemaObject;
692
- getRequestSchema(operation: Operation): SchemaObject | undefined;
693
- getParametersSchema(operation: Operation, inKey: 'path' | 'query' | 'header'): SchemaObject | null;
694
- valdiate(): Promise<oas_normalize_lib_types0.ValidationResult>;
695
- }
696
- //#endregion
697
697
  //#region ../plugin-oas/src/SchemaMapper.d.ts
698
698
  type SchemaKeywordMapper = {
699
699
  object: {
@@ -1332,4 +1332,4 @@ type ResolvedOptions = {
1332
1332
  type PluginSolidQuery = PluginFactoryOptions<'plugin-solid-query', Options$1, ResolvedOptions, never, ResolvePathOptions>;
1333
1333
  //#endregion
1334
1334
  export { Generator, type Operation$1 as Operation, OperationSchemas, Options$1 as Options, PluginSolidQuery, Transformer, UserPluginWithLifeCycle };
1335
- //# sourceMappingURL=types-DULzisVA.d.cts.map
1335
+ //# sourceMappingURL=types-DLEwjVmP.d.cts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-solid-query",
3
- "version": "3.16.4",
3
+ "version": "3.17.1",
4
4
  "description": "Solid Query hooks generator plugin for Kubb, creating type-safe API client hooks from OpenAPI specifications for Solid.js applications.",
5
5
  "keywords": [
6
6
  "solid-query",
@@ -62,20 +62,20 @@
62
62
  ],
63
63
  "dependencies": {
64
64
  "remeda": "^2.30.0",
65
- "@kubb/core": "3.16.4",
66
- "@kubb/oas": "3.16.4",
67
- "@kubb/plugin-client": "3.16.4",
68
- "@kubb/plugin-oas": "3.16.4",
69
- "@kubb/plugin-ts": "3.16.4",
70
- "@kubb/plugin-zod": "3.16.4",
71
- "@kubb/react": "3.16.4"
65
+ "@kubb/core": "3.17.1",
66
+ "@kubb/oas": "3.17.1",
67
+ "@kubb/plugin-client": "3.17.1",
68
+ "@kubb/plugin-oas": "3.17.1",
69
+ "@kubb/plugin-ts": "3.17.1",
70
+ "@kubb/plugin-zod": "3.17.1",
71
+ "@kubb/react": "3.17.1"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/react": "^18.3.23",
75
75
  "react": "^18.3.1",
76
76
  "tsdown": "^0.14.1",
77
77
  "typescript": "^5.9.2",
78
- "@kubb/config-ts": "3.16.4"
78
+ "@kubb/config-ts": "3.17.1"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "@kubb/react": "^3.0.0"
@@ -1,8 +1,7 @@
1
- import { File, Function, FunctionParams } from '@kubb/react'
2
-
3
- import { type Operation, isOptional } from '@kubb/oas'
1
+ import { isOptional, type Operation } from '@kubb/oas'
4
2
  import type { OperationSchemas } from '@kubb/plugin-oas'
5
3
  import { getComments, getPathParams } from '@kubb/plugin-oas/utils'
4
+ import { File, Function, FunctionParams } from '@kubb/react'
6
5
  import type { ReactNode } from 'react'
7
6
  import type { PluginSolidQuery } from '../types.ts'
8
7
  import { QueryKey } from './QueryKey.tsx'
@@ -162,7 +161,8 @@ export function Query({
162
161
  }}
163
162
  >
164
163
  {`
165
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
164
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
165
+ const { client: queryClient, ...queryOptions } = queryConfig
166
166
  const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
167
167
 
168
168
  const query = createQuery(() => ({
@@ -72,7 +72,8 @@ export function createFindPetsByTags<
72
72
  client?: Partial<RequestConfig> & { client?: typeof fetch }
73
73
  } = {},
74
74
  ) {
75
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
75
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
76
+ const { client: queryClient, ...queryOptions } = queryConfig
76
77
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
77
78
 
78
79
  const query = createQuery(
@@ -67,7 +67,8 @@ export function createFindPetsByTags<
67
67
  client?: Partial<RequestConfig> & { client?: typeof fetch }
68
68
  } = {},
69
69
  ) {
70
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
70
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
71
+ const { client: queryClient, ...queryOptions } = queryConfig
71
72
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
72
73
 
73
74
  const query = createQuery(
@@ -67,7 +67,8 @@ export function createFindPetsByTags<
67
67
  client?: Partial<RequestConfig> & { client?: typeof fetch }
68
68
  } = {},
69
69
  ) {
70
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
70
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
71
+ const { client: queryClient, ...queryOptions } = queryConfig
71
72
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
72
73
 
73
74
  const query = createQuery(
@@ -64,7 +64,8 @@ export function createFindPetsByTags<
64
64
  client?: Partial<RequestConfig> & { client?: typeof fetch }
65
65
  } = {},
66
66
  ) {
67
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
67
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
68
+ const { client: queryClient, ...queryOptions } = queryConfig
68
69
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
69
70
 
70
71
  const query = createQuery(
@@ -67,7 +67,8 @@ export function createFindPetsByTags<
67
67
  client?: Partial<RequestConfig> & { client?: typeof fetch }
68
68
  } = {},
69
69
  ) {
70
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
70
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
71
+ const { client: queryClient, ...queryOptions } = queryConfig
71
72
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
72
73
 
73
74
  const query = createQuery(
@@ -67,7 +67,8 @@ export function createFindPetsByTags<
67
67
  client?: Partial<RequestConfig> & { client?: typeof fetch }
68
68
  } = {},
69
69
  ) {
70
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
70
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
71
+ const { client: queryClient, ...queryOptions } = queryConfig
71
72
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
72
73
 
73
74
  const query = createQuery(
@@ -67,7 +67,8 @@ export function createFindPetsByTags<
67
67
  client?: Partial<RequestConfig> & { client?: typeof fetch }
68
68
  } = {},
69
69
  ) {
70
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
70
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
71
+ const { client: queryClient, ...queryOptions } = queryConfig
71
72
  const queryKey = queryOptions?.queryKey ?? findPetsByTagsQueryKey(params)
72
73
 
73
74
  const query = createQuery(
@@ -74,7 +74,8 @@ export function createUpdatePetWithForm<
74
74
  client?: Partial<RequestConfig<UpdatePetWithFormMutationRequest>> & { client?: typeof fetch }
75
75
  } = {},
76
76
  ) {
77
- const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
77
+ const { query: queryConfig = {}, client: config = {} } = options ?? {}
78
+ const { client: queryClient, ...queryOptions } = queryConfig
78
79
  const queryKey = queryOptions?.queryKey ?? updatePetWithFormQueryKey(petId, data, params)
79
80
 
80
81
  const query = createQuery(
@@ -1 +0,0 @@
1
- {"version":3,"file":"components-CNM6UaoG.js","names":["getParams","getTransformer: Transformer","getParams"],"sources":["../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, paramsCasing, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsCasing,\n typeSchemas,\n paramsType,\n pathParamsType,\n isConfigurable: true,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const returnType = `UseQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<UseBaseQueryOptions, \"queryKey\">\n }), queryClient? () => queryClient: undefined) as ${returnType}\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"components-LAcBpjX8.cjs","names":["getParams","FunctionParams","getTransformer: Transformer","URLPath","File","Function","Type","getParams","FunctionParams","Client","File","Function","FunctionParams","File","Function"],"sources":["../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, paramsCasing, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsCasing,\n typeSchemas,\n paramsType,\n pathParamsType,\n isConfigurable: true,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const returnType = `UseQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<UseBaseQueryOptions, \"queryKey\">\n }), queryClient? () => queryClient: undefined) as ${returnType}\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAASA,YAAU,EAAE,gBAAgB,cAAc,aAA6B,EAAE;AAChF,QAAOC,4BAAe,QAAQ;EAC5B,YAAY;GACV,MAAM,mBAAmB,WAAW,WAAW;GAC/C,qDAAwB,YAAY,YAAY;IAAE,OAAO;IAAM,QAAQ;GAAc,EAAC;EACvF;EACD,MAAM,YAAY,SAAS,OACvB;GACE,MAAM,YAAY,SAAS;GAC3B,qCAAqB,YAAY,SAAS,OAAO;EAClD,IACD;EACJ,QAAQ,YAAY,aAAa,OAC7B;GACE,MAAM,YAAY,aAAa;GAC/B,qCAAqB,YAAY,aAAa,OAAO;EACtD,IACD;CACL,EAAC;AACH;AAED,MAAMC,iBAA8B,CAAC,EAAE,WAAW,SAAS,QAAQ,KAAK;CACtE,MAAM,OAAO,IAAIC,0BAAQ,UAAU,MAAM,EAAE,OAAQ;CACnD,MAAM,OAAO;EACX,KAAK,SAAS;GACZ,MAAM;GACN,WAAW;EACZ,EAAC;EACF,QAAQ,aAAa,OAAO,gCAAgC;EAC5D,QAAQ,SAAS,OAAO,4BAA4B;CACrD,EAAC,OAAO,QAAQ;AAEjB,QAAO;AACR;AAED,SAAgB,SAAS,EAAE,MAAM,aAAa,cAAc,gBAAgB,WAAW,UAAU,cAAc,gBAAuB,EAAa;CACjJ,MAAM,SAASH,YAAU;EAAE;EAAgB;EAAc;CAAa,EAAC;CACvE,MAAM,OAAO,YAAY;EACvB;EACA,SAAS;EACT,QAAQ;CACT,EAAC;AAEF,6JAEKI,kBAAK;EAAa;EAAM;EAAa;8DACnCC,sBAAS;GAAY;GAAM;GAAO,QAAQ,OAAO,eAAe;GAAE;aAChE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,UAAU,CAAC;IACjB;GACL,oDACbD,kBAAK;EAAO,MAAM;EAAU;EAAa;EAAY;8DACnDE;GAAK,MAAM;GAAU;aACnB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACxB;GACK,IACb;AAEN;AAED,SAAS,YAAYN;AACrB,SAAS,iBAAiB;;;;ACxD1B,SAASO,YAAU,EAAE,YAAY,cAAc,gBAAgB,aAA6B,EAAE;AAC5F,KAAI,eAAe,SACjB,QAAOC,4BAAe,QAAQ;EAC5B,MAAM;GACJ,MAAM;GACN,UAAU;IACR,8CAAiB,YAAY,YAAY;KAAE,OAAO;KAAM,QAAQ;IAAc,EAAC;IAC/E,MAAM,YAAY,SAAS,OACvB;KACE,MAAM,YAAY,SAAS;KAC3B,qCAAqB,YAAY,SAAS,OAAO;IAClD,IACD;IACJ,QAAQ,YAAY,aAAa,OAC7B;KACE,MAAM,YAAY,aAAa;KAC/B,qCAAqB,YAAY,aAAa,OAAO;IACtD,IACD;IACJ,SAAS,YAAY,cAAc,OAC/B;KACE,MAAM,YAAY,cAAc;KAChC,qCAAqB,YAAY,cAAc,OAAO;IACvD,IACD;GACL;EACF;EACD,QAAQ;GACN,MAAM,YAAY,SAAS,OACvB,CAAC,sBAAsB,EAAE,YAAY,SAAS,KAAK,8BAA8B,CAAC,GAClF;GACJ,SAAS;EACV;CACF,EAAC;AAGJ,QAAOA,4BAAe,QAAQ;EAC5B,YAAY,YAAY,YAAY,OAChC;GACE,MAAM,mBAAmB,WAAW,WAAW;GAC/C,qDAAwB,YAAY,YAAY;IAAE,OAAO;IAAM,QAAQ;GAAc,EAAC;GACtF,qCAAqB,YAAY,YAAY,OAAO;EACrD,IACD;EACJ,MAAM,YAAY,SAAS,OACvB;GACE,MAAM,YAAY,SAAS;GAC3B,qCAAqB,YAAY,SAAS,OAAO;EAClD,IACD;EACJ,QAAQ,YAAY,aAAa,OAC7B;GACE,MAAM,YAAY,aAAa;GAC/B,qCAAqB,YAAY,aAAa,OAAO;EACtD,IACD;EACJ,SAAS,YAAY,cAAc,OAC/B;GACE,MAAM,YAAY,cAAc;GAChC,qCAAqB,YAAY,cAAc,OAAO;EACvD,IACD;EACJ,QAAQ;GACN,MAAM,YAAY,SAAS,OACvB,CAAC,sBAAsB,EAAE,YAAY,SAAS,KAAK,8BAA8B,CAAC,GAClF;GACJ,SAAS;EACV;CACF,EAAC;AACH;AAED,SAAgB,aAAa,EAAE,MAAM,YAAY,aAAa,cAAc,YAAY,gBAAgB,gBAAgB,cAAqB,EAAa;CACxJ,MAAM,QAAQ,mBAAmB,SAAS,YAAY,SAAS,OAAO,CAAC,eAAe,EAAE,YAAY,SAAS,KAAK,CAAC,CAAC;CACpH,MAAM,SAAS,CAAC,oBAAoB,EAAE,YAAY,QAAQ,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,CAAC;CAE5G,MAAM,SAASD,YAAU;EAAE;EAAY;EAAc;EAAgB;CAAa,EAAC;CACnF,MAAM,eAAeE,uCAAO,UAAU;EACpC;EACA;EACA;EACA;EACA,gBAAgB;CACjB,EAAC;CACF,MAAM,iBAAiB,SAAS,UAAU;EACxC;EACA;EACA;CACD,EAAC;CAEF,MAAM,UAAU,OAAO,QAAQ,eAAe,WAAW,CACtD,IAAI,CAAC,CAAC,KAAK,KAAK,KAAM,QAAQ,CAAC,KAAK,WAAW,MAAM,OAAW,CAChE,OAAO,QAAQ,CACf,KAAK,MAAM;CAEd,MAAM,cAAc,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG;AAE3D,0DACGC,kBAAK;EAAa;EAAM;EAAa;8DACnCC;GAAe;GAAM;GAAO,QAAQ,OAAO,eAAe;aACxD,CAAC;uBACa,EAAE,aAAa,CAAC,EAAE,eAAe,QAAQ,CAAC;0BACvC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM;MACjD,EAAE,YAAY;;;;iBAIH,EAAE,WAAW,CAAC,EAAE,aAAa,QAAQ,CAAC;;;AAGvD,CAAC;IACgB;GACC;AAEjB;AAED,aAAa,YAAYJ;;;;AC9GzB,SAAS,UAAU,EAAE,YAAY,cAAc,gBAAgB,gBAAgB,aAA6B,EAAE;CAC5G,MAAM,QAAQ,mBAAmB,SAAS,YAAY,SAAS,OAAO,CAAC,eAAe,EAAE,YAAY,SAAS,KAAK,CAAC,CAAC;CACpH,MAAM,SAAS,CAAC,oBAAoB,EAAE,YAAY,QAAQ,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,CAAC;AAE5G,KAAI,eAAe,SACjB,QAAOK,4BAAe,QAAQ;EAC5B,MAAM;GACJ,MAAM;GACN,UAAU;IACR,8CAAiB,YAAY,YAAY;KAAE,OAAO;KAAM,QAAQ;IAAc,EAAC;IAC/E,MAAM,YAAY,SAAS,OACvB;KACE,MAAM,YAAY,SAAS;KAC3B,qCAAqB,YAAY,SAAS,OAAO;IAClD,IACD;IACJ,QAAQ,YAAY,aAAa,OAC7B;KACE,MAAM,YAAY,aAAa;KAC/B,qCAAqB,YAAY,aAAa,OAAO;IACtD,IACD;IACJ,SAAS,YAAY,cAAc,OAC/B;KACE,MAAM,YAAY,cAAc;KAChC,qCAAqB,YAAY,cAAc,OAAO;IACvD,IACD;GACL;EACF;EACD,SAAS;GACP,MAAM,CAAC;;sCAEuB,EAAE;IAAC;IAAO;IAAQ;IAAS;IAAc;GAAY,EAAC,KAAK,KAAK,CAAC;WAC5F,EAAE,YAAY,SAAS,OAAO,CAAC,sBAAsB,EAAE,YAAY,SAAS,KAAK,8BAA8B,CAAC,GAAG,qDAAqD;;AAEnL,CAAC;GACO,SAAS;EACV;CACF,EAAC;AAGJ,QAAOA,4BAAe,QAAQ;EAC5B,YAAY,YAAY,YAAY,OAChC;GACE,MAAM,mBAAmB,WAAW,WAAW;GAC/C,qDAAwB,YAAY,YAAY;IAAE,OAAO;IAAM,QAAQ;GAAc,EAAC;GACtF,qCAAqB,YAAY,YAAY,OAAO;EACrD,IACD;EACJ,MAAM,YAAY,SAAS,OACvB;GACE,MAAM,YAAY,SAAS;GAC3B,qCAAqB,YAAY,SAAS,OAAO;EAClD,IACD;EACJ,QAAQ,YAAY,aAAa,OAC7B;GACE,MAAM,YAAY,aAAa;GAC/B,qCAAqB,YAAY,aAAa,OAAO;EACtD,IACD;EACJ,SAAS,YAAY,cAAc,OAC/B;GACE,MAAM,YAAY,cAAc;GAChC,qCAAqB,YAAY,cAAc,OAAO;EACvD,IACD;EACJ,SAAS;GACP,MAAM,CAAC;;sCAEyB,EAAE;IAAC;IAAO;IAAQ;IAAS;IAAc;GAAY,EAAC,KAAK,KAAK,CAAC;WAC5F,EAAE,YAAY,SAAS,OAAO,CAAC,sBAAsB,EAAE,YAAY,SAAS,KAAK,8BAA8B,CAAC,GAAG,qDAAqD;;AAEnL,CAAC;GACK,SAAS;EACV;CACF,EAAC;AACH;AAED,SAAgB,MAAM,EACpB,MACA,kBACA,kBACA,cACA,cACA,YACA,gBACA,gBACA,aACA,WACM,EAAa;CACnB,MAAM,QAAQ,mBAAmB,SAAS,YAAY,SAAS,OAAO,CAAC,eAAe,EAAE,YAAY,SAAS,KAAK,CAAC,CAAC;CACpH,MAAM,SAAS,CAAC,oBAAoB,EAAE,YAAY,QAAQ,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,CAAC;CAC5G,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC,SAAS,MAAO,EAAC,KAAK,KAAK,CAAC,2BAA2B,CAAC;CAC9F,MAAM,WAAW;EAAC,CAAC,QAAQ,EAAE,OAAO;EAAE,CAAC,aAAa,EAAE,OAAO;EAAE,CAAC,6BAA6B,EAAE,kBAAkB;CAAC;CAElH,MAAM,iBAAiB,SAAS,UAAU;EACxC;EACA;EACA;CACD,EAAC;CACF,MAAM,qBAAqB,aAAa,UAAU;EAChD;EACA;EACA;EACA;CACD,EAAC;CACF,MAAM,SAAS,UAAU;EACvB;EACA;EACA;EACA;EACA;CACD,EAAC;CAEF,MAAM,eAAe,GAAG,iBAAiB,CAAC,EAAE,mBAAmB,QAAQ,CAAC,mCAAmC,CAAC;AAE5G,0DACGC,kBAAK;EAAa;EAAM;EAAa;8DACnCC;GACO;GACN;GACA,UAAU,SAAS,KAAK,KAAK;GAC7B,QAAQ,OAAO,eAAe;GAC9B,OAAO,EACL,mDAAsB,UAAU,CACjC;aAEA,CAAC;;kDAEwC,EAAE,aAAa,CAAC,EAAE,eAAe,QAAQ,CAAC;;;WAGjF,EAAE,aAAa;;;;yDAI+B,EAAE,WAAW;;;OAG/D,CAAC;IACS;GACC;AAEjB;AAED,MAAM,YAAY"}