@libp2p/autonat 3.0.13 → 3.0.14-709b3fa2e

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/pb/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { decodeMessage, encodeMessage, enumeration, MaxLengthError, message } from 'protons-runtime'
1
+ import { decodeMessage, encodeMessage, enumeration, MaxLengthError, message, streamMessage } from 'protons-runtime'
2
2
  import type { Codec, DecodeOptions } from 'protons-runtime'
3
3
  import type { Uint8ArrayList } from 'uint8arraylist'
4
4
 
@@ -67,7 +67,7 @@ export namespace Message {
67
67
  w.bytes(obj.id)
68
68
  }
69
69
 
70
- if (obj.addrs != null) {
70
+ if (obj.addrs != null && obj.addrs.length > 0) {
71
71
  for (const value of obj.addrs) {
72
72
  w.uint32(18)
73
73
  w.bytes(value)
@@ -94,7 +94,7 @@ export namespace Message {
94
94
  }
95
95
  case 2: {
96
96
  if (opts.limits?.addrs != null && obj.addrs.length === opts.limits.addrs) {
97
- throw new MaxLengthError('Decode error - map field "addrs" had too many elements')
97
+ throw new MaxLengthError('Decode error - repeated field "addrs" had too many elements')
98
98
  }
99
99
 
100
100
  obj.addrs.push(reader.bytes())
@@ -108,19 +108,73 @@ export namespace Message {
108
108
  }
109
109
 
110
110
  return obj
111
+ }, function * (reader, length, prefix, opts = {}) {
112
+ const obj = {
113
+ addrs: 0
114
+ }
115
+
116
+ const end = length == null ? reader.len : reader.pos + length
117
+
118
+ while (reader.pos < end) {
119
+ const tag = reader.uint32()
120
+
121
+ switch (tag >>> 3) {
122
+ case 1: {
123
+ yield {
124
+ field: `${prefix}.id`,
125
+ value: reader.bytes()
126
+ }
127
+ break
128
+ }
129
+ case 2: {
130
+ if (opts.limits?.addrs != null && obj.addrs === opts.limits.addrs) {
131
+ throw new MaxLengthError('Streaming decode error - repeated field "addrs" had too many elements')
132
+ }
133
+
134
+ yield {
135
+ field: `${prefix}.addrs[]`,
136
+ index: obj.addrs,
137
+ value: reader.bytes()
138
+ }
139
+
140
+ obj.addrs++
141
+
142
+ break
143
+ }
144
+ default: {
145
+ reader.skipType(tag & 7)
146
+ break
147
+ }
148
+ }
149
+ }
111
150
  })
112
151
  }
113
152
 
114
153
  return _codec
115
154
  }
116
155
 
117
- export const encode = (obj: Partial<PeerInfo>): Uint8Array => {
156
+ export interface PeerInfoIdFieldEvent {
157
+ field: '$.id'
158
+ value: Uint8Array
159
+ }
160
+
161
+ export interface PeerInfoAddrsFieldEvent {
162
+ field: '$.addrs[]'
163
+ index: number
164
+ value: Uint8Array
165
+ }
166
+
167
+ export function encode (obj: Partial<PeerInfo>): Uint8Array {
118
168
  return encodeMessage(obj, PeerInfo.codec())
119
169
  }
120
170
 
121
- export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PeerInfo>): PeerInfo => {
171
+ export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PeerInfo>): PeerInfo {
122
172
  return decodeMessage(buf, PeerInfo.codec(), opts)
123
173
  }
174
+
175
+ export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PeerInfo>): Generator<PeerInfoIdFieldEvent | PeerInfoAddrsFieldEvent> {
176
+ return streamMessage(buf, PeerInfo.codec(), opts)
177
+ }
124
178
  }
125
179
 
126
180
  export interface Dial {
@@ -168,19 +222,54 @@ export namespace Message {
168
222
  }
169
223
 
170
224
  return obj
225
+ }, function * (reader, length, prefix, opts = {}) {
226
+ const end = length == null ? reader.len : reader.pos + length
227
+
228
+ while (reader.pos < end) {
229
+ const tag = reader.uint32()
230
+
231
+ switch (tag >>> 3) {
232
+ case 1: {
233
+ yield * Message.PeerInfo.codec().stream(reader, reader.uint32(), `${prefix}.peer`, {
234
+ limits: opts.limits?.peer
235
+ })
236
+
237
+ break
238
+ }
239
+ default: {
240
+ reader.skipType(tag & 7)
241
+ break
242
+ }
243
+ }
244
+ }
171
245
  })
172
246
  }
173
247
 
174
248
  return _codec
175
249
  }
176
250
 
177
- export const encode = (obj: Partial<Dial>): Uint8Array => {
251
+ export interface DialPeerIdFieldEvent {
252
+ field: '$.peer.id'
253
+ value: Uint8Array
254
+ }
255
+
256
+ export interface DialPeerAddrsFieldEvent {
257
+ field: '$.peer.addrs[]'
258
+ index: number
259
+ value: Uint8Array
260
+ }
261
+
262
+ export function encode (obj: Partial<Dial>): Uint8Array {
178
263
  return encodeMessage(obj, Dial.codec())
179
264
  }
180
265
 
181
- export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Dial>): Dial => {
266
+ export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Dial>): Dial {
182
267
  return decodeMessage(buf, Dial.codec(), opts)
183
268
  }
269
+
270
+ export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Dial>): Generator<DialPeerIdFieldEvent | DialPeerAddrsFieldEvent> {
271
+ return streamMessage(buf, Dial.codec(), opts)
272
+ }
184
273
  }
185
274
 
186
275
  export interface DialResponse {
@@ -246,19 +335,72 @@ export namespace Message {
246
335
  }
247
336
 
248
337
  return obj
338
+ }, function * (reader, length, prefix, opts = {}) {
339
+ const end = length == null ? reader.len : reader.pos + length
340
+
341
+ while (reader.pos < end) {
342
+ const tag = reader.uint32()
343
+
344
+ switch (tag >>> 3) {
345
+ case 1: {
346
+ yield {
347
+ field: `${prefix}.status`,
348
+ value: Message.ResponseStatus.codec().decode(reader)
349
+ }
350
+ break
351
+ }
352
+ case 2: {
353
+ yield {
354
+ field: `${prefix}.statusText`,
355
+ value: reader.string()
356
+ }
357
+ break
358
+ }
359
+ case 3: {
360
+ yield {
361
+ field: `${prefix}.addr`,
362
+ value: reader.bytes()
363
+ }
364
+ break
365
+ }
366
+ default: {
367
+ reader.skipType(tag & 7)
368
+ break
369
+ }
370
+ }
371
+ }
249
372
  })
250
373
  }
251
374
 
252
375
  return _codec
253
376
  }
254
377
 
255
- export const encode = (obj: Partial<DialResponse>): Uint8Array => {
378
+ export interface DialResponseStatusFieldEvent {
379
+ field: '$.status'
380
+ value: Message.ResponseStatus
381
+ }
382
+
383
+ export interface DialResponseStatusTextFieldEvent {
384
+ field: '$.statusText'
385
+ value: string
386
+ }
387
+
388
+ export interface DialResponseAddrFieldEvent {
389
+ field: '$.addr'
390
+ value: Uint8Array
391
+ }
392
+
393
+ export function encode (obj: Partial<DialResponse>): Uint8Array {
256
394
  return encodeMessage(obj, DialResponse.codec())
257
395
  }
258
396
 
259
- export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<DialResponse>): DialResponse => {
397
+ export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<DialResponse>): DialResponse {
260
398
  return decodeMessage(buf, DialResponse.codec(), opts)
261
399
  }
400
+
401
+ export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<DialResponse>): Generator<DialResponseStatusFieldEvent | DialResponseStatusTextFieldEvent | DialResponseAddrFieldEvent> {
402
+ return streamMessage(buf, DialResponse.codec(), opts)
403
+ }
262
404
  }
263
405
 
264
406
  let _codec: Codec<Message>
@@ -321,17 +463,86 @@ export namespace Message {
321
463
  }
322
464
 
323
465
  return obj
466
+ }, function * (reader, length, prefix, opts = {}) {
467
+ const end = length == null ? reader.len : reader.pos + length
468
+
469
+ while (reader.pos < end) {
470
+ const tag = reader.uint32()
471
+
472
+ switch (tag >>> 3) {
473
+ case 1: {
474
+ yield {
475
+ field: `${prefix}.type`,
476
+ value: Message.MessageType.codec().decode(reader)
477
+ }
478
+ break
479
+ }
480
+ case 2: {
481
+ yield * Message.Dial.codec().stream(reader, reader.uint32(), `${prefix}.dial`, {
482
+ limits: opts.limits?.dial
483
+ })
484
+
485
+ break
486
+ }
487
+ case 3: {
488
+ yield * Message.DialResponse.codec().stream(reader, reader.uint32(), `${prefix}.dialResponse`, {
489
+ limits: opts.limits?.dialResponse
490
+ })
491
+
492
+ break
493
+ }
494
+ default: {
495
+ reader.skipType(tag & 7)
496
+ break
497
+ }
498
+ }
499
+ }
324
500
  })
325
501
  }
326
502
 
327
503
  return _codec
328
504
  }
329
505
 
330
- export const encode = (obj: Partial<Message>): Uint8Array => {
506
+ export interface MessageTypeFieldEvent {
507
+ field: '$.type'
508
+ value: Message.MessageType
509
+ }
510
+
511
+ export interface MessageDialPeerIdFieldEvent {
512
+ field: '$.dial.peer.id'
513
+ value: Uint8Array
514
+ }
515
+
516
+ export interface MessageDialPeerAddrsFieldEvent {
517
+ field: '$.dial.peer.addrs[]'
518
+ index: number
519
+ value: Uint8Array
520
+ }
521
+
522
+ export interface MessageDialResponseStatusFieldEvent {
523
+ field: '$.dialResponse.status'
524
+ value: Message.ResponseStatus
525
+ }
526
+
527
+ export interface MessageDialResponseStatusTextFieldEvent {
528
+ field: '$.dialResponse.statusText'
529
+ value: string
530
+ }
531
+
532
+ export interface MessageDialResponseAddrFieldEvent {
533
+ field: '$.dialResponse.addr'
534
+ value: Uint8Array
535
+ }
536
+
537
+ export function encode (obj: Partial<Message>): Uint8Array {
331
538
  return encodeMessage(obj, Message.codec())
332
539
  }
333
540
 
334
- export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>): Message => {
541
+ export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>): Message {
335
542
  return decodeMessage(buf, Message.codec(), opts)
336
543
  }
544
+
545
+ export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>): Generator<MessageTypeFieldEvent | MessageDialPeerIdFieldEvent | MessageDialPeerAddrsFieldEvent | MessageDialResponseStatusFieldEvent | MessageDialResponseStatusTextFieldEvent | MessageDialResponseAddrFieldEvent> {
546
+ return streamMessage(buf, Message.codec(), opts)
547
+ }
337
548
  }
@@ -1,8 +0,0 @@
1
- {
2
- "AutoNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_autonat.AutoNATComponents.html",
3
- ".:AutoNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_autonat.AutoNATComponents.html",
4
- "AutoNATServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_autonat.AutoNATServiceInit.html",
5
- ".:AutoNATServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_autonat.AutoNATServiceInit.html",
6
- "autoNAT": "https://libp2p.github.io/js-libp2p/functions/_libp2p_autonat.autoNAT.html",
7
- ".:autoNAT": "https://libp2p.github.io/js-libp2p/functions/_libp2p_autonat.autoNAT.html"
8
- }