@libp2p/daemon-protocol 1.0.2 → 1.0.5

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.
package/src/index.ts CHANGED
@@ -2,6 +2,125 @@
2
2
  /* eslint-disable @typescript-eslint/no-namespace */
3
3
 
4
4
  import { enumeration, encodeMessage, decodeMessage, message, bytes, int64, string, int32 } from 'protons-runtime'
5
+ import type { Codec } from 'protons-runtime'
6
+
7
+ export interface Request {
8
+ type: Request.Type
9
+ connect?: ConnectRequest
10
+ streamOpen?: StreamOpenRequest
11
+ streamHandler?: StreamHandlerRequest
12
+ dht?: DHTRequest
13
+ connManager?: ConnManagerRequest
14
+ disconnect?: DisconnectRequest
15
+ pubsub?: PSRequest
16
+ peerStore?: PeerstoreRequest
17
+ }
18
+
19
+ export namespace Request {
20
+ export enum Type {
21
+ IDENTIFY = 'IDENTIFY',
22
+ CONNECT = 'CONNECT',
23
+ STREAM_OPEN = 'STREAM_OPEN',
24
+ STREAM_HANDLER = 'STREAM_HANDLER',
25
+ DHT = 'DHT',
26
+ LIST_PEERS = 'LIST_PEERS',
27
+ CONNMANAGER = 'CONNMANAGER',
28
+ DISCONNECT = 'DISCONNECT',
29
+ PUBSUB = 'PUBSUB',
30
+ PEERSTORE = 'PEERSTORE'
31
+ }
32
+
33
+ enum __TypeValues {
34
+ IDENTIFY = 0,
35
+ CONNECT = 1,
36
+ STREAM_OPEN = 2,
37
+ STREAM_HANDLER = 3,
38
+ DHT = 4,
39
+ LIST_PEERS = 5,
40
+ CONNMANAGER = 6,
41
+ DISCONNECT = 7,
42
+ PUBSUB = 8,
43
+ PEERSTORE = 9
44
+ }
45
+
46
+ export namespace Type {
47
+ export const codec = () => {
48
+ return enumeration<typeof Type>(__TypeValues)
49
+ }
50
+ }
51
+
52
+ export const codec = (): Codec<Request> => {
53
+ return message<Request>({
54
+ 1: { name: 'type', codec: Request.Type.codec() },
55
+ 2: { name: 'connect', codec: ConnectRequest.codec(), optional: true },
56
+ 3: { name: 'streamOpen', codec: StreamOpenRequest.codec(), optional: true },
57
+ 4: { name: 'streamHandler', codec: StreamHandlerRequest.codec(), optional: true },
58
+ 5: { name: 'dht', codec: DHTRequest.codec(), optional: true },
59
+ 6: { name: 'connManager', codec: ConnManagerRequest.codec(), optional: true },
60
+ 7: { name: 'disconnect', codec: DisconnectRequest.codec(), optional: true },
61
+ 8: { name: 'pubsub', codec: PSRequest.codec(), optional: true },
62
+ 9: { name: 'peerStore', codec: PeerstoreRequest.codec(), optional: true }
63
+ })
64
+ }
65
+
66
+ export const encode = (obj: Request): Uint8Array => {
67
+ return encodeMessage(obj, Request.codec())
68
+ }
69
+
70
+ export const decode = (buf: Uint8Array): Request => {
71
+ return decodeMessage(buf, Request.codec())
72
+ }
73
+ }
74
+
75
+ export interface Response {
76
+ type: Response.Type
77
+ error?: ErrorResponse
78
+ streamInfo?: StreamInfo
79
+ identify?: IdentifyResponse
80
+ dht?: DHTResponse
81
+ peers: PeerInfo[]
82
+ pubsub?: PSResponse
83
+ peerStore?: PeerstoreResponse
84
+ }
85
+
86
+ export namespace Response {
87
+ export enum Type {
88
+ OK = 'OK',
89
+ ERROR = 'ERROR'
90
+ }
91
+
92
+ enum __TypeValues {
93
+ OK = 0,
94
+ ERROR = 1
95
+ }
96
+
97
+ export namespace Type {
98
+ export const codec = () => {
99
+ return enumeration<typeof Type>(__TypeValues)
100
+ }
101
+ }
102
+
103
+ export const codec = (): Codec<Response> => {
104
+ return message<Response>({
105
+ 1: { name: 'type', codec: Response.Type.codec() },
106
+ 2: { name: 'error', codec: ErrorResponse.codec(), optional: true },
107
+ 3: { name: 'streamInfo', codec: StreamInfo.codec(), optional: true },
108
+ 4: { name: 'identify', codec: IdentifyResponse.codec(), optional: true },
109
+ 5: { name: 'dht', codec: DHTResponse.codec(), optional: true },
110
+ 6: { name: 'peers', codec: PeerInfo.codec(), repeats: true },
111
+ 7: { name: 'pubsub', codec: PSResponse.codec(), optional: true },
112
+ 8: { name: 'peerStore', codec: PeerstoreResponse.codec(), optional: true }
113
+ })
114
+ }
115
+
116
+ export const encode = (obj: Response): Uint8Array => {
117
+ return encodeMessage(obj, Response.codec())
118
+ }
119
+
120
+ export const decode = (buf: Uint8Array): Response => {
121
+ return decodeMessage(buf, Response.codec())
122
+ }
123
+ }
5
124
 
6
125
  export interface IdentifyResponse {
7
126
  id: Uint8Array
@@ -9,17 +128,19 @@ export interface IdentifyResponse {
9
128
  }
10
129
 
11
130
  export namespace IdentifyResponse {
12
- export const codec = message<IdentifyResponse>({
13
- 1: { name: 'id', codec: bytes },
14
- 2: { name: 'addrs', codec: bytes, repeats: true }
15
- })
131
+ export const codec = (): Codec<IdentifyResponse> => {
132
+ return message<IdentifyResponse>({
133
+ 1: { name: 'id', codec: bytes },
134
+ 2: { name: 'addrs', codec: bytes, repeats: true }
135
+ })
136
+ }
16
137
 
17
138
  export const encode = (obj: IdentifyResponse): Uint8Array => {
18
- return encodeMessage(obj, IdentifyResponse.codec)
139
+ return encodeMessage(obj, IdentifyResponse.codec())
19
140
  }
20
141
 
21
142
  export const decode = (buf: Uint8Array): IdentifyResponse => {
22
- return decodeMessage(buf, IdentifyResponse.codec)
143
+ return decodeMessage(buf, IdentifyResponse.codec())
23
144
  }
24
145
  }
25
146
 
@@ -30,18 +151,20 @@ export interface ConnectRequest {
30
151
  }
31
152
 
32
153
  export namespace ConnectRequest {
33
- export const codec = message<ConnectRequest>({
34
- 1: { name: 'peer', codec: bytes },
35
- 2: { name: 'addrs', codec: bytes, repeats: true },
36
- 3: { name: 'timeout', codec: int64, optional: true }
37
- })
154
+ export const codec = (): Codec<ConnectRequest> => {
155
+ return message<ConnectRequest>({
156
+ 1: { name: 'peer', codec: bytes },
157
+ 2: { name: 'addrs', codec: bytes, repeats: true },
158
+ 3: { name: 'timeout', codec: int64, optional: true }
159
+ })
160
+ }
38
161
 
39
162
  export const encode = (obj: ConnectRequest): Uint8Array => {
40
- return encodeMessage(obj, ConnectRequest.codec)
163
+ return encodeMessage(obj, ConnectRequest.codec())
41
164
  }
42
165
 
43
166
  export const decode = (buf: Uint8Array): ConnectRequest => {
44
- return decodeMessage(buf, ConnectRequest.codec)
167
+ return decodeMessage(buf, ConnectRequest.codec())
45
168
  }
46
169
  }
47
170
 
@@ -52,18 +175,20 @@ export interface StreamOpenRequest {
52
175
  }
53
176
 
54
177
  export namespace StreamOpenRequest {
55
- export const codec = message<StreamOpenRequest>({
56
- 1: { name: 'peer', codec: bytes },
57
- 2: { name: 'proto', codec: string, repeats: true },
58
- 3: { name: 'timeout', codec: int64, optional: true }
59
- })
178
+ export const codec = (): Codec<StreamOpenRequest> => {
179
+ return message<StreamOpenRequest>({
180
+ 1: { name: 'peer', codec: bytes },
181
+ 2: { name: 'proto', codec: string, repeats: true },
182
+ 3: { name: 'timeout', codec: int64, optional: true }
183
+ })
184
+ }
60
185
 
61
186
  export const encode = (obj: StreamOpenRequest): Uint8Array => {
62
- return encodeMessage(obj, StreamOpenRequest.codec)
187
+ return encodeMessage(obj, StreamOpenRequest.codec())
63
188
  }
64
189
 
65
190
  export const decode = (buf: Uint8Array): StreamOpenRequest => {
66
- return decodeMessage(buf, StreamOpenRequest.codec)
191
+ return decodeMessage(buf, StreamOpenRequest.codec())
67
192
  }
68
193
  }
69
194
 
@@ -73,17 +198,19 @@ export interface StreamHandlerRequest {
73
198
  }
74
199
 
75
200
  export namespace StreamHandlerRequest {
76
- export const codec = message<StreamHandlerRequest>({
77
- 1: { name: 'addr', codec: bytes },
78
- 2: { name: 'proto', codec: string, repeats: true }
79
- })
201
+ export const codec = (): Codec<StreamHandlerRequest> => {
202
+ return message<StreamHandlerRequest>({
203
+ 1: { name: 'addr', codec: bytes },
204
+ 2: { name: 'proto', codec: string, repeats: true }
205
+ })
206
+ }
80
207
 
81
208
  export const encode = (obj: StreamHandlerRequest): Uint8Array => {
82
- return encodeMessage(obj, StreamHandlerRequest.codec)
209
+ return encodeMessage(obj, StreamHandlerRequest.codec())
83
210
  }
84
211
 
85
212
  export const decode = (buf: Uint8Array): StreamHandlerRequest => {
86
- return decodeMessage(buf, StreamHandlerRequest.codec)
213
+ return decodeMessage(buf, StreamHandlerRequest.codec())
87
214
  }
88
215
  }
89
216
 
@@ -92,16 +219,18 @@ export interface ErrorResponse {
92
219
  }
93
220
 
94
221
  export namespace ErrorResponse {
95
- export const codec = message<ErrorResponse>({
96
- 1: { name: 'msg', codec: string }
97
- })
222
+ export const codec = (): Codec<ErrorResponse> => {
223
+ return message<ErrorResponse>({
224
+ 1: { name: 'msg', codec: string }
225
+ })
226
+ }
98
227
 
99
228
  export const encode = (obj: ErrorResponse): Uint8Array => {
100
- return encodeMessage(obj, ErrorResponse.codec)
229
+ return encodeMessage(obj, ErrorResponse.codec())
101
230
  }
102
231
 
103
232
  export const decode = (buf: Uint8Array): ErrorResponse => {
104
- return decodeMessage(buf, ErrorResponse.codec)
233
+ return decodeMessage(buf, ErrorResponse.codec())
105
234
  }
106
235
  }
107
236
 
@@ -112,18 +241,20 @@ export interface StreamInfo {
112
241
  }
113
242
 
114
243
  export namespace StreamInfo {
115
- export const codec = message<StreamInfo>({
116
- 1: { name: 'peer', codec: bytes },
117
- 2: { name: 'addr', codec: bytes },
118
- 3: { name: 'proto', codec: string }
119
- })
244
+ export const codec = (): Codec<StreamInfo> => {
245
+ return message<StreamInfo>({
246
+ 1: { name: 'peer', codec: bytes },
247
+ 2: { name: 'addr', codec: bytes },
248
+ 3: { name: 'proto', codec: string }
249
+ })
250
+ }
120
251
 
121
252
  export const encode = (obj: StreamInfo): Uint8Array => {
122
- return encodeMessage(obj, StreamInfo.codec)
253
+ return encodeMessage(obj, StreamInfo.codec())
123
254
  }
124
255
 
125
256
  export const decode = (buf: Uint8Array): StreamInfo => {
126
- return decodeMessage(buf, StreamInfo.codec)
257
+ return decodeMessage(buf, StreamInfo.codec())
127
258
  }
128
259
  }
129
260
 
@@ -150,46 +281,42 @@ export namespace DHTRequest {
150
281
  PROVIDE = 'PROVIDE'
151
282
  }
152
283
 
153
- export namespace Type {
154
- export const codec = enumeration<typeof Type>(Type)
284
+ enum __TypeValues {
285
+ FIND_PEER = 0,
286
+ FIND_PEERS_CONNECTED_TO_PEER = 1,
287
+ FIND_PROVIDERS = 2,
288
+ GET_CLOSEST_PEERS = 3,
289
+ GET_PUBLIC_KEY = 4,
290
+ GET_VALUE = 5,
291
+ SEARCH_VALUE = 6,
292
+ PUT_VALUE = 7,
293
+ PROVIDE = 8
155
294
  }
156
295
 
157
- export const codec = message<DHTRequest>({
158
- 1: { name: 'type', codec: DHTRequest.Type.codec },
159
- 2: { name: 'peer', codec: bytes, optional: true },
160
- 3: { name: 'cid', codec: bytes, optional: true },
161
- 4: { name: 'key', codec: bytes, optional: true },
162
- 5: { name: 'value', codec: bytes, optional: true },
163
- 6: { name: 'count', codec: int32, optional: true },
164
- 7: { name: 'timeout', codec: int64, optional: true }
165
- })
166
-
167
- export const encode = (obj: DHTRequest): Uint8Array => {
168
- return encodeMessage(obj, DHTRequest.codec)
296
+ export namespace Type {
297
+ export const codec = () => {
298
+ return enumeration<typeof Type>(__TypeValues)
299
+ }
169
300
  }
170
301
 
171
- export const decode = (buf: Uint8Array): DHTRequest => {
172
- return decodeMessage(buf, DHTRequest.codec)
302
+ export const codec = (): Codec<DHTRequest> => {
303
+ return message<DHTRequest>({
304
+ 1: { name: 'type', codec: DHTRequest.Type.codec() },
305
+ 2: { name: 'peer', codec: bytes, optional: true },
306
+ 3: { name: 'cid', codec: bytes, optional: true },
307
+ 4: { name: 'key', codec: bytes, optional: true },
308
+ 5: { name: 'value', codec: bytes, optional: true },
309
+ 6: { name: 'count', codec: int32, optional: true },
310
+ 7: { name: 'timeout', codec: int64, optional: true }
311
+ })
173
312
  }
174
- }
175
313
 
176
- export interface PeerInfo {
177
- id: Uint8Array
178
- addrs: Uint8Array[]
179
- }
180
-
181
- export namespace PeerInfo {
182
- export const codec = message<PeerInfo>({
183
- 1: { name: 'id', codec: bytes },
184
- 2: { name: 'addrs', codec: bytes, repeats: true }
185
- })
186
-
187
- export const encode = (obj: PeerInfo): Uint8Array => {
188
- return encodeMessage(obj, PeerInfo.codec)
314
+ export const encode = (obj: DHTRequest): Uint8Array => {
315
+ return encodeMessage(obj, DHTRequest.codec())
189
316
  }
190
317
 
191
- export const decode = (buf: Uint8Array): PeerInfo => {
192
- return decodeMessage(buf, PeerInfo.codec)
318
+ export const decode = (buf: Uint8Array): DHTRequest => {
319
+ return decodeMessage(buf, DHTRequest.codec())
193
320
  }
194
321
  }
195
322
 
@@ -206,22 +333,54 @@ export namespace DHTResponse {
206
333
  END = 'END'
207
334
  }
208
335
 
336
+ enum __TypeValues {
337
+ BEGIN = 0,
338
+ VALUE = 1,
339
+ END = 2
340
+ }
341
+
209
342
  export namespace Type {
210
- export const codec = enumeration<typeof Type>(Type)
343
+ export const codec = () => {
344
+ return enumeration<typeof Type>(__TypeValues)
345
+ }
211
346
  }
212
347
 
213
- export const codec = message<DHTResponse>({
214
- 1: { name: 'type', codec: DHTResponse.Type.codec },
215
- 2: { name: 'peer', codec: PeerInfo.codec, optional: true },
216
- 3: { name: 'value', codec: bytes, optional: true }
217
- })
348
+ export const codec = (): Codec<DHTResponse> => {
349
+ return message<DHTResponse>({
350
+ 1: { name: 'type', codec: DHTResponse.Type.codec() },
351
+ 2: { name: 'peer', codec: PeerInfo.codec(), optional: true },
352
+ 3: { name: 'value', codec: bytes, optional: true }
353
+ })
354
+ }
218
355
 
219
356
  export const encode = (obj: DHTResponse): Uint8Array => {
220
- return encodeMessage(obj, DHTResponse.codec)
357
+ return encodeMessage(obj, DHTResponse.codec())
221
358
  }
222
359
 
223
360
  export const decode = (buf: Uint8Array): DHTResponse => {
224
- return decodeMessage(buf, DHTResponse.codec)
361
+ return decodeMessage(buf, DHTResponse.codec())
362
+ }
363
+ }
364
+
365
+ export interface PeerInfo {
366
+ id: Uint8Array
367
+ addrs: Uint8Array[]
368
+ }
369
+
370
+ export namespace PeerInfo {
371
+ export const codec = (): Codec<PeerInfo> => {
372
+ return message<PeerInfo>({
373
+ 1: { name: 'id', codec: bytes },
374
+ 2: { name: 'addrs', codec: bytes, repeats: true }
375
+ })
376
+ }
377
+
378
+ export const encode = (obj: PeerInfo): Uint8Array => {
379
+ return encodeMessage(obj, PeerInfo.codec())
380
+ }
381
+
382
+ export const decode = (buf: Uint8Array): PeerInfo => {
383
+ return decodeMessage(buf, PeerInfo.codec())
225
384
  }
226
385
  }
227
386
 
@@ -239,23 +398,33 @@ export namespace ConnManagerRequest {
239
398
  TRIM = 'TRIM'
240
399
  }
241
400
 
401
+ enum __TypeValues {
402
+ TAG_PEER = 0,
403
+ UNTAG_PEER = 1,
404
+ TRIM = 2
405
+ }
406
+
242
407
  export namespace Type {
243
- export const codec = enumeration<typeof Type>(Type)
408
+ export const codec = () => {
409
+ return enumeration<typeof Type>(__TypeValues)
410
+ }
244
411
  }
245
412
 
246
- export const codec = message<ConnManagerRequest>({
247
- 1: { name: 'type', codec: ConnManagerRequest.Type.codec },
248
- 2: { name: 'peer', codec: bytes, optional: true },
249
- 3: { name: 'tag', codec: string, optional: true },
250
- 4: { name: 'weight', codec: int64, optional: true }
251
- })
413
+ export const codec = (): Codec<ConnManagerRequest> => {
414
+ return message<ConnManagerRequest>({
415
+ 1: { name: 'type', codec: ConnManagerRequest.Type.codec() },
416
+ 2: { name: 'peer', codec: bytes, optional: true },
417
+ 3: { name: 'tag', codec: string, optional: true },
418
+ 4: { name: 'weight', codec: int64, optional: true }
419
+ })
420
+ }
252
421
 
253
422
  export const encode = (obj: ConnManagerRequest): Uint8Array => {
254
- return encodeMessage(obj, ConnManagerRequest.codec)
423
+ return encodeMessage(obj, ConnManagerRequest.codec())
255
424
  }
256
425
 
257
426
  export const decode = (buf: Uint8Array): ConnManagerRequest => {
258
- return decodeMessage(buf, ConnManagerRequest.codec)
427
+ return decodeMessage(buf, ConnManagerRequest.codec())
259
428
  }
260
429
  }
261
430
 
@@ -264,16 +433,18 @@ export interface DisconnectRequest {
264
433
  }
265
434
 
266
435
  export namespace DisconnectRequest {
267
- export const codec = message<DisconnectRequest>({
268
- 1: { name: 'peer', codec: bytes }
269
- })
436
+ export const codec = (): Codec<DisconnectRequest> => {
437
+ return message<DisconnectRequest>({
438
+ 1: { name: 'peer', codec: bytes }
439
+ })
440
+ }
270
441
 
271
442
  export const encode = (obj: DisconnectRequest): Uint8Array => {
272
- return encodeMessage(obj, DisconnectRequest.codec)
443
+ return encodeMessage(obj, DisconnectRequest.codec())
273
444
  }
274
445
 
275
446
  export const decode = (buf: Uint8Array): DisconnectRequest => {
276
- return decodeMessage(buf, DisconnectRequest.codec)
447
+ return decodeMessage(buf, DisconnectRequest.codec())
277
448
  }
278
449
  }
279
450
 
@@ -291,22 +462,33 @@ export namespace PSRequest {
291
462
  SUBSCRIBE = 'SUBSCRIBE'
292
463
  }
293
464
 
465
+ enum __TypeValues {
466
+ GET_TOPICS = 0,
467
+ LIST_PEERS = 1,
468
+ PUBLISH = 2,
469
+ SUBSCRIBE = 3
470
+ }
471
+
294
472
  export namespace Type {
295
- export const codec = enumeration<typeof Type>(Type)
473
+ export const codec = () => {
474
+ return enumeration<typeof Type>(__TypeValues)
475
+ }
296
476
  }
297
477
 
298
- export const codec = message<PSRequest>({
299
- 1: { name: 'type', codec: PSRequest.Type.codec },
300
- 2: { name: 'topic', codec: string, optional: true },
301
- 3: { name: 'data', codec: bytes, optional: true }
302
- })
478
+ export const codec = (): Codec<PSRequest> => {
479
+ return message<PSRequest>({
480
+ 1: { name: 'type', codec: PSRequest.Type.codec() },
481
+ 2: { name: 'topic', codec: string, optional: true },
482
+ 3: { name: 'data', codec: bytes, optional: true }
483
+ })
484
+ }
303
485
 
304
486
  export const encode = (obj: PSRequest): Uint8Array => {
305
- return encodeMessage(obj, PSRequest.codec)
487
+ return encodeMessage(obj, PSRequest.codec())
306
488
  }
307
489
 
308
490
  export const decode = (buf: Uint8Array): PSRequest => {
309
- return decodeMessage(buf, PSRequest.codec)
491
+ return decodeMessage(buf, PSRequest.codec())
310
492
  }
311
493
  }
312
494
 
@@ -320,21 +502,23 @@ export interface PSMessage {
320
502
  }
321
503
 
322
504
  export namespace PSMessage {
323
- export const codec = message<PSMessage>({
324
- 1: { name: 'from', codec: bytes, optional: true },
325
- 2: { name: 'data', codec: bytes, optional: true },
326
- 3: { name: 'seqno', codec: bytes, optional: true },
327
- 4: { name: 'topicIDs', codec: string, repeats: true },
328
- 5: { name: 'signature', codec: bytes, optional: true },
329
- 6: { name: 'key', codec: bytes, optional: true }
330
- })
505
+ export const codec = (): Codec<PSMessage> => {
506
+ return message<PSMessage>({
507
+ 1: { name: 'from', codec: bytes, optional: true },
508
+ 2: { name: 'data', codec: bytes, optional: true },
509
+ 3: { name: 'seqno', codec: bytes, optional: true },
510
+ 4: { name: 'topicIDs', codec: string, repeats: true },
511
+ 5: { name: 'signature', codec: bytes, optional: true },
512
+ 6: { name: 'key', codec: bytes, optional: true }
513
+ })
514
+ }
331
515
 
332
516
  export const encode = (obj: PSMessage): Uint8Array => {
333
- return encodeMessage(obj, PSMessage.codec)
517
+ return encodeMessage(obj, PSMessage.codec())
334
518
  }
335
519
 
336
520
  export const decode = (buf: Uint8Array): PSMessage => {
337
- return decodeMessage(buf, PSMessage.codec)
521
+ return decodeMessage(buf, PSMessage.codec())
338
522
  }
339
523
  }
340
524
 
@@ -344,17 +528,19 @@ export interface PSResponse {
344
528
  }
345
529
 
346
530
  export namespace PSResponse {
347
- export const codec = message<PSResponse>({
348
- 1: { name: 'topics', codec: string, repeats: true },
349
- 2: { name: 'peerIDs', codec: bytes, repeats: true }
350
- })
531
+ export const codec = (): Codec<PSResponse> => {
532
+ return message<PSResponse>({
533
+ 1: { name: 'topics', codec: string, repeats: true },
534
+ 2: { name: 'peerIDs', codec: bytes, repeats: true }
535
+ })
536
+ }
351
537
 
352
538
  export const encode = (obj: PSResponse): Uint8Array => {
353
- return encodeMessage(obj, PSResponse.codec)
539
+ return encodeMessage(obj, PSResponse.codec())
354
540
  }
355
541
 
356
542
  export const decode = (buf: Uint8Array): PSResponse => {
357
- return decodeMessage(buf, PSResponse.codec)
543
+ return decodeMessage(buf, PSResponse.codec())
358
544
  }
359
545
  }
360
546
 
@@ -370,22 +556,31 @@ export namespace PeerstoreRequest {
370
556
  GET_PEER_INFO = 'GET_PEER_INFO'
371
557
  }
372
558
 
559
+ enum __TypeValues {
560
+ GET_PROTOCOLS = 1,
561
+ GET_PEER_INFO = 2
562
+ }
563
+
373
564
  export namespace Type {
374
- export const codec = enumeration<typeof Type>(Type)
565
+ export const codec = () => {
566
+ return enumeration<typeof Type>(__TypeValues)
567
+ }
375
568
  }
376
569
 
377
- export const codec = message<PeerstoreRequest>({
378
- 1: { name: 'type', codec: PeerstoreRequest.Type.codec },
379
- 2: { name: 'id', codec: bytes, optional: true },
380
- 3: { name: 'protos', codec: string, repeats: true }
381
- })
570
+ export const codec = (): Codec<PeerstoreRequest> => {
571
+ return message<PeerstoreRequest>({
572
+ 1: { name: 'type', codec: PeerstoreRequest.Type.codec() },
573
+ 2: { name: 'id', codec: bytes, optional: true },
574
+ 3: { name: 'protos', codec: string, repeats: true }
575
+ })
576
+ }
382
577
 
383
578
  export const encode = (obj: PeerstoreRequest): Uint8Array => {
384
- return encodeMessage(obj, PeerstoreRequest.codec)
579
+ return encodeMessage(obj, PeerstoreRequest.codec())
385
580
  }
386
581
 
387
582
  export const decode = (buf: Uint8Array): PeerstoreRequest => {
388
- return decodeMessage(buf, PeerstoreRequest.codec)
583
+ return decodeMessage(buf, PeerstoreRequest.codec())
389
584
  }
390
585
  }
391
586
 
@@ -395,108 +590,18 @@ export interface PeerstoreResponse {
395
590
  }
396
591
 
397
592
  export namespace PeerstoreResponse {
398
- export const codec = message<PeerstoreResponse>({
399
- 1: { name: 'peer', codec: PeerInfo.codec, optional: true },
400
- 2: { name: 'protos', codec: string, repeats: true }
401
- })
593
+ export const codec = (): Codec<PeerstoreResponse> => {
594
+ return message<PeerstoreResponse>({
595
+ 1: { name: 'peer', codec: PeerInfo.codec(), optional: true },
596
+ 2: { name: 'protos', codec: string, repeats: true }
597
+ })
598
+ }
402
599
 
403
600
  export const encode = (obj: PeerstoreResponse): Uint8Array => {
404
- return encodeMessage(obj, PeerstoreResponse.codec)
601
+ return encodeMessage(obj, PeerstoreResponse.codec())
405
602
  }
406
603
 
407
604
  export const decode = (buf: Uint8Array): PeerstoreResponse => {
408
- return decodeMessage(buf, PeerstoreResponse.codec)
409
- }
410
- }
411
-
412
- export interface Request {
413
- type: Request.Type
414
- connect?: ConnectRequest
415
- streamOpen?: StreamOpenRequest
416
- streamHandler?: StreamHandlerRequest
417
- dht?: DHTRequest
418
- connManager?: ConnManagerRequest
419
- disconnect?: DisconnectRequest
420
- pubsub?: PSRequest
421
- peerStore?: PeerstoreRequest
422
- }
423
-
424
- export namespace Request {
425
- export enum Type {
426
- IDENTIFY = 'IDENTIFY',
427
- CONNECT = 'CONNECT',
428
- STREAM_OPEN = 'STREAM_OPEN',
429
- STREAM_HANDLER = 'STREAM_HANDLER',
430
- DHT = 'DHT',
431
- LIST_PEERS = 'LIST_PEERS',
432
- CONNMANAGER = 'CONNMANAGER',
433
- DISCONNECT = 'DISCONNECT',
434
- PUBSUB = 'PUBSUB',
435
- PEERSTORE = 'PEERSTORE'
436
- }
437
-
438
- export namespace Type {
439
- export const codec = enumeration<typeof Type>(Type)
440
- }
441
-
442
- export const codec = message<Request>({
443
- 1: { name: 'type', codec: Request.Type.codec },
444
- 2: { name: 'connect', codec: ConnectRequest.codec, optional: true },
445
- 3: { name: 'streamOpen', codec: StreamOpenRequest.codec, optional: true },
446
- 4: { name: 'streamHandler', codec: StreamHandlerRequest.codec, optional: true },
447
- 5: { name: 'dht', codec: DHTRequest.codec, optional: true },
448
- 6: { name: 'connManager', codec: ConnManagerRequest.codec, optional: true },
449
- 7: { name: 'disconnect', codec: DisconnectRequest.codec, optional: true },
450
- 8: { name: 'pubsub', codec: PSRequest.codec, optional: true },
451
- 9: { name: 'peerStore', codec: PeerstoreRequest.codec, optional: true }
452
- })
453
-
454
- export const encode = (obj: Request): Uint8Array => {
455
- return encodeMessage(obj, Request.codec)
456
- }
457
-
458
- export const decode = (buf: Uint8Array): Request => {
459
- return decodeMessage(buf, Request.codec)
460
- }
461
- }
462
-
463
- export interface Response {
464
- type: Response.Type
465
- error?: ErrorResponse
466
- streamInfo?: StreamInfo
467
- identify?: IdentifyResponse
468
- dht?: DHTResponse
469
- peers: PeerInfo[]
470
- pubsub?: PSResponse
471
- peerStore?: PeerstoreResponse
472
- }
473
-
474
- export namespace Response {
475
- export enum Type {
476
- OK = 'OK',
477
- ERROR = 'ERROR'
478
- }
479
-
480
- export namespace Type {
481
- export const codec = enumeration<typeof Type>(Type)
482
- }
483
-
484
- export const codec = message<Response>({
485
- 1: { name: 'type', codec: Response.Type.codec },
486
- 2: { name: 'error', codec: ErrorResponse.codec, optional: true },
487
- 3: { name: 'streamInfo', codec: StreamInfo.codec, optional: true },
488
- 4: { name: 'identify', codec: IdentifyResponse.codec, optional: true },
489
- 5: { name: 'dht', codec: DHTResponse.codec, optional: true },
490
- 6: { name: 'peers', codec: PeerInfo.codec, repeats: true },
491
- 7: { name: 'pubsub', codec: PSResponse.codec, optional: true },
492
- 8: { name: 'peerStore', codec: PeerstoreResponse.codec, optional: true }
493
- })
494
-
495
- export const encode = (obj: Response): Uint8Array => {
496
- return encodeMessage(obj, Response.codec)
497
- }
498
-
499
- export const decode = (buf: Uint8Array): Response => {
500
- return decodeMessage(buf, Response.codec)
605
+ return decodeMessage(buf, PeerstoreResponse.codec())
501
606
  }
502
607
  }