@helia/routers 4.0.6-8dd50c61 → 4.0.6-ec266508

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.
@@ -3,5 +3,11 @@ import type { Routing } from '@helia/interface';
3
3
  /**
4
4
  * Creates a Helia Router that connects to an endpoint that supports the [Delegated Routing V1 HTTP API](https://specs.ipfs.tech/routing/http-routing-v1/) spec.
5
5
  */
6
- export declare function delegatedHTTPRouting(init: DelegatedRoutingV1HttpApiClientInit): (components: any) => Routing;
6
+ export declare function delegatedHTTPRouting(init: DelegatedRoutingV1HttpApiClientInit & {
7
+ url: string | URL;
8
+ }): (components: any) => Routing;
9
+ /**
10
+ * @deprecated Use `delegatedHTTPRouting(init)` instead
11
+ */
12
+ export declare function delegatedHTTPRouting(url: string | URL, init?: DelegatedRoutingV1HttpApiClientInit): Routing;
7
13
  //# sourceMappingURL=delegated-http-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-http-routing.d.ts","sourceRoot":"","sources":["../../src/delegated-http-routing.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAA8E,mCAAmC,EAAE,MAAM,6CAA6C,CAAA;AAClL,OAAO,KAAK,EAAY,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AA6FzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,mCAAmC,GAAG,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAE7G"}
1
+ {"version":3,"file":"delegated-http-routing.d.ts","sourceRoot":"","sources":["../../src/delegated-http-routing.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAA8E,mCAAmC,EAAE,MAAM,6CAA6C,CAAA;AAClL,OAAO,KAAK,EAAY,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AA6FzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,mCAAmC,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAA;AACtI;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,mCAAmC,GAAG,OAAO,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { delegatedRoutingV1HttpApiClient } from '@helia/delegated-routing-v1-http-api-client';
2
2
  import { NotFoundError } from '@libp2p/interface';
3
+ import { defaultLogger } from '@libp2p/logger';
3
4
  import { marshalIPNSRecord, multihashFromIPNSRoutingKey, unmarshalIPNSRecord } from 'ipns';
4
5
  import first from 'it-first';
5
6
  import map from 'it-map';
@@ -77,10 +78,19 @@ class DelegatedHTTPRouter {
77
78
  return `DelegatedHTTPRouter(${this.client.url})`;
78
79
  }
79
80
  }
80
- /**
81
- * Creates a Helia Router that connects to an endpoint that supports the [Delegated Routing V1 HTTP API](https://specs.ipfs.tech/routing/http-routing-v1/) spec.
82
- */
83
- export function delegatedHTTPRouting(init) {
84
- return (components) => new DelegatedHTTPRouter(components, delegatedHTTPRoutingDefaults(init));
81
+ export function delegatedHTTPRouting(url, init) {
82
+ if (typeof url === 'string' || url instanceof URL) {
83
+ return new DelegatedHTTPRouter({
84
+ logger: defaultLogger()
85
+ }, {
86
+ ...delegatedHTTPRoutingDefaults(),
87
+ ...init,
88
+ url: new URL(url)
89
+ });
90
+ }
91
+ return (components) => new DelegatedHTTPRouter(components, {
92
+ ...delegatedHTTPRoutingDefaults(),
93
+ ...url
94
+ });
85
95
  }
86
96
  //# sourceMappingURL=delegated-http-routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-http-routing.js","sourceRoot":"","sources":["../../src/delegated-http-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegated-http-routing.js","sourceRoot":"","sources":["../../src/delegated-http-routing.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import type { DelegatedRoutingV1HttpApiClientInit } from '@helia/delegated-routing-v1-http-api-client';
2
- export declare function delegatedHTTPRoutingDefaults(init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit;
2
+ export declare function delegatedHTTPRoutingDefaults(init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit & {
3
+ url: string;
4
+ };
3
5
  //# sourceMappingURL=delegated-http-routing-defaults.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-http-routing-defaults.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/delegated-http-routing-defaults.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAA;AAEtG,wBAAgB,4BAA4B,CAAE,IAAI,CAAC,EAAE,mCAAmC,GAAG,mCAAmC,CAM7H"}
1
+ {"version":3,"file":"delegated-http-routing-defaults.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/delegated-http-routing-defaults.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAA;AAEtG,wBAAgB,4BAA4B,CAAE,IAAI,CAAC,EAAE,mCAAmC,GAAG,mCAAmC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAM/I"}
@@ -1,3 +1,5 @@
1
1
  import type { DelegatedRoutingV1HttpApiClientInit } from '@helia/delegated-routing-v1-http-api-client';
2
- export declare function delegatedHTTPRoutingDefaults(init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit;
2
+ export declare function delegatedHTTPRoutingDefaults(init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit & {
3
+ url: string;
4
+ };
3
5
  //# sourceMappingURL=delegated-http-routing-defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-http-routing-defaults.d.ts","sourceRoot":"","sources":["../../../src/utils/delegated-http-routing-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAA;AAEtG,wBAAgB,4BAA4B,CAAE,IAAI,CAAC,EAAE,mCAAmC,GAAG,mCAAmC,CAO7H"}
1
+ {"version":3,"file":"delegated-http-routing-defaults.d.ts","sourceRoot":"","sources":["../../../src/utils/delegated-http-routing-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAA;AAEtG,wBAAgB,4BAA4B,CAAE,IAAI,CAAC,EAAE,mCAAmC,GAAG,mCAAmC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAO/I"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/routers",
3
- "version": "4.0.6-8dd50c61",
3
+ "version": "4.0.6-ec266508",
4
4
  "description": "Routers for Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/routers#readme",
@@ -47,9 +47,10 @@
47
47
  "test:electron-main": "aegir test -t electron-main"
48
48
  },
49
49
  "dependencies": {
50
- "@helia/delegated-routing-v1-http-api-client": "^6.0.0",
51
- "@helia/interface": "6.0.2-8dd50c61",
50
+ "@helia/delegated-routing-v1-http-api-client": "^5.1.2",
51
+ "@helia/interface": "6.0.2-ec266508",
52
52
  "@libp2p/interface": "^3.1.0",
53
+ "@libp2p/logger": "^6.2.0",
53
54
  "@libp2p/peer-id": "^6.0.3",
54
55
  "@multiformats/uri-to-multiaddr": "^10.0.0",
55
56
  "ipns": "^10.1.2",
@@ -60,7 +61,6 @@
60
61
  },
61
62
  "devDependencies": {
62
63
  "@libp2p/crypto": "^5.1.12",
63
- "@libp2p/logger": "^6.2.0",
64
64
  "aegir": "^47.0.22",
65
65
  "it-all": "^3.0.9",
66
66
  "it-drain": "^3.0.10",
@@ -1,5 +1,6 @@
1
1
  import { delegatedRoutingV1HttpApiClient } from '@helia/delegated-routing-v1-http-api-client'
2
2
  import { NotFoundError } from '@libp2p/interface'
3
+ import { defaultLogger } from '@libp2p/logger'
3
4
  import { marshalIPNSRecord, multihashFromIPNSRoutingKey, unmarshalIPNSRecord } from 'ipns'
4
5
  import first from 'it-first'
5
6
  import map from 'it-map'
@@ -21,7 +22,7 @@ function isIPNSKey (key: Uint8Array): boolean {
21
22
  class DelegatedHTTPRouter implements Routing {
22
23
  private readonly client: DelegatedRoutingV1HttpApiClient
23
24
 
24
- constructor (components: DelegatedRoutingV1HttpApiClientComponents, init: DelegatedRoutingV1HttpApiClientInit) {
25
+ constructor (components: DelegatedRoutingV1HttpApiClientComponents, init: DelegatedRoutingV1HttpApiClientInit & { url: string | URL }) {
25
26
  this.client = delegatedRoutingV1HttpApiClient(init)(components)
26
27
  }
27
28
 
@@ -104,6 +105,24 @@ class DelegatedHTTPRouter implements Routing {
104
105
  /**
105
106
  * Creates a Helia Router that connects to an endpoint that supports the [Delegated Routing V1 HTTP API](https://specs.ipfs.tech/routing/http-routing-v1/) spec.
106
107
  */
107
- export function delegatedHTTPRouting (init: DelegatedRoutingV1HttpApiClientInit): (components: any) => Routing {
108
- return (components: any) => new DelegatedHTTPRouter(components, delegatedHTTPRoutingDefaults(init))
108
+ export function delegatedHTTPRouting (init: DelegatedRoutingV1HttpApiClientInit & { url: string | URL }): (components: any) => Routing
109
+ /**
110
+ * @deprecated Use `delegatedHTTPRouting(init)` instead
111
+ */
112
+ export function delegatedHTTPRouting (url: string | URL, init?: DelegatedRoutingV1HttpApiClientInit): Routing
113
+ export function delegatedHTTPRouting (url: string | URL | (DelegatedRoutingV1HttpApiClientInit & { url: string | URL }), init?: DelegatedRoutingV1HttpApiClientInit): Routing | ((components: any) => Routing) {
114
+ if (typeof url === 'string' || url instanceof URL) {
115
+ return new DelegatedHTTPRouter({
116
+ logger: defaultLogger()
117
+ }, {
118
+ ...delegatedHTTPRoutingDefaults(),
119
+ ...init,
120
+ url: new URL(url)
121
+ })
122
+ }
123
+
124
+ return (components: any) => new DelegatedHTTPRouter(components, {
125
+ ...delegatedHTTPRoutingDefaults(),
126
+ ...url
127
+ })
109
128
  }
@@ -1,6 +1,6 @@
1
1
  import type { DelegatedRoutingV1HttpApiClientInit } from '@helia/delegated-routing-v1-http-api-client'
2
2
 
3
- export function delegatedHTTPRoutingDefaults (init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit {
3
+ export function delegatedHTTPRoutingDefaults (init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit & { url: string } {
4
4
  return {
5
5
  url: 'https://delegated-ipfs.dev',
6
6
  filterProtocols: ['unknown', 'transport-bitswap', 'transport-ipfs-gateway-http'],
@@ -1,6 +1,6 @@
1
1
  import type { DelegatedRoutingV1HttpApiClientInit } from '@helia/delegated-routing-v1-http-api-client'
2
2
 
3
- export function delegatedHTTPRoutingDefaults (init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit {
3
+ export function delegatedHTTPRoutingDefaults (init?: DelegatedRoutingV1HttpApiClientInit): DelegatedRoutingV1HttpApiClientInit & { url: string } {
4
4
  return {
5
5
  url: 'https://delegated-ipfs.dev',
6
6
  filterProtocols: ['unknown', 'transport-bitswap', 'transport-ipfs-gateway-http'],