@libp2p/utils 1.0.4 → 1.0.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"address-sort.d.ts","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,UAAU,OAAO;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB;AAoCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,SAAS,EAAE,OAAO,EAAE,aAEzD"}
1
+ {"version":3,"file":"address-sort.d.ts","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,UAAU,OAAO;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB;AA0BD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,SAAS,EAAE,OAAO,EAAE,aAEzD"}
@@ -1,17 +1,8 @@
1
1
  import { isPrivate } from './multiaddr/is-private.js';
2
- /**
3
- * @typedef {Object} Address
4
- * @property {Multiaddr} multiaddr peer multiaddr.
5
- * @property {boolean} isCertified obtained from a signed peer record.
6
- */
7
2
  /**
8
3
  * Compare function for array.sort().
9
4
  * This sort aims to move the private adresses to the end of the array.
10
5
  * In case of equality, a certified address will come first.
11
- *
12
- * @param {Address} a
13
- * @param {Address} b
14
- * @returns {number}
15
6
  */
16
7
  function addressesPublicFirstCompareFunction(a, b) {
17
8
  const isAPrivate = isPrivate(a.multiaddr);
@@ -1 +1 @@
1
- {"version":3,"file":"address-sort.js","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAOrD;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,SAAS,mCAAmC,CAAE,CAAU,EAAE,CAAU;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEzC,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE;QAC7B,OAAO,CAAC,CAAA;KACT;SAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;QACpC,OAAO,CAAC,CAAC,CAAA;KACV;IACD,mBAAmB;IACnB,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;QACnC,OAAO,CAAC,CAAC,CAAA;KACV;SAAM,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,EAAE;QAC1C,OAAO,CAAC,CAAA;KACT;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,SAAoB;IACxD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;AACjE,CAAC"}
1
+ {"version":3,"file":"address-sort.js","sourceRoot":"","sources":["../../src/address-sort.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAOrD;;;;GAIG;AACH,SAAS,mCAAmC,CAAE,CAAU,EAAE,CAAU;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEzC,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE;QAC7B,OAAO,CAAC,CAAA;KACT;SAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;QACpC,OAAO,CAAC,CAAC,CAAA;KACV;IACD,mBAAmB;IACnB,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;QACnC,OAAO,CAAC,CAAC,CAAA;KACV;SAAM,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,EAAE;QAC1C,OAAO,CAAC,CAAA;KACT;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,SAAoB;IACxD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-port-to-multiaddr.d.ts","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAQnD,eAAO,MAAM,MAAM;;;;CAIlB,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,aA8BnE"}
1
+ {"version":3,"file":"ip-port-to-multiaddr.d.ts","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAMnD,eAAO,MAAM,MAAM;;;;CAIlB,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,aA8BnE"}
@@ -1,10 +1,8 @@
1
- import debug from 'debug';
1
+ import { logger } from '@libp2p/logger';
2
2
  import { Multiaddr } from '@multiformats/multiaddr';
3
3
  import errCode from 'err-code';
4
4
  import { Address4, Address6 } from '@achingbrain/ip-address';
5
- const log = Object.assign(debug('libp2p:ip-port-to-multiaddr'), {
6
- error: debug('libp2p:ip-port-to-multiaddr:err')
7
- });
5
+ const log = logger('libp2p:ip-port-to-multiaddr');
8
6
  export const Errors = {
9
7
  ERR_INVALID_IP_PARAMETER: 'ERR_INVALID_IP_PARAMETER',
10
8
  ERR_INVALID_PORT_PARAMETER: 'ERR_INVALID_PORT_PARAMETER',
@@ -1 +1 @@
1
- {"version":3,"file":"ip-port-to-multiaddr.js","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE;IAC9D,KAAK,EAAE,KAAK,CAAC,iCAAiC,CAAC;CAChD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,cAAc,EAAE,gBAAgB;CACjC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAE,EAAU,EAAE,IAAqB;IAClE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC1B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAA,CAAC,uEAAuE;KAChK;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;KACtB;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACf,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,0BAA0B,CAAC,CAAA;KAC9F;IAED,IAAI;QACF,kBAAkB;QAClB,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,6BAA6B;QAC9C,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC/C;IAAC,MAAM,GAAE;IAEV,IAAI;QACF,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO,GAAG,CAAC,GAAG,EAAE;YACd,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC9D,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC5C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,6CAA6C,EAAE,IAAI,IAAI,EAAE,CAAA;QACxE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;KACxD;AACH,CAAC"}
1
+ {"version":3,"file":"ip-port-to-multiaddr.js","sourceRoot":"","sources":["../../src/ip-port-to-multiaddr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,cAAc,EAAE,gBAAgB;CACjC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAE,EAAU,EAAE,IAAqB;IAClE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC1B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAA,CAAC,uEAAuE;KAChK;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;KACtB;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACf,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,0BAA0B,CAAC,CAAA;KAC9F;IAED,IAAI;QACF,kBAAkB;QAClB,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,6BAA6B;QAC9C,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC/C;IAAC,MAAM,GAAE;IAEV,IAAI;QACF,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO,GAAG,CAAC,GAAG,EAAE;YACd,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC9D,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;KAC5C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,6CAA6C,EAAE,IAAI,IAAI,EAAE,CAAA;QACxE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;KACxD;AACH,CAAC"}
@@ -2,5 +2,5 @@ import type { Multiaddr } from '@multiformats/multiaddr';
2
2
  /**
3
3
  * Check if a given multiaddr is a loopback address.
4
4
  */
5
- export declare function isLoopback(ma: Multiaddr): any;
5
+ export declare function isLoopback(ma: Multiaddr): boolean;
6
6
  //# sourceMappingURL=is-loopback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,UAAU,CAAE,EAAE,EAAE,SAAS,OAIxC"}
1
+ {"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,UAAU,CAAE,EAAE,EAAE,SAAS,WAIxC"}
@@ -1,5 +1,4 @@
1
- // @ts-expect-error is-loopback-addr does not publish types
2
- import isLoopbackAddr from 'is-loopback-addr';
1
+ import { isLoopbackAddr } from 'is-loopback-addr';
3
2
  /**
4
3
  * Check if a given multiaddr is a loopback address.
5
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"is-loopback.js","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAG7C;;GAEG;AACH,MAAM,UAAU,UAAU,CAAE,EAAa;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,OAAO,cAAc,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"is-loopback.js","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAE,EAAa;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,OAAO,cAAc,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC"}
@@ -1,12 +1,6 @@
1
- import type { MuxedStream } from '@libp2p/interfaces/stream-muxer';
2
1
  import type { Multiaddr } from '@multiformats/multiaddr';
3
2
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
4
- /**
5
- * @typedef {Object} Timeline
6
- * @property {number} open -
7
- * @property {number} [upgraded] - .
8
- * @property {number} [close]
9
- */
3
+ import type { Duplex } from 'it-stream-types';
10
4
  export interface Timeline {
11
5
  /**
12
6
  * Connection opening timestamp
@@ -25,7 +19,7 @@ interface StreamOptions {
25
19
  signal?: AbortSignal;
26
20
  }
27
21
  interface StreamProperties {
28
- stream: MuxedStream<Uint8Array>;
22
+ stream: Duplex<Uint8Array>;
29
23
  remoteAddr: Multiaddr;
30
24
  localAddr: Multiaddr;
31
25
  }
@@ -33,6 +27,6 @@ interface StreamProperties {
33
27
  * Convert a duplex iterable into a MultiaddrConnection.
34
28
  * https://github.com/libp2p/interface-transport#multiaddrconnection
35
29
  */
36
- export declare function streamToMaConnection(props: StreamProperties, options?: StreamOptions): MultiaddrConnection<Uint8Array>;
30
+ export declare function streamToMaConnection(props: StreamProperties, options?: StreamOptions): MultiaddrConnection;
37
31
  export {};
38
32
  //# sourceMappingURL=stream-to-ma-conn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-to-ma-conn.d.ts","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAIvE;;;;;GAKG;AAEH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,WAAW,CAAA;CAErB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IAC/B,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,mCA4CzF"}
1
+ {"version":3,"file":"stream-to-ma-conn.d.ts","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAI7C,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,WAAW,CAAA;CAErB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1B,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,uBA0CzF"}
@@ -1,17 +1,17 @@
1
- import { source as abortable } from 'abortable-iterator';
2
- import debug from 'debug';
3
- const log = debug('libp2p:stream:converter');
1
+ import { abortableSource } from 'abortable-iterator';
2
+ import { logger } from '@libp2p/logger';
3
+ const log = logger('libp2p:stream:converter');
4
4
  /**
5
5
  * Convert a duplex iterable into a MultiaddrConnection.
6
6
  * https://github.com/libp2p/interface-transport#multiaddrconnection
7
7
  */
8
8
  export function streamToMaConnection(props, options = {}) {
9
- const { stream, remoteAddr, localAddr } = props;
9
+ const { stream, remoteAddr } = props;
10
10
  const { sink, source } = stream;
11
11
  const maConn = {
12
12
  async sink(source) {
13
13
  if (options.signal != null) {
14
- source = abortable(source, options.signal);
14
+ source = abortableSource(source, options.signal);
15
15
  }
16
16
  try {
17
17
  await sink(source);
@@ -27,9 +27,7 @@ export function streamToMaConnection(props, options = {}) {
27
27
  }
28
28
  }
29
29
  },
30
- source: (options.signal != null) ? abortable(source, options.signal) : source,
31
- conn: stream,
32
- localAddr,
30
+ source: (options.signal != null) ? abortableSource(source, options.signal) : source,
33
31
  remoteAddr,
34
32
  /** @type {Timeline} */
35
33
  timeline: { open: Date.now(), close: undefined },
@@ -1 +1 @@
1
- {"version":3,"file":"stream-to-ma-conn.js","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,GAAG,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAA;AAqC5C;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,KAAuB,EAAE,UAAyB,EAAE;IACxF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC/C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAC/B,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,IAAI,CAAE,MAAM;YAChB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC1B,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;aAC3C;YAED,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClB,MAAM,KAAK,EAAE,CAAA;aACd;YAAC,OAAO,GAAQ,EAAE;gBACjB,kCAAkC;gBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC1B,uEAAuE;oBACvE,gEAAgE;oBAChE,uEAAuE;oBACvE,GAAG,CAAC,GAAG,CAAC,CAAA;iBACT;aACF;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QAC7E,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,UAAU;QACV,uBAAuB;QACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;QAChD,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,CAAC,KAAK,SAAU,CAAC;gBACzB,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC,EAAE,CAAC,CAAA;YACJ,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;KACF,CAAA;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnC;QACD,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"stream-to-ma-conn.js","sourceRoot":"","sources":["../../src/stream-to-ma-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAKvC,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AA8B7C;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAE,KAAuB,EAAE,UAAyB,EAAE;IACxF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAC/B,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,IAAI,CAAE,MAAM;YAChB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC1B,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;aACjD;YAED,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClB,MAAM,KAAK,EAAE,CAAA;aACd;YAAC,OAAO,GAAQ,EAAE;gBACjB,kCAAkC;gBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC1B,uEAAuE;oBACvE,gEAAgE;oBAChE,uEAAuE;oBACvE,GAAG,CAAC,GAAG,CAAC,CAAA;iBACT;aACF;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QACnF,UAAU;QACV,uBAAuB;QACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;QAChD,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,CAAC,KAAK,SAAU,CAAC;gBACzB,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC,EAAE,CAAC,CAAA;YACJ,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;KACF,CAAA;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnC;QACD,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/utils",
3
- "version": "1.0.4",
3
+ "version": "1.0.7",
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-utils#readme",
@@ -43,14 +43,6 @@
43
43
  ".": {
44
44
  "import": "./dist/src/index.js"
45
45
  },
46
- "./multiaddr/is-loopback": {
47
- "import": "./dist/src/multiaddr/is-loopback.js",
48
- "types": "./dist/src/multiaddr/is-loopback.d.ts"
49
- },
50
- "./multiaddr/is-private": {
51
- "import": "./dist/src/multiaddr/is-private.js",
52
- "types": "./dist/src/multiaddr/is-private.d.ts"
53
- },
54
46
  "./address-sort": {
55
47
  "import": "./dist/src/address-sort.js",
56
48
  "types": "./dist/src/address-sort.d.ts"
@@ -63,6 +55,14 @@
63
55
  "import": "./dist/src/ip-port-to-multiaddr.js",
64
56
  "types": "./dist/src/ip-port-to-multiaddr.d.ts"
65
57
  },
58
+ "./multiaddr/is-loopback": {
59
+ "import": "./dist/src/multiaddr/is-loopback.js",
60
+ "types": "./dist/src/multiaddr/is-loopback.d.ts"
61
+ },
62
+ "./multiaddr/is-private": {
63
+ "import": "./dist/src/multiaddr/is-private.js",
64
+ "types": "./dist/src/multiaddr/is-private.d.ts"
65
+ },
66
66
  "./stream-to-ma-conn": {
67
67
  "import": "./dist/src/stream-to-ma-connr.js",
68
68
  "types": "./dist/src/stream-to-ma-connr.d.ts"
@@ -160,8 +160,8 @@
160
160
  "dep-check": "aegir dep-check dist/src/**/*.js dist/test/**/*.js",
161
161
  "build": "tsc",
162
162
  "pretest": "npm run build",
163
- "test": "aegir test -f ./dist/test/**/*.js",
164
- "test:chrome": "npm run test -- -t browser",
163
+ "test": "aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js",
164
+ "test:chrome": "npm run test -- -t browser --cov",
165
165
  "test:chrome-webworker": "npm run test -- -t webworker",
166
166
  "test:firefox": "npm run test -- -t browser -- --browser firefox",
167
167
  "test:firefox-webworker": "npm run test -- -t webworker -- --browser firefox",
@@ -171,20 +171,19 @@
171
171
  },
172
172
  "dependencies": {
173
173
  "@achingbrain/ip-address": "^8.1.0",
174
+ "@libp2p/logger": "^1.0.1",
174
175
  "@multiformats/multiaddr": "^10.1.1",
175
- "abortable-iterator": "^3.0.0",
176
- "debug": "^4.3.0",
176
+ "abortable-iterator": "^4.0.2",
177
177
  "err-code": "^3.0.1",
178
- "is-loopback-addr": "^1.0.0",
178
+ "is-loopback-addr": "^2.0.1",
179
+ "it-stream-types": "^1.0.4",
179
180
  "private-ip": "^2.1.1"
180
181
  },
181
182
  "devDependencies": {
182
- "@libp2p/interfaces": "^0.2.0",
183
- "@types/debug": "^4.1.5",
183
+ "@libp2p/interfaces": "^1.0.3",
184
184
  "aegir": "^36.1.2",
185
- "it-pair": "^1.0.0",
186
- "it-pipe": "^1.1.0",
187
- "streaming-iterables": "^6.0.0",
188
- "util": "^0.12.3"
185
+ "it-all": "^1.0.6",
186
+ "it-pair": "^2.0.2",
187
+ "it-pipe": "^2.0.2"
189
188
  }
190
189
  }
@@ -6,20 +6,10 @@ interface Address {
6
6
  isCertified: boolean
7
7
  }
8
8
 
9
- /**
10
- * @typedef {Object} Address
11
- * @property {Multiaddr} multiaddr peer multiaddr.
12
- * @property {boolean} isCertified obtained from a signed peer record.
13
- */
14
-
15
9
  /**
16
10
  * Compare function for array.sort().
17
11
  * This sort aims to move the private adresses to the end of the array.
18
12
  * In case of equality, a certified address will come first.
19
- *
20
- * @param {Address} a
21
- * @param {Address} b
22
- * @returns {number}
23
13
  */
24
14
  function addressesPublicFirstCompareFunction (a: Address, b: Address) {
25
15
  const isAPrivate = isPrivate(a.multiaddr)
@@ -1,11 +1,9 @@
1
- import debug from 'debug'
1
+ import { logger } from '@libp2p/logger'
2
2
  import { Multiaddr } from '@multiformats/multiaddr'
3
3
  import errCode from 'err-code'
4
4
  import { Address4, Address6 } from '@achingbrain/ip-address'
5
5
 
6
- const log = Object.assign(debug('libp2p:ip-port-to-multiaddr'), {
7
- error: debug('libp2p:ip-port-to-multiaddr:err')
8
- })
6
+ const log = logger('libp2p:ip-port-to-multiaddr')
9
7
 
10
8
  export const Errors = {
11
9
  ERR_INVALID_IP_PARAMETER: 'ERR_INVALID_IP_PARAMETER',
@@ -1,5 +1,4 @@
1
- // @ts-expect-error is-loopback-addr does not publish types
2
- import isLoopbackAddr from 'is-loopback-addr'
1
+ import { isLoopbackAddr } from 'is-loopback-addr'
3
2
  import type { Multiaddr } from '@multiformats/multiaddr'
4
3
 
5
4
  /**
@@ -1,17 +1,10 @@
1
- import { source as abortable } from 'abortable-iterator'
2
- import debug from 'debug'
3
- import type { MuxedStream } from '@libp2p/interfaces/stream-muxer'
1
+ import { abortableSource } from 'abortable-iterator'
2
+ import { logger } from '@libp2p/logger'
4
3
  import type { Multiaddr } from '@multiformats/multiaddr'
5
4
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
5
+ import type { Duplex } from 'it-stream-types'
6
6
 
7
- const log = debug('libp2p:stream:converter')
8
-
9
- /**
10
- * @typedef {Object} Timeline
11
- * @property {number} open -
12
- * @property {number} [upgraded] - .
13
- * @property {number} [close]
14
- */
7
+ const log = logger('libp2p:stream:converter')
15
8
 
16
9
  export interface Timeline {
17
10
  /**
@@ -36,7 +29,7 @@ interface StreamOptions {
36
29
  }
37
30
 
38
31
  interface StreamProperties {
39
- stream: MuxedStream<Uint8Array>
32
+ stream: Duplex<Uint8Array>
40
33
  remoteAddr: Multiaddr
41
34
  localAddr: Multiaddr
42
35
  }
@@ -46,12 +39,12 @@ interface StreamProperties {
46
39
  * https://github.com/libp2p/interface-transport#multiaddrconnection
47
40
  */
48
41
  export function streamToMaConnection (props: StreamProperties, options: StreamOptions = {}) {
49
- const { stream, remoteAddr, localAddr } = props
42
+ const { stream, remoteAddr } = props
50
43
  const { sink, source } = stream
51
44
  const maConn: MultiaddrConnection = {
52
45
  async sink (source) {
53
46
  if (options.signal != null) {
54
- source = abortable(source, options.signal)
47
+ source = abortableSource(source, options.signal)
55
48
  }
56
49
 
57
50
  try {
@@ -67,9 +60,7 @@ export function streamToMaConnection (props: StreamProperties, options: StreamOp
67
60
  }
68
61
  }
69
62
  },
70
- source: (options.signal != null) ? abortable(source, options.signal) : source,
71
- conn: stream,
72
- localAddr,
63
+ source: (options.signal != null) ? abortableSource(source, options.signal) : source,
73
64
  remoteAddr,
74
65
  /** @type {Timeline} */
75
66
  timeline: { open: Date.now(), close: undefined },