@kubb/plugin-ts 5.0.0-alpha.20 → 5.0.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Type-Bf8raoQX.cjs +124 -0
- package/dist/Type-Bf8raoQX.cjs.map +1 -0
- package/dist/Type-BpXxT4l_.js +113 -0
- package/dist/Type-BpXxT4l_.js.map +1 -0
- package/dist/builderTs-COUg3xtQ.cjs +135 -0
- package/dist/builderTs-COUg3xtQ.cjs.map +1 -0
- package/dist/builderTs-DPpkJKd1.js +131 -0
- package/dist/builderTs-DPpkJKd1.js.map +1 -0
- package/dist/builders.cjs +3 -0
- package/dist/builders.d.ts +23 -0
- package/dist/builders.js +2 -0
- package/dist/{casing-Cp-jbC_k.js → casing-BJHFg-zZ.js} +1 -1
- package/dist/{casing-Cp-jbC_k.js.map → casing-BJHFg-zZ.js.map} +1 -1
- package/dist/{casing-D2uQKLWS.cjs → casing-DHfdqpLi.cjs} +2 -39
- package/dist/{casing-D2uQKLWS.cjs.map → casing-DHfdqpLi.cjs.map} +1 -1
- package/dist/chunk-ByKO4r7w.cjs +38 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.ts +5 -2
- package/dist/components.js +1 -1
- package/dist/generators-DFDut8o-.js +555 -0
- package/dist/generators-DFDut8o-.js.map +1 -0
- package/dist/{generators-xHWQCNd9.cjs → generators-DKd7MYbx.cjs} +300 -293
- package/dist/generators-DKd7MYbx.cjs.map +1 -0
- package/dist/generators.cjs +2 -1
- package/dist/generators.d.ts +5 -2
- package/dist/generators.js +2 -2
- package/dist/index.cjs +75 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +21 -2
- package/dist/index.js +73 -35
- package/dist/index.js.map +1 -1
- package/dist/{Type-B70QnSzH.cjs → printerTs-BcHudagv.cjs} +41 -135
- package/dist/printerTs-BcHudagv.cjs.map +1 -0
- package/dist/{Type-CMC7L-38.js → printerTs-CMBCOuqd.js} +19 -132
- package/dist/printerTs-CMBCOuqd.js.map +1 -0
- package/dist/printers.cjs +3 -0
- package/dist/printers.d.ts +81 -0
- package/dist/printers.js +2 -0
- package/dist/{resolvers-DsKabI0F.js → resolverTsLegacy-CPiqqsO6.js} +10 -9
- package/dist/resolverTsLegacy-CPiqqsO6.js.map +1 -0
- package/dist/{resolvers-YIpeP5YD.cjs → resolverTsLegacy-CuR9XbKk.cjs} +11 -9
- package/dist/resolverTsLegacy-CuR9XbKk.cjs.map +1 -0
- package/dist/resolvers.cjs +3 -3
- package/dist/resolvers.d.ts +1 -1
- package/dist/resolvers.js +1 -1
- package/dist/{types-zqLMbIqZ.d.ts → types-CRtcZOCz.d.ts} +59 -25
- package/package.json +17 -5
- package/src/builders/builderTs.ts +107 -0
- package/src/builders/index.ts +1 -0
- package/src/components/Enum.tsx +15 -11
- package/src/components/Type.tsx +20 -9
- package/src/factory.ts +0 -32
- package/src/generators/index.ts +1 -0
- package/src/generators/typeGenerator.tsx +53 -141
- package/src/generators/typeGeneratorLegacy.tsx +348 -0
- package/src/index.ts +1 -1
- package/src/plugin.ts +36 -44
- package/src/presets.ts +27 -7
- package/src/printers/index.ts +1 -0
- package/src/{printer.ts → printers/printerTs.ts} +31 -19
- package/src/resolvers/resolverTs.ts +9 -6
- package/src/resolvers/resolverTsLegacy.ts +1 -1
- package/src/types.ts +72 -24
- package/dist/Type-B70QnSzH.cjs.map +0 -1
- package/dist/Type-CMC7L-38.js.map +0 -1
- package/dist/generators-BFkr7ecU.js +0 -556
- package/dist/generators-BFkr7ecU.js.map +0 -1
- package/dist/generators-xHWQCNd9.cjs.map +0 -1
- package/dist/resolvers-DsKabI0F.js.map +0 -1
- package/dist/resolvers-YIpeP5YD.cjs.map +0 -1
- package/src/generators/utils.ts +0 -308
|
@@ -1,145 +1,210 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
1
|
+
const require_chunk = require("./chunk-ByKO4r7w.cjs");
|
|
2
|
+
const require_builderTs = require("./builderTs-COUg3xtQ.cjs");
|
|
3
|
+
const require_casing = require("./casing-DHfdqpLi.cjs");
|
|
4
|
+
const require_printerTs = require("./printerTs-BcHudagv.cjs");
|
|
5
|
+
const require_Type = require("./Type-Bf8raoQX.cjs");
|
|
6
|
+
const require_resolverTsLegacy = require("./resolverTsLegacy-CuR9XbKk.cjs");
|
|
7
|
+
let node_path = require("node:path");
|
|
8
|
+
node_path = require_chunk.__toESM(node_path);
|
|
3
9
|
let _kubb_ast = require("@kubb/ast");
|
|
4
10
|
let _kubb_core = require("@kubb/core");
|
|
5
|
-
let _kubb_core_hooks = require("@kubb/core/hooks");
|
|
6
11
|
let _kubb_react_fabric = require("@kubb/react-fabric");
|
|
7
12
|
let _kubb_react_fabric_jsx_runtime = require("@kubb/react-fabric/jsx-runtime");
|
|
8
|
-
//#region src/generators/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
13
|
+
//#region src/generators/typeGenerator.tsx
|
|
14
|
+
const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
15
|
+
name: "typescript",
|
|
16
|
+
type: "react",
|
|
17
|
+
Operation({ node, adapter, options, config }) {
|
|
18
|
+
const { enumType, enumTypeSuffix, enumKeyCasing, optionalType, arrayType, syntaxType, paramsCasing, group, output, resolver, transformers = [] } = options;
|
|
19
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
20
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
21
|
+
const file = resolver.resolveFile({
|
|
22
|
+
name: node.operationId,
|
|
23
|
+
extname: ".ts",
|
|
24
|
+
tag: node.tags[0] ?? "default",
|
|
25
|
+
path: node.path
|
|
26
|
+
}, {
|
|
27
|
+
root,
|
|
28
|
+
output,
|
|
29
|
+
group
|
|
30
|
+
});
|
|
31
|
+
const params = (0, _kubb_ast.caseParams)(node.parameters, paramsCasing);
|
|
32
|
+
function renderSchemaType({ node: schemaNode, name, typedName, description, keysToOmit }) {
|
|
33
|
+
if (!schemaNode) return null;
|
|
34
|
+
const transformedNode = (0, _kubb_ast.transform)(schemaNode, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
35
|
+
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
36
|
+
name: resolver.default(schemaName, "type"),
|
|
37
|
+
path: resolver.resolveFile({
|
|
38
|
+
name: schemaName,
|
|
39
|
+
extname: ".ts"
|
|
40
|
+
}, {
|
|
41
|
+
root,
|
|
42
|
+
output,
|
|
43
|
+
group
|
|
44
|
+
}).path
|
|
45
|
+
}));
|
|
46
|
+
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric_jsx_runtime.Fragment, { children: [mode === "split" && imports.map((imp) => /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
|
|
47
|
+
root: file.path,
|
|
48
|
+
path: imp.path,
|
|
49
|
+
name: imp.name,
|
|
50
|
+
isTypeOnly: true
|
|
51
|
+
}, [
|
|
52
|
+
name,
|
|
53
|
+
imp.path,
|
|
54
|
+
imp.isTypeOnly
|
|
55
|
+
].join("-"))), /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(require_Type.Type, {
|
|
56
|
+
name,
|
|
57
|
+
typedName,
|
|
58
|
+
node: transformedNode,
|
|
59
|
+
description,
|
|
60
|
+
enumType,
|
|
61
|
+
enumTypeSuffix,
|
|
62
|
+
enumKeyCasing,
|
|
63
|
+
optionalType,
|
|
64
|
+
arrayType,
|
|
65
|
+
syntaxType,
|
|
66
|
+
resolver,
|
|
67
|
+
keysToOmit
|
|
68
|
+
})] });
|
|
69
|
+
}
|
|
70
|
+
const paramTypes = params.map((param) => renderSchemaType({
|
|
71
|
+
node: param.schema,
|
|
72
|
+
name: resolver.resolveParamName(node, param),
|
|
73
|
+
typedName: resolver.resolveParamTypedName(node, param)
|
|
74
|
+
}));
|
|
75
|
+
const requestType = node.requestBody?.schema ? renderSchemaType({
|
|
76
|
+
node: node.requestBody.schema,
|
|
77
|
+
name: resolver.resolveDataName(node),
|
|
78
|
+
typedName: resolver.resolveDataTypedName(node),
|
|
79
|
+
description: node.requestBody.description ?? node.requestBody.schema.description,
|
|
80
|
+
keysToOmit: node.requestBody.keysToOmit
|
|
81
|
+
}) : null;
|
|
82
|
+
const responseTypes = node.responses.map((res) => renderSchemaType({
|
|
83
|
+
node: res.schema,
|
|
84
|
+
name: resolver.resolveResponseStatusName(node, res.statusCode),
|
|
85
|
+
typedName: resolver.resolveResponseStatusTypedName(node, res.statusCode),
|
|
86
|
+
description: res.description,
|
|
87
|
+
keysToOmit: res.keysToOmit
|
|
88
|
+
}));
|
|
89
|
+
const dataType = renderSchemaType({
|
|
90
|
+
node: require_builderTs.builderTs.buildData({
|
|
91
|
+
node: {
|
|
92
|
+
...node,
|
|
93
|
+
parameters: params
|
|
94
|
+
},
|
|
95
|
+
resolver
|
|
54
96
|
}),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}) : (0, _kubb_ast.createSchema)({ type: "never" })
|
|
97
|
+
name: resolver.resolveRequestConfigName(node),
|
|
98
|
+
typedName: resolver.resolveRequestConfigTypedName(node)
|
|
99
|
+
});
|
|
100
|
+
const responsesType = renderSchemaType({
|
|
101
|
+
node: require_builderTs.builderTs.buildResponses({
|
|
102
|
+
node,
|
|
103
|
+
resolver
|
|
63
104
|
}),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}),
|
|
72
|
-
optional: true
|
|
73
|
-
}) : (0, _kubb_ast.createSchema)({
|
|
74
|
-
type: "never",
|
|
75
|
-
optional: true
|
|
76
|
-
})
|
|
105
|
+
name: resolver.resolveResponsesName(node),
|
|
106
|
+
typedName: resolver.resolveResponsesTypedName(node)
|
|
107
|
+
});
|
|
108
|
+
const responseType = renderSchemaType({
|
|
109
|
+
node: require_builderTs.builderTs.buildResponseUnion({
|
|
110
|
+
node,
|
|
111
|
+
resolver
|
|
77
112
|
}),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
optional: true
|
|
90
|
-
})
|
|
113
|
+
name: resolver.resolveResponseName(node),
|
|
114
|
+
typedName: resolver.resolveResponseTypedName(node),
|
|
115
|
+
description: "Union of all possible responses"
|
|
116
|
+
});
|
|
117
|
+
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
118
|
+
baseName: file.baseName,
|
|
119
|
+
path: file.path,
|
|
120
|
+
meta: file.meta,
|
|
121
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
122
|
+
output,
|
|
123
|
+
config
|
|
91
124
|
}),
|
|
92
|
-
(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
name:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
125
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
126
|
+
output,
|
|
127
|
+
config
|
|
128
|
+
}),
|
|
129
|
+
children: [
|
|
130
|
+
paramTypes,
|
|
131
|
+
responseTypes,
|
|
132
|
+
requestType,
|
|
133
|
+
dataType,
|
|
134
|
+
responsesType,
|
|
135
|
+
responseType
|
|
136
|
+
]
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
Schema({ node, adapter, options, config }) {
|
|
140
|
+
const { enumType, enumTypeSuffix, enumKeyCasing, syntaxType, optionalType, arrayType, output, group, resolver, transformers = [] } = options;
|
|
141
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
142
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
143
|
+
if (!node.name) return;
|
|
144
|
+
const transformedNode = (0, _kubb_ast.transform)(node, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
145
|
+
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
146
|
+
name: resolver.default(schemaName, "type"),
|
|
147
|
+
path: resolver.resolveFile({
|
|
148
|
+
name: schemaName,
|
|
149
|
+
extname: ".ts"
|
|
150
|
+
}, {
|
|
151
|
+
root,
|
|
152
|
+
output,
|
|
153
|
+
group
|
|
154
|
+
}).path
|
|
155
|
+
}));
|
|
156
|
+
const isEnumSchema = !!(0, _kubb_ast.narrowSchema)(node, _kubb_ast.schemaTypes.enum);
|
|
157
|
+
const typedName = require_printerTs.ENUM_TYPES_WITH_KEY_SUFFIX.has(enumType) && isEnumSchema ? resolver.resolveEnumKeyTypedName(node, enumTypeSuffix) : resolver.resolveTypedName(node.name);
|
|
158
|
+
const type = {
|
|
159
|
+
name: resolver.resolveName(node.name),
|
|
160
|
+
typedName,
|
|
161
|
+
file: resolver.resolveFile({
|
|
162
|
+
name: node.name,
|
|
163
|
+
extname: ".ts"
|
|
164
|
+
}, {
|
|
165
|
+
root,
|
|
166
|
+
output,
|
|
167
|
+
group
|
|
118
168
|
})
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
169
|
+
};
|
|
170
|
+
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
171
|
+
baseName: type.file.baseName,
|
|
172
|
+
path: type.file.path,
|
|
173
|
+
meta: type.file.meta,
|
|
174
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
175
|
+
output,
|
|
176
|
+
config
|
|
177
|
+
}),
|
|
178
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
179
|
+
output,
|
|
180
|
+
config
|
|
181
|
+
}),
|
|
182
|
+
children: [mode === "split" && imports.map((imp) => /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
|
|
183
|
+
root: type.file.path,
|
|
184
|
+
path: imp.path,
|
|
185
|
+
name: imp.name,
|
|
186
|
+
isTypeOnly: true
|
|
187
|
+
}, [
|
|
188
|
+
node.name,
|
|
189
|
+
imp.path,
|
|
190
|
+
imp.isTypeOnly
|
|
191
|
+
].join("-"))), /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(require_Type.Type, {
|
|
192
|
+
name: type.name,
|
|
193
|
+
typedName: type.typedName,
|
|
194
|
+
node: transformedNode,
|
|
195
|
+
enumType,
|
|
196
|
+
enumTypeSuffix,
|
|
197
|
+
enumKeyCasing,
|
|
198
|
+
optionalType,
|
|
199
|
+
arrayType,
|
|
200
|
+
syntaxType,
|
|
201
|
+
resolver
|
|
202
|
+
})]
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region src/generators/typeGeneratorLegacy.tsx
|
|
143
208
|
function buildGroupedParamsSchema({ params, parentName }) {
|
|
144
209
|
return (0, _kubb_ast.createSchema)({
|
|
145
210
|
type: "object",
|
|
@@ -161,13 +226,6 @@ function buildGroupedParamsSchema({ params, parentName }) {
|
|
|
161
226
|
})
|
|
162
227
|
});
|
|
163
228
|
}
|
|
164
|
-
/**
|
|
165
|
-
* Builds the legacy wrapper `ObjectSchemaNode` for `<OperationId>Mutation` / `<OperationId>Query`.
|
|
166
|
-
* Structure: `{ Response, Request?, QueryParams?, PathParams?, HeaderParams?, Errors }`.
|
|
167
|
-
* Mirrors the v4 naming convention where this type acts as a namespace for the operation's shapes.
|
|
168
|
-
*
|
|
169
|
-
* @deprecated Legacy only — will be removed in v6.
|
|
170
|
-
*/
|
|
171
229
|
function buildLegacyResponsesSchemaNode({ node, resolver }) {
|
|
172
230
|
const isGet = node.method.toLowerCase() === "get";
|
|
173
231
|
const successResponses = node.responses.filter((res) => {
|
|
@@ -242,12 +300,6 @@ function buildLegacyResponsesSchemaNode({ node, resolver }) {
|
|
|
242
300
|
properties
|
|
243
301
|
});
|
|
244
302
|
}
|
|
245
|
-
/**
|
|
246
|
-
* Builds the legacy response union for `<OperationId>MutationResponse` / `<OperationId>QueryResponse`.
|
|
247
|
-
* In legacy mode this is the **success** response only (not the full union including errors).
|
|
248
|
-
* Returns an `any` schema when there is no success response, matching v4 behavior.
|
|
249
|
-
* @deprecated Legacy only — will be removed in v6.
|
|
250
|
-
*/
|
|
251
303
|
function buildLegacyResponseUnionSchemaNode({ node, resolver }) {
|
|
252
304
|
const successResponses = node.responses.filter((res) => {
|
|
253
305
|
const code = Number(res.statusCode);
|
|
@@ -266,13 +318,6 @@ function buildLegacyResponseUnionSchemaNode({ node, resolver }) {
|
|
|
266
318
|
}))
|
|
267
319
|
});
|
|
268
320
|
}
|
|
269
|
-
/**
|
|
270
|
-
* Names unnamed enum nodes within a schema tree based on the parent type name.
|
|
271
|
-
* Used in legacy mode to ensure inline enums in response/request schemas get
|
|
272
|
-
* extracted as named enum declarations (e.g. `DeletePet200Enum`).
|
|
273
|
-
*
|
|
274
|
-
* @deprecated Legacy only — will be removed in v6.
|
|
275
|
-
*/
|
|
276
321
|
function nameUnnamedEnums(node, parentName) {
|
|
277
322
|
return (0, _kubb_ast.transform)(node, {
|
|
278
323
|
schema(n) {
|
|
@@ -298,20 +343,22 @@ function nameUnnamedEnums(node, parentName) {
|
|
|
298
343
|
}
|
|
299
344
|
});
|
|
300
345
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
304
|
-
name: "typescript",
|
|
346
|
+
const typeGeneratorLegacy = (0, _kubb_core.defineGenerator)({
|
|
347
|
+
name: "typescript-legacy",
|
|
305
348
|
type: "react",
|
|
306
|
-
Operation({ node, adapter, options }) {
|
|
307
|
-
const { enumType, enumKeyCasing, optionalType, arrayType, syntaxType, paramsCasing, group,
|
|
308
|
-
const
|
|
309
|
-
const
|
|
310
|
-
const file =
|
|
349
|
+
Operation({ node, adapter, options, config }) {
|
|
350
|
+
const { enumType, enumTypeSuffix, enumKeyCasing, optionalType, arrayType, syntaxType, paramsCasing, group, output, resolver, transformers = [] } = options;
|
|
351
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
352
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
353
|
+
const file = resolver.resolveFile({
|
|
311
354
|
name: node.operationId,
|
|
312
355
|
extname: ".ts",
|
|
313
|
-
|
|
314
|
-
|
|
356
|
+
tag: node.tags[0] ?? "default",
|
|
357
|
+
path: node.path
|
|
358
|
+
}, {
|
|
359
|
+
root,
|
|
360
|
+
output,
|
|
361
|
+
group
|
|
315
362
|
});
|
|
316
363
|
const params = (0, _kubb_ast.caseParams)(node.parameters, paramsCasing);
|
|
317
364
|
function renderSchemaType({ node: schemaNode, name, typedName, description, keysToOmit }) {
|
|
@@ -319,10 +366,13 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
319
366
|
const transformedNode = (0, _kubb_ast.transform)(schemaNode, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
320
367
|
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
321
368
|
name: resolver.default(schemaName, "type"),
|
|
322
|
-
path:
|
|
369
|
+
path: resolver.resolveFile({
|
|
323
370
|
name: schemaName,
|
|
324
|
-
extname: ".ts"
|
|
325
|
-
|
|
371
|
+
extname: ".ts"
|
|
372
|
+
}, {
|
|
373
|
+
root,
|
|
374
|
+
output,
|
|
375
|
+
group
|
|
326
376
|
}).path
|
|
327
377
|
}));
|
|
328
378
|
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric_jsx_runtime.Fragment, { children: [mode === "split" && imports.map((imp) => /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
|
|
@@ -340,18 +390,21 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
340
390
|
node: transformedNode,
|
|
341
391
|
description,
|
|
342
392
|
enumType,
|
|
393
|
+
enumTypeSuffix,
|
|
343
394
|
enumKeyCasing,
|
|
344
395
|
optionalType,
|
|
345
396
|
arrayType,
|
|
346
397
|
syntaxType,
|
|
347
398
|
resolver,
|
|
348
|
-
keysToOmit
|
|
349
|
-
legacy: isKubbV4Compatibility
|
|
399
|
+
keysToOmit
|
|
350
400
|
})] });
|
|
351
401
|
}
|
|
352
|
-
const
|
|
402
|
+
const pathParams = params.filter((p) => p.in === "path");
|
|
403
|
+
const queryParams = params.filter((p) => p.in === "query");
|
|
404
|
+
const headerParams = params.filter((p) => p.in === "header");
|
|
405
|
+
const responseTypes = node.responses.map((res) => {
|
|
353
406
|
const responseName = resolver.resolveResponseStatusName(node, res.statusCode);
|
|
354
|
-
const baseResponseName =
|
|
407
|
+
const baseResponseName = require_resolverTsLegacy.resolverTsLegacy.resolveResponseStatusName(node, res.statusCode);
|
|
355
408
|
return renderSchemaType({
|
|
356
409
|
node: res.schema ? nameUnnamedEnums(res.schema, baseResponseName) : res.schema,
|
|
357
410
|
name: responseName,
|
|
@@ -359,172 +412,120 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
359
412
|
description: res.description,
|
|
360
413
|
keysToOmit: res.keysToOmit
|
|
361
414
|
});
|
|
362
|
-
})
|
|
363
|
-
node: res.schema,
|
|
364
|
-
name: resolver.resolveResponseStatusName(node, res.statusCode),
|
|
365
|
-
typedName: resolver.resolveResponseStatusTypedName(node, res.statusCode),
|
|
366
|
-
description: res.description,
|
|
367
|
-
keysToOmit: res.keysToOmit
|
|
368
|
-
}));
|
|
415
|
+
});
|
|
369
416
|
const requestType = node.requestBody?.schema ? renderSchemaType({
|
|
370
|
-
node:
|
|
417
|
+
node: nameUnnamedEnums(node.requestBody.schema, require_resolverTsLegacy.resolverTsLegacy.resolveDataName(node)),
|
|
371
418
|
name: resolver.resolveDataName(node),
|
|
372
419
|
typedName: resolver.resolveDataTypedName(node),
|
|
373
420
|
description: node.requestBody.description ?? node.requestBody.schema.description,
|
|
374
421
|
keysToOmit: node.requestBody.keysToOmit
|
|
375
422
|
}) : null;
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
pathParams.length > 0 ? renderSchemaType({
|
|
382
|
-
node: buildGroupedParamsSchema({
|
|
383
|
-
params: pathParams,
|
|
384
|
-
parentName: baseResolver.resolvePathParamsName(node)
|
|
385
|
-
}),
|
|
386
|
-
name: resolver.resolvePathParamsName(node),
|
|
387
|
-
typedName: resolver.resolvePathParamsTypedName(node)
|
|
388
|
-
}) : null,
|
|
389
|
-
queryParams.length > 0 ? renderSchemaType({
|
|
390
|
-
node: buildGroupedParamsSchema({
|
|
391
|
-
params: queryParams,
|
|
392
|
-
parentName: baseResolver.resolveQueryParamsName(node)
|
|
393
|
-
}),
|
|
394
|
-
name: resolver.resolveQueryParamsName(node),
|
|
395
|
-
typedName: resolver.resolveQueryParamsTypedName(node)
|
|
396
|
-
}) : null,
|
|
397
|
-
headerParams.length > 0 ? renderSchemaType({
|
|
398
|
-
node: buildGroupedParamsSchema({
|
|
399
|
-
params: headerParams,
|
|
400
|
-
parentName: baseResolver.resolveHeaderParamsName(node)
|
|
401
|
-
}),
|
|
402
|
-
name: resolver.resolveHeaderParamsName(node),
|
|
403
|
-
typedName: resolver.resolveHeaderParamsTypedName(node)
|
|
404
|
-
}) : null
|
|
405
|
-
];
|
|
406
|
-
const legacyResponsesType = renderSchemaType({
|
|
407
|
-
node: buildLegacyResponsesSchemaNode({
|
|
408
|
-
node,
|
|
409
|
-
resolver
|
|
423
|
+
const legacyParamTypes = [
|
|
424
|
+
pathParams.length > 0 ? renderSchemaType({
|
|
425
|
+
node: buildGroupedParamsSchema({
|
|
426
|
+
params: pathParams,
|
|
427
|
+
parentName: require_resolverTsLegacy.resolverTsLegacy.resolvePathParamsName(node)
|
|
410
428
|
}),
|
|
411
|
-
name: resolver.
|
|
412
|
-
typedName: resolver.
|
|
413
|
-
})
|
|
414
|
-
|
|
415
|
-
node:
|
|
416
|
-
|
|
417
|
-
|
|
429
|
+
name: resolver.resolvePathParamsName(node),
|
|
430
|
+
typedName: resolver.resolvePathParamsTypedName(node)
|
|
431
|
+
}) : null,
|
|
432
|
+
queryParams.length > 0 ? renderSchemaType({
|
|
433
|
+
node: buildGroupedParamsSchema({
|
|
434
|
+
params: queryParams,
|
|
435
|
+
parentName: require_resolverTsLegacy.resolverTsLegacy.resolveQueryParamsName(node)
|
|
418
436
|
}),
|
|
419
|
-
name: resolver.
|
|
420
|
-
typedName: resolver.
|
|
421
|
-
})
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
legacyResponsesType
|
|
434
|
-
]
|
|
435
|
-
});
|
|
436
|
-
}
|
|
437
|
-
const paramTypes = params.map((param) => renderSchemaType({
|
|
438
|
-
node: param.schema,
|
|
439
|
-
name: resolver.resolveParamName(node, param),
|
|
440
|
-
typedName: resolver.resolveParamTypedName(node, param)
|
|
441
|
-
}));
|
|
442
|
-
const queryParamsList = params.filter((p) => p.in === "query");
|
|
443
|
-
const queryParamsType = queryParamsList.length > 0 ? renderSchemaType({
|
|
444
|
-
node: buildParamsSchema({
|
|
445
|
-
params: queryParamsList,
|
|
446
|
-
node,
|
|
447
|
-
resolver
|
|
448
|
-
}),
|
|
449
|
-
name: resolver.resolveQueryParamsName(node),
|
|
450
|
-
typedName: resolver.resolveQueryParamsTypedName(node)
|
|
451
|
-
}) : null;
|
|
452
|
-
const dataType = renderSchemaType({
|
|
453
|
-
node: buildDataSchemaNode({
|
|
454
|
-
node: {
|
|
455
|
-
...node,
|
|
456
|
-
parameters: params
|
|
457
|
-
},
|
|
458
|
-
resolver
|
|
459
|
-
}),
|
|
460
|
-
name: resolver.resolveRequestConfigName(node),
|
|
461
|
-
typedName: resolver.resolveRequestConfigTypedName(node)
|
|
462
|
-
});
|
|
463
|
-
const responsesType = renderSchemaType({
|
|
464
|
-
node: buildResponsesSchemaNode({
|
|
437
|
+
name: resolver.resolveQueryParamsName(node),
|
|
438
|
+
typedName: resolver.resolveQueryParamsTypedName(node)
|
|
439
|
+
}) : null,
|
|
440
|
+
headerParams.length > 0 ? renderSchemaType({
|
|
441
|
+
node: buildGroupedParamsSchema({
|
|
442
|
+
params: headerParams,
|
|
443
|
+
parentName: require_resolverTsLegacy.resolverTsLegacy.resolveHeaderParamsName(node)
|
|
444
|
+
}),
|
|
445
|
+
name: resolver.resolveHeaderParamsName(node),
|
|
446
|
+
typedName: resolver.resolveHeaderParamsTypedName(node)
|
|
447
|
+
}) : null
|
|
448
|
+
];
|
|
449
|
+
const legacyResponsesType = renderSchemaType({
|
|
450
|
+
node: buildLegacyResponsesSchemaNode({
|
|
465
451
|
node,
|
|
466
452
|
resolver
|
|
467
453
|
}),
|
|
468
454
|
name: resolver.resolveResponsesName(node),
|
|
469
455
|
typedName: resolver.resolveResponsesTypedName(node)
|
|
470
456
|
});
|
|
471
|
-
const
|
|
472
|
-
node:
|
|
457
|
+
const legacyResponseType = renderSchemaType({
|
|
458
|
+
node: buildLegacyResponseUnionSchemaNode({
|
|
473
459
|
node,
|
|
474
460
|
resolver
|
|
475
461
|
}),
|
|
476
462
|
name: resolver.resolveResponseName(node),
|
|
477
|
-
typedName: resolver.resolveResponseTypedName(node)
|
|
478
|
-
description: "Union of all possible responses"
|
|
463
|
+
typedName: resolver.resolveResponseTypedName(node)
|
|
479
464
|
});
|
|
480
465
|
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
481
466
|
baseName: file.baseName,
|
|
482
467
|
path: file.path,
|
|
483
468
|
meta: file.meta,
|
|
484
|
-
banner: resolveBanner(
|
|
485
|
-
|
|
469
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
470
|
+
output,
|
|
471
|
+
config
|
|
472
|
+
}),
|
|
473
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
474
|
+
output,
|
|
475
|
+
config
|
|
476
|
+
}),
|
|
486
477
|
children: [
|
|
487
|
-
|
|
488
|
-
queryParamsType,
|
|
478
|
+
legacyParamTypes,
|
|
489
479
|
responseTypes,
|
|
490
480
|
requestType,
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
responseType
|
|
481
|
+
legacyResponseType,
|
|
482
|
+
legacyResponsesType
|
|
494
483
|
]
|
|
495
484
|
});
|
|
496
485
|
},
|
|
497
|
-
Schema({ node, adapter, options }) {
|
|
498
|
-
const { enumType, enumKeyCasing, syntaxType, optionalType, arrayType,
|
|
499
|
-
const
|
|
500
|
-
const
|
|
486
|
+
Schema({ node, adapter, options, config }) {
|
|
487
|
+
const { enumType, enumTypeSuffix, enumKeyCasing, syntaxType, optionalType, arrayType, output, group, resolver, transformers = [] } = options;
|
|
488
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
489
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
501
490
|
if (!node.name) return;
|
|
502
491
|
const transformedNode = (0, _kubb_ast.transform)(node, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
503
492
|
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
504
493
|
name: resolver.default(schemaName, "type"),
|
|
505
|
-
path:
|
|
494
|
+
path: resolver.resolveFile({
|
|
506
495
|
name: schemaName,
|
|
507
|
-
extname: ".ts"
|
|
508
|
-
|
|
496
|
+
extname: ".ts"
|
|
497
|
+
}, {
|
|
498
|
+
root,
|
|
499
|
+
output,
|
|
500
|
+
group
|
|
509
501
|
}).path
|
|
510
502
|
}));
|
|
511
503
|
const isEnumSchema = !!(0, _kubb_ast.narrowSchema)(node, _kubb_ast.schemaTypes.enum);
|
|
512
|
-
const typedName =
|
|
504
|
+
const typedName = require_printerTs.ENUM_TYPES_WITH_KEY_SUFFIX.has(enumType) && isEnumSchema ? resolver.resolveEnumKeyTypedName(node, enumTypeSuffix) : resolver.resolveTypedName(node.name);
|
|
513
505
|
const type = {
|
|
514
506
|
name: resolver.resolveName(node.name),
|
|
515
507
|
typedName,
|
|
516
|
-
file:
|
|
508
|
+
file: resolver.resolveFile({
|
|
517
509
|
name: node.name,
|
|
518
|
-
extname: ".ts"
|
|
519
|
-
|
|
510
|
+
extname: ".ts"
|
|
511
|
+
}, {
|
|
512
|
+
root,
|
|
513
|
+
output,
|
|
514
|
+
group
|
|
520
515
|
})
|
|
521
516
|
};
|
|
522
517
|
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
523
518
|
baseName: type.file.baseName,
|
|
524
519
|
path: type.file.path,
|
|
525
520
|
meta: type.file.meta,
|
|
526
|
-
banner: resolveBanner(
|
|
527
|
-
|
|
521
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
522
|
+
output,
|
|
523
|
+
config
|
|
524
|
+
}),
|
|
525
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
526
|
+
output,
|
|
527
|
+
config
|
|
528
|
+
}),
|
|
528
529
|
children: [mode === "split" && imports.map((imp) => /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
|
|
529
530
|
root: type.file.path,
|
|
530
531
|
path: imp.path,
|
|
@@ -539,12 +540,12 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
539
540
|
typedName: type.typedName,
|
|
540
541
|
node: transformedNode,
|
|
541
542
|
enumType,
|
|
543
|
+
enumTypeSuffix,
|
|
542
544
|
enumKeyCasing,
|
|
543
545
|
optionalType,
|
|
544
546
|
arrayType,
|
|
545
547
|
syntaxType,
|
|
546
|
-
resolver
|
|
547
|
-
legacy: isKubbV4Compatibility
|
|
548
|
+
resolver
|
|
548
549
|
})]
|
|
549
550
|
});
|
|
550
551
|
}
|
|
@@ -556,5 +557,11 @@ Object.defineProperty(exports, "typeGenerator", {
|
|
|
556
557
|
return typeGenerator;
|
|
557
558
|
}
|
|
558
559
|
});
|
|
560
|
+
Object.defineProperty(exports, "typeGeneratorLegacy", {
|
|
561
|
+
enumerable: true,
|
|
562
|
+
get: function() {
|
|
563
|
+
return typeGeneratorLegacy;
|
|
564
|
+
}
|
|
565
|
+
});
|
|
559
566
|
|
|
560
|
-
//# sourceMappingURL=generators-
|
|
567
|
+
//# sourceMappingURL=generators-DKd7MYbx.cjs.map
|