@welshman/util 0.0.25 → 0.0.28

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 (51) hide show
  1. package/build/src/Address.cjs +3 -3
  2. package/build/src/Address.cjs.map +1 -1
  3. package/build/src/Address.mjs +3 -3
  4. package/build/src/Address.mjs.map +1 -1
  5. package/build/src/Encryptable.cjs +35 -0
  6. package/build/src/Encryptable.cjs.map +1 -0
  7. package/build/src/Encryptable.d.ts +22 -0
  8. package/build/src/Encryptable.mjs +30 -0
  9. package/build/src/Encryptable.mjs.map +1 -0
  10. package/build/src/Events.cjs +8 -4
  11. package/build/src/Events.cjs.map +1 -1
  12. package/build/src/Events.d.ts +10 -4
  13. package/build/src/Events.mjs +5 -3
  14. package/build/src/Events.mjs.map +1 -1
  15. package/build/src/Filters.cjs.map +1 -1
  16. package/build/src/Filters.mjs.map +1 -1
  17. package/build/src/Handler.cjs +36 -0
  18. package/build/src/Handler.cjs.map +1 -0
  19. package/build/src/Handler.d.ts +16 -0
  20. package/build/src/Handler.mjs +29 -0
  21. package/build/src/Handler.mjs.map +1 -0
  22. package/build/src/List.cjs +40 -0
  23. package/build/src/List.cjs.map +1 -0
  24. package/build/src/List.d.ts +17 -0
  25. package/build/src/List.mjs +32 -0
  26. package/build/src/List.mjs.map +1 -0
  27. package/build/src/Profile.cjs +56 -0
  28. package/build/src/Profile.cjs.map +1 -0
  29. package/build/src/Profile.d.ts +31 -0
  30. package/build/src/Profile.mjs +45 -0
  31. package/build/src/Profile.mjs.map +1 -0
  32. package/build/src/Relay.cjs +26 -18
  33. package/build/src/Relay.cjs.map +1 -1
  34. package/build/src/Relay.d.ts +19 -5
  35. package/build/src/Relay.mjs +24 -18
  36. package/build/src/Relay.mjs.map +1 -1
  37. package/build/src/Repository.cjs +1 -4
  38. package/build/src/Repository.cjs.map +1 -1
  39. package/build/src/Repository.d.ts +18 -18
  40. package/build/src/Repository.mjs +2 -5
  41. package/build/src/Repository.mjs.map +1 -1
  42. package/build/src/Tags.cjs +65 -58
  43. package/build/src/Tags.cjs.map +1 -1
  44. package/build/src/Tags.d.ts +13 -6
  45. package/build/src/Tags.mjs +53 -56
  46. package/build/src/Tags.mjs.map +1 -1
  47. package/build/src/index.cjs +4 -0
  48. package/build/src/index.cjs.map +1 -1
  49. package/build/src/index.d.ts +4 -0
  50. package/build/src/index.mjs +4 -0
  51. package/package.json +3 -3
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.profileHasName = exports.displayProfile = exports.displayPubkey = exports.editProfile = exports.createProfile = exports.readProfile = exports.makeProfile = exports.isPublishedProfile = void 0;
4
+ const nostr_tools_1 = require("nostr-tools");
5
+ const lib_1 = require("@welshman/lib");
6
+ const Kinds_1 = require("./Kinds.cjs");
7
+ const isPublishedProfile = (profile) => Boolean(profile.event);
8
+ exports.isPublishedProfile = isPublishedProfile;
9
+ const makeProfile = (profile = {}) => ({
10
+ name: "",
11
+ nip05: "",
12
+ lud06: "",
13
+ lud16: "",
14
+ about: "",
15
+ banner: "",
16
+ picture: "",
17
+ website: "",
18
+ display_name: "",
19
+ ...profile,
20
+ });
21
+ exports.makeProfile = makeProfile;
22
+ const readProfile = (event) => {
23
+ const profile = (0, lib_1.parseJson)(event.content) || {};
24
+ return { ...profile, event };
25
+ };
26
+ exports.readProfile = readProfile;
27
+ const createProfile = ({ event, ...profile }) => ({
28
+ kind: Kinds_1.PROFILE,
29
+ content: JSON.stringify(profile),
30
+ });
31
+ exports.createProfile = createProfile;
32
+ const editProfile = ({ event, ...profile }) => ({
33
+ kind: Kinds_1.PROFILE,
34
+ content: JSON.stringify(profile),
35
+ tags: event.tags,
36
+ });
37
+ exports.editProfile = editProfile;
38
+ const displayPubkey = (pubkey) => {
39
+ const d = nostr_tools_1.nip19.npubEncode(pubkey);
40
+ return d.slice(0, 8) + "…" + d.slice(-5);
41
+ };
42
+ exports.displayPubkey = displayPubkey;
43
+ const displayProfile = (profile, fallback = "") => {
44
+ const { display_name, name, event } = profile || {};
45
+ if (name)
46
+ return (0, lib_1.ellipsize)(name, 60);
47
+ if (display_name)
48
+ return (0, lib_1.ellipsize)(display_name, 60);
49
+ if (event)
50
+ return (0, exports.displayPubkey)(event.pubkey);
51
+ return fallback;
52
+ };
53
+ exports.displayProfile = displayProfile;
54
+ const profileHasName = (profile) => Boolean((profile === null || profile === void 0 ? void 0 : profile.name) || (profile === null || profile === void 0 ? void 0 : profile.display_name));
55
+ exports.profileHasName = profileHasName;
56
+ //# sourceMappingURL=Profile.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profile.cjs","sourceRoot":"","sources":["../../src/Profile.ts"],"names":[],"mappings":";;;AAAA,6CAAiC;AACjC,uCAAkD;AAElD,uCAA+B;AAmBxB,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAA+B,EAAE,CAClF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AADX,QAAA,kBAAkB,sBACP;AAEjB,MAAM,WAAW,GAAG,CAAC,UAA4B,EAAE,EAAW,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,GAAG,OAAO;CACX,CAAC,CAAA;AAXW,QAAA,WAAW,eAWtB;AAEK,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,IAAA,eAAS,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAE9C,OAAO,EAAC,GAAG,OAAO,EAAE,KAAK,EAAqB,CAAA;AAChD,CAAC,CAAA;AAJY,QAAA,WAAW,eAIvB;AAEM,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAU,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,eAAO;IACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;CACjC,CAAC,CAAA;AAHW,QAAA,aAAa,iBAGxB;AAEK,MAAM,WAAW,GAAG,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAmB,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,eAAO;IACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,IAAI;CACjB,CAAC,CAAA;AAJW,QAAA,WAAW,eAItB;AAEK,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,CAAC,GAAG,mBAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAElC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAJY,QAAA,aAAa,iBAIzB;AAEM,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE;IACjE,MAAM,EAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,OAAO,IAAI,EAAE,CAAA;IAEjD,IAAI,IAAI;QAAE,OAAO,IAAA,eAAS,EAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,YAAY;QAAE,OAAO,IAAA,eAAS,EAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACpD,IAAI,KAAK;QAAE,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE7C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAEM,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAA,CAAC,CAAA;AAAvF,QAAA,cAAc,kBAAyE"}
@@ -0,0 +1,31 @@
1
+ import { TrustedEvent } from "./Events";
2
+ export type Profile = {
3
+ name?: string;
4
+ nip05?: string;
5
+ lud06?: string;
6
+ lud16?: string;
7
+ about?: string;
8
+ banner?: string;
9
+ picture?: string;
10
+ website?: string;
11
+ display_name?: string;
12
+ event?: TrustedEvent;
13
+ };
14
+ export type PublishedProfile = Omit<Profile, "event"> & {
15
+ event: TrustedEvent;
16
+ };
17
+ export declare const isPublishedProfile: (profile: Profile) => profile is PublishedProfile;
18
+ export declare const makeProfile: (profile?: Partial<Profile>) => Profile;
19
+ export declare const readProfile: (event: TrustedEvent) => PublishedProfile;
20
+ export declare const createProfile: ({ event, ...profile }: Profile) => {
21
+ kind: number;
22
+ content: string;
23
+ };
24
+ export declare const editProfile: ({ event, ...profile }: PublishedProfile) => {
25
+ kind: number;
26
+ content: string;
27
+ tags: string[][];
28
+ };
29
+ export declare const displayPubkey: (pubkey: string) => string;
30
+ export declare const displayProfile: (profile?: Profile, fallback?: string) => string;
31
+ export declare const profileHasName: (profile?: Profile) => boolean;
@@ -0,0 +1,45 @@
1
+ import { nip19 } from "nostr-tools";
2
+ import { ellipsize, parseJson } from "@welshman/lib";
3
+ import { PROFILE } from "./Kinds.mjs";
4
+ export const isPublishedProfile = (profile) => Boolean(profile.event);
5
+ export const makeProfile = (profile = {}) => ({
6
+ name: "",
7
+ nip05: "",
8
+ lud06: "",
9
+ lud16: "",
10
+ about: "",
11
+ banner: "",
12
+ picture: "",
13
+ website: "",
14
+ display_name: "",
15
+ ...profile,
16
+ });
17
+ export const readProfile = (event) => {
18
+ const profile = parseJson(event.content) || {};
19
+ return { ...profile, event };
20
+ };
21
+ export const createProfile = ({ event, ...profile }) => ({
22
+ kind: PROFILE,
23
+ content: JSON.stringify(profile),
24
+ });
25
+ export const editProfile = ({ event, ...profile }) => ({
26
+ kind: PROFILE,
27
+ content: JSON.stringify(profile),
28
+ tags: event.tags,
29
+ });
30
+ export const displayPubkey = (pubkey) => {
31
+ const d = nip19.npubEncode(pubkey);
32
+ return d.slice(0, 8) + "…" + d.slice(-5);
33
+ };
34
+ export const displayProfile = (profile, fallback = "") => {
35
+ const { display_name, name, event } = profile || {};
36
+ if (name)
37
+ return ellipsize(name, 60);
38
+ if (display_name)
39
+ return ellipsize(display_name, 60);
40
+ if (event)
41
+ return displayPubkey(event.pubkey);
42
+ return fallback;
43
+ };
44
+ export const profileHasName = (profile) => Boolean((profile === null || profile === void 0 ? void 0 : profile.name) || (profile === null || profile === void 0 ? void 0 : profile.display_name));
45
+ //# sourceMappingURL=Profile.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profile.mjs","sourceRoot":"","sources":["../../src/Profile.ts"],"names":[],"mappings":"OAAO,EAAC,KAAK,EAAC,MAAM,aAAa;OAC1B,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,eAAe;OAE3C,EAAC,OAAO,EAAC;AAmBhB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAA+B,EAAE,CAClF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAA4B,EAAE,EAAW,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,GAAG,OAAO;CACX,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAE9C,OAAO,EAAC,GAAG,OAAO,EAAE,KAAK,EAAqB,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAU,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAmB,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,IAAI;CACjB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAElC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE;IACjE,MAAM,EAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,OAAO,IAAI,EAAE,CAAA;IAEjD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,YAAY;QAAE,OAAO,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACpD,IAAI,KAAK;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE7C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAA,CAAC,CAAA"}
@@ -1,28 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Relay = exports.normalizeRelayUrl = exports.isShareableRelayUrl = exports.BOGUS_RELAY_URL = exports.LOCAL_RELAY_URL = void 0;
3
+ exports.Relay = exports.displayRelayUrl = exports.normalizeRelayUrl = exports.isShareableRelayUrl = exports.isRelayUrl = exports.BOGUS_RELAY_URL = exports.LOCAL_RELAY_URL = void 0;
4
4
  const lib_1 = require("@welshman/lib");
5
5
  const Filters_1 = require("./Filters.cjs");
6
+ // Constants and types
6
7
  exports.LOCAL_RELAY_URL = "local://welshman.relay";
7
8
  exports.BOGUS_RELAY_URL = "bogus://welshman.relay";
8
- const isShareableRelayUrl = (url) => {
9
- var _a;
10
- return Boolean(typeof url === 'string' &&
11
- // Is it actually a websocket url and has a dot
12
- url.match(/^wss:\/\/.+\..+/) &&
13
- // Sometimes bugs cause multiple relays to get concatenated
14
- ((_a = url.match(/:\/\//g)) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
15
- // It shouldn't have any whitespace, url-encoded or otherwise
16
- !url.match(/\s|%/) &&
17
- // Don't match stuff with a port number
18
- !url.slice(6).match(/:\d+/) &&
19
- // Don't match stuff with a numeric tld
20
- !url.slice(6).match(/\.\d+\b/) &&
21
- // Don't match raw ip addresses
22
- !url.slice(6).match(/\d+\.\d+\.\d+\.\d+/) &&
23
- // Skip nostr.wine's virtual relays
24
- !url.slice(6).match(/\/npub/));
9
+ // Utils related to bare urls
10
+ const isRelayUrl = (url) => {
11
+ try {
12
+ new URL(url);
13
+ }
14
+ catch (e) {
15
+ return false;
16
+ }
17
+ return true;
25
18
  };
19
+ exports.isRelayUrl = isRelayUrl;
20
+ const isShareableRelayUrl = (url) => Boolean((0, exports.isRelayUrl)(url) &&
21
+ // Is it actually a websocket url and has a dot
22
+ url.match(/^wss:\/\/.+\..+/) &&
23
+ // Don't match stuff with a port number
24
+ !url.slice(6).match(/:\d+/) &&
25
+ // Don't match stuff with a numeric tld
26
+ !url.slice(6).match(/\.\d+\b/) &&
27
+ // Don't match raw ip addresses
28
+ !url.slice(6).match(/\d+\.\d+\.\d+\.\d+/) &&
29
+ // Skip nostr.wine's virtual relays
30
+ !url.slice(6).match(/\/npub/));
26
31
  exports.isShareableRelayUrl = isShareableRelayUrl;
27
32
  const normalizeRelayUrl = (url, { allowInsecure = false } = {}) => {
28
33
  var _a;
@@ -38,6 +43,9 @@ const normalizeRelayUrl = (url, { allowInsecure = false } = {}) => {
38
43
  return prefix + url;
39
44
  };
40
45
  exports.normalizeRelayUrl = normalizeRelayUrl;
46
+ const displayRelayUrl = (url) => (0, lib_1.last)(url.split("://")).replace(/\/$/, "");
47
+ exports.displayRelayUrl = displayRelayUrl;
48
+ // In-memory relay implementation backed by Repository
41
49
  class Relay extends lib_1.Emitter {
42
50
  constructor(repository) {
43
51
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"Relay.cjs","sourceRoot":"","sources":["../../src/Relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Relay.cjs","sourceRoot":"","sources":["../../src/Relay.ts"],"names":[],"mappings":";;;AAAA,uCAA+E;AAC/E,2CAAsC;AAKtC,sBAAsB;AAET,QAAA,eAAe,GAAG,wBAAwB,CAAA;AAE1C,QAAA,eAAe,GAAG,wBAAwB,CAAA;AAevD,6BAA6B;AAEtB,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,IAAI;QACF,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AARY,QAAA,UAAU,cAQtB;AAEM,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE,CACjD,OAAO,CACL,IAAA,kBAAU,EAAC,GAAG,CAAC;IACf,+CAA+C;IAC/C,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC5B,uCAAuC;IACvC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,uCAAuC;IACvC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,+BAA+B;IAC/B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACzC,mCAAmC;IACnC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC9B,CAAA;AAbU,QAAA,mBAAmB,uBAa7B;AAMI,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAC,aAAa,GAAG,KAAK,KAA2B,EAAE,EAAE,EAAE;;IACpG,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAG,CAAC,CAAC,KAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IAElF,+BAA+B;IAC/B,GAAG,GAAG,IAAA,kBAAY,EAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAC,CAAC,CAAA;IAEtE,qDAAqD;IACrD,GAAG,GAAG,IAAA,mBAAa,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAEtC,+DAA+D;IAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACtB,GAAG,IAAI,GAAG,CAAA;KACX;IAED,OAAO,MAAM,GAAG,GAAG,CAAA;AACrB,CAAC,CAAA;AAfY,QAAA,iBAAiB,qBAe7B;AAEM,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,UAAI,EAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAA5E,QAAA,eAAe,mBAA6D;AAEzF,sDAAsD;AAEtD,MAAa,KAA4C,SAAQ,aAAO;IAGtE,YAAqB,UAAyB;QAC5C,KAAK,EAAE,CAAA;QADY,eAAU,GAAV,UAAU,CAAe;QAF9C,SAAI,GAAG,IAAI,GAAG,EAAoB,CAAA;IAIlC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,OAAc;QAClC,QAAO,IAAI,EAAE;YACX,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAc,CAAC,CAAA;YACrD,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAmB,CAAC,CAAA;YAC1D,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAgC,CAAC,CAAA;SACpE;IACH,CAAC;IAED,WAAW,CAAC,CAAC,KAAK,CAAM;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE9B,wCAAwC;QACxC,IAAA,WAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAEnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACrC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClD,IAAI,IAAA,sBAAY,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;wBAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;qBACjC;iBACF;aACF;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,CAAC,KAAK,CAAW;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,CAAC,KAAK,EAAE,GAAG,OAAO,CAAwB;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAE7B,wCAAwC;QACxC,IAAA,WAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;aACjC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAhDD,sBAgDC"}
@@ -1,20 +1,34 @@
1
1
  import { Emitter } from '@welshman/lib';
2
2
  import type { Repository } from './Repository';
3
3
  import type { Filter } from './Filters';
4
- import type { TrustedEvent } from './Events';
4
+ import type { HashedEvent, TrustedEvent } from './Events';
5
5
  export declare const LOCAL_RELAY_URL = "local://welshman.relay";
6
6
  export declare const BOGUS_RELAY_URL = "bogus://welshman.relay";
7
+ export type RelayProfile = {
8
+ url: string;
9
+ name?: string;
10
+ pubkey?: string;
11
+ contact?: string;
12
+ description?: string;
13
+ supported_nips?: number[];
14
+ limitation?: {
15
+ payment_required?: boolean;
16
+ auth_required?: boolean;
17
+ };
18
+ };
19
+ export declare const isRelayUrl: (url: string) => boolean;
7
20
  export declare const isShareableRelayUrl: (url: string) => boolean;
8
21
  type NormalizeRelayUrlOpts = {
9
22
  allowInsecure?: boolean;
10
23
  };
11
24
  export declare const normalizeRelayUrl: (url: string, { allowInsecure }?: NormalizeRelayUrlOpts) => string;
12
- export declare class Relay<T extends TrustedEvent> extends Emitter {
13
- readonly repository: Repository<T>;
25
+ export declare const displayRelayUrl: (url: string) => string;
26
+ export declare class Relay<E extends HashedEvent = TrustedEvent> extends Emitter {
27
+ readonly repository: Repository<E>;
14
28
  subs: Map<string, Filter[]>;
15
- constructor(repository: Repository<T>);
29
+ constructor(repository: Repository<E>);
16
30
  send(type: string, ...message: any[]): void;
17
- handleEVENT([event]: [T]): void;
31
+ handleEVENT([event]: [E]): void;
18
32
  handleCLOSE([subId]: [string]): void;
19
33
  handleREQ([subId, ...filters]: [string, ...Filter[]]): void;
20
34
  }
@@ -1,25 +1,29 @@
1
- import { Emitter, normalizeUrl, sleep, stripProtocol } from '@welshman/lib';
1
+ import { last, Emitter, normalizeUrl, sleep, stripProtocol } from '@welshman/lib';
2
2
  import { matchFilters } from "./Filters.mjs";
3
+ // Constants and types
3
4
  export const LOCAL_RELAY_URL = "local://welshman.relay";
4
5
  export const BOGUS_RELAY_URL = "bogus://welshman.relay";
5
- export const isShareableRelayUrl = (url) => {
6
- var _a;
7
- return Boolean(typeof url === 'string' &&
8
- // Is it actually a websocket url and has a dot
9
- url.match(/^wss:\/\/.+\..+/) &&
10
- // Sometimes bugs cause multiple relays to get concatenated
11
- ((_a = url.match(/:\/\//g)) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
12
- // It shouldn't have any whitespace, url-encoded or otherwise
13
- !url.match(/\s|%/) &&
14
- // Don't match stuff with a port number
15
- !url.slice(6).match(/:\d+/) &&
16
- // Don't match stuff with a numeric tld
17
- !url.slice(6).match(/\.\d+\b/) &&
18
- // Don't match raw ip addresses
19
- !url.slice(6).match(/\d+\.\d+\.\d+\.\d+/) &&
20
- // Skip nostr.wine's virtual relays
21
- !url.slice(6).match(/\/npub/));
6
+ // Utils related to bare urls
7
+ export const isRelayUrl = (url) => {
8
+ try {
9
+ new URL(url);
10
+ }
11
+ catch (e) {
12
+ return false;
13
+ }
14
+ return true;
22
15
  };
16
+ export const isShareableRelayUrl = (url) => Boolean(isRelayUrl(url) &&
17
+ // Is it actually a websocket url and has a dot
18
+ url.match(/^wss:\/\/.+\..+/) &&
19
+ // Don't match stuff with a port number
20
+ !url.slice(6).match(/:\d+/) &&
21
+ // Don't match stuff with a numeric tld
22
+ !url.slice(6).match(/\.\d+\b/) &&
23
+ // Don't match raw ip addresses
24
+ !url.slice(6).match(/\d+\.\d+\.\d+\.\d+/) &&
25
+ // Skip nostr.wine's virtual relays
26
+ !url.slice(6).match(/\/npub/));
23
27
  export const normalizeRelayUrl = (url, { allowInsecure = false } = {}) => {
24
28
  var _a;
25
29
  const prefix = allowInsecure ? ((_a = url.match(/^wss?:\/\//)) === null || _a === void 0 ? void 0 : _a[0]) || "wss://" : "wss://";
@@ -33,6 +37,8 @@ export const normalizeRelayUrl = (url, { allowInsecure = false } = {}) => {
33
37
  }
34
38
  return prefix + url;
35
39
  };
40
+ export const displayRelayUrl = (url) => last(url.split("://")).replace(/\/$/, "");
41
+ // In-memory relay implementation backed by Repository
36
42
  export class Relay extends Emitter {
37
43
  constructor(repository) {
38
44
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"Relay.mjs","sourceRoot":"","sources":["../../src/Relay.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,eAAe;OAClE,EAAC,YAAY,EAAC;AAKrB,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAA;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAA;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;;IACjD,OAAA,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,+CAA+C;QAC/C,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC5B,2DAA2D;QAC3D,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,MAAM,MAAK,CAAC;QACjC,6DAA6D;QAC7D,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAClB,uCAAuC;QACvC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,uCAAuC;QACvC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,+BAA+B;QAC/B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;QACzC,mCAAmC;QACnC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC9B,CAAA;CAAA,CAAA;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAC,aAAa,GAAG,KAAK,KAA2B,EAAE,EAAE,EAAE;;IACpG,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAG,CAAC,CAAC,KAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IAElF,+BAA+B;IAC/B,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAC,CAAC,CAAA;IAEtE,qDAAqD;IACrD,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAEtC,+DAA+D;IAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACtB,GAAG,IAAI,GAAG,CAAA;KACX;IAED,OAAO,MAAM,GAAG,GAAG,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,OAAO,KAA8B,SAAQ,OAAO;IAGxD,YAAqB,UAAyB;QAC5C,KAAK,EAAE,CAAA;QADY,eAAU,GAAV,UAAU,CAAe;QAF9C,SAAI,GAAG,IAAI,GAAG,EAAoB,CAAA;IAIlC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,OAAc;QAClC,QAAO,IAAI,EAAE;YACX,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAc,CAAC,CAAA;YACrD,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAmB,CAAC,CAAA;YAC1D,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAgC,CAAC,CAAA;SACpE;IACH,CAAC;IAED,WAAW,CAAC,CAAC,KAAK,CAAM;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE9B,wCAAwC;QACxC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAEnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACrC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClD,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;wBAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;qBACjC;iBACF;aACF;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,CAAC,KAAK,CAAW;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,CAAC,KAAK,EAAE,GAAG,OAAO,CAAwB;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAE7B,wCAAwC;QACxC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;aACjC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"Relay.mjs","sourceRoot":"","sources":["../../src/Relay.ts"],"names":[],"mappings":"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"}
@@ -106,9 +106,6 @@ class Repository extends lib_1.Emitter {
106
106
  };
107
107
  this.publish = (event, { shouldNotify = true } = {}) => {
108
108
  var _a;
109
- if (!(0, Events_1.isTrustedEvent)(event)) {
110
- throw new Error("Invalid event published to Repository", event);
111
- }
112
109
  // If we've already seen this event, or it's been deleted, we're done
113
110
  if (this.eventsById.get(event.id) || this.isDeleted(event)) {
114
111
  return false;
@@ -133,7 +130,7 @@ class Repository extends lib_1.Emitter {
133
130
  this.eventsByAddress.set(address, event);
134
131
  }
135
132
  // Save wrapper index
136
- if (event.wrap) {
133
+ if ((0, Events_1.isUnwrappedEvent)(event)) {
137
134
  this.eventsByWrap.set(event.wrap.id, event);
138
135
  }
139
136
  // Update our timestamp and author indexes
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.cjs","sourceRoot":"","sources":["../../src/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.cjs","sourceRoot":"","sources":["../../src/Repository.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,28 @@
1
1
  import { Emitter } from '@welshman/lib';
2
2
  import type { Filter } from './Filters';
3
- import type { TrustedEvent } from './Events';
3
+ import type { TrustedEvent, HashedEvent } from './Events';
4
4
  export declare const DAY = 86400;
5
- export declare class Repository<T extends TrustedEvent> extends Emitter {
6
- eventsById: Map<string, T>;
7
- eventsByWrap: Map<string, T>;
8
- eventsByAddress: Map<string, T>;
9
- eventsByTag: Map<string, T[]>;
10
- eventsByDay: Map<number, T[]>;
11
- eventsByAuthor: Map<string, T[]>;
5
+ export declare class Repository<E extends HashedEvent = TrustedEvent> extends Emitter {
6
+ eventsById: Map<string, E>;
7
+ eventsByWrap: Map<string, E>;
8
+ eventsByAddress: Map<string, E>;
9
+ eventsByTag: Map<string, E[]>;
10
+ eventsByDay: Map<number, E[]>;
11
+ eventsByAuthor: Map<string, E[]>;
12
12
  deletes: Map<string, number>;
13
- dump: () => T[];
14
- load: (events: T[], chunkSize?: number) => Promise<void>;
13
+ dump: () => E[];
14
+ load: (events: E[], chunkSize?: number) => Promise<void>;
15
15
  clear: () => void;
16
- getEvent: (idOrAddress: string) => T | undefined;
17
- hasEvent: (event: T) => boolean | undefined;
16
+ getEvent: (idOrAddress: string) => E | undefined;
17
+ hasEvent: (event: E) => boolean | undefined;
18
18
  query: (filters: Filter[], { includeDeleted }?: {
19
19
  includeDeleted?: boolean | undefined;
20
- }) => T[];
21
- publish: (event: T, { shouldNotify }?: {
20
+ }) => E[];
21
+ publish: (event: E, { shouldNotify }?: {
22
22
  shouldNotify?: boolean | undefined;
23
23
  }) => boolean;
24
- isDeletedByAddress: (event: T) => boolean;
25
- isDeletedById: (event: T) => boolean;
26
- isDeleted: (event: T) => boolean;
27
- _updateIndex<K>(m: Map<K, T[]>, k: K, e: T, duplicate?: T): void;
24
+ isDeletedByAddress: (event: E) => boolean;
25
+ isDeletedById: (event: E) => boolean;
26
+ isDeleted: (event: E) => boolean;
27
+ _updateIndex<K>(m: Map<K, E[]>, k: K, e: E, duplicate?: E): void;
28
28
  }
@@ -1,7 +1,7 @@
1
1
  import { flatten, Emitter, sortBy, inc, chunk, sleep, uniq, omit, now, range, identity } from '@welshman/lib';
2
2
  import { DELETE } from "./Kinds.mjs";
3
3
  import { EPOCH, matchFilter } from "./Filters.mjs";
4
- import { isReplaceable, isTrustedEvent } from "./Events.mjs";
4
+ import { isReplaceable, isUnwrappedEvent } from "./Events.mjs";
5
5
  import { getAddress } from "./Address.mjs";
6
6
  export const DAY = 86400;
7
7
  const getDay = (ts) => Math.floor(ts / DAY);
@@ -103,9 +103,6 @@ export class Repository extends Emitter {
103
103
  };
104
104
  this.publish = (event, { shouldNotify = true } = {}) => {
105
105
  var _a;
106
- if (!isTrustedEvent(event)) {
107
- throw new Error("Invalid event published to Repository", event);
108
- }
109
106
  // If we've already seen this event, or it's been deleted, we're done
110
107
  if (this.eventsById.get(event.id) || this.isDeleted(event)) {
111
108
  return false;
@@ -130,7 +127,7 @@ export class Repository extends Emitter {
130
127
  this.eventsByAddress.set(address, event);
131
128
  }
132
129
  // Save wrapper index
133
- if (event.wrap) {
130
+ if (isUnwrappedEvent(event)) {
134
131
  this.eventsByWrap.set(event.wrap.id, event);
135
132
  }
136
133
  // Update our timestamp and author indexes
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.mjs","sourceRoot":"","sources":["../../src/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.mjs","sourceRoot":"","sources":["../../src/Repository.ts"],"names":[],"mappings":"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"}