@welshman/domain 0.9.0-pre2 → 0.9.0-pre4

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 (110) hide show
  1. package/dist/domain/src/core/EventReader.d.ts +30 -3
  2. package/dist/domain/src/core/EventReader.d.ts.map +1 -1
  3. package/dist/domain/src/core/EventReader.js +24 -3
  4. package/dist/domain/src/core/EventReader.js.map +1 -1
  5. package/dist/domain/src/core/EventWriter.d.ts +6 -6
  6. package/dist/domain/src/core/EventWriter.d.ts.map +1 -1
  7. package/dist/domain/src/core/EventWriter.js +12 -12
  8. package/dist/domain/src/core/EventWriter.js.map +1 -1
  9. package/dist/domain/src/core/Kind.d.ts +5 -5
  10. package/dist/domain/src/core/Kind.d.ts.map +1 -1
  11. package/dist/domain/src/core/Kind.js +4 -6
  12. package/dist/domain/src/core/Kind.js.map +1 -1
  13. package/dist/domain/src/core/ListReader.d.ts +3 -3
  14. package/dist/domain/src/core/ListReader.d.ts.map +1 -1
  15. package/dist/domain/src/core/ListReader.js +3 -2
  16. package/dist/domain/src/core/ListReader.js.map +1 -1
  17. package/dist/domain/src/index.d.ts +3 -1
  18. package/dist/domain/src/index.d.ts.map +1 -1
  19. package/dist/domain/src/index.js +3 -1
  20. package/dist/domain/src/index.js.map +1 -1
  21. package/dist/domain/src/kinds/AppData.d.ts +3 -3
  22. package/dist/domain/src/kinds/AppData.d.ts.map +1 -1
  23. package/dist/domain/src/kinds/AppData.js +5 -4
  24. package/dist/domain/src/kinds/AppData.js.map +1 -1
  25. package/dist/domain/src/kinds/CommunityList.d.ts +12 -0
  26. package/dist/domain/src/kinds/CommunityList.d.ts.map +1 -0
  27. package/dist/domain/src/kinds/{GroupList.js → CommunityList.js} +10 -9
  28. package/dist/domain/src/kinds/CommunityList.js.map +1 -0
  29. package/dist/domain/src/kinds/Delete.d.ts +1 -1
  30. package/dist/domain/src/kinds/Delete.d.ts.map +1 -1
  31. package/dist/domain/src/kinds/Delete.js +7 -7
  32. package/dist/domain/src/kinds/Delete.js.map +1 -1
  33. package/dist/domain/src/kinds/Handler.d.ts +1 -1
  34. package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
  35. package/dist/domain/src/kinds/Handler.js +2 -1
  36. package/dist/domain/src/kinds/Handler.js.map +1 -1
  37. package/dist/domain/src/kinds/Profile.d.ts +1 -1
  38. package/dist/domain/src/kinds/Profile.d.ts.map +1 -1
  39. package/dist/domain/src/kinds/Profile.js +2 -1
  40. package/dist/domain/src/kinds/Profile.js.map +1 -1
  41. package/dist/domain/src/kinds/RoomCreate.js +2 -2
  42. package/dist/domain/src/kinds/RoomCreate.js.map +1 -1
  43. package/dist/domain/src/kinds/RoomDelete.js +3 -3
  44. package/dist/domain/src/kinds/RoomDelete.js.map +1 -1
  45. package/dist/domain/src/kinds/RoomEdit.js +3 -3
  46. package/dist/domain/src/kinds/RoomEdit.js.map +1 -1
  47. package/dist/domain/src/kinds/RoomJoin.js +2 -2
  48. package/dist/domain/src/kinds/RoomJoin.js.map +1 -1
  49. package/dist/domain/src/kinds/RoomLeave.js +3 -3
  50. package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
  51. package/dist/domain/src/kinds/RoomList.d.ts +7 -5
  52. package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
  53. package/dist/domain/src/kinds/RoomList.js +44 -16
  54. package/dist/domain/src/kinds/RoomList.js.map +1 -1
  55. package/dist/domain/src/kinds/RoomPins.d.ts +15 -0
  56. package/dist/domain/src/kinds/RoomPins.d.ts.map +1 -0
  57. package/dist/domain/src/kinds/RoomPins.js +34 -0
  58. package/dist/domain/src/kinds/RoomPins.js.map +1 -0
  59. package/dist/domain/src/kinds/RoomUpdatePins.d.ts +15 -0
  60. package/dist/domain/src/kinds/RoomUpdatePins.d.ts.map +1 -0
  61. package/dist/domain/src/kinds/RoomUpdatePins.js +38 -0
  62. package/dist/domain/src/kinds/RoomUpdatePins.js.map +1 -0
  63. package/dist/domain/src/kinds/ZapGoal.d.ts +5 -0
  64. package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
  65. package/dist/domain/src/kinds/ZapGoal.js +29 -4
  66. package/dist/domain/src/kinds/ZapGoal.js.map +1 -1
  67. package/dist/domain/src/kinds/ZapReceipt.d.ts +1 -1
  68. package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -1
  69. package/dist/domain/src/kinds/ZapReceipt.js +2 -1
  70. package/dist/domain/src/kinds/ZapReceipt.js.map +1 -1
  71. package/dist/lib/src/LRUCache.d.ts +0 -1
  72. package/dist/lib/src/LRUCache.d.ts.map +1 -1
  73. package/dist/lib/src/LRUCache.js +9 -10
  74. package/dist/lib/src/LRUCache.js.map +1 -1
  75. package/dist/lib/src/Tools.js +1 -1
  76. package/dist/lib/src/Tools.js.map +1 -1
  77. package/dist/net/src/auth.d.ts.map +1 -1
  78. package/dist/net/src/auth.js +2 -2
  79. package/dist/net/src/auth.js.map +1 -1
  80. package/dist/net/src/publish.d.ts.map +1 -1
  81. package/dist/net/src/publish.js +13 -0
  82. package/dist/net/src/publish.js.map +1 -1
  83. package/dist/net/src/request.d.ts +1 -2
  84. package/dist/net/src/request.d.ts.map +1 -1
  85. package/dist/net/src/request.js +16 -2
  86. package/dist/net/src/request.js.map +1 -1
  87. package/dist/signer/src/nip59.d.ts +1 -1
  88. package/dist/signer/src/nip59.d.ts.map +1 -1
  89. package/dist/signer/src/nip59.js +26 -30
  90. package/dist/signer/src/nip59.js.map +1 -1
  91. package/dist/signer/src/signers/nip07.d.ts.map +1 -1
  92. package/dist/signer/src/signers/nip07.js +19 -5
  93. package/dist/signer/src/signers/nip07.js.map +1 -1
  94. package/dist/signer/src/signers/nip55.d.ts +46 -6
  95. package/dist/signer/src/signers/nip55.d.ts.map +1 -1
  96. package/dist/signer/src/signers/nip55.js +53 -54
  97. package/dist/signer/src/signers/nip55.js.map +1 -1
  98. package/dist/signer/src/util.d.ts +2 -2
  99. package/dist/signer/src/util.d.ts.map +1 -1
  100. package/dist/signer/src/util.js +2 -6
  101. package/dist/signer/src/util.js.map +1 -1
  102. package/dist/tsconfig.build.tsbuildinfo +1 -1
  103. package/dist/util/src/Kinds.d.ts +2 -0
  104. package/dist/util/src/Kinds.d.ts.map +1 -1
  105. package/dist/util/src/Kinds.js +2 -0
  106. package/dist/util/src/Kinds.js.map +1 -1
  107. package/package.json +11 -11
  108. package/dist/domain/src/kinds/GroupList.d.ts +0 -12
  109. package/dist/domain/src/kinds/GroupList.d.ts.map +0 -1
  110. package/dist/domain/src/kinds/GroupList.js.map +0 -1
@@ -1,13 +1,19 @@
1
+ import type { MaybeAsync } from "@welshman/lib";
1
2
  import type { TrustedEvent } from "@welshman/util";
2
3
  import type { KindContext } from "./Kind.js";
3
4
  import type { Emoji } from "../behaviors/Emoji.js";
4
5
  import type { ZapSplit } from "../behaviors/ZapSplits.js";
5
- export declare abstract class EventReader {
6
+ /**
7
+ * The accessors every reader shares. Readers don't extend this directly — they
8
+ * pick a branch below according to whether parsing their event can hit IO, which
9
+ * is what tells a caller whether `parse()` has to be awaited.
10
+ */
11
+ export declare abstract class BaseEventReader {
6
12
  readonly kind: number;
7
13
  readonly context: KindContext;
8
14
  readonly event: TrustedEvent;
9
15
  constructor(kind: number, context: KindContext, event: TrustedEvent);
10
- parse(): Promise<void>;
16
+ abstract parse(): MaybeAsync<this>;
11
17
  id(): string;
12
18
  author(): string;
13
19
  content(): string;
@@ -15,10 +21,31 @@ export declare abstract class EventReader {
15
21
  createdAt(): number;
16
22
  identifier(): string | undefined;
17
23
  address(): string;
18
- group(): string | undefined;
24
+ room(): string | undefined;
19
25
  protect(): boolean;
20
26
  expiration(): number | undefined;
21
27
  emojis(): Emoji[];
22
28
  zapSplits(): ZapSplit[];
23
29
  }
30
+ /**
31
+ * A reader whose event can be parsed without IO — the common case. `parse()`
32
+ * returns the reader itself, so callers never await it. Override `parse` to
33
+ * derive state from the event, returning `this`.
34
+ */
35
+ export declare abstract class EventReader extends BaseEventReader {
36
+ parse(): this;
37
+ }
38
+ /**
39
+ * A reader that has to decrypt (or otherwise await something) before its
40
+ * accessors are complete. `parse()` returns a promise, so the type system makes
41
+ * callers await it rather than silently reading a half-parsed event.
42
+ */
43
+ export declare abstract class AsyncEventReader extends BaseEventReader {
44
+ abstract parse(): Promise<this>;
45
+ }
46
+ /**
47
+ * What `reader.parse()` yields for a given reader — the reader for sync kinds, a
48
+ * promise of it for kinds that decrypt. `await` works either way.
49
+ */
50
+ export type Parsed<R extends BaseEventReader> = ReturnType<R["parse"]>;
24
51
  //# sourceMappingURL=EventReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAA;AAEhD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAEvD,8BAAsB,WAAW;IAE7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY;gBAFnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,YAAY;IAOxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE5B,EAAE;IAIF,MAAM;IAIN,OAAO;IAIP,IAAI;IAIJ,SAAS;IAIT,UAAU;IAIV,OAAO;IAIP,KAAK;IAIL,OAAO;IAIP,UAAU;IAIV,MAAM,IAAI,KAAK,EAAE;IAIjB,SAAS,IAAI,QAAQ,EAAE;CAGxB"}
1
+ {"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAA;AAEhD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAEvD;;;;GAIG;AACH,8BAAsB,eAAe;IAEjC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY;gBAFnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,YAAY;IAS9B,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC;IAElC,EAAE;IAIF,MAAM;IAIN,OAAO;IAIP,IAAI;IAIJ,SAAS;IAIT,UAAU;IAIV,OAAO;IAIP,IAAI;IAIJ,OAAO;IAIP,UAAU;IAIV,MAAM,IAAI,KAAK,EAAE;IAIjB,SAAS,IAAI,QAAQ,EAAE;CAGxB;AAED;;;;GAIG;AACH,8BAAsB,WAAY,SAAQ,eAAe;IACvD,KAAK,IAAI,IAAI;CAGd;AAED;;;;GAIG;AACH,8BAAsB,gBAAiB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,eAAe,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA"}
@@ -2,7 +2,12 @@ import { spec, toInt } from "@welshman/lib";
2
2
  import { tagSpec, tagValue, getAddress } from "@welshman/util";
3
3
  import { getEmojis } from "../behaviors/Emoji.js";
4
4
  import { getZapSplits } from "../behaviors/ZapSplits.js";
5
- export class EventReader {
5
+ /**
6
+ * The accessors every reader shares. Readers don't extend this directly — they
7
+ * pick a branch below according to whether parsing their event can hit IO, which
8
+ * is what tells a caller whether `parse()` has to be awaited.
9
+ */
10
+ export class BaseEventReader {
6
11
  kind;
7
12
  context;
8
13
  event;
@@ -14,7 +19,6 @@ export class EventReader {
14
19
  throw new Error(`Expected a kind ${kind} event, got kind ${event.kind}`);
15
20
  }
16
21
  }
17
- async parse() { }
18
22
  id() {
19
23
  return this.event.id;
20
24
  }
@@ -36,7 +40,7 @@ export class EventReader {
36
40
  address() {
37
41
  return getAddress(this.event);
38
42
  }
39
- group() {
43
+ room() {
40
44
  return tagValue(tagSpec("h"), this.event.tags);
41
45
  }
42
46
  protect() {
@@ -52,4 +56,21 @@ export class EventReader {
52
56
  return getZapSplits(this.event);
53
57
  }
54
58
  }
59
+ /**
60
+ * A reader whose event can be parsed without IO — the common case. `parse()`
61
+ * returns the reader itself, so callers never await it. Override `parse` to
62
+ * derive state from the event, returning `this`.
63
+ */
64
+ export class EventReader extends BaseEventReader {
65
+ parse() {
66
+ return this;
67
+ }
68
+ }
69
+ /**
70
+ * A reader that has to decrypt (or otherwise await something) before its
71
+ * accessors are complete. `parse()` returns a promise, so the type system makes
72
+ * callers await it rather than silently reading a half-parsed event.
73
+ */
74
+ export class AsyncEventReader extends BaseEventReader {
75
+ }
55
76
  //# sourceMappingURL=EventReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAGtD,MAAM,OAAgB,WAAW;IAEpB;IACA;IACA;IAHX,YACW,IAAY,EACZ,OAAoB,EACpB,KAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,UAAK,GAAL,KAAK,CAAc;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,EAAE;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAGtD;;;;GAIG;AACH,MAAM,OAAgB,eAAe;IAExB;IACA;IACA;IAHX,YACW,IAAY,EACZ,OAAoB,EACpB,KAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,UAAK,GAAL,KAAK,CAAc;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAMD,EAAE;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,WAAY,SAAQ,eAAe;IACvD,KAAK;QACH,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,eAAe;CAE7D"}
@@ -1,18 +1,18 @@
1
1
  import type { MaybeAsync } from "@welshman/lib";
2
2
  import type { EventTemplate, TrustedEvent, RelaySelection, RelayScenario } from "@welshman/util";
3
- import type { EventReader } from "./EventReader.js";
3
+ import type { BaseEventReader } from "./EventReader.js";
4
4
  import type { KindContext } from "./Kind.js";
5
5
  export declare class TagParser {
6
6
  tags: string[][];
7
7
  constructor(tags: string[][]);
8
8
  consume(key: string): string[][];
9
9
  }
10
- export declare abstract class EventWriter<Reader extends EventReader> {
10
+ export declare abstract class EventWriter<Reader extends BaseEventReader> {
11
11
  readonly kind: number;
12
12
  readonly context: KindContext;
13
13
  readonly reader?: Reader | undefined;
14
14
  content: string;
15
- groupTag?: string[];
15
+ roomTag?: string[];
16
16
  protectTag?: string[];
17
17
  expirationTag?: string[];
18
18
  identifierTag?: string[];
@@ -22,8 +22,8 @@ export declare abstract class EventWriter<Reader extends EventReader> {
22
22
  readonly requiresRelays: boolean;
23
23
  constructor(kind: number, context: KindContext, reader?: Reader | undefined);
24
24
  setContent(content: string): this;
25
- setGroup(url: string, group: string): this;
26
- clearGroup(): this;
25
+ setRoom(url: string, room: string): this;
26
+ clearRoom(): this;
27
27
  forceRelays(...urls: string[]): this;
28
28
  clearForcedRelays(): this;
29
29
  setProtected(protect: boolean): this;
@@ -81,7 +81,7 @@ export declare abstract class EventWriter<Reader extends EventReader> {
81
81
  protected renderRoutes(): Promise<RelaySelection[]>;
82
82
  /**
83
83
  * Returns a router scenario for this event. Publishes to forced relays (e.g. a
84
- * NIP-29 group) when set, otherwise to the rendered routes.
84
+ * NIP-29 room) when set, otherwise to the rendered routes.
85
85
  */
86
86
  scenario(): Promise<RelayScenario>;
87
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EventWriter.d.ts","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventWriter.d.ts","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAW7C,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC9F,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAK1C,qBAAa,SAAS;IACpB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;gBAEJ,IAAI,EAAE,MAAM,EAAE,EAAE;IAI5B,OAAO,CAAC,GAAG,EAAE,MAAM;CAOpB;AAED,8BAAsB,WAAW,CAAC,MAAM,SAAS,eAAe;IAe5D,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAhB1B,OAAO,SAAK;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAK;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAK;IAIxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAQ;gBAG7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,MAAM,YAAA;IAc1B,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAOjC,SAAS;IAOT,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAM7B,iBAAiB;IAMjB,YAAY,CAAC,OAAO,EAAE,OAAO;IAM7B,aAAa,CAAC,UAAU,EAAE,MAAM;IAMhC,eAAe;IAMf,aAAa,CAAC,UAAU,SAAa;IAMrC,eAAe;IAMf,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAM3B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAMzC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAMzC,UAAU,CAAC,MAAM,EAAE,MAAM;IAYzB,QAAQ,CAAC,KAAK,EAAE,YAAY;IAY5B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI;IAYrC,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAMzD,WAAW,CAAC,SAAS,EAAE,MAAM;IAI7B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAgBhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAItD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAIpD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAUvC;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC;IAInC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IAU9C;;;OAGG;cACa,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzD;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAMxC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAC,CAAC;CAKlE"}
@@ -19,14 +19,14 @@ export class EventWriter {
19
19
  context;
20
20
  reader;
21
21
  content = "";
22
- groupTag;
22
+ roomTag;
23
23
  protectTag;
24
24
  expirationTag;
25
25
  identifierTag;
26
26
  extraTags = [];
27
27
  forcedRelays;
28
28
  pendingResolves = [];
29
- // Kinds that must publish to explicit relays (e.g. NIP-29 group events) set this.
29
+ // Kinds that must publish to explicit relays (e.g. NIP-29 room events) set this.
30
30
  // Annotated `boolean` (not the inferred literal `false`) so subclasses can override.
31
31
  requiresRelays = false;
32
32
  constructor(kind, context, reader) {
@@ -36,7 +36,7 @@ export class EventWriter {
36
36
  if (reader) {
37
37
  const parser = new TagParser(reader.event.tags);
38
38
  this.content = reader.event.content;
39
- this.groupTag = first(parser.consume("h"));
39
+ this.roomTag = first(parser.consume("h"));
40
40
  this.protectTag = first(parser.consume("-"));
41
41
  this.expirationTag = first(parser.consume("expiration"));
42
42
  this.identifierTag = first(parser.consume("d"));
@@ -47,14 +47,14 @@ export class EventWriter {
47
47
  this.content = content;
48
48
  return this;
49
49
  }
50
- setGroup(url, group) {
50
+ setRoom(url, room) {
51
51
  this.forcedRelays = [normalizeRelayUrl(url)];
52
- this.groupTag = ["h", group];
52
+ this.roomTag = ["h", room];
53
53
  return this;
54
54
  }
55
- clearGroup() {
55
+ clearRoom() {
56
56
  this.forcedRelays = undefined;
57
- this.groupTag = undefined;
57
+ this.roomTag = undefined;
58
58
  return this;
59
59
  }
60
60
  forceRelays(...urls) {
@@ -137,11 +137,11 @@ export class EventWriter {
137
137
  if (isParameterizedReplaceableKind(this.kind) && !this.identifierTag) {
138
138
  throw new Error(`A d tag is required for kind ${this.kind}`);
139
139
  }
140
- if (this.groupTag && !this.forcedRelays?.length) {
141
- throw new Error("A group event requires a relay url (set the group via setGroup)");
140
+ if (this.roomTag && !this.forcedRelays?.length) {
141
+ throw new Error("A room event requires a relay url (set the room via setRoom)");
142
142
  }
143
143
  if (this.requiresRelays && !this.forcedRelays?.length) {
144
- throw new Error(`A kind ${this.kind} event must publish to explicit relays (via setGroup or forceRelays)`);
144
+ throw new Error(`A kind ${this.kind} event must publish to explicit relays (via setRoom or forceRelays)`);
145
145
  }
146
146
  }
147
147
  /**
@@ -166,7 +166,7 @@ export class EventWriter {
166
166
  * Returns a list of tags that may be attached to any kind.
167
167
  */
168
168
  renderBehaviorTags() {
169
- return removeUndefined([this.groupTag, this.protectTag, this.expirationTag, this.identifierTag]);
169
+ return removeUndefined([this.roomTag, this.protectTag, this.expirationTag, this.identifierTag]);
170
170
  }
171
171
  /**
172
172
  * Returns a list of tags related to the kind.
@@ -210,7 +210,7 @@ export class EventWriter {
210
210
  }
211
211
  /**
212
212
  * Returns a router scenario for this event. Publishes to forced relays (e.g. a
213
- * NIP-29 group) when set, otherwise to the rendered routes.
213
+ * NIP-29 room) when set, otherwise to the rendered routes.
214
214
  */
215
215
  async scenario() {
216
216
  const routes = this.forcedRelays?.length ? relays(this.forcedRelays) : await this.renderRoutes();
@@ -1 +1 @@
1
- {"version":3,"file":"EventWriter.js","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventWriter.js","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { TrustedEvent, Resolver } from "@welshman/util";
2
2
  import type { ISigner } from "@welshman/signer";
3
- import type { EventReader } from "./EventReader.js";
3
+ import type { BaseEventReader } from "./EventReader.js";
4
4
  import type { EventWriter } from "./EventWriter.js";
5
5
  export type KindContext = {
6
6
  resolver: Resolver;
7
7
  signer?: ISigner;
8
8
  };
9
- export type KindConfig<Reader extends EventReader, Writer extends EventWriter<Reader>> = {
9
+ export type KindConfig<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> = {
10
10
  kind: number;
11
11
  reader: new (kind: number, context: KindContext, event: TrustedEvent) => Reader;
12
12
  writer: new (kind: number, context: KindContext, reader?: Reader) => Writer;
@@ -18,7 +18,7 @@ export type KindConfig<Reader extends EventReader, Writer extends EventWriter<Re
18
18
  * ProfileReader, writer: ProfileWriter})`, then `Profile.kind` reads the number and
19
19
  * `Profile.configure(context)` binds the app's dependencies once.
20
20
  */
21
- export declare class KindFactory<Reader extends EventReader, Writer extends EventWriter<Reader>> {
21
+ export declare class KindFactory<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> {
22
22
  readonly config: KindConfig<Reader, Writer>;
23
23
  constructor(config: KindConfig<Reader, Writer>);
24
24
  get kind(): number;
@@ -28,12 +28,12 @@ export declare class KindFactory<Reader extends EventReader, Writer extends Even
28
28
  * A kind bound to a `KindContext`. Produces readers and writers which share the
29
29
  * configured dependencies.
30
30
  */
31
- export declare class ConfiguredKind<Reader extends EventReader, Writer extends EventWriter<Reader>> {
31
+ export declare class ConfiguredKind<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> {
32
32
  readonly config: KindConfig<Reader, Writer>;
33
33
  readonly context: KindContext;
34
34
  constructor(config: KindConfig<Reader, Writer>, context: KindContext);
35
35
  get kind(): number;
36
- reader: (event: TrustedEvent) => Promise<Reader>;
36
+ reader: (event: TrustedEvent) => Reader;
37
37
  writer: (reader?: Reader) => Writer;
38
38
  }
39
39
  //# sourceMappingURL=Kind.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Kind.d.ts","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI;IACvF,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;IAC/E,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAC5E,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAlC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAEvD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhE;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC;IAEtF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW;gBADpB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,OAAO,EAAE,WAAW;IAG/B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAGD,MAAM,GAAU,OAAO,YAAY,KAAG,OAAO,CAAC,MAAM,CAAC,CAMpD;IAGD,MAAM,GAAI,SAAS,MAAM,KAAG,MAAM,CAC8B;CACjE"}
1
+ {"version":3,"file":"Kind.d.ts","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,eAAe,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI;IAC3F,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;IAC/E,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAC5E,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,MAAM,SAAS,eAAe,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC;IAC7E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAlC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAEvD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhE;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,eAAe,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC;IAE1F,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW;gBADpB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,OAAO,EAAE,WAAW;IAG/B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAKD,MAAM,GAAI,OAAO,YAAY,KAAG,MAAM,CACyB;IAG/D,MAAM,GAAI,SAAS,MAAM,KAAG,MAAM,CAC8B;CACjE"}
@@ -31,12 +31,10 @@ export class ConfiguredKind {
31
31
  get kind() {
32
32
  return this.config.kind;
33
33
  }
34
- // Build a reader for an existing event, awaiting `parse` (decryption, etc.).
35
- reader = async (event) => {
36
- const reader = new this.config.reader(this.config.kind, this.context, event);
37
- await reader.parse();
38
- return reader;
39
- };
34
+ // Build a reader for an existing event. It arrives unparsed — chain `parse()`,
35
+ // which returns the reader for sync kinds and a promise of it for kinds that
36
+ // decrypt. `await kind.reader(event).parse()` is correct for either.
37
+ reader = (event) => new this.config.reader(this.config.kind, this.context, event);
40
38
  // Build a writer. Pass a reader to edit its event, or omit to draft a new one.
41
39
  writer = (reader) => new this.config.writer(this.config.kind, this.context, reader);
42
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Kind.js","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,MAAkC;QAAlC,WAAM,GAAN,MAAM,CAA4B;IAAG,CAAC;IAE3D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,OAAoB;QAC5B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IAEd;IACA;IAFX,YACW,MAAkC,EAClC,OAAoB;QADpB,WAAM,GAAN,MAAM,CAA4B;QAClC,YAAO,GAAP,OAAO,CAAa;IAC5B,CAAC;IAEJ,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,6EAA6E;IAC7E,MAAM,GAAG,KAAK,EAAE,KAAmB,EAAmB,EAAE;QACtD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAE5E,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QAEpB,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,+EAA+E;IAC/E,MAAM,GAAG,CAAC,MAAe,EAAU,EAAE,CACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;CACjE"}
1
+ {"version":3,"file":"Kind.js","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,MAAkC;QAAlC,WAAM,GAAN,MAAM,CAA4B;IAAG,CAAC;IAE3D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,OAAoB;QAC5B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IAEd;IACA;IAFX,YACW,MAAkC,EAClC,OAAoB;QADpB,WAAM,GAAN,MAAM,CAA4B;QAClC,YAAO,GAAP,OAAO,CAAa;IAC5B,CAAC;IAEJ,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,GAAG,CAAC,KAAmB,EAAU,EAAE,CACvC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE/D,+EAA+E;IAC/E,MAAM,GAAG,CAAC,MAAe,EAAU,EAAE,CACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;CACjE"}
@@ -1,9 +1,9 @@
1
- import { EventReader } from "./EventReader.js";
2
- export declare abstract class ListReader extends EventReader {
1
+ import { AsyncEventReader } from "./EventReader.js";
2
+ export declare abstract class ListReader extends AsyncEventReader {
3
3
  decrypted: boolean;
4
4
  publicTags: string[][];
5
5
  privateTags: string[][];
6
- parse(): Promise<void>;
6
+ parse(): Promise<this>;
7
7
  tags(): string[][];
8
8
  }
9
9
  //# sourceMappingURL=ListReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListReader.d.ts","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAE5C,8BAAsB,UAAW,SAAQ,WAAW;IAClD,SAAS,UAAQ;IACjB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;IAC3B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAK;IAEtB,KAAK;IA0BX,IAAI;CAGL"}
1
+ {"version":3,"file":"ListReader.d.ts","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAA;AAEjD,8BAAsB,UAAW,SAAQ,gBAAgB;IACvD,SAAS,UAAQ;IACjB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;IAC3B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAK;IAEtB,KAAK;IA4BX,IAAI;CAGL"}
@@ -1,7 +1,7 @@
1
1
  import { parseJson } from "@welshman/lib";
2
2
  import { decrypt } from "@welshman/signer";
3
- import { EventReader } from "./EventReader.js";
4
- export class ListReader extends EventReader {
3
+ import { AsyncEventReader } from "./EventReader.js";
4
+ export class ListReader extends AsyncEventReader {
5
5
  decrypted = false;
6
6
  publicTags = [];
7
7
  privateTags = [];
@@ -24,6 +24,7 @@ export class ListReader extends EventReader {
24
24
  // pass
25
25
  }
26
26
  }
27
+ return this;
27
28
  }
28
29
  tags() {
29
30
  return [...this.publicTags, ...this.privateTags];
@@ -1 +1 @@
1
- {"version":3,"file":"ListReader.js","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAE5C,MAAM,OAAgB,UAAW,SAAQ,WAAW;IAClD,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,GAAe,EAAE,CAAA;IAC3B,WAAW,GAAe,EAAE,CAAA;IAE5B,KAAK,CAAC,KAAK;QACT,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;QAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAE9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBAErB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;gBAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAC5B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACrF,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"ListReader.js","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAA;AAEjD,MAAM,OAAgB,UAAW,SAAQ,gBAAgB;IACvD,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,GAAe,EAAE,CAAA;IAC3B,WAAW,GAAe,EAAE,CAAA;IAE5B,KAAK,CAAC,KAAK;QACT,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;QAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAE9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBAErB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;gBAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAC5B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACrF,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;CACF"}
@@ -11,12 +11,12 @@ export * from "./kinds/BlossomServerList.js";
11
11
  export * from "./kinds/BookmarkList.js";
12
12
  export * from "./kinds/Classified.js";
13
13
  export * from "./kinds/Comment.js";
14
+ export * from "./kinds/CommunityList.js";
14
15
  export * from "./kinds/Delete.js";
15
16
  export * from "./kinds/EmojiList.js";
16
17
  export * from "./kinds/Feed.js";
17
18
  export * from "./kinds/FeedList.js";
18
19
  export * from "./kinds/FollowList.js";
19
- export * from "./kinds/GroupList.js";
20
20
  export * from "./kinds/Handler.js";
21
21
  export * from "./kinds/HandlerRecommendation.js";
22
22
  export * from "./core/ListReader.js";
@@ -53,6 +53,8 @@ export * from "./kinds/RoomList.js";
53
53
  export * from "./kinds/RoomMembers.js";
54
54
  export * from "./kinds/RoomRemoveMember.js";
55
55
  export * from "./kinds/RoomMeta.js";
56
+ export * from "./kinds/RoomPins.js";
57
+ export * from "./kinds/RoomUpdatePins.js";
56
58
  export * from "./kinds/SearchRelayList.js";
57
59
  export * from "./kinds/Thread.js";
58
60
  export * from "./kinds/TimeEvent.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
@@ -11,12 +11,12 @@ export * from "./kinds/BlossomServerList.js";
11
11
  export * from "./kinds/BookmarkList.js";
12
12
  export * from "./kinds/Classified.js";
13
13
  export * from "./kinds/Comment.js";
14
+ export * from "./kinds/CommunityList.js";
14
15
  export * from "./kinds/Delete.js";
15
16
  export * from "./kinds/EmojiList.js";
16
17
  export * from "./kinds/Feed.js";
17
18
  export * from "./kinds/FeedList.js";
18
19
  export * from "./kinds/FollowList.js";
19
- export * from "./kinds/GroupList.js";
20
20
  export * from "./kinds/Handler.js";
21
21
  export * from "./kinds/HandlerRecommendation.js";
22
22
  export * from "./core/ListReader.js";
@@ -53,6 +53,8 @@ export * from "./kinds/RoomList.js";
53
53
  export * from "./kinds/RoomMembers.js";
54
54
  export * from "./kinds/RoomRemoveMember.js";
55
55
  export * from "./kinds/RoomMeta.js";
56
+ export * from "./kinds/RoomPins.js";
57
+ export * from "./kinds/RoomUpdatePins.js";
56
58
  export * from "./kinds/SearchRelayList.js";
57
59
  export * from "./kinds/Thread.js";
58
60
  export * from "./kinds/TimeEvent.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
@@ -1,12 +1,12 @@
1
- import { EventReader } from "../core/EventReader.js";
1
+ import { AsyncEventReader } from "../core/EventReader.js";
2
2
  import { EventWriter } from "../core/EventWriter.js";
3
3
  import { KindFactory } from "../core/Kind.js";
4
4
  import type { KindContext } from "../core/Kind.js";
5
- export declare class AppDataReader extends EventReader {
5
+ export declare class AppDataReader extends AsyncEventReader {
6
6
  decrypted: boolean;
7
7
  encrypted: boolean;
8
8
  protected json: unknown;
9
- parse(): Promise<void>;
9
+ parse(): Promise<this>;
10
10
  values<T>(): T | undefined;
11
11
  }
12
12
  export declare class AppDataWriter extends EventWriter<AppDataReader> {
@@ -1 +1 @@
1
- {"version":3,"file":"AppData.d.ts","sourceRoot":"","sources":["../../../../src/kinds/AppData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAIhD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,UAAQ;IACjB,SAAS,UAAQ;IAEjB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAY;IAE7B,KAAK;IA8BX,MAAM,CAAC,CAAC,KACc,CAAC,GAAG,SAAS;CAEpC;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,MAAM,EAAE,OAAO,CAAY;IAC3B,SAAS,UAAQ;gBAEL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAOtE,SAAS,CAAC,MAAM,EAAE,OAAO;IAMzB,YAAY,CAAC,SAAS,EAAE,OAAO;IAM/B,QAAQ;IAQF,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBvC;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
1
+ {"version":3,"file":"AppData.d.ts","sourceRoot":"","sources":["../../../../src/kinds/AppData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAIhD,qBAAa,aAAc,SAAQ,gBAAgB;IACjD,SAAS,UAAQ;IACjB,SAAS,UAAQ;IAEjB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAY;IAE7B,KAAK;IAgCX,MAAM,CAAC,CAAC,KACc,CAAC,GAAG,SAAS;CAEpC;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,MAAM,EAAE,OAAO,CAAY;IAC3B,SAAS,UAAQ;gBAEL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAOtE,SAAS,CAAC,MAAM,EAAE,OAAO;IAMzB,YAAY,CAAC,SAAS,EAAE,OAAO;IAM/B,QAAQ;IAQF,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBvC;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
@@ -1,12 +1,12 @@
1
1
  import { parseJson } from "@welshman/lib";
2
2
  import { decrypt } from "@welshman/signer";
3
3
  import { APP_DATA } from "@welshman/util";
4
- import { EventReader } from "../core/EventReader.js";
4
+ import { AsyncEventReader } from "../core/EventReader.js";
5
5
  import { EventWriter } from "../core/EventWriter.js";
6
6
  import { KindFactory } from "../core/Kind.js";
7
7
  // NIP-78 kind-30078 arbitrary app data, keyed by `d` tag. Content is JSON,
8
8
  // optionally NIP-44 encrypted to the author.
9
- export class AppDataReader extends EventReader {
9
+ export class AppDataReader extends AsyncEventReader {
10
10
  decrypted = false;
11
11
  encrypted = false;
12
12
  json = undefined;
@@ -14,13 +14,13 @@ export class AppDataReader extends EventReader {
14
14
  const { signer } = this.context;
15
15
  if (!this.event.content) {
16
16
  this.decrypted = true;
17
- return;
17
+ return this;
18
18
  }
19
19
  const json = parseJson(this.event.content);
20
20
  if (json !== undefined) {
21
21
  this.json = json;
22
22
  this.decrypted = true;
23
- return;
23
+ return this;
24
24
  }
25
25
  this.encrypted = true;
26
26
  if (signer && (await signer.getPubkey()) === this.event.pubkey) {
@@ -32,6 +32,7 @@ export class AppDataReader extends EventReader {
32
32
  // pass
33
33
  }
34
34
  }
35
+ return this;
35
36
  }
36
37
  values() {
37
38
  return this.json;
@@ -1 +1 @@
1
- {"version":3,"file":"AppData.js","sourceRoot":"","sources":["../../../../src/kinds/AppData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppData.js","sourceRoot":"","sources":["../../../../src/kinds/AppData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,2EAA2E;AAC3E,6CAA6C;AAC7C,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IACjD,SAAS,GAAG,KAAK,CAAA;IACjB,SAAS,GAAG,KAAK,CAAA;IAEP,IAAI,GAAY,SAAS,CAAA;IAEnC,KAAK,CAAC,KAAK;QACT,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAE7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YAErB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAE1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YAErB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAqB,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAA0B;IAC3D,MAAM,GAAY,SAAS,CAAA;IAC3B,SAAS,GAAG,KAAK,CAAA;IAEjB,YAAY,IAAY,EAAE,OAAoB,EAAE,MAAsB;QACpE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,KAAK,CAAA;IAC7C,CAAC;IAED,SAAS,CAAC,MAAe;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,SAAkB;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,+DAA+D;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;QAEtE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QAExC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAExC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAA;QAEhC,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QAEvC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;IACrC,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { EventReader } from "../core/EventReader.js";
2
+ import { EventWriter } from "../core/EventWriter.js";
3
+ import { KindFactory } from "../core/Kind.js";
4
+ export declare class CommunityListReader extends EventReader {
5
+ addresses(): string[];
6
+ }
7
+ export declare class CommunityListWriter extends EventWriter<CommunityListReader> {
8
+ addCommunity(address: string, relayHint?: string): this;
9
+ removeCommunity(address: string): this;
10
+ }
11
+ export declare const CommunityList: KindFactory<CommunityListReader, CommunityListWriter>;
12
+ //# sourceMappingURL=CommunityList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunityList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/CommunityList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAI3C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,SAAS;CAGV;AAED,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,mBAAmB,CAAC;IACvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAIhD,eAAe,CAAC,OAAO,EAAE,MAAM;CAGhC;AAED,eAAO,MAAM,aAAa,uDAIxB,CAAA"}
@@ -3,23 +3,24 @@ import { COMMUNITIES, addressTags, tagValues } from "@welshman/util";
3
3
  import { EventReader } from "../core/EventReader.js";
4
4
  import { EventWriter } from "../core/EventWriter.js";
5
5
  import { KindFactory } from "../core/Kind.js";
6
- // NIP-51 kind-10004 group/community list.
7
- export class GroupListReader extends EventReader {
6
+ // NIP-51 kind-10004 community list — the NIP-72 moderated communities the user
7
+ // follows, as `a` tags. Distinct from RoomList (10009), which tracks NIP-29 rooms.
8
+ export class CommunityListReader extends EventReader {
8
9
  addresses() {
9
10
  return uniq(tagValues(addressTags("a"), this.tags()));
10
11
  }
11
12
  }
12
- export class GroupListWriter extends EventWriter {
13
- addGroup(address, relayHint) {
13
+ export class CommunityListWriter extends EventWriter {
14
+ addCommunity(address, relayHint) {
14
15
  return this.addTags(removeUndefined(["a", address, relayHint]));
15
16
  }
16
- removeGroup(address) {
17
+ removeCommunity(address) {
17
18
  return this.dropTags(spec(["a", address]));
18
19
  }
19
20
  }
20
- export const GroupList = new KindFactory({
21
+ export const CommunityList = new KindFactory({
21
22
  kind: COMMUNITIES,
22
- reader: GroupListReader,
23
- writer: GroupListWriter,
23
+ reader: CommunityListReader,
24
+ writer: CommunityListWriter,
24
25
  });
25
- //# sourceMappingURL=GroupList.js.map
26
+ //# sourceMappingURL=CommunityList.js.map