@libp2p/daemon-client 4.0.1 → 4.0.2
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/README.md +3 -3
- package/dist/index.min.js +7 -0
- package/dist/src/dht.js +30 -30
- package/dist/src/dht.js.map +1 -1
- package/dist/src/index.js +21 -21
- package/dist/src/index.js.map +1 -1
- package/dist/src/pubsub.js +12 -12
- package/dist/src/pubsub.js.map +1 -1
- package/package.json +5 -5
- package/src/dht.ts +30 -30
- package/src/index.ts +21 -21
- package/src/pubsub.ts +12 -12
package/dist/src/dht.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
3
|
-
import
|
|
3
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
4
4
|
import { Request, Response, DHTRequest, DHTResponse } from '@libp2p/daemon-protocol';
|
|
5
5
|
import { isPeerId } from '@libp2p/interface-peer-id';
|
|
6
6
|
import { peerIdFromBytes } from '@libp2p/peer-id';
|
|
@@ -13,10 +13,10 @@ export class DHT {
|
|
|
13
13
|
*/
|
|
14
14
|
async put(key, value) {
|
|
15
15
|
if (!(key instanceof Uint8Array)) {
|
|
16
|
-
throw
|
|
16
|
+
throw new CodeError('invalid key received', 'ERR_INVALID_KEY');
|
|
17
17
|
}
|
|
18
18
|
if (!(value instanceof Uint8Array)) {
|
|
19
|
-
throw
|
|
19
|
+
throw new CodeError('value received is not a Uint8Array', 'ERR_INVALID_VALUE');
|
|
20
20
|
}
|
|
21
21
|
const sh = await this.client.send({
|
|
22
22
|
type: Request.Type.DHT,
|
|
@@ -28,12 +28,12 @@ export class DHT {
|
|
|
28
28
|
});
|
|
29
29
|
const message = await sh.read();
|
|
30
30
|
if (message == null) {
|
|
31
|
-
throw
|
|
31
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
32
32
|
}
|
|
33
33
|
const response = Response.decode(message);
|
|
34
34
|
await sh.close();
|
|
35
35
|
if (response.type !== Response.Type.OK) {
|
|
36
|
-
throw
|
|
36
|
+
throw new CodeError(response.error?.msg ?? 'DHT put failed', 'ERR_DHT_PUT_FAILED');
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
@@ -41,7 +41,7 @@ export class DHT {
|
|
|
41
41
|
*/
|
|
42
42
|
async get(key) {
|
|
43
43
|
if (!(key instanceof Uint8Array)) {
|
|
44
|
-
throw
|
|
44
|
+
throw new CodeError('invalid key received', 'ERR_INVALID_KEY');
|
|
45
45
|
}
|
|
46
46
|
const sh = await this.client.send({
|
|
47
47
|
type: Request.Type.DHT,
|
|
@@ -52,15 +52,15 @@ export class DHT {
|
|
|
52
52
|
});
|
|
53
53
|
const message = await sh.read();
|
|
54
54
|
if (message == null) {
|
|
55
|
-
throw
|
|
55
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
56
56
|
}
|
|
57
57
|
const response = Response.decode(message);
|
|
58
58
|
await sh.close();
|
|
59
59
|
if (response.type !== Response.Type.OK) {
|
|
60
|
-
throw
|
|
60
|
+
throw new CodeError(response.error?.msg ?? 'DHT get failed', 'ERR_DHT_GET_FAILED');
|
|
61
61
|
}
|
|
62
62
|
if (response.dht == null || response.dht.value == null) {
|
|
63
|
-
throw
|
|
63
|
+
throw new CodeError('Invalid DHT get response', 'ERR_DHT_GET_FAILED');
|
|
64
64
|
}
|
|
65
65
|
return response.dht.value;
|
|
66
66
|
}
|
|
@@ -69,7 +69,7 @@ export class DHT {
|
|
|
69
69
|
*/
|
|
70
70
|
async findPeer(peerId) {
|
|
71
71
|
if (!isPeerId(peerId)) {
|
|
72
|
-
throw
|
|
72
|
+
throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID');
|
|
73
73
|
}
|
|
74
74
|
const sh = await this.client.send({
|
|
75
75
|
type: Request.Type.DHT,
|
|
@@ -80,15 +80,15 @@ export class DHT {
|
|
|
80
80
|
});
|
|
81
81
|
const message = await sh.read();
|
|
82
82
|
if (message == null) {
|
|
83
|
-
throw
|
|
83
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
84
84
|
}
|
|
85
85
|
const response = Response.decode(message);
|
|
86
86
|
await sh.close();
|
|
87
87
|
if (response.type !== Response.Type.OK) {
|
|
88
|
-
throw
|
|
88
|
+
throw new CodeError(response.error?.msg ?? 'DHT find peer failed', 'ERR_DHT_FIND_PEER_FAILED');
|
|
89
89
|
}
|
|
90
90
|
if (response.dht == null || response.dht.peer == null || response.dht.peer.addrs == null) {
|
|
91
|
-
throw
|
|
91
|
+
throw new CodeError('Invalid response', 'ERR_DHT_FIND_PEER_FAILED');
|
|
92
92
|
}
|
|
93
93
|
return {
|
|
94
94
|
id: peerIdFromBytes(response.dht.peer.id),
|
|
@@ -101,7 +101,7 @@ export class DHT {
|
|
|
101
101
|
*/
|
|
102
102
|
async provide(cid) {
|
|
103
103
|
if (cid == null || CID.asCID(cid) == null) {
|
|
104
|
-
throw
|
|
104
|
+
throw new CodeError('invalid cid received', 'ERR_INVALID_CID');
|
|
105
105
|
}
|
|
106
106
|
const sh = await this.client.send({
|
|
107
107
|
type: Request.Type.DHT,
|
|
@@ -112,12 +112,12 @@ export class DHT {
|
|
|
112
112
|
});
|
|
113
113
|
const message = await sh.read();
|
|
114
114
|
if (message == null) {
|
|
115
|
-
throw
|
|
115
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
116
116
|
}
|
|
117
117
|
const response = Response.decode(message);
|
|
118
118
|
await sh.close();
|
|
119
119
|
if (response.type !== Response.Type.OK) {
|
|
120
|
-
throw
|
|
120
|
+
throw new CodeError(response.error?.msg ?? 'DHT provide failed', 'ERR_DHT_PROVIDE_FAILED');
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
@@ -125,7 +125,7 @@ export class DHT {
|
|
|
125
125
|
*/
|
|
126
126
|
async *findProviders(cid, count = 1) {
|
|
127
127
|
if (cid == null || CID.asCID(cid) == null) {
|
|
128
|
-
throw
|
|
128
|
+
throw new CodeError('invalid cid received', 'ERR_INVALID_CID');
|
|
129
129
|
}
|
|
130
130
|
const sh = await this.client.send({
|
|
131
131
|
type: Request.Type.DHT,
|
|
@@ -137,18 +137,18 @@ export class DHT {
|
|
|
137
137
|
});
|
|
138
138
|
let message = await sh.read();
|
|
139
139
|
if (message == null) {
|
|
140
|
-
throw
|
|
140
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
141
141
|
}
|
|
142
142
|
// stream begin message
|
|
143
143
|
const response = Response.decode(message);
|
|
144
144
|
if (response.type !== Response.Type.OK) {
|
|
145
145
|
await sh.close();
|
|
146
|
-
throw
|
|
146
|
+
throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED');
|
|
147
147
|
}
|
|
148
148
|
while (true) {
|
|
149
149
|
message = await sh.read();
|
|
150
150
|
if (message == null) {
|
|
151
|
-
throw
|
|
151
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
152
152
|
}
|
|
153
153
|
const response = DHTResponse.decode(message);
|
|
154
154
|
// Stream end
|
|
@@ -167,7 +167,7 @@ export class DHT {
|
|
|
167
167
|
else {
|
|
168
168
|
// Unexpected message received
|
|
169
169
|
await sh.close();
|
|
170
|
-
throw
|
|
170
|
+
throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED');
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
}
|
|
@@ -176,7 +176,7 @@ export class DHT {
|
|
|
176
176
|
*/
|
|
177
177
|
async *getClosestPeers(key) {
|
|
178
178
|
if (!(key instanceof Uint8Array)) {
|
|
179
|
-
throw
|
|
179
|
+
throw new CodeError('invalid key received', 'ERR_INVALID_KEY');
|
|
180
180
|
}
|
|
181
181
|
const sh = await this.client.send({
|
|
182
182
|
type: Request.Type.DHT,
|
|
@@ -188,17 +188,17 @@ export class DHT {
|
|
|
188
188
|
// stream begin message
|
|
189
189
|
let message = await sh.read();
|
|
190
190
|
if (message == null) {
|
|
191
|
-
throw
|
|
191
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
192
192
|
}
|
|
193
193
|
const response = Response.decode(message);
|
|
194
194
|
if (response.type !== Response.Type.OK) {
|
|
195
195
|
await sh.close();
|
|
196
|
-
throw
|
|
196
|
+
throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED');
|
|
197
197
|
}
|
|
198
198
|
while (true) {
|
|
199
199
|
message = await sh.read();
|
|
200
200
|
if (message == null) {
|
|
201
|
-
throw
|
|
201
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
202
202
|
}
|
|
203
203
|
const response = DHTResponse.decode(message);
|
|
204
204
|
// Stream end
|
|
@@ -218,7 +218,7 @@ export class DHT {
|
|
|
218
218
|
else {
|
|
219
219
|
// Unexpected message received
|
|
220
220
|
await sh.close();
|
|
221
|
-
throw
|
|
221
|
+
throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED');
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
}
|
|
@@ -227,7 +227,7 @@ export class DHT {
|
|
|
227
227
|
*/
|
|
228
228
|
async getPublicKey(peerId) {
|
|
229
229
|
if (!isPeerId(peerId)) {
|
|
230
|
-
throw
|
|
230
|
+
throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID');
|
|
231
231
|
}
|
|
232
232
|
const sh = await this.client.send({
|
|
233
233
|
type: Request.Type.DHT,
|
|
@@ -238,15 +238,15 @@ export class DHT {
|
|
|
238
238
|
});
|
|
239
239
|
const message = await sh.read();
|
|
240
240
|
if (message == null) {
|
|
241
|
-
throw
|
|
241
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
242
242
|
}
|
|
243
243
|
const response = Response.decode(message);
|
|
244
244
|
await sh.close();
|
|
245
245
|
if (response.type !== Response.Type.OK) {
|
|
246
|
-
throw
|
|
246
|
+
throw new CodeError(response.error?.msg ?? 'DHT get public key failed', 'ERR_DHT_GET_PUBLIC_KEY_FAILED');
|
|
247
247
|
}
|
|
248
248
|
if (response.dht == null) {
|
|
249
|
-
throw
|
|
249
|
+
throw new CodeError('Invalid response', 'ERR_DHT_GET_PUBLIC_KEY_FAILED');
|
|
250
250
|
}
|
|
251
251
|
return response.dht.value;
|
|
252
252
|
}
|
package/dist/src/dht.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
2
2
|
import { tcp } from '@libp2p/tcp';
|
|
3
3
|
import { Request, Response, StreamInfo } from '@libp2p/daemon-protocol';
|
|
4
4
|
import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
|
|
@@ -46,14 +46,14 @@ class Client {
|
|
|
46
46
|
*/
|
|
47
47
|
async connect(peerId, addrs) {
|
|
48
48
|
if (!isPeerId(peerId)) {
|
|
49
|
-
throw
|
|
49
|
+
throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID');
|
|
50
50
|
}
|
|
51
51
|
if (!Array.isArray(addrs)) {
|
|
52
|
-
throw
|
|
52
|
+
throw new CodeError('addrs received are not in an array', 'ERR_INVALID_ADDRS_TYPE');
|
|
53
53
|
}
|
|
54
54
|
addrs.forEach((addr) => {
|
|
55
55
|
if (!isMultiaddr(addr)) {
|
|
56
|
-
throw
|
|
56
|
+
throw new CodeError('received an address that is not a multiaddr', 'ERR_NO_MULTIADDR_RECEIVED');
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
const sh = await this.send({
|
|
@@ -65,12 +65,12 @@ class Client {
|
|
|
65
65
|
});
|
|
66
66
|
const message = await sh.read();
|
|
67
67
|
if (message == null) {
|
|
68
|
-
throw
|
|
68
|
+
throw new CodeError('unspecified', 'ERR_CONNECT_FAILED');
|
|
69
69
|
}
|
|
70
70
|
const response = Response.decode(message);
|
|
71
71
|
if (response.type !== Response.Type.OK) {
|
|
72
72
|
const errResponse = response.error ?? { msg: 'unspecified' };
|
|
73
|
-
throw
|
|
73
|
+
throw new CodeError(errResponse.msg ?? 'unspecified', 'ERR_CONNECT_FAILED');
|
|
74
74
|
}
|
|
75
75
|
await sh.close();
|
|
76
76
|
}
|
|
@@ -88,14 +88,14 @@ class Client {
|
|
|
88
88
|
});
|
|
89
89
|
const message = await sh.read();
|
|
90
90
|
if (message == null) {
|
|
91
|
-
throw
|
|
91
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
92
92
|
}
|
|
93
93
|
const response = Response.decode(message);
|
|
94
94
|
if (response.type !== Response.Type.OK) {
|
|
95
|
-
throw
|
|
95
|
+
throw new CodeError(response.error?.msg ?? 'Identify failed', 'ERR_IDENTIFY_FAILED');
|
|
96
96
|
}
|
|
97
97
|
if (response.identify == null || response.identify.addrs == null) {
|
|
98
|
-
throw
|
|
98
|
+
throw new CodeError('Invalid response', 'ERR_IDENTIFY_FAILED');
|
|
99
99
|
}
|
|
100
100
|
const peerId = peerIdFromBytes(response.identify?.id);
|
|
101
101
|
const addrs = response.identify.addrs.map((a) => multiaddr(a));
|
|
@@ -111,11 +111,11 @@ class Client {
|
|
|
111
111
|
});
|
|
112
112
|
const message = await sh.read();
|
|
113
113
|
if (message == null) {
|
|
114
|
-
throw
|
|
114
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
115
115
|
}
|
|
116
116
|
const response = Response.decode(message);
|
|
117
117
|
if (response.type !== Response.Type.OK) {
|
|
118
|
-
throw
|
|
118
|
+
throw new CodeError(response.error?.msg ?? 'List peers failed', 'ERR_LIST_PEERS_FAILED');
|
|
119
119
|
}
|
|
120
120
|
await sh.close();
|
|
121
121
|
return response.peers.map((peer) => peerIdFromBytes(peer.id));
|
|
@@ -125,10 +125,10 @@ class Client {
|
|
|
125
125
|
*/
|
|
126
126
|
async openStream(peerId, protocol) {
|
|
127
127
|
if (!isPeerId(peerId)) {
|
|
128
|
-
throw
|
|
128
|
+
throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID');
|
|
129
129
|
}
|
|
130
130
|
if (typeof protocol !== 'string') {
|
|
131
|
-
throw
|
|
131
|
+
throw new CodeError('invalid protocol received', 'ERR_INVALID_PROTOCOL');
|
|
132
132
|
}
|
|
133
133
|
const sh = await this.send({
|
|
134
134
|
type: Request.Type.STREAM_OPEN,
|
|
@@ -139,12 +139,12 @@ class Client {
|
|
|
139
139
|
});
|
|
140
140
|
const message = await sh.read();
|
|
141
141
|
if (message == null) {
|
|
142
|
-
throw
|
|
142
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
143
143
|
}
|
|
144
144
|
const response = Response.decode(message);
|
|
145
145
|
if (response.type !== Response.Type.OK) {
|
|
146
146
|
await sh.close();
|
|
147
|
-
throw
|
|
147
|
+
throw new CodeError(response.error?.msg ?? 'Open stream failed', 'ERR_OPEN_STREAM_FAILED');
|
|
148
148
|
}
|
|
149
149
|
return sh.rest();
|
|
150
150
|
}
|
|
@@ -153,7 +153,7 @@ class Client {
|
|
|
153
153
|
*/
|
|
154
154
|
async registerStreamHandler(protocol, handler) {
|
|
155
155
|
if (typeof protocol !== 'string') {
|
|
156
|
-
throw
|
|
156
|
+
throw new CodeError('invalid protocol received', 'ERR_INVALID_PROTOCOL');
|
|
157
157
|
}
|
|
158
158
|
// open a tcp port, pipe any data from it to the handler function
|
|
159
159
|
const listener = this.tcp.createListener({
|
|
@@ -167,11 +167,11 @@ class Client {
|
|
|
167
167
|
});
|
|
168
168
|
const message = await sh.read();
|
|
169
169
|
if (message == null) {
|
|
170
|
-
throw
|
|
170
|
+
throw new CodeError('Could not read open stream response', 'ERR_OPEN_STREAM_FAILED');
|
|
171
171
|
}
|
|
172
172
|
const response = StreamInfo.decode(message);
|
|
173
173
|
if (response.proto !== protocol) {
|
|
174
|
-
throw
|
|
174
|
+
throw new CodeError('Incorrect protocol', 'ERR_OPEN_STREAM_FAILED');
|
|
175
175
|
}
|
|
176
176
|
await handler(sh.rest());
|
|
177
177
|
})
|
|
@@ -190,7 +190,7 @@ class Client {
|
|
|
190
190
|
await listener.listen(multiaddr('/ip4/127.0.0.1/tcp/0'));
|
|
191
191
|
const address = listener.getAddrs()[0];
|
|
192
192
|
if (address == null) {
|
|
193
|
-
throw
|
|
193
|
+
throw new CodeError('Could not listen on port', 'ERR_REGISTER_STREAM_HANDLER_FAILED');
|
|
194
194
|
}
|
|
195
195
|
const sh = await this.send({
|
|
196
196
|
type: Request.Type.STREAM_HANDLER,
|
|
@@ -201,12 +201,12 @@ class Client {
|
|
|
201
201
|
});
|
|
202
202
|
const message = await sh.read();
|
|
203
203
|
if (message == null) {
|
|
204
|
-
throw
|
|
204
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
205
205
|
}
|
|
206
206
|
const response = Response.decode(message);
|
|
207
207
|
await sh.close();
|
|
208
208
|
if (response.type !== Response.Type.OK) {
|
|
209
|
-
throw
|
|
209
|
+
throw new CodeError(response.error?.msg ?? 'Register stream handler failed', 'ERR_REGISTER_STREAM_HANDLER_FAILED');
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/pubsub.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
2
2
|
import { Request, Response, PSRequest, PSMessage } from '@libp2p/daemon-protocol';
|
|
3
3
|
export class Pubsub {
|
|
4
4
|
constructor(client) {
|
|
@@ -18,15 +18,15 @@ export class Pubsub {
|
|
|
18
18
|
});
|
|
19
19
|
const message = await sh.read();
|
|
20
20
|
if (message == null) {
|
|
21
|
-
throw
|
|
21
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
22
22
|
}
|
|
23
23
|
const response = Response.decode(message);
|
|
24
24
|
await sh.close();
|
|
25
25
|
if (response.type !== Response.Type.OK) {
|
|
26
|
-
throw
|
|
26
|
+
throw new CodeError(response.error?.msg ?? 'Pubsub get topics failed', 'ERR_PUBSUB_GET_TOPICS_FAILED');
|
|
27
27
|
}
|
|
28
28
|
if (response.pubsub == null || response.pubsub.topics == null) {
|
|
29
|
-
throw
|
|
29
|
+
throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_TOPICS_FAILED');
|
|
30
30
|
}
|
|
31
31
|
return response.pubsub.topics;
|
|
32
32
|
}
|
|
@@ -35,10 +35,10 @@ export class Pubsub {
|
|
|
35
35
|
*/
|
|
36
36
|
async publish(topic, data) {
|
|
37
37
|
if (typeof topic !== 'string') {
|
|
38
|
-
throw
|
|
38
|
+
throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC');
|
|
39
39
|
}
|
|
40
40
|
if (!(data instanceof Uint8Array)) {
|
|
41
|
-
throw
|
|
41
|
+
throw new CodeError('data received is not a Uint8Array', 'ERR_INVALID_DATA');
|
|
42
42
|
}
|
|
43
43
|
const sh = await this.client.send({
|
|
44
44
|
type: Request.Type.PUBSUB,
|
|
@@ -50,12 +50,12 @@ export class Pubsub {
|
|
|
50
50
|
});
|
|
51
51
|
const message = await sh.read();
|
|
52
52
|
if (message == null) {
|
|
53
|
-
throw
|
|
53
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
54
54
|
}
|
|
55
55
|
const response = Response.decode(message);
|
|
56
56
|
await sh.close();
|
|
57
57
|
if (response.type !== Response.Type.OK) {
|
|
58
|
-
throw
|
|
58
|
+
throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
@@ -63,7 +63,7 @@ export class Pubsub {
|
|
|
63
63
|
*/
|
|
64
64
|
async *subscribe(topic) {
|
|
65
65
|
if (typeof topic !== 'string') {
|
|
66
|
-
throw
|
|
66
|
+
throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC');
|
|
67
67
|
}
|
|
68
68
|
const sh = await this.client.send({
|
|
69
69
|
type: Request.Type.PUBSUB,
|
|
@@ -74,17 +74,17 @@ export class Pubsub {
|
|
|
74
74
|
});
|
|
75
75
|
let message = await sh.read();
|
|
76
76
|
if (message == null) {
|
|
77
|
-
throw
|
|
77
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
78
78
|
}
|
|
79
79
|
const response = Response.decode(message);
|
|
80
80
|
if (response.type !== Response.Type.OK) {
|
|
81
|
-
throw
|
|
81
|
+
throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED');
|
|
82
82
|
}
|
|
83
83
|
// stream messages
|
|
84
84
|
while (true) {
|
|
85
85
|
message = await sh.read();
|
|
86
86
|
if (message == null) {
|
|
87
|
-
throw
|
|
87
|
+
throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
|
|
88
88
|
}
|
|
89
89
|
yield PSMessage.decode(message);
|
|
90
90
|
}
|
package/dist/src/pubsub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/daemon-client",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.2",
|
|
4
4
|
"description": "libp2p-daemon client implementation",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/master/packages/libp2p-daemon-client#readme",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"types": "./dist/src/index.d.ts",
|
|
23
23
|
"files": [
|
|
24
24
|
"src",
|
|
25
|
-
"dist
|
|
25
|
+
"dist",
|
|
26
26
|
"!dist/test",
|
|
27
27
|
"!**/*.tsbuildinfo"
|
|
28
28
|
],
|
|
@@ -138,11 +138,11 @@
|
|
|
138
138
|
"@libp2p/interface-peer-id": "^2.0.0",
|
|
139
139
|
"@libp2p/interface-peer-info": "^1.0.1",
|
|
140
140
|
"@libp2p/interface-transport": "^2.0.0",
|
|
141
|
+
"@libp2p/interfaces": "^3.2.0",
|
|
141
142
|
"@libp2p/logger": "^2.0.0",
|
|
142
143
|
"@libp2p/peer-id": "^2.0.0",
|
|
143
144
|
"@libp2p/tcp": "^6.0.8",
|
|
144
145
|
"@multiformats/multiaddr": "^11.0.0",
|
|
145
|
-
"err-code": "^3.0.1",
|
|
146
146
|
"it-stream-types": "^1.0.4",
|
|
147
147
|
"multiformats": "^11.0.0",
|
|
148
148
|
"uint8arraylist": "^2.3.2"
|
|
@@ -155,10 +155,10 @@
|
|
|
155
155
|
"@libp2p/interface-peer-store": "^1.0.0",
|
|
156
156
|
"@libp2p/interface-pubsub": "^3.0.0",
|
|
157
157
|
"@libp2p/peer-id-factory": "^2.0.0",
|
|
158
|
-
"aegir": "^37.
|
|
158
|
+
"aegir": "^37.9.1",
|
|
159
159
|
"it-all": "^2.0.0",
|
|
160
160
|
"it-pipe": "^2.0.3",
|
|
161
|
-
"sinon": "^
|
|
161
|
+
"sinon": "^15.0.1",
|
|
162
162
|
"sinon-ts": "^1.0.0",
|
|
163
163
|
"uint8arrays": "^4.0.2"
|
|
164
164
|
}
|