Skip to content

Commit 469784c

Browse files
committed
feat: handle multiple responses type
1 parent 17c1251 commit 469784c

File tree

21 files changed

+40863
-52262
lines changed

21 files changed

+40863
-52262
lines changed

templates/default/procedure-call.ejs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,13 @@ const describeReturnType = () => {
8181
8282
const isValidIdentifier = (name) => /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name);
8383
84+
const getSuccessResponseTypes = () => {
85+
const successResponses = responseBodyInfo.responses.filter(response => response.isSuccess);
86+
87+
return config.Ts.UnionType(successResponses.map((response) => response.type));
88+
}
89+
90+
8491
%>
8592
/**
8693
<%~ routeDocs.description %>
@@ -91,7 +98,7 @@ const isValidIdentifier = (name) => /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name);
9198

9299
*/
93100
<% if (isValidIdentifier(route.routeName.usage)) { %><%~ route.routeName.usage %><%~ route.namespace ? ': ' : ' = ' %><% } else { %>"<%~ route.routeName.usage %>"<%~ route.namespace ? ': ' : ' = ' %><% } %>(<%~ wrapperArgs %>)<%~ config.toJS ? `: ${describeReturnType()}` : "" %> =>
94-
<%~ config.singleHttpClient ? 'this.http.request' : 'this.request' %><<%~ type %>, <%~ errorType %>>({
101+
<%~ config.singleHttpClient ? 'this.http.request' : 'this.request' %><<%~ `${getSuccessResponseTypes()}` %>, <%~ errorType %>>({
95102
path: `<%~ path %>`,
96103
method: '<%~ _.upperCase(method) %>',
97104
<%~ queryTmpl ? `query: ${queryTmpl},` : '' %>

0 commit comments

Comments
 (0)