11/* eslint-disable import/export */
22/* eslint-disable @typescript-eslint/no-namespace */
33
4- import { encodeMessage , decodeMessage , message , bytes , string , enumeration , int32 } from 'protons-runtime'
5- import type { Codec } from 'protons-runtime'
4+ import { encodeMessage , decodeMessage , message , enumeration } from 'protons-runtime'
65import type { Uint8ArrayList } from 'uint8arraylist'
6+ import type { Codec } from 'protons-runtime'
77
88export interface Record {
99 key ?: Uint8Array
@@ -14,17 +14,81 @@ export interface Record {
1414}
1515
1616export namespace Record {
17+ let _codec : Codec < Record >
18+
1719 export const codec = ( ) : Codec < Record > => {
18- return message < Record > ( {
19- 1 : { name : 'key' , codec : bytes , optional : true } ,
20- 2 : { name : 'value' , codec : bytes , optional : true } ,
21- 3 : { name : 'author' , codec : bytes , optional : true } ,
22- 4 : { name : 'signature' , codec : bytes , optional : true } ,
23- 5 : { name : 'timeReceived' , codec : string , optional : true }
24- } )
20+ if ( _codec == null ) {
21+ _codec = message < Record > ( ( obj , writer , opts = { } ) => {
22+ if ( opts . lengthDelimited !== false ) {
23+ writer . fork ( )
24+ }
25+
26+ if ( obj . key != null ) {
27+ writer . uint32 ( 10 )
28+ writer . bytes ( obj . key )
29+ }
30+
31+ if ( obj . value != null ) {
32+ writer . uint32 ( 18 )
33+ writer . bytes ( obj . value )
34+ }
35+
36+ if ( obj . author != null ) {
37+ writer . uint32 ( 26 )
38+ writer . bytes ( obj . author )
39+ }
40+
41+ if ( obj . signature != null ) {
42+ writer . uint32 ( 34 )
43+ writer . bytes ( obj . signature )
44+ }
45+
46+ if ( obj . timeReceived != null ) {
47+ writer . uint32 ( 42 )
48+ writer . string ( obj . timeReceived )
49+ }
50+
51+ if ( opts . lengthDelimited !== false ) {
52+ writer . ldelim ( )
53+ }
54+ } , ( reader , length ) => {
55+ const obj : any = { }
56+
57+ const end = length == null ? reader . len : reader . pos + length
58+
59+ while ( reader . pos < end ) {
60+ const tag = reader . uint32 ( )
61+
62+ switch ( tag >>> 3 ) {
63+ case 1 :
64+ obj . key = reader . bytes ( )
65+ break
66+ case 2 :
67+ obj . value = reader . bytes ( )
68+ break
69+ case 3 :
70+ obj . author = reader . bytes ( )
71+ break
72+ case 4 :
73+ obj . signature = reader . bytes ( )
74+ break
75+ case 5 :
76+ obj . timeReceived = reader . string ( )
77+ break
78+ default :
79+ reader . skipType ( tag & 7 )
80+ break
81+ }
82+ }
83+
84+ return obj
85+ } )
86+ }
87+
88+ return _codec
2589 }
2690
27- export const encode = ( obj : Record ) : Uint8ArrayList => {
91+ export const encode = ( obj : Record ) : Uint8Array => {
2892 return encodeMessage ( obj , Record . codec ( ) )
2993 }
3094
@@ -63,7 +127,7 @@ export namespace Message {
63127
64128 export namespace MessageType {
65129 export const codec = ( ) => {
66- return enumeration < typeof MessageType > ( __MessageTypeValues )
130+ return enumeration < MessageType > ( __MessageTypeValues )
67131 }
68132 }
69133
@@ -83,7 +147,7 @@ export namespace Message {
83147
84148 export namespace ConnectionType {
85149 export const codec = ( ) => {
86- return enumeration < typeof ConnectionType > ( __ConnectionTypeValues )
150+ return enumeration < ConnectionType > ( __ConnectionTypeValues )
87151 }
88152 }
89153
@@ -94,15 +158,76 @@ export namespace Message {
94158 }
95159
96160 export namespace Peer {
161+ let _codec : Codec < Peer >
162+
97163 export const codec = ( ) : Codec < Peer > => {
98- return message < Peer > ( {
99- 1 : { name : 'id' , codec : bytes , optional : true } ,
100- 2 : { name : 'addrs' , codec : bytes , repeats : true } ,
101- 3 : { name : 'connection' , codec : Message . ConnectionType . codec ( ) , optional : true }
102- } )
164+ if ( _codec == null ) {
165+ _codec = message < Peer > ( ( obj , writer , opts = { } ) => {
166+ if ( opts . lengthDelimited !== false ) {
167+ writer . fork ( )
168+ }
169+
170+ if ( obj . id != null ) {
171+ writer . uint32 ( 10 )
172+ writer . bytes ( obj . id )
173+ }
174+
175+ if ( obj . addrs != null ) {
176+ for ( const value of obj . addrs ) {
177+ writer . uint32 ( 18 )
178+ writer . bytes ( value )
179+ }
180+ } else {
181+ throw new Error ( 'Protocol error: required field "addrs" was not found in object' )
182+ }
183+
184+ if ( obj . connection != null ) {
185+ writer . uint32 ( 24 )
186+ Message . ConnectionType . codec ( ) . encode ( obj . connection , writer )
187+ }
188+
189+ if ( opts . lengthDelimited !== false ) {
190+ writer . ldelim ( )
191+ }
192+ } , ( reader , length ) => {
193+ const obj : any = { }
194+
195+ const end = length == null ? reader . len : reader . pos + length
196+
197+ while ( reader . pos < end ) {
198+ const tag = reader . uint32 ( )
199+
200+ switch ( tag >>> 3 ) {
201+ case 1 :
202+ obj . id = reader . bytes ( )
203+ break
204+ case 2 :
205+ obj . addrs = obj . addrs ?? [ ]
206+ obj . addrs . push ( reader . bytes ( ) )
207+ break
208+ case 3 :
209+ obj . connection = Message . ConnectionType . codec ( ) . decode ( reader )
210+ break
211+ default :
212+ reader . skipType ( tag & 7 )
213+ break
214+ }
215+ }
216+
217+ obj . addrs = obj . addrs ?? [ ]
218+
219+ if ( obj . addrs == null ) {
220+ throw new Error ( 'Protocol error: value for required field "addrs" was not found in protobuf' )
221+ }
222+
223+ return obj
224+ } )
225+ }
226+
227+ return _codec
103228 }
104229
105- export const encode = ( obj : Peer ) : Uint8ArrayList => {
230+ export const encode = ( obj : Peer ) : Uint8Array => {
106231 return encodeMessage ( obj , Peer . codec ( ) )
107232 }
108233
@@ -111,18 +236,110 @@ export namespace Message {
111236 }
112237 }
113238
239+ let _codec : Codec < Message >
240+
114241 export const codec = ( ) : Codec < Message > => {
115- return message < Message > ( {
116- 1 : { name : 'type' , codec : Message . MessageType . codec ( ) , optional : true } ,
117- 10 : { name : 'clusterLevelRaw' , codec : int32 , optional : true } ,
118- 2 : { name : 'key' , codec : bytes , optional : true } ,
119- 3 : { name : 'record' , codec : bytes , optional : true } ,
120- 8 : { name : 'closerPeers' , codec : Message . Peer . codec ( ) , repeats : true } ,
121- 9 : { name : 'providerPeers' , codec : Message . Peer . codec ( ) , repeats : true }
122- } )
242+ if ( _codec == null ) {
243+ _codec = message < Message > ( ( obj , writer , opts = { } ) => {
244+ if ( opts . lengthDelimited !== false ) {
245+ writer . fork ( )
246+ }
247+
248+ if ( obj . type != null ) {
249+ writer . uint32 ( 8 )
250+ Message . MessageType . codec ( ) . encode ( obj . type , writer )
251+ }
252+
253+ if ( obj . clusterLevelRaw != null ) {
254+ writer . uint32 ( 80 )
255+ writer . int32 ( obj . clusterLevelRaw )
256+ }
257+
258+ if ( obj . key != null ) {
259+ writer . uint32 ( 18 )
260+ writer . bytes ( obj . key )
261+ }
262+
263+ if ( obj . record != null ) {
264+ writer . uint32 ( 26 )
265+ writer . bytes ( obj . record )
266+ }
267+
268+ if ( obj . closerPeers != null ) {
269+ for ( const value of obj . closerPeers ) {
270+ writer . uint32 ( 66 )
271+ Message . Peer . codec ( ) . encode ( value , writer )
272+ }
273+ } else {
274+ throw new Error ( 'Protocol error: required field "closerPeers" was not found in object' )
275+ }
276+
277+ if ( obj . providerPeers != null ) {
278+ for ( const value of obj . providerPeers ) {
279+ writer . uint32 ( 74 )
280+ Message . Peer . codec ( ) . encode ( value , writer )
281+ }
282+ } else {
283+ throw new Error ( 'Protocol error: required field "providerPeers" was not found in object' )
284+ }
285+
286+ if ( opts . lengthDelimited !== false ) {
287+ writer . ldelim ( )
288+ }
289+ } , ( reader , length ) => {
290+ const obj : any = { }
291+
292+ const end = length == null ? reader . len : reader . pos + length
293+
294+ while ( reader . pos < end ) {
295+ const tag = reader . uint32 ( )
296+
297+ switch ( tag >>> 3 ) {
298+ case 1 :
299+ obj . type = Message . MessageType . codec ( ) . decode ( reader )
300+ break
301+ case 10 :
302+ obj . clusterLevelRaw = reader . int32 ( )
303+ break
304+ case 2 :
305+ obj . key = reader . bytes ( )
306+ break
307+ case 3 :
308+ obj . record = reader . bytes ( )
309+ break
310+ case 8 :
311+ obj . closerPeers = obj . closerPeers ?? [ ]
312+ obj . closerPeers . push ( Message . Peer . codec ( ) . decode ( reader , reader . uint32 ( ) ) )
313+ break
314+ case 9 :
315+ obj . providerPeers = obj . providerPeers ?? [ ]
316+ obj . providerPeers . push ( Message . Peer . codec ( ) . decode ( reader , reader . uint32 ( ) ) )
317+ break
318+ default :
319+ reader . skipType ( tag & 7 )
320+ break
321+ }
322+ }
323+
324+ obj . closerPeers = obj . closerPeers ?? [ ]
325+ obj . providerPeers = obj . providerPeers ?? [ ]
326+
327+ if ( obj . closerPeers == null ) {
328+ throw new Error ( 'Protocol error: value for required field "closerPeers" was not found in protobuf' )
329+ }
330+
331+ if ( obj . providerPeers == null ) {
332+ throw new Error ( 'Protocol error: value for required field "providerPeers" was not found in protobuf' )
333+ }
334+
335+ return obj
336+ } )
337+ }
338+
339+ return _codec
123340 }
124341
125- export const encode = ( obj : Message ) : Uint8ArrayList => {
342+ export const encode = ( obj : Message ) : Uint8Array => {
126343 return encodeMessage ( obj , Message . codec ( ) )
127344 }
128345
0 commit comments