@libp2p/utils 6.7.2 → 7.0.0-55b7e5fea

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.
Files changed (160) hide show
  1. package/README.md +16 -1
  2. package/dist/index.min.js +7 -1
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/abstract-message-stream.d.ts +129 -0
  5. package/dist/src/abstract-message-stream.d.ts.map +1 -0
  6. package/dist/src/abstract-message-stream.js +393 -0
  7. package/dist/src/abstract-message-stream.js.map +1 -0
  8. package/dist/src/abstract-multiaddr-connection.d.ts +26 -0
  9. package/dist/src/abstract-multiaddr-connection.d.ts.map +1 -0
  10. package/dist/src/abstract-multiaddr-connection.js +66 -0
  11. package/dist/src/abstract-multiaddr-connection.js.map +1 -0
  12. package/dist/src/abstract-stream-muxer.d.ts +53 -0
  13. package/dist/src/abstract-stream-muxer.d.ts.map +1 -0
  14. package/dist/src/abstract-stream-muxer.js +169 -0
  15. package/dist/src/abstract-stream-muxer.js.map +1 -0
  16. package/dist/src/abstract-stream.d.ts +14 -130
  17. package/dist/src/abstract-stream.d.ts.map +1 -1
  18. package/dist/src/abstract-stream.js +39 -321
  19. package/dist/src/abstract-stream.js.map +1 -1
  20. package/dist/src/errors.d.ts +8 -0
  21. package/dist/src/errors.d.ts.map +1 -1
  22. package/dist/src/errors.js +8 -0
  23. package/dist/src/errors.js.map +1 -1
  24. package/dist/src/get-thin-waist-addresses.browser.d.ts +1 -1
  25. package/dist/src/get-thin-waist-addresses.browser.d.ts.map +1 -1
  26. package/dist/src/get-thin-waist-addresses.browser.js +4 -3
  27. package/dist/src/get-thin-waist-addresses.browser.js.map +1 -1
  28. package/dist/src/get-thin-waist-addresses.d.ts +1 -1
  29. package/dist/src/get-thin-waist-addresses.d.ts.map +1 -1
  30. package/dist/src/get-thin-waist-addresses.js +7 -9
  31. package/dist/src/get-thin-waist-addresses.js.map +1 -1
  32. package/dist/src/index.d.ts +31 -1
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +31 -1
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/length-prefixed-decoder.d.ts +37 -0
  37. package/dist/src/length-prefixed-decoder.d.ts.map +1 -0
  38. package/dist/src/length-prefixed-decoder.js +64 -0
  39. package/dist/src/length-prefixed-decoder.js.map +1 -0
  40. package/dist/src/message-queue.d.ts +61 -0
  41. package/dist/src/message-queue.d.ts.map +1 -0
  42. package/dist/src/message-queue.js +93 -0
  43. package/dist/src/message-queue.js.map +1 -0
  44. package/dist/src/mock-muxer.d.ts +57 -0
  45. package/dist/src/mock-muxer.d.ts.map +1 -0
  46. package/dist/src/mock-muxer.js +204 -0
  47. package/dist/src/mock-muxer.js.map +1 -0
  48. package/dist/src/mock-stream.d.ts +31 -0
  49. package/dist/src/mock-stream.d.ts.map +1 -0
  50. package/dist/src/mock-stream.js +69 -0
  51. package/dist/src/mock-stream.js.map +1 -0
  52. package/dist/src/multiaddr/get-net-config.d.ts +55 -0
  53. package/dist/src/multiaddr/get-net-config.d.ts.map +1 -0
  54. package/dist/src/multiaddr/get-net-config.js +54 -0
  55. package/dist/src/multiaddr/get-net-config.js.map +1 -0
  56. package/dist/src/multiaddr/index.d.ts +7 -0
  57. package/dist/src/multiaddr/index.d.ts.map +1 -0
  58. package/dist/src/multiaddr/index.js +7 -0
  59. package/dist/src/multiaddr/index.js.map +1 -0
  60. package/dist/src/multiaddr/is-global-unicast.d.ts.map +1 -1
  61. package/dist/src/multiaddr/is-global-unicast.js +8 -9
  62. package/dist/src/multiaddr/is-global-unicast.js.map +1 -1
  63. package/dist/src/multiaddr/is-link-local.d.ts.map +1 -1
  64. package/dist/src/multiaddr/is-link-local.js +11 -16
  65. package/dist/src/multiaddr/is-link-local.js.map +1 -1
  66. package/dist/src/multiaddr/is-loopback.d.ts.map +1 -1
  67. package/dist/src/multiaddr/is-loopback.js +12 -5
  68. package/dist/src/multiaddr/is-loopback.js.map +1 -1
  69. package/dist/src/multiaddr/is-network-address.d.ts.map +1 -1
  70. package/dist/src/multiaddr/is-network-address.js +4 -16
  71. package/dist/src/multiaddr/is-network-address.js.map +1 -1
  72. package/dist/src/multiaddr/is-private.d.ts.map +1 -1
  73. package/dist/src/multiaddr/is-private.js +9 -10
  74. package/dist/src/multiaddr/is-private.js.map +1 -1
  75. package/dist/src/multiaddr/utils.d.ts +5 -0
  76. package/dist/src/multiaddr/utils.d.ts.map +1 -0
  77. package/dist/src/multiaddr/utils.js +32 -0
  78. package/dist/src/multiaddr/utils.js.map +1 -0
  79. package/dist/src/multiaddr-connection-pair.d.ts +25 -0
  80. package/dist/src/multiaddr-connection-pair.d.ts.map +1 -0
  81. package/dist/src/multiaddr-connection-pair.js +103 -0
  82. package/dist/src/multiaddr-connection-pair.js.map +1 -0
  83. package/dist/src/queue/index.d.ts +3 -6
  84. package/dist/src/queue/index.d.ts.map +1 -1
  85. package/dist/src/queue/index.js +20 -4
  86. package/dist/src/queue/index.js.map +1 -1
  87. package/dist/src/rate-limiter.d.ts +1 -15
  88. package/dist/src/rate-limiter.d.ts.map +1 -1
  89. package/dist/src/rate-limiter.js +1 -14
  90. package/dist/src/rate-limiter.js.map +1 -1
  91. package/dist/src/stream-pair.d.ts +42 -0
  92. package/dist/src/stream-pair.d.ts.map +1 -0
  93. package/dist/src/stream-pair.js +40 -0
  94. package/dist/src/stream-pair.js.map +1 -0
  95. package/dist/src/stream-utils.d.ts +191 -0
  96. package/dist/src/stream-utils.d.ts.map +1 -0
  97. package/dist/src/stream-utils.js +371 -0
  98. package/dist/src/stream-utils.js.map +1 -0
  99. package/package.json +15 -162
  100. package/src/abstract-message-stream.ts +553 -0
  101. package/src/abstract-multiaddr-connection.ts +93 -0
  102. package/src/abstract-stream-muxer.ts +239 -0
  103. package/src/abstract-stream.ts +51 -464
  104. package/src/errors.ts +10 -0
  105. package/src/get-thin-waist-addresses.browser.ts +5 -4
  106. package/src/get-thin-waist-addresses.ts +8 -12
  107. package/src/index.ts +31 -1
  108. package/src/length-prefixed-decoder.ts +98 -0
  109. package/src/message-queue.ts +156 -0
  110. package/src/mock-muxer.ts +304 -0
  111. package/src/mock-stream.ts +101 -0
  112. package/src/multiaddr/get-net-config.ts +112 -0
  113. package/src/multiaddr/index.ts +6 -0
  114. package/src/multiaddr/is-global-unicast.ts +8 -11
  115. package/src/multiaddr/is-link-local.ts +11 -20
  116. package/src/multiaddr/is-loopback.ts +12 -7
  117. package/src/multiaddr/is-network-address.ts +4 -19
  118. package/src/multiaddr/is-private.ts +9 -14
  119. package/src/multiaddr/utils.ts +46 -0
  120. package/src/multiaddr-connection-pair.ts +147 -0
  121. package/src/queue/index.ts +24 -11
  122. package/src/rate-limiter.ts +3 -30
  123. package/src/stream-pair.ts +90 -0
  124. package/src/stream-utils.ts +866 -0
  125. package/dist/src/abort-options.d.ts +0 -7
  126. package/dist/src/abort-options.d.ts.map +0 -1
  127. package/dist/src/abort-options.js +0 -14
  128. package/dist/src/abort-options.js.map +0 -1
  129. package/dist/src/array-equals.d.ts +0 -24
  130. package/dist/src/array-equals.d.ts.map +0 -1
  131. package/dist/src/array-equals.js +0 -31
  132. package/dist/src/array-equals.js.map +0 -1
  133. package/dist/src/close-source.d.ts +0 -4
  134. package/dist/src/close-source.d.ts.map +0 -1
  135. package/dist/src/close-source.js +0 -11
  136. package/dist/src/close-source.js.map +0 -1
  137. package/dist/src/close.d.ts +0 -21
  138. package/dist/src/close.d.ts.map +0 -1
  139. package/dist/src/close.js +0 -49
  140. package/dist/src/close.js.map +0 -1
  141. package/dist/src/merge-options.d.ts +0 -7
  142. package/dist/src/merge-options.d.ts.map +0 -1
  143. package/dist/src/merge-options.js +0 -128
  144. package/dist/src/merge-options.js.map +0 -1
  145. package/dist/src/multiaddr/is-ip-based.d.ts +0 -6
  146. package/dist/src/multiaddr/is-ip-based.d.ts.map +0 -1
  147. package/dist/src/multiaddr/is-ip-based.js +0 -18
  148. package/dist/src/multiaddr/is-ip-based.js.map +0 -1
  149. package/dist/src/stream-to-ma-conn.d.ts +0 -23
  150. package/dist/src/stream-to-ma-conn.d.ts.map +0 -1
  151. package/dist/src/stream-to-ma-conn.js +0 -75
  152. package/dist/src/stream-to-ma-conn.js.map +0 -1
  153. package/dist/typedoc-urls.json +0 -147
  154. package/src/abort-options.ts +0 -20
  155. package/src/array-equals.ts +0 -34
  156. package/src/close-source.ts +0 -14
  157. package/src/close.ts +0 -65
  158. package/src/merge-options.ts +0 -161
  159. package/src/multiaddr/is-ip-based.ts +0 -21
  160. package/src/stream-to-ma-conn.ts +0 -106
@@ -0,0 +1,371 @@
1
+ import { StreamMessageEvent, StreamCloseEvent, InvalidParametersError } from '@libp2p/interface';
2
+ import { pipe as itPipe } from 'it-pipe';
3
+ import { pushable } from 'it-pushable';
4
+ import { pEvent } from 'p-event';
5
+ import { raceSignal } from 'race-signal';
6
+ import * as varint from 'uint8-varint';
7
+ import { Uint8ArrayList } from 'uint8arraylist';
8
+ import { UnexpectedEOFError } from './errors.js';
9
+ const DEFAULT_MAX_BUFFER_SIZE = 4_194_304;
10
+ export class UnwrappedError extends Error {
11
+ static name = 'UnwrappedError';
12
+ name = 'UnwrappedError';
13
+ }
14
+ /**
15
+ * The reported length of the next data message was not a positive integer
16
+ */
17
+ export class InvalidMessageLengthError extends Error {
18
+ name = 'InvalidMessageLengthError';
19
+ code = 'ERR_INVALID_MSG_LENGTH';
20
+ }
21
+ /**
22
+ * The reported length of the next data message was larger than the configured
23
+ * max allowable value
24
+ */
25
+ export class InvalidDataLengthError extends Error {
26
+ name = 'InvalidDataLengthError';
27
+ code = 'ERR_MSG_DATA_TOO_LONG';
28
+ }
29
+ /**
30
+ * The varint used to specify the length of the next data message contained more
31
+ * bytes than the configured max allowable value
32
+ */
33
+ export class InvalidDataLengthLengthError extends Error {
34
+ name = 'InvalidDataLengthLengthError';
35
+ code = 'ERR_MSG_LENGTH_TOO_LONG';
36
+ }
37
+ function isStream(obj) {
38
+ return typeof obj?.closeRead === 'function';
39
+ }
40
+ function isMultiaddrConnection(obj) {
41
+ return typeof obj?.close === 'function';
42
+ }
43
+ function isEOF(obj) {
44
+ if (isStream(obj)) {
45
+ return obj.readStatus === 'closing' || obj.readStatus === 'closed';
46
+ }
47
+ if (isMultiaddrConnection(obj)) {
48
+ return obj.status !== 'open';
49
+ }
50
+ return false;
51
+ }
52
+ function isValid(obj) {
53
+ return obj?.addEventListener != null && obj?.removeEventListener != null && obj?.send != null && obj?.push != null && obj?.log != null;
54
+ }
55
+ export function byteStream(stream, opts) {
56
+ const maxBufferSize = opts?.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE;
57
+ const readBuffer = new Uint8ArrayList();
58
+ let hasBytes;
59
+ let unwrapped = false;
60
+ if (!isValid(stream)) {
61
+ throw new InvalidParametersError('Argument should be a Stream or a Multiaddr');
62
+ }
63
+ const byteStreamOnMessageListener = (evt) => {
64
+ readBuffer.append(evt.data);
65
+ if (readBuffer.byteLength > maxBufferSize) {
66
+ const readBufferSize = readBuffer.byteLength;
67
+ readBuffer.consume(readBuffer.byteLength);
68
+ hasBytes?.reject(new Error(`Read buffer overflow - ${readBufferSize} > ${maxBufferSize}`));
69
+ }
70
+ hasBytes?.resolve();
71
+ };
72
+ stream.addEventListener('message', byteStreamOnMessageListener);
73
+ const byteStreamOnCloseListener = (evt) => {
74
+ if (evt.error != null) {
75
+ hasBytes?.reject(evt.error);
76
+ }
77
+ else {
78
+ hasBytes?.resolve();
79
+ }
80
+ };
81
+ stream.addEventListener('close', byteStreamOnCloseListener);
82
+ const byteStreamOnRemoteCloseWrite = () => {
83
+ hasBytes?.resolve();
84
+ };
85
+ stream.addEventListener('remoteCloseWrite', byteStreamOnRemoteCloseWrite);
86
+ const byteStream = {
87
+ readBuffer,
88
+ // @ts-expect-error options type prevents type inference
89
+ async read(options) {
90
+ if (unwrapped === true) {
91
+ throw new UnwrappedError('Stream was unwrapped');
92
+ }
93
+ if (isEOF(stream)) {
94
+ if (options?.bytes == null) {
95
+ return null;
96
+ }
97
+ if (readBuffer.byteLength < options.bytes) {
98
+ stream.log.error('closed after reading %d/%d bytes', readBuffer.byteLength, options.bytes);
99
+ throw new UnexpectedEOFError(`Unexpected EOF - stream closed after reading ${readBuffer.byteLength}/${options.bytes} bytes`);
100
+ }
101
+ }
102
+ const bytesToRead = options?.bytes ?? 1;
103
+ hasBytes = Promise.withResolvers();
104
+ while (true) {
105
+ if (readBuffer.byteLength >= bytesToRead) {
106
+ // if we are about to exit the loop this promise will not be awaited
107
+ // so resolve it to prevent and unhandled promise rejections that may
108
+ // occur
109
+ hasBytes.resolve();
110
+ break;
111
+ }
112
+ await raceSignal(hasBytes.promise, options?.signal);
113
+ if (isEOF(stream)) {
114
+ if (readBuffer.byteLength === 0 && options?.bytes == null) {
115
+ return null;
116
+ }
117
+ break;
118
+ }
119
+ hasBytes = Promise.withResolvers();
120
+ }
121
+ const toRead = options?.bytes ?? readBuffer.byteLength;
122
+ if (readBuffer.byteLength < toRead) {
123
+ if (isEOF(stream)) {
124
+ stream.log.error('closed while reading %d/%d bytes', readBuffer.byteLength, toRead);
125
+ throw new UnexpectedEOFError(`Unexpected EOF - stream closed while reading ${readBuffer.byteLength}/${toRead} bytes`);
126
+ }
127
+ return byteStream.read(options);
128
+ }
129
+ const output = readBuffer.sublist(0, toRead);
130
+ readBuffer.consume(toRead);
131
+ return output;
132
+ },
133
+ async write(data, options) {
134
+ if (unwrapped === true) {
135
+ throw new UnwrappedError('Stream was unwrapped');
136
+ }
137
+ if (!stream.send(data)) {
138
+ await pEvent(stream, 'drain', {
139
+ signal: options?.signal,
140
+ rejectionEvents: ['close']
141
+ });
142
+ }
143
+ },
144
+ unwrap() {
145
+ // already unwrapped, just return the original stream
146
+ if (unwrapped) {
147
+ return stream;
148
+ }
149
+ // only unwrap once
150
+ unwrapped = true;
151
+ stream.removeEventListener('message', byteStreamOnMessageListener);
152
+ stream.removeEventListener('close', byteStreamOnCloseListener);
153
+ stream.removeEventListener('remoteCloseWrite', byteStreamOnRemoteCloseWrite);
154
+ // emit any unread data
155
+ if (readBuffer.byteLength > 0) {
156
+ stream.log('stream unwrapped with %d unread bytes', readBuffer.byteLength);
157
+ stream.push(readBuffer);
158
+ }
159
+ return stream;
160
+ }
161
+ };
162
+ return byteStream;
163
+ }
164
+ export function lpStream(stream, opts = {}) {
165
+ const bytes = byteStream(stream, opts);
166
+ if (opts.maxDataLength != null && opts.maxLengthLength == null) {
167
+ // if max data length is set but max length length is not, calculate the
168
+ // max length length needed to encode max data length
169
+ opts.maxLengthLength = varint.encodingLength(opts.maxDataLength);
170
+ }
171
+ const decodeLength = opts?.lengthDecoder ?? varint.decode;
172
+ const encodeLength = opts?.lengthEncoder ?? varint.encode;
173
+ const lpStream = {
174
+ async read(options) {
175
+ let dataLength = -1;
176
+ const lengthBuffer = new Uint8ArrayList();
177
+ while (true) {
178
+ // read one byte at a time until we can decode a varint
179
+ const buf = await bytes.read({
180
+ ...options,
181
+ bytes: 1
182
+ });
183
+ // the underlying resource closed gracefully
184
+ if (buf == null) {
185
+ break;
186
+ }
187
+ // append byte and try to decode
188
+ lengthBuffer.append(buf);
189
+ try {
190
+ dataLength = decodeLength(lengthBuffer);
191
+ }
192
+ catch (err) {
193
+ if (err instanceof RangeError) {
194
+ continue;
195
+ }
196
+ throw err;
197
+ }
198
+ if (dataLength < 0) {
199
+ throw new InvalidMessageLengthError('Invalid message length');
200
+ }
201
+ if (opts?.maxLengthLength != null && lengthBuffer.byteLength > opts.maxLengthLength) {
202
+ throw new InvalidDataLengthLengthError(`Message length length too long - ${lengthBuffer.byteLength} > ${opts.maxLengthLength}`);
203
+ }
204
+ if (dataLength > -1) {
205
+ break;
206
+ }
207
+ }
208
+ if (opts?.maxDataLength != null && dataLength > opts.maxDataLength) {
209
+ throw new InvalidDataLengthError(`Message length too long - ${dataLength} > ${opts.maxDataLength}`);
210
+ }
211
+ const buf = await bytes.read({
212
+ ...options,
213
+ bytes: dataLength
214
+ });
215
+ if (buf == null) {
216
+ stream.log.error('tried to read %d bytes but the stream closed', dataLength);
217
+ throw new UnexpectedEOFError(`Unexpected EOF - tried to read ${dataLength} bytes but the stream closed`);
218
+ }
219
+ if (buf.byteLength !== dataLength) {
220
+ stream.log.error('read %d/%d bytes before the stream closed', buf.byteLength, dataLength);
221
+ throw new UnexpectedEOFError(`Unexpected EOF - read ${buf.byteLength}/${dataLength} bytes before the stream closed`);
222
+ }
223
+ return buf;
224
+ },
225
+ async write(data, options) {
226
+ // encode, write
227
+ await bytes.write(new Uint8ArrayList(encodeLength(data.byteLength), data), options);
228
+ },
229
+ async writeV(data, options) {
230
+ const list = new Uint8ArrayList(...data.flatMap(buf => ([encodeLength(buf.byteLength), buf])));
231
+ // encode, write
232
+ await bytes.write(list, options);
233
+ },
234
+ unwrap() {
235
+ return bytes.unwrap();
236
+ }
237
+ };
238
+ return lpStream;
239
+ }
240
+ export function pbStream(stream, opts) {
241
+ const lp = lpStream(stream, opts);
242
+ const pbStream = {
243
+ read: async (proto, options) => {
244
+ // readLP, decode
245
+ const value = await lp.read(options);
246
+ return proto.decode(value);
247
+ },
248
+ write: async (message, proto, options) => {
249
+ // encode, writeLP
250
+ await lp.write(proto.encode(message), options);
251
+ },
252
+ writeV: async (messages, proto, options) => {
253
+ // encode, writeLP
254
+ await lp.writeV(messages.map(message => proto.encode(message)), options);
255
+ },
256
+ pb: (proto) => {
257
+ return {
258
+ read: async (options) => pbStream.read(proto, options),
259
+ write: async (d, options) => pbStream.write(d, proto, options),
260
+ writeV: async (d, options) => pbStream.writeV(d, proto, options),
261
+ unwrap: () => pbStream
262
+ };
263
+ },
264
+ unwrap: () => {
265
+ return lp.unwrap();
266
+ }
267
+ };
268
+ return pbStream;
269
+ }
270
+ export async function echo(stream, options) {
271
+ const log = stream.log.newScope('echo');
272
+ const start = Date.now();
273
+ let bytes = 0;
274
+ try {
275
+ for await (const buf of stream) {
276
+ bytes += buf.byteLength;
277
+ if (!stream.send(buf)) {
278
+ stream.pause();
279
+ await pEvent(stream, 'drain', {
280
+ rejectionEvents: [
281
+ 'close'
282
+ ],
283
+ ...options
284
+ });
285
+ stream.resume();
286
+ }
287
+ }
288
+ log('echoed %d bytes in %dms', bytes, Date.now() - start);
289
+ await stream.close(options);
290
+ }
291
+ catch (err) {
292
+ stream.abort(err);
293
+ }
294
+ }
295
+ function isMessageStream(obj) {
296
+ return obj?.addEventListener != null;
297
+ }
298
+ export function messageStreamToDuplex(stream) {
299
+ const source = pushable();
300
+ let onError;
301
+ const onMessage = (evt) => {
302
+ source.push(evt.data);
303
+ };
304
+ const onRemoteCloseWrite = () => {
305
+ source.end();
306
+ stream.removeEventListener('message', onMessage);
307
+ stream.removeEventListener('close', onClose);
308
+ stream.removeEventListener('remoteCloseWrite', onRemoteCloseWrite);
309
+ };
310
+ const onClose = (evt) => {
311
+ source.end(evt.error);
312
+ if (evt.error != null) {
313
+ onError?.reject(evt.error);
314
+ }
315
+ stream.removeEventListener('message', onMessage);
316
+ stream.removeEventListener('close', onClose);
317
+ stream.removeEventListener('remoteCloseWrite', onRemoteCloseWrite);
318
+ };
319
+ stream.addEventListener('message', onMessage);
320
+ stream.addEventListener('close', onClose, {
321
+ once: true
322
+ });
323
+ stream.addEventListener('remoteCloseWrite', onRemoteCloseWrite, {
324
+ once: true
325
+ });
326
+ return {
327
+ source,
328
+ async sink(source) {
329
+ async function* toGenerator() {
330
+ yield* source;
331
+ }
332
+ const gen = toGenerator();
333
+ while (true) {
334
+ onError = Promise.withResolvers();
335
+ const { done, value } = await Promise.race([
336
+ gen.next(),
337
+ onError.promise
338
+ ]);
339
+ if (stream.writeStatus === 'closing' || stream.writeStatus === 'closed') {
340
+ break;
341
+ }
342
+ if (value != null) {
343
+ if (!stream.send(value)) {
344
+ await Promise.race([
345
+ pEvent(stream, 'drain', {
346
+ rejectionEvents: [
347
+ 'close'
348
+ ]
349
+ })
350
+ ]);
351
+ }
352
+ }
353
+ if (done === true) {
354
+ break;
355
+ }
356
+ }
357
+ await stream.close();
358
+ }
359
+ };
360
+ }
361
+ export function pipe(...input) {
362
+ const sources = input.map(source => {
363
+ if (isMessageStream(source)) {
364
+ return messageStreamToDuplex(source);
365
+ }
366
+ return source;
367
+ });
368
+ // @ts-expect-error it-pipe types say args cannot be spread like this
369
+ return itPipe(...sources);
370
+ }
371
+ //# sourceMappingURL=stream-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/utils",
3
- "version": "6.7.2",
3
+ "version": "7.0.0-55b7e5fea",
4
4
  "description": "Package to aggregate shared logic and dependencies for the libp2p ecosystem",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/utils#readme",
@@ -17,22 +17,6 @@
17
17
  },
18
18
  "type": "module",
19
19
  "types": "./dist/src/index.d.ts",
20
- "typesVersions": {
21
- "*": {
22
- "*": [
23
- "*",
24
- "dist/*",
25
- "dist/src/*",
26
- "dist/src/*/index"
27
- ],
28
- "src/*": [
29
- "*",
30
- "dist/*",
31
- "dist/src/*",
32
- "dist/src/*/index"
33
- ]
34
- }
35
- },
36
20
  "files": [
37
21
  "src",
38
22
  "dist",
@@ -43,135 +27,6 @@
43
27
  ".": {
44
28
  "types": "./dist/src/index.d.ts",
45
29
  "import": "./dist/src/index.js"
46
- },
47
- "./abort-options": {
48
- "types": "./dist/src/abort-options.d.ts",
49
- "import": "./dist/src/abort-options.js"
50
- },
51
- "./abstract-stream": {
52
- "types": "./dist/src/abstract-stream.d.ts",
53
- "import": "./dist/src/abstract-stream.js"
54
- },
55
- "./adaptive-timeout": {
56
- "types": "./dist/src/adaptive-timeout.d.ts",
57
- "import": "./dist/src/adaptive-timeout.js"
58
- },
59
- "./array-equals": {
60
- "types": "./dist/src/array-equals.d.ts",
61
- "import": "./dist/src/array-equals.js"
62
- },
63
- "./close": {
64
- "types": "./dist/src/close.d.ts",
65
- "import": "./dist/src/close.js"
66
- },
67
- "./close-source": {
68
- "types": "./dist/src/close-source.d.ts",
69
- "import": "./dist/src/close-source.js"
70
- },
71
- "./debounce": {
72
- "types": "./dist/src/debounce.d.ts",
73
- "import": "./dist/src/debounce.js"
74
- },
75
- "./filters": {
76
- "types": "./dist/src/filters/index.d.ts",
77
- "import": "./dist/src/filters/index.js"
78
- },
79
- "./get-thin-waist-addresses": {
80
- "types": "./dist/src/get-thin-waist-addresses.d.ts",
81
- "browser": "./dist/src/get-thin-waist-addresses.browser.js",
82
- "import": "./dist/src/get-thin-waist-addresses.js"
83
- },
84
- "./global-unicast-ip": {
85
- "types": "./dist/src/global-unicast-ip.d.ts",
86
- "import": "./dist/src/global-unicast-ip.js"
87
- },
88
- "./ip-port-to-multiaddr": {
89
- "types": "./dist/src/ip-port-to-multiaddr.d.ts",
90
- "import": "./dist/src/ip-port-to-multiaddr.js"
91
- },
92
- "./is-async-generator": {
93
- "types": "./dist/src/is-async-generator.d.ts",
94
- "import": "./dist/src/is-async-generator.js"
95
- },
96
- "./is-generator": {
97
- "types": "./dist/src/is-generator.d.ts",
98
- "import": "./dist/src/is-generator.js"
99
- },
100
- "./is-promise": {
101
- "types": "./dist/src/is-promise.d.ts",
102
- "import": "./dist/src/is-promise.js"
103
- },
104
- "./link-local-ip": {
105
- "types": "./dist/src/link-local-ip.d.ts",
106
- "import": "./dist/src/link-local-ip.js"
107
- },
108
- "./merge-options": {
109
- "types": "./dist/src/merge-options.d.ts",
110
- "import": "./dist/src/merge-options.js"
111
- },
112
- "./moving-average": {
113
- "types": "./dist/src/moving-average.d.ts",
114
- "import": "./dist/src/moving-average.js"
115
- },
116
- "./multiaddr/is-global-unicast": {
117
- "types": "./dist/src/multiaddr/is-global-unicast.d.ts",
118
- "import": "./dist/src/multiaddr/is-global-unicast.js"
119
- },
120
- "./multiaddr/is-ip-based": {
121
- "types": "./dist/src/multiaddr/is-ip-based.d.ts",
122
- "import": "./dist/src/multiaddr/is-ip-based.js"
123
- },
124
- "./multiaddr/is-link-local": {
125
- "types": "./dist/src/multiaddr/is-link-local.d.ts",
126
- "import": "./dist/src/multiaddr/is-link-local.js"
127
- },
128
- "./multiaddr/is-loopback": {
129
- "types": "./dist/src/multiaddr/is-loopback.d.ts",
130
- "import": "./dist/src/multiaddr/is-loopback.js"
131
- },
132
- "./multiaddr/is-network-address": {
133
- "types": "./dist/src/multiaddr/is-network-address.d.ts",
134
- "import": "./dist/src/multiaddr/is-network-address.js"
135
- },
136
- "./multiaddr/is-private": {
137
- "types": "./dist/src/multiaddr/is-private.d.ts",
138
- "import": "./dist/src/multiaddr/is-private.js"
139
- },
140
- "./peer-queue": {
141
- "types": "./dist/src/peer-queue.d.ts",
142
- "import": "./dist/src/peer-queue.js"
143
- },
144
- "./priority-queue": {
145
- "types": "./dist/src/priority-queue.d.ts",
146
- "import": "./dist/src/priority-queue.js"
147
- },
148
- "./private-ip": {
149
- "types": "./dist/src/private-ip.d.ts",
150
- "import": "./dist/src/private-ip.js"
151
- },
152
- "./queue": {
153
- "types": "./dist/src/queue/index.d.ts",
154
- "import": "./dist/src/queue/index.js"
155
- },
156
- "./rate-limiter": {
157
- "types": "./dist/src/rate-limiter.d.ts",
158
- "import": "./dist/src/rate-limiter.js"
159
- },
160
- "./repeating-task": {
161
- "types": "./dist/src/repeating-task.d.ts",
162
- "import": "./dist/src/repeating-task.js"
163
- },
164
- "./stream-to-ma-conn": {
165
- "types": "./dist/src/stream-to-ma-conn.d.ts",
166
- "import": "./dist/src/stream-to-ma-conn.js"
167
- },
168
- "./tracked-list": {
169
- "types": "./dist/src/tracked-list.d.ts",
170
- "import": "./dist/src/tracked-list.js"
171
- },
172
- "./tracked-map": {
173
- "types": "./dist/src/tracked-map.d.ts",
174
- "import": "./dist/src/tracked-map.js"
175
30
  }
176
31
  },
177
32
  "scripts": {
@@ -191,38 +46,36 @@
191
46
  "dependencies": {
192
47
  "@chainsafe/is-ip": "^2.1.0",
193
48
  "@chainsafe/netmask": "^2.0.0",
194
- "@libp2p/crypto": "^5.1.8",
195
- "@libp2p/interface": "^2.11.0",
196
- "@libp2p/logger": "^5.2.0",
197
- "@multiformats/multiaddr": "^12.4.4",
49
+ "@libp2p/crypto": "5.1.9-55b7e5fea",
50
+ "@libp2p/interface": "3.0.0-55b7e5fea",
51
+ "@libp2p/logger": "6.0.0-55b7e5fea",
52
+ "@multiformats/multiaddr": "^13.0.1",
198
53
  "@sindresorhus/fnv1a": "^3.1.0",
199
54
  "any-signal": "^4.1.1",
55
+ "cborg": "^4.2.14",
200
56
  "delay": "^6.0.0",
201
- "get-iterator": "^2.0.1",
202
57
  "is-loopback-addr": "^2.0.2",
203
- "is-plain-obj": "^4.1.0",
204
- "it-foreach": "^2.1.3",
58
+ "it-length-prefixed": "^10.0.1",
205
59
  "it-pipe": "^3.0.1",
206
60
  "it-pushable": "^3.2.3",
207
61
  "it-stream-types": "^2.0.2",
208
62
  "main-event": "^1.0.1",
209
63
  "netmask": "^2.0.2",
210
64
  "p-defer": "^4.0.1",
211
- "race-event": "^1.3.0",
212
- "race-signal": "^1.1.3",
65
+ "p-event": "^7.0.0",
66
+ "race-signal": "^2.0.0",
67
+ "uint8-varint": "^2.0.4",
213
68
  "uint8arraylist": "^2.4.8",
214
69
  "uint8arrays": "^5.1.0"
215
70
  },
216
71
  "devDependencies": {
217
- "@libp2p/peer-id": "^5.1.9",
72
+ "@libp2p/peer-id": "6.0.0-55b7e5fea",
218
73
  "@types/netmask": "^2.0.5",
219
- "aegir": "^47.0.14",
74
+ "aegir": "^47.0.22",
220
75
  "benchmark": "^2.1.4",
221
- "delay": "^6.0.0",
222
- "it-all": "^3.0.8",
223
- "it-drain": "^3.0.9",
224
- "it-pair": "^2.0.6",
225
- "sinon": "^20.0.0",
76
+ "it-all": "^3.0.9",
77
+ "it-drain": "^3.0.10",
78
+ "sinon": "^21.0.0",
226
79
  "sinon-ts": "^2.0.0",
227
80
  "wherearewe": "^2.0.1"
228
81
  },