@asyncapi/generator 3.2.1 → 3.2.3

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 +14 -0
  2. package/docs/api_components.md +39 -0
  3. package/lib/generator.js +0 -1
  4. package/lib/logMessages.js +25 -1
  5. package/lib/parser.js +36 -16
  6. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js +9 -3
  7. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js.map +1 -1
  8. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js +12 -20
  9. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js.map +1 -1
  10. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/ClientClass.js +8 -4
  11. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/template/client.dart.js +2 -1
  12. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js +4 -2
  13. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js.map +1 -1
  14. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +4 -12
  15. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -1
  16. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/EchoWebSocket.js +2 -3
  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-python/__transpiled/components/ClientClass.js +3 -2
  32. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js.map +1 -1
  33. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js +3 -16
  34. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js.map +1 -1
  35. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/ClientClass.js +2 -3
  36. package/lib/templates/config/validator.js +1 -1
  37. package/lib/utils.js +11 -8
  38. package/package.json +1 -1
  39. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/SendEchoMessage.js +0 -27
  40. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/SendEchoMessage.js.map +0 -1
  41. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/SendEchoMessage.js +0 -20
  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,19 @@
1
1
  # @asyncapi/generator
2
2
 
3
+ ## 3.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 69c2fa1: The `mapBaseUrlToFolder` resolver now rejects `$ref`s that resolve outside the configured base folder. Previously a reference such as `https://schema.example.com/crm/../../../etc/passwd` was passed through unnormalized, letting a malicious AsyncAPI document read files outside the mapped folder (path traversal). References that escape the base folder are now blocked with an explicit error.
8
+
9
+ This only affects references that start with the mapped base URL and then use `../` to climb out of the mapped folder (e.g. `https://schema.example.com/crm/../shared/common.json` reaching a sibling folder). If you relied on this to reference files outside the mapped folder, map a higher-level base instead — e.g. map `https://schema.example.com/` to `./schemas/` and reference `https://schema.example.com/shared/common.json` directly — so the resolved paths stay within the mapped folder.
10
+
11
+ ## 3.2.2
12
+
13
+ ### Patch Changes
14
+
15
+ - 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.
16
+
3
17
  ## 3.2.1
4
18
 
5
19
  ### Patch 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.
@@ -300,6 +305,40 @@ renderFileHeader().catch(console.error);
300
305
 
301
306
 
302
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
+
303
342
  <a name="HandleMessage"></a>
304
343
  ### HandleMessage()
305
344
  Renders a WebSocket message handler method with optional pre- and post-execution logic.
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
  }
@@ -54,6 +54,26 @@ function compileEnabled(dir, output_dir) {
54
54
  return `Transpilation of files ${dir} into ${output_dir} started.`;
55
55
  }
56
56
 
57
+ function mappedRefOutsideBaseFolder(ref, mappingKey) {
58
+ // Why: never interpolate the resolved host filesystem path here — it leaks the internal
59
+ // directory layout. Reference the configured mapping key (the mapped base url) instead.
60
+ return `Reference "${ref}" resolves to a location outside the mapped base folder "${mappingKey}" and was blocked to prevent path traversal.`;
61
+ }
62
+
63
+ function mappedRefSymlinkOutsideBaseFolder(ref, mappingKey) {
64
+ // Why: same no-path-leak rule as above. This message is specific to the symlink branch so the
65
+ // user is told the escape happened through a symbolic link rather than `../` traversal.
66
+ return `Reference "${ref}" resolves a symbolic link that points outside the mapped base folder "${mappingKey}" and was blocked to prevent path traversal.`;
67
+ }
68
+
69
+ function errorOpeningFile(filePath) {
70
+ return `Error opening file "${filePath}"`;
71
+ }
72
+
73
+ function fetchSpecError(link, status, statusText) {
74
+ return `Failed to fetch AsyncAPI document from ${link}: HTTP ${status}${statusText}`;
75
+ }
76
+
57
77
  module.exports = {
58
78
  TEMPLATE_INSTALL_FLAG_MSG,
59
79
  TEMPLATE_INSTALL_DISK_MSG,
@@ -69,5 +89,9 @@ module.exports = {
69
89
  conditionalGenerationMatched,
70
90
  conditionalFilesMatched,
71
91
  compileEnabled,
72
- skipOverwrite
92
+ skipOverwrite,
93
+ mappedRefOutsideBaseFolder,
94
+ mappedRefSymlinkOutsideBaseFolder,
95
+ errorOpeningFile,
96
+ fetchSpecError
73
97
  };
package/lib/parser.js CHANGED
@@ -1,4 +1,6 @@
1
- const fs = require('fs');
1
+ const path = require('path');
2
+ const utils = require('./utils');
3
+ const logMessages = require('./logMessages');
2
4
  const { convertToOldAPI } = require('@asyncapi/parser');
3
5
  const { ConvertDocumentParserAPIVersion, NewParser } = require('@asyncapi/multi-parser');
4
6
 
@@ -100,22 +102,40 @@ function getMapBaseUrlToFolderResolvers({ url: baseUrl, folder: baseDir }) {
100
102
  const resolver = {
101
103
  order: 1,
102
104
  canRead: true,
103
- read(uri) {
104
- return new Promise(((resolve, reject) => {
105
- const path = uri.toString();
106
- const localpath = path.replace(baseUrl, baseDir);
107
- try {
108
- fs.readFile(localpath, (err, data) => {
109
- if (err) {
110
- reject(`Error opening file "${localpath}"`);
111
- } else {
112
- resolve(data.toString());
113
- }
114
- });
115
- } catch (err) {
116
- reject(`Error opening file "${localpath}"`);
105
+ async read(uri) {
106
+ const uriStr = uri.toString();
107
+ const localpath = uriStr.replace(baseUrl, baseDir);
108
+ // Why: a $ref under the mapped baseUrl can contain `../` segments that the parser passes
109
+ // through unnormalized, letting the resolved file path escape baseDir (path traversal).
110
+ // Only guard refs that actually fall under baseUrl so unrelated http(s) refs keep their behavior.
111
+ if (uriStr.startsWith(baseUrl)) {
112
+ const resolvedBase = path.resolve(baseDir);
113
+ const resolvedTarget = path.resolve(localpath);
114
+ // Lexical containment runs first: it rejects `../` traversal even when the target file
115
+ // does not exist (realpath below would throw ENOENT before we could report it).
116
+ if (resolvedTarget !== resolvedBase && !resolvedTarget.startsWith(resolvedBase + path.sep)) {
117
+ throw new Error(logMessages.mappedRefOutsideBaseFolder(uriStr, baseUrl));
117
118
  }
118
- }));
119
+ // Why: path.resolve is purely lexical and ignores symlinks, so a symlink inside baseDir
120
+ // pointing elsewhere would pass the check above yet read a file outside baseDir.
121
+ // Canonicalize with realpath to close that gap. realpath needs the path to exist; a
122
+ // missing target is already proven contained lexically, so ENOENT is safe to ignore.
123
+ const realBase = await utils.realpath(resolvedBase);
124
+ const realTarget = await utils.realpath(resolvedTarget).catch((err) => {
125
+ if (err.code === 'ENOENT') return null;
126
+ throw err;
127
+ });
128
+ if (realTarget !== null && realTarget !== realBase && !realTarget.startsWith(realBase + path.sep)) {
129
+ // Why: reaching here means the lexical check above passed but canonicalization still
130
+ // escaped baseDir — that can only happen via a symlink, so report it as such.
131
+ throw new Error(logMessages.mappedRefSymlinkOutsideBaseFolder(uriStr, baseUrl));
132
+ }
133
+ }
134
+ try {
135
+ return (await utils.readFile(localpath)).toString();
136
+ } catch (err) {
137
+ throw new Error(logMessages.errorOpeningFile(localpath));
138
+ }
119
139
  }
120
140
  };
121
141
 
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  require('source-map-support/register');
6
6
  var generatorReactSdk = require('@asyncapi/generator-react-sdk');
7
7
  var Constructor = require('./Constructor.js');
8
- var SendEchoMessage = require('./SendEchoMessage.js');
9
8
  var generatorComponents = require('@asyncapi/generator-components');
10
9
  var ClientFields = require('./ClientFields.js');
11
10
  var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
@@ -13,7 +12,8 @@ var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/rea
13
12
  function ClientClass({
14
13
  clientName,
15
14
  serverUrl,
16
- title
15
+ title,
16
+ sendOperations
17
17
  }) {
18
18
  return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.Text, {
19
19
  children: [/*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
@@ -35,7 +35,13 @@ function ClientClass({
35
35
  language: "dart",
36
36
  methodName: "_handleMessage",
37
37
  methodParams: ['dynamic message', 'void Function(String) cb']
38
- }), /*#__PURE__*/jsxRuntime.jsx(SendEchoMessage.SendEchoMessage, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
38
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleError, {
39
+ language: "dart"
40
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
41
+ language: "dart",
42
+ sendOperations: sendOperations,
43
+ clientName: clientName
44
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
39
45
  language: "dart"
40
46
  }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
41
47
  children: '}'
@@ -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 { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, SendOperations, Connect, HandleMessage, HandleError } from '@asyncapi/generator-components';\nimport { ClientFields } from './ClientFields';\n\nexport function ClientClass({ clientName, serverUrl, title, sendOperations }) {\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 <SendOperations\n language=\"dart\"\n sendOperations={sendOperations}\n clientName={clientName}\n />\n <CloseConnection language=\"dart\" />\n <Text>\n {'}'}\n </Text>\n </Text>\n );\n}\n"],"names":["ClientClass","clientName","serverUrl","title","sendOperations","_jsxs","Text","children","_jsx","newLines","ClientFields","Constructor","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","methodName","HandleError","SendOperations","CloseConnection"],"mappings":";;;;;;;;;;;AAKO,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;KAChB,CAAC,eACPO,cAAA,CAACE,yBAAY,IAAE,CAAC,eAChBF,cAAA,CAACG,uBAAW,EAAA;AAACV,MAAAA,UAAU,EAAEA,UAAW;AAACC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAE,CAAC,eAC7DM,cAAA,CAACI,2BAAO,EAAA;AAACC,MAAAA,QAAQ,EAAC,MAAM;AAACV,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,eACzCK,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;AAAM,KAAE,CAAC,eAC/BL,cAAA,CAACY,kCAAc,EAAA;AACbP,MAAAA,QAAQ,EAAC,MAAM;AACfT,MAAAA,cAAc,EAAEA,cAAe;AAC/BH,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KACxB,CAAC,eACFO,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;;;;"}
@@ -23,23 +23,6 @@ ${clientName}({String? url})
23
23
  });
24
24
  }
25
25
 
26
- function SendEchoMessage() {
27
- return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
28
- newLines: 2,
29
- indent: 2,
30
- children: `/// Method to send an echo message to the server
31
- void sendEchoMessage(dynamic message) {
32
- if (_channel == null) {
33
- print('Error: WebSocket is not connected.');
34
- return;
35
- }
36
- final payload = message is String ? message : jsonEncode(message);
37
- _channel!.sink.add(payload);
38
- print('Sent message to echo server: $payload');
39
- }`
40
- });
41
- }
42
-
43
26
  function ClientFields() {
44
27
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
45
28
  indent: 2,
@@ -54,7 +37,8 @@ final List<void Function(Object)> _errorHandlers = [];`
54
37
  function ClientClass({
55
38
  clientName,
56
39
  serverUrl,
57
- title
40
+ title,
41
+ sendOperations
58
42
  }) {
59
43
  return /*#__PURE__*/jsxRuntime.jsxs(generatorReactSdk.Text, {
60
44
  children: [/*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
@@ -76,7 +60,13 @@ function ClientClass({
76
60
  language: "dart",
77
61
  methodName: "_handleMessage",
78
62
  methodParams: ['dynamic message', 'void Function(String) cb']
79
- }), /*#__PURE__*/jsxRuntime.jsx(SendEchoMessage, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
63
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleError, {
64
+ language: "dart"
65
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
66
+ language: "dart",
67
+ sendOperations: sendOperations,
68
+ clientName: clientName
69
+ }), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.CloseConnection, {
80
70
  language: "dart"
81
71
  }), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
82
72
  children: '}'
@@ -93,6 +83,7 @@ function client_dart ({
93
83
  const title = generatorHelpers.getTitle(asyncapi);
94
84
  const clientName = generatorHelpers.getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
95
85
  const serverUrl = generatorHelpers.getServerUrl(server);
86
+ const sendOperations = asyncapi.operations().filterBySend();
96
87
  return (
97
88
  /*#__PURE__*/
98
89
  // The clientFileName default values can be found and modified under the package.json
@@ -107,7 +98,8 @@ function client_dart ({
107
98
  }), /*#__PURE__*/jsxRuntime.jsx(ClientClass, {
108
99
  clientName: clientName,
109
100
  serverUrl: serverUrl,
110
- title: title
101
+ title: title,
102
+ sendOperations: sendOperations
111
103
  })]
112
104
  })
113
105
  );
@@ -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/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 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 { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, SendOperations, Connect, HandleMessage, HandleError } from '@asyncapi/generator-components';\nimport { ClientFields } from './ClientFields';\n\nexport function ClientClass({ clientName, serverUrl, title, sendOperations }) {\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 <SendOperations\n language=\"dart\"\n sendOperations={sendOperations}\n clientName={clientName}\n />\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 const sendOperations = asyncapi.operations().filterBySend();\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} sendOperations={sendOperations} />\n </File>\n );\n}\n"],"names":["Constructor","clientName","serverUrl","_jsx","Text","newLines","indent","children","ClientFields","ClientClass","title","sendOperations","_jsxs","Connect","language","RegisterMessageHandler","methodParams","RegisterErrorHandler","HandleMessage","methodName","HandleError","SendOperations","CloseConnection","asyncapi","params","server","getServer","servers","info","getInfo","getTitle","getClientName","appendClientSuffix","customClientName","getServerUrl","operations","filterBySend","File","name","clientFileName","FileHeaderInfo","DependencyProvider"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
2
  import { Constructor } from './Constructor';
3
- import { SendEchoMessage } from './SendEchoMessage';
4
- import { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, Connect, HandleMessage } from '@asyncapi/generator-components';
3
+ import { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, SendOperations, Connect, HandleMessage, HandleError } from '@asyncapi/generator-components';
5
4
  import { ClientFields } from './ClientFields';
6
5
 
7
- export function ClientClass({ clientName, serverUrl, title }) {
6
+ export function ClientClass({ clientName, serverUrl, title, sendOperations }) {
8
7
  return (
9
8
  <Text>
10
9
  <Text newLines={2}>
@@ -26,7 +25,12 @@ export function ClientClass({ clientName, serverUrl, title }) {
26
25
  methodName="_handleMessage"
27
26
  methodParams={['dynamic message', 'void Function(String) cb']}
28
27
  />
29
- <SendEchoMessage />
28
+ <HandleError language="dart" />
29
+ <SendOperations
30
+ language="dart"
31
+ sendOperations={sendOperations}
32
+ clientName={clientName}
33
+ />
30
34
  <CloseConnection language="dart" />
31
35
  <Text>
32
36
  {'}'}
@@ -9,6 +9,7 @@ export default function ({ asyncapi, params }) {
9
9
  const title = getTitle(asyncapi);
10
10
  const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
11
11
  const serverUrl = getServerUrl(server);
12
+ const sendOperations = asyncapi.operations().filterBySend();
12
13
  return (
13
14
  // The clientFileName default values can be found and modified under the package.json
14
15
  <File name={params.clientFileName}>
@@ -18,7 +19,7 @@ export default function ({ asyncapi, params }) {
18
19
  language="dart"
19
20
  />
20
21
  <DependencyProvider language="dart" />
21
- <ClientClass clientName={clientName} serverUrl={serverUrl} title={title} />
22
+ <ClientClass clientName={clientName} serverUrl={serverUrl} title={title} sendOperations={sendOperations} />
22
23
  </File>
23
24
  );
24
25
  }
@@ -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'
@@ -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;;;;"}