@kubb/plugin-ts 5.0.0-alpha.20 → 5.0.0-alpha.21
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-B6fo0gSk.js +120 -0
- package/dist/Type-B6fo0gSk.js.map +1 -0
- package/dist/Type-oFwUfkZv.cjs +131 -0
- package/dist/Type-oFwUfkZv.cjs.map +1 -0
- package/dist/builderTs-Cd3juc2G.cjs +120 -0
- package/dist/builderTs-Cd3juc2G.cjs.map +1 -0
- package/dist/builderTs-DausqHpc.js +116 -0
- package/dist/builderTs-DausqHpc.js.map +1 -0
- package/dist/builders.cjs +3 -0
- package/dist/builders.d.ts +8 -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 +1 -2
- package/dist/components.js +1 -1
- package/dist/generators-ByK18qUn.js +551 -0
- package/dist/generators-ByK18qUn.js.map +1 -0
- package/dist/{generators-xHWQCNd9.cjs → generators-aSsiTfUO.cjs} +296 -293
- package/dist/generators-aSsiTfUO.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 +38 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +36 -35
- package/dist/index.js.map +1 -1
- package/dist/{Type-CMC7L-38.js → printerTs-BgZucv4T.js} +18 -130
- package/dist/printerTs-BgZucv4T.js.map +1 -0
- package/dist/{Type-B70QnSzH.cjs → printerTs-CFXc_LpP.cjs} +40 -133
- package/dist/printerTs-CFXc_LpP.cjs.map +1 -0
- package/dist/printers.cjs +3 -0
- package/dist/printers.d.ts +75 -0
- package/dist/printers.js +2 -0
- package/dist/{resolvers-DsKabI0F.js → resolverTsLegacy-DLl854-P.js} +8 -7
- package/dist/resolverTsLegacy-DLl854-P.js.map +1 -0
- package/dist/{resolvers-YIpeP5YD.cjs → resolverTsLegacy-sJ16Iqrl.cjs} +9 -7
- package/dist/resolverTsLegacy-sJ16Iqrl.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-BcyuFDn9.d.ts} +26 -22
- package/package.json +17 -5
- package/src/builders/builderTs.ts +92 -0
- package/src/builders/index.ts +1 -0
- package/src/components/Type.tsx +4 -6
- package/src/factory.ts +0 -32
- package/src/generators/index.ts +1 -0
- package/src/generators/typeGenerator.tsx +49 -140
- package/src/generators/typeGeneratorLegacy.tsx +345 -0
- package/src/index.ts +1 -1
- package/src/plugin.ts +15 -44
- package/src/presets.ts +10 -7
- package/src/printers/index.ts +1 -0
- package/src/{printer.ts → printers/printerTs.ts} +20 -16
- package/src/resolvers/resolverTs.ts +7 -4
- package/src/resolvers/resolverTsLegacy.ts +1 -1
- package/src/types.ts +39 -21
- 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,208 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
1
|
+
const require_chunk = require("./chunk-ByKO4r7w.cjs");
|
|
2
|
+
const require_builderTs = require("./builderTs-Cd3juc2G.cjs");
|
|
3
|
+
const require_casing = require("./casing-DHfdqpLi.cjs");
|
|
4
|
+
const require_printerTs = require("./printerTs-CFXc_LpP.cjs");
|
|
5
|
+
const require_Type = require("./Type-oFwUfkZv.cjs");
|
|
6
|
+
const require_resolverTsLegacy = require("./resolverTsLegacy-sJ16Iqrl.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, 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
|
+
enumKeyCasing,
|
|
62
|
+
optionalType,
|
|
63
|
+
arrayType,
|
|
64
|
+
syntaxType,
|
|
65
|
+
resolver,
|
|
66
|
+
keysToOmit
|
|
67
|
+
})] });
|
|
68
|
+
}
|
|
69
|
+
const paramTypes = params.map((param) => renderSchemaType({
|
|
70
|
+
node: param.schema,
|
|
71
|
+
name: resolver.resolveParamName(node, param),
|
|
72
|
+
typedName: resolver.resolveParamTypedName(node, param)
|
|
73
|
+
}));
|
|
74
|
+
const requestType = node.requestBody?.schema ? renderSchemaType({
|
|
75
|
+
node: node.requestBody.schema,
|
|
76
|
+
name: resolver.resolveDataName(node),
|
|
77
|
+
typedName: resolver.resolveDataTypedName(node),
|
|
78
|
+
description: node.requestBody.description ?? node.requestBody.schema.description,
|
|
79
|
+
keysToOmit: node.requestBody.keysToOmit
|
|
80
|
+
}) : null;
|
|
81
|
+
const responseTypes = node.responses.map((res) => renderSchemaType({
|
|
82
|
+
node: res.schema,
|
|
83
|
+
name: resolver.resolveResponseStatusName(node, res.statusCode),
|
|
84
|
+
typedName: resolver.resolveResponseStatusTypedName(node, res.statusCode),
|
|
85
|
+
description: res.description,
|
|
86
|
+
keysToOmit: res.keysToOmit
|
|
87
|
+
}));
|
|
88
|
+
const dataType = renderSchemaType({
|
|
89
|
+
node: require_builderTs.builderTs.buildData({
|
|
90
|
+
node: {
|
|
91
|
+
...node,
|
|
92
|
+
parameters: params
|
|
93
|
+
},
|
|
94
|
+
resolver
|
|
54
95
|
}),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}) : (0, _kubb_ast.createSchema)({ type: "never" })
|
|
96
|
+
name: resolver.resolveRequestConfigName(node),
|
|
97
|
+
typedName: resolver.resolveRequestConfigTypedName(node)
|
|
98
|
+
});
|
|
99
|
+
const responsesType = renderSchemaType({
|
|
100
|
+
node: require_builderTs.builderTs.buildResponses({
|
|
101
|
+
node,
|
|
102
|
+
resolver
|
|
63
103
|
}),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}),
|
|
72
|
-
optional: true
|
|
73
|
-
}) : (0, _kubb_ast.createSchema)({
|
|
74
|
-
type: "never",
|
|
75
|
-
optional: true
|
|
76
|
-
})
|
|
104
|
+
name: resolver.resolveResponsesName(node),
|
|
105
|
+
typedName: resolver.resolveResponsesTypedName(node)
|
|
106
|
+
});
|
|
107
|
+
const responseType = renderSchemaType({
|
|
108
|
+
node: require_builderTs.builderTs.buildResponseUnion({
|
|
109
|
+
node,
|
|
110
|
+
resolver
|
|
77
111
|
}),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
optional: true
|
|
90
|
-
})
|
|
112
|
+
name: resolver.resolveResponseName(node),
|
|
113
|
+
typedName: resolver.resolveResponseTypedName(node),
|
|
114
|
+
description: "Union of all possible responses"
|
|
115
|
+
});
|
|
116
|
+
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
117
|
+
baseName: file.baseName,
|
|
118
|
+
path: file.path,
|
|
119
|
+
meta: file.meta,
|
|
120
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
121
|
+
output,
|
|
122
|
+
config
|
|
91
123
|
}),
|
|
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
|
-
|
|
124
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
125
|
+
output,
|
|
126
|
+
config
|
|
127
|
+
}),
|
|
128
|
+
children: [
|
|
129
|
+
paramTypes,
|
|
130
|
+
responseTypes,
|
|
131
|
+
requestType,
|
|
132
|
+
dataType,
|
|
133
|
+
responsesType,
|
|
134
|
+
responseType
|
|
135
|
+
]
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
Schema({ node, adapter, options, config }) {
|
|
139
|
+
const { enumType, enumKeyCasing, syntaxType, optionalType, arrayType, output, group, resolver, transformers = [] } = options;
|
|
140
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
141
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
142
|
+
if (!node.name) return;
|
|
143
|
+
const transformedNode = (0, _kubb_ast.transform)(node, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
144
|
+
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
145
|
+
name: resolver.default(schemaName, "type"),
|
|
146
|
+
path: resolver.resolveFile({
|
|
147
|
+
name: schemaName,
|
|
148
|
+
extname: ".ts"
|
|
149
|
+
}, {
|
|
150
|
+
root,
|
|
151
|
+
output,
|
|
152
|
+
group
|
|
153
|
+
}).path
|
|
154
|
+
}));
|
|
155
|
+
const isEnumSchema = !!(0, _kubb_ast.narrowSchema)(node, _kubb_ast.schemaTypes.enum);
|
|
156
|
+
const typedName = require_printerTs.ENUM_TYPES_WITH_KEY_SUFFIX.has(enumType) && isEnumSchema ? resolver.resolveEnumKeyTypedName(node) : resolver.resolveTypedName(node.name);
|
|
157
|
+
const type = {
|
|
158
|
+
name: resolver.resolveName(node.name),
|
|
159
|
+
typedName,
|
|
160
|
+
file: resolver.resolveFile({
|
|
161
|
+
name: node.name,
|
|
162
|
+
extname: ".ts"
|
|
163
|
+
}, {
|
|
164
|
+
root,
|
|
165
|
+
output,
|
|
166
|
+
group
|
|
118
167
|
})
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
168
|
+
};
|
|
169
|
+
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
170
|
+
baseName: type.file.baseName,
|
|
171
|
+
path: type.file.path,
|
|
172
|
+
meta: type.file.meta,
|
|
173
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
174
|
+
output,
|
|
175
|
+
config
|
|
176
|
+
}),
|
|
177
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
178
|
+
output,
|
|
179
|
+
config
|
|
180
|
+
}),
|
|
181
|
+
children: [mode === "split" && imports.map((imp) => /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
|
|
182
|
+
root: type.file.path,
|
|
183
|
+
path: imp.path,
|
|
184
|
+
name: imp.name,
|
|
185
|
+
isTypeOnly: true
|
|
186
|
+
}, [
|
|
187
|
+
node.name,
|
|
188
|
+
imp.path,
|
|
189
|
+
imp.isTypeOnly
|
|
190
|
+
].join("-"))), /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(require_Type.Type, {
|
|
191
|
+
name: type.name,
|
|
192
|
+
typedName: type.typedName,
|
|
193
|
+
node: transformedNode,
|
|
194
|
+
enumType,
|
|
195
|
+
enumKeyCasing,
|
|
196
|
+
optionalType,
|
|
197
|
+
arrayType,
|
|
198
|
+
syntaxType,
|
|
199
|
+
resolver
|
|
200
|
+
})]
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region src/generators/typeGeneratorLegacy.tsx
|
|
143
206
|
function buildGroupedParamsSchema({ params, parentName }) {
|
|
144
207
|
return (0, _kubb_ast.createSchema)({
|
|
145
208
|
type: "object",
|
|
@@ -161,13 +224,6 @@ function buildGroupedParamsSchema({ params, parentName }) {
|
|
|
161
224
|
})
|
|
162
225
|
});
|
|
163
226
|
}
|
|
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
227
|
function buildLegacyResponsesSchemaNode({ node, resolver }) {
|
|
172
228
|
const isGet = node.method.toLowerCase() === "get";
|
|
173
229
|
const successResponses = node.responses.filter((res) => {
|
|
@@ -242,12 +298,6 @@ function buildLegacyResponsesSchemaNode({ node, resolver }) {
|
|
|
242
298
|
properties
|
|
243
299
|
});
|
|
244
300
|
}
|
|
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
301
|
function buildLegacyResponseUnionSchemaNode({ node, resolver }) {
|
|
252
302
|
const successResponses = node.responses.filter((res) => {
|
|
253
303
|
const code = Number(res.statusCode);
|
|
@@ -266,13 +316,6 @@ function buildLegacyResponseUnionSchemaNode({ node, resolver }) {
|
|
|
266
316
|
}))
|
|
267
317
|
});
|
|
268
318
|
}
|
|
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
319
|
function nameUnnamedEnums(node, parentName) {
|
|
277
320
|
return (0, _kubb_ast.transform)(node, {
|
|
278
321
|
schema(n) {
|
|
@@ -298,20 +341,22 @@ function nameUnnamedEnums(node, parentName) {
|
|
|
298
341
|
}
|
|
299
342
|
});
|
|
300
343
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
304
|
-
name: "typescript",
|
|
344
|
+
const typeGeneratorLegacy = (0, _kubb_core.defineGenerator)({
|
|
345
|
+
name: "typescript-legacy",
|
|
305
346
|
type: "react",
|
|
306
|
-
Operation({ node, adapter, options }) {
|
|
307
|
-
const { enumType, enumKeyCasing, optionalType, arrayType, syntaxType, paramsCasing, group,
|
|
308
|
-
const
|
|
309
|
-
const
|
|
310
|
-
const file =
|
|
347
|
+
Operation({ node, adapter, options, config }) {
|
|
348
|
+
const { enumType, enumKeyCasing, optionalType, arrayType, syntaxType, paramsCasing, group, output, resolver, transformers = [] } = options;
|
|
349
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
350
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
351
|
+
const file = resolver.resolveFile({
|
|
311
352
|
name: node.operationId,
|
|
312
353
|
extname: ".ts",
|
|
313
|
-
|
|
314
|
-
|
|
354
|
+
tag: node.tags[0] ?? "default",
|
|
355
|
+
path: node.path
|
|
356
|
+
}, {
|
|
357
|
+
root,
|
|
358
|
+
output,
|
|
359
|
+
group
|
|
315
360
|
});
|
|
316
361
|
const params = (0, _kubb_ast.caseParams)(node.parameters, paramsCasing);
|
|
317
362
|
function renderSchemaType({ node: schemaNode, name, typedName, description, keysToOmit }) {
|
|
@@ -319,10 +364,13 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
319
364
|
const transformedNode = (0, _kubb_ast.transform)(schemaNode, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
320
365
|
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
321
366
|
name: resolver.default(schemaName, "type"),
|
|
322
|
-
path:
|
|
367
|
+
path: resolver.resolveFile({
|
|
323
368
|
name: schemaName,
|
|
324
|
-
extname: ".ts"
|
|
325
|
-
|
|
369
|
+
extname: ".ts"
|
|
370
|
+
}, {
|
|
371
|
+
root,
|
|
372
|
+
output,
|
|
373
|
+
group
|
|
326
374
|
}).path
|
|
327
375
|
}));
|
|
328
376
|
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, {
|
|
@@ -345,13 +393,15 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
345
393
|
arrayType,
|
|
346
394
|
syntaxType,
|
|
347
395
|
resolver,
|
|
348
|
-
keysToOmit
|
|
349
|
-
legacy: isKubbV4Compatibility
|
|
396
|
+
keysToOmit
|
|
350
397
|
})] });
|
|
351
398
|
}
|
|
352
|
-
const
|
|
399
|
+
const pathParams = params.filter((p) => p.in === "path");
|
|
400
|
+
const queryParams = params.filter((p) => p.in === "query");
|
|
401
|
+
const headerParams = params.filter((p) => p.in === "header");
|
|
402
|
+
const responseTypes = node.responses.map((res) => {
|
|
353
403
|
const responseName = resolver.resolveResponseStatusName(node, res.statusCode);
|
|
354
|
-
const baseResponseName =
|
|
404
|
+
const baseResponseName = require_resolverTsLegacy.resolverTsLegacy.resolveResponseStatusName(node, res.statusCode);
|
|
355
405
|
return renderSchemaType({
|
|
356
406
|
node: res.schema ? nameUnnamedEnums(res.schema, baseResponseName) : res.schema,
|
|
357
407
|
name: responseName,
|
|
@@ -359,172 +409,120 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
359
409
|
description: res.description,
|
|
360
410
|
keysToOmit: res.keysToOmit
|
|
361
411
|
});
|
|
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
|
-
}));
|
|
412
|
+
});
|
|
369
413
|
const requestType = node.requestBody?.schema ? renderSchemaType({
|
|
370
|
-
node:
|
|
414
|
+
node: nameUnnamedEnums(node.requestBody.schema, require_resolverTsLegacy.resolverTsLegacy.resolveDataName(node)),
|
|
371
415
|
name: resolver.resolveDataName(node),
|
|
372
416
|
typedName: resolver.resolveDataTypedName(node),
|
|
373
417
|
description: node.requestBody.description ?? node.requestBody.schema.description,
|
|
374
418
|
keysToOmit: node.requestBody.keysToOmit
|
|
375
419
|
}) : 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
|
|
420
|
+
const legacyParamTypes = [
|
|
421
|
+
pathParams.length > 0 ? renderSchemaType({
|
|
422
|
+
node: buildGroupedParamsSchema({
|
|
423
|
+
params: pathParams,
|
|
424
|
+
parentName: require_resolverTsLegacy.resolverTsLegacy.resolvePathParamsName(node)
|
|
410
425
|
}),
|
|
411
|
-
name: resolver.
|
|
412
|
-
typedName: resolver.
|
|
413
|
-
})
|
|
414
|
-
|
|
415
|
-
node:
|
|
416
|
-
|
|
417
|
-
|
|
426
|
+
name: resolver.resolvePathParamsName(node),
|
|
427
|
+
typedName: resolver.resolvePathParamsTypedName(node)
|
|
428
|
+
}) : null,
|
|
429
|
+
queryParams.length > 0 ? renderSchemaType({
|
|
430
|
+
node: buildGroupedParamsSchema({
|
|
431
|
+
params: queryParams,
|
|
432
|
+
parentName: require_resolverTsLegacy.resolverTsLegacy.resolveQueryParamsName(node)
|
|
418
433
|
}),
|
|
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({
|
|
434
|
+
name: resolver.resolveQueryParamsName(node),
|
|
435
|
+
typedName: resolver.resolveQueryParamsTypedName(node)
|
|
436
|
+
}) : null,
|
|
437
|
+
headerParams.length > 0 ? renderSchemaType({
|
|
438
|
+
node: buildGroupedParamsSchema({
|
|
439
|
+
params: headerParams,
|
|
440
|
+
parentName: require_resolverTsLegacy.resolverTsLegacy.resolveHeaderParamsName(node)
|
|
441
|
+
}),
|
|
442
|
+
name: resolver.resolveHeaderParamsName(node),
|
|
443
|
+
typedName: resolver.resolveHeaderParamsTypedName(node)
|
|
444
|
+
}) : null
|
|
445
|
+
];
|
|
446
|
+
const legacyResponsesType = renderSchemaType({
|
|
447
|
+
node: buildLegacyResponsesSchemaNode({
|
|
465
448
|
node,
|
|
466
449
|
resolver
|
|
467
450
|
}),
|
|
468
451
|
name: resolver.resolveResponsesName(node),
|
|
469
452
|
typedName: resolver.resolveResponsesTypedName(node)
|
|
470
453
|
});
|
|
471
|
-
const
|
|
472
|
-
node:
|
|
454
|
+
const legacyResponseType = renderSchemaType({
|
|
455
|
+
node: buildLegacyResponseUnionSchemaNode({
|
|
473
456
|
node,
|
|
474
457
|
resolver
|
|
475
458
|
}),
|
|
476
459
|
name: resolver.resolveResponseName(node),
|
|
477
|
-
typedName: resolver.resolveResponseTypedName(node)
|
|
478
|
-
description: "Union of all possible responses"
|
|
460
|
+
typedName: resolver.resolveResponseTypedName(node)
|
|
479
461
|
});
|
|
480
462
|
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
481
463
|
baseName: file.baseName,
|
|
482
464
|
path: file.path,
|
|
483
465
|
meta: file.meta,
|
|
484
|
-
banner: resolveBanner(
|
|
485
|
-
|
|
466
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
467
|
+
output,
|
|
468
|
+
config
|
|
469
|
+
}),
|
|
470
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
471
|
+
output,
|
|
472
|
+
config
|
|
473
|
+
}),
|
|
486
474
|
children: [
|
|
487
|
-
|
|
488
|
-
queryParamsType,
|
|
475
|
+
legacyParamTypes,
|
|
489
476
|
responseTypes,
|
|
490
477
|
requestType,
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
responseType
|
|
478
|
+
legacyResponseType,
|
|
479
|
+
legacyResponsesType
|
|
494
480
|
]
|
|
495
481
|
});
|
|
496
482
|
},
|
|
497
|
-
Schema({ node, adapter, options }) {
|
|
498
|
-
const { enumType, enumKeyCasing, syntaxType, optionalType, arrayType,
|
|
499
|
-
const
|
|
500
|
-
const
|
|
483
|
+
Schema({ node, adapter, options, config }) {
|
|
484
|
+
const { enumType, enumKeyCasing, syntaxType, optionalType, arrayType, output, group, resolver, transformers = [] } = options;
|
|
485
|
+
const root = node_path.default.resolve(config.root, config.output.path);
|
|
486
|
+
const mode = (0, _kubb_core.getMode)(node_path.default.resolve(root, output.path));
|
|
501
487
|
if (!node.name) return;
|
|
502
488
|
const transformedNode = (0, _kubb_ast.transform)(node, (0, _kubb_ast.composeTransformers)(...transformers));
|
|
503
489
|
const imports = adapter.getImports(transformedNode, (schemaName) => ({
|
|
504
490
|
name: resolver.default(schemaName, "type"),
|
|
505
|
-
path:
|
|
491
|
+
path: resolver.resolveFile({
|
|
506
492
|
name: schemaName,
|
|
507
|
-
extname: ".ts"
|
|
508
|
-
|
|
493
|
+
extname: ".ts"
|
|
494
|
+
}, {
|
|
495
|
+
root,
|
|
496
|
+
output,
|
|
497
|
+
group
|
|
509
498
|
}).path
|
|
510
499
|
}));
|
|
511
500
|
const isEnumSchema = !!(0, _kubb_ast.narrowSchema)(node, _kubb_ast.schemaTypes.enum);
|
|
512
|
-
const typedName =
|
|
501
|
+
const typedName = require_printerTs.ENUM_TYPES_WITH_KEY_SUFFIX.has(enumType) && isEnumSchema ? resolver.resolveEnumKeyTypedName(node) : resolver.resolveTypedName(node.name);
|
|
513
502
|
const type = {
|
|
514
503
|
name: resolver.resolveName(node.name),
|
|
515
504
|
typedName,
|
|
516
|
-
file:
|
|
505
|
+
file: resolver.resolveFile({
|
|
517
506
|
name: node.name,
|
|
518
|
-
extname: ".ts"
|
|
519
|
-
|
|
507
|
+
extname: ".ts"
|
|
508
|
+
}, {
|
|
509
|
+
root,
|
|
510
|
+
output,
|
|
511
|
+
group
|
|
520
512
|
})
|
|
521
513
|
};
|
|
522
514
|
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
|
|
523
515
|
baseName: type.file.baseName,
|
|
524
516
|
path: type.file.path,
|
|
525
517
|
meta: type.file.meta,
|
|
526
|
-
banner: resolveBanner(
|
|
527
|
-
|
|
518
|
+
banner: resolver.resolveBanner(adapter.rootNode, {
|
|
519
|
+
output,
|
|
520
|
+
config
|
|
521
|
+
}),
|
|
522
|
+
footer: resolver.resolveFooter(adapter.rootNode, {
|
|
523
|
+
output,
|
|
524
|
+
config
|
|
525
|
+
}),
|
|
528
526
|
children: [mode === "split" && imports.map((imp) => /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Import, {
|
|
529
527
|
root: type.file.path,
|
|
530
528
|
path: imp.path,
|
|
@@ -543,8 +541,7 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
543
541
|
optionalType,
|
|
544
542
|
arrayType,
|
|
545
543
|
syntaxType,
|
|
546
|
-
resolver
|
|
547
|
-
legacy: isKubbV4Compatibility
|
|
544
|
+
resolver
|
|
548
545
|
})]
|
|
549
546
|
});
|
|
550
547
|
}
|
|
@@ -556,5 +553,11 @@ Object.defineProperty(exports, "typeGenerator", {
|
|
|
556
553
|
return typeGenerator;
|
|
557
554
|
}
|
|
558
555
|
});
|
|
556
|
+
Object.defineProperty(exports, "typeGeneratorLegacy", {
|
|
557
|
+
enumerable: true,
|
|
558
|
+
get: function() {
|
|
559
|
+
return typeGeneratorLegacy;
|
|
560
|
+
}
|
|
561
|
+
});
|
|
559
562
|
|
|
560
|
-
//# sourceMappingURL=generators-
|
|
563
|
+
//# sourceMappingURL=generators-aSsiTfUO.cjs.map
|