@kubb/plugin-client 3.0.0-alpha.7 → 3.0.0-alpha.9

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 (48) hide show
  1. package/client.ts +1 -1
  2. package/dist/chunk-AZDWYBLW.cjs +1 -0
  3. package/dist/chunk-AZDWYBLW.cjs.map +1 -0
  4. package/dist/chunk-GHHJWXKQ.cjs +61 -0
  5. package/dist/chunk-GHHJWXKQ.cjs.map +1 -0
  6. package/dist/chunk-OODSLPAP.js +61 -0
  7. package/dist/chunk-OODSLPAP.js.map +1 -0
  8. package/dist/chunk-W256NILH.js +128 -0
  9. package/dist/chunk-W256NILH.js.map +1 -0
  10. package/dist/chunk-YGRM4AA5.cjs +128 -0
  11. package/dist/chunk-YGRM4AA5.cjs.map +1 -0
  12. package/dist/chunk-YJOVLRSC.js +1 -0
  13. package/dist/chunk-YJOVLRSC.js.map +1 -0
  14. package/dist/client.cjs.map +1 -1
  15. package/dist/client.d.cts +1 -1
  16. package/dist/client.d.ts +1 -1
  17. package/dist/client.js.map +1 -1
  18. package/dist/components.cjs +4 -3
  19. package/dist/components.cjs.map +1 -1
  20. package/dist/components.d.cts +1 -3
  21. package/dist/components.d.ts +1 -3
  22. package/dist/components.js +2 -1
  23. package/dist/generators.cjs +8 -0
  24. package/dist/generators.cjs.map +1 -0
  25. package/dist/generators.d.cts +10 -0
  26. package/dist/generators.d.ts +10 -0
  27. package/dist/generators.js +8 -0
  28. package/dist/generators.js.map +1 -0
  29. package/dist/index.cjs +9 -29
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +1 -3
  32. package/dist/index.d.ts +1 -3
  33. package/dist/index.js +8 -28
  34. package/dist/index.js.map +1 -1
  35. package/dist/{types-C_-LImV-.d.cts → types-DETYKDFZ.d.cts} +13 -107
  36. package/dist/{types-C_-LImV-.d.ts → types-DETYKDFZ.d.ts} +13 -107
  37. package/package.json +20 -12
  38. package/src/components/Client.tsx +74 -193
  39. package/src/components/Operations.tsx +6 -72
  40. package/src/generators/axiosGenerator.tsx +63 -0
  41. package/src/generators/index.ts +1 -0
  42. package/src/plugin.ts +4 -4
  43. package/src/types.ts +2 -2
  44. package/dist/chunk-BEM4SQUR.cjs +0 -199
  45. package/dist/chunk-BEM4SQUR.cjs.map +0 -1
  46. package/dist/chunk-IQZOOJUP.js +0 -199
  47. package/dist/chunk-IQZOOJUP.js.map +0 -1
  48. package/src/OperationGenerator.tsx +0 -29
@@ -1,199 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/components/Client.tsx
2
- var _utils = require('@kubb/core/utils');
3
- var _react = require('@kubb/react');
4
- var _plugints = require('@kubb/plugin-ts');
5
- var _hooks = require('@kubb/plugin-oas/hooks');
6
- var _utils3 = require('@kubb/plugin-oas/utils');
7
- var _oas = require('@kubb/oas');
8
- var _jsxruntime = require('@kubb/react/jsx-runtime');
9
- function Template({ name, generics, returnType, params, JSDoc, client }) {
10
- const isFormData = client.contentType === "multipart/form-data";
11
- const headers = [
12
- client.contentType !== "application/json" ? `'Content-Type': '${client.contentType}'` : void 0,
13
- client.withHeaders ? "...headers" : void 0
14
- ].filter(Boolean).join(", ");
15
- const clientParams = {
16
- data: {
17
- mode: "object",
18
- children: {
19
- method: {
20
- type: "string",
21
- value: JSON.stringify(client.method)
22
- },
23
- url: {
24
- type: "string",
25
- value: client.path.template
26
- },
27
- baseURL: client.baseURL ? {
28
- type: "string",
29
- value: JSON.stringify(client.baseURL)
30
- } : void 0,
31
- params: client.withQueryParams ? {
32
- type: "any"
33
- } : void 0,
34
- data: client.withData ? {
35
- type: "any",
36
- value: isFormData ? "formData" : void 0
37
- } : void 0,
38
- headers: headers.length ? {
39
- type: "any",
40
- value: headers.length ? `{ ${headers}, ...options.headers }` : void 0
41
- } : void 0,
42
- options: {
43
- type: "any",
44
- mode: "inlineSpread"
45
- }
46
- }
47
- }
48
- };
49
- const formData = isFormData ? `
50
- const formData = new FormData()
51
- if(data) {
52
- Object.keys(data).forEach((key) => {
53
- const value = data[key];
54
- if (typeof key === "string" && (typeof value === "string" || value instanceof Blob)) {
55
- formData.append(key, value);
56
- }
57
- })
58
- }
59
- ` : void 0;
60
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.File.Source, { name, isExportable: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Function, { name, async: true, export: true, generics, returnType, params, JSDoc, children: [
61
- formData || "",
62
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Function.Call, { name: "res", to: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Function, { name: "client", async: true, generics: client.generics, params: clientParams }) }),
63
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Function.Return, { children: client.dataReturnType === "data" ? "res.data" : "res" })
64
- ] }) });
65
- }
66
- function RootTemplate({ children }) {
67
- const {
68
- plugin: {
69
- options: {
70
- client: { importPath }
71
- }
72
- }
73
- } = _react.useApp.call(void 0, );
74
- const { getSchemas, getFile } = _hooks.useOperationManager.call(void 0, );
75
- const operation = _hooks.useOperation.call(void 0, );
76
- const file = getFile(operation);
77
- const fileType = getFile(operation, { pluginKey: [_plugints.pluginTsName] });
78
- const schemas = getSchemas(operation, { pluginKey: [_plugints.pluginTsName], type: "type" });
79
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.File, { baseName: file.baseName, path: file.path, meta: file.meta, children: [
80
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.File.Import, { name: "client", path: importPath }),
81
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.File.Import, { name: ["ResponseConfig"], path: importPath, isTypeOnly: true }),
82
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
83
- _react.File.Import,
84
- {
85
- name: [_optionalChain([schemas, 'access', _ => _.request, 'optionalAccess', _2 => _2.name]), schemas.response.name, _optionalChain([schemas, 'access', _3 => _3.pathParams, 'optionalAccess', _4 => _4.name]), _optionalChain([schemas, 'access', _5 => _5.queryParams, 'optionalAccess', _6 => _6.name]), _optionalChain([schemas, 'access', _7 => _7.headerParams, 'optionalAccess', _8 => _8.name])].filter(Boolean),
86
- root: file.path,
87
- path: fileType.path,
88
- isTypeOnly: true
89
- }
90
- ),
91
- children
92
- ] });
93
- }
94
- var defaultTemplates = { default: Template, root: RootTemplate };
95
- function Client({ baseURL, Template: Template3 = defaultTemplates.default }) {
96
- const {
97
- plugin: {
98
- options: { client, dataReturnType, pathParamsType }
99
- }
100
- } = _react.useApp.call(void 0, );
101
- const { getSchemas, getName } = _hooks.useOperationManager.call(void 0, );
102
- const operation = _hooks.useOperation.call(void 0, );
103
- const contentType = operation.getContentType();
104
- const name = getName(operation, { type: "function" });
105
- const schemas = getSchemas(operation, { pluginKey: [_plugints.pluginTsName], type: "type" });
106
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
107
- Template3,
108
- {
109
- name,
110
- params: {
111
- pathParams: {
112
- mode: pathParamsType === "object" ? "object" : "inlineSpread",
113
- children: _utils3.getPathParams.call(void 0, schemas.pathParams, { typed: true })
114
- },
115
- data: _optionalChain([schemas, 'access', _9 => _9.request, 'optionalAccess', _10 => _10.name]) ? {
116
- type: _optionalChain([schemas, 'access', _11 => _11.request, 'optionalAccess', _12 => _12.name]),
117
- optional: _oas.isOptional.call(void 0, _optionalChain([schemas, 'access', _13 => _13.request, 'optionalAccess', _14 => _14.schema]))
118
- } : void 0,
119
- params: _optionalChain([schemas, 'access', _15 => _15.queryParams, 'optionalAccess', _16 => _16.name]) ? {
120
- type: _optionalChain([schemas, 'access', _17 => _17.queryParams, 'optionalAccess', _18 => _18.name]),
121
- optional: _oas.isOptional.call(void 0, _optionalChain([schemas, 'access', _19 => _19.queryParams, 'optionalAccess', _20 => _20.schema]))
122
- } : void 0,
123
- headers: _optionalChain([schemas, 'access', _21 => _21.headerParams, 'optionalAccess', _22 => _22.name]) ? {
124
- type: _optionalChain([schemas, 'access', _23 => _23.headerParams, 'optionalAccess', _24 => _24.name]),
125
- optional: _oas.isOptional.call(void 0, _optionalChain([schemas, 'access', _25 => _25.headerParams, 'optionalAccess', _26 => _26.schema]))
126
- } : void 0,
127
- options: {
128
- type: "Partial<Parameters<typeof client>[0]>",
129
- default: "{}"
130
- }
131
- },
132
- returnType: dataReturnType === "data" ? `ResponseConfig<${schemas.response.name}>["data"]` : `ResponseConfig<${schemas.response.name}>`,
133
- JSDoc: {
134
- comments: _utils3.getComments.call(void 0, operation)
135
- },
136
- client: {
137
- // only set baseURL from serverIndex(swagger) when no custom client(default) is used
138
- baseURL: client.importPath === "@kubb/plugin-client/client" ? baseURL : void 0,
139
- generics: [schemas.response.name, _optionalChain([schemas, 'access', _27 => _27.request, 'optionalAccess', _28 => _28.name])].filter(Boolean),
140
- dataReturnType,
141
- withQueryParams: !!_optionalChain([schemas, 'access', _29 => _29.queryParams, 'optionalAccess', _30 => _30.name]),
142
- withData: !!_optionalChain([schemas, 'access', _31 => _31.request, 'optionalAccess', _32 => _32.name]),
143
- withHeaders: !!_optionalChain([schemas, 'access', _33 => _33.headerParams, 'optionalAccess', _34 => _34.name]),
144
- method: operation.method,
145
- path: new (0, _utils.URLPath)(operation.path),
146
- contentType
147
- }
148
- }
149
- );
150
- }
151
- Client.File = function({ baseURL, ...props }) {
152
- const templates = { ...defaultTemplates, ...props.templates };
153
- const Template3 = templates.default;
154
- const RootTemplate3 = templates.root;
155
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RootTemplate3, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Client, { baseURL, Template: Template3 }) });
156
- };
157
- Client.templates = defaultTemplates;
158
-
159
- // src/components/Operations.tsx
160
-
161
-
162
-
163
-
164
- function Template2({ name, operations }) {
165
- const operationsObject = {};
166
- operations.forEach((operation) => {
167
- operationsObject[operation.getOperationId()] = {
168
- path: new (0, _utils.URLPath)(operation.path).URL,
169
- method: operation.method
170
- };
171
- });
172
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.File.Source, { name, isExportable: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
173
- }
174
- function RootTemplate2({ children }) {
175
- const {
176
- pluginManager,
177
- plugin: { key: pluginKey }
178
- } = _react.useApp.call(void 0, );
179
- const file = pluginManager.getFile({ name: "operations", extName: ".ts", pluginKey });
180
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.File, { baseName: file.baseName, path: file.path, meta: file.meta, children });
181
- }
182
- var defaultTemplates2 = { default: Template2, root: RootTemplate2 };
183
- function Operations({ baseURL, Template: Template3 = defaultTemplates2.default }) {
184
- const operations = _hooks.useOperations.call(void 0, );
185
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Template3, { baseURL, name: "operations", operations });
186
- }
187
- Operations.File = function({ baseURL, ...props }) {
188
- const templates = { ...defaultTemplates2, ...props.templates };
189
- const Template3 = templates.default;
190
- const RootTemplate3 = templates.root;
191
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RootTemplate3, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Operations, { baseURL, Template: Template3 }) });
192
- };
193
- Operations.templates = defaultTemplates2;
194
-
195
-
196
-
197
-
198
- exports.Client = Client; exports.Operations = Operations;
199
- //# sourceMappingURL=chunk-BEM4SQUR.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-client/dist/chunk-BEM4SQUR.cjs","../src/components/Client.tsx","../src/components/Operations.tsx"],"names":["Template","RootTemplate","URLPath","jsx","File","useApp","defaultTemplates"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/plugin-client/dist/chunk-BEM4SQUR.cjs","sourcesContent":[null,"import { URLPath } from '@kubb/core/utils'\nimport { File, Function, useApp } from '@kubb/react'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\n\nimport { isOptional } from '@kubb/oas'\nimport type { HttpMethod } from '@kubb/oas'\nimport type { KubbNode, Params } from '@kubb/react/types'\nimport type { ComponentProps, ComponentType } from 'react'\nimport type { FileMeta, PluginClient } from '../types.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n /**\n * Parameters/options/props that need to be used\n */\n params: Params\n /**\n * Generics that needs to be added for TypeScript\n */\n generics?: string\n /**\n * ReturnType(see async for adding Promise type)\n */\n returnType?: string\n /**\n * Options for JSdocs\n */\n JSDoc?: {\n comments: string[]\n }\n client: {\n baseURL: string | undefined\n generics: string | string[]\n method: HttpMethod\n path: URLPath\n dataReturnType: PluginClient['options']['dataReturnType']\n withQueryParams: boolean\n withData: boolean\n withHeaders: boolean\n contentType: string\n }\n}\n\nfunction Template({ name, generics, returnType, params, JSDoc, client }: TemplateProps): KubbNode {\n const isFormData = client.contentType === 'multipart/form-data'\n const headers = [\n client.contentType !== 'application/json' ? `'Content-Type': '${client.contentType}'` : undefined,\n client.withHeaders ? '...headers' : undefined,\n ]\n .filter(Boolean)\n .join(', ')\n const clientParams: Params = {\n data: {\n mode: 'object',\n children: {\n method: {\n type: 'string',\n value: JSON.stringify(client.method),\n },\n url: {\n type: 'string',\n value: client.path.template,\n },\n baseURL: client.baseURL\n ? {\n type: 'string',\n value: JSON.stringify(client.baseURL),\n }\n : undefined,\n params: client.withQueryParams\n ? {\n type: 'any',\n }\n : undefined,\n data: client.withData\n ? {\n type: 'any',\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n type: 'any',\n value: headers.length ? `{ ${headers}, ...options.headers }` : undefined,\n }\n : undefined,\n options: {\n type: 'any',\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];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : undefined\n\n return (\n <File.Source name={name} isExportable>\n <Function name={name} async export generics={generics} returnType={returnType} params={params} JSDoc={JSDoc}>\n {formData || ''}\n <Function.Call name=\"res\" to={<Function name=\"client\" async generics={client.generics} params={clientParams} />} />\n <Function.Return>{client.dataReturnType === 'data' ? 'res.data' : 'res'}</Function.Return>\n </Function>\n </File.Source>\n )\n}\n\ntype RootTemplateProps = {\n children?: React.ReactNode\n}\n\nfunction RootTemplate({ children }: RootTemplateProps) {\n const {\n plugin: {\n options: {\n client: { importPath },\n },\n },\n } = useApp<PluginClient>()\n\n const { getSchemas, getFile } = useOperationManager()\n const operation = useOperation()\n\n const file = getFile(operation)\n const fileType = getFile(operation, { pluginKey: [pluginTsName] })\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n\n return (\n <File<FileMeta> baseName={file.baseName} path={file.path} meta={file.meta}>\n <File.Import name={'client'} path={importPath} />\n <File.Import name={['ResponseConfig']} path={importPath} isTypeOnly />\n <File.Import\n name={[schemas.request?.name, schemas.response.name, schemas.pathParams?.name, schemas.queryParams?.name, schemas.headerParams?.name].filter(Boolean)}\n root={file.path}\n path={fileType.path}\n isTypeOnly\n />\n {children}\n </File>\n )\n}\n\nconst defaultTemplates = { default: Template, root: RootTemplate } as const\n\ntype Templates = Partial<typeof defaultTemplates>\n\ntype ClientProps = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: ComponentType<ComponentProps<typeof Template>>\n}\n\nexport function Client({ baseURL, Template = defaultTemplates.default }: ClientProps): KubbNode {\n const {\n plugin: {\n options: { client, dataReturnType, pathParamsType },\n },\n } = useApp<PluginClient>()\n\n const { getSchemas, getName } = useOperationManager()\n const operation = useOperation()\n\n const contentType = operation.getContentType()\n const name = getName(operation, { type: 'function' })\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n\n return (\n <Template\n name={name}\n params={{\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(schemas.pathParams, { typed: true }),\n },\n data: schemas.request?.name\n ? {\n type: schemas.request?.name,\n optional: isOptional(schemas.request?.schema),\n }\n : undefined,\n params: schemas.queryParams?.name\n ? {\n type: schemas.queryParams?.name,\n optional: isOptional(schemas.queryParams?.schema),\n }\n : undefined,\n headers: schemas.headerParams?.name\n ? {\n type: schemas.headerParams?.name,\n optional: isOptional(schemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: 'Partial<Parameters<typeof client>[0]>',\n default: '{}',\n },\n }}\n returnType={dataReturnType === 'data' ? `ResponseConfig<${schemas.response.name}>[\"data\"]` : `ResponseConfig<${schemas.response.name}>`}\n JSDoc={{\n comments: getComments(operation),\n }}\n client={{\n // only set baseURL from serverIndex(swagger) when no custom client(default) is used\n baseURL: client.importPath === '@kubb/plugin-client/client' ? baseURL : undefined,\n generics: [schemas.response.name, schemas.request?.name].filter(Boolean),\n dataReturnType,\n withQueryParams: !!schemas.queryParams?.name,\n withData: !!schemas.request?.name,\n withHeaders: !!schemas.headerParams?.name,\n method: operation.method,\n path: new URLPath(operation.path),\n contentType,\n }}\n />\n )\n}\n\ntype FileProps = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n templates?: Templates\n}\n\nClient.File = function ({ baseURL, ...props }: FileProps): KubbNode {\n const templates = { ...defaultTemplates, ...props.templates }\n\n const Template = templates.default\n const RootTemplate = templates.root\n\n return (\n <RootTemplate>\n <Client baseURL={baseURL} Template={Template} />\n </RootTemplate>\n )\n}\n\nClient.templates = defaultTemplates\n","import { URLPath } from '@kubb/core/utils'\nimport { useOperations } from '@kubb/plugin-oas/hooks'\nimport { Const, File, useApp } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { ComponentProps, ComponentType } from 'react'\nimport type { FileMeta, PluginClient } from '../types.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n operations: Operation[]\n baseURL: string | undefined\n}\n\nfunction Template({ name, operations }: TemplateProps): KubbNode {\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 return (\n <File.Source name={name} isExportable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\n\ntype RootTemplateProps = {\n children?: React.ReactNode\n}\n\nfunction RootTemplate({ children }: RootTemplateProps) {\n const {\n pluginManager,\n plugin: { key: pluginKey },\n } = useApp<PluginClient>()\n const file = pluginManager.getFile({ name: 'operations', extName: '.ts', pluginKey })\n\n return (\n <File<FileMeta> baseName={file.baseName} path={file.path} meta={file.meta}>\n {children}\n </File>\n )\n}\n\nconst defaultTemplates = { default: Template, root: RootTemplate } as const\n\ntype Templates = Partial<typeof defaultTemplates>\n\ntype Props = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: ComponentType<ComponentProps<typeof Template>>\n}\n\nexport function Operations({ baseURL, Template = defaultTemplates.default }: Props): KubbNode {\n const operations = useOperations()\n\n return <Template baseURL={baseURL} name=\"operations\" operations={operations} />\n}\n\ntype FileProps = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n templates?: Templates\n}\n\nOperations.File = function ({ baseURL, ...props }: FileProps): KubbNode {\n const templates = { ...defaultTemplates, ...props.templates }\n\n const Template = templates.default\n const RootTemplate = templates.root\n\n return (\n <RootTemplate>\n <Operations baseURL={baseURL} Template={Template} />\n </RootTemplate>\n )\n}\n\nOperations.templates = defaultTemplates\n"]}
@@ -1,199 +0,0 @@
1
- // src/components/Client.tsx
2
- import { URLPath } from "@kubb/core/utils";
3
- import { File, Function, useApp } from "@kubb/react";
4
- import { pluginTsName } from "@kubb/plugin-ts";
5
- import { useOperation, useOperationManager } from "@kubb/plugin-oas/hooks";
6
- import { getComments, getPathParams } from "@kubb/plugin-oas/utils";
7
- import { isOptional } from "@kubb/oas";
8
- import { jsx, jsxs } from "@kubb/react/jsx-runtime";
9
- function Template({ name, generics, returnType, params, JSDoc, client }) {
10
- const isFormData = client.contentType === "multipart/form-data";
11
- const headers = [
12
- client.contentType !== "application/json" ? `'Content-Type': '${client.contentType}'` : void 0,
13
- client.withHeaders ? "...headers" : void 0
14
- ].filter(Boolean).join(", ");
15
- const clientParams = {
16
- data: {
17
- mode: "object",
18
- children: {
19
- method: {
20
- type: "string",
21
- value: JSON.stringify(client.method)
22
- },
23
- url: {
24
- type: "string",
25
- value: client.path.template
26
- },
27
- baseURL: client.baseURL ? {
28
- type: "string",
29
- value: JSON.stringify(client.baseURL)
30
- } : void 0,
31
- params: client.withQueryParams ? {
32
- type: "any"
33
- } : void 0,
34
- data: client.withData ? {
35
- type: "any",
36
- value: isFormData ? "formData" : void 0
37
- } : void 0,
38
- headers: headers.length ? {
39
- type: "any",
40
- value: headers.length ? `{ ${headers}, ...options.headers }` : void 0
41
- } : void 0,
42
- options: {
43
- type: "any",
44
- mode: "inlineSpread"
45
- }
46
- }
47
- }
48
- };
49
- const formData = isFormData ? `
50
- const formData = new FormData()
51
- if(data) {
52
- Object.keys(data).forEach((key) => {
53
- const value = data[key];
54
- if (typeof key === "string" && (typeof value === "string" || value instanceof Blob)) {
55
- formData.append(key, value);
56
- }
57
- })
58
- }
59
- ` : void 0;
60
- return /* @__PURE__ */ jsx(File.Source, { name, isExportable: true, children: /* @__PURE__ */ jsxs(Function, { name, async: true, export: true, generics, returnType, params, JSDoc, children: [
61
- formData || "",
62
- /* @__PURE__ */ jsx(Function.Call, { name: "res", to: /* @__PURE__ */ jsx(Function, { name: "client", async: true, generics: client.generics, params: clientParams }) }),
63
- /* @__PURE__ */ jsx(Function.Return, { children: client.dataReturnType === "data" ? "res.data" : "res" })
64
- ] }) });
65
- }
66
- function RootTemplate({ children }) {
67
- const {
68
- plugin: {
69
- options: {
70
- client: { importPath }
71
- }
72
- }
73
- } = useApp();
74
- const { getSchemas, getFile } = useOperationManager();
75
- const operation = useOperation();
76
- const file = getFile(operation);
77
- const fileType = getFile(operation, { pluginKey: [pluginTsName] });
78
- const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: "type" });
79
- return /* @__PURE__ */ jsxs(File, { baseName: file.baseName, path: file.path, meta: file.meta, children: [
80
- /* @__PURE__ */ jsx(File.Import, { name: "client", path: importPath }),
81
- /* @__PURE__ */ jsx(File.Import, { name: ["ResponseConfig"], path: importPath, isTypeOnly: true }),
82
- /* @__PURE__ */ jsx(
83
- File.Import,
84
- {
85
- name: [schemas.request?.name, schemas.response.name, schemas.pathParams?.name, schemas.queryParams?.name, schemas.headerParams?.name].filter(Boolean),
86
- root: file.path,
87
- path: fileType.path,
88
- isTypeOnly: true
89
- }
90
- ),
91
- children
92
- ] });
93
- }
94
- var defaultTemplates = { default: Template, root: RootTemplate };
95
- function Client({ baseURL, Template: Template3 = defaultTemplates.default }) {
96
- const {
97
- plugin: {
98
- options: { client, dataReturnType, pathParamsType }
99
- }
100
- } = useApp();
101
- const { getSchemas, getName } = useOperationManager();
102
- const operation = useOperation();
103
- const contentType = operation.getContentType();
104
- const name = getName(operation, { type: "function" });
105
- const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: "type" });
106
- return /* @__PURE__ */ jsx(
107
- Template3,
108
- {
109
- name,
110
- params: {
111
- pathParams: {
112
- mode: pathParamsType === "object" ? "object" : "inlineSpread",
113
- children: getPathParams(schemas.pathParams, { typed: true })
114
- },
115
- data: schemas.request?.name ? {
116
- type: schemas.request?.name,
117
- optional: isOptional(schemas.request?.schema)
118
- } : void 0,
119
- params: schemas.queryParams?.name ? {
120
- type: schemas.queryParams?.name,
121
- optional: isOptional(schemas.queryParams?.schema)
122
- } : void 0,
123
- headers: schemas.headerParams?.name ? {
124
- type: schemas.headerParams?.name,
125
- optional: isOptional(schemas.headerParams?.schema)
126
- } : void 0,
127
- options: {
128
- type: "Partial<Parameters<typeof client>[0]>",
129
- default: "{}"
130
- }
131
- },
132
- returnType: dataReturnType === "data" ? `ResponseConfig<${schemas.response.name}>["data"]` : `ResponseConfig<${schemas.response.name}>`,
133
- JSDoc: {
134
- comments: getComments(operation)
135
- },
136
- client: {
137
- // only set baseURL from serverIndex(swagger) when no custom client(default) is used
138
- baseURL: client.importPath === "@kubb/plugin-client/client" ? baseURL : void 0,
139
- generics: [schemas.response.name, schemas.request?.name].filter(Boolean),
140
- dataReturnType,
141
- withQueryParams: !!schemas.queryParams?.name,
142
- withData: !!schemas.request?.name,
143
- withHeaders: !!schemas.headerParams?.name,
144
- method: operation.method,
145
- path: new URLPath(operation.path),
146
- contentType
147
- }
148
- }
149
- );
150
- }
151
- Client.File = function({ baseURL, ...props }) {
152
- const templates = { ...defaultTemplates, ...props.templates };
153
- const Template3 = templates.default;
154
- const RootTemplate3 = templates.root;
155
- return /* @__PURE__ */ jsx(RootTemplate3, { children: /* @__PURE__ */ jsx(Client, { baseURL, Template: Template3 }) });
156
- };
157
- Client.templates = defaultTemplates;
158
-
159
- // src/components/Operations.tsx
160
- import { URLPath as URLPath2 } from "@kubb/core/utils";
161
- import { useOperations } from "@kubb/plugin-oas/hooks";
162
- import { Const, File as File2, useApp as useApp2 } from "@kubb/react";
163
- import { jsx as jsx2 } from "@kubb/react/jsx-runtime";
164
- function Template2({ name, operations }) {
165
- const operationsObject = {};
166
- operations.forEach((operation) => {
167
- operationsObject[operation.getOperationId()] = {
168
- path: new URLPath2(operation.path).URL,
169
- method: operation.method
170
- };
171
- });
172
- return /* @__PURE__ */ jsx2(File2.Source, { name, isExportable: true, children: /* @__PURE__ */ jsx2(Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
173
- }
174
- function RootTemplate2({ children }) {
175
- const {
176
- pluginManager,
177
- plugin: { key: pluginKey }
178
- } = useApp2();
179
- const file = pluginManager.getFile({ name: "operations", extName: ".ts", pluginKey });
180
- return /* @__PURE__ */ jsx2(File2, { baseName: file.baseName, path: file.path, meta: file.meta, children });
181
- }
182
- var defaultTemplates2 = { default: Template2, root: RootTemplate2 };
183
- function Operations({ baseURL, Template: Template3 = defaultTemplates2.default }) {
184
- const operations = useOperations();
185
- return /* @__PURE__ */ jsx2(Template3, { baseURL, name: "operations", operations });
186
- }
187
- Operations.File = function({ baseURL, ...props }) {
188
- const templates = { ...defaultTemplates2, ...props.templates };
189
- const Template3 = templates.default;
190
- const RootTemplate3 = templates.root;
191
- return /* @__PURE__ */ jsx2(RootTemplate3, { children: /* @__PURE__ */ jsx2(Operations, { baseURL, Template: Template3 }) });
192
- };
193
- Operations.templates = defaultTemplates2;
194
-
195
- export {
196
- Client,
197
- Operations
198
- };
199
- //# sourceMappingURL=chunk-IQZOOJUP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Client.tsx","../src/components/Operations.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { File, Function, useApp } from '@kubb/react'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { useOperation, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\n\nimport { isOptional } from '@kubb/oas'\nimport type { HttpMethod } from '@kubb/oas'\nimport type { KubbNode, Params } from '@kubb/react/types'\nimport type { ComponentProps, ComponentType } from 'react'\nimport type { FileMeta, PluginClient } from '../types.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n /**\n * Parameters/options/props that need to be used\n */\n params: Params\n /**\n * Generics that needs to be added for TypeScript\n */\n generics?: string\n /**\n * ReturnType(see async for adding Promise type)\n */\n returnType?: string\n /**\n * Options for JSdocs\n */\n JSDoc?: {\n comments: string[]\n }\n client: {\n baseURL: string | undefined\n generics: string | string[]\n method: HttpMethod\n path: URLPath\n dataReturnType: PluginClient['options']['dataReturnType']\n withQueryParams: boolean\n withData: boolean\n withHeaders: boolean\n contentType: string\n }\n}\n\nfunction Template({ name, generics, returnType, params, JSDoc, client }: TemplateProps): KubbNode {\n const isFormData = client.contentType === 'multipart/form-data'\n const headers = [\n client.contentType !== 'application/json' ? `'Content-Type': '${client.contentType}'` : undefined,\n client.withHeaders ? '...headers' : undefined,\n ]\n .filter(Boolean)\n .join(', ')\n const clientParams: Params = {\n data: {\n mode: 'object',\n children: {\n method: {\n type: 'string',\n value: JSON.stringify(client.method),\n },\n url: {\n type: 'string',\n value: client.path.template,\n },\n baseURL: client.baseURL\n ? {\n type: 'string',\n value: JSON.stringify(client.baseURL),\n }\n : undefined,\n params: client.withQueryParams\n ? {\n type: 'any',\n }\n : undefined,\n data: client.withData\n ? {\n type: 'any',\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n type: 'any',\n value: headers.length ? `{ ${headers}, ...options.headers }` : undefined,\n }\n : undefined,\n options: {\n type: 'any',\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];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : undefined\n\n return (\n <File.Source name={name} isExportable>\n <Function name={name} async export generics={generics} returnType={returnType} params={params} JSDoc={JSDoc}>\n {formData || ''}\n <Function.Call name=\"res\" to={<Function name=\"client\" async generics={client.generics} params={clientParams} />} />\n <Function.Return>{client.dataReturnType === 'data' ? 'res.data' : 'res'}</Function.Return>\n </Function>\n </File.Source>\n )\n}\n\ntype RootTemplateProps = {\n children?: React.ReactNode\n}\n\nfunction RootTemplate({ children }: RootTemplateProps) {\n const {\n plugin: {\n options: {\n client: { importPath },\n },\n },\n } = useApp<PluginClient>()\n\n const { getSchemas, getFile } = useOperationManager()\n const operation = useOperation()\n\n const file = getFile(operation)\n const fileType = getFile(operation, { pluginKey: [pluginTsName] })\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n\n return (\n <File<FileMeta> baseName={file.baseName} path={file.path} meta={file.meta}>\n <File.Import name={'client'} path={importPath} />\n <File.Import name={['ResponseConfig']} path={importPath} isTypeOnly />\n <File.Import\n name={[schemas.request?.name, schemas.response.name, schemas.pathParams?.name, schemas.queryParams?.name, schemas.headerParams?.name].filter(Boolean)}\n root={file.path}\n path={fileType.path}\n isTypeOnly\n />\n {children}\n </File>\n )\n}\n\nconst defaultTemplates = { default: Template, root: RootTemplate } as const\n\ntype Templates = Partial<typeof defaultTemplates>\n\ntype ClientProps = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: ComponentType<ComponentProps<typeof Template>>\n}\n\nexport function Client({ baseURL, Template = defaultTemplates.default }: ClientProps): KubbNode {\n const {\n plugin: {\n options: { client, dataReturnType, pathParamsType },\n },\n } = useApp<PluginClient>()\n\n const { getSchemas, getName } = useOperationManager()\n const operation = useOperation()\n\n const contentType = operation.getContentType()\n const name = getName(operation, { type: 'function' })\n const schemas = getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' })\n\n return (\n <Template\n name={name}\n params={{\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(schemas.pathParams, { typed: true }),\n },\n data: schemas.request?.name\n ? {\n type: schemas.request?.name,\n optional: isOptional(schemas.request?.schema),\n }\n : undefined,\n params: schemas.queryParams?.name\n ? {\n type: schemas.queryParams?.name,\n optional: isOptional(schemas.queryParams?.schema),\n }\n : undefined,\n headers: schemas.headerParams?.name\n ? {\n type: schemas.headerParams?.name,\n optional: isOptional(schemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: 'Partial<Parameters<typeof client>[0]>',\n default: '{}',\n },\n }}\n returnType={dataReturnType === 'data' ? `ResponseConfig<${schemas.response.name}>[\"data\"]` : `ResponseConfig<${schemas.response.name}>`}\n JSDoc={{\n comments: getComments(operation),\n }}\n client={{\n // only set baseURL from serverIndex(swagger) when no custom client(default) is used\n baseURL: client.importPath === '@kubb/plugin-client/client' ? baseURL : undefined,\n generics: [schemas.response.name, schemas.request?.name].filter(Boolean),\n dataReturnType,\n withQueryParams: !!schemas.queryParams?.name,\n withData: !!schemas.request?.name,\n withHeaders: !!schemas.headerParams?.name,\n method: operation.method,\n path: new URLPath(operation.path),\n contentType,\n }}\n />\n )\n}\n\ntype FileProps = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n templates?: Templates\n}\n\nClient.File = function ({ baseURL, ...props }: FileProps): KubbNode {\n const templates = { ...defaultTemplates, ...props.templates }\n\n const Template = templates.default\n const RootTemplate = templates.root\n\n return (\n <RootTemplate>\n <Client baseURL={baseURL} Template={Template} />\n </RootTemplate>\n )\n}\n\nClient.templates = defaultTemplates\n","import { URLPath } from '@kubb/core/utils'\nimport { useOperations } from '@kubb/plugin-oas/hooks'\nimport { Const, File, useApp } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { ComponentProps, ComponentType } from 'react'\nimport type { FileMeta, PluginClient } from '../types.ts'\n\ntype TemplateProps = {\n /**\n * Name of the function\n */\n name: string\n operations: Operation[]\n baseURL: string | undefined\n}\n\nfunction Template({ name, operations }: TemplateProps): KubbNode {\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 return (\n <File.Source name={name} isExportable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\n\ntype RootTemplateProps = {\n children?: React.ReactNode\n}\n\nfunction RootTemplate({ children }: RootTemplateProps) {\n const {\n pluginManager,\n plugin: { key: pluginKey },\n } = useApp<PluginClient>()\n const file = pluginManager.getFile({ name: 'operations', extName: '.ts', pluginKey })\n\n return (\n <File<FileMeta> baseName={file.baseName} path={file.path} meta={file.meta}>\n {children}\n </File>\n )\n}\n\nconst defaultTemplates = { default: Template, root: RootTemplate } as const\n\ntype Templates = Partial<typeof defaultTemplates>\n\ntype Props = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n Template?: ComponentType<ComponentProps<typeof Template>>\n}\n\nexport function Operations({ baseURL, Template = defaultTemplates.default }: Props): KubbNode {\n const operations = useOperations()\n\n return <Template baseURL={baseURL} name=\"operations\" operations={operations} />\n}\n\ntype FileProps = {\n baseURL: string | undefined\n /**\n * This will make it possible to override the default behaviour.\n */\n templates?: Templates\n}\n\nOperations.File = function ({ baseURL, ...props }: FileProps): KubbNode {\n const templates = { ...defaultTemplates, ...props.templates }\n\n const Template = templates.default\n const RootTemplate = templates.root\n\n return (\n <RootTemplate>\n <Operations baseURL={baseURL} Template={Template} />\n </RootTemplate>\n )\n}\n\nOperations.templates = defaultTemplates\n"],"mappings":"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","names":["Template","RootTemplate","URLPath","File","useApp","jsx","Template","RootTemplate","defaultTemplates"]}
@@ -1,29 +0,0 @@
1
- import { createReactParser, OperationGenerator as Generator } from '@kubb/plugin-oas'
2
- import { Oas } from '@kubb/plugin-oas/components'
3
- import { App, createRoot } from '@kubb/react'
4
-
5
- import { Client, Operations } from './components/index.ts'
6
-
7
- import type { Operation } from '@kubb/oas'
8
- import type { OperationMethodResult, OperationsByMethod } from '@kubb/plugin-oas'
9
- import type { FileMeta, PluginClient } from './types.ts'
10
-
11
- export const clientParser = createReactParser<PluginClient>({
12
- name: 'plugin-client',
13
- Operations({ options }) {
14
- if (!options.templates.operations) {
15
- return null
16
- }
17
-
18
- return <Operations.File baseURL={options.baseURL} templates={options.templates.operations} />
19
- },
20
- Operation({ options, operation }) {
21
- const isEnabled = options.client.methods.some((method) => operation.method === method)
22
-
23
- if (!options.templates.client || !isEnabled) {
24
- return null
25
- }
26
-
27
- return <Client.File baseURL={options.baseURL} templates={options.templates.client} />
28
- },
29
- })