Skip to content

Commit

Permalink
fix: remove unnecessary Message type wrapper for rpc args
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Stewart <christian@aperture.us>
  • Loading branch information
paralin committed May 28, 2024
1 parent 8bd5e56 commit b51e847
Show file tree
Hide file tree
Showing 7 changed files with 90 additions and 525 deletions.
18 changes: 9 additions & 9 deletions cmd/protoc-gen-es-starpc/typescript.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import {
} from '@aptre/protobuf-es-lite/protoplugin/ecmascript'

const MessageStream = createImportSymbol('MessageStream', 'starpc')
const Message = createImportSymbol('Message', '@aptre/protobuf-es-lite')
// const Message = createImportSymbol('Message', '@aptre/protobuf-es-lite')

export function generateTs(schema: Schema) {
for (const protoFile of schema.files) {
Expand Down Expand Up @@ -88,21 +88,21 @@ function generateService(
f.print(f.jsDoc(method, " "));
f.print(" ", method.name, "(");
if (method.methodKind === MethodKind.Unary) {
f.print("request: ", Message, "<", method.input, ">, abortSignal?: AbortSignal");
f.print("request: ", method.input, ", abortSignal?: AbortSignal");
} else if (method.methodKind === MethodKind.ServerStreaming) {
f.print("request: ", Message, "<", method.input, ">, abortSignal?: AbortSignal");
f.print("request: ", method.input, ", abortSignal?: AbortSignal");
} else if (method.methodKind === MethodKind.ClientStreaming) {
f.print("request: ", MessageStream, "<", method.input, ">, abortSignal?: AbortSignal");
} else if (method.methodKind === MethodKind.BiDiStreaming) {
f.print("request: ", MessageStream, "<", method.input, ">, abortSignal?: AbortSignal");
}
f.print("): ");
if (method.methodKind === MethodKind.Unary) {
f.print("Promise<", Message, "<", method.output, ">>");
f.print("Promise<", method.output, ">");
} else if (method.methodKind === MethodKind.ServerStreaming) {
f.print(MessageStream, "<", method.output, ">");
} else if (method.methodKind === MethodKind.ClientStreaming) {
f.print("Promise<", Message, "<", method.output, ">>");
f.print("Promise<", method.output, ">");
} else if (method.methodKind === MethodKind.BiDiStreaming) {
f.print(MessageStream, "<", method.output, ">");
}
Expand Down Expand Up @@ -137,17 +137,17 @@ function generateService(
f.print(f.jsDoc(method, " "));
f.print(" ", method.methodKind === MethodKind.Unary || method.methodKind === MethodKind.ClientStreaming ? "async " : "", method.name, "(");
if (method.methodKind === MethodKind.Unary) {
f.print("request: ", Message, "<", method.input, ">, abortSignal?: AbortSignal");
f.print("request: ", method.input, ", abortSignal?: AbortSignal");
} else if (method.methodKind === MethodKind.ServerStreaming) {
f.print("request: ", Message, "<", method.input, ">, abortSignal?: AbortSignal");
f.print("request: ", method.input, ", abortSignal?: AbortSignal");
} else if (method.methodKind === MethodKind.ClientStreaming) {
f.print("request: ", MessageStream, "<", method.input, ">, abortSignal?: AbortSignal");
} else if (method.methodKind === MethodKind.BiDiStreaming) {
f.print("request: ", MessageStream, "<", method.input, ">, abortSignal?: AbortSignal");
}
f.print("): ");
if (method.methodKind === MethodKind.Unary) {
f.print("Promise<", Message, "<", method.output, ">> {");
f.print("Promise<", method.output, "> {");
f.print(" const requestMsg = ", method.input, ".create(request)");
f.print(" const result = await this.rpc.request(");
f.print(" this.service,");
Expand All @@ -169,7 +169,7 @@ function generateService(
f.print(" return ", buildDecodeMessageTransformSymbol, "(", method.output, ")(result)");
f.print(" }");
} else if (method.methodKind === MethodKind.ClientStreaming) {
f.print("Promise<", Message, "<", method.output, ">> {");
f.print("Promise<", method.output, "> {");
f.print(" const result = await this.rpc.clientStreamingRequest(");
f.print(" this.service,");
f.print(" ", localName(service), "Definition.methods.", method.name, ".name,");
Expand Down
2 changes: 1 addition & 1 deletion e2e/mock/mock_srpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 4 additions & 7 deletions e2e/mock/mock_srpc.pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/* eslint-disable */

import { MockMsg } from './mock.pb.js'
import { Message, MethodKind } from '@aptre/protobuf-es-lite'
import { MethodKind } from '@aptre/protobuf-es-lite'
import { ProtoRpc } from 'starpc'

/**
Expand Down Expand Up @@ -39,10 +39,7 @@ export interface Mock {
*
* @generated from rpc e2e.mock.Mock.MockRequest
*/
MockRequest(
request: Message<MockMsg>,
abortSignal?: AbortSignal,
): Promise<Message<MockMsg>>
MockRequest(request: MockMsg, abortSignal?: AbortSignal): Promise<MockMsg>
}

export const MockServiceName = MockDefinition.typeName
Expand All @@ -61,9 +58,9 @@ export class MockClient implements Mock {
* @generated from rpc e2e.mock.Mock.MockRequest
*/
async MockRequest(
request: Message<MockMsg>,
request: MockMsg,
abortSignal?: AbortSignal,
): Promise<Message<MockMsg>> {
): Promise<MockMsg> {
const requestMsg = MockMsg.create(request)
const result = await this.rpc.request(
this.service,
Expand Down
2 changes: 1 addition & 1 deletion echo/echo_srpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 9 additions & 21 deletions echo/echo_srpc.pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/* eslint-disable */

import { EchoMsg } from './echo.pb.js'
import { Empty, Message, MethodKind } from '@aptre/protobuf-es-lite'
import { Empty, MethodKind } from '@aptre/protobuf-es-lite'
import { RpcStreamPacket } from '../rpcstream/rpcstream.pb.js'
import {
buildDecodeMessageTransform,
Expand Down Expand Up @@ -100,18 +100,15 @@ export interface Echoer {
*
* @generated from rpc echo.Echoer.Echo
*/
Echo(
request: Message<EchoMsg>,
abortSignal?: AbortSignal,
): Promise<Message<EchoMsg>>
Echo(request: EchoMsg, abortSignal?: AbortSignal): Promise<EchoMsg>

/**
* EchoServerStream is an example of a server -> client one-way stream.
*
* @generated from rpc echo.Echoer.EchoServerStream
*/
EchoServerStream(
request: Message<EchoMsg>,
request: EchoMsg,
abortSignal?: AbortSignal,
): MessageStream<EchoMsg>

Expand All @@ -123,7 +120,7 @@ export interface Echoer {
EchoClientStream(
request: MessageStream<EchoMsg>,
abortSignal?: AbortSignal,
): Promise<Message<EchoMsg>>
): Promise<EchoMsg>

/**
* EchoBidiStream is an example of a two-way stream.
Expand All @@ -150,10 +147,7 @@ export interface Echoer {
*
* @generated from rpc echo.Echoer.DoNothing
*/
DoNothing(
request: Message<Empty>,
abortSignal?: AbortSignal,
): Promise<Message<Empty>>
DoNothing(request: Empty, abortSignal?: AbortSignal): Promise<Empty>
}

export const EchoerServiceName = EchoerDefinition.typeName
Expand All @@ -176,10 +170,7 @@ export class EchoerClient implements Echoer {
*
* @generated from rpc echo.Echoer.Echo
*/
async Echo(
request: Message<EchoMsg>,
abortSignal?: AbortSignal,
): Promise<Message<EchoMsg>> {
async Echo(request: EchoMsg, abortSignal?: AbortSignal): Promise<EchoMsg> {
const requestMsg = EchoMsg.create(request)
const result = await this.rpc.request(
this.service,
Expand All @@ -196,7 +187,7 @@ export class EchoerClient implements Echoer {
* @generated from rpc echo.Echoer.EchoServerStream
*/
EchoServerStream(
request: Message<EchoMsg>,
request: EchoMsg,
abortSignal?: AbortSignal,
): MessageStream<EchoMsg> {
const requestMsg = EchoMsg.create(request)
Expand All @@ -217,7 +208,7 @@ export class EchoerClient implements Echoer {
async EchoClientStream(
request: MessageStream<EchoMsg>,
abortSignal?: AbortSignal,
): Promise<Message<EchoMsg>> {
): Promise<EchoMsg> {
const result = await this.rpc.clientStreamingRequest(
this.service,
EchoerDefinition.methods.EchoClientStream.name,
Expand Down Expand Up @@ -268,10 +259,7 @@ export class EchoerClient implements Echoer {
*
* @generated from rpc echo.Echoer.DoNothing
*/
async DoNothing(
request: Message<Empty>,
abortSignal?: AbortSignal,
): Promise<Message<Empty>> {
async DoNothing(request: Empty, abortSignal?: AbortSignal): Promise<Empty> {
const requestMsg = Empty.create(request)
const result = await this.rpc.request(
this.service,
Expand Down
6 changes: 5 additions & 1 deletion hack/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ require (
github.com/Antonboom/nilnil v0.1.9 // indirect
github.com/Antonboom/testifylint v1.3.0 // indirect
github.com/BurntSushi/toml v1.4.0 // indirect
github.com/Crocmagnon/fatcontext v0.2.2 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/semver/v3 v3.2.1 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
github.com/alecthomas/go-check-sumtype v0.1.4 // indirect
github.com/alexkohler/nakedret/v2 v2.0.4 // indirect
Expand Down Expand Up @@ -83,6 +84,7 @@ require (
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
github.com/golangci/misspell v0.5.1 // indirect
github.com/golangci/modinfo v0.3.4 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.5.3 // indirect
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
Expand All @@ -109,6 +111,7 @@ require (
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.10 // indirect
github.com/kyoh86/exportloopref v0.1.11 // indirect
github.com/lasiar/canonicalheader v1.1.1 // indirect
github.com/ldez/gomoddirectives v0.2.4 // indirect
github.com/ldez/tagliatelle v0.5.0 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
Expand Down Expand Up @@ -153,6 +156,7 @@ require (
github.com/prometheus/common v0.48.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/quasilyte/go-ruleguard v0.4.2 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
Expand Down
Loading

0 comments on commit b51e847

Please sign in to comment.