@welshman/net 0.0.24 → 0.0.26

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.
@@ -61,7 +61,7 @@ class Connection extends lib_1.Emitter {
61
61
  this.onReceive = (message) => {
62
62
  this.emit('receive', this, message);
63
63
  };
64
- this.ensureConnected = async ({ shouldReconnect = true }) => {
64
+ this.ensureConnected = async ({ shouldReconnect = true } = {}) => {
65
65
  const isUnhealthy = this.socket.isClosing() || this.socket.isClosed();
66
66
  const noRecentFault = this.meta.lastFault < Date.now() - 60000;
67
67
  if (shouldReconnect && isUnhealthy && noRecentFault) {
@@ -70,9 +70,12 @@ class Connection extends lib_1.Emitter {
70
70
  if (this.socket.isNew()) {
71
71
  await this.socket.connect();
72
72
  }
73
+ while (this.socket.isConnecting()) {
74
+ await (0, lib_1.sleep)(100);
75
+ }
73
76
  };
74
- this.ensureAuth = async ({ timeout = 3000 }) => {
75
- await this.ensureConnected({ shouldReconnect: true });
77
+ this.ensureAuth = async ({ timeout = 3000 } = {}) => {
78
+ await this.ensureConnected();
76
79
  if (this.meta.authStatus === ConnectionMeta_1.AuthStatus.Pending) {
77
80
  await Promise.race([
78
81
  (0, lib_1.sleep)(timeout),
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.cjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Connection.cjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,10 @@ export declare class Connection extends Emitter {
18
18
  onMessage: (m: SocketMessage) => void;
19
19
  onSend: (message: SocketMessage) => void;
20
20
  onReceive: (message: SocketMessage) => void;
21
- ensureConnected: ({ shouldReconnect }: {
21
+ ensureConnected: ({ shouldReconnect }?: {
22
22
  shouldReconnect?: boolean | undefined;
23
23
  }) => Promise<void>;
24
- ensureAuth: ({ timeout }: {
24
+ ensureAuth: ({ timeout }?: {
25
25
  timeout?: number | undefined;
26
26
  }) => Promise<void>;
27
27
  disconnect(): void;
@@ -58,7 +58,7 @@ export class Connection extends Emitter {
58
58
  this.onReceive = (message) => {
59
59
  this.emit('receive', this, message);
60
60
  };
61
- this.ensureConnected = async ({ shouldReconnect = true }) => {
61
+ this.ensureConnected = async ({ shouldReconnect = true } = {}) => {
62
62
  const isUnhealthy = this.socket.isClosing() || this.socket.isClosed();
63
63
  const noRecentFault = this.meta.lastFault < Date.now() - 60000;
64
64
  if (shouldReconnect && isUnhealthy && noRecentFault) {
@@ -67,9 +67,12 @@ export class Connection extends Emitter {
67
67
  if (this.socket.isNew()) {
68
68
  await this.socket.connect();
69
69
  }
70
+ while (this.socket.isConnecting()) {
71
+ await sleep(100);
72
+ }
70
73
  };
71
- this.ensureAuth = async ({ timeout = 3000 }) => {
72
- await this.ensureConnected({ shouldReconnect: true });
74
+ this.ensureAuth = async ({ timeout = 3000 } = {}) => {
75
+ await this.ensureConnected();
73
76
  if (this.meta.authStatus === AuthStatus.Pending) {
74
77
  await Promise.race([
75
78
  sleep(timeout),
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.mjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Connection.mjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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"}
@@ -5,25 +5,22 @@ const lib_1 = require("@welshman/lib");
5
5
  class Tracker extends lib_1.Emitter {
6
6
  constructor() {
7
7
  super();
8
- this.data = new Map();
9
- this.getRelays = (eventId) => {
10
- const relays = new Set();
11
- for (const relay of this.data.get(eventId) || []) {
12
- relays.add(relay);
13
- }
14
- return relays;
15
- };
16
- this.hasRelay = (eventId, relay) => {
17
- return this.getRelays(eventId).has(relay);
18
- };
8
+ this.relaysById = new Map();
9
+ this.idsByRelay = new Map();
10
+ this.getIds = (relay) => this.idsByRelay.get(relay) || new Set();
11
+ this.getRelays = (eventId) => this.relaysById.get(eventId) || new Set();
12
+ this.hasRelay = (eventId, relay) => { var _a; return (_a = this.relaysById.get(eventId)) === null || _a === void 0 ? void 0 : _a.has(relay); };
19
13
  this.addRelay = (eventId, relay) => {
20
- const relays = this.data.get(eventId) || new Set();
14
+ const relays = this.relaysById.get(eventId) || new Set();
15
+ const ids = this.idsByRelay.get(relay) || new Set();
21
16
  relays.add(relay);
22
- this.data.set(eventId, relays);
17
+ ids.add(eventId);
18
+ this.relaysById.set(eventId, relays);
19
+ this.idsByRelay.set(eventId, relays);
23
20
  this.emit('update');
24
21
  };
25
22
  this.track = (eventId, relay) => {
26
- const seen = this.data.has(eventId);
23
+ const seen = this.relaysById.has(eventId);
27
24
  this.addRelay(eventId, relay);
28
25
  return seen;
29
26
  };
@@ -32,12 +29,20 @@ class Tracker extends lib_1.Emitter {
32
29
  this.addRelay(eventId2, relay);
33
30
  }
34
31
  };
35
- this.load = (data) => {
36
- this.data = data;
32
+ this.load = (relaysById) => {
33
+ this.relaysById.clear();
34
+ this.idsByRelay.clear();
35
+ for (const [id, relays] of relaysById.entries()) {
36
+ for (const relay of relays) {
37
+ (0, lib_1.addToMapKey)(this.relaysById, id, relay);
38
+ (0, lib_1.addToMapKey)(this.idsByRelay, relay, id);
39
+ }
40
+ }
37
41
  this.emit('update');
38
42
  };
39
43
  this.clear = () => {
40
- this.data.clear();
44
+ this.relaysById.clear();
45
+ this.idsByRelay.clear();
41
46
  this.emit('update');
42
47
  };
43
48
  this.setMaxListeners(100);
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.cjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,MAAa,OAAQ,SAAQ,aAAO;IAGlC;QACE,KAAK,EAAE,CAAA;QAHT,SAAI,GAAG,IAAI,GAAG,EAAuB,CAAA;QAQrC,cAAS,GAAG,CAAC,OAAe,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;YAEhC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAChD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;aAClB;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YAElD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAEjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAEnC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7B,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;YAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;aAC/B;QACH,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,IAAqB,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;QAED,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;QAhDC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;CAgDF;AAvDD,0BAuDC"}
1
+ {"version":3,"file":"Tracker.cjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { Emitter } from '@welshman/lib';
2
2
  export declare class Tracker extends Emitter {
3
- data: Map<string, Set<string>>;
3
+ relaysById: Map<string, Set<string>>;
4
+ idsByRelay: Map<string, Set<string>>;
4
5
  constructor();
6
+ getIds: (relay: string) => Set<string>;
5
7
  getRelays: (eventId: string) => Set<string>;
6
- hasRelay: (eventId: string, relay: string) => boolean;
8
+ hasRelay: (eventId: string, relay: string) => boolean | undefined;
7
9
  addRelay: (eventId: string, relay: string) => void;
8
10
  track: (eventId: string, relay: string) => boolean;
9
11
  copy: (eventId1: string, eventId2: string) => void;
10
- load: (data: Tracker['data']) => void;
12
+ load: (relaysById: Tracker['relaysById']) => void;
11
13
  clear: () => void;
12
14
  }
@@ -1,26 +1,23 @@
1
- import { Emitter } from '@welshman/lib';
1
+ import { Emitter, addToMapKey } from '@welshman/lib';
2
2
  export class Tracker extends Emitter {
3
3
  constructor() {
4
4
  super();
5
- this.data = new Map();
6
- this.getRelays = (eventId) => {
7
- const relays = new Set();
8
- for (const relay of this.data.get(eventId) || []) {
9
- relays.add(relay);
10
- }
11
- return relays;
12
- };
13
- this.hasRelay = (eventId, relay) => {
14
- return this.getRelays(eventId).has(relay);
15
- };
5
+ this.relaysById = new Map();
6
+ this.idsByRelay = new Map();
7
+ this.getIds = (relay) => this.idsByRelay.get(relay) || new Set();
8
+ this.getRelays = (eventId) => this.relaysById.get(eventId) || new Set();
9
+ this.hasRelay = (eventId, relay) => { var _a; return (_a = this.relaysById.get(eventId)) === null || _a === void 0 ? void 0 : _a.has(relay); };
16
10
  this.addRelay = (eventId, relay) => {
17
- const relays = this.data.get(eventId) || new Set();
11
+ const relays = this.relaysById.get(eventId) || new Set();
12
+ const ids = this.idsByRelay.get(relay) || new Set();
18
13
  relays.add(relay);
19
- this.data.set(eventId, relays);
14
+ ids.add(eventId);
15
+ this.relaysById.set(eventId, relays);
16
+ this.idsByRelay.set(eventId, relays);
20
17
  this.emit('update');
21
18
  };
22
19
  this.track = (eventId, relay) => {
23
- const seen = this.data.has(eventId);
20
+ const seen = this.relaysById.has(eventId);
24
21
  this.addRelay(eventId, relay);
25
22
  return seen;
26
23
  };
@@ -29,12 +26,20 @@ export class Tracker extends Emitter {
29
26
  this.addRelay(eventId2, relay);
30
27
  }
31
28
  };
32
- this.load = (data) => {
33
- this.data = data;
29
+ this.load = (relaysById) => {
30
+ this.relaysById.clear();
31
+ this.idsByRelay.clear();
32
+ for (const [id, relays] of relaysById.entries()) {
33
+ for (const relay of relays) {
34
+ addToMapKey(this.relaysById, id, relay);
35
+ addToMapKey(this.idsByRelay, relay, id);
36
+ }
37
+ }
34
38
  this.emit('update');
35
39
  };
36
40
  this.clear = () => {
37
- this.data.clear();
41
+ this.relaysById.clear();
42
+ this.idsByRelay.clear();
38
43
  this.emit('update');
39
44
  };
40
45
  this.setMaxListeners(100);
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.mjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;AAErC,MAAM,OAAO,OAAQ,SAAQ,OAAO;IAGlC;QACE,KAAK,EAAE,CAAA;QAHT,SAAI,GAAG,IAAI,GAAG,EAAuB,CAAA;QAQrC,cAAS,GAAG,CAAC,OAAe,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;YAEhC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAChD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;aAClB;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YAElD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAEjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAEnC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7B,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;YAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;aAC/B;QACH,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,IAAqB,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;QAED,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;QAhDC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;CAgDF"}
1
+ {"version":3,"file":"Tracker.mjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/net",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "Utilities for connecting with nostr relays.",
@@ -33,8 +33,8 @@
33
33
  "typescript": "~5.1.6"
34
34
  },
35
35
  "dependencies": {
36
- "@welshman/lib": "~0.0.19",
37
- "@welshman/util": "~0.0.36",
36
+ "@welshman/lib": "~0.0.21",
37
+ "@welshman/util": "~0.0.37",
38
38
  "isomorphic-ws": "^5.0.0",
39
39
  "ws": "^8.16.0"
40
40
  }