@libp2p/daemon-protocol 1.0.2 → 1.0.3

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
@@ -3,23 +3,125 @@
3
3
 
4
4
  import { enumeration, encodeMessage, decodeMessage, message, bytes, int64, string, int32 } from 'protons-runtime'
5
5
 
6
+ export interface Request {
7
+ type: Request.Type
8
+ connect?: ConnectRequest
9
+ streamOpen?: StreamOpenRequest
10
+ streamHandler?: StreamHandlerRequest
11
+ dht?: DHTRequest
12
+ connManager?: ConnManagerRequest
13
+ disconnect?: DisconnectRequest
14
+ pubsub?: PSRequest
15
+ peerStore?: PeerstoreRequest
16
+ }
17
+
18
+ export namespace Request {
19
+ export enum Type {
20
+ IDENTIFY = 'IDENTIFY',
21
+ CONNECT = 'CONNECT',
22
+ STREAM_OPEN = 'STREAM_OPEN',
23
+ STREAM_HANDLER = 'STREAM_HANDLER',
24
+ DHT = 'DHT',
25
+ LIST_PEERS = 'LIST_PEERS',
26
+ CONNMANAGER = 'CONNMANAGER',
27
+ DISCONNECT = 'DISCONNECT',
28
+ PUBSUB = 'PUBSUB',
29
+ PEERSTORE = 'PEERSTORE'
30
+ }
31
+
32
+ export namespace Type {
33
+ export const codec = () => {
34
+ return enumeration<typeof Type>(Type)
35
+ }
36
+ }
37
+
38
+ export const codec = () => {
39
+ return message<Request>({
40
+ 1: { name: 'type', codec: Request.Type.codec() },
41
+ 2: { name: 'connect', codec: ConnectRequest.codec(), optional: true },
42
+ 3: { name: 'streamOpen', codec: StreamOpenRequest.codec(), optional: true },
43
+ 4: { name: 'streamHandler', codec: StreamHandlerRequest.codec(), optional: true },
44
+ 5: { name: 'dht', codec: DHTRequest.codec(), optional: true },
45
+ 6: { name: 'connManager', codec: ConnManagerRequest.codec(), optional: true },
46
+ 7: { name: 'disconnect', codec: DisconnectRequest.codec(), optional: true },
47
+ 8: { name: 'pubsub', codec: PSRequest.codec(), optional: true },
48
+ 9: { name: 'peerStore', codec: PeerstoreRequest.codec(), optional: true }
49
+ })
50
+ }
51
+
52
+ export const encode = (obj: Request): Uint8Array => {
53
+ return encodeMessage(obj, Request.codec())
54
+ }
55
+
56
+ export const decode = (buf: Uint8Array): Request => {
57
+ return decodeMessage(buf, Request.codec())
58
+ }
59
+ }
60
+
61
+ export interface Response {
62
+ type: Response.Type
63
+ error?: ErrorResponse
64
+ streamInfo?: StreamInfo
65
+ identify?: IdentifyResponse
66
+ dht?: DHTResponse
67
+ peers: PeerInfo[]
68
+ pubsub?: PSResponse
69
+ peerStore?: PeerstoreResponse
70
+ }
71
+
72
+ export namespace Response {
73
+ export enum Type {
74
+ OK = 'OK',
75
+ ERROR = 'ERROR'
76
+ }
77
+
78
+ export namespace Type {
79
+ export const codec = () => {
80
+ return enumeration<typeof Type>(Type)
81
+ }
82
+ }
83
+
84
+ export const codec = () => {
85
+ return message<Response>({
86
+ 1: { name: 'type', codec: Response.Type.codec() },
87
+ 2: { name: 'error', codec: ErrorResponse.codec(), optional: true },
88
+ 3: { name: 'streamInfo', codec: StreamInfo.codec(), optional: true },
89
+ 4: { name: 'identify', codec: IdentifyResponse.codec(), optional: true },
90
+ 5: { name: 'dht', codec: DHTResponse.codec(), optional: true },
91
+ 6: { name: 'peers', codec: PeerInfo.codec(), repeats: true },
92
+ 7: { name: 'pubsub', codec: PSResponse.codec(), optional: true },
93
+ 8: { name: 'peerStore', codec: PeerstoreResponse.codec(), optional: true }
94
+ })
95
+ }
96
+
97
+ export const encode = (obj: Response): Uint8Array => {
98
+ return encodeMessage(obj, Response.codec())
99
+ }
100
+
101
+ export const decode = (buf: Uint8Array): Response => {
102
+ return decodeMessage(buf, Response.codec())
103
+ }
104
+ }
105
+
6
106
  export interface IdentifyResponse {
7
107
  id: Uint8Array
8
108
  addrs: Uint8Array[]
9
109
  }
10
110
 
11
111
  export namespace IdentifyResponse {
12
- export const codec = message<IdentifyResponse>({
13
- 1: { name: 'id', codec: bytes },
14
- 2: { name: 'addrs', codec: bytes, repeats: true }
15
- })
112
+ export const codec = () => {
113
+ return message<IdentifyResponse>({
114
+ 1: { name: 'id', codec: bytes },
115
+ 2: { name: 'addrs', codec: bytes, repeats: true }
116
+ })
117
+ }
16
118
 
17
119
  export const encode = (obj: IdentifyResponse): Uint8Array => {
18
- return encodeMessage(obj, IdentifyResponse.codec)
120
+ return encodeMessage(obj, IdentifyResponse.codec())
19
121
  }
20
122
 
21
123
  export const decode = (buf: Uint8Array): IdentifyResponse => {
22
- return decodeMessage(buf, IdentifyResponse.codec)
124
+ return decodeMessage(buf, IdentifyResponse.codec())
23
125
  }
24
126
  }
25
127
 
@@ -30,18 +132,20 @@ export interface ConnectRequest {
30
132
  }
31
133
 
32
134
  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
- })
135
+ export const codec = () => {
136
+ return message<ConnectRequest>({
137
+ 1: { name: 'peer', codec: bytes },
138
+ 2: { name: 'addrs', codec: bytes, repeats: true },
139
+ 3: { name: 'timeout', codec: int64, optional: true }
140
+ })
141
+ }
38
142
 
39
143
  export const encode = (obj: ConnectRequest): Uint8Array => {
40
- return encodeMessage(obj, ConnectRequest.codec)
144
+ return encodeMessage(obj, ConnectRequest.codec())
41
145
  }
42
146
 
43
147
  export const decode = (buf: Uint8Array): ConnectRequest => {
44
- return decodeMessage(buf, ConnectRequest.codec)
148
+ return decodeMessage(buf, ConnectRequest.codec())
45
149
  }
46
150
  }
47
151
 
@@ -52,18 +156,20 @@ export interface StreamOpenRequest {
52
156
  }
53
157
 
54
158
  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
- })
159
+ export const codec = () => {
160
+ return message<StreamOpenRequest>({
161
+ 1: { name: 'peer', codec: bytes },
162
+ 2: { name: 'proto', codec: string, repeats: true },
163
+ 3: { name: 'timeout', codec: int64, optional: true }
164
+ })
165
+ }
60
166
 
61
167
  export const encode = (obj: StreamOpenRequest): Uint8Array => {
62
- return encodeMessage(obj, StreamOpenRequest.codec)
168
+ return encodeMessage(obj, StreamOpenRequest.codec())
63
169
  }
64
170
 
65
171
  export const decode = (buf: Uint8Array): StreamOpenRequest => {
66
- return decodeMessage(buf, StreamOpenRequest.codec)
172
+ return decodeMessage(buf, StreamOpenRequest.codec())
67
173
  }
68
174
  }
69
175
 
@@ -73,17 +179,19 @@ export interface StreamHandlerRequest {
73
179
  }
74
180
 
75
181
  export namespace StreamHandlerRequest {
76
- export const codec = message<StreamHandlerRequest>({
77
- 1: { name: 'addr', codec: bytes },
78
- 2: { name: 'proto', codec: string, repeats: true }
79
- })
182
+ export const codec = () => {
183
+ return message<StreamHandlerRequest>({
184
+ 1: { name: 'addr', codec: bytes },
185
+ 2: { name: 'proto', codec: string, repeats: true }
186
+ })
187
+ }
80
188
 
81
189
  export const encode = (obj: StreamHandlerRequest): Uint8Array => {
82
- return encodeMessage(obj, StreamHandlerRequest.codec)
190
+ return encodeMessage(obj, StreamHandlerRequest.codec())
83
191
  }
84
192
 
85
193
  export const decode = (buf: Uint8Array): StreamHandlerRequest => {
86
- return decodeMessage(buf, StreamHandlerRequest.codec)
194
+ return decodeMessage(buf, StreamHandlerRequest.codec())
87
195
  }
88
196
  }
89
197
 
@@ -92,16 +200,18 @@ export interface ErrorResponse {
92
200
  }
93
201
 
94
202
  export namespace ErrorResponse {
95
- export const codec = message<ErrorResponse>({
96
- 1: { name: 'msg', codec: string }
97
- })
203
+ export const codec = () => {
204
+ return message<ErrorResponse>({
205
+ 1: { name: 'msg', codec: string }
206
+ })
207
+ }
98
208
 
99
209
  export const encode = (obj: ErrorResponse): Uint8Array => {
100
- return encodeMessage(obj, ErrorResponse.codec)
210
+ return encodeMessage(obj, ErrorResponse.codec())
101
211
  }
102
212
 
103
213
  export const decode = (buf: Uint8Array): ErrorResponse => {
104
- return decodeMessage(buf, ErrorResponse.codec)
214
+ return decodeMessage(buf, ErrorResponse.codec())
105
215
  }
106
216
  }
107
217
 
@@ -112,18 +222,20 @@ export interface StreamInfo {
112
222
  }
113
223
 
114
224
  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
- })
225
+ export const codec = () => {
226
+ return message<StreamInfo>({
227
+ 1: { name: 'peer', codec: bytes },
228
+ 2: { name: 'addr', codec: bytes },
229
+ 3: { name: 'proto', codec: string }
230
+ })
231
+ }
120
232
 
121
233
  export const encode = (obj: StreamInfo): Uint8Array => {
122
- return encodeMessage(obj, StreamInfo.codec)
234
+ return encodeMessage(obj, StreamInfo.codec())
123
235
  }
124
236
 
125
237
  export const decode = (buf: Uint8Array): StreamInfo => {
126
- return decodeMessage(buf, StreamInfo.codec)
238
+ return decodeMessage(buf, StreamInfo.codec())
127
239
  }
128
240
  }
129
241
 
@@ -151,45 +263,29 @@ export namespace DHTRequest {
151
263
  }
152
264
 
153
265
  export namespace Type {
154
- export const codec = enumeration<typeof Type>(Type)
266
+ export const codec = () => {
267
+ return enumeration<typeof Type>(Type)
268
+ }
155
269
  }
156
270
 
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
- })
271
+ export const codec = () => {
272
+ return message<DHTRequest>({
273
+ 1: { name: 'type', codec: DHTRequest.Type.codec() },
274
+ 2: { name: 'peer', codec: bytes, optional: true },
275
+ 3: { name: 'cid', codec: bytes, optional: true },
276
+ 4: { name: 'key', codec: bytes, optional: true },
277
+ 5: { name: 'value', codec: bytes, optional: true },
278
+ 6: { name: 'count', codec: int32, optional: true },
279
+ 7: { name: 'timeout', codec: int64, optional: true }
280
+ })
281
+ }
166
282
 
167
283
  export const encode = (obj: DHTRequest): Uint8Array => {
168
- return encodeMessage(obj, DHTRequest.codec)
284
+ return encodeMessage(obj, DHTRequest.codec())
169
285
  }
170
286
 
171
287
  export const decode = (buf: Uint8Array): DHTRequest => {
172
- return decodeMessage(buf, DHTRequest.codec)
173
- }
174
- }
175
-
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)
189
- }
190
-
191
- export const decode = (buf: Uint8Array): PeerInfo => {
192
- return decodeMessage(buf, PeerInfo.codec)
288
+ return decodeMessage(buf, DHTRequest.codec())
193
289
  }
194
290
  }
195
291
 
@@ -207,21 +303,47 @@ export namespace DHTResponse {
207
303
  }
208
304
 
209
305
  export namespace Type {
210
- export const codec = enumeration<typeof Type>(Type)
306
+ export const codec = () => {
307
+ return enumeration<typeof Type>(Type)
308
+ }
211
309
  }
212
310
 
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
- })
311
+ export const codec = () => {
312
+ return message<DHTResponse>({
313
+ 1: { name: 'type', codec: DHTResponse.Type.codec() },
314
+ 2: { name: 'peer', codec: PeerInfo.codec(), optional: true },
315
+ 3: { name: 'value', codec: bytes, optional: true }
316
+ })
317
+ }
218
318
 
219
319
  export const encode = (obj: DHTResponse): Uint8Array => {
220
- return encodeMessage(obj, DHTResponse.codec)
320
+ return encodeMessage(obj, DHTResponse.codec())
221
321
  }
222
322
 
223
323
  export const decode = (buf: Uint8Array): DHTResponse => {
224
- return decodeMessage(buf, DHTResponse.codec)
324
+ return decodeMessage(buf, DHTResponse.codec())
325
+ }
326
+ }
327
+
328
+ export interface PeerInfo {
329
+ id: Uint8Array
330
+ addrs: Uint8Array[]
331
+ }
332
+
333
+ export namespace PeerInfo {
334
+ export const codec = () => {
335
+ return message<PeerInfo>({
336
+ 1: { name: 'id', codec: bytes },
337
+ 2: { name: 'addrs', codec: bytes, repeats: true }
338
+ })
339
+ }
340
+
341
+ export const encode = (obj: PeerInfo): Uint8Array => {
342
+ return encodeMessage(obj, PeerInfo.codec())
343
+ }
344
+
345
+ export const decode = (buf: Uint8Array): PeerInfo => {
346
+ return decodeMessage(buf, PeerInfo.codec())
225
347
  }
226
348
  }
227
349
 
@@ -240,22 +362,26 @@ export namespace ConnManagerRequest {
240
362
  }
241
363
 
242
364
  export namespace Type {
243
- export const codec = enumeration<typeof Type>(Type)
365
+ export const codec = () => {
366
+ return enumeration<typeof Type>(Type)
367
+ }
244
368
  }
245
369
 
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
- })
370
+ export const codec = () => {
371
+ return message<ConnManagerRequest>({
372
+ 1: { name: 'type', codec: ConnManagerRequest.Type.codec() },
373
+ 2: { name: 'peer', codec: bytes, optional: true },
374
+ 3: { name: 'tag', codec: string, optional: true },
375
+ 4: { name: 'weight', codec: int64, optional: true }
376
+ })
377
+ }
252
378
 
253
379
  export const encode = (obj: ConnManagerRequest): Uint8Array => {
254
- return encodeMessage(obj, ConnManagerRequest.codec)
380
+ return encodeMessage(obj, ConnManagerRequest.codec())
255
381
  }
256
382
 
257
383
  export const decode = (buf: Uint8Array): ConnManagerRequest => {
258
- return decodeMessage(buf, ConnManagerRequest.codec)
384
+ return decodeMessage(buf, ConnManagerRequest.codec())
259
385
  }
260
386
  }
261
387
 
@@ -264,16 +390,18 @@ export interface DisconnectRequest {
264
390
  }
265
391
 
266
392
  export namespace DisconnectRequest {
267
- export const codec = message<DisconnectRequest>({
268
- 1: { name: 'peer', codec: bytes }
269
- })
393
+ export const codec = () => {
394
+ return message<DisconnectRequest>({
395
+ 1: { name: 'peer', codec: bytes }
396
+ })
397
+ }
270
398
 
271
399
  export const encode = (obj: DisconnectRequest): Uint8Array => {
272
- return encodeMessage(obj, DisconnectRequest.codec)
400
+ return encodeMessage(obj, DisconnectRequest.codec())
273
401
  }
274
402
 
275
403
  export const decode = (buf: Uint8Array): DisconnectRequest => {
276
- return decodeMessage(buf, DisconnectRequest.codec)
404
+ return decodeMessage(buf, DisconnectRequest.codec())
277
405
  }
278
406
  }
279
407
 
@@ -292,21 +420,25 @@ export namespace PSRequest {
292
420
  }
293
421
 
294
422
  export namespace Type {
295
- export const codec = enumeration<typeof Type>(Type)
423
+ export const codec = () => {
424
+ return enumeration<typeof Type>(Type)
425
+ }
296
426
  }
297
427
 
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
- })
428
+ export const codec = () => {
429
+ return message<PSRequest>({
430
+ 1: { name: 'type', codec: PSRequest.Type.codec() },
431
+ 2: { name: 'topic', codec: string, optional: true },
432
+ 3: { name: 'data', codec: bytes, optional: true }
433
+ })
434
+ }
303
435
 
304
436
  export const encode = (obj: PSRequest): Uint8Array => {
305
- return encodeMessage(obj, PSRequest.codec)
437
+ return encodeMessage(obj, PSRequest.codec())
306
438
  }
307
439
 
308
440
  export const decode = (buf: Uint8Array): PSRequest => {
309
- return decodeMessage(buf, PSRequest.codec)
441
+ return decodeMessage(buf, PSRequest.codec())
310
442
  }
311
443
  }
312
444
 
@@ -320,21 +452,23 @@ export interface PSMessage {
320
452
  }
321
453
 
322
454
  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
- })
455
+ export const codec = () => {
456
+ return message<PSMessage>({
457
+ 1: { name: 'from', codec: bytes, optional: true },
458
+ 2: { name: 'data', codec: bytes, optional: true },
459
+ 3: { name: 'seqno', codec: bytes, optional: true },
460
+ 4: { name: 'topicIDs', codec: string, repeats: true },
461
+ 5: { name: 'signature', codec: bytes, optional: true },
462
+ 6: { name: 'key', codec: bytes, optional: true }
463
+ })
464
+ }
331
465
 
332
466
  export const encode = (obj: PSMessage): Uint8Array => {
333
- return encodeMessage(obj, PSMessage.codec)
467
+ return encodeMessage(obj, PSMessage.codec())
334
468
  }
335
469
 
336
470
  export const decode = (buf: Uint8Array): PSMessage => {
337
- return decodeMessage(buf, PSMessage.codec)
471
+ return decodeMessage(buf, PSMessage.codec())
338
472
  }
339
473
  }
340
474
 
@@ -344,17 +478,19 @@ export interface PSResponse {
344
478
  }
345
479
 
346
480
  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
- })
481
+ export const codec = () => {
482
+ return message<PSResponse>({
483
+ 1: { name: 'topics', codec: string, repeats: true },
484
+ 2: { name: 'peerIDs', codec: bytes, repeats: true }
485
+ })
486
+ }
351
487
 
352
488
  export const encode = (obj: PSResponse): Uint8Array => {
353
- return encodeMessage(obj, PSResponse.codec)
489
+ return encodeMessage(obj, PSResponse.codec())
354
490
  }
355
491
 
356
492
  export const decode = (buf: Uint8Array): PSResponse => {
357
- return decodeMessage(buf, PSResponse.codec)
493
+ return decodeMessage(buf, PSResponse.codec())
358
494
  }
359
495
  }
360
496
 
@@ -371,21 +507,25 @@ export namespace PeerstoreRequest {
371
507
  }
372
508
 
373
509
  export namespace Type {
374
- export const codec = enumeration<typeof Type>(Type)
510
+ export const codec = () => {
511
+ return enumeration<typeof Type>(Type)
512
+ }
375
513
  }
376
514
 
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
- })
515
+ export const codec = () => {
516
+ return message<PeerstoreRequest>({
517
+ 1: { name: 'type', codec: PeerstoreRequest.Type.codec() },
518
+ 2: { name: 'id', codec: bytes, optional: true },
519
+ 3: { name: 'protos', codec: string, repeats: true }
520
+ })
521
+ }
382
522
 
383
523
  export const encode = (obj: PeerstoreRequest): Uint8Array => {
384
- return encodeMessage(obj, PeerstoreRequest.codec)
524
+ return encodeMessage(obj, PeerstoreRequest.codec())
385
525
  }
386
526
 
387
527
  export const decode = (buf: Uint8Array): PeerstoreRequest => {
388
- return decodeMessage(buf, PeerstoreRequest.codec)
528
+ return decodeMessage(buf, PeerstoreRequest.codec())
389
529
  }
390
530
  }
391
531
 
@@ -395,108 +535,18 @@ export interface PeerstoreResponse {
395
535
  }
396
536
 
397
537
  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
- })
538
+ export const codec = () => {
539
+ return message<PeerstoreResponse>({
540
+ 1: { name: 'peer', codec: PeerInfo.codec(), optional: true },
541
+ 2: { name: 'protos', codec: string, repeats: true }
542
+ })
543
+ }
402
544
 
403
545
  export const encode = (obj: PeerstoreResponse): Uint8Array => {
404
- return encodeMessage(obj, PeerstoreResponse.codec)
546
+ return encodeMessage(obj, PeerstoreResponse.codec())
405
547
  }
406
548
 
407
549
  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)
550
+ return decodeMessage(buf, PeerstoreResponse.codec())
501
551
  }
502
552
  }