Skip to content

Commit

Permalink
keep the contract same for non sse functions
Browse files Browse the repository at this point in the history
  • Loading branch information
LukasJenicek committed Dec 16, 2023
1 parent f14227e commit ae478af
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 55 deletions.
44 changes: 8 additions & 36 deletions _examples/sse/webapp/client.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,47 +74,19 @@ export class Chat implements Chat {

sendMessage = (args: SendMessageArgs, headers?: object, signal?: AbortSignal): Promise<SendMessageReturn> => {
return this.fetch(
this.url('SendMessage'),
createHTTPRequest(args, headers, signal)).then((res) => {
return buildResponse(res).then(_data => {
return {}
})
}, (error) => {
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
})
this.url('SendMessage'), createHTTPRequest(args, headers, signal)).then((res) => {
return buildResponse(res).then(_data => {
return {}
})}, (error) => {throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })}
)
}

subscribeMessages = (args: SubscribeMessagesArgs, options: WebrpcStreamOptions<SubscribeMessagesReturn>): Promise<void> => {
return this.fetch(
this.url('SubscribeMessages'),
createHTTPRequest(args, headers, signal)).then((res) => {
return buildResponse(res).then(_data => {
return {
message: <Message>(_data.message),
}
})
}, (error) => {
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
})
}

subscribeUsers = (options: WebrpcStreamOptions<SubscribeUsersReturn>): Promise<void> => {
return this.fetch(
this.url('SubscribeUsers'),
createHTTPRequest({}, headers, signal)
).then((res) => {
return buildResponse(res).then(_data => {
return {
username: <string>(_data.username),
}
})
}, (error) => {
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
})
}
subscribeMessages = (args: SubscribeMessagesArgs, options: WebrpcStreamOptions<SubscribeMessagesReturn>): Promise<void> => {}

subscribeUsers = (options: WebrpcStreamOptions<SubscribeUsersReturn>): Promise<void> => {}

}

const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {
return {
method: 'POST',
Expand Down
34 changes: 15 additions & 19 deletions client.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,24 @@ export class {{.Name}} implements {{.Name}} {
}
{{range $_, $method := .Methods}}
{{firstLetterToLower .Name}} = ({{template "methodInputs" dict "Method" . "TypeMap" $typeMap}}): Promise<{{if $method.StreamOutput}}void{{else}}{{$method.Name}}Return{{end}}> => {
{{- if $method.StreamOutput -}}
}
{{- else }}
return this.fetch(
this.url('{{.Name}}'),
{{- if .Inputs | len}}
createHTTPRequest(args, headers, signal)
{{- else}}
createHTTPRequest({}, headers, signal)
{{end -}}
).then((res) => {
return buildResponse(res).then(_data => {
return {
{{- range $i, $output := .Outputs }}
{{$output.Name}}: <{{template "type" dict "Type" $output.Type "TypeMap" $typeMap}}>(_data.{{$output.Name}}),
{{- end -}}
{{if len .Outputs}}
{{end}}}
})
}, (error) => {
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
})
this.url('{{.Name}}'), {{ if .Inputs | len }}createHTTPRequest(args, headers, signal){{ else}}createHTTPRequest({}, headers, signal){{end }}).then((res) => {
return buildResponse(res).then(_data => {
return {
{{- range $i, $output := .Outputs }}
{{$output.Name}}: <{{template "type" dict "Type" $output.Type "TypeMap" $typeMap}}>(_data.{{$output.Name}}),
{{- end -}}
{{if len .Outputs}}
{{end}}}
})}, (error) => {throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })}
)
}
{{end}}
{{end}}
}
{{end -}}
{{- end -}}
{{end -}}
{{end}}

0 comments on commit ae478af

Please sign in to comment.