Skip to content

Commit 810948d

Browse files
committed
Replaced ModelinaGenerator class with typedef
1 parent 3ff3f65 commit 810948d

File tree

4 files changed

+285
-285
lines changed

4 files changed

+285
-285
lines changed

packages/components/API.md

Lines changed: 184 additions & 183 deletions
Original file line numberDiff line numberDiff line change
@@ -1,183 +1,184 @@
1-
## Functions
2-
### **CloseConnection** - Renders a WebSocket close connection method with optional pre and post execution logic.
3-
### Parameters
4-
| Name | Type | Description |
5-
|------|------|-------------|
6-
| props | Object | Component props. |
7-
| props.language | Language | Programming language used for method formatting. |
8-
| props.framework | string | Framework used, if any (e.g., 'quarkus' for Java). |
9-
| props.methodName | string | Name of the method to generate. |
10-
| props.methodParams | Array.<string> | List of parameters for the method. |
11-
| props.preExecutionCode | string | Code to insert before the main function logic. |
12-
| props.postExecutionCode | string | Code to insert after the main function logic. |
13-
| props.indent | number | Indentation level for the method block. |
14-
15-
@returns JSX.Element
16-
### **Connect** - Component that renders WebSocket connection method for the specified programming language.
17-
### Parameters
18-
| Name | Type | Description |
19-
|------|------|-------------|
20-
| props | Object | Component properties. |
21-
| props.language | SupportedLanguage | The programming language for which to generate connection code. |
22-
| props.title | string | The title of the WebSocket server. |
23-
24-
### **resolveDependencies** - Helper function to resolve dependencies based on language, framework, and role.
25-
### Parameters
26-
| Name | Type | Description |
27-
|------|------|-------------|
28-
| language | Language | The programming language. |
29-
| framework | string | The framework (e.g., 'quarkus' for Java). |
30-
| role | string | The role (e.g., 'client', 'connector' for Java). |
31-
32-
@returns Array.<string>
33-
### **DependencyProvider** - Renders the top-of-file dependency statements for the selected programming language.
34-
### Parameters
35-
| Name | Type | Description |
36-
|------|------|-------------|
37-
| props | Object | Component props. |
38-
| props.language | Language | The programming language for which to render dependency statements. |
39-
| props.framework | string | The framework (e.g., 'quarkus' for Java). |
40-
| props.role | string | The role (e.g., 'client', 'connector' for Java). |
41-
| props.additionalDependencies | Array.<string> | Optional additional dependencies to include. |
42-
43-
@returns JSX.Element
44-
### **FileHeaderInfo** - Renders a file header with metadata information such as title, version, protocol, host, and path.
45-
### Parameters
46-
| Name | Type | Description |
47-
|------|------|-------------|
48-
| props | Object | Component props. |
49-
| props.info | object | Info object from the AsyncAPI document. |
50-
| props.server | object | Server object from the AsyncAPI document. |
51-
| props.language | Language | Programming language used for comment formatting. |
52-
53-
@returns JSX.Element
54-
### **HandleMessage** - Renders a WebSocket message handler method with optional pre and post execution logic.
55-
### Parameters
56-
| Name | Type | Description |
57-
|------|------|-------------|
58-
| props | Object | Component props. |
59-
| props.language | Language | Programming language used for method formatting. |
60-
| props.methodName | string | Name of the method to generate. |
61-
| props.methodParams | Array.<string> | List of parameters for the method. |
62-
| props.preExecutionCode | string | Code to insert before the main function logic. |
63-
| props.postExecutionCode | string | Code to insert after the main function logic. |
64-
| props.customMethodConfig | Object | Optional overrides for default method configuration. |
65-
66-
@returns JSX.Element
67-
### **resolveDocsAndLogic** - Resolve docs and logic for the given language + framework config.
68-
69-
### **buildIndentedLogic** - Build indented method body.
70-
71-
### **MethodGenerator** - Generic Method rendering component.
72-
### Parameters
73-
| Name | Type | Description |
74-
|------|------|-------------|
75-
| props | Object | Component props. |
76-
| props.language | Language | Programming language used for method formatting. |
77-
| props.methodName | string | Name of the method. |
78-
| props.methodParams | Array.<string> | Method parameters. |
79-
| props.methodDocs | string | Optional documentation string. |
80-
| props.methodLogic | string | Core method logic. |
81-
| props.preExecutionCode | string | Code before main logic. |
82-
| props.postExecutionCode | string | Code after main logic. |
83-
| props.indent | number | Indentation for the method block. |
84-
| props.newLines | number | Number of new lines after method. |
85-
| props.customMethodConfig | Object | Optional custom syntax configuration for the current language. |
86-
| props.methodConfig | Record.<Language, ({methodDocs: string, methodLogic: string}|Record.<string, {methodDocs: string, methodLogic: string}>)> | Language-level or framework-level configuration. |
87-
| props.framework | string | Framework name for nested configurations (e.g., 'quarkus' for Java). |
88-
89-
### **Models** - Generates and returns an array of model files based on the AsyncAPI document.
90-
### Parameters
91-
| Name | Type | Description |
92-
|------|------|-------------|
93-
| params | Object | The parameters for the function. |
94-
| params.asyncapi | AsyncAPIDocumentInterface | Parsed AsyncAPI document object. |
95-
| params.language | Language | Target programming language for the generated models. |
96-
| params.format | Format | Naming format for generated files. |
97-
| params.presets | object | Custom presets for the generator instance. |
98-
| params.constraints | object | Custom constraints for the generator instance. |
99-
100-
@returns Array.<File>
101-
### **OnClose** - Component that renders WebSocket onClose event handler for the specified programming language.
102-
### Parameters
103-
| Name | Type | Description |
104-
|------|------|-------------|
105-
| props | Object | Component properties. |
106-
| props.language | SupportedLanguage | The programming language for which to generate onClose handler code. |
107-
| props.framework | string | Optional framework variant (e.g., 'quarkus' for java). |
108-
| props.title | string | The title of the WebSocket server. |
109-
110-
### **OnError** - Component that renders WebSocket onError event handler for the specified programming language.
111-
### Parameters
112-
| Name | Type | Description |
113-
|------|------|-------------|
114-
| props | Object | Component properties. |
115-
| props.language | SupportedLanguage | The programming language for which to generate onError handler code. |
116-
117-
### **OnMessage** - Component that renders WebSocket onMessage event handler for the specified programming language.
118-
### Parameters
119-
| Name | Type | Description |
120-
|------|------|-------------|
121-
| props | Object | Component properties. |
122-
| props.language | SupportedLanguage | The programming language for which to generate onMessage handler code. |
123-
124-
### **OnOpen** - Component that renders WebSocket onOpen event handler for the specified programming language.
125-
### Parameters
126-
| Name | Type | Description |
127-
|------|------|-------------|
128-
| props | Object | Component properties. |
129-
| props.language | SupportedLanguage | The programming language for which to generate onOpen handler code. |
130-
| props.framework | string | Optional framework variant (e.g., 'quarkus' for java). |
131-
| props.title | string | The title of the WebSocket server. |
132-
133-
### **resolveQueryParamLogic** - Resolve the appropriate query parameter configuration function based on language and framework.
134-
### Parameters
135-
| Name | Type | Description |
136-
|------|------|-------------|
137-
| language | SupportedLanguage | The target programming language. |
138-
| framework | string | Optional framework (e.g., 'quarkus' for Java). |
139-
140-
@returns function
141-
### **QueryParamsVariables** - Component for rendering query parameter variables code.
142-
### Parameters
143-
| Name | Type | Description |
144-
|------|------|-------------|
145-
| props | Object | Component props. |
146-
| props.language | SupportedLanguage | The target programming language. |
147-
| props.framework | string | Optional framework for the language. |
148-
| props.queryParams | Array.<Array.<string>> | Array of query parameters, each represented as [paramName, paramType?]. |
149-
150-
### **RegisterErrorHandler** - Renders a WebSocket error handler registration method with optional pre and post execution logic.
151-
### Parameters
152-
| Name | Type | Description |
153-
|------|------|-------------|
154-
| props | Object | Component props. |
155-
| props.language | Language | Programming language used for method formatting. |
156-
| props.methodName | string | Name of the method to generate. |
157-
| props.methodParams | Array.<string> | List of parameters for the method. |
158-
| props.preExecutionCode | string | Code to insert before the main function logic. |
159-
| props.postExecutionCode | string | Code to insert after the main function logic. |
160-
| props.customMethodConfig | Object | Optional overrides for default method configuration. |
161-
162-
@returns JSX.Element
163-
### **RegisterMessageHandler** - Renders a WebSocket message handler registration method with optional pre and post execution logic.
164-
### Parameters
165-
| Name | Type | Description |
166-
|------|------|-------------|
167-
| props | Object | Component props. |
168-
| props.language | Language | Programming language used for method formatting. |
169-
| props.methodName | string | Name of the method to generate. |
170-
| props.methodParams | Array.<string> | List of parameters for the method. |
171-
| props.preExecutionCode | string | Code to insert before the main function logic. |
172-
| props.postExecutionCode | string | Code to insert after the main function logic. |
173-
174-
@returns JSX.Element
175-
### **SendOperations** - Component for rendering WebSocket send operation methods.Generates both static and instance methods for sending messages through WebSocket connections.
176-
### Parameters
177-
| Name | Type | Description |
178-
|------|------|-------------|
179-
| props | Object | Component props. |
180-
| props.language | SupportedLanguage | The target programming language. |
181-
| props.sendOperations | Array.<Object> | Array of send operations from AsyncAPI document. |
182-
| props.clientName | string | The name of the client class. |
183-
1+
## Functions
2+
### **CloseConnection** - Renders a WebSocket close connection method with optional pre and post execution logic.
3+
### Parameters
4+
| Name | Type | Description |
5+
|------|------|-------------|
6+
| props | Object | Component props. |
7+
| props.language | Language | Programming language used for method formatting. |
8+
| props.framework | string | Framework used, if any (e.g., 'quarkus' for Java). |
9+
| props.methodName | string | Name of the method to generate. |
10+
| props.methodParams | Array.<string> | List of parameters for the method. |
11+
| props.preExecutionCode | string | Code to insert before the main function logic. |
12+
| props.postExecutionCode | string | Code to insert after the main function logic. |
13+
| props.indent | number | Indentation level for the method block. |
14+
15+
@returns JSX.Element
16+
### **Connect** - Component that renders WebSocket connection method for the specified programming language.
17+
### Parameters
18+
| Name | Type | Description |
19+
|------|------|-------------|
20+
| props | Object | Component properties. |
21+
| props.language | SupportedLanguage | The programming language for which to generate connection code. |
22+
| props.title | string | The title of the WebSocket server. |
23+
24+
### **resolveDependencies** - Helper function to resolve dependencies based on language, framework, and role.
25+
### Parameters
26+
| Name | Type | Description |
27+
|------|------|-------------|
28+
| language | Language | The programming language. |
29+
| framework | string | The framework (e.g., 'quarkus' for Java). |
30+
| role | string | The role (e.g., 'client', 'connector' for Java). |
31+
32+
@returns Array.<string>
33+
### **DependencyProvider** - Renders the top-of-file dependency statements for the selected programming language.
34+
### Parameters
35+
| Name | Type | Description |
36+
|------|------|-------------|
37+
| props | Object | Component props. |
38+
| props.language | Language | The programming language for which to render dependency statements. |
39+
| props.framework | string | The framework (e.g., 'quarkus' for Java). |
40+
| props.role | string | The role (e.g., 'client', 'connector' for Java). |
41+
| props.additionalDependencies | Array.<string> | Optional additional dependencies to include. |
42+
43+
@returns JSX.Element
44+
### **FileHeaderInfo** - Renders a file header with metadata information such as title, version, protocol, host, and path.
45+
### Parameters
46+
| Name | Type | Description |
47+
|------|------|-------------|
48+
| props | Object | Component props. |
49+
| props.info | object | Info object from the AsyncAPI document. |
50+
| props.server | object | Server object from the AsyncAPI document. |
51+
| props.language | Language | Programming language used for comment formatting. |
52+
53+
@returns JSX.Element
54+
### **HandleMessage** - Renders a WebSocket message handler method with optional pre and post execution logic.
55+
### Parameters
56+
| Name | Type | Description |
57+
|------|------|-------------|
58+
| props | Object | Component props. |
59+
| props.language | Language | Programming language used for method formatting. |
60+
| props.methodName | string | Name of the method to generate. |
61+
| props.methodParams | Array.<string> | List of parameters for the method. |
62+
| props.preExecutionCode | string | Code to insert before the main function logic. |
63+
| props.postExecutionCode | string | Code to insert after the main function logic. |
64+
| props.customMethodConfig | Object | Optional overrides for default method configuration. |
65+
66+
@returns JSX.Element
67+
### **resolveDocsAndLogic** - Resolve docs and logic for the given language + framework config.
68+
69+
### **buildIndentedLogic** - Build indented method body.
70+
71+
### **MethodGenerator** - Generic Method rendering component.
72+
### Parameters
73+
| Name | Type | Description |
74+
|------|------|-------------|
75+
| props | Object | Component props. |
76+
| props.language | Language | Programming language used for method formatting. |
77+
| props.methodName | string | Name of the method. |
78+
| props.methodParams | Array.<string> | Method parameters. |
79+
| props.methodDocs | string | Optional documentation string. |
80+
| props.methodLogic | string | Core method logic. |
81+
| props.preExecutionCode | string | Code before main logic. |
82+
| props.postExecutionCode | string | Code after main logic. |
83+
| props.indent | number | Indentation for the method block. |
84+
| props.newLines | number | Number of new lines after method. |
85+
| props.customMethodConfig | Object | Optional custom syntax configuration for the current language. |
86+
| props.methodConfig | Record.<Language, ({methodDocs: string, methodLogic: string}|Record.<string, {methodDocs: string, methodLogic: string}>)> | Language-level or framework-level configuration. |
87+
| props.framework | string | Framework name for nested configurations (e.g., 'quarkus' for Java). |
88+
89+
### **Models** - Generates and returns an array of model files based on the AsyncAPI document.
90+
### Parameters
91+
| Name | Type | Description |
92+
|------|------|-------------|
93+
| params | Object | The parameters for the function. |
94+
| params.asyncapi | AsyncAPIDocumentInterface | Parsed AsyncAPI document object. |
95+
| params.language | Language | Target programming language for the generated models. |
96+
| params.format | Format | Naming format for generated files. |
97+
| params.presets | object | Custom presets for the generator instance. |
98+
| params.constraints | object | Custom constraints for the generator instance. |
99+
100+
@returns Array.<File>
101+
### **OnClose** - Component that renders WebSocket onClose event handler for the specified programming language.
102+
### Parameters
103+
| Name | Type | Description |
104+
|------|------|-------------|
105+
| props | Object | Component properties. |
106+
| props.language | SupportedLanguage | The programming language for which to generate onClose handler code. |
107+
| props.framework | string | Optional framework variant (e.g., 'quarkus' for java). |
108+
| props.title | string | The title of the WebSocket server. |
109+
110+
### **OnError** - Component that renders WebSocket onError event handler for the specified programming language.
111+
### Parameters
112+
| Name | Type | Description |
113+
|------|------|-------------|
114+
| props | Object | Component properties. |
115+
| props.language | SupportedLanguage | The programming language for which to generate onError handler code. |
116+
117+
### **OnMessage** - Component that renders WebSocket onMessage event handler for the specified programming language.
118+
### Parameters
119+
| Name | Type | Description |
120+
|------|------|-------------|
121+
| props | Object | Component properties. |
122+
| props.language | SupportedLanguage | The programming language for which to generate onMessage handler code. |
123+
124+
### **OnOpen** - Component that renders WebSocket onOpen event handler for the specified programming language.
125+
### Parameters
126+
| Name | Type | Description |
127+
|------|------|-------------|
128+
| props | Object | Component properties. |
129+
| props.language | SupportedLanguage | The programming language for which to generate onOpen handler code. |
130+
| props.framework | string | Optional framework variant (e.g., 'quarkus' for java). |
131+
| props.title | string | The title of the WebSocket server. |
132+
133+
### **resolveQueryParamLogic** - Resolve the appropriate query parameter configuration function based on language and framework.
134+
### Parameters
135+
| Name | Type | Description |
136+
|------|------|-------------|
137+
| language | SupportedLanguage | The target programming language. |
138+
| framework | string | Optional framework (e.g., 'quarkus' for Java). |
139+
140+
@returns function
141+
### **QueryParamsVariables** - Component for rendering query parameter variables code.
142+
### Parameters
143+
| Name | Type | Description |
144+
|------|------|-------------|
145+
| props | Object | Component props. |
146+
| props.language | SupportedLanguage | The target programming language. |
147+
| props.framework | string | Optional framework for the language. |
148+
| props.queryParams | Array.<Array.<string>> | Array of query parameters, each represented as [paramName, paramType?]. |
149+
150+
### **RegisterErrorHandler** - Renders a WebSocket error handler registration method with optional pre and post execution logic.
151+
### Parameters
152+
| Name | Type | Description |
153+
|------|------|-------------|
154+
| props | Object | Component props. |
155+
| props.language | Language | Programming language used for method formatting. |
156+
| props.methodName | string | Name of the method to generate. |
157+
| props.methodParams | Array.<string> | List of parameters for the method. |
158+
| props.preExecutionCode | string | Code to insert before the main function logic. |
159+
| props.postExecutionCode | string | Code to insert after the main function logic. |
160+
| props.customMethodConfig | Object | Optional overrides for default method configuration. |
161+
162+
@returns JSX.Element
163+
### **RegisterMessageHandler** - Renders a WebSocket message handler registration method with optional pre and post execution logic.
164+
### Parameters
165+
| Name | Type | Description |
166+
|------|------|-------------|
167+
| props | Object | Component props. |
168+
| props.language | Language | Programming language used for method formatting. |
169+
| props.methodName | string | Name of the method to generate. |
170+
| props.methodParams | Array.<string> | List of parameters for the method. |
171+
| props.preExecutionCode | string | Code to insert before the main function logic. |
172+
| props.postExecutionCode | string | Code to insert after the main function logic. |
173+
174+
@returns JSX.Element
175+
### **SendOperations** - Component for rendering WebSocket send operation methods.
176+
Generates both static and instance methods for sending messages through WebSocket connections.
177+
### Parameters
178+
| Name | Type | Description |
179+
|------|------|-------------|
180+
| props | Object | Component props. |
181+
| props.language | SupportedLanguage | The target programming language. |
182+
| props.sendOperations | Array.<Object> | Array of send operations from AsyncAPI document. |
183+
| props.clientName | string | The name of the client class. |
184+

0 commit comments

Comments
 (0)