Skip to content

Commit

Permalink
keep the same contract without generated changes
Browse files Browse the repository at this point in the history
  • Loading branch information
LukasJenicek committed Dec 27, 2023
1 parent f25d683 commit 3296709
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 41 deletions.
2 changes: 1 addition & 1 deletion _examples/node-ts/server/server.gen.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable */
// node-ts v1.0.0 2167bb6fb0a186ff099cd8a309c6ffbbd7d1b9c0
// --
// Code generated by [email protected] with ../../ generator. DO NOT EDIT.
// Code generated by [email protected] with custom generator. DO NOT EDIT.
//
// webrpc-gen -schema=service.ridl -target=../../ -server -out=./server/server.gen.ts

Expand Down
40 changes: 23 additions & 17 deletions _examples/node-ts/webapp/client.gen.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable */
// node-ts v1.0.0 2167bb6fb0a186ff099cd8a309c6ffbbd7d1b9c0
// --
// Code generated by [email protected] with ../../ generator. DO NOT EDIT.
// Code generated by [email protected] with custom generator. DO NOT EDIT.
//
// webrpc-gen -schema=service.ridl -target=../../ -client -out=./webapp/client.gen.ts

Expand Down Expand Up @@ -76,29 +76,35 @@ export class ExampleService implements ExampleService {

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


getUser = (args: GetUserArgs, headers?: object, signal?: AbortSignal): Promise<GetUserReturn> => {
return this.fetch(
this.url('GetUser'), createHTTPRequest(args, headers, signal)).then((res) => {
return buildResponse(res).then(_data => {
return {
code: <number>(_data.code),
user: <User>(_data.user),
}
})}, (error) => {throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })}
)
this.url('GetUser'),
createHTTPRequest(args, headers, signal)).then((res) => {
return buildResponse(res).then(_data => {
return {
code: <number>(_data.code),
user: <User>(_data.user),
}
})
}, (error) => {
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
})
}


}
const createHTTPRequest = (body: object = {}, headers?: object, signal?: AbortSignal): object => {

const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {
return {
method: 'POST',
headers: { ...headers, 'Content-Type': 'application/json' },
Expand Down
21 changes: 11 additions & 10 deletions _examples/sse/webapp/client.gen.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable */
// webrpc-sse-chat v1.0.0 f3307fcc3621aa9099b8fa02f8bb22dee4263705
// --
// Code generated by [email protected] with ../../ generator. DO NOT EDIT.
// Code generated by [email protected] with custom generator. DO NOT EDIT.
//
// webrpc-gen -schema=service.ridl -target=../../ -client -out=./webapp/client.gen.ts

Expand Down Expand Up @@ -74,14 +74,16 @@ 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> => {
const _fetch = () => this.fetch(this.url('SubscribeMessages'),createHTTPRequest(args, options.headers, options.signal)
).then(async (res) => {
Expand All @@ -91,7 +93,6 @@ export class Chat implements Chat {
});
return _fetch();
}

subscribeUsers = (options: WebrpcStreamOptions<SubscribeUsersReturn>): Promise<void> => {
const _fetch = () => this.fetch(this.url('SubscribeUsers'),createHTTPRequest({}, options.headers, options.signal)
).then(async (res) => {
Expand All @@ -101,7 +102,6 @@ export class Chat implements Chat {
});
return _fetch();
}

}

const sseResponse = async (
Expand Down Expand Up @@ -240,7 +240,8 @@ const sseResponse = async (
};


const createHTTPRequest = (body: object = {}, headers?: object, signal?: AbortSignal): object => {

const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {
return {
method: 'POST',
headers: { ...headers, 'Content-Type': 'application/json' },
Expand Down
27 changes: 16 additions & 11 deletions client.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,23 @@ export class {{.Name}} implements {{.Name}} {
}
{{- 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)).then((res) => { {{- else }}createHTTPRequest({}, headers, signal)
).then((res) => { {{- end }}
return buildResponse(res).then(_data => {
{{ if .Outputs | len -}}
return {
{{- range $i, $output := .Outputs }}
{{$output.Name}}: <{{template "type" dict "Type" $output.Type "TypeMap" $typeMap}}>(_data.{{$output.Name}}),
{{- end }}
}
{{- else }}return {}{{- end }}
})
}, (error) => {
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
})
}
{{end}}
{{end -}}
{{end}}
}
{{- end -}}
Expand Down
3 changes: 1 addition & 2 deletions clientHelpers.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
{{- $webrpcErrors := .WebrpcErrors -}}
{{- $schemaErrors := .SchemaErrors -}}
{{- $opts := .Opts -}}

const createHTTPRequest = (body: object = {}, headers?: object, signal?: AbortSignal): object => {
const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {
return {
method: 'POST',
headers: { ...headers, 'Content-Type': 'application/json' },
Expand Down
1 change: 1 addition & 0 deletions main.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ export const WebRPCSchemaHash = "{{.SchemaHash}}"

{{- if $opts.client}}
{{template "client" dict "Services" .Services "Opts" $opts "TypeMap" $typeMap}}

{{template "clientHelpers" dict "WebrpcErrors" .WebrpcErrors "SchemaErrors" .Errors "Opts" $opts }}
{{- end}}

Expand Down

0 comments on commit 3296709

Please sign in to comment.