@welshman/net 0.0.15 → 0.0.17

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.
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Tracker = void 0;
4
4
  const lib_1 = require("@welshman/lib");
5
- class Tracker {
5
+ class Tracker extends lib_1.Emitter {
6
6
  constructor() {
7
- this.data = (0, lib_1.writable)(new Map());
7
+ super(...arguments);
8
+ this.data = new Map();
8
9
  this.getRelays = (eventId) => {
9
10
  const relays = new Set();
10
- for (const relay of this.data.get().get(eventId) || []) {
11
+ for (const relay of this.data.get(eventId) || []) {
11
12
  relays.add(relay);
12
13
  }
13
14
  return relays;
@@ -16,15 +17,13 @@ class Tracker {
16
17
  return this.getRelays(eventId).has(relay);
17
18
  };
18
19
  this.addRelay = (eventId, relay) => {
19
- const relays = this.data.get().get(eventId) || new Set();
20
+ const relays = this.data.get(eventId) || new Set();
20
21
  relays.add(relay);
21
- this.data.update(m => {
22
- m.set(eventId, relays);
23
- return m;
24
- });
22
+ this.data.set(eventId, relays);
23
+ this.emit('update');
25
24
  };
26
25
  this.track = (eventId, relay) => {
27
- const seen = this.data.get().has(eventId);
26
+ const seen = this.data.has(eventId);
28
27
  this.addRelay(eventId, relay);
29
28
  return seen;
30
29
  };
@@ -34,10 +33,8 @@ class Tracker {
34
33
  }
35
34
  };
36
35
  this.clear = () => {
37
- this.data.update(m => {
38
- m.clear();
39
- return m;
40
- });
36
+ this.data.clear();
37
+ this.emit('update');
41
38
  };
42
39
  }
43
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.cjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAEtC,MAAa,OAAO;IAApB;QACE,SAAI,GAAG,IAAA,cAAQ,EAAC,IAAI,GAAG,EAAuB,CAAC,CAAA;QAE/C,cAAS,GAAG,CAAC,OAAe,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;YAEhC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBACtD,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,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YAExD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAEjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAEtB,OAAO,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAEzC,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,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnB,CAAC,CAAC,KAAK,EAAE,CAAA;gBAET,OAAO,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;CAAA;AAlDD,0BAkDC"}
1
+ {"version":3,"file":"Tracker.cjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,MAAa,OAAQ,SAAQ,aAAO;IAApC;;QACE,SAAI,GAAG,IAAI,GAAG,EAAuB,CAAA;QAErC,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,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;IACH,CAAC;CAAA;AA5CD,0BA4CC"}
@@ -1,5 +1,6 @@
1
- export declare class Tracker {
2
- data: import("@welshman/lib").Writable<Map<string, Set<string>>>;
1
+ import { Emitter } from '@welshman/lib';
2
+ export declare class Tracker extends Emitter {
3
+ data: Map<string, Set<string>>;
3
4
  getRelays: (eventId: string) => Set<string>;
4
5
  hasRelay: (eventId: string, relay: string) => boolean;
5
6
  addRelay: (eventId: string, relay: string) => void;
@@ -1,10 +1,11 @@
1
- import { writable } from '@welshman/lib';
2
- export class Tracker {
1
+ import { Emitter } from '@welshman/lib';
2
+ export class Tracker extends Emitter {
3
3
  constructor() {
4
- this.data = writable(new Map());
4
+ super(...arguments);
5
+ this.data = new Map();
5
6
  this.getRelays = (eventId) => {
6
7
  const relays = new Set();
7
- for (const relay of this.data.get().get(eventId) || []) {
8
+ for (const relay of this.data.get(eventId) || []) {
8
9
  relays.add(relay);
9
10
  }
10
11
  return relays;
@@ -13,15 +14,13 @@ export class Tracker {
13
14
  return this.getRelays(eventId).has(relay);
14
15
  };
15
16
  this.addRelay = (eventId, relay) => {
16
- const relays = this.data.get().get(eventId) || new Set();
17
+ const relays = this.data.get(eventId) || new Set();
17
18
  relays.add(relay);
18
- this.data.update(m => {
19
- m.set(eventId, relays);
20
- return m;
21
- });
19
+ this.data.set(eventId, relays);
20
+ this.emit('update');
22
21
  };
23
22
  this.track = (eventId, relay) => {
24
- const seen = this.data.get().has(eventId);
23
+ const seen = this.data.has(eventId);
25
24
  this.addRelay(eventId, relay);
26
25
  return seen;
27
26
  };
@@ -31,10 +30,8 @@ export class Tracker {
31
30
  }
32
31
  };
33
32
  this.clear = () => {
34
- this.data.update(m => {
35
- m.clear();
36
- return m;
37
- });
33
+ this.data.clear();
34
+ this.emit('update');
38
35
  };
39
36
  }
40
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.mjs","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe;AAEtC,MAAM,OAAO,OAAO;IAApB;QACE,SAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAuB,CAAC,CAAA;QAE/C,cAAS,GAAG,CAAC,OAAe,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;YAEhC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBACtD,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,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YAExD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAEjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAEtB,OAAO,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAEzC,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,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnB,CAAC,CAAC,KAAK,EAAE,CAAA;gBAET,OAAO,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;CAAA"}
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;IAApC;;QACE,SAAI,GAAG,IAAI,GAAG,EAAuB,CAAA;QAErC,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,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC,CAAA;IACH,CAAC;CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/net",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "Utilities for connecting with nostr relays.",
@@ -31,8 +31,8 @@
31
31
  "typescript": "~5.1.6"
32
32
  },
33
33
  "dependencies": {
34
- "@welshman/lib": "0.0.12",
35
- "@welshman/util": "0.0.23",
34
+ "@welshman/lib": "0.0.13",
35
+ "@welshman/util": "0.0.24",
36
36
  "isomorphic-ws": "^5.0.0",
37
37
  "ws": "^8.16.0"
38
38
  }