@asyncapi/generator 2.8.3 → 2.8.4

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 (195) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +3 -0
  3. package/docs/baked-in-templates.md +1 -1
  4. package/lib/__mocks__/templateConfigValidator.js +1 -1
  5. package/lib/generator.js +4 -59
  6. package/lib/templates/BakedInTemplatesList.json +7 -0
  7. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/.ageneratorrc +33 -0
  8. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/README.md +35 -0
  9. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js +30 -0
  10. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js.map +1 -0
  11. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js +46 -0
  12. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js.map +1 -0
  13. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js +30 -0
  14. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js.map +1 -0
  15. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js +26 -0
  16. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js.map +1 -0
  17. 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
  18. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js.map +1 -0
  19. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js +44 -0
  20. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js.map +1 -0
  21. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js +46 -0
  22. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js.map +1 -0
  23. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js +48 -0
  24. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js.map +1 -0
  25. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js +26 -0
  26. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js.map +1 -0
  27. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js +40 -0
  28. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js.map +1 -0
  29. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js +18 -0
  30. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js.map +1 -0
  31. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js +18 -0
  32. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js.map +1 -0
  33. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js +18 -0
  34. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js.map +1 -0
  35. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +183 -0
  36. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -0
  37. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js +86 -0
  38. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js.map +1 -0
  39. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +19 -0
  40. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -0
  41. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js +102 -0
  42. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js.map +1 -0
  43. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +73 -0
  44. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -0
  45. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientConsumer.js +20 -0
  46. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientEndpoint.js +32 -0
  47. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientProducer.js +21 -0
  48. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumeEvent.js +18 -0
  49. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumerFields.js +9 -0
  50. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/EndpointFields.js +40 -0
  51. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/MiddleService.js +37 -0
  52. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProduceEvent.js +39 -0
  53. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProducerFields.js +16 -0
  54. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/SendEvent.js +33 -0
  55. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ConsumerDependencies.js +11 -0
  56. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/EndpointDependencies.js +11 -0
  57. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ProducerDependencies.js +11 -0
  58. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/package.json +63 -0
  59. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.dockerignore +5 -0
  60. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/MavenWrapperDownloader.java +93 -0
  61. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/maven-wrapper.properties +20 -0
  62. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/README.md +59 -0
  63. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw +332 -0
  64. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw.cmd +206 -0
  65. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/pom.xml +123 -0
  66. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/Dockerfile.jvm +98 -0
  67. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/docker-compose.yaml +28 -0
  68. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +27 -0
  69. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/consumer.java.js +22 -0
  70. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +6 -0
  71. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/producer.java.js +23 -0
  72. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/resources/AppProperties.js +75 -0
  73. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js +10 -5
  74. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js.map +1 -1
  75. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js +10 -74
  76. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js.map +1 -1
  77. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/ClientClass.js +11 -7
  78. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/package.json +1 -1
  79. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/README.md +88 -6
  80. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js +22 -5
  81. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js.map +1 -1
  82. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js +19 -2
  83. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js.map +1 -1
  84. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js +8 -2
  85. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js.map +1 -1
  86. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js +44 -0
  87. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js.map +1 -0
  88. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js +28 -0
  89. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js.map +1 -0
  90. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js +32 -0
  91. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js.map +1 -0
  92. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js +20 -5
  93. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js.map +1 -1
  94. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js +1 -2
  95. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js.map +1 -1
  96. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js +23 -33
  97. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js.map +1 -1
  98. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js +42 -9
  99. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js.map +1 -1
  100. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js +39 -0
  101. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js.map +1 -0
  102. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js +63 -0
  103. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js.map +1 -0
  104. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js +13 -17
  105. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js.map +1 -1
  106. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js +16 -15
  107. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js.map +1 -1
  108. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +153 -57
  109. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -1
  110. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js +152 -51
  111. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js.map +1 -1
  112. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +2 -35
  113. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -1
  114. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +3 -1
  115. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -1
  116. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientConnector.js +12 -5
  117. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientFields.js +18 -2
  118. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConnectorFields.js +7 -2
  119. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/Constructor.js +30 -0
  120. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConstructorSignature.js +19 -0
  121. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/DefaultConstructorSignature.js +23 -0
  122. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/EchoWebSocket.js +17 -7
  123. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/HandleError.js +2 -2
  124. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/InitConnector.js +13 -30
  125. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnTextMessageHandler.js +55 -15
  126. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/TimedConnection.js +31 -0
  127. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/URIParams.js +60 -0
  128. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ClientDependencies.js +12 -18
  129. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ConnectorDependencies.js +16 -16
  130. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/package.json +1 -1
  131. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/pom.xml +15 -1
  132. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +4 -3
  133. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/connector.java.js +7 -3
  134. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +2 -32
  135. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/resources/AppProperties.js +5 -2
  136. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js +10 -6
  137. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js.map +1 -1
  138. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js +10 -124
  139. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js.map +1 -1
  140. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/ClientClass.js +15 -9
  141. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/package.json +1 -1
  142. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/README.md +20 -5
  143. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js +15 -8
  144. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js.map +1 -1
  145. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js +3 -2
  146. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js.map +1 -1
  147. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js +41 -174
  148. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js.map +1 -1
  149. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/ClientClass.js +20 -10
  150. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Constructor.js +5 -2
  151. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/package.json +1 -1
  152. package/lib/templates/config/loader.js +64 -0
  153. package/lib/{templateConfigValidator.js → templates/config/validator.js} +2 -2
  154. package/package.json +1 -1
  155. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js +0 -60
  156. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js.map +0 -1
  157. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js +0 -21
  158. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js.map +0 -1
  159. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js +0 -21
  160. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  161. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/Connect.js +0 -49
  162. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/HandleMessage.js +0 -14
  163. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/RegisterErrorHandler.js +0 -14
  164. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js +0 -23
  165. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js.map +0 -1
  166. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js +0 -25
  167. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js.map +0 -1
  168. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnClose.js +0 -16
  169. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnOpen.js +0 -16
  170. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js +0 -63
  171. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js.map +0 -1
  172. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js.map +0 -1
  173. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js +0 -25
  174. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  175. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js +0 -53
  176. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js.map +0 -1
  177. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Connect.js +0 -54
  178. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/HandleMessage.js +0 -14
  179. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/RegisterErrorHandler.js +0 -18
  180. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/SendOperation.js +0 -44
  181. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js +0 -58
  182. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js.map +0 -1
  183. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js +0 -24
  184. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js.map +0 -1
  185. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js +0 -36
  186. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js.map +0 -1
  187. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js +0 -23
  188. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  189. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js +0 -56
  190. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js.map +0 -1
  191. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Connect.js +0 -49
  192. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/HandleMessage.js +0 -17
  193. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/QueryParamsVariables.js +0 -27
  194. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/RegisterErrorHandler.js +0 -16
  195. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/SendOperation.js +0 -50
@@ -1,41 +1,24 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
+ import TimedConnection from './TimedConnection';
3
+ import URIParams from './URIParams';
4
+ import { CloseConnection } from '@asyncapi/generator-components';
2
5
 
3
- export default function InitConnector() {
6
+ export default function InitConnector({ queryParamsArray, pathName, sendOperations }) {
4
7
  return (
5
- <Text newLines={1}>
8
+ <Text>
6
9
  {`
7
10
  @PostConstruct
8
11
  void openAndSendMessagesWithDelay() {
9
12
  new Thread(() -> {
10
13
  try {
11
- Log.info("Starting WebSocket connection attempt...");
12
- WebSocketClientConnection connection = connector.connectAndAwait();
13
-
14
- // Wait 2 seconds before first message
15
- Thread.sleep(2000);
16
-
17
- // Send 5 messages
18
- for (int i = 1; i <= 5; i++) {
19
- String msg = "Message #" + i + " from Quarkus";
20
- connection.sendTextAndAwait(msg);
21
- Log.info("Sent: " + msg);
22
- Thread.sleep(5000);
23
- }
24
-
25
- // Wait 10 seconds after final message
26
- Log.info("All messages sent. Waiting 10 seconds before closing...");
27
- Thread.sleep(10000);
28
-
29
- connection.closeAndAwait();
30
- Log.info("Connection closed gracefully.");
31
-
32
- } catch (Exception e) {
33
- Log.error("Error during WebSocket communication", e);
34
- }
35
- }).start();
36
- }
37
- }
38
- `}
14
+ Log.info("Starting WebSocket connection attempt...");`}
15
+ {
16
+ (!queryParamsArray || queryParamsArray.length === 0) && (
17
+ <TimedConnection sendOperations={sendOperations} />
18
+ )
19
+ }
20
+ <URIParams queryParamsArray={queryParamsArray} pathName={pathName} />
21
+ <CloseConnection language="java" framework="quarkus" methodName="" indent={0} />
39
22
  </Text>
40
23
  );
41
24
  }
@@ -1,24 +1,64 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
+ import { toCamelCase } from '@asyncapi/generator-helpers';
2
3
 
3
- export default function OnTextMessage({sendOperations}) {
4
- if (!sendOperations || sendOperations.length === 0) {
5
- return null;
6
- }
7
-
4
+ export default function OnTextMessage({ sendOperations }) {
8
5
  return (
9
6
  <>
10
7
  {
11
- sendOperations.map((operation) => {
12
- const methodName = operation.id();
13
- return (
14
- <Text newLines={2} indent={2}>
15
- {`@OnTextMessage
16
- public void ${methodName}(String message, WebSocketClientConnection connection) {
17
- Log.info("Received text message: " + message);
8
+ // If there are operations, emit a single @OnTextMessage
9
+ (sendOperations && sendOperations.length !== 0) && (
10
+ <Text newLines={2} indent={2}>
11
+ {`@OnTextMessage
12
+ public void handleTextMessage(String message, WebSocketClientConnection connection) {
13
+ LOG.info("Handler received text message: " + message);
14
+ ${sendOperations.map((operation, idx) => {
15
+ const methodName = operation.id();
16
+ const javaMethodName = toCamelCase(methodName);
17
+ const condition = idx === 0 ? ` if (message != null && message.contains("${methodName}")) {` : ` else if (message != null && message.contains("${methodName}")) {`;
18
+ return `${condition}
19
+ ${javaMethodName}(message, connection);
20
+ }`;
21
+ }).join('\n')}
22
+ else {
23
+ LOG.warn("Handler received unrecognized message type. Falling back to default handler.");
24
+ // Note: By default, we route unrecognized messages to the first operation handler.
25
+ // Depending on your business logic, you may want to change this behavior.
26
+ ${toCamelCase(sendOperations[0].id())}(message, connection);
27
+ }
28
+ }`}
29
+ </Text>
30
+ )
31
+ }
32
+
33
+ {
34
+ // Generate handlers for each operation
35
+ (sendOperations && sendOperations.length !== 0) && (
36
+ sendOperations.map((operation) => {
37
+ const methodName = operation.id();
38
+ const javaMethodName = toCamelCase(methodName);
39
+ return (
40
+ <Text newLines={2} indent={2}>
41
+ {`public void ${javaMethodName}(String message, WebSocketClientConnection connection) {
42
+ LOG.info("Processing ${methodName} type message: " + message);
43
+ // TODO: implement processing logic for ${methodName}
18
44
  }`}
19
- </Text>
20
- );
21
- })
45
+ </Text>
46
+ );
47
+ })
48
+ )
49
+ }
50
+
51
+ {
52
+ // No operations provided need a default handler
53
+ (!sendOperations || sendOperations.length === 0) && (
54
+ <Text newLines={2} indent={2}>
55
+ {`@OnTextMessage
56
+ public void processTextMessage(String message, WebSocketClientConnection connection) {
57
+ LOG.info("Received text message: " + message);
58
+ }`}
59
+ </Text>
60
+
61
+ )
22
62
  }
23
63
  </>
24
64
  );
@@ -0,0 +1,31 @@
1
+ import { Text } from '@asyncapi/generator-react-sdk';
2
+
3
+ export default function TimedConnection({ sendOperations }) {
4
+ const initialDelayMs = 2000;
5
+ const messageCount = 5;
6
+ const messageIntervalMs = 5000;
7
+ const finalDelayMs = 10000;
8
+ const firstOperationId = sendOperations && sendOperations.length > 0 ? sendOperations[0].id() : null;
9
+ return (
10
+ <Text newLines={2}>
11
+ {`
12
+ WebSocketClientConnection connection = connector.connectAndAwait();
13
+
14
+ // Wait 2 seconds before first message
15
+ Thread.sleep(${initialDelayMs});
16
+
17
+ // Send ${messageCount} messages
18
+ for (int i = 1; i <= ${messageCount}; i++) {
19
+ // Send a message to any available operation by including its operation ID (i.e. "${firstOperationId}")
20
+ String msg = ${firstOperationId ? `"Message #" + i + " from Quarkus for ${firstOperationId}"` : '"Message #" + i + " from Quarkus"'};
21
+ connection.sendTextAndAwait(msg);
22
+ Log.info("Sent: " + msg);
23
+ Thread.sleep(${messageIntervalMs}); // Wait 5 seconds between messages
24
+ }
25
+
26
+ // Wait 10 seconds after final message
27
+ Log.info("All messages sent. Waiting 10 seconds before closing...");
28
+ Thread.sleep(${finalDelayMs});`}
29
+ </Text>
30
+ );
31
+ }
@@ -0,0 +1,60 @@
1
+ import { Text } from '@asyncapi/generator-react-sdk';
2
+ import { toCamelCase } from '@asyncapi/generator-helpers';
3
+
4
+ export default function URIParams({ queryParamsArray, pathName }) {
5
+ if (!queryParamsArray || queryParamsArray.length === 0) {
6
+ return null; // Return null if no query params
7
+ }
8
+
9
+ return (
10
+ <>
11
+ <Text newLines={1}>
12
+ {`
13
+ // URI parameters
14
+ String query = "";
15
+ `}
16
+ </Text>
17
+ {queryParamsArray.map((param, idx) => {
18
+ const paramName = toCamelCase(param[0]);
19
+ const variableDefinition = `String ${paramName} = System.getenv("${paramName.toUpperCase()}");`;
20
+ const errorCheck = `if(${paramName} == null || ${paramName}.isEmpty()){`;
21
+ const errorMessage = `throw new IllegalArgumentException("Required environment variable ${paramName.toUpperCase()} is missing or empty");`;
22
+ const closingTag = '}';
23
+
24
+ let additionalQuery = '';
25
+ if (idx === 0) {
26
+ additionalQuery = `query += "${param[0]}=" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\n`;
27
+ } else {
28
+ additionalQuery = `query += "&${param[0]}=" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\n`;
29
+ }
30
+
31
+ return (
32
+ <>
33
+ <Text indent={12}>
34
+ {variableDefinition}
35
+ </Text>
36
+ <Text indent={12}>
37
+ {errorCheck}
38
+ </Text>
39
+ <Text indent={14}>
40
+ {errorMessage}
41
+ </Text>
42
+ <Text indent={12}>
43
+ {closingTag}
44
+ </Text>
45
+ <Text indent={12}>
46
+ {additionalQuery}
47
+ </Text>
48
+ </>
49
+ );
50
+ })}
51
+ <Text>
52
+ {`
53
+ String queryUri = baseURI + "${pathName}" + "?" + query;
54
+ WebSocketClientConnection connection = connector.baseUri(queryUri).connectAndAwait();
55
+ Thread.sleep(120000); // Keep the connection open for 2 minutes
56
+ `}
57
+ </Text>
58
+ </>
59
+ );
60
+ }
@@ -1,23 +1,17 @@
1
- import { Text } from '@asyncapi/generator-react-sdk';
1
+ import { DependencyProvider } from '@asyncapi/generator-components';
2
2
 
3
- export function ClientDependencies() {
3
+ export function ClientDependencies({ queryParams }) {
4
+ const additionalDependencies = [];
5
+ if (queryParams) {
6
+ additionalDependencies.push('import java.util.HashMap;');
7
+ }
4
8
  return (
5
- <Text>
6
- <Text>
7
- {`
8
- package com.asyncapi;
9
-
10
- import io.quarkus.websockets.next.WebSocketClient;
11
- import io.quarkus.websockets.next.WebSocketClientConnection;
12
- import io.quarkus.websockets.next.OnOpen;
13
- import io.quarkus.websockets.next.OnClose;
14
- import io.quarkus.websockets.next.OnError;
15
- import io.quarkus.websockets.next.OnTextMessage;
16
- import io.quarkus.websockets.next.CloseReason;
17
- import jakarta.inject.Inject;
18
- import io.quarkus.logging.Log;`}
19
- </Text>
20
- </Text>
9
+ <DependencyProvider
10
+ language="java"
11
+ framework="quarkus"
12
+ role="client"
13
+ additionalDependencies={additionalDependencies}
14
+ />
21
15
  );
22
16
  }
23
17
 
@@ -1,20 +1,20 @@
1
- import { Text } from '@asyncapi/generator-react-sdk';
1
+ import { DependencyProvider } from '@asyncapi/generator-components';
2
2
 
3
- export function ConnectorDependencies() {
4
- return (
5
- <Text>
6
- <Text>
7
- {`
8
- package com.asyncapi;
3
+ export function ConnectorDependencies({ queryParams }) {
4
+ const additionalDependencies = [];
5
+ if (queryParams) {
6
+ additionalDependencies.push('import org.eclipse.microprofile.config.inject.ConfigProperty;');
7
+ additionalDependencies.push('import java.net.URI;');
8
+ additionalDependencies.push('import java.net.URLEncoder;');
9
+ additionalDependencies.push('import java.nio.charset.StandardCharsets;');
10
+ }
9
11
 
10
- import io.quarkus.websockets.next.WebSocketConnector;
11
- import io.quarkus.websockets.next.WebSocketClientConnection;
12
- import jakarta.inject.Inject;
13
- import jakarta.inject.Singleton;
14
- import jakarta.annotation.PostConstruct;
15
- import io.quarkus.logging.Log;
16
- import io.quarkus.runtime.Startup;`}
17
- </Text>
18
- </Text>
12
+ return (
13
+ <DependencyProvider
14
+ language="java"
15
+ framework="quarkus"
16
+ role="connector"
17
+ additionalDependencies={additionalDependencies}
18
+ />
19
19
  );
20
20
  }
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@asyncapi/generator-helpers": "0.2.0",
22
- "@asyncapi/generator-components": "0.2.0",
22
+ "@asyncapi/generator-components": "0.3.1",
23
23
  "@asyncapi/generator-react-sdk": "^1.1.2"
24
24
  },
25
25
  "devDependencies": {
@@ -12,7 +12,7 @@
12
12
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
13
13
  <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
14
14
  <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
15
- <quarkus.platform.version>3.23.0</quarkus.platform.version>
15
+ <quarkus.platform.version>3.25.2</quarkus.platform.version>
16
16
  <skipITs>true</skipITs>
17
17
  <surefire-plugin.version>3.5.2</surefire-plugin.version>
18
18
  </properties>
@@ -49,6 +49,20 @@
49
49
  <artifactId>quarkus-junit5</artifactId>
50
50
  <scope>test</scope>
51
51
  </dependency>
52
+
53
+ <!-- K8s additions -->
54
+ <dependency>
55
+ <groupId>io.quarkus</groupId>
56
+ <artifactId>quarkus-kubernetes</artifactId>
57
+ </dependency>
58
+ <dependency>
59
+ <groupId>io.quarkus</groupId>
60
+ <artifactId>quarkus-kubernetes-client</artifactId>
61
+ </dependency>
62
+ <dependency>
63
+ <groupId>io.quarkus</groupId>
64
+ <artifactId>quarkus-container-image-jib</artifactId>
65
+ </dependency>
52
66
  </dependencies>
53
67
 
54
68
  <build>
@@ -1,4 +1,4 @@
1
- import { getClientName, getInfo, getServer, getTitle } from '@asyncapi/generator-helpers';
1
+ import { getClientName, getInfo, getQueryParams, getServer, getTitle } from '@asyncapi/generator-helpers';
2
2
  import { File } from '@asyncapi/generator-react-sdk';
3
3
  import { FileHeaderInfo } from '@asyncapi/generator-components';
4
4
  import { ClientDependencies } from '../../../../../../components/dependencies/ClientDependencies.js';
@@ -8,6 +8,7 @@ export default async function ({ asyncapi, params }) {
8
8
  const server = getServer(asyncapi.servers(), params.server);
9
9
  const info = getInfo(asyncapi);
10
10
  const title = getTitle(asyncapi);
11
+ const queryParams = getQueryParams(asyncapi.channels());
11
12
  const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
12
13
  const operations = asyncapi.operations();
13
14
  const clientJavaName = `${clientName}.java`;
@@ -20,8 +21,8 @@ export default async function ({ asyncapi, params }) {
20
21
  server={server}
21
22
  language="java"
22
23
  />
23
- <ClientDependencies/>
24
- <EchoWebSocket clientName={clientName} pathName={pathName} title={title} operations={operations} />
24
+ <ClientDependencies queryParams={queryParams}/>
25
+ <EchoWebSocket clientName={clientName} pathName={pathName} title={title} queryParams={queryParams} operations={operations} />
25
26
  </File>
26
27
  );
27
28
  }
@@ -1,16 +1,20 @@
1
- import { getClientName } from '@asyncapi/generator-helpers';
1
+ import { getClientName, getQueryParams, getServer } from '@asyncapi/generator-helpers';
2
2
  import { File } from '@asyncapi/generator-react-sdk';
3
3
  import { ConnectorDependencies } from '../../../../../../components/dependencies/ConnectorDependencies.js';
4
4
  import ClientConnector from '../../../../../../components/ClientConnector.js';
5
5
 
6
6
  export default async function ({ asyncapi, params }) {
7
+ const server = getServer(asyncapi.servers(), params.server);
7
8
  const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
9
+ const queryParams = getQueryParams(asyncapi.channels());
8
10
  const clientConnectorName = `${clientName}Connector.java`;
11
+ const pathName = server.pathname();
12
+ const operations = asyncapi.operations();
9
13
 
10
14
  return (
11
15
  <File name={clientConnectorName}>
12
- <ConnectorDependencies/>
13
- <ClientConnector clientName={clientName} />
16
+ <ConnectorDependencies queryParams={queryParams}/>
17
+ <ClientConnector clientName={clientName} query={queryParams} pathName={pathName} operations={operations} />
14
18
  </File>
15
19
  );
16
20
  }
@@ -1,36 +1,6 @@
1
- import { JAVA_COMMON_PRESET } from '@asyncapi/modelina';
2
1
  import { Models } from '@asyncapi/generator-components';
2
+ import { JavaModelsPresets } from '@asyncapi/generator-helpers';
3
3
 
4
4
  export default async function({ asyncapi }) {
5
- const websocketJavaPreset = {
6
- class: {
7
- self({ content, dependencyManager }) {
8
- return `package com.asyncapi.models;\n\n${content}`;
9
- },
10
- property({ content, property }) {
11
- if (property.property && property.property.type === 'Integer') {
12
- return `@Service\n${content}`;
13
- }
14
- return content;
15
- },
16
- additionalContent({ content }) {
17
- return content;
18
- }
19
- }
20
- };
21
-
22
- const combinedPresets = [
23
- {
24
- preset: JAVA_COMMON_PRESET,
25
- options: {
26
- equal: true,
27
- hashCode: false,
28
- classToString: true,
29
- marshalling: false
30
- }
31
- },
32
- websocketJavaPreset
33
- ];
34
-
35
- return await Models({ asyncapi, language: 'java', format: 'toPascalCase', presets: combinedPresets});
5
+ return await Models({ asyncapi, language: 'java', format: 'toPascalCase', presets: JavaModelsPresets });
36
6
  }
@@ -1,10 +1,13 @@
1
- import { getClientName, getServer, getServerHost} from '@asyncapi/generator-helpers';
1
+ import { getClientName, getServer, getServerHost, getServerProtocol } from '@asyncapi/generator-helpers';
2
2
  import { Text, File } from '@asyncapi/generator-react-sdk';
3
3
 
4
4
  export default function AppProperties({ asyncapi, params }) {
5
5
  const server = getServer(asyncapi.servers(), params.server);
6
6
  const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
7
7
  const serverHost = getServerHost(server);
8
+ const serverProtocol = getServerProtocol(server);
9
+
10
+ const protocol = `${serverProtocol}://`;
8
11
 
9
12
  return (
10
13
  <File name="application.properties">
@@ -12,7 +15,7 @@ export default function AppProperties({ asyncapi, params }) {
12
15
  {`# application.properties
13
16
 
14
17
  # Define a named base-uri for ${clientName}
15
- com.asyncapi.${clientName}.base-uri=wss://${serverHost}`}
18
+ com.asyncapi.${clientName}.base-uri=${protocol}${serverHost}`}
16
19
  </Text>
17
20
  </File>
18
21
  );
@@ -5,10 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  require('source-map-support/register');
6
6
  var generatorReactSdk = require('@asyncapi/generator-react-sdk');
7
7
  var Constructor = require('./Constructor.js');
8
- var Connect = require('./Connect.js');
9
- var RegisterErrorHandler = require('./RegisterErrorHandler.js');
10
- var HandleMessage = require('./HandleMessage.js');
11
- var SendOperation = require('./SendOperation.js');
12
8
  var generatorComponents = require('@asyncapi/generator-components');
13
9
  var ModuleExport = require('./ModuleExport.js');
14
10
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
@@ -25,12 +21,20 @@ function ClientClass({
25
21
  children: `class ${clientName} {`
26
22
  }), /*#__PURE__*/jsxRuntime.jsx(Constructor.Constructor, {
27
23
  serverUrl: serverUrl
28
- }), /*#__PURE__*/jsxRuntime.jsx(Connect.Connect, {
24
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.Connect, {
25
+ language: "javascript",
29
26
  title: title
30
27
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterMessageHandler, {
31
28
  language: "javascript",
32
29
  methodParams: ['handler']
33
- }), /*#__PURE__*/jsxRuntime.jsx(RegisterErrorHandler.RegisterErrorHandler, {}), /*#__PURE__*/jsxRuntime.jsx(HandleMessage.HandleMessage, {}), /*#__PURE__*/jsxRuntime.jsx(SendOperation.SendOperation, {
30
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterErrorHandler, {
31
+ language: "javascript",
32
+ methodParams: ['handler']
33
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
34
+ language: "javascript",
35
+ methodParams: ['message', 'cb']
36
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
37
+ language: "javascript",
34
38
  sendOperations: sendOperations,
35
39
  clientName: clientName
36
40
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
@@ -1 +1 @@
1
- {"version":3,"file":"ClientClass.js","sources":["../../../../../../../../packages/templates/clients/websocket/javascript/components/ClientClass.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\nimport { Constructor } from './Constructor';\nimport { Connect } from './Connect';\nimport { RegisterErrorHandler } from './RegisterErrorHandler';\nimport { HandleMessage } from './HandleMessage';\nimport { SendOperation } from './SendOperation';\nimport { CloseConnection, RegisterMessageHandler } from '@asyncapi/generator-components';\nimport { ModuleExport } from './ModuleExport';\n\nexport function ClientClass({ clientName, serverUrl, title, sendOperations}) {\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName} {`}\n </Text>\n <Constructor serverUrl={serverUrl} />\n <Connect title={title} />\n <RegisterMessageHandler \n language=\"javascript\" \n methodParams={['handler']}\n />\n <RegisterErrorHandler />\n <HandleMessage />\n <SendOperation sendOperations={sendOperations} clientName={clientName} />\n <CloseConnection language=\"javascript\" />\n <Text>\n {'}'}\n </Text>\n <ModuleExport clientName={clientName} />\n </Text>\n );\n}\n"],"names":["ClientClass","clientName","serverUrl","title","sendOperations","_jsxs","Text","children","_jsx","newLines","Constructor","Connect","RegisterMessageHandler","language","methodParams","RegisterErrorHandler","HandleMessage","SendOperation","CloseConnection","ModuleExport"],"mappings":";;;;;;;;;;;;;;;AASO,SAASA,WAAWA,CAAC;EAAEC,UAAU;EAAEC,SAAS;EAAEC,KAAK;AAAEC,EAAAA,cAAAA;AAAc,CAAC,EAAE;EAC3E,oBACEC,eAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,EAAA,cACHC,cAAA,CAACF,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;MAAAF,QAAA,EACf,SAASN,UAAU,CAAA,EAAA,CAAA;AAAI,KACpB,CAAC,eACPO,cAAA,CAACE,uBAAW,EAAA;AAACR,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAE,CAAC,eACrCM,cAAA,CAACG,eAAO,EAAA;AAACR,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,eACzBK,cAAA,CAACI,0CAAsB,EAAA;AACrBC,MAAAA,QAAQ,EAAC,YAAY;MACrBC,YAAY,EAAE,CAAC,SAAS,CAAA;AAAE,KAC3B,CAAC,eACFN,cAAA,CAACO,yCAAoB,IAAE,CAAC,eACxBP,cAAA,CAACQ,2BAAa,EAAE,EAAA,CAAC,eACjBR,cAAA,CAACS,2BAAa,EAAA;AAACb,MAAAA,cAAc,EAAEA,cAAe;AAACH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,eACzEO,cAAA,CAACU,mCAAe,EAAA;AAACL,MAAAA,QAAQ,EAAC,YAAA;AAAY,KAAE,CAAC,eACzCL,cAAA,CAACF,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,GAAA;AAAG,KACA,CAAC,eACPC,cAAA,CAACW,yBAAY,EAAA;AAAClB,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,CAAA;AAAA,GACpC,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"ClientClass.js","sources":["../../../../../../../../packages/templates/clients/websocket/javascript/components/ClientClass.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\nimport { Constructor } from './Constructor';\nimport { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, SendOperations, Connect, HandleMessage } from '@asyncapi/generator-components';\nimport { ModuleExport } from './ModuleExport';\n\nexport function ClientClass({ clientName, serverUrl, title, sendOperations}) {\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName} {`}\n </Text>\n <Constructor serverUrl={serverUrl} />\n <Connect language=\"javascript\" title={title} />\n <RegisterMessageHandler \n language=\"javascript\" \n methodParams={['handler']}\n />\n <RegisterErrorHandler\n language=\"javascript\" \n methodParams={['handler']}\n />\n <HandleMessage \n language=\"javascript\" \n methodParams={['message', 'cb']}\n />\n <SendOperations \n language=\"javascript\" \n sendOperations={sendOperations} \n clientName={clientName} \n />\n <CloseConnection language=\"javascript\" />\n <Text>\n {'}'}\n </Text>\n <ModuleExport clientName={clientName} />\n </Text>\n );\n}\n"],"names":["ClientClass","clientName","serverUrl","title","sendOperations","_jsxs","Text","children","_jsx","newLines","Constructor","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","SendOperations","CloseConnection","ModuleExport"],"mappings":";;;;;;;;;;;AAKO,SAASA,WAAWA,CAAC;EAAEC,UAAU;EAAEC,SAAS;EAAEC,KAAK;AAAEC,EAAAA,cAAAA;AAAc,CAAC,EAAE;EAC3E,oBACEC,eAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,EAAA,cACHC,cAAA,CAACF,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;MAAAF,QAAA,EACf,SAASN,UAAU,CAAA,EAAA,CAAA;AAAI,KACpB,CAAC,eACPO,cAAA,CAACE,uBAAW,EAAA;AAACR,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAE,CAAC,eACrCM,cAAA,CAACG,2BAAO,EAAA;AAACC,MAAAA,QAAQ,EAAC,YAAY;AAACT,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,eAC/CK,cAAA,CAACK,0CAAsB,EAAA;AACrBD,MAAAA,QAAQ,EAAC,YAAY;MACrBE,YAAY,EAAE,CAAC,SAAS,CAAA;AAAE,KAC3B,CAAC,eACFN,cAAA,CAACO,wCAAoB,EAAA;AACnBH,MAAAA,QAAQ,EAAC,YAAY;MACrBE,YAAY,EAAE,CAAC,SAAS,CAAA;AAAE,KAC3B,CAAC,eACFN,cAAA,CAACQ,iCAAa,EAAA;AACZJ,MAAAA,QAAQ,EAAC,YAAY;AACrBE,MAAAA,YAAY,EAAE,CAAC,SAAS,EAAE,IAAI,CAAA;AAAE,KACjC,CAAC,eACFN,cAAA,CAACS,kCAAc,EAAA;AACbL,MAAAA,QAAQ,EAAC,YAAY;AACrBR,MAAAA,cAAc,EAAEA,cAAe;AAC/BH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KACxB,CAAC,eACFO,cAAA,CAACU,mCAAe,EAAA;AAACN,MAAAA,QAAQ,EAAC,YAAA;AAAY,KAAE,CAAC,eACzCJ,cAAA,CAACF,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,GAAA;AAAG,KACA,CAAC,eACPC,cAAA,CAACW,yBAAY,EAAA;AAAClB,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,CAAA;AAAA,GACpC,CAAC,CAAA;AAEX;;;;"}
@@ -25,128 +25,6 @@ constructor(url) {
25
25
  });
26
26
  }
27
27
 
28
- function Connect({
29
- title
30
- }) {
31
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
32
- newLines: 2,
33
- indent: 2,
34
- children: `// Method to establish a WebSocket connection
35
- connect() {
36
- return new Promise((resolve, reject) => {
37
- this.websocket = new WebSocket(this.url);
38
-
39
- // On successful connection
40
- this.websocket.onopen = () => {
41
- console.log('Connected to ${title} server');
42
- resolve();
43
- };
44
-
45
- // On receiving a message
46
- this.websocket.onmessage = (event) => {
47
- if (this.messageHandlers.length > 0) {
48
- // Call custom message handlers
49
- this.messageHandlers.forEach(handler => {
50
- if (typeof handler === 'function') {
51
- this.handleMessage(event.data, handler);
52
- }
53
- });
54
- } else {
55
- // Default message logging
56
- console.log('Message received:', event.data);
57
- }
58
- };
59
-
60
- // On error first call custom error handlers, then default error behavior
61
- this.websocket.onerror = (error) => {
62
- if (this.errorHandlers.length > 0) {
63
- // Call custom error handlers
64
- this.errorHandlers.forEach(handler => handler(error));
65
- } else {
66
- // Default error behavior
67
- console.error('WebSocket Error:', error);
68
- }
69
- reject(error);
70
- };
71
-
72
- // On connection close
73
- this.websocket.onclose = () => {
74
- console.log('Disconnected from ${title} server');
75
- };
76
- });
77
- }`
78
- });
79
- }
80
-
81
- function RegisterErrorHandler() {
82
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
83
- newLines: 2,
84
- indent: 2,
85
- children: `// Method to register custom error handlers
86
- registerErrorHandler(handler) {
87
- if (typeof handler === 'function') {
88
- this.errorHandlers.push(handler);
89
- } else {
90
- console.warn('Error handler must be a function');
91
- }
92
- }`
93
- });
94
- }
95
-
96
- function HandleMessage() {
97
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
98
- newLines: 2,
99
- indent: 2,
100
- children: `// Method to handle message with callback
101
- handleMessage(message, cb) {
102
- if (cb) cb(message);
103
- }`
104
- });
105
- }
106
-
107
- function SendOperation({
108
- sendOperations,
109
- clientName
110
- }) {
111
- if (!sendOperations || sendOperations.length === 0) {
112
- return null;
113
- }
114
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
115
- children: sendOperations.map(operation => /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
116
- newLines: 2,
117
- indent: 2,
118
- children: `
119
- /**
120
- * Sends a ${operation.id()} message over the WebSocket connection.
121
- *
122
- * @param {Object} message - The message payload to send. Should match the schema defined in the AsyncAPI document.
123
- * @param {WebSocket} [socket] - The WebSocket connection to use. If not provided, the client's own connection will be used.
124
- * @throws {TypeError} If message cannot be stringified to JSON
125
- * @throws {Error} If WebSocket connection is not in OPEN state
126
- */
127
- static ${operation.id()}(message, socket) {
128
- try {
129
- socket.send(JSON.stringify(message));
130
- } catch (error) {
131
- console.error('Error sending ${operation.id()} message:', error);
132
- }
133
- }
134
- /**
135
- * Instance method version of ${operation.id()} that uses the client's own WebSocket connection.
136
- * @param {Object} message - The message payload to send
137
- * @throws {Error} If WebSocket connection is not established
138
- */
139
- ${operation.id()}(message){
140
- if(!this.websocket){
141
- throw new Error('WebSocket connection not established. Call connect() first.');
142
- }
143
- ${clientName}.${operation.id()}(message, this.websocket);
144
- }
145
- `
146
- }))
147
- });
148
- }
149
-
150
28
  function ModuleExport({
151
29
  clientName
152
30
  }) {
@@ -167,12 +45,20 @@ function ClientClass({
167
45
  children: `class ${clientName} {`
168
46
  }), /*#__PURE__*/jsxRuntime.jsx(Constructor, {
169
47
  serverUrl: serverUrl
170
- }), /*#__PURE__*/jsxRuntime.jsx(Connect, {
48
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.Connect, {
49
+ language: "javascript",
171
50
  title: title
172
51
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterMessageHandler, {
173
52
  language: "javascript",
174
53
  methodParams: ['handler']
175
- }), /*#__PURE__*/jsxRuntime.jsx(RegisterErrorHandler, {}), /*#__PURE__*/jsxRuntime.jsx(HandleMessage, {}), /*#__PURE__*/jsxRuntime.jsx(SendOperation, {
54
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterErrorHandler, {
55
+ language: "javascript",
56
+ methodParams: ['handler']
57
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
58
+ language: "javascript",
59
+ methodParams: ['message', 'cb']
60
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
61
+ language: "javascript",
176
62
  sendOperations: sendOperations,
177
63
  clientName: clientName
178
64
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {