@goast/kotlin 0.5.14 → 0.6.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/esm/src/ast/references/jackson.d.ts +8 -0
  2. package/esm/src/ast/references/jackson.d.ts.map +1 -1
  3. package/esm/src/ast/references/jackson.js +8 -0
  4. package/esm/src/generators/file-generator.d.ts +21 -1
  5. package/esm/src/generators/file-generator.d.ts.map +1 -1
  6. package/esm/src/generators/file-generator.js +41 -2
  7. package/esm/src/generators/models/args.d.ts +5 -0
  8. package/esm/src/generators/models/args.d.ts.map +1 -1
  9. package/esm/src/generators/models/model-generator.d.ts +23 -0
  10. package/esm/src/generators/models/model-generator.d.ts.map +1 -1
  11. package/esm/src/generators/models/model-generator.js +117 -9
  12. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +9 -0
  13. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +1 -1
  14. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +14 -3
  15. package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +1 -1
  16. package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +3 -1
  17. package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
  18. package/esm/src/generators/services/spring-controllers/spring-controller-generator.js +11 -3
  19. package/esm/src/generators/services/spring-reactive-web-clients/args.d.ts +3 -0
  20. package/esm/src/generators/services/spring-reactive-web-clients/args.d.ts.map +1 -1
  21. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +7 -0
  22. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +1 -1
  23. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +18 -6
  24. package/esm/src/import-collection.d.ts.map +1 -1
  25. package/esm/src/import-collection.js +2 -2
  26. package/package.json +2 -2
  27. package/script/src/ast/references/jackson.d.ts +8 -0
  28. package/script/src/ast/references/jackson.d.ts.map +1 -1
  29. package/script/src/ast/references/jackson.js +9 -1
  30. package/script/src/generators/file-generator.d.ts +21 -1
  31. package/script/src/generators/file-generator.d.ts.map +1 -1
  32. package/script/src/generators/file-generator.js +41 -2
  33. package/script/src/generators/models/args.d.ts +5 -0
  34. package/script/src/generators/models/args.d.ts.map +1 -1
  35. package/script/src/generators/models/model-generator.d.ts +23 -0
  36. package/script/src/generators/models/model-generator.d.ts.map +1 -1
  37. package/script/src/generators/models/model-generator.js +117 -9
  38. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +9 -0
  39. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +1 -1
  40. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +14 -3
  41. package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +1 -1
  42. package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +3 -1
  43. package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
  44. package/script/src/generators/services/spring-controllers/spring-controller-generator.js +11 -3
  45. package/script/src/generators/services/spring-reactive-web-clients/args.d.ts +3 -0
  46. package/script/src/generators/services/spring-reactive-web-clients/args.d.ts.map +1 -1
  47. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +7 -0
  48. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +1 -1
  49. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +18 -6
  50. package/script/src/import-collection.d.ts.map +1 -1
  51. package/script/src/import-collection.js +1 -1
  52. package/src/mod.ts +0 -8
  53. package/src/src/assets.ts +0 -9
  54. package/src/src/ast/_index.ts +0 -66
  55. package/src/src/ast/common.ts +0 -1
  56. package/src/src/ast/index.ts +0 -1
  57. package/src/src/ast/node.ts +0 -10
  58. package/src/src/ast/nodes/annotation.ts +0 -79
  59. package/src/src/ast/nodes/argument.ts +0 -62
  60. package/src/src/ast/nodes/call.ts +0 -75
  61. package/src/src/ast/nodes/class.ts +0 -178
  62. package/src/src/ast/nodes/collection-literal.ts +0 -49
  63. package/src/src/ast/nodes/constructor.ts +0 -126
  64. package/src/src/ast/nodes/doc-tag.ts +0 -138
  65. package/src/src/ast/nodes/doc.ts +0 -111
  66. package/src/src/ast/nodes/enum-value.ts +0 -100
  67. package/src/src/ast/nodes/enum.ts +0 -163
  68. package/src/src/ast/nodes/function.ts +0 -178
  69. package/src/src/ast/nodes/generic-parameter.ts +0 -54
  70. package/src/src/ast/nodes/init-block.ts +0 -38
  71. package/src/src/ast/nodes/interface.ts +0 -133
  72. package/src/src/ast/nodes/lambda-type.ts +0 -73
  73. package/src/src/ast/nodes/lambda.ts +0 -74
  74. package/src/src/ast/nodes/object.ts +0 -102
  75. package/src/src/ast/nodes/parameter.ts +0 -118
  76. package/src/src/ast/nodes/property.ts +0 -225
  77. package/src/src/ast/nodes/reference.ts +0 -178
  78. package/src/src/ast/nodes/string.ts +0 -114
  79. package/src/src/ast/nodes/types.ts +0 -23
  80. package/src/src/ast/references/index.ts +0 -10
  81. package/src/src/ast/references/jackson.ts +0 -59
  82. package/src/src/ast/references/jakarta.ts +0 -14
  83. package/src/src/ast/references/java.ts +0 -27
  84. package/src/src/ast/references/kotlin.ts +0 -41
  85. package/src/src/ast/references/kotlinx.ts +0 -14
  86. package/src/src/ast/references/okhttp3.ts +0 -5
  87. package/src/src/ast/references/reactor.ts +0 -5
  88. package/src/src/ast/references/spring-reactive.ts +0 -37
  89. package/src/src/ast/references/spring.ts +0 -86
  90. package/src/src/ast/references/swagger.ts +0 -23
  91. package/src/src/ast/utils/get-kotlin-builder-options.ts +0 -19
  92. package/src/src/ast/utils/to-kt-node.ts +0 -31
  93. package/src/src/ast/utils/write-kt-annotations.ts +0 -15
  94. package/src/src/ast/utils/write-kt-arguments.ts +0 -45
  95. package/src/src/ast/utils/write-kt-enum-values.ts +0 -27
  96. package/src/src/ast/utils/write-kt-generic-parameters.ts +0 -12
  97. package/src/src/ast/utils/write-kt-members.ts +0 -25
  98. package/src/src/ast/utils/write-kt-node.ts +0 -37
  99. package/src/src/ast/utils/write-kt-parameters.ts +0 -25
  100. package/src/src/common-results.ts +0 -4
  101. package/src/src/config.ts +0 -61
  102. package/src/src/file-builder.ts +0 -112
  103. package/src/src/generators/file-generator.ts +0 -29
  104. package/src/src/generators/index.ts +0 -5
  105. package/src/src/generators/models/args.ts +0 -136
  106. package/src/src/generators/models/index.ts +0 -4
  107. package/src/src/generators/models/model-generator.ts +0 -736
  108. package/src/src/generators/models/models-generator.ts +0 -65
  109. package/src/src/generators/models/models.ts +0 -95
  110. package/src/src/generators/services/okhttp3-clients/args.ts +0 -90
  111. package/src/src/generators/services/okhttp3-clients/index.ts +0 -4
  112. package/src/src/generators/services/okhttp3-clients/models.ts +0 -73
  113. package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +0 -627
  114. package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +0 -188
  115. package/src/src/generators/services/okhttp3-clients/refs.ts +0 -59
  116. package/src/src/generators/services/spring-controllers/args.ts +0 -95
  117. package/src/src/generators/services/spring-controllers/index.ts +0 -4
  118. package/src/src/generators/services/spring-controllers/models.ts +0 -76
  119. package/src/src/generators/services/spring-controllers/refs.ts +0 -17
  120. package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +0 -1122
  121. package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +0 -140
  122. package/src/src/generators/services/spring-reactive-web-clients/args.ts +0 -112
  123. package/src/src/generators/services/spring-reactive-web-clients/index.ts +0 -4
  124. package/src/src/generators/services/spring-reactive-web-clients/models.ts +0 -78
  125. package/src/src/generators/services/spring-reactive-web-clients/refs.ts +0 -11
  126. package/src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.ts +0 -641
  127. package/src/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.ts +0 -125
  128. package/src/src/import-collection.ts +0 -98
  129. package/src/src/types.ts +0 -3
  130. package/src/src/utils.ts +0 -55
@@ -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: [
@@ -298,12 +309,12 @@ class DefaultKotlinOkHttp3Generator extends file_generator_js_1.KotlinFileGenera
298
309
  return null;
299
310
  }
300
311
  if ((0, utils_js_1.getStringEnumSchema)(schema) && (schema === null || schema === void 0 ? void 0 : schema.default)) {
301
- return (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema, nullable: false })}.${(0, core_1.toCasing)(String(schema.default), ctx.config.enumValueNameCasing)}`;
312
+ return (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema, nullable: false })}.${this.toEnumValueName(ctx, schema.enum, schema.default)}`;
302
313
  }
303
314
  const itemEnumSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(schema);
304
315
  if (itemEnumSchema && Array.isArray(schema === null || schema === void 0 ? void 0 : schema.default)) {
305
316
  const itemType = this.getTypeUsage(ctx, { schema: itemEnumSchema, nullable: false });
306
- return index_js_1.kt.call(index_js_1.kt.refs.listOf.infer(), schema.default.map((x) => (0, core_1.builderTemplate) `${itemType}.${(0, core_1.toCasing)(String(x), ctx.config.enumValueNameCasing)}`));
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)}`));
307
318
  }
308
319
  return index_js_1.kt.toNode(schema === null || schema === void 0 ? void 0 : schema.default);
309
320
  }
@@ -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');
@@ -106,7 +108,7 @@ class KotlinOkHttp3ClientsGenerator extends core_1.OpenApiServicesGenerationProv
106
108
  ? (0, core_1.builderTemplate) `${index_js_1.kt.refs.jackson.jacksonMapperBuilder(springBootVersion)}()${core_1.builderTemplate.indent `
107
109
  .findAndAddModules()
108
110
  .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)
111
+ .configure(${index_js_1.kt.refs.jackson.dateTimeFeature()}.WRITE_DATES_AS_TIMESTAMPS, false)
110
112
  .configure(${index_js_1.kt.refs.jackson.deserializationFeature(springBootVersion)}.FAIL_ON_UNKNOWN_PROPERTIES, false)
111
113
  .build()`}`
112
114
  : (0, core_1.builderTemplate) `${index_js_1.kt.refs.jackson.jacksonObjectMapper(springBootVersion)}()${core_1.builderTemplate.indent `
@@ -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 }]
@@ -202,6 +206,10 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_js_1.KotlinF
202
206
  ? index_js_1.kt.argument.named('description', index_js_1.kt.string((_c = parameter.description) === null || _c === void 0 ? void 0 : _c.trim()))
203
207
  : null,
204
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,
205
213
  parameter.target === 'header' ? index_js_1.kt.argument.named('hidden', index_js_1.kt.toNode(true)) : null,
206
214
  ]);
207
215
  const schemaArgs = [];
@@ -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":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAIrB,KAAK,YAAY,EAGjB,aAAa,EAEd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,iDAAiD,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,KAAK,EACV,6CAA6C,EAC7C,4CAA4C,EAC7C,MAAM,aAAa,CAAC;AAErB,KAAK,OAAO,GAAG,6CAA6C,CAAC;AAC7D,KAAK,MAAM,GAAG,4CAA4C,CAAC;AAC3D,KAAK,OAAO,GAAG,iBAAiB,CAAC;AAEjC,MAAM,WAAW,sCAAsC,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACrF,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/C;AAED,qBAAa,6CAA8C,SAAQ,mBAAmB,CAAC,OAAO,EAAE,MAAM,CACpG,YAAW,sCAAsC;IAC1C,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;IAoBnD,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAKxG,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IAS3F,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;IAYrG,SAAS,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,GAAG,MAAM;IAK3F;;;;;OAKG;IACH,SAAS,CAAC,gCAAgC,CACxC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,IAAI,CAAC,gCAAgC,GAC1C,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;IAI3B,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAqBjG,SAAS,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,OAAO,CAAC;IA6B9G,SAAS,CAAC,8BAA8B,CACtC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,8BAA8B,GACxC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IA8BvB,SAAS,CAAC,kCAAkC,CAC1C,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,kCAAkC,GAC5C,gBAAgB,CAAC,OAAO,CAAC;IAiB5B,SAAS,CAAC,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,8BAA8B,GAAG,MAAM;IAKzG,SAAS,CAAC,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAoB/G,SAAS,CAAC,8BAA8B,CACtC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,8BAA8B,GACxC,gBAAgB,CAAC,OAAO,CAAC;IA8G5B;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAoC5F,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI;IAe/G,SAAS,CAAC,yBAAyB,CACjC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,yBAAyB,GACnC,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI;IAqBnC,SAAS,CAAC,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,0BAA0B,GAAG,MAAM;IAKjG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAkBvG,SAAS,CAAC,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,0BAA0B,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAsBpH,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAehG,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAWvF,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI;IAyB/G,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IASxF,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,GAAG,MAAM;IAOzE,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,GAAG,SAAS,GAAG,SAAS;IAM/F,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS;IAKxG,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,GAAG,6BAA6B,EAAE;IAmDtG,SAAS,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,GAAG,MAAM;IAU3F,SAAS,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAUlH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,GAAG,MAAM;IAQpE,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,MAAM;IAK3E,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,MAAM;IAMnE,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,GAAG,MAAM;IAIvF,OAAO,CAAC,kBAAkB;CAgB3B"}
@@ -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(['*']),
@@ -265,6 +276,7 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
265
276
  const { endpoint, parameters } = args;
266
277
  const functionName = this.getEndpointUriFunctionName(ctx, { endpoint });
267
278
  return index_js_1.kt.function(functionName, {
279
+ annotations: this.getEndpointDeprecatedAnnotations(ctx, { endpoint }),
268
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 }) })),
269
281
  returnType: index_js_1.kt.refs.string(),
270
282
  body: this.getEndpointUriFunctionBody(ctx, { endpoint, parameters }),
@@ -317,12 +329,12 @@ class DefaultKotlinSpringReactiveWebClientGenerator extends file_generator_js_1.
317
329
  return null;
318
330
  }
319
331
  if ((0, utils_js_1.getStringEnumSchema)(schema) && (schema === null || schema === void 0 ? void 0 : schema.default)) {
320
- return (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema, nullable: false })}.${(0, core_1.toCasing)(String(schema.default), ctx.config.enumValueNameCasing)}`;
332
+ return (0, core_1.builderTemplate) `${this.getTypeUsage(ctx, { schema, nullable: false })}.${this.toEnumValueName(ctx, schema.enum, schema.default)}`;
321
333
  }
322
334
  const itemEnumSchema = (0, utils_js_1.getArrayItemStringEnumSchema)(schema);
323
335
  if (itemEnumSchema && Array.isArray(schema === null || schema === void 0 ? void 0 : schema.default)) {
324
336
  const itemType = this.getTypeUsage(ctx, { schema: itemEnumSchema, nullable: false });
325
- return index_js_1.kt.call(index_js_1.kt.refs.listOf.infer(), schema.default.map((x) => (0, core_1.builderTemplate) `${itemType}.${(0, core_1.toCasing)(String(x), ctx.config.enumValueNameCasing)}`));
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)}`));
326
338
  }
327
339
  return index_js_1.kt.toNode(schema === null || schema === void 0 ? void 0 : schema.default);
328
340
  }
@@ -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
  }
package/src/mod.ts DELETED
@@ -1,8 +0,0 @@
1
- export * from './src/ast/index.js';
2
- export * from './src/common-results.js';
3
- export * from './src/config.js';
4
- export * from './src/file-builder.js';
5
- export * from './src/generators/index.js';
6
- export * from './src/import-collection.js';
7
- export * from './src/types.js';
8
- export * from './src/utils.js';
package/src/src/assets.ts DELETED
@@ -1,9 +0,0 @@
1
- import { AssetManager } from '@goast/core';
2
- import { pathToFileURL, URL } from 'node:url';
3
-
4
- declare const __filename: string | undefined;
5
- const scriptUrl = typeof __filename === 'undefined' ? import.meta.url : pathToFileURL(__filename);
6
-
7
- const manager = new AssetManager(new URL('../assets/', scriptUrl));
8
- export const getAssetFileContent = manager.getAssetFileContent.bind(manager);
9
- export const copyAssetFile = manager.copyAssetFile.bind(manager);
@@ -1,66 +0,0 @@
1
- export { type KtAccessModifier as AccessModifier } from './common.js';
2
- export { KtNode as Node } from './node.js';
3
- export {
4
- KtAnnotation as Annotation,
5
- ktAnnotation as annotation,
6
- type KtAnnotationTarget as AnnotationTarget,
7
- } from './nodes/annotation.js';
8
- export { KtArgument as Argument, ktArgument as argument } from './nodes/argument.js';
9
- export { KtCall as Call, ktCall as call } from './nodes/call.js';
10
- export {
11
- KtClass as Class,
12
- ktClass as class,
13
- type KtClassKind as ClassKind,
14
- type KtClassMember as ClassMember,
15
- } from './nodes/class.js';
16
- export {
17
- KtCollectionLiteral as CollectionLiteral,
18
- ktCollectionLiteral as collectionLiteral,
19
- } from './nodes/collection-literal.js';
20
- export {
21
- KtConstructor as Constructor,
22
- ktConstructor as constructor,
23
- type KtDelegateTarget as DelegateTarget,
24
- } from './nodes/constructor.js';
25
- export { KtDocTag as DocTag, ktDocTag as docTag } from './nodes/doc-tag.js';
26
- export { KtDoc as Doc, ktDoc as doc } from './nodes/doc.js';
27
- export {
28
- KtEnumValue as EnumValue,
29
- ktEnumValue as enumValue,
30
- type KtEnumValueMember as EnumValueMember,
31
- } from './nodes/enum-value.js';
32
- export { KtEnum as Enum, ktEnum as enum, type KtEnumMember as EnumMember } from './nodes/enum.js';
33
- export { KtFunction as Function, ktFunction as function } from './nodes/function.js';
34
- export {
35
- KtGenericParameter as GenericParameter,
36
- ktGenericParameter as genericParameter,
37
- } from './nodes/generic-parameter.js';
38
- export { KtInitBlock as InitBlock, ktInitBlock as initBlock } from './nodes/init-block.js';
39
- export {
40
- KtInterface as Interface,
41
- ktInterface as interface,
42
- type KtInterfaceMember as InterfaceMember,
43
- } from './nodes/interface.js';
44
- export { KtLambdaType as LambdaType, ktLambdaType as lambdaType } from './nodes/lambda-type.js';
45
- export { KtLambda as Lambda, ktLambda as lambda } from './nodes/lambda.js';
46
- export { KtObject as Object, ktObject as object, type KtObjectMember as ObjectMember } from './nodes/object.js';
47
- export { KtParameter as Parameter, ktParameter as parameter } from './nodes/parameter.js';
48
- export {
49
- KtProperty as Property,
50
- ktProperty as property,
51
- KtPropertyAccessor as PropertyAccessor,
52
- KtPropertyGetter as PropertyGetter,
53
- KtPropertySetter as PropertySetter,
54
- } from './nodes/property.js';
55
- export {
56
- type KtGenericReferenceFactory as GenericReferenceFactory,
57
- KtReference as Reference,
58
- ktReference as reference,
59
- type KtReferenceFactory as ReferenceFactory,
60
- } from './nodes/reference.js';
61
- export { KtString as String, ktString as string } from './nodes/string.js';
62
- export { type KtType as Type, type KtValue as Value } from './nodes/types.js';
63
- export * as refs from './references/index.js';
64
- export { getKotlinBuilderOptions as getBuilderOptions } from './utils/get-kotlin-builder-options.js';
65
- export { toKtNode as toNode } from './utils/to-kt-node.js';
66
- export { writeKtNode as writeNode, writeKtNodes as writeNodes } from './utils/write-kt-node.js';
@@ -1 +0,0 @@
1
- export type KtAccessModifier = 'public' | 'protected' | 'internal' | 'private';
@@ -1 +0,0 @@
1
- export * as kt from './_index.js';
@@ -1,10 +0,0 @@
1
- import { AstNode, type AstNodeOptions, type SourceBuilder } from '@goast/core';
2
-
3
- export abstract class KtNode<TBuilder extends SourceBuilder, TInjects extends string = never> extends AstNode<
4
- TBuilder,
5
- TInjects
6
- > {
7
- constructor(options: AstNodeOptions<typeof AstNode<TBuilder, TInjects>>) {
8
- super(options);
9
- }
10
- }
@@ -1,79 +0,0 @@
1
- import { type AstNodeOptions, notNullish, type Nullable, type Prettify, type SourceBuilder } from '@goast/core';
2
-
3
- import { KtNode } from '../node.js';
4
- import { writeKtAnnotations } from '../utils/write-kt-annotations.js';
5
- import { writeKtNode } from '../utils/write-kt-node.js';
6
- import { type KtArgument, ktArgument } from './argument.js';
7
- import type { KtType, KtValue } from './types.js';
8
-
9
- type Injects = 'class' | 'target' | 'arguments';
10
-
11
- type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
12
- typeof KtNode<TBuilder, TInjects | Injects>,
13
- {
14
- class: KtType<TBuilder>;
15
- arguments?: Nullable<Nullable<KtArgument<TBuilder> | KtValue<TBuilder>>[]>;
16
- target?: Nullable<KtAnnotationTarget>;
17
- }
18
- >;
19
-
20
- export type KtAnnotationTarget =
21
- | 'file'
22
- | 'property'
23
- | 'field'
24
- | 'get'
25
- | 'set'
26
- | 'receiver'
27
- | 'param'
28
- | 'setparam'
29
- | 'delegate';
30
-
31
- export class KtAnnotation<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
32
- TBuilder,
33
- TInjects | Injects
34
- > {
35
- public class: KtType<TBuilder>;
36
- public arguments: (KtArgument<TBuilder> | KtValue<TBuilder>)[];
37
- public target: KtAnnotationTarget | null;
38
-
39
- constructor(options: Options<TBuilder, TInjects>) {
40
- super(options);
41
- this.class = options.class;
42
- this.arguments = options.arguments?.filter(notNullish) ?? [];
43
- this.target = options.target ?? null;
44
- }
45
-
46
- protected override onWrite(builder: TBuilder): void {
47
- builder.append('@');
48
-
49
- if (this.target) {
50
- builder.append(this.inject.beforeTarget);
51
- builder.append(this.target);
52
- builder.append(this.inject.afterTarget);
53
- builder.append(':');
54
- }
55
-
56
- builder.append(this.inject.beforeClass);
57
- writeKtNode(builder, this.class);
58
- builder.append(this.inject.afterClass);
59
-
60
- if (this.arguments.length > 0) {
61
- builder.append(this.inject.beforeArguments);
62
- ktArgument.write(builder, this.arguments);
63
- builder.append(this.inject.afterArguments);
64
- }
65
- }
66
- }
67
-
68
- const createAnnotation = <TBuilder extends SourceBuilder>(
69
- $class: Options<TBuilder>['class'],
70
- $arguments?: Options<TBuilder>['arguments'],
71
- options?: Prettify<Omit<Options<TBuilder>, 'class' | 'arguments'>>,
72
- ): KtAnnotation<TBuilder> => new KtAnnotation<TBuilder>({ ...options, class: $class, arguments: $arguments });
73
-
74
- export const ktAnnotation: typeof createAnnotation & { write: typeof writeKtAnnotations } = Object.assign(
75
- createAnnotation,
76
- {
77
- write: writeKtAnnotations,
78
- },
79
- );
@@ -1,62 +0,0 @@
1
- import type { AstNodeOptions, Nullable, Prettify, SourceBuilder } from '@goast/core';
2
-
3
- import { KtNode } from '../node.js';
4
- import { writeKtArguments } from '../utils/write-kt-arguments.js';
5
- import { writeKtNode } from '../utils/write-kt-node.js';
6
- import type { KtValue } from './types.js';
7
-
8
- type Injects = 'name' | 'value';
9
-
10
- type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
11
- typeof KtNode<TBuilder, TInjects | Injects>,
12
- {
13
- name?: Nullable<string>;
14
- value: KtValue<TBuilder>;
15
- }
16
- >;
17
-
18
- export class KtArgument<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
19
- TBuilder,
20
- TInjects | Injects
21
- > {
22
- public name: string | null;
23
- public value: KtValue<TBuilder>;
24
-
25
- constructor(options: Options<TBuilder, TInjects>) {
26
- super(options);
27
- this.name = options?.name ?? null;
28
- this.value = options.value;
29
- }
30
-
31
- protected override onWrite(builder: TBuilder): void {
32
- if (this.name) {
33
- builder.append(this.inject.beforeName);
34
- builder.append(this.name);
35
- builder.append(this.inject.afterName);
36
- builder.append(' = ');
37
- }
38
-
39
- builder.append(this.inject.beforeValue);
40
- writeKtNode(builder, this.value);
41
- builder.append(this.inject.afterValue);
42
- }
43
- }
44
-
45
- const createArgument = <TBuilder extends SourceBuilder>(
46
- value: Options<TBuilder>['value'],
47
- options?: Prettify<Omit<Options<TBuilder>, 'value'>>,
48
- ): KtArgument<TBuilder> => new KtArgument<TBuilder>({ ...options, value });
49
-
50
- const createNamedArgument = <TBuilder extends SourceBuilder>(
51
- name: Options<TBuilder>['name'],
52
- value: Options<TBuilder>['value'],
53
- options?: Prettify<Omit<Options<TBuilder>, 'value' | 'name'>>,
54
- ): KtArgument<TBuilder> => new KtArgument<TBuilder>({ ...options, value, name });
55
-
56
- export const ktArgument: typeof createArgument & {
57
- named: typeof createNamedArgument;
58
- write: typeof writeKtArguments;
59
- } = Object.assign(createArgument, {
60
- named: createNamedArgument,
61
- write: writeKtArguments,
62
- });
@@ -1,75 +0,0 @@
1
- import {
2
- type ArrayItem,
3
- type AstNodeOptions,
4
- notNullish,
5
- type Nullable,
6
- type Prettify,
7
- type SourceBuilder,
8
- } from '@goast/core';
9
-
10
- import { KtNode } from '../node.js';
11
- import { writeKtNode, writeKtNodes } from '../utils/write-kt-node.js';
12
- import { type KtArgument, ktArgument } from './argument.js';
13
- import type { KtType, KtValue } from './types.js';
14
-
15
- type Injects = never;
16
-
17
- type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
18
- typeof KtNode<TBuilder, TInjects | Injects>,
19
- {
20
- path: Nullable<KtType<TBuilder> | KtValue<TBuilder>>[];
21
- arguments?: Nullable<Nullable<KtArgument<TBuilder> | KtValue<TBuilder>>[]>;
22
- infix?: boolean;
23
- }
24
- >;
25
-
26
- export class KtCall<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
27
- TBuilder,
28
- TInjects | Injects
29
- > {
30
- public path: (KtType<TBuilder> | KtValue<TBuilder>)[];
31
- public arguments: (KtArgument<TBuilder> | KtValue<TBuilder>)[] | null;
32
- public infix: boolean;
33
-
34
- constructor(options: Options<TBuilder, TInjects>) {
35
- super(options);
36
- this.path = options.path.filter(notNullish);
37
- this.arguments = options.arguments?.filter(notNullish) ?? null;
38
- this.infix = options.infix ?? false;
39
- }
40
-
41
- protected override onWrite(builder: TBuilder): void {
42
- if (this.infix && this.arguments?.length === 1 && this.path.length > 1) {
43
- writeKtNodes(builder, this.path.slice(0, 1), { separator: '.' });
44
- builder.append(' ');
45
- writeKtNode(builder, this.path.at(-1));
46
- builder.append(' ');
47
- writeKtNode(builder, this.arguments[0]);
48
- } else {
49
- if (this.path.length > 2) {
50
- writeKtNode(builder, this.path[0]);
51
- builder.ensureCurrentLineEmpty();
52
- builder.indent((builder) => {
53
- builder.append('.');
54
- writeKtNodes(builder, this.path.slice(1), { separator: '\n.' });
55
- });
56
- } else {
57
- writeKtNodes(builder, this.path, { separator: '.' });
58
- }
59
-
60
- if (this.arguments) {
61
- ktArgument.write(builder, this.arguments);
62
- }
63
- }
64
- }
65
- }
66
-
67
- const createCall = <TBuilder extends SourceBuilder>(
68
- path: Options<TBuilder>['path'] | ArrayItem<Options<TBuilder>['path']>,
69
- args?: Options<TBuilder>['arguments'],
70
- options?: Prettify<Omit<Options<TBuilder>, 'path' | 'arguments'>>,
71
- ): KtCall<TBuilder> => new KtCall<TBuilder>({ ...options, path: Array.isArray(path) ? path : [path], arguments: args });
72
-
73
- export const ktCall: typeof createCall & { write: typeof writeKtNodes } = Object.assign(createCall, {
74
- write: writeKtNodes,
75
- });