helia 7.0.5 → 7.1.0
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/dist/index.min.js +5 -5
- package/dist/index.min.js.map +3 -3
- package/dist/src/routing.d.ts.map +1 -1
- package/dist/src/routing.js +88 -77
- package/dist/src/routing.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +6 -6
- package/src/routing.ts +66 -51
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,kCAAkC,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,oCAAoC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5U,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,OAAQ,YAAW,gBAAgB,EAAE,SAAS;IAClD,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;gBAErC,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW;IA6BvD,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,kCAAkC,CAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,kCAAkC,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,oCAAoC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5U,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,OAAQ,YAAW,gBAAgB,EAAE,SAAS;IAClD,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;gBAErC,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW;IA6BvD,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,kCAAkC,CAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;IAkI3H;;;OAGG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,4BAA4B,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7F,eAAe,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,oCAAoC,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnH;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjH;;;OAGG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAkDjH;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDhG;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,cAAc,CAAC,oCAAoC,CAAM,GAAG,aAAa,CAAC,IAAI,CAAC;CA8BnI"}
|
package/dist/src/routing.js
CHANGED
|
@@ -59,94 +59,105 @@ export class Routing {
|
|
|
59
59
|
if (this.routers.length === 0) {
|
|
60
60
|
throw new NoRoutersAvailableError('No content routers available');
|
|
61
61
|
}
|
|
62
|
-
// provider multiaddrs are only cached for a limited time, so they can come
|
|
63
|
-
// back as an empty array - when this happens we have to do a FIND_PEER
|
|
64
|
-
// query to get updated addresses, but we shouldn't block on this so use a
|
|
65
|
-
// separate bounded queue to perform this lookup
|
|
66
|
-
const queue = new Queue({
|
|
67
|
-
concurrency: this.providerLookupConcurrency
|
|
68
|
-
});
|
|
69
62
|
let foundProviders = 0;
|
|
70
63
|
const errors = [];
|
|
71
64
|
const self = this;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
65
|
+
async function* findProviders(routers) {
|
|
66
|
+
let routersFinished = 0;
|
|
67
|
+
const streams = routers.map(async function* (router) {
|
|
68
|
+
let foundProviders = 0;
|
|
69
|
+
options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:start', {
|
|
70
|
+
router: router.name,
|
|
71
|
+
cid: key
|
|
72
|
+
}));
|
|
73
|
+
try {
|
|
74
|
+
for await (const prov of router.findProviders(key, options)) {
|
|
75
|
+
foundProviders++;
|
|
76
|
+
// @ts-expect-error router.name is a string, needs to be specific
|
|
77
|
+
options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:provider', {
|
|
78
|
+
router: router.name,
|
|
79
|
+
cid: key,
|
|
80
|
+
provider: prov
|
|
81
|
+
}));
|
|
82
|
+
yield prov;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
errors.push(err);
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
self.log('router %s found %d providers for %c', router.name, foundProviders, key);
|
|
90
|
+
options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:end', {
|
|
86
91
|
router: router.name,
|
|
87
92
|
cid: key,
|
|
88
|
-
|
|
93
|
+
found: foundProviders
|
|
89
94
|
}));
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
finally {
|
|
97
|
-
self.log('router %s found %d providers for %c', router, foundProviders, key);
|
|
98
|
-
options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:end', {
|
|
99
|
-
router: router.name,
|
|
100
|
-
cid: key,
|
|
101
|
-
found: foundProviders
|
|
102
|
-
}));
|
|
103
|
-
routersFinished++;
|
|
104
|
-
// if all routers have finished and there are no jobs to find updated
|
|
105
|
-
// peer multiaddres running or queued, cause the generator to exit
|
|
106
|
-
if (routersFinished === routers.length && queue.size === 0) {
|
|
107
|
-
queue.emitIdle();
|
|
95
|
+
routersFinished++;
|
|
96
|
+
// if all routers have finished and there are no jobs to find updated
|
|
97
|
+
// peer multiaddres running or queued, cause the generator to exit
|
|
98
|
+
if (routersFinished === routers.length && queue.size === 0) {
|
|
99
|
+
queue.emitIdle();
|
|
100
|
+
}
|
|
108
101
|
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
//
|
|
120
|
-
if (
|
|
102
|
+
});
|
|
103
|
+
// provider multiaddrs are only cached for a limited time, so they can come
|
|
104
|
+
// back as an empty array - when this happens we have to do a FIND_PEER
|
|
105
|
+
// query to get updated addresses, but we shouldn't block on this so use a
|
|
106
|
+
// separate bounded queue to perform this lookup
|
|
107
|
+
const queue = new Queue({
|
|
108
|
+
concurrency: self.providerLookupConcurrency
|
|
109
|
+
});
|
|
110
|
+
for await (const peer of merge(queue.toGenerator(), ...streams)) {
|
|
111
|
+
// the peer was yielded by a content router without multiaddrs and we
|
|
112
|
+
// failed to load them
|
|
113
|
+
if (peer == null) {
|
|
121
114
|
continue;
|
|
122
115
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
116
|
+
// have to refresh peer info for this peer to get updated multiaddrs
|
|
117
|
+
if (peer.multiaddrs.length === 0) {
|
|
118
|
+
// already looking this peer up
|
|
119
|
+
if (queue.queue.find(job => job.options.peer.equals(peer.id)) != null) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
queue.add(async () => {
|
|
123
|
+
try {
|
|
124
|
+
const provider = await self.findPeer(peer.id, options);
|
|
125
|
+
if (provider.multiaddrs.length === 0) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
...provider,
|
|
130
|
+
protocols: peer.protocols,
|
|
131
|
+
router: peer.router
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
self.log.error('could not load multiaddrs for peer %p - %e', peer.id, err);
|
|
127
136
|
return null;
|
|
128
137
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
peer: peer.id,
|
|
141
|
-
signal: options.signal
|
|
142
|
-
})
|
|
143
|
-
.catch(err => {
|
|
144
|
-
this.log.error('could not load multiaddrs for peer %p - %e', peer.id, err);
|
|
145
|
-
});
|
|
146
|
-
continue;
|
|
138
|
+
}, {
|
|
139
|
+
peer: peer.id,
|
|
140
|
+
signal: options.signal
|
|
141
|
+
})
|
|
142
|
+
.catch(err => {
|
|
143
|
+
self.log.error('could not load multiaddrs for peer %p - %e', peer.id, err);
|
|
144
|
+
});
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
foundProviders++;
|
|
148
|
+
yield peer;
|
|
147
149
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
+
}
|
|
151
|
+
const routers = supports(this.routers, 'findProviders');
|
|
152
|
+
const defaultRouters = routers.filter(r => r.capabilities == null || !r.capabilities().includes('fallback'));
|
|
153
|
+
const fallbackRouters = routers.filter(r => r.capabilities?.().includes('fallback') === true);
|
|
154
|
+
this.log('findProviders for %c start using routers %s', key, defaultRouters.map(r => r.name).join(', '));
|
|
155
|
+
// use non-fallback routers first
|
|
156
|
+
yield* findProviders(defaultRouters);
|
|
157
|
+
// only use fallback routers if no providers have been found
|
|
158
|
+
if (foundProviders === 0 && fallbackRouters.length > 0) {
|
|
159
|
+
this.log('findProviders for %c using fallback routers %s', key, fallbackRouters.map(r => r.name).join(', '));
|
|
160
|
+
yield* findProviders(fallbackRouters);
|
|
150
161
|
}
|
|
151
162
|
this.log('findProviders finished, found %d providers for %c', foundProviders, key);
|
|
152
163
|
}
|
|
@@ -229,7 +240,7 @@ export class Routing {
|
|
|
229
240
|
});
|
|
230
241
|
}
|
|
231
242
|
catch (err) {
|
|
232
|
-
this.log('router %s failed with %e', router, err);
|
|
243
|
+
this.log('router %s failed with %e', router.name, err);
|
|
233
244
|
errors.push(err);
|
|
234
245
|
throw err;
|
|
235
246
|
}
|
package/dist/src/routing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
package/dist/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helia",
|
|
3
|
-
"version": "7.0
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "An implementation of IPFS in JavaScript",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/helia#readme",
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
"prepublishOnly": "node scripts/update-version.js && npm run build"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@helia/bitswap": "^4.0.
|
|
53
|
-
"@helia/http": "^4.0.
|
|
54
|
-
"@helia/interface": "^7.0
|
|
55
|
-
"@helia/libp2p": "^1.0.
|
|
56
|
-
"@helia/utils": "^3.0.
|
|
52
|
+
"@helia/bitswap": "^4.0.6",
|
|
53
|
+
"@helia/http": "^4.0.5",
|
|
54
|
+
"@helia/interface": "^7.1.0",
|
|
55
|
+
"@helia/libp2p": "^1.0.6",
|
|
56
|
+
"@helia/utils": "^3.0.4",
|
|
57
57
|
"@ipld/dag-cbor": "^10.0.1",
|
|
58
58
|
"@ipld/dag-json": "^11.0.0",
|
|
59
59
|
"@ipld/dag-pb": "^4.1.7",
|
package/src/routing.ts
CHANGED
|
@@ -88,23 +88,14 @@ export class Routing implements RoutingInterface, Startable {
|
|
|
88
88
|
throw new NoRoutersAvailableError('No content routers available')
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
// provider multiaddrs are only cached for a limited time, so they can come
|
|
92
|
-
// back as an empty array - when this happens we have to do a FIND_PEER
|
|
93
|
-
// query to get updated addresses, but we shouldn't block on this so use a
|
|
94
|
-
// separate bounded queue to perform this lookup
|
|
95
|
-
const queue = new Queue<Provider | null, PeerQueueOptions>({
|
|
96
|
-
concurrency: this.providerLookupConcurrency
|
|
97
|
-
})
|
|
98
|
-
|
|
99
91
|
let foundProviders = 0
|
|
100
92
|
const errors: Error[] = []
|
|
101
93
|
const self = this
|
|
102
|
-
let routersFinished = 0
|
|
103
94
|
|
|
104
|
-
|
|
95
|
+
async function * findProviders (routers: Required<Pick<Router, 'findProviders' | 'name'>>[]): AsyncGenerator<Provider> {
|
|
96
|
+
let routersFinished = 0
|
|
105
97
|
|
|
106
|
-
|
|
107
|
-
.map(async function * (router) {
|
|
98
|
+
const streams = routers.map(async function * (router) {
|
|
108
99
|
let foundProviders = 0
|
|
109
100
|
|
|
110
101
|
options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:start', {
|
|
@@ -128,7 +119,7 @@ export class Routing implements RoutingInterface, Startable {
|
|
|
128
119
|
} catch (err: any) {
|
|
129
120
|
errors.push(err)
|
|
130
121
|
} finally {
|
|
131
|
-
self.log('router %s found %d providers for %c', router, foundProviders, key)
|
|
122
|
+
self.log('router %s found %d providers for %c', router.name, foundProviders, key)
|
|
132
123
|
|
|
133
124
|
options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:end', {
|
|
134
125
|
router: router.name,
|
|
@@ -146,53 +137,77 @@ export class Routing implements RoutingInterface, Startable {
|
|
|
146
137
|
}
|
|
147
138
|
})
|
|
148
139
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
continue
|
|
157
|
-
}
|
|
140
|
+
// provider multiaddrs are only cached for a limited time, so they can come
|
|
141
|
+
// back as an empty array - when this happens we have to do a FIND_PEER
|
|
142
|
+
// query to get updated addresses, but we shouldn't block on this so use a
|
|
143
|
+
// separate bounded queue to perform this lookup
|
|
144
|
+
const queue = new Queue<Provider | null, PeerQueueOptions>({
|
|
145
|
+
concurrency: self.providerLookupConcurrency
|
|
146
|
+
})
|
|
158
147
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
148
|
+
for await (const peer of merge(
|
|
149
|
+
queue.toGenerator(),
|
|
150
|
+
...streams)
|
|
151
|
+
) {
|
|
152
|
+
// the peer was yielded by a content router without multiaddrs and we
|
|
153
|
+
// failed to load them
|
|
154
|
+
if (peer == null) {
|
|
163
155
|
continue
|
|
164
156
|
}
|
|
165
157
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
158
|
+
// have to refresh peer info for this peer to get updated multiaddrs
|
|
159
|
+
if (peer.multiaddrs.length === 0) {
|
|
160
|
+
// already looking this peer up
|
|
161
|
+
if (queue.queue.find(job => job.options.peer.equals(peer.id)) != null) {
|
|
162
|
+
continue
|
|
163
|
+
}
|
|
169
164
|
|
|
170
|
-
|
|
165
|
+
queue.add(async () => {
|
|
166
|
+
try {
|
|
167
|
+
const provider = await self.findPeer(peer.id, options)
|
|
168
|
+
|
|
169
|
+
if (provider.multiaddrs.length === 0) {
|
|
170
|
+
return null
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return {
|
|
174
|
+
...provider,
|
|
175
|
+
protocols: peer.protocols,
|
|
176
|
+
router: peer.router
|
|
177
|
+
}
|
|
178
|
+
} catch (err) {
|
|
179
|
+
self.log.error('could not load multiaddrs for peer %p - %e', peer.id, err)
|
|
171
180
|
return null
|
|
172
181
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
protocols: peer.protocols,
|
|
177
|
-
router: peer.router
|
|
178
|
-
}
|
|
179
|
-
} catch (err) {
|
|
180
|
-
this.log.error('could not load multiaddrs for peer %p - %e', peer.id, err)
|
|
181
|
-
return null
|
|
182
|
-
}
|
|
183
|
-
}, {
|
|
184
|
-
peer: peer.id,
|
|
185
|
-
signal: options.signal
|
|
186
|
-
})
|
|
187
|
-
.catch(err => {
|
|
188
|
-
this.log.error('could not load multiaddrs for peer %p - %e', peer.id, err)
|
|
182
|
+
}, {
|
|
183
|
+
peer: peer.id,
|
|
184
|
+
signal: options.signal
|
|
189
185
|
})
|
|
186
|
+
.catch(err => {
|
|
187
|
+
self.log.error('could not load multiaddrs for peer %p - %e', peer.id, err)
|
|
188
|
+
})
|
|
190
189
|
|
|
191
|
-
|
|
190
|
+
continue
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
foundProviders++
|
|
194
|
+
yield peer
|
|
192
195
|
}
|
|
196
|
+
}
|
|
193
197
|
|
|
194
|
-
|
|
195
|
-
|
|
198
|
+
const routers = supports(this.routers, 'findProviders')
|
|
199
|
+
const defaultRouters = routers.filter(r => r.capabilities == null || !r.capabilities().includes('fallback'))
|
|
200
|
+
const fallbackRouters = routers.filter(r => r.capabilities?.().includes('fallback') === true)
|
|
201
|
+
|
|
202
|
+
this.log('findProviders for %c start using routers %s', key, defaultRouters.map(r => r.name).join(', '))
|
|
203
|
+
|
|
204
|
+
// use non-fallback routers first
|
|
205
|
+
yield * findProviders(defaultRouters)
|
|
206
|
+
|
|
207
|
+
// only use fallback routers if no providers have been found
|
|
208
|
+
if (foundProviders === 0 && fallbackRouters.length > 0) {
|
|
209
|
+
this.log('findProviders for %c using fallback routers %s', key, fallbackRouters.map(r => r.name).join(', '))
|
|
210
|
+
yield * findProviders(fallbackRouters)
|
|
196
211
|
}
|
|
197
212
|
|
|
198
213
|
this.log('findProviders finished, found %d providers for %c', foundProviders, key)
|
|
@@ -296,7 +311,7 @@ export class Routing implements RoutingInterface, Startable {
|
|
|
296
311
|
signal
|
|
297
312
|
})
|
|
298
313
|
} catch (err: any) {
|
|
299
|
-
this.log('router %s failed with %e', router, err)
|
|
314
|
+
this.log('router %s failed with %e', router.name, err)
|
|
300
315
|
errors.push(err)
|
|
301
316
|
throw err
|
|
302
317
|
} finally {
|
|
@@ -412,6 +427,6 @@ export class Routing implements RoutingInterface, Startable {
|
|
|
412
427
|
}
|
|
413
428
|
}
|
|
414
429
|
|
|
415
|
-
function supports <Operation extends keyof
|
|
430
|
+
function supports <Operation extends keyof Router> (routers: any[], key: Operation): Array<Required<Pick<Router, Operation | 'name'>> & Pick<Router, 'capabilities'>> {
|
|
416
431
|
return routers.filter(router => router[key] != null)
|
|
417
432
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '7.0
|
|
1
|
+
export const version = '7.1.0'
|
|
2
2
|
export const name = 'helia'
|