@asyncapi/generator 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/docs/api_components.md +66 -2
  3. package/lib/generator.js +16 -2
  4. package/lib/logMessages.js +6 -1
  5. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js +2 -0
  6. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js.map +1 -1
  7. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js +2 -0
  8. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js.map +1 -1
  9. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/ClientClass.js +2 -1
  10. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/package.json +3 -1
  11. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js +4 -2
  12. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js.map +1 -1
  13. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +4 -12
  14. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -1
  15. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/EchoWebSocket.js +2 -3
  16. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/package.json +3 -1
  17. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js +2 -1
  18. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js.map +1 -1
  19. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js +1 -0
  20. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js.map +1 -1
  21. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterOutgoingProcessor.js +24 -0
  22. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterOutgoingProcessor.js.map +1 -0
  23. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/example.js +12 -0
  24. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/example.js.map +1 -1
  25. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js +16 -1
  26. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js.map +1 -1
  27. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/ClientClass.js +2 -0
  28. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Constructor.js +1 -0
  29. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/RegisterOutgoingProcessor.js +17 -0
  30. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/example.js +9 -0
  31. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/package.json +3 -1
  32. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js +3 -2
  33. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js.map +1 -1
  34. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js +3 -16
  35. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js.map +1 -1
  36. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/ClientClass.js +2 -3
  37. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/package.json +3 -1
  38. package/lib/templates/bakedInTemplates.js +9 -3
  39. package/lib/templates/config/validator.js +1 -1
  40. package/lib/utils.js +10 -8
  41. package/package.json +1 -1
  42. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js +0 -19
  43. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js.map +0 -1
  44. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/HandleError.js +0 -14
  45. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleError.js +0 -25
  46. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleError.js.map +0 -1
  47. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/HandleError.js +0 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @asyncapi/generator
2
2
 
3
+ ## 3.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - b43cd7c: Fix `fetchSpec` silently resolving on non-2xx HTTP responses. Previously, fetching an AsyncAPI document from a URL that returned a 4xx or 5xx status would resolve with the error response body (e.g. an HTML page) instead of rejecting. `fetchSpec` now throws a descriptive error including the URL and HTTP status code, so failures are surfaced immediately rather than propagating as invalid spec content.
8
+
9
+ ## 3.2.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 643f194: Fix browserslist error when using pnpm
14
+
15
+ Set BROWSERSLIST_ROOT_PATH environment variable during template compilation
16
+ to prevent browserslist from searching outside the template directory. This
17
+ fixes an issue where pnpm's shim files were incorrectly parsed as browserslist
18
+ configuration, causing "Unknown browser query" errors.
19
+
20
+ Fixes: https://github.com/asyncapi/cli/issues/1781
21
+
3
22
  ## 3.2.0
4
23
 
5
24
  ### Minor Changes
@@ -21,6 +21,11 @@ weight: 77
21
21
 
22
22
  Renders a file header with metadata information such as title, version, protocol, host, and path.
23
23
 
24
+ * [HandleError](#HandleError) ⇒ `JSX.Element`<br/>
25
+
26
+ Renders the `handleError` (or framework-equivalent) method body that dispatches
27
+ an error to registered handlers (or logs it when none are registered).
28
+
24
29
  * [HandleMessage](#HandleMessage) ⇒ `JSX.Element`<br/>
25
30
 
26
31
  Renders a WebSocket message handler method with optional pre- and post-execution logic.
@@ -97,6 +102,10 @@ weight: 77
97
102
 
98
103
  Renders WebSocket send operation methods. Generates both static and instance methods for sending messages through WebSocket connections.
99
104
 
105
+ * [createError](#createError) ⇒ `Error`<br/>
106
+
107
+ Creates an error with a specific error code for programmatic handling
108
+
100
109
 
101
110
  <a name="CloseConnection"></a>
102
111
  ### CloseConnection()
@@ -296,6 +305,40 @@ renderFileHeader().catch(console.error);
296
305
 
297
306
 
298
307
 
308
+ <a name="HandleError"></a>
309
+ ### HandleError()
310
+ Renders the &#x60;handleError&#x60; (or framework-equivalent) method body that dispatches
311
+ an error to registered handlers (or logs it when none are registered).
312
+
313
+
314
+ **Parameters**
315
+
316
+ | Name | Type | Description |
317
+ |------|------|-------------|
318
+ | props | `Object` | |
319
+ | props.language | `Language` | Target programming language. |
320
+ | props.framework | `string` | Framework discriminator (required for languages with multiple frameworks, e.g. &#x60;java&#x60; → &#x60;quarkus&#x60;). |
321
+
322
+
323
+
324
+ **Returns**
325
+
326
+ - `JSX.Element` - A &#x60;&lt;Text&gt;&#x60; block containing the rendered method.
327
+
328
+
329
+
330
+ **Example**
331
+
332
+ ```js
333
+ import { HandleError } from '@asyncapi/generator-components';
334
+
335
+ function renderHandleError() {
336
+ return <HandleError language='python' />;
337
+ }
338
+ ```
339
+
340
+
341
+
299
342
  <a name="HandleMessage"></a>
300
343
  ### HandleMessage()
301
344
  Renders a WebSocket message handler method with optional pre- and post-execution logic.
@@ -366,13 +409,13 @@ Renders a language-specific formatted method definition.
366
409
  |------|------|-------------|
367
410
  | props | `Object` | Component props. |
368
411
  | props.language | `Language` | Programming language used for method formatting. |
369
- | props.methodName | `string` | Name of the method. |
412
+ | props.methodName | `string` | Name of the method (non-empty string required). |
370
413
  | props.methodParams | `Array.<string>` | Method parameters. |
371
414
  | props.methodDocs | `string` | Optional documentation string. |
372
415
  | props.methodLogic | `string` | Core method logic. |
373
416
  | props.preExecutionCode | `string` | Code before main logic. |
374
417
  | props.postExecutionCode | `string` | Code after main logic. |
375
- | props.indent | `number` | Indentation for the method block. |
418
+ | props.indent | `number` | Indentation for the method block (must be &gt;&#x3D; 0). |
376
419
  | props.newLines | `number` | Number of new lines after method. |
377
420
  | props.customMethodConfig | `Object` | Optional custom syntax configuration for the current language. |
378
421
  | props.methodConfig | `Object` | Language-level or framework-level configuration. |
@@ -1231,3 +1274,24 @@ renderSendOperations().catch(console.error);
1231
1274
  ```
1232
1275
 
1233
1276
 
1277
+
1278
+ <a name="createError"></a>
1279
+ ### createError()
1280
+ Creates an error with a specific error code for programmatic handling
1281
+
1282
+
1283
+ **Parameters**
1284
+
1285
+ | Name | Type | Description |
1286
+ |------|------|-------------|
1287
+ | code | `string` | The error code (from ERROR_CODES) |
1288
+ | message | `string` | The error message |
1289
+
1290
+
1291
+
1292
+ **Returns**
1293
+
1294
+ - `Error` - An error object with an attached code property
1295
+
1296
+
1297
+
package/lib/generator.js CHANGED
@@ -347,7 +347,6 @@ class Generator {
347
347
  }
348
348
  if (this.output === 'fs') {
349
349
  await this.generateFile(this.asyncapi, path.basename(entrypointPath), path.dirname(entrypointPath));
350
- await this.launchHook('generate:after');
351
350
  } else if (this.output === 'string') {
352
351
  return await this.renderFile(this.asyncapi, entrypointPath);
353
352
  }
@@ -401,7 +400,22 @@ class Generator {
401
400
  */
402
401
  async configureTemplate() {
403
402
  if (this.compile) {
404
- await configureReact(this.templateDir, this.templateContentDir, TRANSPILED_TEMPLATE_LOCATION);
403
+ // Set BROWSERSLIST_ROOT_PATH to prevent browserslist from searching
404
+ // outside the template directory. This fixes issues with pnpm where
405
+ // browserslist would incorrectly parse pnpm shim files as config.
406
+ // See: https://github.com/asyncapi/cli/issues/1781
407
+ const previousRootPath = process.env.BROWSERSLIST_ROOT_PATH;
408
+ process.env.BROWSERSLIST_ROOT_PATH = this.templateDir;
409
+ try {
410
+ await configureReact(this.templateDir, this.templateContentDir, TRANSPILED_TEMPLATE_LOCATION);
411
+ } finally {
412
+ // Restore previous value if it existed
413
+ if (previousRootPath === undefined) {
414
+ delete process.env.BROWSERSLIST_ROOT_PATH;
415
+ } else {
416
+ process.env.BROWSERSLIST_ROOT_PATH = previousRootPath;
417
+ }
418
+ }
405
419
  }
406
420
  }
407
421
 
@@ -54,6 +54,10 @@ function compileEnabled(dir, output_dir) {
54
54
  return `Transpilation of files ${dir} into ${output_dir} started.`;
55
55
  }
56
56
 
57
+ function fetchSpecError(link, status, statusText) {
58
+ return `Failed to fetch AsyncAPI document from ${link}: HTTP ${status}${statusText}`;
59
+ }
60
+
57
61
  module.exports = {
58
62
  TEMPLATE_INSTALL_FLAG_MSG,
59
63
  TEMPLATE_INSTALL_DISK_MSG,
@@ -69,5 +73,6 @@ module.exports = {
69
73
  conditionalGenerationMatched,
70
74
  conditionalFilesMatched,
71
75
  compileEnabled,
72
- skipOverwrite
76
+ skipOverwrite,
77
+ fetchSpecError
73
78
  };
@@ -35,6 +35,8 @@ function ClientClass({
35
35
  language: "dart",
36
36
  methodName: "_handleMessage",
37
37
  methodParams: ['dynamic message', 'void Function(String) cb']
38
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleError, {
39
+ language: "dart"
38
40
  }), /*#__PURE__*/jsxRuntime.jsx(SendEchoMessage.SendEchoMessage, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
39
41
  language: "dart"
40
42
  }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"ClientClass.js","sources":["../../../../../../../../packages/templates/clients/websocket/dart/components/ClientClass.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\nimport { Constructor } from './Constructor';\nimport { SendEchoMessage } from './SendEchoMessage';\nimport { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage } from '@asyncapi/generator-components';\nimport { ClientFields } from './ClientFields';\n\nexport function ClientClass({ clientName, serverUrl, title }) {\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName} {`}\n </Text>\n <ClientFields />\n <Constructor clientName={clientName} serverUrl={serverUrl} />\n <Connect language=\"dart\" title={title} />\n <RegisterMessageHandler \n language=\"dart\" \n methodParams={['void Function(String) handler']}\n />\n <RegisterErrorHandler\n language=\"dart\"\n methodParams={['void Function(Object) handler']}\n />\n <HandleMessage\n language=\"dart\" \n methodName=\"_handleMessage\"\n methodParams={['dynamic message', 'void Function(String) cb']}\n />\n <SendEchoMessage />\n <CloseConnection language=\"dart\" />\n <Text>\n {'}'}\n </Text>\n </Text>\n );\n}\n"],"names":["ClientClass","clientName","serverUrl","title","_jsxs","Text","children","_jsx","newLines","ClientFields","Constructor","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","methodName","SendEchoMessage","CloseConnection"],"mappings":";;;;;;;;;;;;AAMO,SAASA,WAAWA,CAAC;EAAEC,UAAU;EAAEC,SAAS;AAAEC,EAAAA,KAAAA;AAAM,CAAC,EAAE;EAC5D,oBACEC,eAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,EAAA,cACHC,cAAA,CAACF,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;MAAAF,QAAA,EACf,SAASL,UAAU,CAAA,EAAA,CAAA;KAChB,CAAC,eACPM,cAAA,CAACE,yBAAY,IAAE,CAAC,eAChBF,cAAA,CAACG,uBAAW,EAAA;AAACT,MAAAA,UAAU,EAAEA,UAAW;AAACC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAE,CAAC,eAC7DK,cAAA,CAACI,2BAAO,EAAA;AAACC,MAAAA,QAAQ,EAAC,MAAM;AAACT,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,eACzCI,cAAA,CAACM,0CAAsB,EAAA;AACrBD,MAAAA,QAAQ,EAAC,MAAM;MACfE,YAAY,EAAE,CAAC,+BAA+B,CAAA;AAAE,KACjD,CAAC,eACFP,cAAA,CAACQ,wCAAoB,EAAA;AACnBH,MAAAA,QAAQ,EAAC,MAAM;MACfE,YAAY,EAAE,CAAC,+BAA+B,CAAA;AAAE,KACjD,CAAC,eACFP,cAAA,CAACS,iCAAa,EAAA;AACZJ,MAAAA,QAAQ,EAAC,MAAM;AACfK,MAAAA,UAAU,EAAC,gBAAgB;AAC3BH,MAAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAA;KAC7D,CAAC,eACFP,cAAA,CAACW,+BAAe,IAAE,CAAC,eACnBX,cAAA,CAACY,mCAAe,EAAA;AAACP,MAAAA,QAAQ,EAAC,MAAA;AAAM,KAAE,CAAC,eACnCL,cAAA,CAACF,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,GAAA;AAAG,KACA,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"ClientClass.js","sources":["../../../../../../../../packages/templates/clients/websocket/dart/components/ClientClass.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\nimport { Constructor } from './Constructor';\nimport { SendEchoMessage } from './SendEchoMessage';\nimport { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage, HandleError } from '@asyncapi/generator-components';\nimport { ClientFields } from './ClientFields';\n\nexport function ClientClass({ clientName, serverUrl, title }) {\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName} {`}\n </Text>\n <ClientFields />\n <Constructor clientName={clientName} serverUrl={serverUrl} />\n <Connect language=\"dart\" title={title} />\n <RegisterMessageHandler \n language=\"dart\" \n methodParams={['void Function(String) handler']}\n />\n <RegisterErrorHandler\n language=\"dart\"\n methodParams={['void Function(Object) handler']}\n />\n <HandleMessage\n language=\"dart\" \n methodName=\"_handleMessage\"\n methodParams={['dynamic message', 'void Function(String) cb']}\n />\n <HandleError language=\"dart\" />\n <SendEchoMessage />\n <CloseConnection language=\"dart\" />\n <Text>\n {'}'}\n </Text>\n </Text>\n );\n}\n"],"names":["ClientClass","clientName","serverUrl","title","_jsxs","Text","children","_jsx","newLines","ClientFields","Constructor","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","methodName","HandleError","SendEchoMessage","CloseConnection"],"mappings":";;;;;;;;;;;;AAMO,SAASA,WAAWA,CAAC;EAAEC,UAAU;EAAEC,SAAS;AAAEC,EAAAA,KAAAA;AAAM,CAAC,EAAE;EAC5D,oBACEC,eAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,EAAA,cACHC,cAAA,CAACF,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;MAAAF,QAAA,EACf,SAASL,UAAU,CAAA,EAAA,CAAA;KAChB,CAAC,eACPM,cAAA,CAACE,yBAAY,IAAE,CAAC,eAChBF,cAAA,CAACG,uBAAW,EAAA;AAACT,MAAAA,UAAU,EAAEA,UAAW;AAACC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAE,CAAC,eAC7DK,cAAA,CAACI,2BAAO,EAAA;AAACC,MAAAA,QAAQ,EAAC,MAAM;AAACT,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,eACzCI,cAAA,CAACM,0CAAsB,EAAA;AACrBD,MAAAA,QAAQ,EAAC,MAAM;MACfE,YAAY,EAAE,CAAC,+BAA+B,CAAA;AAAE,KACjD,CAAC,eACFP,cAAA,CAACQ,wCAAoB,EAAA;AACnBH,MAAAA,QAAQ,EAAC,MAAM;MACfE,YAAY,EAAE,CAAC,+BAA+B,CAAA;AAAE,KACjD,CAAC,eACFP,cAAA,CAACS,iCAAa,EAAA;AACZJ,MAAAA,QAAQ,EAAC,MAAM;AACfK,MAAAA,UAAU,EAAC,gBAAgB;AAC3BH,MAAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAA;AAAE,KAC/D,CAAC,eACFP,cAAA,CAACW,+BAAW,EAAA;AAACN,MAAAA,QAAQ,EAAC,MAAA;KAAQ,CAAC,eAC/BL,cAAA,CAACY,+BAAe,IAAE,CAAC,eACnBZ,cAAA,CAACa,mCAAe,EAAA;AAACR,MAAAA,QAAQ,EAAC,MAAA;AAAM,KAAE,CAAC,eACnCL,cAAA,CAACF,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,GAAA;AAAG,KACA,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX;;;;"}
@@ -76,6 +76,8 @@ function ClientClass({
76
76
  language: "dart",
77
77
  methodName: "_handleMessage",
78
78
  methodParams: ['dynamic message', 'void Function(String) cb']
79
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleError, {
80
+ language: "dart"
79
81
  }), /*#__PURE__*/jsxRuntime.jsx(SendEchoMessage, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
80
82
  language: "dart"
81
83
  }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"client.dart.js","sources":["../../../../../../../../packages/templates/clients/websocket/dart/components/Constructor.js","../../../../../../../../packages/templates/clients/websocket/dart/components/SendEchoMessage.js","../../../../../../../../packages/templates/clients/websocket/dart/components/ClientFields.js","../../../../../../../../packages/templates/clients/websocket/dart/components/ClientClass.js","../../../../../../../../packages/templates/clients/websocket/dart/template/client.dart.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Constructor({ clientName, serverUrl }) {\n return (\n <Text newLines={2} indent={2}>\n {\n `\n/// Constructor to initialize the WebSocket client\n/// \n/// [url] - The WebSocket server URL. Use it if the server URL is different from the default one taken from the AsyncAPI document.\n${clientName}({String? url})\n : _url = url ?? '${serverUrl}';\n`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function SendEchoMessage() {\n return (\n <Text newLines={2} indent={2}>\n {\n `/// Method to send an echo message to the server\nvoid sendEchoMessage(dynamic message) {\n if (_channel == null) {\n print('Error: WebSocket is not connected.');\n return;\n }\n final payload = message is String ? message : jsonEncode(message);\n _channel!.sink.add(payload);\n print('Sent message to echo server: $payload');\n}`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientFields() {\n return (\n <Text indent={2} newLines={2}>\n {`final String _url;\nWebSocketChannel? _channel;\nfinal List<void Function(String)> _messageHandlers = [];\nfinal List<void Function(Object)> _errorHandlers = [];`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { Constructor } from './Constructor';\nimport { SendEchoMessage } from './SendEchoMessage';\nimport { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage } from '@asyncapi/generator-components';\nimport { ClientFields } from './ClientFields';\n\nexport function ClientClass({ clientName, serverUrl, title }) {\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName} {`}\n </Text>\n <ClientFields />\n <Constructor clientName={clientName} serverUrl={serverUrl} />\n <Connect language=\"dart\" title={title} />\n <RegisterMessageHandler \n language=\"dart\" \n methodParams={['void Function(String) handler']}\n />\n <RegisterErrorHandler\n language=\"dart\"\n methodParams={['void Function(Object) handler']}\n />\n <HandleMessage\n language=\"dart\" \n methodName=\"_handleMessage\"\n methodParams={['dynamic message', 'void Function(String) cb']}\n />\n <SendEchoMessage />\n <CloseConnection language=\"dart\" />\n <Text>\n {'}'}\n </Text>\n </Text>\n );\n}\n","import { File } from '@asyncapi/generator-react-sdk';\nimport { getClientName, getServerUrl, getServer, getInfo, getTitle } from '@asyncapi/generator-helpers';\nimport { FileHeaderInfo, DependencyProvider } from '@asyncapi/generator-components';\nimport { ClientClass } from '../components/ClientClass';\n\nexport default function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const title = getTitle(asyncapi);\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const serverUrl = getServerUrl(server);\n return ( \n // The clientFileName default values can be found and modified under the package.json\n <File name={params.clientFileName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"dart\"\n />\n <DependencyProvider language=\"dart\" />\n <ClientClass clientName={clientName} serverUrl={serverUrl} title={title} />\n </File>\n );\n}\n"],"names":["Constructor","clientName","serverUrl","_jsx","Text","newLines","indent","children","SendEchoMessage","ClientFields","ClientClass","title","_jsxs","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","methodName","CloseConnection","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getClientName","appendClientSuffix","customClientName","getServerUrl","File","name","clientFileName","FileHeaderInfo","DependencyProvider"],"mappings":"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"}
1
+ {"version":3,"file":"client.dart.js","sources":["../../../../../../../../packages/templates/clients/websocket/dart/components/Constructor.js","../../../../../../../../packages/templates/clients/websocket/dart/components/SendEchoMessage.js","../../../../../../../../packages/templates/clients/websocket/dart/components/ClientFields.js","../../../../../../../../packages/templates/clients/websocket/dart/components/ClientClass.js","../../../../../../../../packages/templates/clients/websocket/dart/template/client.dart.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Constructor({ clientName, serverUrl }) {\n return (\n <Text newLines={2} indent={2}>\n {\n `\n/// Constructor to initialize the WebSocket client\n/// \n/// [url] - The WebSocket server URL. Use it if the server URL is different from the default one taken from the AsyncAPI document.\n${clientName}({String? url})\n : _url = url ?? '${serverUrl}';\n`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function SendEchoMessage() {\n return (\n <Text newLines={2} indent={2}>\n {\n `/// Method to send an echo message to the server\nvoid sendEchoMessage(dynamic message) {\n if (_channel == null) {\n print('Error: WebSocket is not connected.');\n return;\n }\n final payload = message is String ? message : jsonEncode(message);\n _channel!.sink.add(payload);\n print('Sent message to echo server: $payload');\n}`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientFields() {\n return (\n <Text indent={2} newLines={2}>\n {`final String _url;\nWebSocketChannel? _channel;\nfinal List<void Function(String)> _messageHandlers = [];\nfinal List<void Function(Object)> _errorHandlers = [];`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { Constructor } from './Constructor';\nimport { SendEchoMessage } from './SendEchoMessage';\nimport { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage, HandleError } from '@asyncapi/generator-components';\nimport { ClientFields } from './ClientFields';\n\nexport function ClientClass({ clientName, serverUrl, title }) {\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName} {`}\n </Text>\n <ClientFields />\n <Constructor clientName={clientName} serverUrl={serverUrl} />\n <Connect language=\"dart\" title={title} />\n <RegisterMessageHandler \n language=\"dart\" \n methodParams={['void Function(String) handler']}\n />\n <RegisterErrorHandler\n language=\"dart\"\n methodParams={['void Function(Object) handler']}\n />\n <HandleMessage\n language=\"dart\" \n methodName=\"_handleMessage\"\n methodParams={['dynamic message', 'void Function(String) cb']}\n />\n <HandleError language=\"dart\" />\n <SendEchoMessage />\n <CloseConnection language=\"dart\" />\n <Text>\n {'}'}\n </Text>\n </Text>\n );\n}\n","import { File } from '@asyncapi/generator-react-sdk';\nimport { getClientName, getServerUrl, getServer, getInfo, getTitle } from '@asyncapi/generator-helpers';\nimport { FileHeaderInfo, DependencyProvider } from '@asyncapi/generator-components';\nimport { ClientClass } from '../components/ClientClass';\n\nexport default function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const title = getTitle(asyncapi);\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const serverUrl = getServerUrl(server);\n return ( \n // The clientFileName default values can be found and modified under the package.json\n <File name={params.clientFileName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"dart\"\n />\n <DependencyProvider language=\"dart\" />\n <ClientClass clientName={clientName} serverUrl={serverUrl} title={title} />\n </File>\n );\n}\n"],"names":["Constructor","clientName","serverUrl","_jsx","Text","newLines","indent","children","SendEchoMessage","ClientFields","ClientClass","title","_jsxs","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","methodName","HandleError","CloseConnection","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getClientName","appendClientSuffix","customClientName","getServerUrl","File","name","clientFileName","FileHeaderInfo","DependencyProvider"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
2
  import { Constructor } from './Constructor';
3
3
  import { SendEchoMessage } from './SendEchoMessage';
4
- import { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage } from '@asyncapi/generator-components';
4
+ import { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage, HandleError } from '@asyncapi/generator-components';
5
5
  import { ClientFields } from './ClientFields';
6
6
 
7
7
  export function ClientClass({ clientName, serverUrl, title }) {
@@ -26,6 +26,7 @@ export function ClientClass({ clientName, serverUrl, title }) {
26
26
  methodName="_handleMessage"
27
27
  methodParams={['dynamic message', 'void Function(String) cb']}
28
28
  />
29
+ <HandleError language="dart" />
29
30
  <SendEchoMessage />
30
31
  <CloseConnection language="dart" />
31
32
  <Text>
@@ -5,6 +5,8 @@
5
5
  "scripts": {
6
6
  "test": "jest --coverage --passWithNoTests",
7
7
  "test:update": "npm run test -- -u",
8
+ "test:integration": "npm --prefix ../test/integration-test run test:dart",
9
+ "test:integration:update": "npm --prefix ../test/integration-test run test:dart:update",
8
10
  "lint": "eslint --max-warnings 0 --config ../../../../../.eslintrc --ignore-path ../../../../../.eslintignore .",
9
11
  "lint:fix": "eslint --fix --max-warnings 0 --config ../../../../../.eslintrc --ignore-path ../../../../../.eslintignore ."
10
12
  },
@@ -13,7 +15,7 @@
13
15
  "dependencies": {
14
16
  "@asyncapi/generator-react-sdk": "*",
15
17
  "@asyncapi/generator-helpers": "1.1.0",
16
- "@asyncapi/generator-components": "0.5.0"
18
+ "@asyncapi/generator-components": "0.6.0"
17
19
  },
18
20
  "devDependencies": {
19
21
  "@asyncapi/parser": "^3.4.0",
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  require('source-map-support/register');
6
6
  var ClientFields = require('./ClientFields.js');
7
7
  var Constructor = require('./Constructor.js');
8
- var HandleError = require('./HandleError.js');
9
8
  var generatorComponents = require('@asyncapi/generator-components');
10
9
  var OnTextMessageHandler = require('./OnTextMessageHandler.js');
11
10
  var generatorReactSdk = require('@asyncapi/generator-react-sdk');
@@ -43,7 +42,10 @@ public class ${clientName}{`
43
42
  title: title
44
43
  }), /*#__PURE__*/jsxRuntime.jsx(OnTextMessageHandler, {
45
44
  sendOperations: sendOperations
46
- }), /*#__PURE__*/jsxRuntime.jsx(HandleError, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.OnClose, {
45
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleError, {
46
+ language: "java",
47
+ framework: "quarkus"
48
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.OnClose, {
47
49
  language: "java",
48
50
  framework: "quarkus",
49
51
  title: title
@@ -1 +1 @@
1
- {"version":3,"file":"EchoWebSocket.js","sources":["../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/EchoWebSocket.js"],"sourcesContent":["import { ClientFields } from './ClientFields.js';\nimport { Constructor } from './Constructor.js';\nimport HandleError from './HandleError.js';\nimport { OnClose, OnOpen } from '@asyncapi/generator-components';\nimport OnTextMessageHandler from './OnTextMessageHandler.js';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function EchoWebSocket({ clientName, pathName, title, queryParams, operations }) {\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n\n return (\n <Text>\n <Text newLines={2}>\n {`\n@WebSocketClient(path = \"${pathName}\") \npublic class ${clientName}{`}\n </Text>\n <ClientFields queryParams={queryParams} clientName={clientName}/>\n <Constructor clientName={clientName} query={queryParams} />\n <OnOpen \n language='java'\n framework='quarkus' \n title={title}\n />\n <OnTextMessageHandler sendOperations={sendOperations}/>\n <HandleError/>\n <OnClose\n language='java'\n framework='quarkus'\n title={title} \n />\n </Text>\n );\n}"],"names":["EchoWebSocket","clientName","pathName","title","queryParams","operations","sendOperations","filterBySend","_jsxs","Text","children","_jsx","newLines","ClientFields","Constructor","query","OnOpen","language","framework","OnTextMessageHandler","HandleError","OnClose"],"mappings":";;;;;;;;;;;;;;;;AAOO,SAASA,aAAaA,CAAC;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,WAAW;AAAEC,EAAAA,UAAAA;AAAW,CAAC,EAAE;AACtF,EAAA,MAAMC,cAAc,GAAGD,UAAU,CAACE,YAAY,EAAE,CAAA;EAChD,IAAI,CAACL,QAAQ,EAAE;AACbA,IAAAA,QAAQ,GAAG,GAAG,CAAA;AAChB,GAAA;EAEA,oBACEM,eAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,EAAA,cACHC,cAAA,CAACF,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;AAAAF,MAAAA,QAAA,EACf,CAAA;AACT,yBAAA,EAA2BR,QAAQ,CAAA;AACnC,aAAA,EAAeD,UAAU,CAAA,CAAA,CAAA;AAAG,KAChB,CAAC,eACPU,cAAA,CAACE,yBAAY,EAAA;AAACT,MAAAA,WAAW,EAAEA,WAAY;AAACH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAC,CAAC,eACjEU,cAAA,CAACG,uBAAW,EAAA;AAACb,MAAAA,UAAU,EAAEA,UAAW;AAACc,MAAAA,KAAK,EAAEX,WAAAA;AAAY,KAAE,CAAC,eAC3DO,cAAA,CAACK,0BAAM,EAAA;AACLC,MAAAA,QAAQ,EAAC,MAAM;AACfC,MAAAA,SAAS,EAAC,SAAS;AACnBf,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KACd,CAAC,eACFQ,cAAA,CAACQ,oBAAoB,EAAA;AAACb,MAAAA,cAAc,EAAEA,cAAAA;KAAgB,CAAC,eACvDK,cAAA,CAACS,WAAW,IAAC,CAAC,eACdT,cAAA,CAACU,2BAAO,EAAA;AACNJ,MAAAA,QAAQ,EAAC,MAAM;AACfC,MAAAA,SAAS,EAAC,SAAS;AACnBf,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KACd,CAAC,CAAA;AAAA,GACE,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"EchoWebSocket.js","sources":["../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/EchoWebSocket.js"],"sourcesContent":["import { ClientFields } from './ClientFields.js';\nimport { Constructor } from './Constructor.js';\nimport { OnClose, OnOpen, HandleError } from '@asyncapi/generator-components';\nimport OnTextMessageHandler from './OnTextMessageHandler.js';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function EchoWebSocket({ clientName, pathName, title, queryParams, operations }) {\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n\n return (\n <Text>\n <Text newLines={2}>\n {`\n@WebSocketClient(path = \"${pathName}\") \npublic class ${clientName}{`}\n </Text>\n <ClientFields queryParams={queryParams} clientName={clientName}/>\n <Constructor clientName={clientName} query={queryParams} />\n <OnOpen \n language='java'\n framework='quarkus' \n title={title}\n />\n <OnTextMessageHandler sendOperations={sendOperations}/>\n <HandleError language='java' framework='quarkus' />\n <OnClose\n language='java'\n framework='quarkus'\n title={title} \n />\n </Text>\n );\n}"],"names":["EchoWebSocket","clientName","pathName","title","queryParams","operations","sendOperations","filterBySend","_jsxs","Text","children","_jsx","newLines","ClientFields","Constructor","query","OnOpen","language","framework","OnTextMessageHandler","HandleError","OnClose"],"mappings":";;;;;;;;;;;;;;;AAMO,SAASA,aAAaA,CAAC;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,WAAW;AAAEC,EAAAA,UAAAA;AAAW,CAAC,EAAE;AACtF,EAAA,MAAMC,cAAc,GAAGD,UAAU,CAACE,YAAY,EAAE,CAAA;EAChD,IAAI,CAACL,QAAQ,EAAE;AACbA,IAAAA,QAAQ,GAAG,GAAG,CAAA;AAChB,GAAA;EAEA,oBACEM,eAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,EAAA,cACHC,cAAA,CAACF,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;AAAAF,MAAAA,QAAA,EACf,CAAA;AACT,yBAAA,EAA2BR,QAAQ,CAAA;AACnC,aAAA,EAAeD,UAAU,CAAA,CAAA,CAAA;AAAG,KAChB,CAAC,eACPU,cAAA,CAACE,yBAAY,EAAA;AAACT,MAAAA,WAAW,EAAEA,WAAY;AAACH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAC,CAAC,eACjEU,cAAA,CAACG,uBAAW,EAAA;AAACb,MAAAA,UAAU,EAAEA,UAAW;AAACc,MAAAA,KAAK,EAAEX,WAAAA;AAAY,KAAE,CAAC,eAC3DO,cAAA,CAACK,0BAAM,EAAA;AACLC,MAAAA,QAAQ,EAAC,MAAM;AACfC,MAAAA,SAAS,EAAC,SAAS;AACnBf,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KACd,CAAC,eACFQ,cAAA,CAACQ,oBAAoB,EAAA;AAACb,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAC,CAAC,eACvDK,cAAA,CAACS,+BAAW,EAAA;AAACH,MAAAA,QAAQ,EAAC,MAAM;AAACC,MAAAA,SAAS,EAAC,SAAA;AAAS,KAAE,CAAC,eACnDP,cAAA,CAACU,2BAAO,EAAA;AACNJ,MAAAA,QAAQ,EAAC,MAAM;AACfC,MAAAA,SAAS,EAAC,SAAS;AACnBf,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KACd,CAAC,CAAA;AAAA,GACE,CAAC,CAAA;AAEX;;;;"}
@@ -115,17 +115,6 @@ function Constructor({
115
115
  });
116
116
  }
117
117
 
118
- function HandleError() {
119
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
120
- indent: 2,
121
- children: `@OnError
122
- public void onError(Throwable throwable) {
123
- LOG.error("Websocket connection error: " + throwable.getMessage());
124
- }
125
- `
126
- });
127
- }
128
-
129
118
  function OnTextMessage({
130
119
  sendOperations
131
120
  }) {
@@ -208,7 +197,10 @@ public class ${clientName}{`
208
197
  title: title
209
198
  }), /*#__PURE__*/jsxRuntime.jsx(OnTextMessage, {
210
199
  sendOperations: sendOperations
211
- }), /*#__PURE__*/jsxRuntime.jsx(HandleError, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.OnClose, {
200
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleError, {
201
+ language: "java",
202
+ framework: "quarkus"
203
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.OnClose, {
212
204
  language: "java",
213
205
  framework: "quarkus",
214
206
  title: title
@@ -1 +1 @@
1
- {"version":3,"file":"client.java.js","sources":["../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/dependencies/ClientDependencies.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ClientFields.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ConstructorSignature.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/DefaultConstructorSignature.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/Constructor.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/HandleError.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/OnTextMessageHandler.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/EchoWebSocket.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/client.java.js"],"sourcesContent":["import { DependencyProvider } from '@asyncapi/generator-components';\n\nexport function ClientDependencies({ queryParams }) {\n const additionalDependencies = [];\n if (queryParams) {\n additionalDependencies.push('import java.util.HashMap;');\n }\n return (\n <DependencyProvider\n language=\"java\"\n framework=\"quarkus\"\n role=\"client\"\n additionalDependencies={additionalDependencies}\n />\n );\n}\n\n","import { toCamelCase } from '@asyncapi/generator-helpers';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientFields({ queryParams, clientName }) {\n let queryParamsVariables = '';\n const queryParamsArray = queryParams && Array.from(queryParams.entries());\n \n if (queryParamsArray && queryParamsArray.length > 0) {\n queryParamsVariables = '\\nprivate HashMap<String, String> params;\\n';\n queryParamsVariables += queryParamsArray.map((param) => {\n const paramName = toCamelCase(param[0]);\n return `private String ${paramName};`; \n }).join('\\n');\n }\n\n return (\n <Text indent={2} newLines={2}>\n {`@Inject\npublic WebSocketClientConnection connection;\n\nprivate static final Logger LOG = Logger.getLogger(${clientName}.class);\n\n${queryParamsVariables}`}\n </Text>\n );\n}\n","import { toCamelCase } from '@asyncapi/generator-helpers';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ConstructorSignature({ clientName, queryParams }) {\n if (!queryParams) {\n return;\n }\n \n const queryParamsArguments = queryParams?.map((param) => {\n const paramName = toCamelCase(param[0]);\n return `String ${paramName}`; // assuming the default values of the parameters are strings\n }).join(', ');\n \n return (\n <Text indent={2}>\n {`public ${clientName}(${queryParamsArguments}){`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function DefaultConstructorSignature({ clientName, queryParams }) {\n if (!queryParams || !Array.isArray(queryParams)) {\n return null;\n }\n\n const argDefaultValues = [];\n \n queryParams.forEach((param) => {\n const paramDefaultValue = param[1];\n const defaultValue = paramDefaultValue ? `\"${paramDefaultValue}\"` : 'null';\n argDefaultValues.push(defaultValue); \n });\n \n return (\n <Text indent={2} newLines={2}>\n {`public ${clientName}(){\n this(${argDefaultValues.join(', ')});\n}`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\nimport { ConstructorSignature } from './ConstructorSignature';\nimport { DefaultConstructorSignature } from './DefaultConstructorSignature';\nimport { QueryParamsVariables } from '@asyncapi/generator-components';\n\nexport function Constructor({ clientName, query }) {\n const queryParamsArray = query && Array.from(query.entries());\n if (!queryParamsArray || queryParamsArray.length === 0) {\n return;\n }\n \n return (\n <>\n <DefaultConstructorSignature clientName={clientName} queryParams={queryParamsArray} />\n <ConstructorSignature clientName={clientName} queryParams={queryParamsArray} />\n <Text indent={6} >\n {`${ queryParamsArray && queryParamsArray.length > 0 ? 'params = new HashMap<>(); ' : ''}`\n }\n </Text>\n <QueryParamsVariables \n language=\"java\"\n framework=\"quarkus\"\n queryParams={queryParamsArray} \n />\n <Text indent={2} newLines={2}>\n {'}'}\n </Text>\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function HandleError() {\n return (\n <Text indent={2}>\n {`@OnError\npublic void onError(Throwable throwable) {\n LOG.error(\"Websocket connection error: \" + throwable.getMessage());\n}\n`}\n </Text>\n );\n}\n\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { toCamelCase } from '@asyncapi/generator-helpers';\n\nexport default function OnTextMessage({ sendOperations }) {\n return (\n <>\n {\n // If there are operations, emit a single @OnTextMessage\n (sendOperations && sendOperations.length !== 0) && (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void handleTextMessage(String message, WebSocketClientConnection connection) {\n LOG.info(\"Handler received text message: \" + message);\n${sendOperations.map((operation, idx) => {\n const methodName = operation.id();\n const javaMethodName = toCamelCase(methodName);\n const condition = idx === 0 ? ` if (message != null && message.contains(\"${methodName}\")) {` : ` else if (message != null && message.contains(\"${methodName}\")) {`;\n return `${condition}\n ${javaMethodName}(message, connection);\n }`;\n }).join('\\n')}\n else {\n LOG.warn(\"Handler received unrecognized message type. Falling back to default handler.\");\n // Note: By default, we route unrecognized messages to the first operation handler.\n // Depending on your business logic, you may want to change this behavior.\n ${toCamelCase(sendOperations[0].id())}(message, connection);\n }\n}`}\n </Text>\n )\n }\n\n {\n // Generate handlers for each operation\n (sendOperations && sendOperations.length !== 0) && (\n sendOperations.map((operation) => {\n const methodName = operation.id();\n const javaMethodName = toCamelCase(methodName);\n return (\n <Text newLines={2} indent={2}>\n {`public void ${javaMethodName}(String message, WebSocketClientConnection connection) {\n LOG.info(\"Processing ${methodName} type message: \" + message);\n // TODO: implement processing logic for ${methodName}\n}`}\n </Text>\n );\n })\n )\n }\n\n {\n // No operations provided need a default handler\n (!sendOperations || sendOperations.length === 0) && (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void processTextMessage(String message, WebSocketClientConnection connection) {\n LOG.info(\"Received text message: \" + message);\n}`}\n </Text>\n\n )\n }\n </>\n );\n}","import { ClientFields } from './ClientFields.js';\nimport { Constructor } from './Constructor.js';\nimport HandleError from './HandleError.js';\nimport { OnClose, OnOpen } from '@asyncapi/generator-components';\nimport OnTextMessageHandler from './OnTextMessageHandler.js';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function EchoWebSocket({ clientName, pathName, title, queryParams, operations }) {\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n\n return (\n <Text>\n <Text newLines={2}>\n {`\n@WebSocketClient(path = \"${pathName}\") \npublic class ${clientName}{`}\n </Text>\n <ClientFields queryParams={queryParams} clientName={clientName}/>\n <Constructor clientName={clientName} query={queryParams} />\n <OnOpen \n language='java'\n framework='quarkus' \n title={title}\n />\n <OnTextMessageHandler sendOperations={sendOperations}/>\n <HandleError/>\n <OnClose\n language='java'\n framework='quarkus'\n title={title} \n />\n </Text>\n );\n}","import { getClientName, getInfo, getQueryParams, getServer, getTitle } from '@asyncapi/generator-helpers';\nimport { File } from '@asyncapi/generator-react-sdk';\nimport { FileHeaderInfo } from '@asyncapi/generator-components';\nimport { ClientDependencies } from '../../../../../../components/dependencies/ClientDependencies.js';\nimport { EchoWebSocket } from '../../../../../../components/EchoWebSocket.js';\n\nexport default async function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const title = getTitle(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const operations = asyncapi.operations();\n const clientJavaName = `${clientName}.java`;\n const pathName = server.pathname();\n\n return (\n <File name={clientJavaName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"java\"\n />\n <ClientDependencies queryParams={queryParams}/>\n <EchoWebSocket clientName={clientName} pathName={pathName} title={title} queryParams={queryParams} operations={operations} />\n </File>\n );\n}"],"names":["ClientDependencies","queryParams","additionalDependencies","push","_jsx","DependencyProvider","language","framework","role","ClientFields","clientName","queryParamsVariables","queryParamsArray","Array","from","entries","length","map","param","paramName","toCamelCase","join","Text","indent","newLines","children","ConstructorSignature","queryParamsArguments","DefaultConstructorSignature","isArray","argDefaultValues","forEach","paramDefaultValue","defaultValue","Constructor","query","_jsxs","_Fragment","QueryParamsVariables","HandleError","OnTextMessage","sendOperations","operation","idx","methodName","id","javaMethodName","condition","EchoWebSocket","pathName","title","operations","filterBySend","OnOpen","OnTextMessageHandler","OnClose","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getQueryParams","channels","getClientName","appendClientSuffix","customClientName","clientJavaName","pathname","File","name","FileHeaderInfo"],"mappings":"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"}
1
+ {"version":3,"file":"client.java.js","sources":["../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/dependencies/ClientDependencies.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ClientFields.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ConstructorSignature.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/DefaultConstructorSignature.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/Constructor.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/OnTextMessageHandler.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/EchoWebSocket.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/client.java.js"],"sourcesContent":["import { DependencyProvider } from '@asyncapi/generator-components';\n\nexport function ClientDependencies({ queryParams }) {\n const additionalDependencies = [];\n if (queryParams) {\n additionalDependencies.push('import java.util.HashMap;');\n }\n return (\n <DependencyProvider\n language=\"java\"\n framework=\"quarkus\"\n role=\"client\"\n additionalDependencies={additionalDependencies}\n />\n );\n}\n\n","import { toCamelCase } from '@asyncapi/generator-helpers';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ClientFields({ queryParams, clientName }) {\n let queryParamsVariables = '';\n const queryParamsArray = queryParams && Array.from(queryParams.entries());\n \n if (queryParamsArray && queryParamsArray.length > 0) {\n queryParamsVariables = '\\nprivate HashMap<String, String> params;\\n';\n queryParamsVariables += queryParamsArray.map((param) => {\n const paramName = toCamelCase(param[0]);\n return `private String ${paramName};`; \n }).join('\\n');\n }\n\n return (\n <Text indent={2} newLines={2}>\n {`@Inject\npublic WebSocketClientConnection connection;\n\nprivate static final Logger LOG = Logger.getLogger(${clientName}.class);\n\n${queryParamsVariables}`}\n </Text>\n );\n}\n","import { toCamelCase } from '@asyncapi/generator-helpers';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ConstructorSignature({ clientName, queryParams }) {\n if (!queryParams) {\n return;\n }\n \n const queryParamsArguments = queryParams?.map((param) => {\n const paramName = toCamelCase(param[0]);\n return `String ${paramName}`; // assuming the default values of the parameters are strings\n }).join(', ');\n \n return (\n <Text indent={2}>\n {`public ${clientName}(${queryParamsArguments}){`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function DefaultConstructorSignature({ clientName, queryParams }) {\n if (!queryParams || !Array.isArray(queryParams)) {\n return null;\n }\n\n const argDefaultValues = [];\n \n queryParams.forEach((param) => {\n const paramDefaultValue = param[1];\n const defaultValue = paramDefaultValue ? `\"${paramDefaultValue}\"` : 'null';\n argDefaultValues.push(defaultValue); \n });\n \n return (\n <Text indent={2} newLines={2}>\n {`public ${clientName}(){\n this(${argDefaultValues.join(', ')});\n}`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\nimport { ConstructorSignature } from './ConstructorSignature';\nimport { DefaultConstructorSignature } from './DefaultConstructorSignature';\nimport { QueryParamsVariables } from '@asyncapi/generator-components';\n\nexport function Constructor({ clientName, query }) {\n const queryParamsArray = query && Array.from(query.entries());\n if (!queryParamsArray || queryParamsArray.length === 0) {\n return;\n }\n \n return (\n <>\n <DefaultConstructorSignature clientName={clientName} queryParams={queryParamsArray} />\n <ConstructorSignature clientName={clientName} queryParams={queryParamsArray} />\n <Text indent={6} >\n {`${ queryParamsArray && queryParamsArray.length > 0 ? 'params = new HashMap<>(); ' : ''}`\n }\n </Text>\n <QueryParamsVariables \n language=\"java\"\n framework=\"quarkus\"\n queryParams={queryParamsArray} \n />\n <Text indent={2} newLines={2}>\n {'}'}\n </Text>\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\nimport { toCamelCase } from '@asyncapi/generator-helpers';\n\nexport default function OnTextMessage({ sendOperations }) {\n return (\n <>\n {\n // If there are operations, emit a single @OnTextMessage\n (sendOperations && sendOperations.length !== 0) && (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void handleTextMessage(String message, WebSocketClientConnection connection) {\n LOG.info(\"Handler received text message: \" + message);\n${sendOperations.map((operation, idx) => {\n const methodName = operation.id();\n const javaMethodName = toCamelCase(methodName);\n const condition = idx === 0 ? ` if (message != null && message.contains(\"${methodName}\")) {` : ` else if (message != null && message.contains(\"${methodName}\")) {`;\n return `${condition}\n ${javaMethodName}(message, connection);\n }`;\n }).join('\\n')}\n else {\n LOG.warn(\"Handler received unrecognized message type. Falling back to default handler.\");\n // Note: By default, we route unrecognized messages to the first operation handler.\n // Depending on your business logic, you may want to change this behavior.\n ${toCamelCase(sendOperations[0].id())}(message, connection);\n }\n}`}\n </Text>\n )\n }\n\n {\n // Generate handlers for each operation\n (sendOperations && sendOperations.length !== 0) && (\n sendOperations.map((operation) => {\n const methodName = operation.id();\n const javaMethodName = toCamelCase(methodName);\n return (\n <Text newLines={2} indent={2}>\n {`public void ${javaMethodName}(String message, WebSocketClientConnection connection) {\n LOG.info(\"Processing ${methodName} type message: \" + message);\n // TODO: implement processing logic for ${methodName}\n}`}\n </Text>\n );\n })\n )\n }\n\n {\n // No operations provided need a default handler\n (!sendOperations || sendOperations.length === 0) && (\n <Text newLines={2} indent={2}>\n {`@OnTextMessage\npublic void processTextMessage(String message, WebSocketClientConnection connection) {\n LOG.info(\"Received text message: \" + message);\n}`}\n </Text>\n\n )\n }\n </>\n );\n}","import { ClientFields } from './ClientFields.js';\nimport { Constructor } from './Constructor.js';\nimport { OnClose, OnOpen, HandleError } from '@asyncapi/generator-components';\nimport OnTextMessageHandler from './OnTextMessageHandler.js';\nimport { Text } from '@asyncapi/generator-react-sdk';\n\nexport function EchoWebSocket({ clientName, pathName, title, queryParams, operations }) {\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n\n return (\n <Text>\n <Text newLines={2}>\n {`\n@WebSocketClient(path = \"${pathName}\") \npublic class ${clientName}{`}\n </Text>\n <ClientFields queryParams={queryParams} clientName={clientName}/>\n <Constructor clientName={clientName} query={queryParams} />\n <OnOpen \n language='java'\n framework='quarkus' \n title={title}\n />\n <OnTextMessageHandler sendOperations={sendOperations}/>\n <HandleError language='java' framework='quarkus' />\n <OnClose\n language='java'\n framework='quarkus'\n title={title} \n />\n </Text>\n );\n}","import { getClientName, getInfo, getQueryParams, getServer, getTitle } from '@asyncapi/generator-helpers';\nimport { File } from '@asyncapi/generator-react-sdk';\nimport { FileHeaderInfo } from '@asyncapi/generator-components';\nimport { ClientDependencies } from '../../../../../../components/dependencies/ClientDependencies.js';\nimport { EchoWebSocket } from '../../../../../../components/EchoWebSocket.js';\n\nexport default async function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const title = getTitle(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const operations = asyncapi.operations();\n const clientJavaName = `${clientName}.java`;\n const pathName = server.pathname();\n\n return (\n <File name={clientJavaName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"java\"\n />\n <ClientDependencies queryParams={queryParams}/>\n <EchoWebSocket clientName={clientName} pathName={pathName} title={title} queryParams={queryParams} operations={operations} />\n </File>\n );\n}"],"names":["ClientDependencies","queryParams","additionalDependencies","push","_jsx","DependencyProvider","language","framework","role","ClientFields","clientName","queryParamsVariables","queryParamsArray","Array","from","entries","length","map","param","paramName","toCamelCase","join","Text","indent","newLines","children","ConstructorSignature","queryParamsArguments","DefaultConstructorSignature","isArray","argDefaultValues","forEach","paramDefaultValue","defaultValue","Constructor","query","_jsxs","_Fragment","QueryParamsVariables","OnTextMessage","sendOperations","operation","idx","methodName","id","javaMethodName","condition","EchoWebSocket","pathName","title","operations","filterBySend","OnOpen","OnTextMessageHandler","HandleError","OnClose","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getQueryParams","channels","getClientName","appendClientSuffix","customClientName","clientJavaName","pathname","File","name","FileHeaderInfo"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { ClientFields } from './ClientFields.js';
2
2
  import { Constructor } from './Constructor.js';
3
- import HandleError from './HandleError.js';
4
- import { OnClose, OnOpen } from '@asyncapi/generator-components';
3
+ import { OnClose, OnOpen, HandleError } from '@asyncapi/generator-components';
5
4
  import OnTextMessageHandler from './OnTextMessageHandler.js';
6
5
  import { Text } from '@asyncapi/generator-react-sdk';
7
6
 
@@ -26,7 +25,7 @@ public class ${clientName}{`}
26
25
  title={title}
27
26
  />
28
27
  <OnTextMessageHandler sendOperations={sendOperations}/>
29
- <HandleError/>
28
+ <HandleError language='java' framework='quarkus' />
30
29
  <OnClose
31
30
  language='java'
32
31
  framework='quarkus'
@@ -14,12 +14,14 @@
14
14
  "scripts": {
15
15
  "test": "jest --coverage",
16
16
  "test:update": "npm run test -- -u",
17
+ "test:integration": "npm --prefix ../../test/integration-test run test:java-quarkus",
18
+ "test:integration:update": "npm --prefix ../../test/integration-test run test:java-quarkus:update",
17
19
  "lint": "eslint --max-warnings 0 --config ../../../../../../.eslintrc --ignore-path ../../../../../../.eslintignore .",
18
20
  "lint:fix": "eslint --fix --max-warnings 0 --config ../../../../../../.eslintrc --ignore-path ../../../../../../.eslintignore ."
19
21
  },
20
22
  "dependencies": {
21
23
  "@asyncapi/generator-helpers": "1.1.0",
22
- "@asyncapi/generator-components": "0.5.0",
24
+ "@asyncapi/generator-components": "0.6.0",
23
25
  "@asyncapi/generator-react-sdk": "^1.1.2"
24
26
  },
25
27
  "devDependencies": {
@@ -8,6 +8,7 @@ var Constructor = require('./Constructor.js');
8
8
  var generatorComponents = require('@asyncapi/generator-components');
9
9
  var ModuleExport = require('./ModuleExport.js');
10
10
  var CompileOperationSchemas = require('./CompileOperationSchemas.js');
11
+ var RegisterOutgoingProcessor = require('./RegisterOutgoingProcessor.js');
11
12
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
12
13
 
13
14
  function ClientClass({
@@ -32,7 +33,7 @@ function ClientClass({
32
33
  }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterErrorHandler, {
33
34
  language: "javascript",
34
35
  methodParams: ['handler']
35
- }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
36
+ }), /*#__PURE__*/jsxRuntime.jsx(RegisterOutgoingProcessor.RegisterOutgoingProcessor, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
36
37
  language: "javascript",
37
38
  methodParams: ['message', 'cb']
38
39
  }), /*#__PURE__*/jsxRuntime.jsx(CompileOperationSchemas.CompileOperationSchemas, {
@@ -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 { 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;;;;"}
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';\nimport { RegisterOutgoingProcessor } from './RegisterOutgoingProcessor';\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 <RegisterOutgoingProcessor />\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","RegisterOutgoingProcessor","HandleMessage","CompileOperationSchemas","SendOperations","CloseConnection","ModuleExport"],"mappings":";;;;;;;;;;;;;AAOO,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;KACzB,CAAC,eACFN,cAAA,CAACQ,mDAAyB,IAAE,CAAC,eAC7BR,cAAA,CAACS,iCAAa,EAAA;AACZL,MAAAA,QAAQ,EAAC,YAAY;AACrBE,MAAAA,YAAY,EAAE,CAAC,SAAS,EAAE,IAAI,CAAA;AAAE,KACjC,CAAC,eACFN,cAAA,CAACU,+CAAuB,EAAA;AAACd,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAE,CAAC,eAC3DI,cAAA,CAACW,kCAAc,EAAA;AACbP,MAAAA,QAAQ,EAAC,YAAY;AACrBR,MAAAA,cAAc,EAAEA,cAAe;AAC/BH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KACxB,CAAC,eACFO,cAAA,CAACY,mCAAe,EAAA;AAACR,MAAAA,QAAQ,EAAC,YAAA;AAAY,KAAE,CAAC,eACzCJ,cAAA,CAACF,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,GAAA;AAAG,KACA,CAAC,eACPC,cAAA,CAACa,yBAAY,EAAA;AAACpB,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,CAAA;AAAA,GACpC,CAAC,CAAA;AAEX;;;;"}
@@ -23,6 +23,7 @@ constructor(url) {
23
23
  this.websocket = null;
24
24
  this.messageHandlers = [];
25
25
  this.errorHandlers = [];
26
+ this.outgoingProcessors = [];
26
27
  this.compiledSchemas = {};
27
28
  this.schemasCompiled = false;
28
29
  this.sendOperationsId = ${sendOperationsArray};
@@ -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, 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;;;;"}
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.outgoingProcessors = [];\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;AACA,0BAAA,EAA4BM,mBAAmB,CAAA;AAC/C;AACA,CAAA;AAAC,GAES,CAAC,CAAA;AAEX;;;;"}
@@ -0,0 +1,24 @@
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 RegisterOutgoingProcessor() {
10
+ return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
11
+ newLines: 2,
12
+ indent: 2,
13
+ children: `registerOutgoingProcessor(processor) {
14
+ if (typeof processor === 'function') {
15
+ this.outgoingProcessors.push(processor);
16
+ } else {
17
+ console.warn('Outgoing processor must be a function');
18
+ }
19
+ }`
20
+ });
21
+ }
22
+
23
+ exports.RegisterOutgoingProcessor = RegisterOutgoingProcessor;
24
+ //# sourceMappingURL=RegisterOutgoingProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterOutgoingProcessor.js","sources":["../../../../../../../../packages/templates/clients/websocket/javascript/components/RegisterOutgoingProcessor.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function RegisterOutgoingProcessor() {\n return (\n <Text newLines={2} indent={2}>\n {\n `registerOutgoingProcessor(processor) {\n if (typeof processor === 'function') {\n this.outgoingProcessors.push(processor);\n } else {\n console.warn('Outgoing processor must be a function');\n }\n}`\n }\n </Text>\n );\n}\n"],"names":["RegisterOutgoingProcessor","_jsx","Text","newLines","indent","children"],"mappings":";;;;;;;;AAEO,SAASA,yBAAyBA,GAAG;EAC1C,oBACEC,cAAA,CAACC,sBAAI,EAAA;AAACC,IAAAA,QAAQ,EAAE,CAAE;AAACC,IAAAA,MAAM,EAAE,CAAE;AAAAC,IAAAA,QAAA,EAEzB,CAAA;AACR;AACA;AACA;AACA;AACA;AACA,CAAA,CAAA;AAAE,GAEQ,CAAC,CAAA;AAEX;;;;"}
@@ -17,9 +17,21 @@ function myHandler(message) {
17
17
  function myErrorHandler(error) {
18
18
  console.error('Errors from Websocket:', error.message);
19
19
  }
20
+
21
+ // Example of an outgoing processor — runs before every message is sent.
22
+ // Use it for logging, adding metadata, transforming payloads, etc.
23
+ function outgoingProcessor(message) {
24
+ const processed = {
25
+ payload: message,
26
+ timestamp: new Date().toISOString()
27
+ };
28
+ console.log('Outgoing processor fired:', JSON.stringify(processed));
29
+ return processed;
30
+ }
20
31
  async function main() {
21
32
  wsClient.registerMessageHandler(myHandler);
22
33
  wsClient.registerErrorHandler(myErrorHandler);
34
+ wsClient.registerOutgoingProcessor(outgoingProcessor);
23
35
  try {
24
36
  await wsClient.connect();
25
37