starpc 0.21.2 → 0.21.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +32 -25
  2. package/go.mod +8 -9
  3. package/go.sum +16 -66
  4. package/package.json +8 -7
package/README.md CHANGED
@@ -23,6 +23,9 @@ Supports **client-to-server and bidirectional streaming** in the web browser.
23
23
 
24
24
  [rpcstream]: ./rpcstream
25
25
 
26
+ The library leverages libp2p streams with `@chainsafe/libp2p-yamux` to
27
+ coordinate balancing many ongoing RPCs over a single connection.
28
+
26
29
  ## Usage
27
30
 
28
31
  Start with the [protobuf-project] template repository on the "starpc" branch.
@@ -112,7 +115,28 @@ example of TypeScript <-> TypeScript interop, see the [e2e] test.
112
115
 
113
116
  Supports any AsyncIterable communication channel.
114
117
 
115
- This example demonstrates both the server and client:
118
+ #### WebSocket Example
119
+
120
+ This examples demonstrates connecting to a WebSocket server:
121
+
122
+ ```typescript
123
+ import { WebSocketConn } from 'srpc'
124
+ import { EchoerClientImpl } from 'srpc/echo'
125
+
126
+ const ws = new WebSocket('ws://localhost:5000/demo')
127
+ const channel = new WebSocketConn(ws)
128
+ const client = channel.buildClient()
129
+ const demoServiceClient = new EchoerClientImpl(client)
130
+
131
+ const result = await demoServiceClient.Echo({
132
+ body: "Hello world!"
133
+ })
134
+ console.log('output', result.body)
135
+ ```
136
+
137
+ #### In-memory Demo with TypeScript Server and Client
138
+
139
+ This example demonstrates both the server and client with an in-memory pipe:
116
140
 
117
141
  ```typescript
118
142
  import { pipe } from 'it-pipe'
@@ -120,34 +144,36 @@ import { createHandler, createMux, Server, Client, Conn } from 'srpc'
120
144
  import { EchoerDefinition, EchoerServer, runClientTest } from 'srpc/echo'
121
145
  import { pushable } from 'it-pushable'
122
146
 
147
+ // Create the server and register the handlers.
123
148
  const mux = createMux()
124
149
  const echoer = new EchoerServer()
125
150
  mux.register(createHandler(EchoerDefinition, echoer))
126
151
  const server = new Server(mux.lookupMethodFunc)
127
152
 
153
+ // Create the client connection to the server with an in-memory pipe.
128
154
  const clientConn = new Conn()
129
155
  const serverConn = new Conn(server)
130
156
  pipe(clientConn, serverConn, clientConn)
131
157
  const client = new Client(clientConn.buildOpenStreamFunc())
132
158
 
133
- // call the unary rpc
159
+ // Examples of different types of RPC calls:
160
+
161
+ // One-shot request/response (unary):
134
162
  console.log('Calling Echo: unary call...')
135
163
  let result = await demoServiceClient.Echo({
136
164
  body: 'Hello world!',
137
165
  })
138
166
  console.log('success: output', result.body)
139
167
 
140
- // create a client -> server stream
168
+ // Streaming from client->server with a single server response:
141
169
  const clientRequestStream = pushable<EchoMsg>({objectMode: true})
142
170
  clientRequestStream.push({body: 'Hello world from streaming request.'})
143
171
  clientRequestStream.end()
144
-
145
- // call the client -> server streaming rpc
146
172
  console.log('Calling EchoClientStream: client -> server...')
147
173
  result = await demoServiceClient.EchoClientStream(clientRequestStream)
148
174
  console.log('success: output', result.body)
149
175
 
150
- // call the server -> client streaming rpc
176
+ // Streaming from server -> client with a single client message.
151
177
  console.log('Calling EchoServerStream: server -> client...')
152
178
  const serverStream = demoServiceClient.EchoServerStream({
153
179
  body: 'Hello world from server to client streaming request.',
@@ -157,25 +183,6 @@ for await (const msg of serverStream) {
157
183
  }
158
184
  ```
159
185
 
160
- ### WebSocket
161
-
162
- One way to integrate Go and TypeScript is over a WebSocket:
163
-
164
- ```typescript
165
- import { WebSocketConn } from 'srpc'
166
- import { EchoerClientImpl } from 'srpc/echo'
167
-
168
- const ws = new WebSocket('ws://localhost:5000/demo')
169
- const channel = new WebSocketConn(ws)
170
- const client = channel.buildClient()
171
- const demoServiceClient = new EchoerClientImpl(client)
172
-
173
- const result = await demoServiceClient.Echo({
174
- body: "Hello world!"
175
- })
176
- console.log('output', result.body)
177
- ```
178
-
179
186
  ## Attribution
180
187
 
181
188
  `protoc-gen-go-starpc` is a heavily modified version of `protoc-gen-go-drpc`.
package/go.mod CHANGED
@@ -5,12 +5,12 @@ go 1.19
5
5
  require (
6
6
  github.com/pkg/errors v0.9.1 // latest
7
7
  google.golang.org/protobuf v1.31.0 // latest
8
- nhooyr.io/websocket v1.8.8-0.20221213223501-14fb98eba64e // master
8
+ nhooyr.io/websocket v1.8.10 // master
9
9
  )
10
10
 
11
11
  require (
12
- github.com/aperturerobotics/util v1.7.5 // latest
13
- github.com/libp2p/go-libp2p v0.31.0 // latest
12
+ github.com/aperturerobotics/util v1.7.8 // latest
13
+ github.com/libp2p/go-libp2p v0.32.1 // latest
14
14
  github.com/libp2p/go-yamux/v4 v4.0.1 // master
15
15
  github.com/sirupsen/logrus v1.9.3 // latest
16
16
  )
@@ -18,22 +18,21 @@ require (
18
18
  require (
19
19
  github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
20
20
  github.com/ipfs/go-cid v0.4.1 // indirect
21
- github.com/klauspost/compress v1.16.7 // indirect
22
21
  github.com/klauspost/cpuid/v2 v2.2.5 // indirect
23
22
  github.com/libp2p/go-buffer-pool v0.1.0 // indirect
24
23
  github.com/minio/sha256-simd v1.0.1 // indirect
25
24
  github.com/mr-tron/base58 v1.2.0 // indirect
26
25
  github.com/multiformats/go-base32 v0.1.0 // indirect
27
26
  github.com/multiformats/go-base36 v0.2.0 // indirect
28
- github.com/multiformats/go-multiaddr v0.11.0 // indirect
27
+ github.com/multiformats/go-multiaddr v0.12.0 // indirect
29
28
  github.com/multiformats/go-multibase v0.2.0 // indirect
30
29
  github.com/multiformats/go-multicodec v0.9.0 // indirect
31
30
  github.com/multiformats/go-multihash v0.2.3 // indirect
32
- github.com/multiformats/go-multistream v0.4.1 // indirect
31
+ github.com/multiformats/go-multistream v0.5.0 // indirect
33
32
  github.com/multiformats/go-varint v0.0.7 // indirect
34
33
  github.com/spaolacci/murmur3 v1.1.0 // indirect
35
- golang.org/x/crypto v0.12.0 // indirect
36
- golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
37
- golang.org/x/sys v0.12.1-0.20230922162325-aa9470e40da9 // indirect
34
+ golang.org/x/crypto v0.14.0 // indirect
35
+ golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
36
+ golang.org/x/sys v0.13.0 // indirect
38
37
  lukechampine.com/blake3 v1.2.1 // indirect
39
38
  )
package/go.sum CHANGED
@@ -1,80 +1,43 @@
1
- github.com/aperturerobotics/util v1.7.5 h1:mP9C2uZuKL2EHsXYXwS7xEq7SIICwRjPbQoGSw5TdAM=
2
- github.com/aperturerobotics/util v1.7.5/go.mod h1:gugu+Tiiiy9UxrLYN711yzwFhV6ztbEItr33CrXqRKQ=
1
+ github.com/aperturerobotics/util v1.7.8 h1:mHGhEvrka5+l5aB44p4FtuejknbkNtR2si86tPokXao=
2
+ github.com/aperturerobotics/util v1.7.8/go.mod h1:idhGuFuAatygqticAnPcSZhef8yV7TYufLUw1Qfj4Cg=
3
3
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4
4
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
5
5
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6
6
  github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
7
7
  github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
8
8
  github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
9
- github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
10
- github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
11
- github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14=
12
- github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
13
- github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
14
- github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
15
- github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
16
- github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
17
- github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
18
- github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY=
19
- github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
20
- github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
21
- github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
22
- github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
23
- github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
24
- github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo=
25
- github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
26
- github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
27
- github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
28
9
  github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
29
- github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
30
- github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
31
10
  github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
32
11
  github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
33
- github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
34
- github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
35
- github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
36
12
  github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s=
37
13
  github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
38
- github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns=
39
- github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
40
- github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
41
- github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
42
- github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
43
14
  github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
44
15
  github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
45
- github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
46
- github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
47
16
  github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
48
17
  github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
49
- github.com/libp2p/go-libp2p v0.31.0 h1:LFShhP8F6xthWiBBq3euxbKjZsoRajVEyBS9snfHxYg=
50
- github.com/libp2p/go-libp2p v0.31.0/go.mod h1:W/FEK1c/t04PbRH3fA9i5oucu5YcgrG0JVoBWT1B7Eg=
18
+ github.com/libp2p/go-libp2p v0.32.1 h1:wy1J4kZIZxOaej6NveTWCZmHiJ/kY7GoAqXgqNCnPps=
19
+ github.com/libp2p/go-libp2p v0.32.1/go.mod h1:hXXC3kXPlBZ1eu8Q2hptGrMB4mZ3048JUoS4EKaHW5c=
51
20
  github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA=
52
21
  github.com/libp2p/go-yamux/v4 v4.0.1 h1:FfDR4S1wj6Bw2Pqbc8Uz7pCxeRBPbwsBbEdfwiCypkQ=
53
22
  github.com/libp2p/go-yamux/v4 v4.0.1/go.mod h1:NWjl8ZTLOGlozrXSOZ/HlfG++39iKNnM5wwmtQP1YB4=
54
- github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
55
- github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
56
23
  github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
57
24
  github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
58
- github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
59
- github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
60
- github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=
61
- github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
62
25
  github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
63
26
  github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
64
27
  github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE=
65
28
  github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
66
29
  github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0=
67
30
  github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
68
- github.com/multiformats/go-multiaddr v0.11.0 h1:XqGyJ8ufbCE0HmTDwx2kPdsrQ36AGPZNZX6s6xfJH10=
69
- github.com/multiformats/go-multiaddr v0.11.0/go.mod h1:gWUm0QLR4thQ6+ZF6SXUw8YjtwQSPapICM+NmCkxHSM=
31
+ github.com/multiformats/go-multiaddr v0.12.0 h1:1QlibTFkoXJuDjjYsMHhE73TnzJQl8FSWatk/0gxGzE=
32
+ github.com/multiformats/go-multiaddr v0.12.0/go.mod h1:WmZXgObOQOYp9r3cslLlppkrz1FYSHmE834dfz/lWu8=
70
33
  github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
71
34
  github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
72
35
  github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg=
73
36
  github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k=
74
37
  github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U=
75
38
  github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM=
76
- github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo=
77
- github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q=
39
+ github.com/multiformats/go-multistream v0.5.0 h1:5htLSLl7lvJk3xx3qT/8Zm9J4K8vEOf/QGkvOGQAyiE=
40
+ github.com/multiformats/go-multistream v0.5.0/go.mod h1:n6tMZiwiP2wUsR8DgfDWw1dydlEqV3l6N3/GBsX6ILA=
78
41
  github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
79
42
  github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
80
43
  github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -86,37 +49,24 @@ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs
86
49
  github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
87
50
  github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
88
51
  github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
89
- github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
90
- github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
91
52
  github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
92
53
  github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
93
- github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
94
- github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
95
- github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
96
- github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
97
- golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
98
- golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
99
- golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ=
100
- golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8=
101
- golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
54
+ golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
55
+ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
56
+ golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
57
+ golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
102
58
  golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
103
59
  golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
104
- golang.org/x/sys v0.12.1-0.20230922162325-aa9470e40da9 h1:WC+rGRJR7w7pPh7UZzPM5v7BTFNngogQD0WsZPSO3qY=
105
- golang.org/x/sys v0.12.1-0.20230922162325-aa9470e40da9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
106
- golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
107
- golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
108
- golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
60
+ golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
61
+ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
109
62
  golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
110
63
  google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
111
64
  google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
112
65
  google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
113
66
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
114
- gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
115
- gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
116
- gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
117
67
  gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
118
68
  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
119
69
  lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI=
120
70
  lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
121
- nhooyr.io/websocket v1.8.8-0.20221213223501-14fb98eba64e h1:Sk+k5z84Elo/gfEvX1xQR83Yhd6ETPmVDJTXUd2BxR4=
122
- nhooyr.io/websocket v1.8.8-0.20221213223501-14fb98eba64e/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
71
+ nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q=
72
+ nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "starpc",
3
- "version": "0.21.2",
3
+ "version": "0.21.4",
4
4
  "description": "Streaming protobuf RPC service protocol over any two-way channel.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -61,17 +61,18 @@
61
61
  },
62
62
  "devDependencies": {
63
63
  "@aperturerobotics/ts-common": "^0.6.6",
64
- "@typescript-eslint/eslint-plugin": "^6.7.2",
65
- "@typescript-eslint/parser": "^6.7.2",
64
+ "@typescript-eslint/eslint-plugin": "^6.12.0",
65
+ "@typescript-eslint/parser": "^6.12.0",
66
66
  "bufferutil": "^4.0.7",
67
67
  "depcheck": "^1.4.6",
68
- "esbuild": "^0.19.3",
69
- "eslint": "^8.50.0",
68
+ "esbuild": "^0.19.7",
69
+ "eslint": "^8.54.0",
70
70
  "eslint-config-prettier": "^9.0.0",
71
71
  "prettier": "^3.0.3",
72
72
  "rimraf": "^5.0.1",
73
+ "ts-poet": "6.6.0",
73
74
  "ts-proto": "^1.158.0",
74
- "typescript": "^5.2.2",
75
+ "typescript": "^5.3.2",
75
76
  "utf-8-validate": "^6.0.3"
76
77
  },
77
78
  "dependencies": {
@@ -83,7 +84,7 @@
83
84
  "it-first": "^3.0.3",
84
85
  "it-length-prefixed": "^9.0.3",
85
86
  "it-pipe": "^3.0.1",
86
- "it-pushable": "^3.2.1",
87
+ "it-pushable": "^3.2.3",
87
88
  "it-stream-types": "^2.0.1",
88
89
  "it-ws": "^6.0.5",
89
90
  "long": "^5.2.3",