@welshman/util 0.0.25 → 0.0.27

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 (49) 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 +18 -4
  35. package/build/src/Relay.mjs +24 -18
  36. package/build/src/Relay.mjs.map +1 -1
  37. package/build/src/Repository.cjs.map +1 -1
  38. package/build/src/Repository.d.ts +17 -17
  39. package/build/src/Repository.mjs.map +1 -1
  40. package/build/src/Tags.cjs +65 -58
  41. package/build/src/Tags.cjs.map +1 -1
  42. package/build/src/Tags.d.ts +13 -6
  43. package/build/src/Tags.mjs +53 -56
  44. package/build/src/Tags.mjs.map +1 -1
  45. package/build/src/index.cjs +4 -0
  46. package/build/src/index.cjs.map +1 -1
  47. package/build/src/index.d.ts +4 -0
  48. package/build/src/index.mjs +4 -0
  49. 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":"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"}
@@ -4,17 +4,31 @@ import type { Filter } from './Filters';
4
4
  import type { 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 extends Emitter {
27
+ readonly repository: Repository;
14
28
  subs: Map<string, Filter[]>;
15
- constructor(repository: Repository<T>);
29
+ constructor(repository: Repository);
16
30
  send(type: string, ...message: any[]): void;
17
- handleEVENT([event]: [T]): void;
31
+ handleEVENT([event]: [TrustedEvent]): 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":"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"}
1
+ {"version":3,"file":"Relay.mjs","sourceRoot":"","sources":["../../src/Relay.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -2,27 +2,27 @@ import { Emitter } from '@welshman/lib';
2
2
  import type { Filter } from './Filters';
3
3
  import type { TrustedEvent } 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 extends Emitter {
6
+ eventsById: Map<string, TrustedEvent>;
7
+ eventsByWrap: Map<string, TrustedEvent>;
8
+ eventsByAddress: Map<string, TrustedEvent>;
9
+ eventsByTag: Map<string, TrustedEvent[]>;
10
+ eventsByDay: Map<number, TrustedEvent[]>;
11
+ eventsByAuthor: Map<string, TrustedEvent[]>;
12
12
  deletes: Map<string, number>;
13
- dump: () => T[];
14
- load: (events: T[], chunkSize?: number) => Promise<void>;
13
+ dump: () => TrustedEvent[];
14
+ load: (events: TrustedEvent[], chunkSize?: number) => Promise<void>;
15
15
  clear: () => void;
16
- getEvent: (idOrAddress: string) => T | undefined;
17
- hasEvent: (event: T) => boolean | undefined;
16
+ getEvent: (idOrAddress: string) => TrustedEvent | undefined;
17
+ hasEvent: (event: TrustedEvent) => boolean | undefined;
18
18
  query: (filters: Filter[], { includeDeleted }?: {
19
19
  includeDeleted?: boolean | undefined;
20
- }) => T[];
21
- publish: (event: T, { shouldNotify }?: {
20
+ }) => TrustedEvent[];
21
+ publish: (event: TrustedEvent, { 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: TrustedEvent) => boolean;
25
+ isDeletedById: (event: TrustedEvent) => boolean;
26
+ isDeleted: (event: TrustedEvent) => boolean;
27
+ _updateIndex<K>(m: Map<K, TrustedEvent[]>, k: K, e: TrustedEvent, duplicate?: TrustedEvent): void;
28
28
  }
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGroupTagValues = exports.getGroupTags = exports.getRelayTagValues = exports.getRelayTags = exports.getPubkeyTagValues = exports.getPubkeyTags = exports.getContextTagValues = exports.getAddressTagValues = exports.getAddressTags = exports.getEventTagValues = exports.getEventTags = exports.getTagValue = exports.getTagValues = exports.getTags = exports.Tags = exports.Tag = void 0;
3
+ exports.getAncestorTags = exports.getKindTagValues = exports.getKindTags = exports.getGroupTagValues = exports.getGroupTags = exports.getRelayTagValues = exports.getRelayTags = exports.getPubkeyTagValues = exports.getPubkeyTags = exports.getContextTagValues = exports.getAddressTagValues = exports.getAddressTags = exports.getEventTagValues = exports.getEventTags = exports.Tags = exports.Tag = void 0;
4
4
  const lib_1 = require("@welshman/lib");
5
5
  const Relay_1 = require("./Relay.cjs");
6
6
  const Address_1 = require("./Address.cjs");
@@ -40,43 +40,10 @@ class Tags extends lib_1.Fluent {
40
40
  this.keys = () => this.mapTo(t => t.key());
41
41
  this.values = (key) => (key ? this.filterByKey((0, lib_1.ensurePlural)(key)) : this).mapTo(t => t.value());
42
42
  this.entries = () => this.mapTo(t => t.entry());
43
- this.relays = () => this.flatMap((t) => t.valueOf().filter(Relay_1.isShareableRelayUrl).map(url => (0, Relay_1.normalizeRelayUrl)(url))).uniq();
43
+ this.relays = () => this.flatMap((t) => t.valueOf().filter(Relay_1.isRelayUrl).map(url => (0, Relay_1.normalizeRelayUrl)(url))).uniq();
44
44
  this.topics = () => this.whereKey("t").values().map((t) => t.replace(/^#/, ""));
45
45
  this.ancestors = (x) => {
46
- const tags = this.filterByKey(["a", "e", "q"]).reject(t => t.isContext());
47
- const mentionTags = tags.whereKey("q");
48
- const roots = [];
49
- const replies = [];
50
- const mentions = [];
51
- const dispatchTags = (thisTags) => thisTags.forEach((t, i) => {
52
- if (t.nth(3) === 'root') {
53
- if (tags.filter(t => t.nth(3) === "reply").count() === 0) {
54
- replies.push(t.valueOf());
55
- }
56
- else {
57
- roots.push(t.valueOf());
58
- }
59
- }
60
- else if (t.nth(3) === 'reply') {
61
- replies.push(t.valueOf());
62
- }
63
- else if (t.nth(3) === 'mention') {
64
- mentions.push(t.valueOf());
65
- }
66
- else if (i === thisTags.count() - 1) {
67
- replies.push(t.valueOf());
68
- }
69
- else if (i === 0) {
70
- roots.push(t.valueOf());
71
- }
72
- else {
73
- mentions.push(t.valueOf());
74
- }
75
- });
76
- // Add different types separately so positional logic works
77
- dispatchTags(tags.whereKey("e"));
78
- dispatchTags(tags.whereKey("a").filter(t => Boolean(t.nth(3))));
79
- mentionTags.forEach((t) => mentions.push(t.valueOf()));
46
+ const { roots, replies, mentions } = (0, exports.getAncestorTags)(this.unwrap());
80
47
  return {
81
48
  roots: Tags.wrap(roots),
82
49
  replies: Tags.wrap(replies),
@@ -146,28 +113,68 @@ Tags.fromEvent = (event) => Tags.wrap(event.tags || []);
146
113
  Tags.fromEvents = (events) => Tags.wrap(events.flatMap(e => e.tags || []));
147
114
  Tags.fromIMeta = (imeta) => Tags.wrap(imeta.map((m) => m.split(" ")));
148
115
  // New, simpler version
149
- const getTags = (types, testValue) => (tags) => tags.filter(t => types.includes(t[0]) && (!testValue || testValue(t[1] || "")));
150
- exports.getTags = getTags;
151
- const getTagValues = (types, testValue) => {
152
- const _getTags = (0, exports.getTags)(types, testValue);
153
- return (tags) => _getTags(tags).map(t => t[1] || "");
154
- };
155
- exports.getTagValues = getTagValues;
156
- const getTagValue = (types, testValue) => {
157
- const _getTagValues = (0, exports.getTagValues)(types, testValue);
158
- return (tags) => _getTagValues(tags)[0];
159
- };
160
- exports.getTagValue = getTagValue;
161
- exports.getEventTags = (0, exports.getTags)(["e"], id => id.length === 64);
162
- exports.getEventTagValues = (0, exports.getTagValues)(["e"], id => id.length === 64);
163
- exports.getAddressTags = (0, exports.getTags)(["a"], Address_1.Address.isAddress);
164
- exports.getAddressTagValues = (0, exports.getTagValues)(["a"], Address_1.Address.isAddress);
116
+ const getEventTags = (tags) => tags.filter(t => ["e"].includes(t[0]) && t[1].length === 64);
117
+ exports.getEventTags = getEventTags;
118
+ const getEventTagValues = (tags) => (0, exports.getEventTags)(tags).map((0, lib_1.nth)(1));
119
+ exports.getEventTagValues = getEventTagValues;
120
+ const getAddressTags = (tags) => tags.filter(t => ["a"].includes(t[0]) && Address_1.Address.isAddress(t[1]));
121
+ exports.getAddressTags = getAddressTags;
122
+ const getAddressTagValues = (tags) => (0, exports.getAddressTags)(tags).map((0, lib_1.nth)(1));
123
+ exports.getAddressTagValues = getAddressTagValues;
165
124
  const getContextTagValues = (tags) => (0, exports.getAddressTagValues)(tags).filter(Address_1.isContextAddress);
166
125
  exports.getContextTagValues = getContextTagValues;
167
- exports.getPubkeyTags = (0, exports.getTags)(["p"], pk => pk.length === 64);
168
- exports.getPubkeyTagValues = (0, exports.getTagValues)(["p"], pk => pk.length === 64);
169
- exports.getRelayTags = (0, exports.getTags)(["r", "relay"], Relay_1.isShareableRelayUrl);
170
- exports.getRelayTagValues = (0, exports.getTagValues)(["r", "relay"], Relay_1.isShareableRelayUrl);
171
- exports.getGroupTags = (0, exports.getTags)(["h", "group"], h => Boolean(h.match(/^(.+)'(.+)$/)));
172
- exports.getGroupTagValues = (0, exports.getTagValues)(["h", "group"], h => Boolean(h.match(/^(.+)'(.+)$/)));
126
+ const getPubkeyTags = (tags) => tags.filter(t => ["p"].includes(t[0]) && t[1].length === 64);
127
+ exports.getPubkeyTags = getPubkeyTags;
128
+ const getPubkeyTagValues = (tags) => (0, exports.getPubkeyTags)(tags).map((0, lib_1.nth)(1));
129
+ exports.getPubkeyTagValues = getPubkeyTagValues;
130
+ const getRelayTags = (tags) => tags.filter(t => ["r", "relay"].includes(t[0]) && (0, Relay_1.isRelayUrl)(t[1]));
131
+ exports.getRelayTags = getRelayTags;
132
+ const getRelayTagValues = (tags) => (0, exports.getRelayTags)(tags).map((0, lib_1.nth)(1));
133
+ exports.getRelayTagValues = getRelayTagValues;
134
+ const getGroupTags = (tags) => tags.filter(t => ["h", "group"].includes(t[0]) && t[1] && (0, Relay_1.isRelayUrl)(t[2]));
135
+ exports.getGroupTags = getGroupTags;
136
+ const getGroupTagValues = (tags) => (0, exports.getGroupTags)(tags).map((0, lib_1.nth)(1));
137
+ exports.getGroupTagValues = getGroupTagValues;
138
+ const getKindTags = (tags) => tags.filter(t => ["k"].includes(t[0]) && t[1].match(/^\d+$/));
139
+ exports.getKindTags = getKindTags;
140
+ const getKindTagValues = (tags) => (0, exports.getKindTags)(tags).map(t => parseInt(t[1]));
141
+ exports.getKindTagValues = getKindTagValues;
142
+ const getAncestorTags = (tags) => {
143
+ const validTags = tags.filter(t => ["a", "e", "q"].includes(t[0]) && !(0, Address_1.isContextAddress)(t[1]));
144
+ const mentionTags = validTags.filter((0, lib_1.nthEq)(0, "q"));
145
+ const roots = [];
146
+ const replies = [];
147
+ const mentions = [];
148
+ const dispatchTags = (thisTags) => thisTags.forEach((t, i) => {
149
+ if (t[3] === 'root') {
150
+ if (validTags.filter((0, lib_1.nthEq)(3, "reply")).length === 0) {
151
+ replies.push(t);
152
+ }
153
+ else {
154
+ roots.push(t);
155
+ }
156
+ }
157
+ else if (t[3] === 'reply') {
158
+ replies.push(t);
159
+ }
160
+ else if (t[3] === 'mention') {
161
+ mentions.push(t);
162
+ }
163
+ else if (i === thisTags.length - 1) {
164
+ replies.push(t);
165
+ }
166
+ else if (i === 0) {
167
+ roots.push(t);
168
+ }
169
+ else {
170
+ mentions.push(t);
171
+ }
172
+ });
173
+ // Add different types separately so positional logic works
174
+ dispatchTags(validTags.filter((0, lib_1.nthEq)(0, "e")));
175
+ dispatchTags(validTags.filter((0, lib_1.nthEq)(0, "a")).filter(t => Boolean(t[3])));
176
+ mentionTags.forEach((t) => mentions.push(t));
177
+ return { roots, replies, mentions };
178
+ };
179
+ exports.getAncestorTags = getAncestorTags;
173
180
  //# sourceMappingURL=Tags.cjs.map