@welshman/domain 0.9.9 → 0.10.0

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 (286) hide show
  1. package/dist/domain/src/behaviors/Client.d.ts +19 -0
  2. package/dist/domain/src/behaviors/Client.d.ts.map +1 -0
  3. package/dist/domain/src/behaviors/Client.js +18 -0
  4. package/dist/domain/src/behaviors/Client.js.map +1 -0
  5. package/dist/domain/src/behaviors/ContentWarning.d.ts +15 -0
  6. package/dist/domain/src/behaviors/ContentWarning.d.ts.map +1 -0
  7. package/dist/domain/src/behaviors/ContentWarning.js +13 -0
  8. package/dist/domain/src/behaviors/ContentWarning.js.map +1 -0
  9. package/dist/domain/src/behaviors/Expiration.d.ts +9 -0
  10. package/dist/domain/src/behaviors/Expiration.d.ts.map +1 -0
  11. package/dist/domain/src/behaviors/Expiration.js +10 -0
  12. package/dist/domain/src/behaviors/Expiration.js.map +1 -0
  13. package/dist/domain/src/behaviors/Protected.d.ts +8 -0
  14. package/dist/domain/src/behaviors/Protected.d.ts.map +1 -0
  15. package/dist/domain/src/behaviors/Protected.js +8 -0
  16. package/dist/domain/src/behaviors/Protected.js.map +1 -0
  17. package/dist/domain/src/core/EventQuery.d.ts +102 -0
  18. package/dist/domain/src/core/EventQuery.d.ts.map +1 -0
  19. package/dist/domain/src/core/EventQuery.js +227 -0
  20. package/dist/domain/src/core/EventQuery.js.map +1 -0
  21. package/dist/domain/src/core/EventReader.d.ts +4 -0
  22. package/dist/domain/src/core/EventReader.d.ts.map +1 -1
  23. package/dist/domain/src/core/EventReader.js +15 -3
  24. package/dist/domain/src/core/EventReader.js.map +1 -1
  25. package/dist/domain/src/core/EventWriter.d.ts +21 -5
  26. package/dist/domain/src/core/EventWriter.d.ts.map +1 -1
  27. package/dist/domain/src/core/EventWriter.js +59 -15
  28. package/dist/domain/src/core/EventWriter.js.map +1 -1
  29. package/dist/domain/src/core/Kind.d.ts +16 -13
  30. package/dist/domain/src/core/Kind.d.ts.map +1 -1
  31. package/dist/domain/src/core/Kind.js +8 -5
  32. package/dist/domain/src/core/Kind.js.map +1 -1
  33. package/dist/domain/src/index.d.ts +6 -0
  34. package/dist/domain/src/index.d.ts.map +1 -1
  35. package/dist/domain/src/index.js +6 -0
  36. package/dist/domain/src/index.js.map +1 -1
  37. package/dist/domain/src/kinds/AppData.d.ts +5 -1
  38. package/dist/domain/src/kinds/AppData.d.ts.map +1 -1
  39. package/dist/domain/src/kinds/AppData.js +7 -0
  40. package/dist/domain/src/kinds/AppData.js.map +1 -1
  41. package/dist/domain/src/kinds/Article.d.ts +5 -1
  42. package/dist/domain/src/kinds/Article.d.ts.map +1 -1
  43. package/dist/domain/src/kinds/Article.js +7 -0
  44. package/dist/domain/src/kinds/Article.js.map +1 -1
  45. package/dist/domain/src/kinds/BlockedRelayList.d.ts +5 -1
  46. package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -1
  47. package/dist/domain/src/kinds/BlockedRelayList.js +7 -0
  48. package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -1
  49. package/dist/domain/src/kinds/BlossomServerList.d.ts +5 -1
  50. package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -1
  51. package/dist/domain/src/kinds/BlossomServerList.js +7 -0
  52. package/dist/domain/src/kinds/BlossomServerList.js.map +1 -1
  53. package/dist/domain/src/kinds/BookmarkList.d.ts +5 -1
  54. package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -1
  55. package/dist/domain/src/kinds/BookmarkList.js +7 -0
  56. package/dist/domain/src/kinds/BookmarkList.js.map +1 -1
  57. package/dist/domain/src/kinds/Classified.d.ts +5 -1
  58. package/dist/domain/src/kinds/Classified.d.ts.map +1 -1
  59. package/dist/domain/src/kinds/Classified.js +7 -0
  60. package/dist/domain/src/kinds/Classified.js.map +1 -1
  61. package/dist/domain/src/kinds/Command.d.ts +28 -0
  62. package/dist/domain/src/kinds/Command.d.ts.map +1 -0
  63. package/dist/domain/src/kinds/Command.js +99 -0
  64. package/dist/domain/src/kinds/Command.js.map +1 -0
  65. package/dist/domain/src/kinds/Comment.d.ts +11 -2
  66. package/dist/domain/src/kinds/Comment.d.ts.map +1 -1
  67. package/dist/domain/src/kinds/Comment.js +47 -12
  68. package/dist/domain/src/kinds/Comment.js.map +1 -1
  69. package/dist/domain/src/kinds/CommunityList.d.ts +5 -1
  70. package/dist/domain/src/kinds/CommunityList.d.ts.map +1 -1
  71. package/dist/domain/src/kinds/CommunityList.js +7 -0
  72. package/dist/domain/src/kinds/CommunityList.js.map +1 -1
  73. package/dist/domain/src/kinds/Delete.d.ts +5 -1
  74. package/dist/domain/src/kinds/Delete.d.ts.map +1 -1
  75. package/dist/domain/src/kinds/Delete.js +7 -0
  76. package/dist/domain/src/kinds/Delete.js.map +1 -1
  77. package/dist/domain/src/kinds/DirectMessage.d.ts +5 -1
  78. package/dist/domain/src/kinds/DirectMessage.d.ts.map +1 -1
  79. package/dist/domain/src/kinds/DirectMessage.js +8 -1
  80. package/dist/domain/src/kinds/DirectMessage.js.map +1 -1
  81. package/dist/domain/src/kinds/EmojiList.d.ts +5 -1
  82. package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -1
  83. package/dist/domain/src/kinds/EmojiList.js +7 -0
  84. package/dist/domain/src/kinds/EmojiList.js.map +1 -1
  85. package/dist/domain/src/kinds/Feed.d.ts +5 -1
  86. package/dist/domain/src/kinds/Feed.d.ts.map +1 -1
  87. package/dist/domain/src/kinds/Feed.js +7 -0
  88. package/dist/domain/src/kinds/Feed.js.map +1 -1
  89. package/dist/domain/src/kinds/FeedList.d.ts +5 -1
  90. package/dist/domain/src/kinds/FeedList.d.ts.map +1 -1
  91. package/dist/domain/src/kinds/FeedList.js +7 -0
  92. package/dist/domain/src/kinds/FeedList.js.map +1 -1
  93. package/dist/domain/src/kinds/FollowList.d.ts +5 -1
  94. package/dist/domain/src/kinds/FollowList.d.ts.map +1 -1
  95. package/dist/domain/src/kinds/FollowList.js +8 -1
  96. package/dist/domain/src/kinds/FollowList.js.map +1 -1
  97. package/dist/domain/src/kinds/Handler.d.ts +5 -1
  98. package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
  99. package/dist/domain/src/kinds/Handler.js +7 -0
  100. package/dist/domain/src/kinds/Handler.js.map +1 -1
  101. package/dist/domain/src/kinds/HandlerRecommendation.d.ts +5 -1
  102. package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -1
  103. package/dist/domain/src/kinds/HandlerRecommendation.js +7 -0
  104. package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -1
  105. package/dist/domain/src/kinds/Highlight.d.ts +5 -1
  106. package/dist/domain/src/kinds/Highlight.d.ts.map +1 -1
  107. package/dist/domain/src/kinds/Highlight.js +7 -0
  108. package/dist/domain/src/kinds/Highlight.js.map +1 -1
  109. package/dist/domain/src/kinds/MessagingRelayList.d.ts +5 -1
  110. package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -1
  111. package/dist/domain/src/kinds/MessagingRelayList.js +8 -1
  112. package/dist/domain/src/kinds/MessagingRelayList.js.map +1 -1
  113. package/dist/domain/src/kinds/MuteList.d.ts +5 -1
  114. package/dist/domain/src/kinds/MuteList.d.ts.map +1 -1
  115. package/dist/domain/src/kinds/MuteList.js +7 -0
  116. package/dist/domain/src/kinds/MuteList.js.map +1 -1
  117. package/dist/domain/src/kinds/Note.d.ts +6 -2
  118. package/dist/domain/src/kinds/Note.d.ts.map +1 -1
  119. package/dist/domain/src/kinds/Note.js +7 -0
  120. package/dist/domain/src/kinds/Note.js.map +1 -1
  121. package/dist/domain/src/kinds/Pin.d.ts +5 -1
  122. package/dist/domain/src/kinds/Pin.d.ts.map +1 -1
  123. package/dist/domain/src/kinds/Pin.js +7 -0
  124. package/dist/domain/src/kinds/Pin.js.map +1 -1
  125. package/dist/domain/src/kinds/PinList.d.ts +5 -1
  126. package/dist/domain/src/kinds/PinList.d.ts.map +1 -1
  127. package/dist/domain/src/kinds/PinList.js +7 -0
  128. package/dist/domain/src/kinds/PinList.js.map +1 -1
  129. package/dist/domain/src/kinds/Pinboard.d.ts +5 -1
  130. package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -1
  131. package/dist/domain/src/kinds/Pinboard.js +7 -0
  132. package/dist/domain/src/kinds/Pinboard.js.map +1 -1
  133. package/dist/domain/src/kinds/Poll.d.ts +5 -1
  134. package/dist/domain/src/kinds/Poll.d.ts.map +1 -1
  135. package/dist/domain/src/kinds/Poll.js +7 -0
  136. package/dist/domain/src/kinds/Poll.js.map +1 -1
  137. package/dist/domain/src/kinds/PollResponse.d.ts +5 -1
  138. package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -1
  139. package/dist/domain/src/kinds/PollResponse.js +7 -0
  140. package/dist/domain/src/kinds/PollResponse.js.map +1 -1
  141. package/dist/domain/src/kinds/Profile.d.ts +5 -1
  142. package/dist/domain/src/kinds/Profile.d.ts.map +1 -1
  143. package/dist/domain/src/kinds/Profile.js +8 -1
  144. package/dist/domain/src/kinds/Profile.js.map +1 -1
  145. package/dist/domain/src/kinds/Reaction.d.ts +5 -1
  146. package/dist/domain/src/kinds/Reaction.d.ts.map +1 -1
  147. package/dist/domain/src/kinds/Reaction.js +7 -0
  148. package/dist/domain/src/kinds/Reaction.js.map +1 -1
  149. package/dist/domain/src/kinds/RelayAddMember.d.ts +5 -1
  150. package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -1
  151. package/dist/domain/src/kinds/RelayAddMember.js +7 -0
  152. package/dist/domain/src/kinds/RelayAddMember.js.map +1 -1
  153. package/dist/domain/src/kinds/RelayInvite.d.ts +5 -1
  154. package/dist/domain/src/kinds/RelayInvite.d.ts.map +1 -1
  155. package/dist/domain/src/kinds/RelayInvite.js +7 -0
  156. package/dist/domain/src/kinds/RelayInvite.js.map +1 -1
  157. package/dist/domain/src/kinds/RelayJoin.d.ts +5 -1
  158. package/dist/domain/src/kinds/RelayJoin.d.ts.map +1 -1
  159. package/dist/domain/src/kinds/RelayJoin.js +7 -0
  160. package/dist/domain/src/kinds/RelayJoin.js.map +1 -1
  161. package/dist/domain/src/kinds/RelayLeave.d.ts +5 -1
  162. package/dist/domain/src/kinds/RelayLeave.d.ts.map +1 -1
  163. package/dist/domain/src/kinds/RelayLeave.js +7 -0
  164. package/dist/domain/src/kinds/RelayLeave.js.map +1 -1
  165. package/dist/domain/src/kinds/RelayList.d.ts +5 -1
  166. package/dist/domain/src/kinds/RelayList.d.ts.map +1 -1
  167. package/dist/domain/src/kinds/RelayList.js +7 -0
  168. package/dist/domain/src/kinds/RelayList.js.map +1 -1
  169. package/dist/domain/src/kinds/RelayMembers.d.ts +5 -1
  170. package/dist/domain/src/kinds/RelayMembers.d.ts.map +1 -1
  171. package/dist/domain/src/kinds/RelayMembers.js +7 -0
  172. package/dist/domain/src/kinds/RelayMembers.js.map +1 -1
  173. package/dist/domain/src/kinds/RelayRemoveMember.d.ts +5 -1
  174. package/dist/domain/src/kinds/RelayRemoveMember.d.ts.map +1 -1
  175. package/dist/domain/src/kinds/RelayRemoveMember.js +7 -0
  176. package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -1
  177. package/dist/domain/src/kinds/RelayRole.d.ts +5 -1
  178. package/dist/domain/src/kinds/RelayRole.d.ts.map +1 -1
  179. package/dist/domain/src/kinds/RelayRole.js +7 -0
  180. package/dist/domain/src/kinds/RelayRole.js.map +1 -1
  181. package/dist/domain/src/kinds/RelaySet.d.ts +5 -1
  182. package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -1
  183. package/dist/domain/src/kinds/RelaySet.js +7 -0
  184. package/dist/domain/src/kinds/RelaySet.js.map +1 -1
  185. package/dist/domain/src/kinds/Report.d.ts +5 -1
  186. package/dist/domain/src/kinds/Report.d.ts.map +1 -1
  187. package/dist/domain/src/kinds/Report.js +7 -0
  188. package/dist/domain/src/kinds/Report.js.map +1 -1
  189. package/dist/domain/src/kinds/RoomAddMember.d.ts +5 -1
  190. package/dist/domain/src/kinds/RoomAddMember.d.ts.map +1 -1
  191. package/dist/domain/src/kinds/RoomAddMember.js +7 -0
  192. package/dist/domain/src/kinds/RoomAddMember.js.map +1 -1
  193. package/dist/domain/src/kinds/RoomAdmins.d.ts +5 -1
  194. package/dist/domain/src/kinds/RoomAdmins.d.ts.map +1 -1
  195. package/dist/domain/src/kinds/RoomAdmins.js +7 -0
  196. package/dist/domain/src/kinds/RoomAdmins.js.map +1 -1
  197. package/dist/domain/src/kinds/RoomCreate.d.ts +5 -1
  198. package/dist/domain/src/kinds/RoomCreate.d.ts.map +1 -1
  199. package/dist/domain/src/kinds/RoomCreate.js +7 -0
  200. package/dist/domain/src/kinds/RoomCreate.js.map +1 -1
  201. package/dist/domain/src/kinds/RoomCreatePermission.d.ts +5 -1
  202. package/dist/domain/src/kinds/RoomCreatePermission.d.ts.map +1 -1
  203. package/dist/domain/src/kinds/RoomCreatePermission.js +7 -0
  204. package/dist/domain/src/kinds/RoomCreatePermission.js.map +1 -1
  205. package/dist/domain/src/kinds/RoomDelete.d.ts +5 -1
  206. package/dist/domain/src/kinds/RoomDelete.d.ts.map +1 -1
  207. package/dist/domain/src/kinds/RoomDelete.js +7 -0
  208. package/dist/domain/src/kinds/RoomDelete.js.map +1 -1
  209. package/dist/domain/src/kinds/RoomEdit.d.ts +5 -1
  210. package/dist/domain/src/kinds/RoomEdit.d.ts.map +1 -1
  211. package/dist/domain/src/kinds/RoomEdit.js +7 -0
  212. package/dist/domain/src/kinds/RoomEdit.js.map +1 -1
  213. package/dist/domain/src/kinds/RoomJoin.d.ts +5 -1
  214. package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -1
  215. package/dist/domain/src/kinds/RoomJoin.js +7 -0
  216. package/dist/domain/src/kinds/RoomJoin.js.map +1 -1
  217. package/dist/domain/src/kinds/RoomLeave.d.ts +5 -1
  218. package/dist/domain/src/kinds/RoomLeave.d.ts.map +1 -1
  219. package/dist/domain/src/kinds/RoomLeave.js +7 -0
  220. package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
  221. package/dist/domain/src/kinds/RoomList.d.ts +5 -1
  222. package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
  223. package/dist/domain/src/kinds/RoomList.js +7 -0
  224. package/dist/domain/src/kinds/RoomList.js.map +1 -1
  225. package/dist/domain/src/kinds/RoomMembers.d.ts +5 -1
  226. package/dist/domain/src/kinds/RoomMembers.d.ts.map +1 -1
  227. package/dist/domain/src/kinds/RoomMembers.js +7 -0
  228. package/dist/domain/src/kinds/RoomMembers.js.map +1 -1
  229. package/dist/domain/src/kinds/RoomMeta.d.ts +5 -1
  230. package/dist/domain/src/kinds/RoomMeta.d.ts.map +1 -1
  231. package/dist/domain/src/kinds/RoomMeta.js +7 -0
  232. package/dist/domain/src/kinds/RoomMeta.js.map +1 -1
  233. package/dist/domain/src/kinds/RoomPins.d.ts +5 -1
  234. package/dist/domain/src/kinds/RoomPins.d.ts.map +1 -1
  235. package/dist/domain/src/kinds/RoomPins.js +7 -0
  236. package/dist/domain/src/kinds/RoomPins.js.map +1 -1
  237. package/dist/domain/src/kinds/RoomRemoveMember.d.ts +5 -1
  238. package/dist/domain/src/kinds/RoomRemoveMember.d.ts.map +1 -1
  239. package/dist/domain/src/kinds/RoomRemoveMember.js +7 -0
  240. package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -1
  241. package/dist/domain/src/kinds/RoomUpdatePins.d.ts +5 -1
  242. package/dist/domain/src/kinds/RoomUpdatePins.d.ts.map +1 -1
  243. package/dist/domain/src/kinds/RoomUpdatePins.js +7 -0
  244. package/dist/domain/src/kinds/RoomUpdatePins.js.map +1 -1
  245. package/dist/domain/src/kinds/SearchRelayList.d.ts +5 -1
  246. package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -1
  247. package/dist/domain/src/kinds/SearchRelayList.js +7 -0
  248. package/dist/domain/src/kinds/SearchRelayList.js.map +1 -1
  249. package/dist/domain/src/kinds/Thread.d.ts +5 -1
  250. package/dist/domain/src/kinds/Thread.d.ts.map +1 -1
  251. package/dist/domain/src/kinds/Thread.js +7 -0
  252. package/dist/domain/src/kinds/Thread.js.map +1 -1
  253. package/dist/domain/src/kinds/TimeEvent.d.ts +5 -1
  254. package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -1
  255. package/dist/domain/src/kinds/TimeEvent.js +7 -0
  256. package/dist/domain/src/kinds/TimeEvent.js.map +1 -1
  257. package/dist/domain/src/kinds/TopicList.d.ts +5 -1
  258. package/dist/domain/src/kinds/TopicList.d.ts.map +1 -1
  259. package/dist/domain/src/kinds/TopicList.js +7 -0
  260. package/dist/domain/src/kinds/TopicList.js.map +1 -1
  261. package/dist/domain/src/kinds/ZapGoal.d.ts +5 -1
  262. package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
  263. package/dist/domain/src/kinds/ZapGoal.js +7 -0
  264. package/dist/domain/src/kinds/ZapGoal.js.map +1 -1
  265. package/dist/domain/src/kinds/ZapReceipt.d.ts +5 -1
  266. package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -1
  267. package/dist/domain/src/kinds/ZapReceipt.js +7 -0
  268. package/dist/domain/src/kinds/ZapReceipt.js.map +1 -1
  269. package/dist/domain/src/kinds/ZapRequest.d.ts +5 -1
  270. package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -1
  271. package/dist/domain/src/kinds/ZapRequest.js +7 -0
  272. package/dist/domain/src/kinds/ZapRequest.js.map +1 -1
  273. package/dist/tsconfig.build.tsbuildinfo +1 -1
  274. package/dist/util/src/Command.d.ts +53 -0
  275. package/dist/util/src/Command.d.ts.map +1 -0
  276. package/dist/util/src/Command.js +226 -0
  277. package/dist/util/src/Command.js.map +1 -0
  278. package/dist/util/src/Kinds.d.ts +1 -0
  279. package/dist/util/src/Kinds.d.ts.map +1 -1
  280. package/dist/util/src/Kinds.js +1 -0
  281. package/dist/util/src/Kinds.js.map +1 -1
  282. package/dist/util/src/index.d.ts +1 -0
  283. package/dist/util/src/index.d.ts.map +1 -1
  284. package/dist/util/src/index.js +1 -0
  285. package/dist/util/src/index.js.map +1 -1
  286. package/package.json +11 -11
@@ -1,5 +1,5 @@
1
1
  import { remove, complement, first, partition, randomId, removeUndefined, spec } from "@welshman/lib";
2
- import { isParameterizedReplaceableKind, normalizeRelayUrl, hexTags, tagValues, outbox, userOutbox, inboxes, relays, } from "@welshman/util";
2
+ import { Address, isParameterizedReplaceableKind, normalizeRelayUrl, hexTags, tagValues, outbox, userOutbox, inboxes, relay, } from "@welshman/util";
3
3
  // A cursor over a tag list that splits out tags by key as they're consumed,
4
4
  // leaving the rest in `tags`. Writers use it to peel behavior/kind-specific tags
5
5
  // off an event being edited.
@@ -22,9 +22,11 @@ export class EventWriter {
22
22
  roomTag;
23
23
  protectTag;
24
24
  expirationTag;
25
+ contentWarningTag;
26
+ clientTag;
25
27
  identifierTag;
26
28
  extraTags = [];
27
- forcedRelays;
29
+ forcedRoutes;
28
30
  pendingResolves = [];
29
31
  // Kinds that must publish to explicit relays (e.g. NIP-29 room events) set this.
30
32
  // Annotated `boolean` (not the inferred literal `false`) so subclasses can override.
@@ -39,6 +41,8 @@ export class EventWriter {
39
41
  this.roomTag = first(parser.consume("h"));
40
42
  this.protectTag = first(parser.consume("-"));
41
43
  this.expirationTag = first(parser.consume("expiration"));
44
+ this.contentWarningTag = first(parser.consume("content-warning"));
45
+ this.clientTag = first(parser.consume("client"));
42
46
  this.identifierTag = first(parser.consume("d"));
43
47
  this.extraTags = parser.tags;
44
48
  }
@@ -48,21 +52,26 @@ export class EventWriter {
48
52
  return this;
49
53
  }
50
54
  setRoom(url, room) {
51
- this.forcedRelays = [normalizeRelayUrl(url)];
55
+ this.forcedRoutes = [relay(normalizeRelayUrl(url))];
52
56
  this.roomTag = ["h", room];
53
57
  return this;
54
58
  }
55
59
  clearRoom() {
56
- this.forcedRelays = undefined;
60
+ this.forcedRoutes = undefined;
57
61
  this.roomTag = undefined;
58
62
  return this;
59
63
  }
60
- forceRelays(...urls) {
61
- this.forcedRelays = urls.map(normalizeRelayUrl);
64
+ /**
65
+ * Replaces the rendered routes. These are routes rather than urls, so
66
+ * `forceRoutes(userInbox())` pins an event to the user's read relays without
67
+ * resolving them first.
68
+ */
69
+ forceRoutes(...routes) {
70
+ this.forcedRoutes = routes;
62
71
  return this;
63
72
  }
64
- clearForcedRelays() {
65
- this.forcedRelays = undefined;
73
+ clearForcedRoutes() {
74
+ this.forcedRoutes = undefined;
66
75
  return this;
67
76
  }
68
77
  setProtected(protect) {
@@ -77,6 +86,34 @@ export class EventWriter {
77
86
  this.expirationTag = undefined;
78
87
  return this;
79
88
  }
89
+ // The reason is optional per NIP-36 — a bare tag flags the content without saying why.
90
+ setContentWarning(reason) {
91
+ this.contentWarningTag = removeUndefined(["content-warning", reason]);
92
+ return this;
93
+ }
94
+ clearContentWarning() {
95
+ this.contentWarningTag = undefined;
96
+ return this;
97
+ }
98
+ /**
99
+ * Attributes the event to the NIP-89 client that produced it. `address` is an
100
+ * optional `31990:pubkey:d-tag` pointer to the client's handler information
101
+ * event; when given, its author's outbox fills in the tag's relay hint slot.
102
+ */
103
+ setClient(name, address) {
104
+ const tag = removeUndefined(["client", name, address]);
105
+ this.clientTag = tag;
106
+ if (address && Address.isAddress(address)) {
107
+ this.hint(outbox(Address.from(address).pubkey)).then(url => {
108
+ tag[3] = url;
109
+ });
110
+ }
111
+ return this;
112
+ }
113
+ clearClient() {
114
+ this.clientTag = undefined;
115
+ return this;
116
+ }
80
117
  setIdentifier(identifier = randomId()) {
81
118
  this.identifierTag = ["d", identifier];
82
119
  return this;
@@ -137,11 +174,11 @@ export class EventWriter {
137
174
  if (isParameterizedReplaceableKind(this.kind) && !this.identifierTag) {
138
175
  throw new Error(`A d tag is required for kind ${this.kind}`);
139
176
  }
140
- if (this.roomTag && !this.forcedRelays?.length) {
177
+ if (this.roomTag && !this.forcedRoutes?.length) {
141
178
  throw new Error("A room event requires a relay url (set the room via setRoom)");
142
179
  }
143
- if (this.requiresRelays && !this.forcedRelays?.length) {
144
- throw new Error(`A kind ${this.kind} event must publish to explicit relays (via setRoom or forceRelays)`);
180
+ if (this.requiresRelays && !this.forcedRoutes?.length) {
181
+ throw new Error(`A kind ${this.kind} event must publish to explicit relays (via setRoom or forceRoutes)`);
145
182
  }
146
183
  }
147
184
  /**
@@ -166,7 +203,14 @@ export class EventWriter {
166
203
  * Returns a list of tags that may be attached to any kind.
167
204
  */
168
205
  renderBehaviorTags() {
169
- return removeUndefined([this.roomTag, this.protectTag, this.expirationTag, this.identifierTag]);
206
+ return removeUndefined([
207
+ this.roomTag,
208
+ this.protectTag,
209
+ this.expirationTag,
210
+ this.contentWarningTag,
211
+ this.clientTag,
212
+ this.identifierTag,
213
+ ]);
170
214
  }
171
215
  /**
172
216
  * Returns a list of tags related to the kind.
@@ -209,11 +253,11 @@ export class EventWriter {
209
253
  return [userOutbox(), ...inboxes(tagValues(hexTags("p"), await this.renderTags()), 0.5)];
210
254
  }
211
255
  /**
212
- * Returns a router scenario for this event. Publishes to forced relays (e.g. a
213
- * NIP-29 room) when set, otherwise to the rendered routes.
256
+ * Returns a router scenario for this event. Publishes to the forced routes (e.g. a
257
+ * NIP-29 room's relay) when set, otherwise to the rendered routes.
214
258
  */
215
259
  async scenario() {
216
- const routes = this.forcedRelays?.length ? relays(this.forcedRelays) : await this.renderRoutes();
260
+ const routes = this.forcedRoutes?.length ? this.forcedRoutes : await this.renderRoutes();
217
261
  return this.context.resolver.scenario(routes);
218
262
  }
219
263
  /**
@@ -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":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAEnG,OAAO,EACL,OAAO,EACP,8BAA8B,EAC9B,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,KAAK,GACN,MAAM,gBAAgB,CAAA;AAKvB,4EAA4E;AAC5E,iFAAiF;AACjF,6BAA6B;AAC7B,MAAM,OAAO,SAAS;IACpB,IAAI,CAAY;IAEhB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAE/D,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QAErB,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,MAAM,OAAgB,WAAW;IAiBpB;IACA;IACA;IAlBX,OAAO,GAAG,EAAE,CAAA;IACZ,OAAO,CAAW;IAClB,UAAU,CAAW;IACrB,aAAa,CAAW;IACxB,iBAAiB,CAAW;IAC5B,SAAS,CAAW;IACpB,aAAa,CAAW;IACxB,SAAS,GAAe,EAAE,CAAA;IAC1B,YAAY,CAAmB;IAC/B,eAAe,GAAuB,EAAE,CAAA;IAExC,iFAAiF;IACjF,qFAAqF;IAC5E,cAAc,GAAY,KAAK,CAAA;IAExC,YACW,IAAY,EACZ,OAAoB,EACpB,MAAe;QAFf,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,WAAM,GAAN,MAAM,CAAS;QAExB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;YACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YACzC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;YACxD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACjE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YAChD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,IAAY;QAC/B,IAAI,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAE1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,GAAG,MAAwB;QACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;QAE1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAE7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,OAAgB;QAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAE7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,UAAkB;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uFAAuF;IACvF,iBAAiB,CAAC,MAAe;QAC/B,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;QAErE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAElC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAY,EAAE,OAAgB;QACtC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QAEtD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAA;QAEpB,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACzD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;YACd,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,UAAU,GAAG,QAAQ,EAAE;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QAEtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,GAAG,IAAgB;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAE5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,IAAgC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE5C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,IAAgC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QAExD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAE7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,KAAmB;QAC1B,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACzC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAE9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,QAAQ,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAgB;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CACtD,eAAe,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CACpD,CAAA;IACH,CAAC;IAED,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACjF,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,CAAC,IAAI,qEAAqE,CACzF,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAI,OAAmB;QACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAElC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACO,IAAI,CAAC,GAAG,MAAwB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC;IAED;;OAEG;IACO,kBAAkB;QAC1B,OAAO,eAAe,CAAC;YACrB,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,aAAa;SACnB,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEhD,+DAA+D;QAC/D,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEvC,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAC7B,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE;SACpC,CAAA;IACH,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,YAAY;QAC1B,OAAO,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAExF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEjF,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAA;IACxB,CAAC;CACF"}
@@ -2,38 +2,41 @@ import type { TrustedEvent, Resolver } from "@welshman/util";
2
2
  import type { ISigner } from "@welshman/signer";
3
3
  import type { BaseEventReader } from "./EventReader.js";
4
4
  import type { EventWriter } from "./EventWriter.js";
5
+ import type { EventQuery } from "./EventQuery.js";
5
6
  export type KindContext = {
6
7
  resolver: Resolver;
7
8
  signer?: ISigner;
8
9
  };
9
- export type KindConfig<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> = {
10
+ export type KindConfig<Reader extends BaseEventReader, Writer extends EventWriter<Reader>, Query extends EventQuery> = {
10
11
  kind: number;
11
12
  reader: new (kind: number, context: KindContext, event: TrustedEvent) => Reader;
12
13
  writer: new (kind: number, context: KindContext, reader?: Reader) => Writer;
14
+ query: new (kind: number, context: KindContext) => Query;
13
15
  };
14
16
  /**
15
- * Bundles a kind's number, reader, and writer classes.
17
+ * Bundles a kind's number, reader, writer, and query classes.
16
18
  *
17
19
  * Usage: `export const Profile = new KindFactory({kind: PROFILE, reader:
18
- * ProfileReader, writer: ProfileWriter})`, then `Profile.kind` reads the number and
19
- * `Profile.configure(context)` binds the app's dependencies once.
20
+ * ProfileReader, writer: ProfileWriter, query: ProfileQuery})`, then `Profile.kind`
21
+ * reads the number and `Profile.configure(context)` binds the app's dependencies once.
20
22
  */
21
- export declare class KindFactory<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> {
22
- readonly config: KindConfig<Reader, Writer>;
23
- constructor(config: KindConfig<Reader, Writer>);
23
+ export declare class KindFactory<Reader extends BaseEventReader, Writer extends EventWriter<Reader>, Query extends EventQuery> {
24
+ readonly config: KindConfig<Reader, Writer, Query>;
25
+ constructor(config: KindConfig<Reader, Writer, Query>);
24
26
  get kind(): number;
25
- configure(context: KindContext): ConfiguredKind<Reader, Writer>;
27
+ configure(context: KindContext): ConfiguredKind<Reader, Writer, Query>;
26
28
  }
27
29
  /**
28
- * A kind bound to a `KindContext`. Produces readers and writers which share the
29
- * configured dependencies.
30
+ * A kind bound to a `KindContext`. Produces readers, writers, and queries which
31
+ * share the configured dependencies.
30
32
  */
31
- export declare class ConfiguredKind<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> {
32
- readonly config: KindConfig<Reader, Writer>;
33
+ export declare class ConfiguredKind<Reader extends BaseEventReader, Writer extends EventWriter<Reader>, Query extends EventQuery> {
34
+ readonly config: KindConfig<Reader, Writer, Query>;
33
35
  readonly context: KindContext;
34
- constructor(config: KindConfig<Reader, Writer>, context: KindContext);
36
+ constructor(config: KindConfig<Reader, Writer, Query>, context: KindContext);
35
37
  get kind(): number;
36
38
  reader: (event: TrustedEvent) => Reader;
37
39
  writer: (reader?: Reader) => Writer;
40
+ query: () => Query;
38
41
  }
39
42
  //# 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,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"}
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;AACjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,eAAe,EAC9B,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,EAClC,KAAK,SAAS,UAAU,IACtB;IACF,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;IAC3E,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,KAAK,CAAA;CACzD,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,WAAW,CACtB,MAAM,SAAS,eAAe,EAC9B,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,EAClC,KAAK,SAAS,UAAU;IAEZ,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBAAzC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IAE9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,cAAc,CACzB,MAAM,SAAS,eAAe,EAC9B,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,EAClC,KAAK,SAAS,UAAU;IAGtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,WAAW;gBADpB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EACzC,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;IAIhE,KAAK,QAAO,KAAK,CAAyD;CAC3E"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Bundles a kind's number, reader, and writer classes.
2
+ * Bundles a kind's number, reader, writer, and query classes.
3
3
  *
4
4
  * Usage: `export const Profile = new KindFactory({kind: PROFILE, reader:
5
- * ProfileReader, writer: ProfileWriter})`, then `Profile.kind` reads the number and
6
- * `Profile.configure(context)` binds the app's dependencies once.
5
+ * ProfileReader, writer: ProfileWriter, query: ProfileQuery})`, then `Profile.kind`
6
+ * reads the number and `Profile.configure(context)` binds the app's dependencies once.
7
7
  */
8
8
  export class KindFactory {
9
9
  config;
@@ -18,8 +18,8 @@ export class KindFactory {
18
18
  }
19
19
  }
20
20
  /**
21
- * A kind bound to a `KindContext`. Produces readers and writers which share the
22
- * configured dependencies.
21
+ * A kind bound to a `KindContext`. Produces readers, writers, and queries which
22
+ * share the configured dependencies.
23
23
  */
24
24
  export class ConfiguredKind {
25
25
  config;
@@ -37,5 +37,8 @@ export class ConfiguredKind {
37
37
  reader = (event) => new this.config.reader(this.config.kind, this.context, event);
38
38
  // Build a writer. Pass a reader to edit its event, or omit to draft a new one.
39
39
  writer = (reader) => new this.config.writer(this.config.kind, this.context, reader);
40
+ // Build a query. Its setters build up a filter; `render()` returns it along with
41
+ // the relays to request it from.
42
+ query = () => new this.config.query(this.config.kind, this.context);
40
43
  }
41
44
  //# sourceMappingURL=Kind.js.map
@@ -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,+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
+ {"version":3,"file":"Kind.js","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAKD;IAArB,YAAqB,MAAyC;QAAzC,WAAM,GAAN,MAAM,CAAmC;IAAG,CAAC;IAElE,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;IAMd;IACA;IAFX,YACW,MAAyC,EACzC,OAAoB;QADpB,WAAM,GAAN,MAAM,CAAmC;QACzC,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;IAEhE,iFAAiF;IACjF,iCAAiC;IACjC,KAAK,GAAG,GAAU,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;CAC3E"}
@@ -1,7 +1,12 @@
1
1
  export * from "./core/EventReader.js";
2
2
  export * from "./core/EventWriter.js";
3
+ export * from "./core/EventQuery.js";
3
4
  export * from "./core/Kind.js";
5
+ export * from "./behaviors/Client.js";
6
+ export * from "./behaviors/ContentWarning.js";
4
7
  export * from "./behaviors/Emoji.js";
8
+ export * from "./behaviors/Expiration.js";
9
+ export * from "./behaviors/Protected.js";
5
10
  export * from "./behaviors/ZapSplits.js";
6
11
  export * from "./other/Relay.js";
7
12
  export * from "./other/Zapper.js";
@@ -11,6 +16,7 @@ export * from "./kinds/BlockedRelayList.js";
11
16
  export * from "./kinds/BlossomServerList.js";
12
17
  export * from "./kinds/BookmarkList.js";
13
18
  export * from "./kinds/Classified.js";
19
+ export * from "./kinds/Command.js";
14
20
  export * from "./kinds/Comment.js";
15
21
  export * from "./kinds/CommunityList.js";
16
22
  export * from "./kinds/Delete.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,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,0BAA0B,CAAA;AACxC,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,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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,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,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,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,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,7 +1,12 @@
1
1
  export * from "./core/EventReader.js";
2
2
  export * from "./core/EventWriter.js";
3
+ export * from "./core/EventQuery.js";
3
4
  export * from "./core/Kind.js";
5
+ export * from "./behaviors/Client.js";
6
+ export * from "./behaviors/ContentWarning.js";
4
7
  export * from "./behaviors/Emoji.js";
8
+ export * from "./behaviors/Expiration.js";
9
+ export * from "./behaviors/Protected.js";
5
10
  export * from "./behaviors/ZapSplits.js";
6
11
  export * from "./other/Relay.js";
7
12
  export * from "./other/Zapper.js";
@@ -11,6 +16,7 @@ export * from "./kinds/BlockedRelayList.js";
11
16
  export * from "./kinds/BlossomServerList.js";
12
17
  export * from "./kinds/BookmarkList.js";
13
18
  export * from "./kinds/Classified.js";
19
+ export * from "./kinds/Command.js";
14
20
  export * from "./kinds/Comment.js";
15
21
  export * from "./kinds/CommunityList.js";
16
22
  export * from "./kinds/Delete.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,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,0BAA0B,CAAA;AACxC,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,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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,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,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,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,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,5 +1,6 @@
1
1
  import { AsyncEventReader } from "../core/EventReader.js";
2
2
  import { EventWriter } from "../core/EventWriter.js";
3
+ import { EventQuery } from "../core/EventQuery.js";
3
4
  import { KindFactory } from "../core/Kind.js";
4
5
  import type { KindContext } from "../core/Kind.js";
5
6
  export declare class AppDataReader extends AsyncEventReader {
@@ -18,5 +19,8 @@ export declare class AppDataWriter extends EventWriter<AppDataReader> {
18
19
  validate(): void;
19
20
  renderContent(): Promise<string>;
20
21
  }
21
- export declare const AppData: KindFactory<AppDataReader, AppDataWriter>;
22
+ export declare class AppDataQuery extends EventQuery {
23
+ protected renderRoutes(): import("@welshman/util").RelaySelection[];
24
+ }
25
+ export declare const AppData: KindFactory<AppDataReader, AppDataWriter, AppDataQuery>;
22
26
  //# sourceMappingURL=AppData.d.ts.map
@@ -1 +1 @@
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
+ {"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,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,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,qBAAa,YAAa,SAAQ,UAAU;IAC1C,SAAS,CAAC,YAAY;CAGvB;AAED,eAAO,MAAM,OAAO,yDAKlB,CAAA"}
@@ -3,6 +3,7 @@ import { decrypt } from "@welshman/signer";
3
3
  import { APP_DATA } from "@welshman/util";
4
4
  import { AsyncEventReader } from "../core/EventReader.js";
5
5
  import { EventWriter } from "../core/EventWriter.js";
6
+ import { EventQuery } from "../core/EventQuery.js";
6
7
  import { KindFactory } from "../core/Kind.js";
7
8
  // NIP-78 kind-30078 arbitrary app data, keyed by `d` tag. Content is JSON,
8
9
  // optionally NIP-44 encrypted to the author.
@@ -77,9 +78,15 @@ export class AppDataWriter extends EventWriter {
77
78
  return signer.nip44.encrypt(pubkey, json);
78
79
  }
79
80
  }
81
+ export class AppDataQuery extends EventQuery {
82
+ renderRoutes() {
83
+ return this.authorRoutes();
84
+ }
85
+ }
80
86
  export const AppData = new KindFactory({
81
87
  kind: APP_DATA,
82
88
  reader: AppDataReader,
83
89
  writer: AppDataWriter,
90
+ query: AppDataQuery,
84
91
  });
85
92
  //# sourceMappingURL=AppData.js.map
@@ -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":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EventReader } from "../core/EventReader.js";
2
2
  import { EventWriter } from "../core/EventWriter.js";
3
+ import { EventQuery } from "../core/EventQuery.js";
3
4
  import { KindFactory } from "../core/Kind.js";
4
5
  export declare class ArticleReader extends EventReader {
5
6
  title(): string | undefined;
@@ -15,5 +16,8 @@ export declare class ArticleWriter extends EventWriter<ArticleReader> {
15
16
  setPublishedAt(publishedAt: number): this;
16
17
  setTopics(topics: string[]): this;
17
18
  }
18
- export declare const Article: KindFactory<ArticleReader, ArticleWriter>;
19
+ export declare class ArticleQuery extends EventQuery {
20
+ protected renderRoutes(): import("@welshman/util").RelaySelection[];
21
+ }
22
+ export declare const Article: KindFactory<ArticleReader, ArticleWriter, ArticleQuery>;
19
23
  //# sourceMappingURL=Article.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Article.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Article.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;AAG3C,qBAAa,aAAc,SAAQ,WAAW;IAC5C,KAAK;IAIL,OAAO;IAIP,KAAK;IAML,WAAW;IAMX,MAAM;CAGP;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;CAG3B;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
1
+ {"version":3,"file":"Article.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Article.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,aAAc,SAAQ,WAAW;IAC5C,KAAK;IAIL,OAAO;IAIP,KAAK;IAML,WAAW;IAMX,MAAM;CAGP;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;CAG3B;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC1C,SAAS,CAAC,YAAY;CAGvB;AAED,eAAO,MAAM,OAAO,yDAKlB,CAAA"}
@@ -2,6 +2,7 @@ import { spec } from "@welshman/lib";
2
2
  import { LONG_FORM, tagSpec, tagValue, tagValues, topicTags } from "@welshman/util";
3
3
  import { EventReader } from "../core/EventReader.js";
4
4
  import { EventWriter } from "../core/EventWriter.js";
5
+ import { EventQuery } from "../core/EventQuery.js";
5
6
  import { KindFactory } from "../core/Kind.js";
6
7
  // NIP-23 kind-30023 long-form article.
7
8
  export class ArticleReader extends EventReader {
@@ -41,9 +42,15 @@ export class ArticleWriter extends EventWriter {
41
42
  return this.dropTags(spec(["t"])).addTags(...topics.map(topic => ["t", topic]));
42
43
  }
43
44
  }
45
+ export class ArticleQuery extends EventQuery {
46
+ renderRoutes() {
47
+ return [...this.authorRoutes(), ...this.mentionRoutes()];
48
+ }
49
+ }
44
50
  export const Article = new KindFactory({
45
51
  kind: LONG_FORM,
46
52
  reader: ArticleReader,
47
53
  writer: ArticleWriter,
54
+ query: ArticleQuery,
48
55
  });
49
56
  //# sourceMappingURL=Article.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Article.js","sourceRoot":"","sources":["../../../../src/kinds/Article.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AACjF,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,uCAAuC;AACvC,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,OAAO;QACL,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,wFAAwF;IACxF,8DAA8D;IAC9D,WAAW;QACT,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAEhF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAA;IACrD,CAAC;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAA0B;IAC3D,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,SAAS,CAAC,MAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACjF,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;IACrC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA"}
1
+ {"version":3,"file":"Article.js","sourceRoot":"","sources":["../../../../src/kinds/Article.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EventReader } from "../core/EventReader.js";
2
2
  import { EventWriter } from "../core/EventWriter.js";
3
+ import { EventQuery } from "../core/EventQuery.js";
3
4
  import { KindFactory } from "../core/Kind.js";
4
5
  export declare class BlockedRelayListReader extends EventReader {
5
6
  urls(): string[];
@@ -10,5 +11,8 @@ export declare class BlockedRelayListWriter extends EventWriter<BlockedRelayList
10
11
  removeUrl(url: string): this;
11
12
  setUrls(urls: string[]): this;
12
13
  }
13
- export declare const BlockedRelayList: KindFactory<BlockedRelayListReader, BlockedRelayListWriter>;
14
+ export declare class BlockedRelayListQuery extends EventQuery {
15
+ protected renderRoutes(): import("@welshman/util").RelaySelection[];
16
+ }
17
+ export declare const BlockedRelayList: KindFactory<BlockedRelayListReader, BlockedRelayListWriter, BlockedRelayListQuery>;
14
18
  //# sourceMappingURL=BlockedRelayList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockedRelayList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BlockedRelayList.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;AAG3C,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,IAAI;IAIJ,QAAQ,CAAC,GAAG,EAAE,MAAM;CAGrB;AAED,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,sBAAsB,CAAC;IAC7E,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB;AAED,eAAO,MAAM,gBAAgB,6DAI3B,CAAA"}
1
+ {"version":3,"file":"BlockedRelayList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BlockedRelayList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,IAAI;IAIJ,QAAQ,CAAC,GAAG,EAAE,MAAM;CAGrB;AAED,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,sBAAsB,CAAC;IAC7E,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB;AAED,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,SAAS,CAAC,YAAY;CAGvB;AAED,eAAO,MAAM,gBAAgB,oFAK3B,CAAA"}
@@ -2,6 +2,7 @@ import { uniq, spec } from "@welshman/lib";
2
2
  import { BLOCKED_RELAYS, relayTags, tagValues, normalizeRelayUrl } from "@welshman/util";
3
3
  import { EventReader } from "../core/EventReader.js";
4
4
  import { EventWriter } from "../core/EventWriter.js";
5
+ import { EventQuery } from "../core/EventQuery.js";
5
6
  import { KindFactory } from "../core/Kind.js";
6
7
  // NIP-51 kind-10006 blocked relays list.
7
8
  export class BlockedRelayListReader extends EventReader {
@@ -23,9 +24,15 @@ export class BlockedRelayListWriter extends EventWriter {
23
24
  return this.dropTags(spec(["relay"])).addTags(...urls.map(url => ["relay", normalizeRelayUrl(url)]));
24
25
  }
25
26
  }
27
+ export class BlockedRelayListQuery extends EventQuery {
28
+ renderRoutes() {
29
+ return this.authorRoutes();
30
+ }
31
+ }
26
32
  export const BlockedRelayList = new KindFactory({
27
33
  kind: BLOCKED_RELAYS,
28
34
  reader: BlockedRelayListReader,
29
35
  writer: BlockedRelayListWriter,
36
+ query: BlockedRelayListQuery,
30
37
  });
31
38
  //# sourceMappingURL=BlockedRelayList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockedRelayList.js","sourceRoot":"","sources":["../../../../src/kinds/BlockedRelayList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AACtF,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,yCAAyC;AACzC,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACrD,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,WAAmC;IAC7E,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CACtD,CAAA;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,WAAW,CAAC;IAC9C,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,sBAAsB;CAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"BlockedRelayList.js","sourceRoot":"","sources":["../../../../src/kinds/BlockedRelayList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AACtF,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,yCAAyC;AACzC,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACrD,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,WAAmC;IAC7E,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CACtD,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACzC,YAAY;QACpB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,WAAW,CAAC;IAC9C,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,qBAAqB;CAC7B,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { EventReader } from "../core/EventReader.js";
2
2
  import { EventWriter } from "../core/EventWriter.js";
3
+ import { EventQuery } from "../core/EventQuery.js";
3
4
  import { KindFactory } from "../core/Kind.js";
4
5
  export declare class BlossomServerListReader extends EventReader {
5
6
  urls(): string[];
@@ -10,5 +11,8 @@ export declare class BlossomServerListWriter extends EventWriter<BlossomServerLi
10
11
  removeUrl(url: string): this;
11
12
  setUrls(urls: string[]): this;
12
13
  }
13
- export declare const BlossomServerList: KindFactory<BlossomServerListReader, BlossomServerListWriter>;
14
+ export declare class BlossomServerListQuery extends EventQuery {
15
+ protected renderRoutes(): import("@welshman/util").RelaySelection[];
16
+ }
17
+ export declare const BlossomServerList: KindFactory<BlossomServerListReader, BlossomServerListWriter, BlossomServerListQuery>;
14
18
  //# sourceMappingURL=BlossomServerList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlossomServerList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BlossomServerList.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;AAG3C,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,IAAI;IAIJ,QAAQ,CAAC,GAAG,EAAE,MAAM;CAGrB;AAED,qBAAa,uBAAwB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;IAC/E,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB;AAED,eAAO,MAAM,iBAAiB,+DAI5B,CAAA"}
1
+ {"version":3,"file":"BlossomServerList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BlossomServerList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,IAAI;IAIJ,QAAQ,CAAC,GAAG,EAAE,MAAM;CAGrB;AAED,qBAAa,uBAAwB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;IAC/E,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB;AAED,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,SAAS,CAAC,YAAY;CAGvB;AAED,eAAO,MAAM,iBAAiB,uFAK5B,CAAA"}
@@ -2,6 +2,7 @@ import { uniq, spec, normalizeUrl } from "@welshman/lib";
2
2
  import { BLOSSOM_SERVERS, tagSpec, tagValues } from "@welshman/util";
3
3
  import { EventReader } from "../core/EventReader.js";
4
4
  import { EventWriter } from "../core/EventWriter.js";
5
+ import { EventQuery } from "../core/EventQuery.js";
5
6
  import { KindFactory } from "../core/Kind.js";
6
7
  // Blossom BUD-03 kind-10063 user server list.
7
8
  export class BlossomServerListReader extends EventReader {
@@ -23,9 +24,15 @@ export class BlossomServerListWriter extends EventWriter {
23
24
  return this.dropTags(spec(["server"])).addTags(...urls.map(url => ["server", normalizeUrl(url)]));
24
25
  }
25
26
  }
27
+ export class BlossomServerListQuery extends EventQuery {
28
+ renderRoutes() {
29
+ return this.authorRoutes();
30
+ }
31
+ }
26
32
  export const BlossomServerList = new KindFactory({
27
33
  kind: BLOSSOM_SERVERS,
28
34
  reader: BlossomServerListReader,
29
35
  writer: BlossomServerListWriter,
36
+ query: BlossomServerListQuery,
30
37
  });
31
38
  //# sourceMappingURL=BlossomServerList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlossomServerList.js","sourceRoot":"","sources":["../../../../src/kinds/BlossomServerList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AACtD,OAAO,EAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,8CAA8C;AAC9C,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,WAAoC;IAC/E,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC;IAC/C,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,uBAAuB;CAChC,CAAC,CAAA"}
1
+ {"version":3,"file":"BlossomServerList.js","sourceRoot":"","sources":["../../../../src/kinds/BlossomServerList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AACtD,OAAO,EAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,8CAA8C;AAC9C,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,WAAoC;IAC/E,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,UAAU;IAC1C,YAAY;QACpB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC;IAC/C,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,sBAAsB;CAC9B,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { ListReader } from "../core/ListReader.js";
2
2
  import { ListWriter } from "../core/ListWriter.js";
3
+ import { EventQuery } from "../core/EventQuery.js";
3
4
  import { KindFactory } from "../core/Kind.js";
4
5
  export declare class BookmarkListReader extends ListReader {
5
6
  ids(): string[];
@@ -12,5 +13,8 @@ export declare class BookmarkListWriter extends ListWriter<BookmarkListReader> {
12
13
  bookmarkPrivately(tag: string[]): this;
13
14
  removeBookmark(value: string): this;
14
15
  }
15
- export declare const BookmarkList: KindFactory<BookmarkListReader, BookmarkListWriter>;
16
+ export declare class BookmarkListQuery extends EventQuery {
17
+ protected renderRoutes(): import("@welshman/util").RelaySelection[];
18
+ }
19
+ export declare const BookmarkList: KindFactory<BookmarkListReader, BookmarkListWriter, BookmarkListQuery>;
16
20
  //# sourceMappingURL=BookmarkList.d.ts.map