@goast/kotlin 0.6.0-beta.1 → 0.6.0

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 (147) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +45 -45
  3. package/assets/client/okhttp3/ApiAbstractions.kt +30 -30
  4. package/assets/client/okhttp3/ApiClient.kt +252 -252
  5. package/assets/client/okhttp3/ApiResponse.kt +43 -43
  6. package/assets/client/okhttp3/Errors.kt +21 -21
  7. package/assets/client/okhttp3/PartConfig.kt +11 -11
  8. package/assets/client/okhttp3/RequestConfig.kt +18 -18
  9. package/assets/client/okhttp3/RequestMethod.kt +8 -8
  10. package/assets/client/okhttp3/ResponseExtensions.kt +24 -24
  11. package/assets/client/spring-reactive-web-clients/ApiRequestFile.kt +33 -33
  12. package/esm/src/ast/references/jackson.d.ts +8 -0
  13. package/esm/src/ast/references/jackson.d.ts.map +1 -1
  14. package/esm/src/ast/references/jackson.js +8 -0
  15. package/esm/src/generators/file-generator.d.ts +21 -1
  16. package/esm/src/generators/file-generator.d.ts.map +1 -1
  17. package/esm/src/generators/file-generator.js +41 -2
  18. package/esm/src/generators/models/args.d.ts +5 -0
  19. package/esm/src/generators/models/args.d.ts.map +1 -1
  20. package/esm/src/generators/models/model-generator.d.ts +23 -0
  21. package/esm/src/generators/models/model-generator.d.ts.map +1 -1
  22. package/esm/src/generators/models/model-generator.js +130 -13
  23. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +9 -0
  24. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +1 -1
  25. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +59 -41
  26. package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +1 -1
  27. package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +11 -9
  28. package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
  29. package/esm/src/generators/services/spring-controllers/spring-controller-generator.js +53 -35
  30. package/esm/src/generators/services/spring-reactive-web-clients/args.d.ts +3 -0
  31. package/esm/src/generators/services/spring-reactive-web-clients/args.d.ts.map +1 -1
  32. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +7 -0
  33. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +1 -1
  34. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +41 -20
  35. package/esm/src/import-collection.d.ts.map +1 -1
  36. package/esm/src/import-collection.js +2 -2
  37. package/esm/src/utils.d.ts +3 -1
  38. package/esm/src/utils.d.ts.map +1 -1
  39. package/esm/src/utils.js +7 -0
  40. package/package.json +2 -2
  41. package/script/src/ast/references/jackson.d.ts +8 -0
  42. package/script/src/ast/references/jackson.d.ts.map +1 -1
  43. package/script/src/ast/references/jackson.js +9 -1
  44. package/script/src/generators/file-generator.d.ts +21 -1
  45. package/script/src/generators/file-generator.d.ts.map +1 -1
  46. package/script/src/generators/file-generator.js +41 -2
  47. package/script/src/generators/models/args.d.ts +5 -0
  48. package/script/src/generators/models/args.d.ts.map +1 -1
  49. package/script/src/generators/models/model-generator.d.ts +23 -0
  50. package/script/src/generators/models/model-generator.d.ts.map +1 -1
  51. package/script/src/generators/models/model-generator.js +129 -12
  52. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +9 -0
  53. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +1 -1
  54. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +58 -40
  55. package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +1 -1
  56. package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +11 -9
  57. package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
  58. package/script/src/generators/services/spring-controllers/spring-controller-generator.js +52 -34
  59. package/script/src/generators/services/spring-reactive-web-clients/args.d.ts +3 -0
  60. package/script/src/generators/services/spring-reactive-web-clients/args.d.ts.map +1 -1
  61. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +7 -0
  62. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +1 -1
  63. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +40 -19
  64. package/script/src/import-collection.d.ts.map +1 -1
  65. package/script/src/import-collection.js +1 -1
  66. package/script/src/utils.d.ts +3 -1
  67. package/script/src/utils.d.ts.map +1 -1
  68. package/script/src/utils.js +9 -0
  69. package/src/mod.ts +8 -0
  70. package/src/src/assets.ts +9 -0
  71. package/src/src/ast/_index.ts +66 -0
  72. package/src/src/ast/common.ts +1 -0
  73. package/src/src/ast/index.ts +1 -0
  74. package/src/src/ast/node.ts +10 -0
  75. package/src/src/ast/nodes/annotation.ts +79 -0
  76. package/src/src/ast/nodes/argument.ts +62 -0
  77. package/src/src/ast/nodes/call.ts +75 -0
  78. package/src/src/ast/nodes/class.ts +178 -0
  79. package/src/src/ast/nodes/collection-literal.ts +49 -0
  80. package/src/src/ast/nodes/constructor.ts +126 -0
  81. package/src/src/ast/nodes/doc-tag.ts +138 -0
  82. package/src/src/ast/nodes/doc.ts +111 -0
  83. package/src/src/ast/nodes/enum-value.ts +100 -0
  84. package/src/src/ast/nodes/enum.ts +163 -0
  85. package/src/src/ast/nodes/function.ts +178 -0
  86. package/src/src/ast/nodes/generic-parameter.ts +54 -0
  87. package/src/src/ast/nodes/init-block.ts +38 -0
  88. package/src/src/ast/nodes/interface.ts +133 -0
  89. package/src/src/ast/nodes/lambda-type.ts +73 -0
  90. package/src/src/ast/nodes/lambda.ts +74 -0
  91. package/src/src/ast/nodes/object.ts +102 -0
  92. package/src/src/ast/nodes/parameter.ts +118 -0
  93. package/src/src/ast/nodes/property.ts +225 -0
  94. package/src/src/ast/nodes/reference.ts +178 -0
  95. package/src/src/ast/nodes/string.ts +114 -0
  96. package/src/src/ast/nodes/types.ts +23 -0
  97. package/src/src/ast/references/index.ts +10 -0
  98. package/src/src/ast/references/jackson.ts +70 -0
  99. package/src/src/ast/references/jakarta.ts +14 -0
  100. package/src/src/ast/references/java.ts +27 -0
  101. package/src/src/ast/references/kotlin.ts +41 -0
  102. package/src/src/ast/references/kotlinx.ts +14 -0
  103. package/src/src/ast/references/okhttp3.ts +5 -0
  104. package/src/src/ast/references/reactor.ts +5 -0
  105. package/src/src/ast/references/spring-reactive.ts +37 -0
  106. package/src/src/ast/references/spring.ts +86 -0
  107. package/src/src/ast/references/swagger.ts +23 -0
  108. package/src/src/ast/utils/get-kotlin-builder-options.ts +19 -0
  109. package/src/src/ast/utils/to-kt-node.ts +31 -0
  110. package/src/src/ast/utils/write-kt-annotations.ts +15 -0
  111. package/src/src/ast/utils/write-kt-arguments.ts +45 -0
  112. package/src/src/ast/utils/write-kt-enum-values.ts +27 -0
  113. package/src/src/ast/utils/write-kt-generic-parameters.ts +12 -0
  114. package/src/src/ast/utils/write-kt-members.ts +25 -0
  115. package/src/src/ast/utils/write-kt-node.ts +37 -0
  116. package/src/src/ast/utils/write-kt-parameters.ts +25 -0
  117. package/src/src/common-results.ts +4 -0
  118. package/src/src/config.ts +61 -0
  119. package/src/src/file-builder.ts +112 -0
  120. package/src/src/generators/file-generator.ts +71 -0
  121. package/src/src/generators/index.ts +5 -0
  122. package/src/src/generators/models/args.ts +142 -0
  123. package/src/src/generators/models/index.ts +4 -0
  124. package/src/src/generators/models/model-generator.ts +850 -0
  125. package/src/src/generators/models/models-generator.ts +65 -0
  126. package/src/src/generators/models/models.ts +95 -0
  127. package/src/src/generators/services/okhttp3-clients/args.ts +90 -0
  128. package/src/src/generators/services/okhttp3-clients/index.ts +4 -0
  129. package/src/src/generators/services/okhttp3-clients/models.ts +73 -0
  130. package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +639 -0
  131. package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +190 -0
  132. package/src/src/generators/services/okhttp3-clients/refs.ts +59 -0
  133. package/src/src/generators/services/spring-controllers/args.ts +95 -0
  134. package/src/src/generators/services/spring-controllers/index.ts +4 -0
  135. package/src/src/generators/services/spring-controllers/models.ts +76 -0
  136. package/src/src/generators/services/spring-controllers/refs.ts +17 -0
  137. package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +1129 -0
  138. package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +140 -0
  139. package/src/src/generators/services/spring-reactive-web-clients/args.ts +114 -0
  140. package/src/src/generators/services/spring-reactive-web-clients/index.ts +4 -0
  141. package/src/src/generators/services/spring-reactive-web-clients/models.ts +78 -0
  142. package/src/src/generators/services/spring-reactive-web-clients/refs.ts +11 -0
  143. package/src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.ts +657 -0
  144. package/src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.ts +125 -0
  145. package/src/src/import-collection.ts +98 -0
  146. package/src/src/types.ts +3 -0
  147. package/src/src/utils.ts +55 -0
@@ -23,6 +23,17 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
23
23
  getClientFileContent(ctx, _args) {
24
24
  return (0, core_1.appendValueGroup)([this.getClientClass(ctx, {})]);
25
25
  }
26
+ /**
27
+ * The `super(…)` arguments, in the base class's own parameter order.
28
+ *
29
+ * The base's order is chosen by `serializer`, at the `@API_CLIENT_PARAMETERS@` placeholder substitution in
30
+ * `okhttp3-clients-generator.ts`, and this list is positional, so the two must be derived from the same
31
+ * flag. Defect 27 was this list being a constant that matched only the `'parameter'` shape while every
32
+ * corpus profile uses the default `'static'`.
33
+ */
34
+ getClientDelegateArguments(serializerAsParameter) {
35
+ return serializerAsParameter ? ['basePath', 'objectMapper', 'client'] : ['basePath', 'client', 'objectMapper'];
36
+ }
26
37
  getClientClass(ctx, _args) {
27
38
  const serializerAsParameter = ctx.config.serializer === 'parameter';
28
39
  return index_js_1.kt.class(this.getApiClientName(ctx, {}), {
@@ -47,7 +58,7 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
47
58
  }),
48
59
  ], null, {
49
60
  delegateTarget: 'super',
50
- delegateArguments: ['basePath', 'objectMapper', 'client'],
61
+ delegateArguments: this.getClientDelegateArguments(serializerAsParameter),
51
62
  }),
52
63
  companionObject: this.getClientCompanionObject(ctx, {}),
53
64
  members: [
@@ -112,31 +123,31 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
112
123
  return (0, core_1.appendValueGroup)([
113
124
  (0, core_1.builderTemplate) `val localVarResponse = ${index_js_1.kt.call([(0, core_1.toCasing)(endpoint.name + '_WithHttpInfo', ctx.config.functionNameCasing)], parameters.map((x) => (0, core_1.toCasing)(x.name, ctx.config.parameterNameCasing)))}`,
114
125
  '',
115
- (0, core_1.builderTemplate) `return when (localVarResponse.responseType) {${core_1.builderTemplate.indent `
126
+ (0, core_1.builderTemplate) `return when (localVarResponse.responseType) {${core_1.builderTemplate.indent `
116
127
  ${ctx.refs.responseType()}.Success -> ${responseSchema === undefined
117
128
  ? index_js_1.kt.refs.unit()
118
129
  : (0, core_1.builderTemplate) `(localVarResponse as ${ctx.refs.success(['*'])}).data as ${this.getTypeUsage(ctx, {
119
130
  schema: responseSchema,
120
- })}`}
121
- ${ctx.refs.responseType()}.Informational -> throw ${index_js_1.kt.refs.java.unsupportedOperationException()}("Client does not support Informational responses.")
122
- ${ctx.refs.responseType()}.Redirection -> throw ${index_js_1.kt.refs.java.unsupportedOperationException()}("Client does not support Redirection responses.")
123
- ${ctx.refs.responseType()}.ClientError -> {${core_1.builderTemplate.indent `
124
- val localVarError = localVarResponse as ${ctx.refs.clientError(['*'])}
125
- throw ${ctx.refs.clientException()}(${core_1.builderTemplate.indent `
126
- "Client error : \${localVarError.statusCode} \${localVarError.message.orEmpty()}",
127
- localVarError.statusCode,
128
- localVarResponse`}
129
- )`}
130
- }
131
-
132
- ${ctx.refs.responseType()}.ServerError -> {${core_1.builderTemplate.indent `
133
- val localVarError = localVarResponse as ${ctx.refs.serverError(['*'])}
134
- throw ${ctx.refs.serverException()}(${core_1.builderTemplate.indent `
135
- "Server error : \${localVarError.statusCode} \${localVarError.message.orEmpty()}",
136
- localVarError.statusCode,
137
- localVarResponse`}
138
- )`}
139
- }`}
131
+ })}`}
132
+ ${ctx.refs.responseType()}.Informational -> throw ${index_js_1.kt.refs.java.unsupportedOperationException()}("Client does not support Informational responses.")
133
+ ${ctx.refs.responseType()}.Redirection -> throw ${index_js_1.kt.refs.java.unsupportedOperationException()}("Client does not support Redirection responses.")
134
+ ${ctx.refs.responseType()}.ClientError -> {${core_1.builderTemplate.indent `
135
+ val localVarError = localVarResponse as ${ctx.refs.clientError(['*'])}
136
+ throw ${ctx.refs.clientException()}(${core_1.builderTemplate.indent `
137
+ "Client error : \${localVarError.statusCode} \${localVarError.message.orEmpty()}",
138
+ localVarError.statusCode,
139
+ localVarResponse`}
140
+ )`}
141
+ }
142
+
143
+ ${ctx.refs.responseType()}.ServerError -> {${core_1.builderTemplate.indent `
144
+ val localVarError = localVarResponse as ${ctx.refs.serverError(['*'])}
145
+ throw ${ctx.refs.serverException()}(${core_1.builderTemplate.indent `
146
+ "Server error : \${localVarError.statusCode} \${localVarError.message.orEmpty()}",
147
+ localVarError.statusCode,
148
+ localVarResponse`}
149
+ )`}
150
+ }`}
140
151
  }`,
141
152
  ], '\n');
142
153
  }
@@ -215,16 +226,16 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
215
226
  result.values.push(`val localVariableBody = ${bodyParamName}`);
216
227
  }
217
228
  }
218
- result.values.push((0, core_1.builderTemplate) `val localVariableQuery: ${ctx.refs.multiValueMap()} = ${index_js_1.kt.call([index_js_1.kt.refs.mutableMapOf([index_js_1.kt.refs.string(), index_js_1.kt.refs.list([index_js_1.kt.refs.string()])])], [])}${queryParameters.length === 0 ? '' : core_1.builderTemplate.indent `
219
- .apply {${core_1.builderTemplate.indent `
229
+ result.values.push((0, core_1.builderTemplate) `val localVariableQuery: ${ctx.refs.multiValueMap()} = ${index_js_1.kt.call([index_js_1.kt.refs.mutableMapOf([index_js_1.kt.refs.string(), index_js_1.kt.refs.list([index_js_1.kt.refs.string()])])], [])}${queryParameters.length === 0 ? '' : core_1.builderTemplate.indent `
230
+ .apply {${core_1.builderTemplate.indent `
220
231
  ${(0, core_1.appendValueGroup)(queryParameters.map((param) => {
221
232
  const paramName = (0, core_1.toCasing)(param.name, ctx.config.parameterNameCasing);
222
233
  const toString = this.getParameterToString(ctx, { endpoint, parameter: param });
223
234
  const put = (0, core_1.builderTemplate) `put(${index_js_1.kt.string(param.name)}, listOf(${paramName}${toString}))`;
224
- return param.required ? put : (0, core_1.builderTemplate) `if (${paramName} != null) {${core_1.builderTemplate.indent `
225
- ${put}`}
235
+ return param.required ? put : (0, core_1.builderTemplate) `if (${paramName} != null) {${core_1.builderTemplate.indent `
236
+ ${put}`}
226
237
  }`;
227
- }), '\n')}`}
238
+ }), '\n')}`}
228
239
  }`}`);
229
240
  result.values.push('val localVariableHeaders: MutableMap<String, String> = mutableMapOf()');
230
241
  if (((_b = endpoint.requestBody) === null || _b === void 0 ? void 0 : _b.content[0]) !== undefined) {
@@ -233,8 +244,8 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
233
244
  for (const header of headerParameters) {
234
245
  const paramName = (0, core_1.toCasing)(header.name, ctx.config.parameterNameCasing);
235
246
  const toString = this.getParameterToString(ctx, { endpoint, parameter: header });
236
- result.values.push((0, core_1.builderTemplate) `if (${paramName} != null) {${core_1.builderTemplate.indent `
237
- localVariableHeaders["${header.name}"] = ${paramName}${toString}`}
247
+ result.values.push((0, core_1.builderTemplate) `if (${paramName} != null) {${core_1.builderTemplate.indent `
248
+ localVariableHeaders["${header.name}"] = ${paramName}${toString}`}
238
249
  }`);
239
250
  }
240
251
  result.values.push((0, core_1.builderTemplate) `return ${index_js_1.kt.call([ctx.refs.requestConfig.infer()], [
@@ -248,13 +259,14 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
248
259
  return result;
249
260
  }
250
261
  getParameterToString(ctx, args) {
251
- var _a, _b, _c;
262
+ var _a;
252
263
  const { parameter } = args;
253
264
  if (((_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.kind) === 'array') {
254
- return '.joinToString()';
265
+ const itemEnumSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(parameter.schema);
266
+ const itemEnumType = itemEnumSchema && this.getSchemaType(ctx, { schema: itemEnumSchema });
267
+ return itemEnumType ? (0, core_1.builderTemplate) `.joinToString(",", transform = ${itemEnumType}::value)` : '.joinToString(",")';
255
268
  }
256
- else if (((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.kind) === 'string' && ((_c = parameter.schema.enum) === null || _c === void 0 ? void 0 : _c.length) &&
257
- this.getSchemaType(ctx, { schema: parameter.schema })) {
269
+ else if ((0, utils_js_1.getStringEnumSchema)(parameter.schema) && this.getSchemaType(ctx, { schema: parameter.schema })) {
258
270
  return '.value';
259
271
  }
260
272
  else {
@@ -292,13 +304,19 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
292
304
  : this.getTypeUsage(ctx, { schema: content === null || content === void 0 ? void 0 : content.schema, fallback: index_js_1.kt.refs.unit() });
293
305
  }
294
306
  getParameterDefaultValue(ctx, args) {
295
- var _a, _b;
296
- const { parameter } = args;
297
- return !parameter.required
298
- ? ((_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.kind) === 'string' && parameter.schema.enum && parameter.schema.default
299
- ? (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema: parameter.schema, nullable: false })}.${(0, core_1.toCasing)(String(parameter.schema.default), ctx.config.enumValueNameCasing)}`
300
- : index_js_1.kt.toNode((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.default)
301
- : null;
307
+ const { schema } = args.parameter;
308
+ if (args.parameter.required) {
309
+ return null;
310
+ }
311
+ if ((0, utils_js_1.getStringEnumSchema)(schema) && (schema === null || schema === void 0 ? void 0 : schema.default)) {
312
+ return (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema, nullable: false })}.${this.toEnumValueName(ctx, schema.enum, schema.default)}`;
313
+ }
314
+ const itemEnumSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(schema);
315
+ if (itemEnumSchema && Array.isArray(schema === null || schema === void 0 ? void 0 : schema.default)) {
316
+ const itemType = this.getTypeUsage(ctx, { schema: itemEnumSchema, nullable: false });
317
+ return index_js_1.kt.call(index_js_1.kt.refs.listOf.infer(), schema.default.map((x) => (0, core_1.builderTemplate) `${itemType}.${this.toEnumValueName(ctx, itemEnumSchema.enum, x)}`));
318
+ }
319
+ return index_js_1.kt.toNode(schema === null || schema === void 0 ? void 0 : schema.default);
302
320
  }
303
321
  getTypeUsage(ctx, args) {
304
322
  const { schema, nullable, fallback } = args;
@@ -1 +1 @@
1
- {"version":3,"file":"okhttp3-clients-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EAGf,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,qCAAqC,EAGtC,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiC,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG3G,KAAK,KAAK,GAAG,kCAAkC,CAAC;AAChD,KAAK,MAAM,GAAG,mCAAmC,CAAC;AAClD,KAAK,MAAM,GAAG,mCAAmC,CAAC;AAClD,KAAK,aAAa,GAAG,kCAAkC,CAAC;AACxD,KAAK,OAAO,GAAG,oCAAoC,CAAC;AAEpD,qBAAa,6BAA8B,SAAQ,qCAAqC,CACtF,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,OAAO,CACR;IACC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAsC;gBAEnE,uBAAuB,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;cAKhD,uBAAuB,CAAC,GAAG,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1G,SAAS,CAAC,UAAU,IAAI,MAAM;IAQ9B,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC;IAQzF,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAI1F,SAAS,CAAC,YAAY,CACpB,OAAO,EAAE,uBAAuB,CAAC,4BAA4B,CAAC,EAC9D,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GACnC,OAAO;IAUV,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAc9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;YAKlC,uBAAuB;CAkFtC"}
1
+ {"version":3,"file":"okhttp3-clients-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EAGf,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,qCAAqC,EAGtC,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiC,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG3G,KAAK,KAAK,GAAG,kCAAkC,CAAC;AAChD,KAAK,MAAM,GAAG,mCAAmC,CAAC;AAClD,KAAK,MAAM,GAAG,mCAAmC,CAAC;AAClD,KAAK,aAAa,GAAG,kCAAkC,CAAC;AACxD,KAAK,OAAO,GAAG,oCAAoC,CAAC;AAEpD,qBAAa,6BAA8B,SAAQ,qCAAqC,CACtF,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,OAAO,CACR;IACC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAsC;gBAEnE,uBAAuB,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;cAKhD,uBAAuB,CAAC,GAAG,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1G,SAAS,CAAC,UAAU,IAAI,MAAM;IAQ9B,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC;IAQzF,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAI1F,SAAS,CAAC,YAAY,CACpB,OAAO,EAAE,uBAAuB,CAAC,4BAA4B,CAAC,EAC9D,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GACnC,OAAO;IAUV,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAc9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;YAKlC,uBAAuB;CAoFtC"}
@@ -84,6 +84,8 @@ class KotlinOkHttp3ClientsGenerator extends core_1.OpenApiServicesGenerationProv
84
84
  let fileContent = (await (0, assets_js_1.getAssetFileContent)(sourcePath))
85
85
  .replace(/@PACKAGE_NAME@/g, ctx.infrastructurePackageName);
86
86
  if (file === 'ApiClient.kt') {
87
+ // This order is positional and must agree with the delegate call's own argument order —
88
+ // `getClientDelegateArguments` in okhttp3-client-generator.ts is the other side of that agreement.
87
89
  fileContent = fileContent.replace(/@API_CLIENT_PARAMETERS@/, ctx.config.serializer === 'parameter'
88
90
  ? 'val baseUrl: String, val objectMapper: ObjectMapper, val client: Factory = defaultClient'
89
91
  : 'val baseUrl: String, val client: Factory = defaultClient, val objectMapper: ObjectMapper = Serializer.jacksonObjectMapper');
@@ -103,16 +105,16 @@ class KotlinOkHttp3ClientsGenerator extends core_1.OpenApiServicesGenerationProv
103
105
  const jsonIncludeMember = (0, core_1.toCasing)(ctx.config.serializerJsonInclude, 'snake');
104
106
  const defaultFactory = springBootVersion === 4
105
107
  // Jackson 3's ObjectMapper is immutable; configuration moved to the (Kotlin) mapper builder.
106
- ? (0, core_1.builderTemplate) `${index_js_1.kt.refs.jackson.jacksonMapperBuilder(springBootVersion)}()${core_1.builderTemplate.indent `
107
- .findAndAddModules()
108
- .changeDefaultPropertyInclusion { it.withValueInclusion(${index_js_1.kt.refs.jackson.jsonInclude()}.Include.${jsonIncludeMember}).withContentInclusion(${index_js_1.kt.refs.jackson.jsonInclude()}.Include.${jsonIncludeMember}) }
109
- .configure(${index_js_1.kt.refs.jackson.serializationFeature(springBootVersion)}.WRITE_DATES_AS_TIMESTAMPS, false)
110
- .configure(${index_js_1.kt.refs.jackson.deserializationFeature(springBootVersion)}.FAIL_ON_UNKNOWN_PROPERTIES, false)
108
+ ? (0, core_1.builderTemplate) `${index_js_1.kt.refs.jackson.jacksonMapperBuilder(springBootVersion)}()${core_1.builderTemplate.indent `
109
+ .findAndAddModules()
110
+ .changeDefaultPropertyInclusion { it.withValueInclusion(${index_js_1.kt.refs.jackson.jsonInclude()}.Include.${jsonIncludeMember}).withContentInclusion(${index_js_1.kt.refs.jackson.jsonInclude()}.Include.${jsonIncludeMember}) }
111
+ .configure(${index_js_1.kt.refs.jackson.dateTimeFeature()}.WRITE_DATES_AS_TIMESTAMPS, false)
112
+ .configure(${index_js_1.kt.refs.jackson.deserializationFeature(springBootVersion)}.FAIL_ON_UNKNOWN_PROPERTIES, false)
111
113
  .build()`}`
112
- : (0, core_1.builderTemplate) `${index_js_1.kt.refs.jackson.jacksonObjectMapper(springBootVersion)}()${core_1.builderTemplate.indent `
113
- .findAndRegisterModules()
114
- .setSerializationInclusion(${index_js_1.kt.refs.jackson.jsonInclude()}.Include.${jsonIncludeMember})
115
- .configure(${index_js_1.kt.refs.jackson.serializationFeature(springBootVersion)}.WRITE_DATES_AS_TIMESTAMPS, false)
114
+ : (0, core_1.builderTemplate) `${index_js_1.kt.refs.jackson.jacksonObjectMapper(springBootVersion)}()${core_1.builderTemplate.indent `
115
+ .findAndRegisterModules()
116
+ .setSerializationInclusion(${index_js_1.kt.refs.jackson.jsonInclude()}.Include.${jsonIncludeMember})
117
+ .configure(${index_js_1.kt.refs.jackson.serializationFeature(springBootVersion)}.WRITE_DATES_AS_TIMESTAMPS, false)
116
118
  .configure(${index_js_1.kt.refs.jackson.deserializationFeature(springBootVersion)}.FAIL_ON_UNKNOWN_PROPERTIES, false)`}`;
117
119
  const factory = typeof ctx.config.serializer === 'object'
118
120
  ? ctx.config.serializer.factory
@@ -1 +1 @@
1
- {"version":3,"file":"spring-controller-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/spring-controllers/spring-controller-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spring-controller-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/spring-controllers/spring-controller-generator.ts"],"names":[],"mappings":"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"}
@@ -118,11 +118,15 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_js_1.KotlinF
118
118
  if (endpoint.responses.length > 0) {
119
119
  annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.swagger.apiResponses(), [
120
120
  index_js_1.kt.argument.named('value', index_js_1.kt.collectionLiteral(endpoint.responses.map((response) => {
121
- var _a, _b;
121
+ var _a;
122
122
  return index_js_1.kt.call(index_js_1.kt.refs.swagger.apiResponse(), [
123
- index_js_1.kt.argument.named('responseCode', index_js_1.kt.string((_a = response.statusCode) === null || _a === void 0 ? void 0 : _a.toString())),
123
+ index_js_1.kt.argument.named('responseCode',
124
+ // The spec's own response key, not `statusCode`: that field is `undefined` for
125
+ // `default` and every range code, and `kt.string(undefined)` renders the bare token
126
+ // `null`, which is not assignable to this non-nullable annotation element.
127
+ index_js_1.kt.string(response.statusKey)),
124
128
  response.description
125
- ? index_js_1.kt.argument.named('description', index_js_1.kt.string((_b = response.description) === null || _b === void 0 ? void 0 : _b.trim()))
129
+ ? index_js_1.kt.argument.named('description', index_js_1.kt.string((_a = response.description) === null || _a === void 0 ? void 0 : _a.trim()))
126
130
  : null,
127
131
  index_js_1.kt.argument.named('content', index_js_1.kt.collectionLiteral((response.contentOptions.length === 0
128
132
  ? [{ schema: undefined, type: undefined }]
@@ -174,37 +178,46 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_js_1.KotlinF
174
178
  return annotations;
175
179
  }
176
180
  getApiInterfaceEndpointMethodParameter(ctx, endpoint, parameter) {
177
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
178
- const isEnumSchema = ((_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.kind) === 'string' &&
179
- ((_b = parameter.schema.enum) === null || _b === void 0 ? void 0 : _b.length) &&
180
- this.getSchemaType(ctx, { schema: parameter.schema }) &&
181
- !parameter.multipart;
181
+ var _a, _b, _c, _d, _e, _f, _g, _h;
182
+ const enumItemSchema = parameter.multipart ? undefined : (0, utils_js_1.getArrayItemStringEnumSchema)(parameter.schema);
183
+ const enumSchema = parameter.multipart ? undefined : (0, utils_js_1.getStringEnumSchema)(parameter.schema);
184
+ const enumValueSchema = enumSchema !== null && enumSchema !== void 0 ? enumSchema : enumItemSchema;
182
185
  const actualType = this.getSchemaType(ctx, { schema: parameter.schema });
183
- const schemaType = isEnumSchema ? index_js_1.kt.refs.string({ nullable: actualType === null || actualType === void 0 ? void 0 : actualType.nullable }) : actualType;
186
+ const isEnumSchema = !!enumValueSchema && !!actualType &&
187
+ !!this.getSchemaType(ctx, { schema: enumValueSchema });
188
+ const schemaType = !isEnumSchema
189
+ ? actualType
190
+ : enumItemSchema
191
+ ? index_js_1.kt.refs.list([index_js_1.kt.refs.string()], { nullable: actualType === null || actualType === void 0 ? void 0 : actualType.nullable })
192
+ : index_js_1.kt.refs.string({ nullable: actualType === null || actualType === void 0 ? void 0 : actualType.nullable });
184
193
  const result = index_js_1.kt.parameter((0, core_1.toCasing)(parameter.name, ctx.config.parameterNameCasing), this.getParameterType(ctx, {
185
194
  endpoint,
186
195
  parameter,
187
196
  type: isEnumSchema ? schemaType : undefined,
188
197
  }), {
189
- default: parameter.multipart && ((_c = parameter.schema) === null || _c === void 0 ? void 0 : _c.default) !== undefined
190
- ? index_js_1.kt.toNode((_d = parameter.schema) === null || _d === void 0 ? void 0 : _d.default)
198
+ default: parameter.multipart && ((_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.default) !== undefined
199
+ ? index_js_1.kt.toNode((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.default)
191
200
  : null,
192
201
  });
193
202
  if (ctx.config.addSwaggerAnnotations) {
194
203
  const annotation = index_js_1.kt.annotation(index_js_1.kt.refs.swagger.parameter(), [
195
204
  parameter.multipart ? index_js_1.kt.argument.named('name', index_js_1.kt.string(parameter.multipart.name)) : null,
196
205
  parameter.description
197
- ? index_js_1.kt.argument.named('description', index_js_1.kt.string((_e = parameter.description) === null || _e === void 0 ? void 0 : _e.trim()))
206
+ ? index_js_1.kt.argument.named('description', index_js_1.kt.string((_c = parameter.description) === null || _c === void 0 ? void 0 : _c.trim()))
198
207
  : null,
199
208
  index_js_1.kt.argument.named('required', parameter.required),
209
+ // Only emitted when set, matching how the model generator marks a deprecated property on `@Schema`.
210
+ // `@Operation` always states `deprecated`, but doing that for every parameter of every endpoint
211
+ // would add `deprecated = false` noise far beyond what the annotation is documenting.
212
+ parameter.deprecated ? index_js_1.kt.argument.named('deprecated', index_js_1.kt.toNode(true)) : null,
200
213
  parameter.target === 'header' ? index_js_1.kt.argument.named('hidden', index_js_1.kt.toNode(true)) : null,
201
214
  ]);
202
215
  const schemaArgs = [];
203
- if (((_f = parameter.schema) === null || _f === void 0 ? void 0 : _f.default) !== undefined) {
204
- schemaArgs.push(index_js_1.kt.argument.named('defaultValue', index_js_1.kt.string(String((_g = parameter.schema) === null || _g === void 0 ? void 0 : _g.default))));
216
+ if (((_d = parameter.schema) === null || _d === void 0 ? void 0 : _d.default) !== undefined) {
217
+ schemaArgs.push(index_js_1.kt.argument.named('defaultValue', index_js_1.kt.string(String((_e = parameter.schema) === null || _e === void 0 ? void 0 : _e.default))));
205
218
  }
206
219
  if (isEnumSchema) {
207
- schemaArgs.push(index_js_1.kt.argument.named('allowableValues', index_js_1.kt.collectionLiteral((_j = (_h = parameter.schema) === null || _h === void 0 ? void 0 : _h.enum) === null || _j === void 0 ? void 0 : _j.map((x) => index_js_1.kt.string(x === null || x === void 0 ? void 0 : x.toString())))));
220
+ schemaArgs.push(index_js_1.kt.argument.named('allowableValues', index_js_1.kt.collectionLiteral((_f = enumValueSchema === null || enumValueSchema === void 0 ? void 0 : enumValueSchema.enum) === null || _f === void 0 ? void 0 : _f.map((x) => index_js_1.kt.string(x === null || x === void 0 ? void 0 : x.toString())))));
208
221
  }
209
222
  if (schemaArgs.length) {
210
223
  annotation.arguments.push(index_js_1.kt.argument.named('schema', index_js_1.kt.call([index_js_1.kt.refs.swagger.schema()], schemaArgs)));
@@ -217,15 +230,17 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_js_1.KotlinF
217
230
  result.annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.valid()));
218
231
  }
219
232
  if (parameter.target === 'body' && !parameter.multipart) {
220
- result.annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.spring.requestBody()));
233
+ // A bare @RequestBody is required as far as Spring is concerned, so an optional body has to say so in the
234
+ // annotation too - the nullable parameter type alone still answers 400 when the body is missing.
235
+ result.annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.spring.requestBody(), parameter.required ? [] : [index_js_1.kt.argument.named('required', parameter.required)]));
221
236
  }
222
237
  if (parameter.target === 'query') {
223
238
  const annotation = index_js_1.kt.annotation(index_js_1.kt.refs.spring.requestParam(), [
224
239
  index_js_1.kt.argument.named('value', index_js_1.kt.string(parameter.name)),
225
240
  index_js_1.kt.argument.named('required', parameter.required),
226
241
  ]);
227
- if (((_k = parameter.schema) === null || _k === void 0 ? void 0 : _k.default) !== undefined) {
228
- annotation.arguments.push(index_js_1.kt.argument.named('defaultValue', index_js_1.kt.string(String((_l = parameter.schema) === null || _l === void 0 ? void 0 : _l.default))));
242
+ if (((_g = parameter.schema) === null || _g === void 0 ? void 0 : _g.default) !== undefined) {
243
+ annotation.arguments.push(index_js_1.kt.argument.named('defaultValue', index_js_1.kt.string(String((_h = parameter.schema) === null || _h === void 0 ? void 0 : _h.default))));
229
244
  }
230
245
  result.annotations.push(annotation);
231
246
  }
@@ -252,22 +267,25 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_js_1.KotlinF
252
267
  parameters.forEach((x) => {
253
268
  var _a, _b;
254
269
  const paramName = (0, core_1.toCasing)(x.name, ctx.config.parameterNameCasing);
255
- if (((_a = x.schema) === null || _a === void 0 ? void 0 : _a.kind) === 'string' &&
256
- ((_b = x.schema.enum) === null || _b === void 0 ? void 0 : _b.length) &&
257
- !x.multipart) {
258
- const type = this.getSchemaType(ctx, { schema: x.schema });
259
- if (type) {
260
- body.values.push((0, core_1.builderTemplate) `val ${paramName} = ${paramName}${type.nullable || (!x.required && !x.schema.default) ? '?' : ''}.let { ${type}.fromValue(it) ?: return ${index_js_1.kt.refs.spring.responseEntity.infer()}.status(${index_js_1.kt.refs.spring.httpStatus()}.BAD_REQUEST).body(${index_js_1.kt.string(`Invalid value for parameter ${x.name}`)}) }`);
261
- }
270
+ if (x.multipart)
271
+ return;
272
+ const enumItemSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(x.schema);
273
+ const enumValueSchema = (_a = (0, utils_js_1.getStringEnumSchema)(x.schema)) !== null && _a !== void 0 ? _a : enumItemSchema;
274
+ if (!enumValueSchema)
275
+ return;
276
+ const schemaType = this.getSchemaType(ctx, { schema: x.schema });
277
+ const enumType = this.getSchemaType(ctx, { schema: enumValueSchema });
278
+ if (schemaType && enumType) {
279
+ body.values.push((0, core_1.builderTemplate) `val ${paramName} = ${paramName}${schemaType.nullable || (!x.required && !((_b = x.schema) === null || _b === void 0 ? void 0 : _b.default)) ? '?' : ''}.${enumItemSchema ? 'map' : 'let'} { ${enumType}.fromValue(it) ?: return ${index_js_1.kt.refs.spring.responseEntity.infer()}.status(${index_js_1.kt.refs.spring.httpStatus()}.BAD_REQUEST).body(${index_js_1.kt.string(`Invalid value for parameter ${x.name}`)}) }`);
262
280
  }
263
281
  });
264
- body.values.push((0, core_1.builderTemplate) `try {${core_1.builderTemplate.indent `
282
+ body.values.push((0, core_1.builderTemplate) `try {${core_1.builderTemplate.indent `
265
283
  return ${index_js_1.kt.call([
266
284
  index_js_1.kt.call(index_js_1.kt.reference('getDelegate'), []),
267
285
  (0, core_1.toCasing)(endpoint.name, ctx.config.functionNameCasing),
268
- ], parameters.map((x) => (0, core_1.toCasing)(x.name, ctx.config.parameterNameCasing)))}`}
269
- } catch (e: ${index_js_1.kt.refs.throwable()}) {${core_1.builderTemplate.indent `
270
- return getExceptionHandler()?.handleApiException(e) ?: throw e`}
286
+ ], parameters.map((x) => (0, core_1.toCasing)(x.name, ctx.config.parameterNameCasing)))}`}
287
+ } catch (e: ${index_js_1.kt.refs.throwable()}) {${core_1.builderTemplate.indent `
288
+ return getExceptionHandler()?.handleApiException(e) ?: throw e`}
271
289
  }`);
272
290
  return body;
273
291
  }
@@ -329,11 +347,11 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_js_1.KotlinF
329
347
  hasResponseBody ? index_js_1.kt.argument('body') : index_js_1.kt.toNode(null),
330
348
  index_js_1.kt.toNode(code),
331
349
  contentType
332
- ? (0, core_1.builderTemplate) `${index_js_1.kt.refs.spring.linkedMultiValueMap([index_js_1.kt.refs.string(), index_js_1.kt.refs.string()])}().also {
333
- if (headers != null) {
334
- it.putAll(headers)
335
- }
336
- it.addIfAbsent("Content-Type", ${index_js_1.kt.string(contentType)})
350
+ ? (0, core_1.builderTemplate) `${index_js_1.kt.refs.spring.linkedMultiValueMap([index_js_1.kt.refs.string(), index_js_1.kt.refs.string()])}().also {
351
+ if (headers != null) {
352
+ it.putAll(headers)
353
+ }
354
+ it.addIfAbsent("Content-Type", ${index_js_1.kt.string(contentType)})
337
355
  }`
338
356
  : index_js_1.kt.argument('headers'),
339
357
  ]),
@@ -10,6 +10,9 @@ export type GetEndpointMembers = {
10
10
  export type GetEndpointFunctionName = {
11
11
  endpoint: ApiEndpoint;
12
12
  };
13
+ export type GetEndpointDeprecatedAnnotations = {
14
+ endpoint: ApiEndpoint;
15
+ };
13
16
  export type GetEndpointFunction = {
14
17
  endpoint: ApiEndpoint;
15
18
  parameters: ApiParameterWithMultipartInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/spring-reactive-web-clients/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/spring-reactive-web-clients/args.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,13 @@ export declare class DefaultKotlinSpringReactiveWebClientGenerator extends Kotli
17
17
  protected getRequestsObject(ctx: Context, args: Args.GetRequestsObject): kt.Object<Builder>;
18
18
  protected getEndpointMembers(ctx: Context, args: Args.GetEndpointMembers): kt.ObjectMember<Builder>[];
19
19
  protected getEndpointFunctionName(ctx: Context, args: Args.GetEndpointFunctionName): string;
20
+ /**
21
+ * The Kotlin `@Deprecated` annotation for a deprecated operation, or nothing for a supported one. Every
22
+ * function generated for the operation carries it, matching what the OkHttp3 client generator does for
23
+ * the same input — including the empty message, which is what `kotlin.Deprecated` requires as its first
24
+ * positional argument.
25
+ */
26
+ protected getEndpointDeprecatedAnnotations(_ctx: Context, args: Args.GetEndpointDeprecatedAnnotations): kt.Annotation<Builder>[];
20
27
  protected getEndpointFunction(ctx: Context, args: Args.GetEndpointFunction): kt.Function<Builder>;
21
28
  protected getEndpointFunctionBody(ctx: Context, args: Args.GetEndpointFunctionBody): AppendValueGroup<Builder>;
22
29
  protected getEndpointFunctionWithHandler(ctx: Context, args: Args.GetEndpointFunctionWithHandler): kt.Function<Builder>;
@@ -1 +1 @@
1
- {"version":3,"file":"spring-reactive-web-client-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spring-reactive-web-client-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.ts"],"names":[],"mappings":"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"}
@@ -45,11 +45,21 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
45
45
  const { endpoint } = args;
46
46
  return (0, core_1.toCasing)(endpoint.name, ctx.config.functionNameCasing);
47
47
  }
48
+ /**
49
+ * The Kotlin `@Deprecated` annotation for a deprecated operation, or nothing for a supported one. Every
50
+ * function generated for the operation carries it, matching what the OkHttp3 client generator does for
51
+ * the same input — including the empty message, which is what `kotlin.Deprecated` requires as its first
52
+ * positional argument.
53
+ */
54
+ getEndpointDeprecatedAnnotations(_ctx, args) {
55
+ return args.endpoint.deprecated ? [index_js_1.kt.annotation(index_js_1.kt.refs.deprecated(), [index_js_1.kt.argument(index_js_1.kt.string(''))])] : [];
56
+ }
48
57
  getEndpointFunction(ctx, args) {
49
58
  const { endpoint, parameters, responseSchema } = args;
50
59
  const functionName = this.getEndpointFunctionName(ctx, { endpoint });
51
60
  return index_js_1.kt.function(functionName, {
52
61
  doc: index_js_1.kt.doc(this.getEndpointDocDescription(ctx, { endpoint })),
62
+ annotations: this.getEndpointDeprecatedAnnotations(ctx, { endpoint }),
53
63
  suspend: true,
54
64
  receiverType: index_js_1.kt.refs.springReactive.webClient(),
55
65
  parameters: parameters.map((parameter) => index_js_1.kt.parameter((0, core_1.toCasing)(parameter.name, ctx.config.parameterNameCasing), this.getParameterType(ctx, { endpoint, parameter }), { default: this.getParameterDefaultValue(ctx, { endpoint, parameter }) })),
@@ -85,11 +95,11 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
85
95
  const functionName = this.getEndpointFunctionName(ctx, { endpoint });
86
96
  return index_js_1.kt.function(functionName, {
87
97
  doc: index_js_1.kt.doc(this.getEndpointDocDescription(ctx, { endpoint })),
98
+ annotations: this.getEndpointDeprecatedAnnotations(ctx, { endpoint }),
88
99
  suspend: true,
89
- // Spring 7's `WebClient.awaitExchange` is `<V : Any>`, so the `<T>` overloads need an `Any` bound to infer.
90
- generics: [
91
- index_js_1.kt.genericParameter('T', ctx.config.springBootVersion === 4 ? { constraint: index_js_1.kt.refs.any() } : undefined),
92
- ],
100
+ // `WebClient.awaitExchange` is `<V : Any>` on both Spring lines, so the `<T>` overload needs the bound
101
+ // unconditionally. Defect 28 scoped it to Spring Boot 4, leaving every Boot 3 unit uncompilable.
102
+ generics: [index_js_1.kt.genericParameter('T', { constraint: index_js_1.kt.refs.any() })],
93
103
  receiverType: index_js_1.kt.refs.springReactive.webClient(),
94
104
  parameters: [
95
105
  ...parameters.map((parameter) => index_js_1.kt.parameter((0, core_1.toCasing)(parameter.name, ctx.config.parameterNameCasing), this.getParameterType(ctx, { endpoint, parameter }), { default: this.getParameterDefaultValue(ctx, { endpoint, parameter }) })),
@@ -119,6 +129,7 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
119
129
  const functionName = this.getEndpointRequestFunctionName(ctx, { endpoint });
120
130
  return index_js_1.kt.function(functionName, {
121
131
  doc: index_js_1.kt.doc(this.getEndpointDocDescription(ctx, { endpoint })),
132
+ annotations: this.getEndpointDeprecatedAnnotations(ctx, { endpoint }),
122
133
  receiverType: index_js_1.kt.refs.springReactive.webClient(),
123
134
  parameters: parameters.map((parameter) => index_js_1.kt.parameter((0, core_1.toCasing)(parameter.name, ctx.config.parameterNameCasing), this.getParameterType(ctx, { endpoint, parameter }), { default: this.getParameterDefaultValue(ctx, { endpoint, parameter }) })),
124
135
  returnType: index_js_1.kt.refs.springReactive.requestHeadersSpec(['*']),
@@ -192,9 +203,9 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
192
203
  const parameterName = (0, core_1.toCasing)(p.name, ctx.config.parameterNameCasing);
193
204
  const toString = this.getParameterToString(ctx, { endpoint, parameter: p });
194
205
  return p.required && !((_a = p.schema) === null || _a === void 0 ? void 0 : _a.nullable)
195
- ? index_js_1.kt.call(['headers', 'add'], [index_js_1.kt.string(p.name), parameterName + toString])
206
+ ? index_js_1.kt.call(['headers', 'add'], [index_js_1.kt.string(p.name), (0, core_1.builderTemplate) `${parameterName}${toString}`])
196
207
  : index_js_1.kt.call([`${parameterName}?`, 'also'], [
197
- index_js_1.kt.lambda([], index_js_1.kt.call(['headers', 'add'], [index_js_1.kt.string(p.name), 'it' + toString]), {
208
+ index_js_1.kt.lambda([], index_js_1.kt.call(['headers', 'add'], [index_js_1.kt.string(p.name), (0, core_1.builderTemplate) `it${toString}`]), {
198
209
  singleline: true,
199
210
  }),
200
211
  ]);
@@ -249,9 +260,11 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
249
260
  const parameterName = (0, core_1.toCasing)(p.name, ctx.config.parameterNameCasing);
250
261
  const toString = this.getParameterToString(ctx, { endpoint, parameter: p });
251
262
  return p.required && !((_a = p.schema) === null || _a === void 0 ? void 0 : _a.nullable)
252
- ? index_js_1.kt.call('queryParam', [index_js_1.kt.string(p.name), parameterName + toString])
263
+ ? index_js_1.kt.call('queryParam', [index_js_1.kt.string(p.name), (0, core_1.builderTemplate) `${parameterName}${toString}`])
253
264
  : index_js_1.kt.call([`${parameterName}?`, 'also'], [
254
- index_js_1.kt.lambda([], index_js_1.kt.call('queryParam', [index_js_1.kt.string(p.name), 'it' + toString]), { singleline: true }),
265
+ index_js_1.kt.lambda([], index_js_1.kt.call('queryParam', [index_js_1.kt.string(p.name), (0, core_1.builderTemplate) `it${toString}`]), {
266
+ singleline: true,
267
+ }),
255
268
  ]);
256
269
  }), '\n');
257
270
  }
@@ -263,6 +276,7 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
263
276
  const { endpoint, parameters } = args;
264
277
  const functionName = this.getEndpointUriFunctionName(ctx, { endpoint });
265
278
  return index_js_1.kt.function(functionName, {
279
+ annotations: this.getEndpointDeprecatedAnnotations(ctx, { endpoint }),
266
280
  parameters: parameters.filter((p) => p.target === 'path' || p.target === 'query').map((parameter) => index_js_1.kt.parameter((0, core_1.toCasing)(parameter.name, ctx.config.parameterNameCasing), this.getParameterType(ctx, { endpoint, parameter }), { default: this.getParameterDefaultValue(ctx, { endpoint, parameter }) })),
267
281
  returnType: index_js_1.kt.refs.string(),
268
282
  body: this.getEndpointUriFunctionBody(ctx, { endpoint, parameters }),
@@ -284,13 +298,14 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
284
298
  return result;
285
299
  }
286
300
  getParameterToString(ctx, args) {
287
- var _a, _b, _c;
301
+ var _a;
288
302
  const { parameter } = args;
289
303
  if (((_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.kind) === 'array') {
290
- return '.joinToString()';
304
+ const itemEnumSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(parameter.schema);
305
+ const itemEnumType = itemEnumSchema && this.getSchemaType(ctx, { schema: itemEnumSchema });
306
+ return itemEnumType ? (0, core_1.builderTemplate) `.joinToString(",", transform = ${itemEnumType}::value)` : '.joinToString(",")';
291
307
  }
292
- else if (((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.kind) === 'string' && ((_c = parameter.schema.enum) === null || _c === void 0 ? void 0 : _c.length) &&
293
- this.getSchemaType(ctx, { schema: parameter.schema })) {
308
+ else if ((0, utils_js_1.getStringEnumSchema)(parameter.schema) && this.getSchemaType(ctx, { schema: parameter.schema })) {
294
309
  return '.value';
295
310
  }
296
311
  else {
@@ -309,13 +324,19 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
309
324
  });
310
325
  }
311
326
  getParameterDefaultValue(ctx, args) {
312
- var _a, _b;
313
- const { parameter } = args;
314
- return !parameter.required
315
- ? ((_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.kind) === 'string' && parameter.schema.enum && parameter.schema.default
316
- ? (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema: parameter.schema, nullable: false })}.${(0, core_1.toCasing)(String(parameter.schema.default), ctx.config.enumValueNameCasing)}`
317
- : index_js_1.kt.toNode((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.default)
318
- : null;
327
+ const { schema } = args.parameter;
328
+ if (args.parameter.required) {
329
+ return null;
330
+ }
331
+ if ((0, utils_js_1.getStringEnumSchema)(schema) && (schema === null || schema === void 0 ? void 0 : schema.default)) {
332
+ return (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema, nullable: false })}.${this.toEnumValueName(ctx, schema.enum, schema.default)}`;
333
+ }
334
+ const itemEnumSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(schema);
335
+ if (itemEnumSchema && Array.isArray(schema === null || schema === void 0 ? void 0 : schema.default)) {
336
+ const itemType = this.getTypeUsage(ctx, { schema: itemEnumSchema, nullable: false });
337
+ return index_js_1.kt.call(index_js_1.kt.refs.listOf.infer(), schema.default.map((x) => (0, core_1.builderTemplate) `${itemType}.${this.toEnumValueName(ctx, itemEnumSchema.enum, x)}`));
338
+ }
339
+ return index_js_1.kt.toNode(schema === null || schema === void 0 ? void 0 : schema.default);
319
340
  }
320
341
  getTypeUsage(ctx, args) {
321
342
  const { schema, nullable, fallback } = args;
@@ -1 +1 @@
1
- {"version":3,"file":"import-collection.d.ts","sourceRoot":"","sources":["../../src/src/import-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAE5C,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,OAAO,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAI1D,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,OAAO,IAAI,YAAY,EAAE,CASnC;IAEM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IACvD,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAiBxC,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAMzC,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAMzD,OAAO,CAAC,OAAO,EAAE,aAAa;CAuBtC"}
1
+ {"version":3,"file":"import-collection.d.ts","sourceRoot":"","sources":["../../src/src/import-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAE5C,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,OAAO,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAI1D,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,OAAO,IAAI,YAAY,EAAE,CASnC;IAEM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IACvD,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAiBxC,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAMzC,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAMzD,OAAO,CAAC,OAAO,EAAE,aAAa;CAuBtC"}
@@ -78,7 +78,7 @@ class ImportCollection {
78
78
  else if (!isCoreImport(a) && isCoreImport(b)) {
79
79
  return -1;
80
80
  }
81
- return a.localeCompare(b);
81
+ return (0, core_1.compareString)(a, b);
82
82
  })
83
83
  .forEach((importPath) => builder.appendLine(`import ${importPath}`));
84
84
  }