@asyncapi/generator 2.8.3 → 2.11.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 (225) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +3 -0
  3. package/docs/api.md +1 -50
  4. package/docs/baked-in-templates.md +1 -1
  5. package/docs/jsdoc2md-handlebars/main-index/global-index/global-index-dl.hbs +13 -0
  6. package/docs/jsdoc2md-handlebars/member-index-grouped.hbs +6 -0
  7. package/docs/jsdoc2md-handlebars/member-index-list.hbs +6 -0
  8. package/docs/jsdoc2md-handlebars/members.hbs +1 -0
  9. package/docs/migration-nunjucks-react.md +2 -2
  10. package/jest.config.js +7 -5
  11. package/lib/__mocks__/templateConfigValidator.js +1 -1
  12. package/lib/generator.js +4 -59
  13. package/lib/templates/BakedInTemplatesList.json +7 -0
  14. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/.ageneratorrc +33 -0
  15. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/README.md +35 -0
  16. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js +30 -0
  17. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js.map +1 -0
  18. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js +46 -0
  19. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js.map +1 -0
  20. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js +30 -0
  21. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js.map +1 -0
  22. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js +26 -0
  23. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js.map +1 -0
  24. package/lib/templates/bakedInTemplates/{core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js → core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js} +7 -8
  25. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js.map +1 -0
  26. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js +44 -0
  27. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js.map +1 -0
  28. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js +46 -0
  29. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js.map +1 -0
  30. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js +48 -0
  31. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js.map +1 -0
  32. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js +26 -0
  33. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js.map +1 -0
  34. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js +40 -0
  35. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js.map +1 -0
  36. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js +18 -0
  37. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js.map +1 -0
  38. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js +18 -0
  39. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js.map +1 -0
  40. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js +18 -0
  41. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js.map +1 -0
  42. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/jest.config.js +13 -0
  43. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/jest.config.js.map +1 -0
  44. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +183 -0
  45. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -0
  46. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js +86 -0
  47. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js.map +1 -0
  48. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +19 -0
  49. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -0
  50. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js +102 -0
  51. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js.map +1 -0
  52. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +73 -0
  53. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -0
  54. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientConsumer.js +20 -0
  55. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientEndpoint.js +32 -0
  56. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientProducer.js +21 -0
  57. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumeEvent.js +18 -0
  58. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumerFields.js +9 -0
  59. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/EndpointFields.js +40 -0
  60. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/MiddleService.js +37 -0
  61. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProduceEvent.js +39 -0
  62. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProducerFields.js +16 -0
  63. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/SendEvent.js +33 -0
  64. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ConsumerDependencies.js +11 -0
  65. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/EndpointDependencies.js +11 -0
  66. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ProducerDependencies.js +11 -0
  67. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/jest.config.js +14 -0
  68. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/package.json +49 -0
  69. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.dockerignore +5 -0
  70. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/MavenWrapperDownloader.java +93 -0
  71. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/maven-wrapper.properties +20 -0
  72. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/README.md +59 -0
  73. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw +332 -0
  74. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw.cmd +206 -0
  75. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/pom.xml +123 -0
  76. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/Dockerfile.jvm +98 -0
  77. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/docker-compose.yaml +28 -0
  78. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +27 -0
  79. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/consumer.java.js +22 -0
  80. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +6 -0
  81. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/producer.java.js +23 -0
  82. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/resources/AppProperties.js +75 -0
  83. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js +10 -5
  84. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js.map +1 -1
  85. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/jest.config.js +13 -0
  86. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/jest.config.js.map +1 -0
  87. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js +10 -74
  88. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js.map +1 -1
  89. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/ClientClass.js +11 -7
  90. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/jest.config.js +14 -0
  91. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/package.json +1 -15
  92. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/README.md +88 -6
  93. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js +22 -5
  94. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js.map +1 -1
  95. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js +19 -2
  96. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js.map +1 -1
  97. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js +8 -2
  98. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js.map +1 -1
  99. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js +44 -0
  100. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js.map +1 -0
  101. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js +28 -0
  102. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js.map +1 -0
  103. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js +32 -0
  104. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js.map +1 -0
  105. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js +20 -5
  106. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js.map +1 -1
  107. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js +1 -2
  108. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js.map +1 -1
  109. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js +23 -33
  110. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js.map +1 -1
  111. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js +42 -9
  112. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js.map +1 -1
  113. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js +39 -0
  114. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js.map +1 -0
  115. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js +63 -0
  116. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js.map +1 -0
  117. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js +13 -17
  118. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js.map +1 -1
  119. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js +16 -15
  120. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js.map +1 -1
  121. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/jest.config.js +13 -0
  122. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/jest.config.js.map +1 -0
  123. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +153 -57
  124. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -1
  125. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js +152 -51
  126. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js.map +1 -1
  127. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +2 -35
  128. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -1
  129. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +3 -1
  130. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -1
  131. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientConnector.js +12 -5
  132. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientFields.js +18 -2
  133. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConnectorFields.js +7 -2
  134. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/Constructor.js +30 -0
  135. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConstructorSignature.js +19 -0
  136. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/DefaultConstructorSignature.js +23 -0
  137. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/EchoWebSocket.js +17 -7
  138. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/HandleError.js +2 -2
  139. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/InitConnector.js +13 -30
  140. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnTextMessageHandler.js +55 -15
  141. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/TimedConnection.js +31 -0
  142. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/URIParams.js +60 -0
  143. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ClientDependencies.js +12 -18
  144. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ConnectorDependencies.js +16 -16
  145. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/jest.config.js +14 -0
  146. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/package.json +1 -15
  147. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/pom.xml +15 -1
  148. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +4 -3
  149. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/connector.java.js +7 -3
  150. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +2 -32
  151. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/resources/AppProperties.js +5 -2
  152. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/.ageneratorrc +8 -0
  153. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js +15 -7
  154. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js.map +1 -1
  155. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/CompileOperationSchemas.js +48 -0
  156. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/CompileOperationSchemas.js.map +1 -0
  157. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js +7 -1
  158. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js.map +1 -1
  159. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/jest.config.js +13 -0
  160. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/jest.config.js.map +1 -0
  161. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js +51 -116
  162. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js.map +1 -1
  163. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/ClientClass.js +19 -11
  164. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/CompileOperationSchemas.js +40 -0
  165. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Constructor.js +7 -1
  166. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/jest.config.js +14 -0
  167. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/package.json +5 -18
  168. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/template/client.js.js +5 -1
  169. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/README.md +20 -5
  170. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js +15 -8
  171. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js.map +1 -1
  172. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js +3 -2
  173. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js.map +1 -1
  174. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/jest.config.js +13 -0
  175. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/jest.config.js.map +1 -0
  176. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js +41 -174
  177. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js.map +1 -1
  178. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/ClientClass.js +20 -10
  179. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Constructor.js +5 -2
  180. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/jest.config.js +14 -0
  181. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/package.json +1 -15
  182. package/lib/templates/config/loader.js +64 -0
  183. package/lib/{templateConfigValidator.js → templates/config/validator.js} +2 -2
  184. package/package.json +3 -3
  185. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js +0 -60
  186. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js.map +0 -1
  187. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js +0 -21
  188. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js.map +0 -1
  189. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js +0 -21
  190. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  191. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/Connect.js +0 -49
  192. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/HandleMessage.js +0 -14
  193. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/RegisterErrorHandler.js +0 -14
  194. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js +0 -23
  195. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js.map +0 -1
  196. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js +0 -25
  197. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js.map +0 -1
  198. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnClose.js +0 -16
  199. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnOpen.js +0 -16
  200. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js +0 -63
  201. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js.map +0 -1
  202. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js.map +0 -1
  203. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js +0 -25
  204. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  205. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js +0 -53
  206. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js.map +0 -1
  207. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Connect.js +0 -54
  208. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/HandleMessage.js +0 -14
  209. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/RegisterErrorHandler.js +0 -18
  210. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/SendOperation.js +0 -44
  211. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js +0 -58
  212. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js.map +0 -1
  213. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js +0 -24
  214. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js.map +0 -1
  215. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js +0 -36
  216. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js.map +0 -1
  217. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js +0 -23
  218. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  219. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js +0 -56
  220. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js.map +0 -1
  221. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Connect.js +0 -49
  222. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/HandleMessage.js +0 -17
  223. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/QueryParamsVariables.js +0 -27
  224. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/RegisterErrorHandler.js +0 -16
  225. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/SendOperation.js +0 -50
@@ -6,73 +6,121 @@ var generatorReactSdk = require('@asyncapi/generator-react-sdk');
6
6
  var generatorComponents = require('@asyncapi/generator-components');
7
7
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
8
8
 
9
- function ClientDependencies() {
10
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
11
- children: /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
12
- children: `
13
- package com.asyncapi;
14
-
15
- import io.quarkus.websockets.next.WebSocketClient;
16
- import io.quarkus.websockets.next.WebSocketClientConnection;
17
- import io.quarkus.websockets.next.OnOpen;
18
- import io.quarkus.websockets.next.OnClose;
19
- import io.quarkus.websockets.next.OnError;
20
- import io.quarkus.websockets.next.OnTextMessage;
21
- import io.quarkus.websockets.next.CloseReason;
22
- import jakarta.inject.Inject;
23
- import io.quarkus.logging.Log;`
24
- })
9
+ function ClientDependencies({
10
+ queryParams
11
+ }) {
12
+ const additionalDependencies = [];
13
+ if (queryParams) {
14
+ additionalDependencies.push('import java.util.HashMap;');
15
+ }
16
+ return /*#__PURE__*/jsxRuntime.jsx(generatorComponents.DependencyProvider, {
17
+ language: "java",
18
+ framework: "quarkus",
19
+ role: "client",
20
+ additionalDependencies: additionalDependencies
25
21
  });
26
22
  }
27
23
 
28
- function ClientFields() {
24
+ function ClientFields({
25
+ queryParams,
26
+ clientName
27
+ }) {
28
+ let queryParamsVariables = '';
29
+ const queryParamsArray = queryParams && Array.from(queryParams.entries());
30
+ if (queryParamsArray && queryParamsArray.length > 0) {
31
+ queryParamsVariables = '\nprivate HashMap<String, String> params;\n';
32
+ queryParamsVariables += queryParamsArray.map(param => {
33
+ const paramName = generatorHelpers.toCamelCase(param[0]);
34
+ return `private String ${paramName};`;
35
+ }).join('\n');
36
+ }
29
37
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
30
38
  indent: 2,
31
39
  newLines: 2,
32
40
  children: `@Inject
33
- WebSocketClientConnection connection;`
41
+ public WebSocketClientConnection connection;
42
+
43
+ private static final Logger LOG = Logger.getLogger(${clientName}.class);
44
+
45
+ ${queryParamsVariables}`
34
46
  });
35
47
  }
36
48
 
37
- function HandleError() {
49
+ function ConstructorSignature({
50
+ clientName,
51
+ queryParams
52
+ }) {
53
+ if (!queryParams) {
54
+ return;
55
+ }
56
+ const queryParamsArguments = queryParams === null || queryParams === void 0 ? void 0 : queryParams.map(param => {
57
+ const paramName = generatorHelpers.toCamelCase(param[0]);
58
+ return `String ${paramName}`; // assuming the default values of the parameters are strings
59
+ }).join(', ');
38
60
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
39
- newLines: 2,
40
61
  indent: 2,
41
- children: `@OnError
42
- public void onError(Throwable throwable) {
43
- Log.error("Websocket connection error: " + throwable.getMessage());
44
- }
45
- `
62
+ children: `public ${clientName}(${queryParamsArguments}){`
46
63
  });
47
64
  }
48
65
 
49
- function OnClose({
50
- title
66
+ function DefaultConstructorSignature({
67
+ clientName,
68
+ queryParams
51
69
  }) {
52
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
53
- children: `
54
- @OnClose
55
- public void onClose(CloseReason reason, WebSocketClientConnection connection) {
56
- int code = reason.getCode();
57
- Log.info("Websocket disconnected from ${title} with Close code: " + code);
70
+ if (!queryParams || !Array.isArray(queryParams)) {
71
+ return null;
58
72
  }
59
- }
60
- `
73
+ const argDefaultValues = [];
74
+ queryParams.forEach(param => {
75
+ const paramDefaultValue = param[1];
76
+ const defaultValue = paramDefaultValue ? `"${paramDefaultValue}"` : 'null';
77
+ argDefaultValues.push(defaultValue);
78
+ });
79
+ return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
80
+ indent: 2,
81
+ newLines: 2,
82
+ children: `public ${clientName}(){
83
+ this(${argDefaultValues.join(', ')});
84
+ }`
61
85
  });
62
86
  }
63
87
 
64
- function OnOpen({
65
- title
88
+ function Constructor({
89
+ clientName,
90
+ query
66
91
  }) {
92
+ const queryParamsArray = query && Array.from(query.entries());
93
+ if (!queryParamsArray || queryParamsArray.length === 0) {
94
+ return;
95
+ }
96
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
97
+ children: [/*#__PURE__*/jsxRuntime.jsx(DefaultConstructorSignature, {
98
+ clientName: clientName,
99
+ queryParams: queryParamsArray
100
+ }), /*#__PURE__*/jsxRuntime.jsx(ConstructorSignature, {
101
+ clientName: clientName,
102
+ queryParams: queryParamsArray
103
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
104
+ indent: 6,
105
+ children: `${queryParamsArray && queryParamsArray.length > 0 ? 'params = new HashMap<>(); ' : ''}`
106
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.QueryParamsVariables, {
107
+ language: "java",
108
+ framework: "quarkus",
109
+ queryParams: queryParamsArray
110
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
111
+ indent: 2,
112
+ newLines: 2,
113
+ children: '}'
114
+ })]
115
+ });
116
+ }
117
+
118
+ function HandleError() {
67
119
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
68
- newLines: 1,
69
120
  indent: 2,
70
- children: `
71
- @OnOpen
72
- public void onOpen() {
73
- String broadcastMessage = "Echo called from ${title} server";
74
- Log.info("Connected to ${title} server");
75
- Log.info(broadcastMessage);
121
+ children: `@OnError
122
+ public void onError(Throwable throwable) {
123
+ LOG.error("Websocket connection error: " + throwable.getMessage());
76
124
  }
77
125
  `
78
126
  });
@@ -81,21 +129,53 @@ public void onOpen() {
81
129
  function OnTextMessage({
82
130
  sendOperations
83
131
  }) {
84
- if (!sendOperations || sendOperations.length === 0) {
85
- return null;
86
- }
87
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
88
- children: sendOperations.map(operation => {
132
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
133
+ children: [
134
+ // If there are operations, emit a single @OnTextMessage
135
+ sendOperations && sendOperations.length !== 0 && /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
136
+ newLines: 2,
137
+ indent: 2,
138
+ children: `@OnTextMessage
139
+ public void handleTextMessage(String message, WebSocketClientConnection connection) {
140
+ LOG.info("Handler received text message: " + message);
141
+ ${sendOperations.map((operation, idx) => {
142
+ const methodName = operation.id();
143
+ const javaMethodName = generatorHelpers.toCamelCase(methodName);
144
+ const condition = idx === 0 ? ` if (message != null && message.contains("${methodName}")) {` : ` else if (message != null && message.contains("${methodName}")) {`;
145
+ return `${condition}
146
+ ${javaMethodName}(message, connection);
147
+ }`;
148
+ }).join('\n')}
149
+ else {
150
+ LOG.warn("Handler received unrecognized message type. Falling back to default handler.");
151
+ // Note: By default, we route unrecognized messages to the first operation handler.
152
+ // Depending on your business logic, you may want to change this behavior.
153
+ ${generatorHelpers.toCamelCase(sendOperations[0].id())}(message, connection);
154
+ }
155
+ }`
156
+ }),
157
+ // Generate handlers for each operation
158
+ sendOperations && sendOperations.length !== 0 && sendOperations.map(operation => {
89
159
  const methodName = operation.id();
160
+ const javaMethodName = generatorHelpers.toCamelCase(methodName);
90
161
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
91
162
  newLines: 2,
92
163
  indent: 2,
93
- children: `@OnTextMessage
94
- public void ${methodName}(String message, WebSocketClientConnection connection) {
95
- Log.info("Received text message: " + message);
164
+ children: `public void ${javaMethodName}(String message, WebSocketClientConnection connection) {
165
+ LOG.info("Processing ${methodName} type message: " + message);
166
+ // TODO: implement processing logic for ${methodName}
96
167
  }`
97
168
  });
98
- })
169
+ }),
170
+ // No operations provided need a default handler
171
+ (!sendOperations || sendOperations.length === 0) && /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
172
+ newLines: 2,
173
+ indent: 2,
174
+ children: `@OnTextMessage
175
+ public void processTextMessage(String message, WebSocketClientConnection connection) {
176
+ LOG.info("Received text message: " + message);
177
+ }`
178
+ })]
99
179
  });
100
180
  }
101
181
 
@@ -103,6 +183,7 @@ function EchoWebSocket({
103
183
  clientName,
104
184
  pathName,
105
185
  title,
186
+ queryParams,
106
187
  operations
107
188
  }) {
108
189
  const sendOperations = operations.filterBySend();
@@ -112,13 +193,24 @@ function EchoWebSocket({
112
193
  return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.Text, {
113
194
  children: [/*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
114
195
  newLines: 2,
115
- children: `@WebSocketClient(path = "${pathName}")
196
+ children: `
197
+ @WebSocketClient(path = "${pathName}")
116
198
  public class ${clientName}{`
117
- }), /*#__PURE__*/jsxRuntime.jsx(ClientFields, {}), /*#__PURE__*/jsxRuntime.jsx(OnOpen, {
199
+ }), /*#__PURE__*/jsxRuntime.jsx(ClientFields, {
200
+ queryParams: queryParams,
201
+ clientName: clientName
202
+ }), /*#__PURE__*/jsxRuntime.jsx(Constructor, {
203
+ clientName: clientName,
204
+ query: queryParams
205
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.OnOpen, {
206
+ language: "java",
207
+ framework: "quarkus",
118
208
  title: title
119
209
  }), /*#__PURE__*/jsxRuntime.jsx(OnTextMessage, {
120
210
  sendOperations: sendOperations
121
- }), /*#__PURE__*/jsxRuntime.jsx(HandleError, {}), /*#__PURE__*/jsxRuntime.jsx(OnClose, {
211
+ }), /*#__PURE__*/jsxRuntime.jsx(HandleError, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.OnClose, {
212
+ language: "java",
213
+ framework: "quarkus",
122
214
  title: title
123
215
  })]
124
216
  });
@@ -131,6 +223,7 @@ async function client_java ({
131
223
  const server = generatorHelpers.getServer(asyncapi.servers(), params.server);
132
224
  const info = generatorHelpers.getInfo(asyncapi);
133
225
  const title = generatorHelpers.getTitle(asyncapi);
226
+ const queryParams = generatorHelpers.getQueryParams(asyncapi.channels());
134
227
  const clientName = generatorHelpers.getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
135
228
  const operations = asyncapi.operations();
136
229
  const clientJavaName = `${clientName}.java`;
@@ -141,10 +234,13 @@ async function client_java ({
141
234
  info: info,
142
235
  server: server,
143
236
  language: "java"
144
- }), /*#__PURE__*/jsxRuntime.jsx(ClientDependencies, {}), /*#__PURE__*/jsxRuntime.jsx(EchoWebSocket, {
237
+ }), /*#__PURE__*/jsxRuntime.jsx(ClientDependencies, {
238
+ queryParams: queryParams
239
+ }), /*#__PURE__*/jsxRuntime.jsx(EchoWebSocket, {
145
240
  clientName: clientName,
146
241
  pathName: pathName,
147
242
  title: title,
243
+ queryParams: queryParams,
148
244
  operations: operations
149
245
  })]
150
246
  });
@@ -1 +1 @@
1
- {"version":3,"file":"client.java.js","sources":["../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/dependencies/ClientDependencies.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ClientFields.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/HandleError.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/OnClose.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/OnOpen.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/OnTextMessageHandler.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/EchoWebSocket.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/client.java.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientDependencies() {\n return (\n <Text>\n <Text>\n {`\npackage com.asyncapi;\n\nimport io.quarkus.websockets.next.WebSocketClient;\nimport io.quarkus.websockets.next.WebSocketClientConnection;\nimport io.quarkus.websockets.next.OnOpen;\nimport io.quarkus.websockets.next.OnClose;\nimport io.quarkus.websockets.next.OnError;\nimport io.quarkus.websockets.next.OnTextMessage;\nimport io.quarkus.websockets.next.CloseReason;\nimport jakarta.inject.Inject;\nimport io.quarkus.logging.Log;`}\n </Text>\n </Text>\n );\n}\n\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientFields() {\n return (\n <Text indent={2} newLines={2}>\n {`@Inject\nWebSocketClientConnection connection;`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function HandleError() {\n return (\n <Text newLines={2} indent={2}>\n {`@OnError\npublic void onError(Throwable throwable) {\n Log.error(\"Websocket connection error: \" + throwable.getMessage());\n}\n`}\n </Text>\n );\n}\n\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function OnClose({ title }) {\n return (\n <Text>\n {`\n @OnClose\n public void onClose(CloseReason reason, WebSocketClientConnection connection) {\n int code = reason.getCode();\n Log.info(\"Websocket disconnected from ${title} with Close code: \" + code);\n }\n}\n`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function OnOpen({ title }) {\n return (\n <Text newLines={1} indent={2}>\n {`\n@OnOpen\npublic void onOpen() {\n String broadcastMessage = \"Echo called from ${title} server\";\n Log.info(\"Connected to ${title} server\");\n Log.info(broadcastMessage);\n}\n`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function OnTextMessage({sendOperations}) {\n if (!sendOperations || sendOperations.length === 0) {\n return null;\n }\n\n return (\n <>\n {\n sendOperations.map((operation) => {\n const methodName = operation.id(); \n return (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void ${methodName}(String message, WebSocketClientConnection connection) {\n Log.info(\"Received text message: \" + message);\n}`}\n </Text>\n );\n })\n }\n </>\n );\n}","import { ClientFields } from './ClientFields.js';\nimport HandleError from './HandleError.js';\nimport OnClose from './OnClose.js';\nimport OnOpen from './OnOpen.js';\nimport OnTextMessageHandler from './OnTextMessageHandler.js';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function EchoWebSocket({ clientName, pathName, title, operations }) {\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n\n return (\n <Text>\n <Text newLines={2}>\n {`@WebSocketClient(path = \"${pathName}\") \npublic class ${clientName}{`}\n </Text>\n <ClientFields />\n <OnOpen title={title}/>\n <OnTextMessageHandler sendOperations={sendOperations}/>\n <HandleError/>\n <OnClose title={title} />\n </Text>\n );\n}","import { getClientName, getInfo, getServer, getTitle } from '@asyncapi/generator-helpers';\nimport { File } from '@asyncapi/generator-react-sdk';\nimport { FileHeaderInfo } from '@asyncapi/generator-components';\nimport { ClientDependencies } from '../../../../../../components/dependencies/ClientDependencies.js';\nimport { EchoWebSocket } from '../../../../../../components/EchoWebSocket.js';\n\nexport default async function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const title = getTitle(asyncapi);\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const operations = asyncapi.operations();\n const clientJavaName = `${clientName}.java`;\n const pathName = server.pathname();\n\n return (\n <File name={clientJavaName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"java\"\n />\n <ClientDependencies/>\n <EchoWebSocket clientName={clientName} pathName={pathName} title={title} operations={operations} />\n </File>\n );\n}"],"names":["ClientDependencies","_jsx","Text","children","ClientFields","indent","newLines","HandleError","OnClose","title","OnOpen","OnTextMessage","sendOperations","length","_Fragment","map","operation","methodName","id","EchoWebSocket","clientName","pathName","operations","filterBySend","_jsxs","OnTextMessageHandler","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getClientName","appendClientSuffix","customClientName","clientJavaName","pathname","File","name","FileHeaderInfo","language"],"mappings":"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"}
1
+ {"version":3,"file":"client.java.js","sources":["../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/dependencies/ClientDependencies.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ClientFields.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ConstructorSignature.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/DefaultConstructorSignature.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/Constructor.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/HandleError.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/OnTextMessageHandler.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/EchoWebSocket.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/client.java.js"],"sourcesContent":["import { DependencyProvider } from '@asyncapi/generator-components';\n\nexport function ClientDependencies({ queryParams }) {\n const additionalDependencies = [];\n if (queryParams) {\n additionalDependencies.push('import java.util.HashMap;');\n }\n return (\n <DependencyProvider\n language=\"java\"\n framework=\"quarkus\"\n role=\"client\"\n additionalDependencies={additionalDependencies}\n />\n );\n}\n\n","import { toCamelCase } from '@asyncapi/generator-helpers';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientFields({ queryParams, clientName }) {\n let queryParamsVariables = '';\n const queryParamsArray = queryParams && Array.from(queryParams.entries());\n \n if (queryParamsArray && queryParamsArray.length > 0) {\n queryParamsVariables = '\\nprivate HashMap<String, String> params;\\n';\n queryParamsVariables += queryParamsArray.map((param) => {\n const paramName = toCamelCase(param[0]);\n return `private String ${paramName};`; \n }).join('\\n');\n }\n\n return (\n <Text indent={2} newLines={2}>\n {`@Inject\npublic WebSocketClientConnection connection;\n\nprivate static final Logger LOG = Logger.getLogger(${clientName}.class);\n\n${queryParamsVariables}`}\n </Text>\n );\n}\n","import { toCamelCase } from '@asyncapi/generator-helpers';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ConstructorSignature({ clientName, queryParams }) {\n if (!queryParams) {\n return;\n }\n \n const queryParamsArguments = queryParams?.map((param) => {\n const paramName = toCamelCase(param[0]);\n return `String ${paramName}`; // assuming the default values of the parameters are strings\n }).join(', ');\n \n return (\n <Text indent={2}>\n {`public ${clientName}(${queryParamsArguments}){`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function DefaultConstructorSignature({ clientName, queryParams }) {\n if (!queryParams || !Array.isArray(queryParams)) {\n return null;\n }\n\n const argDefaultValues = [];\n \n queryParams.forEach((param) => {\n const paramDefaultValue = param[1];\n const defaultValue = paramDefaultValue ? `\"${paramDefaultValue}\"` : 'null';\n argDefaultValues.push(defaultValue); \n });\n \n return (\n <Text indent={2} newLines={2}>\n {`public ${clientName}(){\n this(${argDefaultValues.join(', ')});\n}`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\nimport { ConstructorSignature } from './ConstructorSignature';\nimport { DefaultConstructorSignature } from './DefaultConstructorSignature';\nimport { QueryParamsVariables } from '@asyncapi/generator-components';\n\nexport function Constructor({ clientName, query }) {\n const queryParamsArray = query && Array.from(query.entries());\n if (!queryParamsArray || queryParamsArray.length === 0) {\n return;\n }\n \n return (\n <>\n <DefaultConstructorSignature clientName={clientName} queryParams={queryParamsArray} />\n <ConstructorSignature clientName={clientName} queryParams={queryParamsArray} />\n <Text indent={6} >\n {`${ queryParamsArray && queryParamsArray.length > 0 ? 'params = new HashMap<>(); ' : ''}`\n }\n </Text>\n <QueryParamsVariables \n language=\"java\"\n framework=\"quarkus\"\n queryParams={queryParamsArray} \n />\n <Text indent={2} newLines={2}>\n {'}'}\n </Text>\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function HandleError() {\n return (\n <Text indent={2}>\n {`@OnError\npublic void onError(Throwable throwable) {\n LOG.error(\"Websocket connection error: \" + throwable.getMessage());\n}\n`}\n </Text>\n );\n}\n\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { toCamelCase } from '@asyncapi/generator-helpers';\n\nexport default function OnTextMessage({ sendOperations }) {\n return (\n <>\n {\n // If there are operations, emit a single @OnTextMessage\n (sendOperations && sendOperations.length !== 0) && (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void handleTextMessage(String message, WebSocketClientConnection connection) {\n LOG.info(\"Handler received text message: \" + message);\n${sendOperations.map((operation, idx) => {\n const methodName = operation.id();\n const javaMethodName = toCamelCase(methodName);\n const condition = idx === 0 ? ` if (message != null && message.contains(\"${methodName}\")) {` : ` else if (message != null && message.contains(\"${methodName}\")) {`;\n return `${condition}\n ${javaMethodName}(message, connection);\n }`;\n }).join('\\n')}\n else {\n LOG.warn(\"Handler received unrecognized message type. Falling back to default handler.\");\n // Note: By default, we route unrecognized messages to the first operation handler.\n // Depending on your business logic, you may want to change this behavior.\n ${toCamelCase(sendOperations[0].id())}(message, connection);\n }\n}`}\n </Text>\n )\n }\n\n {\n // Generate handlers for each operation\n (sendOperations && sendOperations.length !== 0) && (\n sendOperations.map((operation) => {\n const methodName = operation.id();\n const javaMethodName = toCamelCase(methodName);\n return (\n <Text newLines={2} indent={2}>\n {`public void ${javaMethodName}(String message, WebSocketClientConnection connection) {\n LOG.info(\"Processing ${methodName} type message: \" + message);\n // TODO: implement processing logic for ${methodName}\n}`}\n </Text>\n );\n })\n )\n }\n\n {\n // No operations provided need a default handler\n (!sendOperations || sendOperations.length === 0) && (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void processTextMessage(String message, WebSocketClientConnection connection) {\n LOG.info(\"Received text message: \" + message);\n}`}\n </Text>\n\n )\n }\n </>\n );\n}","import { ClientFields } from './ClientFields.js';\nimport { Constructor } from './Constructor.js';\nimport HandleError from './HandleError.js';\nimport { OnClose, OnOpen } from '@asyncapi/generator-components';\nimport OnTextMessageHandler from './OnTextMessageHandler.js';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function EchoWebSocket({ clientName, pathName, title, queryParams, operations }) {\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n\n return (\n <Text>\n <Text newLines={2}>\n {`\n@WebSocketClient(path = \"${pathName}\") \npublic class ${clientName}{`}\n </Text>\n <ClientFields queryParams={queryParams} clientName={clientName}/>\n <Constructor clientName={clientName} query={queryParams} />\n <OnOpen \n language='java'\n framework='quarkus' \n title={title}\n />\n <OnTextMessageHandler sendOperations={sendOperations}/>\n <HandleError/>\n <OnClose\n language='java'\n framework='quarkus'\n title={title} \n />\n </Text>\n );\n}","import { getClientName, getInfo, getQueryParams, getServer, getTitle } from '@asyncapi/generator-helpers';\nimport { File } from '@asyncapi/generator-react-sdk';\nimport { FileHeaderInfo } from '@asyncapi/generator-components';\nimport { ClientDependencies } from '../../../../../../components/dependencies/ClientDependencies.js';\nimport { EchoWebSocket } from '../../../../../../components/EchoWebSocket.js';\n\nexport default async function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const title = getTitle(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const operations = asyncapi.operations();\n const clientJavaName = `${clientName}.java`;\n const pathName = server.pathname();\n\n return (\n <File name={clientJavaName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"java\"\n />\n <ClientDependencies queryParams={queryParams}/>\n <EchoWebSocket clientName={clientName} pathName={pathName} title={title} queryParams={queryParams} operations={operations} />\n </File>\n );\n}"],"names":["ClientDependencies","queryParams","additionalDependencies","push","_jsx","DependencyProvider","language","framework","role","ClientFields","clientName","queryParamsVariables","queryParamsArray","Array","from","entries","length","map","param","paramName","toCamelCase","join","Text","indent","newLines","children","ConstructorSignature","queryParamsArguments","DefaultConstructorSignature","isArray","argDefaultValues","forEach","paramDefaultValue","defaultValue","Constructor","query","_jsxs","_Fragment","QueryParamsVariables","HandleError","OnTextMessage","sendOperations","operation","idx","methodName","id","javaMethodName","condition","EchoWebSocket","pathName","title","operations","filterBySend","OnOpen","OnTextMessageHandler","OnClose","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getQueryParams","channels","getClientName","appendClientSuffix","customClientName","clientJavaName","pathname","File","name","FileHeaderInfo"],"mappings":"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"}
@@ -3,90 +3,182 @@
3
3
  require('source-map-support/register');
4
4
  var generatorHelpers = require('@asyncapi/generator-helpers');
5
5
  var generatorReactSdk = require('@asyncapi/generator-react-sdk');
6
+ var generatorComponents = require('@asyncapi/generator-components');
6
7
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
7
8
 
8
- function ConnectorDependencies() {
9
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
10
- children: /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
11
- children: `
12
- package com.asyncapi;
13
-
14
- import io.quarkus.websockets.next.WebSocketConnector;
15
- import io.quarkus.websockets.next.WebSocketClientConnection;
16
- import jakarta.inject.Inject;
17
- import jakarta.inject.Singleton;
18
- import jakarta.annotation.PostConstruct;
19
- import io.quarkus.logging.Log;
20
- import io.quarkus.runtime.Startup;`
21
- })
9
+ function ConnectorDependencies({
10
+ queryParams
11
+ }) {
12
+ const additionalDependencies = [];
13
+ if (queryParams) {
14
+ additionalDependencies.push('import org.eclipse.microprofile.config.inject.ConfigProperty;');
15
+ additionalDependencies.push('import java.net.URI;');
16
+ additionalDependencies.push('import java.net.URLEncoder;');
17
+ additionalDependencies.push('import java.nio.charset.StandardCharsets;');
18
+ }
19
+ return /*#__PURE__*/jsxRuntime.jsx(generatorComponents.DependencyProvider, {
20
+ language: "java",
21
+ framework: "quarkus",
22
+ role: "connector",
23
+ additionalDependencies: additionalDependencies
22
24
  });
23
25
  }
24
26
 
25
- function InitConnector() {
27
+ function TimedConnection({
28
+ sendOperations
29
+ }) {
30
+ const initialDelayMs = 2000;
31
+ const messageCount = 5;
32
+ const messageIntervalMs = 5000;
33
+ const finalDelayMs = 10000;
34
+ const firstOperationId = sendOperations && sendOperations.length > 0 ? sendOperations[0].id() : null;
26
35
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
27
- newLines: 1,
36
+ newLines: 2,
28
37
  children: `
29
- @PostConstruct
30
- void openAndSendMessagesWithDelay() {
31
- new Thread(() -> {
32
- try {
33
- Log.info("Starting WebSocket connection attempt...");
34
- WebSocketClientConnection connection = connector.connectAndAwait();
35
-
36
- // Wait 2 seconds before first message
37
- Thread.sleep(2000);
38
+ WebSocketClientConnection connection = connector.connectAndAwait();
38
39
 
39
- // Send 5 messages
40
- for (int i = 1; i <= 5; i++) {
41
- String msg = "Message #" + i + " from Quarkus";
42
- connection.sendTextAndAwait(msg);
43
- Log.info("Sent: " + msg);
44
- Thread.sleep(5000);
45
- }
40
+ // Wait 2 seconds before first message
41
+ Thread.sleep(${initialDelayMs});
46
42
 
47
- // Wait 10 seconds after final message
48
- Log.info("All messages sent. Waiting 10 seconds before closing...");
49
- Thread.sleep(10000);
43
+ // Send ${messageCount} messages
44
+ for (int i = 1; i <= ${messageCount}; i++) {
45
+ // Send a message to any available operation by including its operation ID (i.e. "${firstOperationId}")
46
+ String msg = ${firstOperationId ? `"Message #" + i + " from Quarkus for ${firstOperationId}"` : '"Message #" + i + " from Quarkus"'};
47
+ connection.sendTextAndAwait(msg);
48
+ Log.info("Sent: " + msg);
49
+ Thread.sleep(${messageIntervalMs}); // Wait 5 seconds between messages
50
+ }
50
51
 
51
- connection.closeAndAwait();
52
- Log.info("Connection closed gracefully.");
52
+ // Wait 10 seconds after final message
53
+ Log.info("All messages sent. Waiting 10 seconds before closing...");
54
+ Thread.sleep(${finalDelayMs});`
55
+ });
56
+ }
53
57
 
54
- } catch (Exception e) {
55
- Log.error("Error during WebSocket communication", e);
56
- }
57
- }).start();
58
+ function URIParams({
59
+ queryParamsArray,
60
+ pathName
61
+ }) {
62
+ if (!queryParamsArray || queryParamsArray.length === 0) {
63
+ return null; // Return null if no query params
58
64
  }
65
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
66
+ children: [/*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
67
+ newLines: 1,
68
+ children: `
69
+ // URI parameters
70
+ String query = "";
71
+ `
72
+ }), queryParamsArray.map((param, idx) => {
73
+ const paramName = generatorHelpers.toCamelCase(param[0]);
74
+ const variableDefinition = `String ${paramName} = System.getenv("${paramName.toUpperCase()}");`;
75
+ const errorCheck = `if(${paramName} == null || ${paramName}.isEmpty()){`;
76
+ const errorMessage = `throw new IllegalArgumentException("Required environment variable ${paramName.toUpperCase()} is missing or empty");`;
77
+ const closingTag = '}';
78
+ let additionalQuery = '';
79
+ if (idx === 0) {
80
+ additionalQuery = `query += "${param[0]}=" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\n`;
81
+ } else {
82
+ additionalQuery = `query += "&${param[0]}=" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\n`;
83
+ }
84
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
85
+ children: [/*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
86
+ indent: 12,
87
+ children: variableDefinition
88
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
89
+ indent: 12,
90
+ children: errorCheck
91
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
92
+ indent: 14,
93
+ children: errorMessage
94
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
95
+ indent: 12,
96
+ children: closingTag
97
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
98
+ indent: 12,
99
+ children: additionalQuery
100
+ })]
101
+ });
102
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
103
+ children: `
104
+ String queryUri = baseURI + "${pathName}" + "?" + query;
105
+ WebSocketClientConnection connection = connector.baseUri(queryUri).connectAndAwait();
106
+ Thread.sleep(120000); // Keep the connection open for 2 minutes
107
+ `
108
+ })]
109
+ });
59
110
  }
60
- `
111
+
112
+ function InitConnector({
113
+ queryParamsArray,
114
+ pathName,
115
+ sendOperations
116
+ }) {
117
+ return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.Text, {
118
+ children: [`
119
+ @PostConstruct
120
+ void openAndSendMessagesWithDelay() {
121
+ new Thread(() -> {
122
+ try {
123
+ Log.info("Starting WebSocket connection attempt...");`, (!queryParamsArray || queryParamsArray.length === 0) && /*#__PURE__*/jsxRuntime.jsx(TimedConnection, {
124
+ sendOperations: sendOperations
125
+ }), /*#__PURE__*/jsxRuntime.jsx(URIParams, {
126
+ queryParamsArray: queryParamsArray,
127
+ pathName: pathName
128
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
129
+ language: "java",
130
+ framework: "quarkus",
131
+ methodName: "",
132
+ indent: 0
133
+ })]
61
134
  });
62
135
  }
63
136
 
64
137
  function ConnectorFields({
65
- clientName
138
+ clientName,
139
+ queryParamsArray
66
140
  }) {
67
141
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
68
142
  indent: 2,
69
- newLines: 2,
143
+ newLines: 1,
70
144
  children: `@Inject
71
145
  WebSocketConnector<${clientName}> connector;
146
+
147
+ ${queryParamsArray && queryParamsArray.length ? `
148
+ @Inject
149
+ @ConfigProperty(name = "com.asyncapi.${clientName}.base-uri")
150
+ String baseURI;` : ''}
72
151
  `
73
152
  });
74
153
  }
75
154
 
76
155
  function ClientConnector({
77
- clientName
156
+ clientName,
157
+ query,
158
+ pathName,
159
+ operations
78
160
  }) {
161
+ const queryParamsArray = query && Array.from(query.entries());
162
+ const sendOperations = operations.filterBySend();
163
+ if (!pathName) {
164
+ pathName = '/';
165
+ }
79
166
  return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.Text, {
80
167
  newLines: 2,
81
- indent: 2,
82
168
  children: [/*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
83
169
  newLines: 2,
84
- children: `@Startup
170
+ children: `
171
+ @Startup
85
172
  @Singleton
86
173
  public class ${clientName}Connector{`
87
174
  }), /*#__PURE__*/jsxRuntime.jsx(ConnectorFields, {
88
- clientName: clientName
89
- }), /*#__PURE__*/jsxRuntime.jsx(InitConnector, {})]
175
+ clientName: clientName,
176
+ queryParamsArray: queryParamsArray
177
+ }), /*#__PURE__*/jsxRuntime.jsx(InitConnector, {
178
+ queryParamsArray: queryParamsArray,
179
+ pathName: pathName,
180
+ sendOperations: sendOperations
181
+ })]
90
182
  });
91
183
  }
92
184
 
@@ -94,12 +186,21 @@ async function connector_java ({
94
186
  asyncapi,
95
187
  params
96
188
  }) {
189
+ const server = generatorHelpers.getServer(asyncapi.servers(), params.server);
97
190
  const clientName = generatorHelpers.getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
191
+ const queryParams = generatorHelpers.getQueryParams(asyncapi.channels());
98
192
  const clientConnectorName = `${clientName}Connector.java`;
193
+ const pathName = server.pathname();
194
+ const operations = asyncapi.operations();
99
195
  return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.File, {
100
196
  name: clientConnectorName,
101
- children: [/*#__PURE__*/jsxRuntime.jsx(ConnectorDependencies, {}), /*#__PURE__*/jsxRuntime.jsx(ClientConnector, {
102
- clientName: clientName
197
+ children: [/*#__PURE__*/jsxRuntime.jsx(ConnectorDependencies, {
198
+ queryParams: queryParams
199
+ }), /*#__PURE__*/jsxRuntime.jsx(ClientConnector, {
200
+ clientName: clientName,
201
+ query: queryParams,
202
+ pathName: pathName,
203
+ operations: operations
103
204
  })]
104
205
  });
105
206
  }