@kubb/plugin-client 3.0.0-alpha.9 → 3.0.0-beta.2

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 (71) hide show
  1. package/README.md +14 -5
  2. package/client.ts +2 -2
  3. package/dist/chunk-6W3SC7JK.cjs +228 -0
  4. package/dist/chunk-6W3SC7JK.cjs.map +1 -0
  5. package/dist/chunk-LI44LDXH.js +218 -0
  6. package/dist/chunk-LI44LDXH.js.map +1 -0
  7. package/dist/chunk-X73EA6RA.cjs +133 -0
  8. package/dist/chunk-X73EA6RA.cjs.map +1 -0
  9. package/dist/chunk-YYBNZBCI.js +130 -0
  10. package/dist/chunk-YYBNZBCI.js.map +1 -0
  11. package/dist/client.cjs +16 -7
  12. package/dist/client.cjs.map +1 -1
  13. package/dist/client.d.cts +2 -2
  14. package/dist/client.d.ts +2 -2
  15. package/dist/client.js +5 -6
  16. package/dist/client.js.map +1 -1
  17. package/dist/components.cjs +11 -5
  18. package/dist/components.cjs.map +1 -1
  19. package/dist/components.d.cts +37 -5
  20. package/dist/components.d.ts +37 -5
  21. package/dist/components.js +2 -9
  22. package/dist/components.js.map +1 -1
  23. package/dist/generators.cjs +17 -4
  24. package/dist/generators.cjs.map +1 -1
  25. package/dist/generators.d.cts +7 -6
  26. package/dist/generators.d.ts +7 -6
  27. package/dist/generators.js +3 -7
  28. package/dist/generators.js.map +1 -1
  29. package/dist/index.cjs +11 -109
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +1 -4
  32. package/dist/index.d.ts +1 -4
  33. package/dist/index.js +3 -114
  34. package/dist/index.js.map +1 -1
  35. package/dist/types-Bk_NZurp.d.cts +86 -0
  36. package/dist/types-Bk_NZurp.d.ts +86 -0
  37. package/package.json +14 -17
  38. package/src/components/Client.tsx +78 -58
  39. package/src/generators/__snapshots__/deletePet.ts +13 -0
  40. package/src/generators/__snapshots__/deletePetObject.ts +15 -0
  41. package/src/generators/__snapshots__/findByTags.ts +13 -0
  42. package/src/generators/__snapshots__/findByTagsFull.ts +13 -0
  43. package/src/generators/__snapshots__/findByTagsWithZod.ts +13 -0
  44. package/src/generators/__snapshots__/findByTagsWithZodFull.ts +13 -0
  45. package/src/generators/__snapshots__/importPath.ts +13 -0
  46. package/src/generators/__snapshots__/operations.ts +82 -0
  47. package/src/generators/__snapshots__/updatePetById.ts +12 -0
  48. package/src/generators/clientGenerator.tsx +66 -0
  49. package/src/generators/groupedClientGenerator.tsx +70 -0
  50. package/src/generators/index.ts +3 -1
  51. package/src/generators/operationsGenerator.tsx +26 -0
  52. package/src/plugin.ts +34 -45
  53. package/src/types.ts +33 -75
  54. package/dist/chunk-AZDWYBLW.cjs +0 -1
  55. package/dist/chunk-AZDWYBLW.cjs.map +0 -1
  56. package/dist/chunk-GHHJWXKQ.cjs +0 -61
  57. package/dist/chunk-GHHJWXKQ.cjs.map +0 -1
  58. package/dist/chunk-OODSLPAP.js +0 -61
  59. package/dist/chunk-OODSLPAP.js.map +0 -1
  60. package/dist/chunk-W256NILH.js +0 -128
  61. package/dist/chunk-W256NILH.js.map +0 -1
  62. package/dist/chunk-YGRM4AA5.cjs +0 -128
  63. package/dist/chunk-YGRM4AA5.cjs.map +0 -1
  64. package/dist/chunk-YJOVLRSC.js +0 -1
  65. package/dist/chunk-YJOVLRSC.js.map +0 -1
  66. package/dist/types-DETYKDFZ.d.cts +0 -139
  67. package/dist/types-DETYKDFZ.d.ts +0 -139
  68. package/src/components/__snapshots__/Client/showPetById.ts +0 -8
  69. package/src/components/__snapshots__/Operations/showPetById.ts +0 -6
  70. package/src/components/__snapshots__/Query/showPetById.ts +0 -15
  71. package/src/generators/axiosGenerator.tsx +0 -63
@@ -0,0 +1,133 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@kubb/core/utils');
4
+ var oas = require('@kubb/oas');
5
+ var utils$1 = require('@kubb/plugin-oas/utils');
6
+ var react = require('@kubb/react');
7
+ var jsxRuntime = require('@kubb/react/jsx-runtime');
8
+
9
+ // src/components/Client.tsx
10
+ function getParams({ pathParamsType, typeSchemas }) {
11
+ return react.FunctionParams.factory({
12
+ pathParams: {
13
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
14
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true })
15
+ },
16
+ data: typeSchemas.request?.name ? {
17
+ type: typeSchemas.request?.name,
18
+ optional: oas.isOptional(typeSchemas.request?.schema)
19
+ } : void 0,
20
+ params: typeSchemas.queryParams?.name ? {
21
+ type: typeSchemas.queryParams?.name,
22
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
23
+ } : void 0,
24
+ headers: typeSchemas.headerParams?.name ? {
25
+ type: typeSchemas.headerParams?.name,
26
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
27
+ } : void 0,
28
+ config: {
29
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
30
+ default: "{}"
31
+ }
32
+ });
33
+ }
34
+ function Client({
35
+ name,
36
+ isExportable = true,
37
+ isIndexable = true,
38
+ typeSchemas,
39
+ baseURL,
40
+ dataReturnType,
41
+ parser,
42
+ zodSchemas,
43
+ pathParamsType,
44
+ operation
45
+ }) {
46
+ const path = new utils.URLPath(operation.path);
47
+ const contentType = operation.getContentType();
48
+ const isFormData = contentType === "multipart/form-data";
49
+ const headers = [
50
+ contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
51
+ typeSchemas.headerParams?.name ? "...headers" : void 0
52
+ ].filter(Boolean);
53
+ const generics = [
54
+ typeSchemas.response.name,
55
+ typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
56
+ typeSchemas.request?.name || "unknown"
57
+ ].filter(Boolean);
58
+ const params = getParams({ pathParamsType, typeSchemas });
59
+ const clientParams = react.FunctionParams.factory({
60
+ config: {
61
+ mode: "object",
62
+ children: {
63
+ method: {
64
+ value: JSON.stringify(operation.method.toUpperCase())
65
+ },
66
+ url: {
67
+ value: path.template
68
+ },
69
+ baseURL: baseURL ? {
70
+ value: JSON.stringify(baseURL)
71
+ } : void 0,
72
+ params: typeSchemas.queryParams?.name ? {} : void 0,
73
+ data: typeSchemas.request?.name ? {
74
+ value: isFormData ? "formData" : void 0
75
+ } : void 0,
76
+ headers: headers.length ? {
77
+ value: headers.length ? `{ ${headers.join(", ")}, ...config.headers }` : void 0
78
+ } : void 0,
79
+ config: {
80
+ mode: "inlineSpread"
81
+ }
82
+ }
83
+ }
84
+ });
85
+ const formData = isFormData ? `
86
+ const formData = new FormData()
87
+ if(data) {
88
+ Object.keys(data).forEach((key) => {
89
+ const value = data[key as keyof typeof data];
90
+ if (typeof key === "string" && (typeof value === "string" || value instanceof Blob)) {
91
+ formData.append(key, value);
92
+ }
93
+ })
94
+ }
95
+ ` : "";
96
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxRuntime.jsxs(
97
+ react.Function,
98
+ {
99
+ name,
100
+ async: true,
101
+ export: isExportable,
102
+ params: params.toConstructor(),
103
+ JSDoc: {
104
+ comments: utils$1.getComments(operation)
105
+ },
106
+ children: [
107
+ formData,
108
+ `const res = await client<${generics.join(", ")}>(${clientParams.toCall()})`,
109
+ /* @__PURE__ */ jsxRuntime.jsx("br", {}),
110
+ dataReturnType === "full" && parser === "zod" && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`,
111
+ dataReturnType === "data" && parser === "zod" && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`,
112
+ dataReturnType === "full" && parser === "client" && "return res",
113
+ dataReturnType === "data" && parser === "client" && "return res.data"
114
+ ]
115
+ }
116
+ ) });
117
+ }
118
+ Client.getParams = getParams;
119
+ function Operations({ name, operations }) {
120
+ const operationsObject = {};
121
+ operations.forEach((operation) => {
122
+ operationsObject[operation.getOperationId()] = {
123
+ path: new utils.URLPath(operation.path).URL,
124
+ method: operation.method
125
+ };
126
+ });
127
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
128
+ }
129
+
130
+ exports.Client = Client;
131
+ exports.Operations = Operations;
132
+ //# sourceMappingURL=chunk-X73EA6RA.cjs.map
133
+ //# sourceMappingURL=chunk-X73EA6RA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Client.tsx","../src/components/Operations.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","File","jsxs","Function","getComments","jsx","Const"],"mappings":"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","file":"chunk-X73EA6RA.cjs","sourcesContent":["import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } 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 { KubbNode } from '@kubb/react/types'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\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 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 ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n pathParamsType,\n operation,\n}: Props): KubbNode {\n const path = new URLPath(operation.path)\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const generics = [\n typeSchemas.response.name,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n typeSchemas.request?.name || 'unknown',\n ].filter(Boolean)\n const params = getParams({ pathParamsType, typeSchemas })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: path.template,\n },\n baseURL: baseURL\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n value: headers.length ? `{ ${headers.join(', ')}, ...config.headers }` : undefined,\n }\n : undefined,\n config: {\n mode: 'inlineSpread',\n },\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key as keyof typeof data];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : ''\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {formData}\n {`const res = await client<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { Const, File } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\n\ntype OperationsProps = {\n name: string\n operations: Array<Operation>\n}\n\nexport function Operations({ name, operations }: OperationsProps) {\n const operationsObject: Record<string, { path: string; method: HttpMethod }> = {}\n\n operations.forEach((operation) => {\n operationsObject[operation.getOperationId()] = {\n path: new URLPath(operation.path).URL,\n method: operation.method,\n }\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\n"]}
@@ -0,0 +1,130 @@
1
+ import { URLPath } from '@kubb/core/utils';
2
+ import { isOptional } from '@kubb/oas';
3
+ import { getComments, getPathParams } from '@kubb/plugin-oas/utils';
4
+ import { FunctionParams, File, Function, Const } from '@kubb/react';
5
+ import { jsx, jsxs } from '@kubb/react/jsx-runtime';
6
+
7
+ // src/components/Client.tsx
8
+ function getParams({ pathParamsType, typeSchemas }) {
9
+ return FunctionParams.factory({
10
+ pathParams: {
11
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
12
+ children: getPathParams(typeSchemas.pathParams, { typed: true })
13
+ },
14
+ data: typeSchemas.request?.name ? {
15
+ type: typeSchemas.request?.name,
16
+ optional: isOptional(typeSchemas.request?.schema)
17
+ } : void 0,
18
+ params: typeSchemas.queryParams?.name ? {
19
+ type: typeSchemas.queryParams?.name,
20
+ optional: isOptional(typeSchemas.queryParams?.schema)
21
+ } : void 0,
22
+ headers: typeSchemas.headerParams?.name ? {
23
+ type: typeSchemas.headerParams?.name,
24
+ optional: isOptional(typeSchemas.headerParams?.schema)
25
+ } : void 0,
26
+ config: {
27
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
28
+ default: "{}"
29
+ }
30
+ });
31
+ }
32
+ function Client({
33
+ name,
34
+ isExportable = true,
35
+ isIndexable = true,
36
+ typeSchemas,
37
+ baseURL,
38
+ dataReturnType,
39
+ parser,
40
+ zodSchemas,
41
+ pathParamsType,
42
+ operation
43
+ }) {
44
+ const path = new URLPath(operation.path);
45
+ const contentType = operation.getContentType();
46
+ const isFormData = contentType === "multipart/form-data";
47
+ const headers = [
48
+ contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
49
+ typeSchemas.headerParams?.name ? "...headers" : void 0
50
+ ].filter(Boolean);
51
+ const generics = [
52
+ typeSchemas.response.name,
53
+ typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
54
+ typeSchemas.request?.name || "unknown"
55
+ ].filter(Boolean);
56
+ const params = getParams({ pathParamsType, typeSchemas });
57
+ const clientParams = FunctionParams.factory({
58
+ config: {
59
+ mode: "object",
60
+ children: {
61
+ method: {
62
+ value: JSON.stringify(operation.method.toUpperCase())
63
+ },
64
+ url: {
65
+ value: path.template
66
+ },
67
+ baseURL: baseURL ? {
68
+ value: JSON.stringify(baseURL)
69
+ } : void 0,
70
+ params: typeSchemas.queryParams?.name ? {} : void 0,
71
+ data: typeSchemas.request?.name ? {
72
+ value: isFormData ? "formData" : void 0
73
+ } : void 0,
74
+ headers: headers.length ? {
75
+ value: headers.length ? `{ ${headers.join(", ")}, ...config.headers }` : void 0
76
+ } : void 0,
77
+ config: {
78
+ mode: "inlineSpread"
79
+ }
80
+ }
81
+ }
82
+ });
83
+ const formData = isFormData ? `
84
+ const formData = new FormData()
85
+ if(data) {
86
+ Object.keys(data).forEach((key) => {
87
+ const value = data[key as keyof typeof data];
88
+ if (typeof key === "string" && (typeof value === "string" || value instanceof Blob)) {
89
+ formData.append(key, value);
90
+ }
91
+ })
92
+ }
93
+ ` : "";
94
+ return /* @__PURE__ */ jsx(File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxs(
95
+ Function,
96
+ {
97
+ name,
98
+ async: true,
99
+ export: isExportable,
100
+ params: params.toConstructor(),
101
+ JSDoc: {
102
+ comments: getComments(operation)
103
+ },
104
+ children: [
105
+ formData,
106
+ `const res = await client<${generics.join(", ")}>(${clientParams.toCall()})`,
107
+ /* @__PURE__ */ jsx("br", {}),
108
+ dataReturnType === "full" && parser === "zod" && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`,
109
+ dataReturnType === "data" && parser === "zod" && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`,
110
+ dataReturnType === "full" && parser === "client" && "return res",
111
+ dataReturnType === "data" && parser === "client" && "return res.data"
112
+ ]
113
+ }
114
+ ) });
115
+ }
116
+ Client.getParams = getParams;
117
+ function Operations({ name, operations }) {
118
+ const operationsObject = {};
119
+ operations.forEach((operation) => {
120
+ operationsObject[operation.getOperationId()] = {
121
+ path: new URLPath(operation.path).URL,
122
+ method: operation.method
123
+ };
124
+ });
125
+ return /* @__PURE__ */ jsx(File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsx(Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
126
+ }
127
+
128
+ export { Client, Operations };
129
+ //# sourceMappingURL=chunk-YYBNZBCI.js.map
130
+ //# sourceMappingURL=chunk-YYBNZBCI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Client.tsx","../src/components/Operations.tsx"],"names":["URLPath","jsx","File"],"mappings":"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","file":"chunk-YYBNZBCI.js","sourcesContent":["import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } 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 { KubbNode } from '@kubb/react/types'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\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 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 ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n pathParamsType,\n operation,\n}: Props): KubbNode {\n const path = new URLPath(operation.path)\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const generics = [\n typeSchemas.response.name,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n typeSchemas.request?.name || 'unknown',\n ].filter(Boolean)\n const params = getParams({ pathParamsType, typeSchemas })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: path.template,\n },\n baseURL: baseURL\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n value: headers.length ? `{ ${headers.join(', ')}, ...config.headers }` : undefined,\n }\n : undefined,\n config: {\n mode: 'inlineSpread',\n },\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key as keyof typeof data];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : ''\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {formData}\n {`const res = await client<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { Const, File } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\n\ntype OperationsProps = {\n name: string\n operations: Array<Operation>\n}\n\nexport function Operations({ name, operations }: OperationsProps) {\n const operationsObject: Record<string, { path: string; method: HttpMethod }> = {}\n\n operations.forEach((operation) => {\n operationsObject[operation.getOperationId()] = {\n path: new URLPath(operation.path).URL,\n method: operation.method,\n }\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\n"]}
package/dist/client.cjs CHANGED
@@ -1,6 +1,15 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// client.ts
2
- var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);
3
- var axiosInstance = _axios2.default.create({
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var axios = require('axios');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var axios__default = /*#__PURE__*/_interopDefault(axios);
10
+
11
+ // client.ts
12
+ var axiosInstance = axios__default.default.create({
4
13
  baseURL: typeof AXIOS_BASE !== "undefined" ? AXIOS_BASE : void 0,
5
14
  headers: typeof AXIOS_HEADERS !== "undefined" ? JSON.parse(AXIOS_HEADERS) : void 0
6
15
  });
@@ -12,8 +21,8 @@ var axiosClient = async (config) => {
12
21
  };
13
22
  var client_default = axiosClient;
14
23
 
15
-
16
-
17
-
18
- exports.axiosClient = axiosClient; exports.axiosInstance = axiosInstance; exports.default = client_default;
24
+ exports.axiosClient = axiosClient;
25
+ exports.axiosInstance = axiosInstance;
26
+ exports.default = client_default;
27
+ //# sourceMappingURL=client.cjs.map
19
28
  //# sourceMappingURL=client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-client/dist/client.cjs","../client.ts"],"names":[],"mappings":"AAAA;ACAA,4EAAkB;AA8BX,IAAM,cAAA,EAAgB,eAAA,CAAM,MAAA,CAAO;AAAA,EACxC,OAAA,EAAS,OAAO,WAAA,IAAe,YAAA,EAAc,WAAA,EAAa,KAAA,CAAA;AAAA,EAC1D,OAAA,EAAS,OAAO,cAAA,IAAkB,YAAA,EAAe,IAAA,CAAK,KAAA,CAAM,aAAa,EAAA,EAAqB,KAAA;AAChG,CAAC,CAAA;AAEM,IAAM,YAAA,EAAc,MAAA,CAAsD,MAAA,EAAA,GAAsE;AACrJ,EAAA,MAAM,QAAA,EAAU,aAAA,CAAc,OAAA,CAAsC,MAAM,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,EAAA,GAA0B;AAC3G,IAAA,MAAM,CAAA;AAAA,EACR,CAAC,CAAA;AAED,EAAA,OAAO,OAAA;AACT,CAAA;AAEA,IAAO,eAAA,EAAQ,WAAA;AD9Bf;AACE;AACA;AACA;AACF,2GAAC","file":"/home/runner/work/kubb/kubb/packages/plugin-client/dist/client.cjs","sourcesContent":[null,"import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'get' | 'put' | 'patch' | 'post' | 'delete' | 'options'\n params?: unknown\n data?: TData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nexport const axiosInstance = axios.create({\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n})\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const promise = axiosInstance.request<TData, ResponseConfig<TData>>(config).catch((e: AxiosError<TError>) => {\n throw e\n })\n\n return promise\n}\n\nexport default axiosClient\n"]}
1
+ {"version":3,"sources":["../client.ts"],"names":["axios"],"mappings":";;;;;;;;;;;AA8Ba,IAAA,aAAA,GAAgBA,uBAAM,MAAO,CAAA;AAAA,EACxC,OAAS,EAAA,OAAO,UAAe,KAAA,WAAA,GAAc,UAAa,GAAA,KAAA,CAAA;AAAA,EAC1D,SAAS,OAAO,aAAA,KAAkB,cAAe,IAAK,CAAA,KAAA,CAAM,aAAa,CAAqB,GAAA,KAAA,CAAA;AAChG,CAAC,EAAA;AAEY,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAA,MAAM,UAAU,aAAc,CAAA,OAAA,CAAsC,MAAM,CAAE,CAAA,KAAA,CAAM,CAAC,CAA0B,KAAA;AAC3G,IAAM,MAAA,CAAA,CAAA;AAAA,GACP,CAAA,CAAA;AAED,EAAO,OAAA,OAAA,CAAA;AACT,EAAA;AAEA,IAAO,cAAQ,GAAA","file":"client.cjs","sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nexport const axiosInstance = axios.create({\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n})\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const promise = axiosInstance.request<TData, ResponseConfig<TData>>(config).catch((e: AxiosError<TError>) => {\n throw e\n })\n\n return promise\n}\n\nexport default axiosClient\n"]}
package/dist/client.d.cts CHANGED
@@ -7,9 +7,9 @@ import { AxiosRequestConfig, AxiosResponse } from 'axios';
7
7
  type RequestConfig<TData = unknown> = {
8
8
  baseURL?: string;
9
9
  url?: string;
10
- method: 'get' | 'put' | 'patch' | 'post' | 'delete' | 'options';
10
+ method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS';
11
11
  params?: unknown;
12
- data?: TData;
12
+ data?: TData | FormData;
13
13
  responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
14
14
  signal?: AbortSignal;
15
15
  headers?: AxiosRequestConfig['headers'];
package/dist/client.d.ts CHANGED
@@ -7,9 +7,9 @@ import { AxiosRequestConfig, AxiosResponse } from 'axios';
7
7
  type RequestConfig<TData = unknown> = {
8
8
  baseURL?: string;
9
9
  url?: string;
10
- method: 'get' | 'put' | 'patch' | 'post' | 'delete' | 'options';
10
+ method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS';
11
11
  params?: unknown;
12
- data?: TData;
12
+ data?: TData | FormData;
13
13
  responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
14
14
  signal?: AbortSignal;
15
15
  headers?: AxiosRequestConfig['headers'];
package/dist/client.js CHANGED
@@ -1,5 +1,6 @@
1
+ import axios from 'axios';
2
+
1
3
  // client.ts
2
- import axios from "axios";
3
4
  var axiosInstance = axios.create({
4
5
  baseURL: typeof AXIOS_BASE !== "undefined" ? AXIOS_BASE : void 0,
5
6
  headers: typeof AXIOS_HEADERS !== "undefined" ? JSON.parse(AXIOS_HEADERS) : void 0
@@ -11,9 +12,7 @@ var axiosClient = async (config) => {
11
12
  return promise;
12
13
  };
13
14
  var client_default = axiosClient;
14
- export {
15
- axiosClient,
16
- axiosInstance,
17
- client_default as default
18
- };
15
+
16
+ export { axiosClient, axiosInstance, client_default as default };
17
+ //# sourceMappingURL=client.js.map
19
18
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../client.ts"],"sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'get' | 'put' | 'patch' | 'post' | 'delete' | 'options'\n params?: unknown\n data?: TData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nexport const axiosInstance = axios.create({\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n})\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const promise = axiosInstance.request<TData, ResponseConfig<TData>>(config).catch((e: AxiosError<TError>) => {\n throw e\n })\n\n return promise\n}\n\nexport default axiosClient\n"],"mappings":";AAAA,OAAO,WAAW;AA8BX,IAAM,gBAAgB,MAAM,OAAO;AAAA,EACxC,SAAS,OAAO,eAAe,cAAc,aAAa;AAAA,EAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,aAAa,IAAqB;AAChG,CAAC;AAEM,IAAM,cAAc,OAAsD,WAAsE;AACrJ,QAAM,UAAU,cAAc,QAAsC,MAAM,EAAE,MAAM,CAAC,MAA0B;AAC3G,UAAM;AAAA,EACR,CAAC;AAED,SAAO;AACT;AAEA,IAAO,iBAAQ;","names":[]}
1
+ {"version":3,"sources":["../client.ts"],"names":[],"mappings":";;;AA8Ba,IAAA,aAAA,GAAgB,MAAM,MAAO,CAAA;AAAA,EACxC,OAAS,EAAA,OAAO,UAAe,KAAA,WAAA,GAAc,UAAa,GAAA,KAAA,CAAA;AAAA,EAC1D,SAAS,OAAO,aAAA,KAAkB,cAAe,IAAK,CAAA,KAAA,CAAM,aAAa,CAAqB,GAAA,KAAA,CAAA;AAChG,CAAC,EAAA;AAEY,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAA,MAAM,UAAU,aAAc,CAAA,OAAA,CAAsC,MAAM,CAAE,CAAA,KAAA,CAAM,CAAC,CAA0B,KAAA;AAC3G,IAAM,MAAA,CAAA,CAAA;AAAA,GACP,CAAA,CAAA;AAED,EAAO,OAAA,OAAA,CAAA;AACT,EAAA;AAEA,IAAO,cAAQ,GAAA","file":"client.js","sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nexport const axiosInstance = axios.create({\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n})\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const promise = axiosInstance.request<TData, ResponseConfig<TData>>(config).catch((e: AxiosError<TError>) => {\n throw e\n })\n\n return promise\n}\n\nexport default axiosClient\n"]}
@@ -1,10 +1,16 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-AZDWYBLW.cjs');
1
+ 'use strict';
2
2
 
3
+ var chunkX73EA6RA_cjs = require('./chunk-X73EA6RA.cjs');
3
4
 
4
5
 
5
- var _chunkYGRM4AA5cjs = require('./chunk-YGRM4AA5.cjs');
6
6
 
7
-
8
-
9
- exports.Client = _chunkYGRM4AA5cjs.Client; exports.Operations = _chunkYGRM4AA5cjs.Operations;
7
+ Object.defineProperty(exports, "Client", {
8
+ enumerable: true,
9
+ get: function () { return chunkX73EA6RA_cjs.Client; }
10
+ });
11
+ Object.defineProperty(exports, "Operations", {
12
+ enumerable: true,
13
+ get: function () { return chunkX73EA6RA_cjs.Operations; }
14
+ });
15
+ //# sourceMappingURL=components.cjs.map
10
16
  //# sourceMappingURL=components.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-client/dist/components.cjs"],"names":[],"mappings":"AAAA,yGAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,6FAAC","file":"/home/runner/work/kubb/kubb/packages/plugin-client/dist/components.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"components.cjs"}
@@ -1,6 +1,38 @@
1
- export { C as Client, a as Operations } from './types-DETYKDFZ.cjs';
1
+ import { Operation } from '@kubb/oas';
2
+ import { OperationSchemas } from '@kubb/plugin-oas';
3
+ import { FunctionParams } from '@kubb/react';
4
+ import { KubbNode } from '@kubb/react/types';
5
+ import { P as PluginClient } from './types-Bk_NZurp.cjs';
2
6
  import '@kubb/core';
3
- import '@kubb/fs/types';
4
- import '@kubb/oas';
5
- import '@kubb/plugin-oas';
6
- import '@kubb/react/types';
7
+
8
+ type Props = {
9
+ /**
10
+ * Name of the function
11
+ */
12
+ name: string;
13
+ isExportable?: boolean;
14
+ isIndexable?: boolean;
15
+ baseURL: string | undefined;
16
+ dataReturnType: PluginClient['resolvedOptions']['dataReturnType'];
17
+ pathParamsType: PluginClient['resolvedOptions']['pathParamsType'];
18
+ parser: PluginClient['resolvedOptions']['parser'] | undefined;
19
+ typeSchemas: OperationSchemas;
20
+ zodSchemas: OperationSchemas | undefined;
21
+ operation: Operation;
22
+ };
23
+ type GetParamsProps = {
24
+ pathParamsType: PluginClient['resolvedOptions']['pathParamsType'];
25
+ typeSchemas: OperationSchemas;
26
+ };
27
+ declare function Client({ name, isExportable, isIndexable, typeSchemas, baseURL, dataReturnType, parser, zodSchemas, pathParamsType, operation, }: Props): KubbNode;
28
+ declare namespace Client {
29
+ var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps) => FunctionParams;
30
+ }
31
+
32
+ type OperationsProps = {
33
+ name: string;
34
+ operations: Array<Operation>;
35
+ };
36
+ declare function Operations({ name, operations }: OperationsProps): JSX.Element;
37
+
38
+ export { Client, Operations };
@@ -1,6 +1,38 @@
1
- export { C as Client, a as Operations } from './types-DETYKDFZ.js';
1
+ import { Operation } from '@kubb/oas';
2
+ import { OperationSchemas } from '@kubb/plugin-oas';
3
+ import { FunctionParams } from '@kubb/react';
4
+ import { KubbNode } from '@kubb/react/types';
5
+ import { P as PluginClient } from './types-Bk_NZurp.js';
2
6
  import '@kubb/core';
3
- import '@kubb/fs/types';
4
- import '@kubb/oas';
5
- import '@kubb/plugin-oas';
6
- import '@kubb/react/types';
7
+
8
+ type Props = {
9
+ /**
10
+ * Name of the function
11
+ */
12
+ name: string;
13
+ isExportable?: boolean;
14
+ isIndexable?: boolean;
15
+ baseURL: string | undefined;
16
+ dataReturnType: PluginClient['resolvedOptions']['dataReturnType'];
17
+ pathParamsType: PluginClient['resolvedOptions']['pathParamsType'];
18
+ parser: PluginClient['resolvedOptions']['parser'] | undefined;
19
+ typeSchemas: OperationSchemas;
20
+ zodSchemas: OperationSchemas | undefined;
21
+ operation: Operation;
22
+ };
23
+ type GetParamsProps = {
24
+ pathParamsType: PluginClient['resolvedOptions']['pathParamsType'];
25
+ typeSchemas: OperationSchemas;
26
+ };
27
+ declare function Client({ name, isExportable, isIndexable, typeSchemas, baseURL, dataReturnType, parser, zodSchemas, pathParamsType, operation, }: Props): KubbNode;
28
+ declare namespace Client {
29
+ var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps) => FunctionParams;
30
+ }
31
+
32
+ type OperationsProps = {
33
+ name: string;
34
+ operations: Array<Operation>;
35
+ };
36
+ declare function Operations({ name, operations }: OperationsProps): JSX.Element;
37
+
38
+ export { Client, Operations };
@@ -1,10 +1,3 @@
1
- import "./chunk-YJOVLRSC.js";
2
- import {
3
- Client,
4
- Operations
5
- } from "./chunk-W256NILH.js";
6
- export {
7
- Client,
8
- Operations
9
- };
1
+ export { Client, Operations } from './chunk-YYBNZBCI.js';
2
+ //# sourceMappingURL=components.js.map
10
3
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"components.js"}
@@ -1,8 +1,21 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
1
+ 'use strict';
2
2
 
3
- var _chunkGHHJWXKQcjs = require('./chunk-GHHJWXKQ.cjs');
4
- require('./chunk-YGRM4AA5.cjs');
3
+ var chunk6W3SC7JK_cjs = require('./chunk-6W3SC7JK.cjs');
4
+ require('./chunk-X73EA6RA.cjs');
5
5
 
6
6
 
7
- exports.axiosGenerator = _chunkGHHJWXKQcjs.axiosGenerator;
7
+
8
+ Object.defineProperty(exports, "clientGenerator", {
9
+ enumerable: true,
10
+ get: function () { return chunk6W3SC7JK_cjs.clientGenerator; }
11
+ });
12
+ Object.defineProperty(exports, "groupedClientGenerator", {
13
+ enumerable: true,
14
+ get: function () { return chunk6W3SC7JK_cjs.groupedClientGenerator; }
15
+ });
16
+ Object.defineProperty(exports, "operationsGenerator", {
17
+ enumerable: true,
18
+ get: function () { return chunk6W3SC7JK_cjs.operationsGenerator; }
19
+ });
20
+ //# sourceMappingURL=generators.cjs.map
8
21
  //# sourceMappingURL=generators.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-client/dist/generators.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,0DAAC","file":"/home/runner/work/kubb/kubb/packages/plugin-client/dist/generators.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"generators.cjs"}
@@ -1,10 +1,11 @@
1
1
  import * as _kubb_plugin_oas from '@kubb/plugin-oas';
2
- import { P as PluginClient } from './types-DETYKDFZ.cjs';
2
+ import { P as PluginClient } from './types-Bk_NZurp.cjs';
3
3
  import '@kubb/core';
4
- import '@kubb/fs/types';
5
- import '@kubb/oas';
6
- import '@kubb/react/types';
7
4
 
8
- declare const axiosGenerator: _kubb_plugin_oas.Generator<PluginClient>;
5
+ declare const clientGenerator: _kubb_plugin_oas.Generator<PluginClient>;
9
6
 
10
- export { axiosGenerator };
7
+ declare const operationsGenerator: _kubb_plugin_oas.Generator<PluginClient>;
8
+
9
+ declare const groupedClientGenerator: _kubb_plugin_oas.Generator<PluginClient>;
10
+
11
+ export { clientGenerator, groupedClientGenerator, operationsGenerator };
@@ -1,10 +1,11 @@
1
1
  import * as _kubb_plugin_oas from '@kubb/plugin-oas';
2
- import { P as PluginClient } from './types-DETYKDFZ.js';
2
+ import { P as PluginClient } from './types-Bk_NZurp.js';
3
3
  import '@kubb/core';
4
- import '@kubb/fs/types';
5
- import '@kubb/oas';
6
- import '@kubb/react/types';
7
4
 
8
- declare const axiosGenerator: _kubb_plugin_oas.Generator<PluginClient>;
5
+ declare const clientGenerator: _kubb_plugin_oas.Generator<PluginClient>;
9
6
 
10
- export { axiosGenerator };
7
+ declare const operationsGenerator: _kubb_plugin_oas.Generator<PluginClient>;
8
+
9
+ declare const groupedClientGenerator: _kubb_plugin_oas.Generator<PluginClient>;
10
+
11
+ export { clientGenerator, groupedClientGenerator, operationsGenerator };
@@ -1,8 +1,4 @@
1
- import {
2
- axiosGenerator
3
- } from "./chunk-OODSLPAP.js";
4
- import "./chunk-W256NILH.js";
5
- export {
6
- axiosGenerator
7
- };
1
+ export { clientGenerator, groupedClientGenerator, operationsGenerator } from './chunk-LI44LDXH.js';
2
+ import './chunk-YYBNZBCI.js';
3
+ //# sourceMappingURL=generators.js.map
8
4
  //# sourceMappingURL=generators.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"generators.js"}