@leofcoin/peernet 1.1.79 → 1.1.81

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 (85) hide show
  1. package/.esdoc.json +10 -10
  2. package/.gitattributes +2 -2
  3. package/.prettierrc +7 -7
  4. package/.travis.yml +27 -27
  5. package/BREAKING_CHANGES.md +34 -34
  6. package/LICENSE +21 -21
  7. package/README.md +72 -72
  8. package/deploy.js +8 -8
  9. package/exports/browser/{browser-WUe24rfW.js → browser-DQJ6xf_F.js} +3 -3
  10. package/exports/browser/browser-store.js +168 -22
  11. package/exports/browser/{client-I9x7CFr1.js → client-C0VVXIWm.js} +66 -32
  12. package/exports/browser/{peernet-DULgegxE.js → identity-CQ_ieRiz.js} +2232 -13425
  13. package/exports/browser/identity.d.ts +1 -1
  14. package/exports/browser/identity.js +1 -0
  15. package/exports/browser/{index-sw14JvKD.js → index-BeqbCwUk.js} +1 -2
  16. package/exports/browser/{index-In1Jzp-v.js → index-CEwkDK9g.js} +10 -489
  17. package/exports/browser/{messages-lzTD4EMU.js → messages-BdevLRCA.js} +167 -166
  18. package/exports/browser/peernet-DEIKLS2i.js +13220 -0
  19. package/exports/browser/peernet.d.ts +7 -7
  20. package/exports/browser/peernet.js +3 -2
  21. package/exports/identity.js +92 -0
  22. package/exports/{messages-T3M-Ff1E.js → messages-BmpgEM4y.js} +163 -163
  23. package/exports/peernet.js +189 -273
  24. package/exports/src/prompts/password.js +3 -3
  25. package/exports/store.js +9 -2
  26. package/exports/types/identity.d.ts +1 -1
  27. package/exports/types/peernet.d.ts +7 -7
  28. package/index.html +19 -19
  29. package/package.json +71 -62
  30. package/rollup.config.js +63 -63
  31. package/src/dht/dht.ts +147 -147
  32. package/src/discovery/peer-discovery.js +75 -75
  33. package/src/errors/errors.js +12 -12
  34. package/src/handlers/data.js +15 -15
  35. package/src/handlers/message.js +34 -34
  36. package/src/identity.ts +104 -104
  37. package/src/messages/chat.js +13 -13
  38. package/src/messages/data-response.js +13 -13
  39. package/src/messages/data.js +17 -17
  40. package/src/messages/dht-response.js +13 -13
  41. package/src/messages/dht.js +21 -21
  42. package/src/messages/file-link.js +17 -17
  43. package/src/messages/file.js +17 -17
  44. package/src/messages/peer-response.js +13 -13
  45. package/src/messages/peer.js +13 -13
  46. package/src/messages/peernet.js +13 -13
  47. package/src/messages/ps.js +13 -13
  48. package/src/messages/request.js +13 -13
  49. package/src/messages/response.js +13 -13
  50. package/src/messages.js +13 -13
  51. package/src/peer-info.js +9 -9
  52. package/src/peernet.ts +817 -817
  53. package/src/prompts/password/browser.js +1 -1
  54. package/src/prompts/password/node.js +6 -6
  55. package/src/proto/chat-message.proto.js +6 -6
  56. package/src/proto/data-response.proto.js +4 -4
  57. package/src/proto/data.proto.js +4 -4
  58. package/src/proto/dht-response.proto.js +4 -4
  59. package/src/proto/dht.proto.js +4 -4
  60. package/src/proto/file-link.proto.js +5 -5
  61. package/src/proto/file.proto.js +5 -5
  62. package/src/proto/peer-response.proto.js +3 -3
  63. package/src/proto/peer.proto.js +3 -3
  64. package/src/proto/peernet.proto.js +7 -7
  65. package/src/proto/ps.proto.js +4 -4
  66. package/src/proto/request.proto.js +4 -4
  67. package/src/proto/response.proto.js +3 -3
  68. package/src/types.ts +25 -25
  69. package/src/utils/utils.js +77 -77
  70. package/test/client.js +14 -14
  71. package/test/codec.js +56 -56
  72. package/test/hash.js +13 -13
  73. package/test/index.js +3 -3
  74. package/test/lastBlock.js +7 -7
  75. package/test/messages.js +26 -26
  76. package/test/peernet.js +17 -17
  77. package/test/peernet.test.js +159 -0
  78. package/test.js +62 -62
  79. package/test2.js +13 -13
  80. package/test3.js +15 -15
  81. package/test4.js +7 -7
  82. package/tsconfig.json +11 -13
  83. /package/exports/browser/{browser-AyxSBUXj.js → browser-pguCHlVu.js} +0 -0
  84. /package/exports/browser/{qr-scanner-worker.min-RaSiJc_R.js → qr-scanner-worker.min-Dy0qkKA4.js} +0 -0
  85. /package/exports/browser/{value-wzPYMxsX.js → value-C3vAp-wb.js} +0 -0
@@ -1,5 +1,6 @@
1
- import { L as LittlePubSub } from './peernet-DULgegxE.js';
2
- import './value-wzPYMxsX.js';
1
+ import { L as LittlePubSub } from './peernet-DEIKLS2i.js';
2
+ import './identity-CQ_ieRiz.js';
3
+ import './value-C3vAp-wb.js';
3
4
 
4
5
  class Api {
5
6
  _pubsub;
@@ -188,14 +189,17 @@ class SocketRequestClient {
188
189
  #options;
189
190
  #protocol;
190
191
  #url;
192
+ #experimentalWebsocket = false;
191
193
  constructor(url, protocol, options) {
192
- let { retry, timeout, times } = options || {};
194
+ let { retry, timeout, times, experimentalWebsocket } = options || {};
193
195
  if (retry !== undefined)
194
196
  this.#retry = retry;
195
197
  if (timeout !== undefined)
196
198
  this.#timeout = timeout;
197
199
  if (times !== undefined)
198
200
  this.#times = times;
201
+ if (experimentalWebsocket !== undefined)
202
+ this.#experimentalWebsocket;
199
203
  this.#url = url;
200
204
  this.#protocol = protocol;
201
205
  this.#options = options;
@@ -205,36 +209,62 @@ class SocketRequestClient {
205
209
  return new Promise(async (resolve, reject) => {
206
210
  const init = async () => {
207
211
  // @ts-ignore
208
- if (!globalThis.WebSocket)
209
- globalThis.WebSocket = (await import('./browser-WUe24rfW.js').then(function (n) { return n.b; })).default.w3cwebsocket;
212
+ if (!globalThis.WebSocket && !this.#experimentalWebsocket)
213
+ globalThis.WebSocket = (await import('./browser-DQJ6xf_F.js').then(function (n) { return n.b; })).default.w3cwebsocket;
210
214
  const client = new WebSocket(this.#url, this.#protocol);
211
- client.onmessage = this.onmessage;
212
- client.onerror = this.onerror;
213
- client.onopen = () => {
214
- this.#tries = 0;
215
- resolve(new ClientConnection(client, this.api));
216
- };
217
- client.onclose = message => {
218
- this.#tries++;
219
- if (!this.#retry)
220
- return reject(this.#options);
221
- if (this.#tries > this.#times) {
222
- console.log(`${this.#options.protocol} Client Closed`);
223
- console.error(`could not connect to - ${this.#url}/`);
224
- return resolve(new ClientConnection(client, this.api));
225
- }
226
- if (message.code === 1006) {
227
- console.log(`Retrying in ${this.#timeout} ms`);
228
- setTimeout(() => {
229
- return init();
230
- }, this.#timeout);
231
- }
232
- };
215
+ if (this.#experimentalWebsocket) {
216
+ client.addEventListener('error', this.onerror);
217
+ client.addEventListener('message', this.onmessage);
218
+ client.addEventListener('open', () => {
219
+ this.#tries = 0;
220
+ resolve(new ClientConnection(client, this.api));
221
+ });
222
+ client.addEventListener('close', (client.onclose = (message) => {
223
+ this.#tries++;
224
+ if (!this.#retry)
225
+ return reject(this.#options);
226
+ if (this.#tries > this.#times) {
227
+ console.log(`${this.#options.protocol} Client Closed`);
228
+ console.error(`could not connect to - ${this.#url}/`);
229
+ return resolve(new ClientConnection(client, this.api));
230
+ }
231
+ if (message.code === 1006) {
232
+ console.log(`Retrying in ${this.#timeout} ms`);
233
+ setTimeout(() => {
234
+ return init();
235
+ }, this.#timeout);
236
+ }
237
+ }));
238
+ }
239
+ else {
240
+ client.onmessage = this.onmessage;
241
+ client.onerror = this.onerror;
242
+ client.onopen = () => {
243
+ this.#tries = 0;
244
+ resolve(new ClientConnection(client, this.api));
245
+ };
246
+ client.onclose = (message) => {
247
+ this.#tries++;
248
+ if (!this.#retry)
249
+ return reject(this.#options);
250
+ if (this.#tries > this.#times) {
251
+ console.log(`${this.#options.protocol} Client Closed`);
252
+ console.error(`could not connect to - ${this.#url}/`);
253
+ return resolve(new ClientConnection(client, this.api));
254
+ }
255
+ if (message.code === 1006) {
256
+ console.log(`Retrying in ${this.#timeout} ms`);
257
+ setTimeout(() => {
258
+ return init();
259
+ }, this.#timeout);
260
+ }
261
+ };
262
+ }
233
263
  };
234
264
  return init();
235
265
  });
236
266
  }
237
- onerror = error => {
267
+ onerror = (error) => {
238
268
  if (globalThis.pubsub.subscribers['error']) {
239
269
  globalThis.pubsub.publish('error', error);
240
270
  }
@@ -243,6 +273,10 @@ class SocketRequestClient {
243
273
  }
244
274
  };
245
275
  onmessage(message) {
276
+ if (!message.data) {
277
+ console.warn(`message ignored because it contained no data`);
278
+ return;
279
+ }
246
280
  const { value, url, status, id } = JSON.parse(message.data.toString());
247
281
  const publisher = id ? id : url;
248
282
  if (status === 200) {
@@ -280,7 +314,7 @@ const iceServers = [
280
314
  credential: 'openrelayproject'
281
315
  }
282
316
  ];
283
- const SimplePeer = (await import('./index-In1Jzp-v.js').then(function (n) { return n.i; })).default;
317
+ const SimplePeer = (await import('./index-CEwkDK9g.js').then(function (n) { return n.i; })).default;
284
318
  class Peer extends SimplePeer {
285
319
  peerId;
286
320
  channelName;
@@ -347,7 +381,7 @@ class Peer extends SimplePeer {
347
381
  */
348
382
  request(data, id = crypto.randomUUID()) {
349
383
  return new Promise((resolve, reject) => {
350
- const timeout = setTimeout(() => reject(`request for ${id} timed out`), 30000);
384
+ const timeout = setTimeout(() => reject(`request for ${id} timed out`), 30_000);
351
385
  const onrequest = ({ data }) => {
352
386
  clearTimeout(timeout);
353
387
  resolve(data);
@@ -359,7 +393,7 @@ class Peer extends SimplePeer {
359
393
  }
360
394
  }
361
395
 
362
- const debug = globalThis.createDebugger('@peernet/swarm/client');
396
+ const debug = globalThis.createDebugger('@netpeer/swarm/client');
363
397
  class Client {
364
398
  #peerId;
365
399
  #connections = {};
@@ -408,7 +442,7 @@ class Client {
408
442
  async _init() {
409
443
  // reconnectJob()
410
444
  if (!globalThis.RTCPeerConnection)
411
- globalThis.wrtc = (await import('./browser-AyxSBUXj.js').then(function (n) { return n.b; })).default;
445
+ globalThis.wrtc = (await import('./browser-pguCHlVu.js').then(function (n) { return n.b; })).default;
412
446
  for (const star of this.starsConfig) {
413
447
  try {
414
448
  const client = new SocketRequestClient(star, this.networkVersion);