2
2
/* eslint-disable @typescript-eslint/no-namespace */
3
3
4
4
import { encodeMessage , decodeMessage , message , bool , string , bytes , uint64 } from 'protons-runtime'
5
+ import type { Codec } from 'protons-runtime'
6
+ import type { Uint8ArrayList } from 'uint8arraylist'
5
7
6
8
export interface RPC {
7
9
subscriptions : RPC . SubOpts [ ]
@@ -16,21 +18,22 @@ export namespace RPC {
16
18
}
17
19
18
20
export namespace SubOpts {
19
- export const codec = ( ) => {
21
+ export const codec = ( ) : Codec < SubOpts > => {
20
22
return message < SubOpts > ( {
21
23
1 : { name : 'subscribe' , codec : bool , optional : true } ,
22
24
2 : { name : 'topic' , codec : string , optional : true }
23
25
} )
24
26
}
25
27
26
- export const encode = ( obj : SubOpts ) : Uint8Array => {
28
+ export const encode = ( obj : SubOpts ) : Uint8ArrayList => {
27
29
return encodeMessage ( obj , SubOpts . codec ( ) )
28
30
}
29
31
30
- export const decode = ( buf : Uint8Array ) : SubOpts => {
32
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : SubOpts => {
31
33
return decodeMessage ( buf , SubOpts . codec ( ) )
32
34
}
33
35
}
36
+
34
37
export interface Message {
35
38
from ?: Uint8Array
36
39
data ?: Uint8Array
@@ -41,7 +44,7 @@ export namespace RPC {
41
44
}
42
45
43
46
export namespace Message {
44
- export const codec = ( ) => {
47
+ export const codec = ( ) : Codec < Message > => {
45
48
return message < Message > ( {
46
49
1 : { name : 'from' , codec : bytes , optional : true } ,
47
50
2 : { name : 'data' , codec : bytes , optional : true } ,
@@ -52,28 +55,28 @@ export namespace RPC {
52
55
} )
53
56
}
54
57
55
- export const encode = ( obj : Message ) : Uint8Array => {
58
+ export const encode = ( obj : Message ) : Uint8ArrayList => {
56
59
return encodeMessage ( obj , Message . codec ( ) )
57
60
}
58
61
59
- export const decode = ( buf : Uint8Array ) : Message => {
62
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : Message => {
60
63
return decodeMessage ( buf , Message . codec ( ) )
61
64
}
62
65
}
63
66
64
- export const codec = ( ) => {
67
+ export const codec = ( ) : Codec < RPC > => {
65
68
return message < RPC > ( {
66
69
1 : { name : 'subscriptions' , codec : RPC . SubOpts . codec ( ) , repeats : true } ,
67
70
2 : { name : 'messages' , codec : RPC . Message . codec ( ) , repeats : true } ,
68
71
3 : { name : 'control' , codec : ControlMessage . codec ( ) , optional : true }
69
72
} )
70
73
}
71
74
72
- export const encode = ( obj : RPC ) : Uint8Array => {
75
+ export const encode = ( obj : RPC ) : Uint8ArrayList => {
73
76
return encodeMessage ( obj , RPC . codec ( ) )
74
77
}
75
78
76
- export const decode = ( buf : Uint8Array ) : RPC => {
79
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : RPC => {
77
80
return decodeMessage ( buf , RPC . codec ( ) )
78
81
}
79
82
}
@@ -86,7 +89,7 @@ export interface ControlMessage {
86
89
}
87
90
88
91
export namespace ControlMessage {
89
- export const codec = ( ) => {
92
+ export const codec = ( ) : Codec < ControlMessage > => {
90
93
return message < ControlMessage > ( {
91
94
1 : { name : 'ihave' , codec : ControlIHave . codec ( ) , repeats : true } ,
92
95
2 : { name : 'iwant' , codec : ControlIWant . codec ( ) , repeats : true } ,
@@ -95,11 +98,11 @@ export namespace ControlMessage {
95
98
} )
96
99
}
97
100
98
- export const encode = ( obj : ControlMessage ) : Uint8Array => {
101
+ export const encode = ( obj : ControlMessage ) : Uint8ArrayList => {
99
102
return encodeMessage ( obj , ControlMessage . codec ( ) )
100
103
}
101
104
102
- export const decode = ( buf : Uint8Array ) : ControlMessage => {
105
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : ControlMessage => {
103
106
return decodeMessage ( buf , ControlMessage . codec ( ) )
104
107
}
105
108
}
@@ -110,18 +113,18 @@ export interface ControlIHave {
110
113
}
111
114
112
115
export namespace ControlIHave {
113
- export const codec = ( ) => {
116
+ export const codec = ( ) : Codec < ControlIHave > => {
114
117
return message < ControlIHave > ( {
115
118
1 : { name : 'topic' , codec : string , optional : true } ,
116
119
2 : { name : 'messageIDs' , codec : bytes , repeats : true }
117
120
} )
118
121
}
119
122
120
- export const encode = ( obj : ControlIHave ) : Uint8Array => {
123
+ export const encode = ( obj : ControlIHave ) : Uint8ArrayList => {
121
124
return encodeMessage ( obj , ControlIHave . codec ( ) )
122
125
}
123
126
124
- export const decode = ( buf : Uint8Array ) : ControlIHave => {
127
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : ControlIHave => {
125
128
return decodeMessage ( buf , ControlIHave . codec ( ) )
126
129
}
127
130
}
@@ -131,17 +134,17 @@ export interface ControlIWant {
131
134
}
132
135
133
136
export namespace ControlIWant {
134
- export const codec = ( ) => {
137
+ export const codec = ( ) : Codec < ControlIWant > => {
135
138
return message < ControlIWant > ( {
136
139
1 : { name : 'messageIDs' , codec : bytes , repeats : true }
137
140
} )
138
141
}
139
142
140
- export const encode = ( obj : ControlIWant ) : Uint8Array => {
143
+ export const encode = ( obj : ControlIWant ) : Uint8ArrayList => {
141
144
return encodeMessage ( obj , ControlIWant . codec ( ) )
142
145
}
143
146
144
- export const decode = ( buf : Uint8Array ) : ControlIWant => {
147
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : ControlIWant => {
145
148
return decodeMessage ( buf , ControlIWant . codec ( ) )
146
149
}
147
150
}
@@ -151,17 +154,17 @@ export interface ControlGraft {
151
154
}
152
155
153
156
export namespace ControlGraft {
154
- export const codec = ( ) => {
157
+ export const codec = ( ) : Codec < ControlGraft > => {
155
158
return message < ControlGraft > ( {
156
159
1 : { name : 'topic' , codec : string , optional : true }
157
160
} )
158
161
}
159
162
160
- export const encode = ( obj : ControlGraft ) : Uint8Array => {
163
+ export const encode = ( obj : ControlGraft ) : Uint8ArrayList => {
161
164
return encodeMessage ( obj , ControlGraft . codec ( ) )
162
165
}
163
166
164
- export const decode = ( buf : Uint8Array ) : ControlGraft => {
167
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : ControlGraft => {
165
168
return decodeMessage ( buf , ControlGraft . codec ( ) )
166
169
}
167
170
}
@@ -173,19 +176,19 @@ export interface ControlPrune {
173
176
}
174
177
175
178
export namespace ControlPrune {
176
- export const codec = ( ) => {
179
+ export const codec = ( ) : Codec < ControlPrune > => {
177
180
return message < ControlPrune > ( {
178
181
1 : { name : 'topic' , codec : string , optional : true } ,
179
182
2 : { name : 'peers' , codec : PeerInfo . codec ( ) , repeats : true } ,
180
183
3 : { name : 'backoff' , codec : uint64 , optional : true }
181
184
} )
182
185
}
183
186
184
- export const encode = ( obj : ControlPrune ) : Uint8Array => {
187
+ export const encode = ( obj : ControlPrune ) : Uint8ArrayList => {
185
188
return encodeMessage ( obj , ControlPrune . codec ( ) )
186
189
}
187
190
188
- export const decode = ( buf : Uint8Array ) : ControlPrune => {
191
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : ControlPrune => {
189
192
return decodeMessage ( buf , ControlPrune . codec ( ) )
190
193
}
191
194
}
@@ -196,18 +199,18 @@ export interface PeerInfo {
196
199
}
197
200
198
201
export namespace PeerInfo {
199
- export const codec = ( ) => {
202
+ export const codec = ( ) : Codec < PeerInfo > => {
200
203
return message < PeerInfo > ( {
201
204
1 : { name : 'peerID' , codec : bytes , optional : true } ,
202
205
2 : { name : 'signedPeerRecord' , codec : bytes , optional : true }
203
206
} )
204
207
}
205
208
206
- export const encode = ( obj : PeerInfo ) : Uint8Array => {
209
+ export const encode = ( obj : PeerInfo ) : Uint8ArrayList => {
207
210
return encodeMessage ( obj , PeerInfo . codec ( ) )
208
211
}
209
212
210
- export const decode = ( buf : Uint8Array ) : PeerInfo => {
213
+ export const decode = ( buf : Uint8Array | Uint8ArrayList ) : PeerInfo => {
211
214
return decodeMessage ( buf , PeerInfo . codec ( ) )
212
215
}
213
216
}
0 commit comments