@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
@@ -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
  }
@@ -0,0 +1,14 @@
1
+ const baseConfig = require('../../../../../../jest.config.base');
2
+
3
+ module.exports = {
4
+ ...baseConfig(__dirname),
5
+ moduleFileExtensions: [
6
+ 'js',
7
+ 'json',
8
+ 'jsx'
9
+ ],
10
+ transform: {
11
+ '^.+\\.jsx?$': 'babel-jest'
12
+ },
13
+ };
14
+
@@ -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": {
@@ -36,20 +36,6 @@
36
36
  "eslint-plugin-sonarjs": "^0.5.0",
37
37
  "jest-esm-transformer": "^1.0.0"
38
38
  },
39
- "jest": {
40
- "moduleFileExtensions": [
41
- "js",
42
- "json",
43
- "jsx"
44
- ],
45
- "transform": {
46
- "^.+\\.jsx?$": "babel-jest"
47
- },
48
- "moduleNameMapper": {
49
- "^nimma/legacy$": "<rootDir>/../../../../../node_modules/nimma/dist/legacy/cjs/index.js",
50
- "^nimma/(.*)": "<rootDir>/../../../../../node_modules/nimma/dist/cjs/$1"
51
- }
52
- },
53
39
  "babel": {
54
40
  "presets": [
55
41
  "@babel/preset-env",
@@ -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
  );
@@ -15,7 +15,15 @@ parameters:
15
15
  customClientName:
16
16
  description: The custom name for the generated client class
17
17
  required: false
18
+ asyncapiFileDir:
19
+ description: >-
20
+ Custom location of the AsyncAPI file that you provided as an input in generation. By default it is located in the
21
+ root of the output directory
22
+ required: false
23
+ default: .
18
24
  metadata:
19
25
  type: client
20
26
  protocol: websocket
21
27
  target: javascript
28
+ hooks:
29
+ '@asyncapi/generator-hooks': createAsyncapiFile
@@ -5,12 +5,9 @@ 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');
10
+ var CompileOperationSchemas = require('./CompileOperationSchemas.js');
14
11
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
15
12
 
16
13
  function ClientClass({
@@ -24,13 +21,24 @@ function ClientClass({
24
21
  newLines: 2,
25
22
  children: `class ${clientName} {`
26
23
  }), /*#__PURE__*/jsxRuntime.jsx(Constructor.Constructor, {
27
- serverUrl: serverUrl
28
- }), /*#__PURE__*/jsxRuntime.jsx(Connect.Connect, {
24
+ serverUrl: serverUrl,
25
+ sendOperations: sendOperations
26
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.Connect, {
27
+ language: "javascript",
29
28
  title: title
30
29
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterMessageHandler, {
31
30
  language: "javascript",
32
31
  methodParams: ['handler']
33
- }), /*#__PURE__*/jsxRuntime.jsx(RegisterErrorHandler.RegisterErrorHandler, {}), /*#__PURE__*/jsxRuntime.jsx(HandleMessage.HandleMessage, {}), /*#__PURE__*/jsxRuntime.jsx(SendOperation.SendOperation, {
32
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterErrorHandler, {
33
+ language: "javascript",
34
+ methodParams: ['handler']
35
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
36
+ language: "javascript",
37
+ methodParams: ['message', 'cb']
38
+ }), /*#__PURE__*/jsxRuntime.jsx(CompileOperationSchemas.CompileOperationSchemas, {
39
+ sendOperations: sendOperations
40
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
41
+ language: "javascript",
34
42
  sendOperations: sendOperations,
35
43
  clientName: clientName
36
44
  }), /*#__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';\nimport { CompileOperationSchemas } from './CompileOperationSchemas';\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} sendOperations={sendOperations} />\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 <CompileOperationSchemas sendOperations={sendOperations} />\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","CompileOperationSchemas","SendOperations","CloseConnection","ModuleExport"],"mappings":";;;;;;;;;;;;AAMO,SAASA,WAAWA,CAAC;EAAEC,UAAU;EAAEC,SAAS;EAAEC,KAAK;AAAEC,EAAAA,cAAAA;AAAe,CAAC,EAAE;EAC5E,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,SAAU;AAACE,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAE,CAAC,eACrEI,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,+CAAuB,EAAA;AAACb,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAE,CAAC,eAC3DI,cAAA,CAACU,kCAAc,EAAA;AACbN,MAAAA,QAAQ,EAAC,YAAY;AACrBR,MAAAA,cAAc,EAAEA,cAAe;AAC/BH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KACxB,CAAC,eACFO,cAAA,CAACW,mCAAe,EAAA;AAACP,MAAAA,QAAQ,EAAC,YAAA;AAAY,KAAE,CAAC,eACzCJ,cAAA,CAACF,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,GAAA;AAAG,KACA,CAAC,eACPC,cAAA,CAACY,yBAAY,EAAA;AAACnB,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,CAAA;AAAA,GACpC,CAAC,CAAA;AAEX;;;;"}
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('source-map-support/register');
6
+ var generatorReactSdk = require('@asyncapi/generator-react-sdk');
7
+ var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
8
+
9
+ function CompileOperationSchemas({
10
+ sendOperations
11
+ }) {
12
+ if (!sendOperations || sendOperations.length === 0) {
13
+ return null;
14
+ }
15
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
16
+ children: /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
17
+ indent: 2,
18
+ newLines: 2,
19
+ children: `/**
20
+ * Initialize and compile all schemas for operations defined.
21
+ * This should be called once after creating the client instance.
22
+ * Subsequent calls will be ignored if schemas are already compiled.
23
+ *
24
+ * @returns {Promise<void>}
25
+ * @throws {Error} If schema compilation fails for any operation
26
+ */
27
+ async compileOperationSchemas() {
28
+ if (this.schemasCompiled) {
29
+ return;
30
+ }
31
+
32
+ try {
33
+ // Compile schemas for all send operations
34
+ for (const operationId of this.sendOperationsId) {
35
+ this.compiledSchemas[operationId] = await compileSchemasByOperationId(asyncapiFilepath, operationId);
36
+ }
37
+ this.schemasCompiled = true;
38
+ console.log('Schemas initialized successfully for operations:', this.sendOperationsId.join(', '));
39
+ } catch (error) {
40
+ console.error('Error initializing schemas:', error);
41
+ }
42
+ }`
43
+ })
44
+ });
45
+ }
46
+
47
+ exports.CompileOperationSchemas = CompileOperationSchemas;
48
+ //# sourceMappingURL=CompileOperationSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompileOperationSchemas.js","sources":["../../../../../../../../packages/templates/clients/websocket/javascript/components/CompileOperationSchemas.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function CompileOperationSchemas({ sendOperations }) {\n if (!sendOperations || sendOperations.length === 0) {\n return null;\n } \n\n return (\n <>\n <Text indent={2} newLines={2}>\n {\n `/**\n * Initialize and compile all schemas for operations defined.\n * This should be called once after creating the client instance.\n * Subsequent calls will be ignored if schemas are already compiled.\n * \n * @returns {Promise<void>}\n * @throws {Error} If schema compilation fails for any operation\n */\nasync compileOperationSchemas() {\n if (this.schemasCompiled) {\n return;\n }\n\n try {\n // Compile schemas for all send operations\n for (const operationId of this.sendOperationsId) {\n this.compiledSchemas[operationId] = await compileSchemasByOperationId(asyncapiFilepath, operationId);\n }\n this.schemasCompiled = true;\n console.log('Schemas initialized successfully for operations:', this.sendOperationsId.join(', '));\n } catch (error) {\n console.error('Error initializing schemas:', error);\n }\n}`\n }\n </Text>\n </>\n );\n}\n"],"names":["CompileOperationSchemas","sendOperations","length","_jsx","_Fragment","children","Text","indent","newLines"],"mappings":";;;;;;;;AAEO,SAASA,uBAAuBA,CAAC;AAAEC,EAAAA,cAAAA;AAAe,CAAC,EAAE;EAC1D,IAAI,CAACA,cAAc,IAAIA,cAAc,CAACC,MAAM,KAAK,CAAC,EAAE;AAClD,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACEC,cAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,eACEF,cAAA,CAACG,sBAAI,EAAA;AAACC,MAAAA,MAAM,EAAE,CAAE;AAACC,MAAAA,QAAQ,EAAE,CAAE;AAAAH,MAAAA,QAAA,EAEzB,CAAA;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAA,CAAA;KAEY,CAAA;AAAC,GACP,CAAC,CAAA;AAEP;;;;"}
@@ -7,8 +7,11 @@ var generatorReactSdk = require('@asyncapi/generator-react-sdk');
7
7
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
8
8
 
9
9
  function Constructor({
10
- serverUrl
10
+ serverUrl,
11
+ sendOperations
11
12
  }) {
13
+ const sendOperationsId = sendOperations.map(operation => operation.id());
14
+ const sendOperationsArray = JSON.stringify(sendOperationsId);
12
15
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
13
16
  indent: 2,
14
17
  children: `/*
@@ -20,6 +23,9 @@ constructor(url) {
20
23
  this.websocket = null;
21
24
  this.messageHandlers = [];
22
25
  this.errorHandlers = [];
26
+ this.compiledSchemas = {};
27
+ this.schemasCompiled = false;
28
+ this.sendOperationsId = ${sendOperationsArray};
23
29
  }
24
30
  `
25
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Constructor.js","sources":["../../../../../../../../packages/templates/clients/websocket/javascript/components/Constructor.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Constructor({ serverUrl }) {\n return (\n <Text indent={2}>\n {\n `/*\n * Constructor to initialize the WebSocket client\n * @param {string} url - The WebSocket server URL. Use it if the server URL is different from the default one taken from the AsyncAPI document.\n*/\nconstructor(url) {\n this.url = url || '${serverUrl}';\n this.websocket = null;\n this.messageHandlers = [];\n this.errorHandlers = [];\n}\n`\n }\n </Text>\n );\n}\n"],"names":["Constructor","serverUrl","_jsx","Text","indent","children"],"mappings":";;;;;;;;AAEO,SAASA,WAAWA,CAAC;AAAEC,EAAAA,SAAAA;AAAU,CAAC,EAAE;EACzC,oBACEC,cAAA,CAACC,sBAAI,EAAA;AAACC,IAAAA,MAAM,EAAE,CAAE;AAAAC,IAAAA,QAAA,EAEZ,CAAA;AACR;AACA;AACA;AACA;AACA,qBAAA,EAAuBJ,SAAS,CAAA;AAChC;AACA;AACA;AACA;AACA,CAAA;AAAC,GAES,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"Constructor.js","sources":["../../../../../../../../packages/templates/clients/websocket/javascript/components/Constructor.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Constructor({ serverUrl, sendOperations }) {\n const sendOperationsId = sendOperations.map((operation) => operation.id());\n const sendOperationsArray = JSON.stringify(sendOperationsId);\n\n return (\n <Text indent={2}>\n {\n `/*\n * Constructor to initialize the WebSocket client\n * @param {string} url - The WebSocket server URL. Use it if the server URL is different from the default one taken from the AsyncAPI document.\n*/\nconstructor(url) {\n this.url = url || '${serverUrl}';\n this.websocket = null;\n this.messageHandlers = [];\n this.errorHandlers = [];\n this.compiledSchemas = {};\n this.schemasCompiled = false;\n this.sendOperationsId = ${sendOperationsArray};\n}\n`\n }\n </Text>\n );\n}\n"],"names":["Constructor","serverUrl","sendOperations","sendOperationsId","map","operation","id","sendOperationsArray","JSON","stringify","_jsx","Text","indent","children"],"mappings":";;;;;;;;AAEO,SAASA,WAAWA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,cAAAA;AAAe,CAAC,EAAE;AACzD,EAAA,MAAMC,gBAAgB,GAAGD,cAAc,CAACE,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACC,EAAE,EAAE,CAAC,CAAA;AAC1E,EAAA,MAAMC,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAACN,gBAAgB,CAAC,CAAA;EAE5D,oBACEO,cAAA,CAACC,sBAAI,EAAA;AAACC,IAAAA,MAAM,EAAE,CAAE;AAAAC,IAAAA,QAAA,EAEZ,CAAA;AACR;AACA;AACA;AACA;AACA,qBAAA,EAAuBZ,SAAS,CAAA;AAChC;AACA;AACA;AACA;AACA;AACA,0BAAA,EAA4BM,mBAAmB,CAAA;AAC/C;AACA,CAAA;AAAC,GAES,CAAC,CAAA;AAEX;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ require('source-map-support/register');
4
+
5
+ const baseConfig = require('../../../../../jest.config.base');
6
+ module.exports = {
7
+ ...baseConfig(__dirname),
8
+ moduleFileExtensions: ['js', 'json', 'jsx'],
9
+ transform: {
10
+ '^.+\\.jsx?$': 'babel-jest'
11
+ }
12
+ };
13
+ //# sourceMappingURL=jest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.js","sources":["../../../../../../../packages/templates/clients/websocket/javascript/jest.config.js"],"sourcesContent":["const baseConfig = require('../../../../../jest.config.base');\n\nmodule.exports = {\n ...baseConfig(__dirname),\n moduleFileExtensions: [\n 'js',\n 'json',\n 'jsx'\n ],\n transform: {\n '^.+\\\\.jsx?$': 'babel-jest'\n },\n};\n\n"],"names":["baseConfig","require","module","exports","__dirname","moduleFileExtensions","transform"],"mappings":";;;;AAAA,MAAMA,UAAU,GAAGC,OAAO,CAAC,iCAAiC,CAAC,CAAA;AAE7DC,MAAM,CAACC,OAAO,GAAG;EACf,GAAGH,UAAU,CAACI,SAAS,CAAC;AACxBC,EAAAA,oBAAoB,EAAE,CACpB,IAAI,EACJ,MAAM,EACN,KAAK,CACN;AACDC,EAAAA,SAAS,EAAE;AACT,IAAA,aAAa,EAAE,YAAA;AACjB,GAAA;AACF,CAAC;;"}
@@ -7,8 +7,11 @@ 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
9
  function Constructor({
10
- serverUrl
10
+ serverUrl,
11
+ sendOperations
11
12
  }) {
13
+ const sendOperationsId = sendOperations.map(operation => operation.id());
14
+ const sendOperationsArray = JSON.stringify(sendOperationsId);
12
15
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
13
16
  indent: 2,
14
17
  children: `/*
@@ -20,138 +23,57 @@ constructor(url) {
20
23
  this.websocket = null;
21
24
  this.messageHandlers = [];
22
25
  this.errorHandlers = [];
26
+ this.compiledSchemas = {};
27
+ this.schemasCompiled = false;
28
+ this.sendOperationsId = ${sendOperationsArray};
23
29
  }
24
30
  `
25
31
  });
26
32
  }
27
33
 
28
- function Connect({
29
- title
34
+ function ModuleExport({
35
+ clientName
30
36
  }) {
31
37
  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
- }`
38
+ children: `module.exports = ${clientName};`
104
39
  });
105
40
  }
106
41
 
107
- function SendOperation({
108
- sendOperations,
109
- clientName
42
+ function CompileOperationSchemas({
43
+ sendOperations
110
44
  }) {
111
45
  if (!sendOperations || sendOperations.length === 0) {
112
46
  return null;
113
47
  }
114
48
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
115
- children: sendOperations.map(operation => /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
116
- newLines: 2,
49
+ children: /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
117
50
  indent: 2,
118
- children: `
119
- /**
120
- * Sends a ${operation.id()} message over the WebSocket connection.
51
+ newLines: 2,
52
+ children: `/**
53
+ * Initialize and compile all schemas for operations defined.
54
+ * This should be called once after creating the client instance.
55
+ * Subsequent calls will be ignored if schemas are already compiled.
121
56
  *
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
57
+ * @returns {Promise<void>}
58
+ * @throws {Error} If schema compilation fails for any operation
126
59
  */
127
- static ${operation.id()}(message, socket) {
60
+ async compileOperationSchemas() {
61
+ if (this.schemasCompiled) {
62
+ return;
63
+ }
64
+
128
65
  try {
129
- socket.send(JSON.stringify(message));
66
+ // Compile schemas for all send operations
67
+ for (const operationId of this.sendOperationsId) {
68
+ this.compiledSchemas[operationId] = await compileSchemasByOperationId(asyncapiFilepath, operationId);
69
+ }
70
+ this.schemasCompiled = true;
71
+ console.log('Schemas initialized successfully for operations:', this.sendOperationsId.join(', '));
130
72
  } 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.');
73
+ console.error('Error initializing schemas:', error);
142
74
  }
143
- ${clientName}.${operation.id()}(message, this.websocket);
144
- }
145
- `
146
- }))
147
- });
148
- }
149
-
150
- function ModuleExport({
151
- clientName
152
- }) {
153
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
154
- children: `module.exports = ${clientName};`
75
+ }`
76
+ })
155
77
  });
156
78
  }
157
79
 
@@ -166,13 +88,24 @@ function ClientClass({
166
88
  newLines: 2,
167
89
  children: `class ${clientName} {`
168
90
  }), /*#__PURE__*/jsxRuntime.jsx(Constructor, {
169
- serverUrl: serverUrl
170
- }), /*#__PURE__*/jsxRuntime.jsx(Connect, {
91
+ serverUrl: serverUrl,
92
+ sendOperations: sendOperations
93
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.Connect, {
94
+ language: "javascript",
171
95
  title: title
172
96
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterMessageHandler, {
173
97
  language: "javascript",
174
98
  methodParams: ['handler']
175
- }), /*#__PURE__*/jsxRuntime.jsx(RegisterErrorHandler, {}), /*#__PURE__*/jsxRuntime.jsx(HandleMessage, {}), /*#__PURE__*/jsxRuntime.jsx(SendOperation, {
99
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterErrorHandler, {
100
+ language: "javascript",
101
+ methodParams: ['handler']
102
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
103
+ language: "javascript",
104
+ methodParams: ['message', 'cb']
105
+ }), /*#__PURE__*/jsxRuntime.jsx(CompileOperationSchemas, {
106
+ sendOperations: sendOperations
107
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
108
+ language: "javascript",
176
109
  sendOperations: sendOperations,
177
110
  clientName: clientName
178
111
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
@@ -195,6 +128,7 @@ function client_js ({
195
128
  const clientName = generatorHelpers.getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
196
129
  const serverUrl = generatorHelpers.getServerUrl(server);
197
130
  const sendOperations = asyncapi.operations().filterBySend();
131
+ const asyncapiFilepath = `${params.asyncapiFileDir}/asyncapi.yaml`;
198
132
  return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.File, {
199
133
  name: params.clientFileName,
200
134
  children: [/*#__PURE__*/jsxRuntime.jsx(generatorComponents.FileHeaderInfo, {
@@ -202,7 +136,8 @@ function client_js ({
202
136
  server: server,
203
137
  language: "javascript"
204
138
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.DependencyProvider, {
205
- language: "javascript"
139
+ language: "javascript",
140
+ additionalDependencies: ['const path = require(\'path\');', `const asyncapiFilepath = path.resolve(__dirname, '${asyncapiFilepath}');`]
206
141
  }), /*#__PURE__*/jsxRuntime.jsx(ClientClass, {
207
142
  clientName: clientName,
208
143
  serverUrl: serverUrl,