@welshman/util 0.0.52 → 0.0.53

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 (87) hide show
  1. package/build/src/{Address.mjs → Address.js} +14 -11
  2. package/build/src/Address.js.map +1 -0
  3. package/build/src/Encryptable.d.ts +1 -1
  4. package/build/src/{Encryptable.mjs → Encryptable.js} +3 -1
  5. package/build/src/Encryptable.js.map +1 -0
  6. package/build/src/Events.d.ts +1 -1
  7. package/build/src/{Events.mjs → Events.js} +16 -16
  8. package/build/src/Events.js.map +1 -0
  9. package/build/src/Filters.d.ts +15 -15
  10. package/build/src/{Filters.mjs → Filters.js} +13 -13
  11. package/build/src/Filters.js.map +1 -0
  12. package/build/src/Handler.d.ts +1 -1
  13. package/build/src/Handler.js +33 -0
  14. package/build/src/Handler.js.map +1 -0
  15. package/build/src/Kinds.d.ts +2 -8
  16. package/build/src/{Kinds.mjs → Kinds.js} +4 -10
  17. package/build/src/Kinds.js.map +1 -0
  18. package/build/src/Links.js +3 -0
  19. package/build/src/Links.js.map +1 -0
  20. package/build/src/List.d.ts +2 -2
  21. package/build/src/{List.mjs → List.js} +20 -17
  22. package/build/src/List.js.map +1 -0
  23. package/build/src/Profile.d.ts +1 -1
  24. package/build/src/{Profile.mjs → Profile.js} +11 -8
  25. package/build/src/Profile.js.map +1 -0
  26. package/build/src/Relay.d.ts +4 -4
  27. package/build/src/{Relay.mjs → Relay.js} +21 -18
  28. package/build/src/Relay.js.map +1 -0
  29. package/build/src/Repository.d.ts +3 -3
  30. package/build/src/Repository.js +198 -0
  31. package/build/src/Repository.js.map +1 -0
  32. package/build/src/{Tags.mjs → Tags.js} +5 -5
  33. package/build/src/Tags.js.map +1 -0
  34. package/build/src/Zaps.d.ts +1 -1
  35. package/build/src/{Zaps.mjs → Zaps.js} +5 -5
  36. package/build/src/Zaps.js.map +1 -0
  37. package/build/src/index.d.ts +13 -13
  38. package/build/src/index.js +14 -0
  39. package/build/src/index.js.map +1 -0
  40. package/build/tsconfig.tsbuildinfo +1 -0
  41. package/package.json +9 -10
  42. package/build/src/Address.cjs +0 -45
  43. package/build/src/Address.cjs.map +0 -1
  44. package/build/src/Address.mjs.map +0 -1
  45. package/build/src/Encryptable.cjs +0 -55
  46. package/build/src/Encryptable.cjs.map +0 -1
  47. package/build/src/Encryptable.mjs.map +0 -1
  48. package/build/src/Events.cjs +0 -81
  49. package/build/src/Events.cjs.map +0 -1
  50. package/build/src/Events.mjs.map +0 -1
  51. package/build/src/Filters.cjs +0 -202
  52. package/build/src/Filters.cjs.map +0 -1
  53. package/build/src/Filters.mjs.map +0 -1
  54. package/build/src/Handler.cjs +0 -36
  55. package/build/src/Handler.cjs.map +0 -1
  56. package/build/src/Handler.mjs +0 -29
  57. package/build/src/Handler.mjs.map +0 -1
  58. package/build/src/Kinds.cjs +0 -172
  59. package/build/src/Kinds.cjs.map +0 -1
  60. package/build/src/Kinds.mjs.map +0 -1
  61. package/build/src/Links.cjs +0 -8
  62. package/build/src/Links.cjs.map +0 -1
  63. package/build/src/Links.mjs +0 -3
  64. package/build/src/Links.mjs.map +0 -1
  65. package/build/src/List.cjs +0 -74
  66. package/build/src/List.cjs.map +0 -1
  67. package/build/src/List.mjs.map +0 -1
  68. package/build/src/Profile.cjs +0 -47
  69. package/build/src/Profile.cjs.map +0 -1
  70. package/build/src/Profile.mjs.map +0 -1
  71. package/build/src/Relay.cjs +0 -96
  72. package/build/src/Relay.cjs.map +0 -1
  73. package/build/src/Relay.mjs.map +0 -1
  74. package/build/src/Repository.cjs +0 -205
  75. package/build/src/Repository.cjs.map +0 -1
  76. package/build/src/Repository.mjs +0 -201
  77. package/build/src/Repository.mjs.map +0 -1
  78. package/build/src/Tags.cjs +0 -95
  79. package/build/src/Tags.cjs.map +0 -1
  80. package/build/src/Tags.mjs.map +0 -1
  81. package/build/src/Zaps.cjs +0 -99
  82. package/build/src/Zaps.cjs.map +0 -1
  83. package/build/src/Zaps.mjs.map +0 -1
  84. package/build/src/index.cjs +0 -30
  85. package/build/src/index.cjs.map +0 -1
  86. package/build/src/index.mjs +0 -14
  87. package/build/src/index.mjs.map +0 -1
@@ -1,12 +1,14 @@
1
- import { nip19 } from "nostr-tools";
1
+ import { decode, naddrEncode } from "nostr-tools/nip19";
2
2
  export class Address {
3
+ kind;
4
+ pubkey;
5
+ identifier;
6
+ relays;
3
7
  constructor(kind, pubkey, identifier, relays = []) {
4
8
  this.kind = kind;
5
9
  this.pubkey = pubkey;
6
10
  this.identifier = identifier;
7
11
  this.relays = relays;
8
- this.toString = () => [this.kind, this.pubkey, this.identifier].join(":");
9
- this.toNaddr = () => nip19.naddrEncode(this);
10
12
  }
11
13
  static isAddress(address) {
12
14
  return Boolean(address.match(/^\d+:\w+:.*$/));
@@ -16,25 +18,26 @@ export class Address {
16
18
  return new Address(parseInt(kind), pubkey, identifier, relays);
17
19
  }
18
20
  static fromNaddr(naddr) {
19
- let type;
20
- let data = {};
21
+ let decoded;
21
22
  try {
22
- ({ type, data } = nip19.decode(naddr));
23
+ decoded = decode(naddr);
23
24
  }
24
25
  catch (e) {
25
26
  // pass
26
27
  }
27
- if (type !== "naddr") {
28
+ if (decoded?.type !== "naddr") {
28
29
  throw new Error(`Invalid naddr ${naddr}`);
29
30
  }
30
- return new Address(data.kind, data.pubkey, data.identifier, data.relays);
31
+ const { kind, pubkey, identifier, relays } = decoded.data;
32
+ return new Address(kind, pubkey, identifier, relays);
31
33
  }
32
34
  static fromEvent(event, relays = []) {
33
- var _a;
34
- const identifier = ((_a = event.tags.find(t => t[0] === "d")) === null || _a === void 0 ? void 0 : _a[1]) || "";
35
+ const identifier = event.tags.find(t => t[0] === "d")?.[1] || "";
35
36
  return new Address(event.kind, event.pubkey, identifier, relays);
36
37
  }
38
+ toString = () => [this.kind, this.pubkey, this.identifier].join(":");
39
+ toNaddr = () => naddrEncode(this);
37
40
  }
38
41
  // Utils
39
42
  export const getAddress = (e) => Address.fromEvent(e).toString();
40
- //# sourceMappingURL=Address.mjs.map
43
+ //# sourceMappingURL=Address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Address.js","sourceRoot":"","sources":["../../src/Address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAA;AASrD,MAAM,OAAO,OAAO;IAEP;IACA;IACA;IACA;IAJX,YACW,IAAY,EACZ,MAAc,EACd,UAAkB,EAClB,SAAmB,EAAE;QAHrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAAe;IAC7B,CAAC;IAEJ,MAAM,CAAC,SAAS,CAAC,OAAe;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,SAAmB,EAAE;QAChD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAErF,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAa;QAC5B,IAAI,OAAY,CAAA;QAEhB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,IAAI,CAAA;QAEvD,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAuB,EAAE,SAAmB,EAAE;QAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAEhE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAClE,CAAC;IAED,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEpE,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,QAAQ;AAER,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { EventContent, TrustedEvent, EventTemplate } from './Events';
1
+ import type { EventContent, TrustedEvent, EventTemplate } from "./Events.js";
2
2
  export type Encrypt = (x: string) => Promise<string>;
3
3
  export type EncryptableUpdates = Partial<EventContent>;
4
4
  export type DecryptedEvent = TrustedEvent & {
@@ -3,6 +3,8 @@ export const asDecryptedEvent = (event, plaintext = {}) => ({ ...event, plaintex
3
3
  * Represents an encryptable event with optional updates.
4
4
  */
5
5
  export class Encryptable {
6
+ event;
7
+ updates;
6
8
  /**
7
9
  * Creates an instance of Encryptable.
8
10
  * @param event - An EventTemplate with optional tags and content.
@@ -47,4 +49,4 @@ export class Encryptable {
47
49
  };
48
50
  }
49
51
  }
50
- //# sourceMappingURL=Encryptable.mjs.map
52
+ //# sourceMappingURL=Encryptable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Encryptable.js","sourceRoot":"","sources":["../../src/Encryptable.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAmB,EAAE,YAAgC,EAAE,EAAE,EAAE,CAC1F,CAAC,EAAC,GAAG,KAAK,EAAE,SAAS,EAAC,CAAmB,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,WAAW;IAcX;IACA;IAdX;;;;;;;;;;;OAWG;IACH,YACW,KAAiB,EACjB,OAA2B;QAD3B,UAAK,GAAL,KAAK,CAAY;QACjB,YAAO,GAAP,OAAO,CAAoB;IACnC,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC9B,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YAEtC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YAEnC,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBAChC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE9B,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QAE5E,oFAAoF;QACpF,OAAO;YACL,GAAG,IAAI,CAAC,KAAK;YACb,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;YACnC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE;SACxC,CAAA;IACR,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { verifiedSymbol } from 'nostr-tools';
1
+ import { verifiedSymbol } from "nostr-tools/pure";
2
2
  export type EventContent = {
3
3
  tags: string[][];
4
4
  content: string;
@@ -1,8 +1,8 @@
1
- import { verifiedSymbol, getEventHash, verifyEvent } from 'nostr-tools';
2
- import { cached, pick, now } from '@welshman/lib';
3
- import { getAncestorTagValues } from "./Tags.mjs";
4
- import { getAddress } from "./Address.mjs";
5
- import { isEphemeralKind, isReplaceableKind, isPlainReplaceableKind, isParameterizedReplaceableKind } from "./Kinds.mjs";
1
+ import { verifiedSymbol, getEventHash, verifyEvent } from "nostr-tools/pure";
2
+ import { cached, pick, now } from "@welshman/lib";
3
+ import { getAncestorTagValues } from "./Tags.js";
4
+ import { getAddress } from "./Address.js";
5
+ import { isEphemeralKind, isReplaceableKind, isPlainReplaceableKind, isParameterizedReplaceableKind, } from "./Kinds.js";
6
6
  export const createEvent = (kind, { content = "", tags = [], created_at = now() }) => ({ kind, content, tags, created_at });
7
7
  export const isEventTemplate = (e) => Boolean(typeof e.kind === "number" && Array.isArray(e.tags) && typeof e.content === "string");
8
8
  export const isStampedEvent = (e) => Boolean(isEventTemplate(e) && e.created_at >= 0);
@@ -11,13 +11,13 @@ export const isHashedEvent = (e) => Boolean(isOwnedEvent(e) && e.id);
11
11
  export const isSignedEvent = (e) => Boolean(isHashedEvent(e) && e.sig);
12
12
  export const isUnwrappedEvent = (e) => Boolean(isHashedEvent(e) && e.wrap);
13
13
  export const isTrustedEvent = (e) => isSignedEvent(e) || isUnwrappedEvent(e);
14
- export const asEventTemplate = (e) => pick(['kind', 'tags', 'content'], e);
15
- export const asStampedEvent = (e) => pick(['kind', 'tags', 'content', 'created_at'], e);
16
- export const asOwnedEvent = (e) => pick(['kind', 'tags', 'content', 'created_at', 'pubkey'], e);
17
- export const asHashedEvent = (e) => pick(['kind', 'tags', 'content', 'created_at', 'pubkey', 'id'], e);
18
- export const asSignedEvent = (e) => pick(['kind', 'tags', 'content', 'created_at', 'pubkey', 'id', 'sig'], e);
19
- export const asUnwrappedEvent = (e) => pick(['kind', 'tags', 'content', 'created_at', 'pubkey', 'id', 'wrap'], e);
20
- export const asTrustedEvent = (e) => pick(['kind', 'tags', 'content', 'created_at', 'pubkey', 'id', 'sig', 'wrap'], e);
14
+ export const asEventTemplate = (e) => pick(["kind", "tags", "content"], e);
15
+ export const asStampedEvent = (e) => pick(["kind", "tags", "content", "created_at"], e);
16
+ export const asOwnedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey"], e);
17
+ export const asHashedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id"], e);
18
+ export const asSignedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id", "sig"], e);
19
+ export const asUnwrappedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id", "wrap"], e);
20
+ export const asTrustedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id", "sig", "wrap"], e);
21
21
  const _hasValidSignature = cached({
22
22
  maxSize: 10000,
23
23
  getKey: ([e]) => {
@@ -25,7 +25,7 @@ const _hasValidSignature = cached({
25
25
  return [getEventHash(e), e.sig].join(":");
26
26
  }
27
27
  catch (err) {
28
- return 'invalid';
28
+ return "invalid";
29
29
  }
30
30
  },
31
31
  getValue: ([e]) => {
@@ -39,8 +39,8 @@ const _hasValidSignature = cached({
39
39
  },
40
40
  });
41
41
  export const hasValidSignature = (e) => e[verifiedSymbol] || _hasValidSignature(e);
42
- export const getIdentifier = (e) => { var _a; return (_a = e.tags.find(t => t[0] === 'd')) === null || _a === void 0 ? void 0 : _a[1]; };
43
- export const getIdOrAddress = (e) => isReplaceable(e) ? getAddress(e) : e.id;
42
+ export const getIdentifier = (e) => e.tags.find(t => t[0] === "d")?.[1];
43
+ export const getIdOrAddress = (e) => (isReplaceable(e) ? getAddress(e) : e.id);
44
44
  export const getIdAndAddress = (e) => isReplaceable(e) ? [e.id, getAddress(e)] : [e.id];
45
45
  export const isEphemeral = (e) => isEphemeralKind(e.kind);
46
46
  export const isReplaceable = (e) => isReplaceableKind(e.kind);
@@ -51,4 +51,4 @@ export const isChildOf = (child, parent) => {
51
51
  const parentIds = replies.length > 0 ? replies : roots;
52
52
  return getIdAndAddress(parent).some(x => parentIds.includes(x));
53
53
  };
54
- //# sourceMappingURL=Events.mjs.map
54
+ //# sourceMappingURL=Events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../src/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,YAAY,CAAA;AA4CnB,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,EAAC,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,GAAG,EAAE,EAAkB,EAC9D,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAsB,EAAE,CACtE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAqB,EAAE,CACnE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAa,EAAmB,EAAE,CAC7D,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAc,EAAoB,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CACjE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAuB,EAAE,CACvE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAqB,EAAE,CACnE,aAAa,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAiB,EAAE,CACjE,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAgB,EAAE,CAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAa,EAAc,EAAE,CACxD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAc,EAAe,EAAE,CAC3D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAc,EAAe,EAAE,CAC3D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAiB,EAAkB,EAAE,CACpE,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAgB,EAAE,CAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnF,MAAM,kBAAkB,GAAG,MAAM,CAAiC;IAChE,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,CAAC,CAAC,CAAC,CAAgB,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAgB,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,WAAW,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAc,EAAE,EAAE,CAChD,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAgB,EAAE,EAAE,CAC7D,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,MAAmB,EAAE,EAAE;IACpE,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAEtD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { HashedEvent, TrustedEvent } from './Events';
1
+ import type { HashedEvent, TrustedEvent } from "./Events.js";
2
2
  export declare const EPOCH = 1609459200;
3
3
  export declare const neverFilter: {
4
4
  ids: never[];
@@ -22,22 +22,22 @@ export declare const intersectFilters: (groups: Filter[][]) => Filter[];
22
22
  export declare const getIdFilters: (idsOrAddresses: string[]) => Filter[];
23
23
  export declare const getReplyFilters: (events: TrustedEvent[], filter?: Filter) => ({
24
24
  "#a": string[];
25
- ids?: string[] | undefined;
26
- kinds?: number[] | undefined;
27
- authors?: string[] | undefined;
28
- since?: number | undefined;
29
- until?: number | undefined;
30
- limit?: number | undefined;
31
- search?: string | undefined;
25
+ ids?: string[];
26
+ kinds?: number[];
27
+ authors?: string[];
28
+ since?: number;
29
+ until?: number;
30
+ limit?: number;
31
+ search?: string;
32
32
  } | {
33
33
  "#e": string[];
34
- ids?: string[] | undefined;
35
- kinds?: number[] | undefined;
36
- authors?: string[] | undefined;
37
- since?: number | undefined;
38
- until?: number | undefined;
39
- limit?: number | undefined;
40
- search?: string | undefined;
34
+ ids?: string[];
35
+ kinds?: number[];
36
+ authors?: string[];
37
+ since?: number;
38
+ until?: number;
39
+ limit?: number;
40
+ search?: string;
41
41
  })[];
42
42
  export declare const addRepostFilters: (filters: Filter[]) => Filter[];
43
43
  export declare const getFilterGenerality: (filter: Filter) => number;
@@ -1,7 +1,7 @@
1
- import { matchFilter as nostrToolsMatchFilter } from 'nostr-tools';
2
- import { without, uniqBy, prop, mapVals, shuffle, avg, hash, groupBy, randomId, uniq } from '@welshman/lib';
3
- import { isReplaceableKind } from "./Kinds.mjs";
4
- import { Address, getAddress } from "./Address.mjs";
1
+ import { matchFilter as nostrToolsMatchFilter } from "nostr-tools/filter";
2
+ import { without, uniqBy, prop, mapVals, shuffle, avg, hash, groupBy, randomId, uniq, } from "@welshman/lib";
3
+ import { isReplaceableKind } from "./Kinds.js";
4
+ import { Address, getAddress } from "./Address.js";
5
5
  export const EPOCH = 1609459200;
6
6
  export const neverFilter = { ids: [] };
7
7
  export const matchFilter = (filter, event) => {
@@ -34,10 +34,10 @@ export const getFilterId = (filter) => {
34
34
  const parts = [];
35
35
  for (const k of keys) {
36
36
  const v = filter[k];
37
- const s = Array.isArray(v) ? v.join(',') : v;
38
- parts.push([k, s].join(':'));
37
+ const s = Array.isArray(v) ? v.join(",") : v;
38
+ parts.push([k, s].join(":"));
39
39
  }
40
- return hash(parts.join('|'));
40
+ return hash(parts.join("|"));
41
41
  };
42
42
  export const calculateFilterGroup = ({ since, until, limit, search, ...filter }) => {
43
43
  const group = Object.keys(filter);
@@ -75,15 +75,15 @@ export const intersectFilters = (groups) => {
75
75
  return filters.map(f2 => {
76
76
  const f3 = {};
77
77
  for (const k of uniq([...Object.keys(f1), ...Object.keys(f2)])) {
78
- if (k === 'since' || k === 'limit') {
78
+ if (k === "since" || k === "limit") {
79
79
  f3[k] = Math.max(f1[k] || 0, f2[k] || 0);
80
80
  }
81
- else if (k === 'until') {
81
+ else if (k === "until") {
82
82
  f3[k] = Math.min(f1[k] || f2[k] || 0, f2[k] || f1[k] || 0);
83
83
  }
84
- else if (k === 'search') {
84
+ else if (k === "search") {
85
85
  if (f1[k] && f2[k] && f1[k] !== f2[k]) {
86
- f3[k] = [f1[k], f2[k]].join(' ');
86
+ f3[k] = [f1[k], f2[k]].join(" ");
87
87
  }
88
88
  else {
89
89
  f3[k] = f1[k] || f2[k];
@@ -180,6 +180,6 @@ export const getFilterResultCardinality = (filter) => {
180
180
  }
181
181
  return null;
182
182
  };
183
- export const trimFilter = (filter) => mapVals(v => Array.isArray(v) && v.length > 1000 ? shuffle(v).slice(0, 1000) : v, filter);
183
+ export const trimFilter = (filter) => mapVals(v => (Array.isArray(v) && v.length > 1000 ? shuffle(v).slice(0, 1000) : v), filter);
184
184
  export const trimFilters = (filters) => filters.map(trimFilter);
185
- //# sourceMappingURL=Filters.mjs.map
185
+ //# sourceMappingURL=Filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.js","sourceRoot":"","sources":["../../src/Filters.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TrustedEvent } from "./Events";
1
+ import type { TrustedEvent } from "./Events.js";
2
2
  export type Handler = {
3
3
  kind: number;
4
4
  name: string;
@@ -0,0 +1,33 @@
1
+ import { fromPairs, last, first, parseJson } from "@welshman/lib";
2
+ import { getAddress } from "./Address.js";
3
+ import { getAddressTags, getKindTagValues } from "./Tags.js";
4
+ export const readHandlers = (event) => {
5
+ const { d: identifier } = fromPairs(event.tags);
6
+ const meta = parseJson(event.content);
7
+ const normalizedMeta = {
8
+ name: meta?.name || meta?.display_name || "",
9
+ image: meta?.image || meta?.picture || "",
10
+ about: meta?.about || "",
11
+ website: meta?.website || "",
12
+ lud16: meta?.lud16 || "",
13
+ nip05: meta?.nip05 || "",
14
+ };
15
+ // If our meta is missing important stuff, don't bother showing it
16
+ if (!normalizedMeta.name || !normalizedMeta.image) {
17
+ return [];
18
+ }
19
+ return getKindTagValues(event.tags).map(kind => ({
20
+ ...normalizedMeta,
21
+ kind,
22
+ identifier,
23
+ event,
24
+ }));
25
+ };
26
+ export const getHandlerKey = (handler) => `${handler.kind}:${getAddress(handler.event)}`;
27
+ export const displayHandler = (handler, fallback = "") => handler?.name || fallback;
28
+ export const getHandlerAddress = (event) => {
29
+ const tags = getAddressTags(event.tags);
30
+ const tag = tags.find(t => last(t) === "web") || first(tags);
31
+ return tag?.[1];
32
+ };
33
+ //# sourceMappingURL=Handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,WAAW,CAAA;AAe1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE;IAClD,MAAM,EAAC,CAAC,EAAE,UAAU,EAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,YAAY,IAAI,EAAE;QAC5C,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE;QACzC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;KACzB,CAAA;IAED,kEAAkE;IAClE,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,GAAG,cAAc;QACjB,IAAI;QACJ,UAAU;QACV,KAAK;KACN,CAAC,CAAc,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;AAEjG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAA;AAE7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;IAE5D,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAA"}
@@ -1,8 +1,5 @@
1
- import { kinds } from 'nostr-tools';
2
- export declare const isRegularKind: typeof kinds.isRegularKind;
3
- export declare const isEphemeralKind: typeof kinds.isEphemeralKind;
4
- export declare const isPlainReplaceableKind: typeof kinds.isReplaceableKind;
5
- export declare const isParameterizedReplaceableKind: typeof kinds.isParameterizedReplaceableKind;
1
+ import { isRegularKind, isEphemeralKind, isReplaceableKind as isPlainReplaceableKind, isParameterizedReplaceableKind } from "nostr-tools/kinds";
2
+ export { isRegularKind, isEphemeralKind, isPlainReplaceableKind, isParameterizedReplaceableKind };
6
3
  export declare const isReplaceableKind: (kind: number) => boolean;
7
4
  export declare const isDVMKind: (kind: number) => boolean;
8
5
  export declare const PROFILE = 0;
@@ -109,9 +106,6 @@ export declare const TOPICS = 10015;
109
106
  export declare const EMOJIS = 10030;
110
107
  export declare const INBOX_RELAYS = 10050;
111
108
  export declare const FILE_SERVERS = 10096;
112
- export declare const SEEN_GENERAL = 10115;
113
- export declare const SEEN_CONTEXT = 10116;
114
- export declare const SEEN_CONVERSATION = 10117;
115
109
  export declare const LIGHTNING_PUB_RPC = 21000;
116
110
  export declare const CLIENT_AUTH = 22242;
117
111
  export declare const AUTH_JOIN = 28934;
@@ -1,9 +1,6 @@
1
- import { kinds } from 'nostr-tools';
2
- import { between } from '@welshman/lib';
3
- export const isRegularKind = kinds.isRegularKind;
4
- export const isEphemeralKind = kinds.isEphemeralKind;
5
- export const isPlainReplaceableKind = kinds.isReplaceableKind;
6
- export const isParameterizedReplaceableKind = kinds.isParameterizedReplaceableKind;
1
+ import { isRegularKind, isEphemeralKind, isReplaceableKind as isPlainReplaceableKind, isParameterizedReplaceableKind, } from "nostr-tools/kinds";
2
+ import { between } from "@welshman/lib";
3
+ export { isRegularKind, isEphemeralKind, isPlainReplaceableKind, isParameterizedReplaceableKind };
7
4
  export const isReplaceableKind = (kind) => isPlainReplaceableKind(kind) || isParameterizedReplaceableKind(kind);
8
5
  export const isDVMKind = (kind) => between([4999, 7001], kind);
9
6
  export const PROFILE = 0;
@@ -110,9 +107,6 @@ export const TOPICS = 10015;
110
107
  export const EMOJIS = 10030;
111
108
  export const INBOX_RELAYS = 10050;
112
109
  export const FILE_SERVERS = 10096;
113
- export const SEEN_GENERAL = 10115;
114
- export const SEEN_CONTEXT = 10116;
115
- export const SEEN_CONVERSATION = 10117;
116
110
  export const LIGHTNING_PUB_RPC = 21000;
117
111
  export const CLIENT_AUTH = 22242;
118
112
  export const AUTH_JOIN = 28934;
@@ -161,4 +155,4 @@ export const GROUP_ADMINS = 39001;
161
155
  export const DEPRECATED_RELAY_RECOMMENDATION = 2;
162
156
  export const DEPRECATED_DIRECT_MESSAGE = 4;
163
157
  export const DEPRECATED_NAMED_GENERIC = 30001;
164
- //# sourceMappingURL=Kinds.mjs.map
158
+ //# sourceMappingURL=Kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kinds.js","sourceRoot":"","sources":["../../src/Kinds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export const fromNostrURI = (s) => s.replace(/^nostr:\/?\/?/, "");
2
+ export const toNostrURI = (s) => (s.startsWith("nostr:") ? s : `nostr:${s}`);
3
+ //# sourceMappingURL=Links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Links.js","sourceRoot":"","sources":["../../src/Links.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Encryptable, DecryptedEvent } from "./Encryptable";
1
+ import { Encryptable, DecryptedEvent } from "./Encryptable.js";
2
2
  export type ListParams = {
3
3
  kind: number;
4
4
  };
@@ -28,4 +28,4 @@ export declare const addToListPublicly: (list: List, ...tags: string[][]) => Enc
28
28
  content: string;
29
29
  tags: string[][];
30
30
  }>;
31
- export declare const addToListPrivately: (list: List, ...tags: string[][]) => Encryptable<import("./Events").EventTemplate>;
31
+ export declare const addToListPrivately: (list: List, ...tags: string[][]) => Encryptable<import("./Events.js").EventTemplate>;
@@ -1,19 +1,22 @@
1
1
  import { parseJson, nthEq } from "@welshman/lib";
2
- import { Address } from "./Address.mjs";
3
- import { uniqTags } from "./Tags.mjs";
4
- import { isShareableRelayUrl } from "./Relay.mjs";
5
- import { Encryptable } from "./Encryptable.mjs";
6
- export const makeList = (list) => ({ publicTags: [], privateTags: [], ...list });
2
+ import { Address } from "./Address.js";
3
+ import { uniqTags } from "./Tags.js";
4
+ import { isShareableRelayUrl } from "./Relay.js";
5
+ import { Encryptable } from "./Encryptable.js";
6
+ export const makeList = (list) => ({
7
+ publicTags: [],
8
+ privateTags: [],
9
+ ...list,
10
+ });
7
11
  const isValidTag = (tag) => {
8
- var _a, _b, _c;
9
12
  if (tag[0] === "p")
10
- return ((_a = tag[1]) === null || _a === void 0 ? void 0 : _a.length) === 64;
13
+ return tag[1]?.length === 64;
11
14
  if (tag[0] === "e")
12
- return ((_b = tag[1]) === null || _b === void 0 ? void 0 : _b.length) === 64;
15
+ return tag[1]?.length === 64;
13
16
  if (tag[0] === "a")
14
17
  return Address.isAddress(tag[1] || "");
15
18
  if (tag[0] === "t")
16
- return ((_c = tag[1]) === null || _c === void 0 ? void 0 : _c.length) > 0;
19
+ return tag[1]?.length > 0;
17
20
  if (tag[0] === "r")
18
21
  return isShareableRelayUrl(tag[1]);
19
22
  if (tag[0] === "relay")
@@ -21,19 +24,20 @@ const isValidTag = (tag) => {
21
24
  return true;
22
25
  };
23
26
  export const readList = (event) => {
24
- var _a;
25
27
  const getTags = (tags) => (Array.isArray(tags) ? tags.filter(isValidTag) : []);
26
- const privateTags = getTags(parseJson((_a = event.plaintext) === null || _a === void 0 ? void 0 : _a.content));
28
+ const privateTags = getTags(parseJson(event.plaintext?.content));
27
29
  const publicTags = getTags(event.tags);
28
30
  return { event, kind: event.kind, publicTags, privateTags };
29
31
  };
30
- export const getListTags = (list) => [...(list === null || list === void 0 ? void 0 : list.publicTags) || [], ...(list === null || list === void 0 ? void 0 : list.privateTags) || []];
32
+ export const getListTags = (list) => [
33
+ ...(list?.publicTags || []),
34
+ ...(list?.privateTags || []),
35
+ ];
31
36
  export const removeFromListByPredicate = (list, pred) => {
32
- var _a;
33
37
  const plaintext = {};
34
38
  const template = {
35
39
  kind: list.kind,
36
- content: ((_a = list.event) === null || _a === void 0 ? void 0 : _a.content) || "",
40
+ content: list.event?.content || "",
37
41
  tags: list.publicTags.filter(t => !pred(t)),
38
42
  };
39
43
  // Avoid redundant encrypt calls if possible
@@ -44,10 +48,9 @@ export const removeFromListByPredicate = (list, pred) => {
44
48
  };
45
49
  export const removeFromList = (list, value) => removeFromListByPredicate(list, nthEq(1, value));
46
50
  export const addToListPublicly = (list, ...tags) => {
47
- var _a;
48
51
  const template = {
49
52
  kind: list.kind,
50
- content: ((_a = list.event) === null || _a === void 0 ? void 0 : _a.content) || "",
53
+ content: list.event?.content || "",
51
54
  tags: uniqTags([...list.publicTags, ...tags]),
52
55
  };
53
56
  return new Encryptable(template, {});
@@ -61,4 +64,4 @@ export const addToListPrivately = (list, ...tags) => {
61
64
  content: JSON.stringify(uniqTags([...list.privateTags, ...tags])),
62
65
  });
63
66
  };
64
- //# sourceMappingURL=List.mjs.map
67
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/List.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TrustedEvent } from "./Events";
1
+ import { TrustedEvent } from "./Events.js";
2
2
  export type Profile = {
3
3
  name?: string;
4
4
  nip05?: string;
@@ -1,14 +1,17 @@
1
- import { nip19 } from "nostr-tools";
1
+ import { npubEncode } from "nostr-tools/nip19";
2
2
  import { ellipsize, parseJson } from "@welshman/lib";
3
- import { getLnUrl } from "./Zaps.mjs";
4
- import { PROFILE } from "./Kinds.mjs";
3
+ import { getLnUrl } from "./Zaps.js";
4
+ import { PROFILE } from "./Kinds.js";
5
5
  export const isPublishedProfile = (profile) => Boolean(profile.event);
6
6
  export const makeProfile = (profile = {}) => {
7
7
  const address = profile.lud06 || profile.lud16;
8
- const lnurl = typeof address === 'string' ? getLnUrl(address) : null;
8
+ const lnurl = typeof address === "string" ? getLnUrl(address) : null;
9
9
  return lnurl ? { lnurl, ...profile } : profile;
10
10
  };
11
- export const readProfile = (event) => ({ ...makeProfile(parseJson(event.content) || {}), event });
11
+ export const readProfile = (event) => ({
12
+ ...makeProfile(parseJson(event.content) || {}),
13
+ event,
14
+ });
12
15
  export const createProfile = ({ event, ...profile }) => ({
13
16
  kind: PROFILE,
14
17
  content: JSON.stringify(profile),
@@ -19,7 +22,7 @@ export const editProfile = ({ event, ...profile }) => ({
19
22
  tags: event.tags,
20
23
  });
21
24
  export const displayPubkey = (pubkey) => {
22
- const d = nip19.npubEncode(pubkey);
25
+ const d = npubEncode(pubkey);
23
26
  return d.slice(0, 8) + "…" + d.slice(-5);
24
27
  };
25
28
  export const displayProfile = (profile, fallback = "") => {
@@ -32,5 +35,5 @@ export const displayProfile = (profile, fallback = "") => {
32
35
  return displayPubkey(event.pubkey);
33
36
  return fallback;
34
37
  };
35
- export const profileHasName = (profile) => Boolean((profile === null || profile === void 0 ? void 0 : profile.name) || (profile === null || profile === void 0 ? void 0 : profile.display_name));
36
- //# sourceMappingURL=Profile.mjs.map
38
+ export const profileHasName = (profile) => Boolean(profile?.name || profile?.display_name);
39
+ //# sourceMappingURL=Profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../src/Profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAElD,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAA;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAoBlC,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;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAA;IAC9C,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAoB,EAAE,CAAC,CAAC;IACrE,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9C,KAAK;CACN,CAAC,CAAA;AAEF,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,UAAU,CAAC,MAAM,CAAC,CAAA;IAE5B,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,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,YAAY,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
- import { Emitter } from '@welshman/lib';
2
- import type { Repository } from './Repository';
3
- import type { Filter } from './Filters';
4
- import type { HashedEvent, TrustedEvent } from './Events';
1
+ import { Emitter } from "@welshman/lib";
2
+ import type { Repository } from "./Repository.js";
3
+ import type { Filter } from "./Filters.js";
4
+ import type { HashedEvent, TrustedEvent } from "./Events.js";
5
5
  export declare const LOCAL_RELAY_URL = "local://welshman.relay/";
6
6
  export declare const BOGUS_RELAY_URL = "bogus://welshman.relay/";
7
7
  export type RelayProfile = {