@welshman/app 0.12.5 → 0.13.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 (198) hide show
  1. package/dist/app/src/index.d.ts +1 -0
  2. package/dist/app/src/index.d.ts.map +1 -1
  3. package/dist/app/src/index.js +1 -0
  4. package/dist/app/src/index.js.map +1 -1
  5. package/dist/app/src/plugins/base.d.ts +18 -41
  6. package/dist/app/src/plugins/base.d.ts.map +1 -1
  7. package/dist/app/src/plugins/base.js +25 -51
  8. package/dist/app/src/plugins/base.js.map +1 -1
  9. package/dist/app/src/plugins/blockedRelayLists.d.ts +1 -1
  10. package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -1
  11. package/dist/app/src/plugins/blossomServerLists.d.ts +1 -1
  12. package/dist/app/src/plugins/blossomServerLists.d.ts.map +1 -1
  13. package/dist/app/src/plugins/events.d.ts +5 -6
  14. package/dist/app/src/plugins/events.d.ts.map +1 -1
  15. package/dist/app/src/plugins/events.js +24 -38
  16. package/dist/app/src/plugins/events.js.map +1 -1
  17. package/dist/app/src/plugins/feedLists.d.ts +1 -1
  18. package/dist/app/src/plugins/feedLists.d.ts.map +1 -1
  19. package/dist/app/src/plugins/feeds.d.ts +1 -1
  20. package/dist/app/src/plugins/feeds.d.ts.map +1 -1
  21. package/dist/app/src/plugins/feeds.js +2 -1
  22. package/dist/app/src/plugins/feeds.js.map +1 -1
  23. package/dist/app/src/plugins/handles.d.ts +1 -1
  24. package/dist/app/src/plugins/handles.d.ts.map +1 -1
  25. package/dist/app/src/plugins/handles.js +2 -2
  26. package/dist/app/src/plugins/handles.js.map +1 -1
  27. package/dist/app/src/plugins/logger.d.ts +1 -1
  28. package/dist/app/src/plugins/logger.d.ts.map +1 -1
  29. package/dist/app/src/plugins/logger.js +1 -1
  30. package/dist/app/src/plugins/logger.js.map +1 -1
  31. package/dist/app/src/plugins/messagingRelayLists.d.ts +1 -1
  32. package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -1
  33. package/dist/app/src/plugins/notify.d.ts +23 -0
  34. package/dist/app/src/plugins/notify.d.ts.map +1 -0
  35. package/dist/app/src/plugins/notify.js +28 -0
  36. package/dist/app/src/plugins/notify.js.map +1 -0
  37. package/dist/app/src/plugins/pinboards.d.ts +1 -1
  38. package/dist/app/src/plugins/pinboards.d.ts.map +1 -1
  39. package/dist/app/src/plugins/pinboards.js +2 -1
  40. package/dist/app/src/plugins/pinboards.js.map +1 -1
  41. package/dist/app/src/plugins/plaintext.d.ts +6 -2
  42. package/dist/app/src/plugins/plaintext.d.ts.map +1 -1
  43. package/dist/app/src/plugins/plaintext.js +34 -14
  44. package/dist/app/src/plugins/plaintext.js.map +1 -1
  45. package/dist/app/src/plugins/profiles.d.ts +2 -1
  46. package/dist/app/src/plugins/profiles.d.ts.map +1 -1
  47. package/dist/app/src/plugins/profiles.js +2 -2
  48. package/dist/app/src/plugins/profiles.js.map +1 -1
  49. package/dist/app/src/plugins/publisher.d.ts +9 -5
  50. package/dist/app/src/plugins/publisher.d.ts.map +1 -1
  51. package/dist/app/src/plugins/publisher.js +108 -75
  52. package/dist/app/src/plugins/publisher.js.map +1 -1
  53. package/dist/app/src/plugins/relayLists.d.ts +1 -1
  54. package/dist/app/src/plugins/relayLists.d.ts.map +1 -1
  55. package/dist/app/src/plugins/relayLists.js +1 -1
  56. package/dist/app/src/plugins/relayLists.js.map +1 -1
  57. package/dist/app/src/plugins/relayRoles.d.ts +1 -1
  58. package/dist/app/src/plugins/relayRoles.d.ts.map +1 -1
  59. package/dist/app/src/plugins/relayRoles.js +1 -1
  60. package/dist/app/src/plugins/relayRoles.js.map +1 -1
  61. package/dist/app/src/plugins/relays.d.ts +2 -1
  62. package/dist/app/src/plugins/relays.d.ts.map +1 -1
  63. package/dist/app/src/plugins/relays.js.map +1 -1
  64. package/dist/app/src/plugins/roomLists.d.ts +1 -1
  65. package/dist/app/src/plugins/roomLists.d.ts.map +1 -1
  66. package/dist/app/src/plugins/roomLists.js +2 -1
  67. package/dist/app/src/plugins/roomLists.js.map +1 -1
  68. package/dist/app/src/plugins/roomPins.d.ts +1 -1
  69. package/dist/app/src/plugins/roomPins.d.ts.map +1 -1
  70. package/dist/app/src/plugins/roomPins.js +1 -1
  71. package/dist/app/src/plugins/roomPins.js.map +1 -1
  72. package/dist/app/src/plugins/rooms.d.ts +1 -2
  73. package/dist/app/src/plugins/rooms.d.ts.map +1 -1
  74. package/dist/app/src/plugins/rooms.js +1 -2
  75. package/dist/app/src/plugins/rooms.js.map +1 -1
  76. package/dist/app/src/plugins/searchRelayLists.d.ts +1 -1
  77. package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -1
  78. package/dist/app/src/plugins/topics.d.ts +2 -1
  79. package/dist/app/src/plugins/topics.d.ts.map +1 -1
  80. package/dist/app/src/plugins/topics.js +2 -2
  81. package/dist/app/src/plugins/topics.js.map +1 -1
  82. package/dist/app/src/plugins/wot.d.ts +1 -1
  83. package/dist/app/src/plugins/wot.d.ts.map +1 -1
  84. package/dist/app/src/plugins/wot.js +1 -2
  85. package/dist/app/src/plugins/wot.js.map +1 -1
  86. package/dist/app/src/plugins/wraps.d.ts +5 -1
  87. package/dist/app/src/plugins/wraps.d.ts.map +1 -1
  88. package/dist/app/src/plugins/wraps.js +6 -10
  89. package/dist/app/src/plugins/wraps.js.map +1 -1
  90. package/dist/app/src/plugins/zapGoals.d.ts +1 -1
  91. package/dist/app/src/plugins/zapGoals.d.ts.map +1 -1
  92. package/dist/app/src/plugins/zapGoals.js +1 -1
  93. package/dist/app/src/plugins/zapGoals.js.map +1 -1
  94. package/dist/app/src/plugins/zappers.d.ts +1 -1
  95. package/dist/app/src/plugins/zappers.d.ts.map +1 -1
  96. package/dist/app/src/plugins/zappers.js +2 -2
  97. package/dist/app/src/plugins/zappers.js.map +1 -1
  98. package/dist/app/src/policy.d.ts +4 -0
  99. package/dist/app/src/policy.d.ts.map +1 -1
  100. package/dist/app/src/policy.js +12 -1
  101. package/dist/app/src/policy.js.map +1 -1
  102. package/dist/app/src/user.d.ts +2 -2
  103. package/dist/app/src/user.d.ts.map +1 -1
  104. package/dist/app/src/user.js.map +1 -1
  105. package/dist/domain/src/core/ListWriter.d.ts +6 -6
  106. package/dist/domain/src/kinds/Bolt12Offer.d.ts.map +1 -1
  107. package/dist/domain/src/kinds/Bolt12Offer.js +10 -9
  108. package/dist/domain/src/kinds/Bolt12Offer.js.map +1 -1
  109. package/dist/domain/src/kinds/Bolt12Zap.d.ts +6 -11
  110. package/dist/domain/src/kinds/Bolt12Zap.d.ts.map +1 -1
  111. package/dist/domain/src/kinds/Bolt12Zap.js +77 -105
  112. package/dist/domain/src/kinds/Bolt12Zap.js.map +1 -1
  113. package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts +2 -0
  114. package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts.map +1 -1
  115. package/dist/domain/src/kinds/Bolt12ZapIntent.js +31 -20
  116. package/dist/domain/src/kinds/Bolt12ZapIntent.js.map +1 -1
  117. package/dist/domain/src/other/Relay.d.ts +21 -0
  118. package/dist/domain/src/other/Relay.d.ts.map +1 -1
  119. package/dist/domain/src/other/Relay.js +6 -0
  120. package/dist/domain/src/other/Relay.js.map +1 -1
  121. package/dist/feeds/src/request.d.ts.map +1 -1
  122. package/dist/feeds/src/request.js +14 -5
  123. package/dist/feeds/src/request.js.map +1 -1
  124. package/dist/lib/src/TaskQueue.d.ts.map +1 -1
  125. package/dist/lib/src/TaskQueue.js +8 -2
  126. package/dist/lib/src/TaskQueue.js.map +1 -1
  127. package/dist/net/src/message.d.ts +4 -0
  128. package/dist/net/src/message.d.ts.map +1 -1
  129. package/dist/net/src/message.js +2 -0
  130. package/dist/net/src/message.js.map +1 -1
  131. package/dist/net/src/policy.d.ts.map +1 -1
  132. package/dist/net/src/policy.js +11 -3
  133. package/dist/net/src/policy.js.map +1 -1
  134. package/dist/net/src/repository.d.ts +24 -12
  135. package/dist/net/src/repository.d.ts.map +1 -1
  136. package/dist/net/src/repository.js +79 -70
  137. package/dist/net/src/repository.js.map +1 -1
  138. package/dist/net/src/util.d.ts +2 -1
  139. package/dist/net/src/util.d.ts.map +1 -1
  140. package/dist/net/src/util.js +6 -5
  141. package/dist/net/src/util.js.map +1 -1
  142. package/dist/net/src/wrapManager.d.ts +0 -2
  143. package/dist/net/src/wrapManager.d.ts.map +1 -1
  144. package/dist/net/src/wrapManager.js +8 -23
  145. package/dist/net/src/wrapManager.js.map +1 -1
  146. package/dist/signer/src/index.d.ts +1 -0
  147. package/dist/signer/src/index.d.ts.map +1 -1
  148. package/dist/signer/src/index.js +1 -0
  149. package/dist/signer/src/index.js.map +1 -1
  150. package/dist/signer/src/nip59.d.ts +13 -6
  151. package/dist/signer/src/nip59.d.ts.map +1 -1
  152. package/dist/signer/src/nip59.js +38 -19
  153. package/dist/signer/src/nip59.js.map +1 -1
  154. package/dist/signer/src/queue.d.ts +21 -0
  155. package/dist/signer/src/queue.d.ts.map +1 -0
  156. package/dist/signer/src/queue.js +40 -0
  157. package/dist/signer/src/queue.js.map +1 -0
  158. package/dist/signer/src/signers/nip01.d.ts +14 -2
  159. package/dist/signer/src/signers/nip01.d.ts.map +1 -1
  160. package/dist/signer/src/signers/nip01.js +6 -2
  161. package/dist/signer/src/signers/nip01.js.map +1 -1
  162. package/dist/signer/src/signers/nip07.d.ts +9 -9
  163. package/dist/signer/src/signers/nip07.d.ts.map +1 -1
  164. package/dist/signer/src/signers/nip07.js +15 -27
  165. package/dist/signer/src/signers/nip07.js.map +1 -1
  166. package/dist/signer/src/signers/nip46.d.ts +7 -3
  167. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  168. package/dist/signer/src/signers/nip46.js +12 -8
  169. package/dist/signer/src/signers/nip46.js.map +1 -1
  170. package/dist/signer/src/signers/nip55.d.ts +7 -7
  171. package/dist/signer/src/signers/nip55.d.ts.map +1 -1
  172. package/dist/signer/src/signers/nip55.js +33 -40
  173. package/dist/signer/src/signers/nip55.js.map +1 -1
  174. package/dist/signer/src/util.d.ts +27 -15
  175. package/dist/signer/src/util.d.ts.map +1 -1
  176. package/dist/signer/src/util.js +47 -14
  177. package/dist/signer/src/util.js.map +1 -1
  178. package/dist/store/src/misc.d.ts +18 -0
  179. package/dist/store/src/misc.d.ts.map +1 -1
  180. package/dist/store/src/misc.js +14 -0
  181. package/dist/store/src/misc.js.map +1 -1
  182. package/dist/store/src/repository.d.ts +29 -12
  183. package/dist/store/src/repository.d.ts.map +1 -1
  184. package/dist/store/src/repository.js +270 -206
  185. package/dist/store/src/repository.js.map +1 -1
  186. package/dist/tsconfig.build.tsbuildinfo +1 -1
  187. package/dist/util/src/Bolt12.d.ts.map +1 -1
  188. package/dist/util/src/Bolt12.js +11 -8
  189. package/dist/util/src/Bolt12.js.map +1 -1
  190. package/dist/util/src/Events.d.ts +1 -0
  191. package/dist/util/src/Events.d.ts.map +1 -1
  192. package/dist/util/src/Events.js +10 -1
  193. package/dist/util/src/Events.js.map +1 -1
  194. package/dist/util/src/Lightning.d.ts +1 -0
  195. package/dist/util/src/Lightning.d.ts.map +1 -1
  196. package/dist/util/src/Lightning.js +1 -0
  197. package/dist/util/src/Lightning.js.map +1 -1
  198. package/package.json +15 -15
@@ -10,6 +10,7 @@ export * from "./plugins/router.js";
10
10
  export * from "./plugins/domain.js";
11
11
  export * from "./plugins/relays.js";
12
12
  export * from "./plugins/relayStats.js";
13
+ export * from "./plugins/notify.js";
13
14
  export * from "./plugins/relayLists.js";
14
15
  export * from "./plugins/blockedRelayLists.js";
15
16
  export * from "./plugins/logger.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA"}
@@ -10,6 +10,7 @@ export * from "./plugins/router.js";
10
10
  export * from "./plugins/domain.js";
11
11
  export * from "./plugins/relays.js";
12
12
  export * from "./plugins/relayStats.js";
13
+ export * from "./plugins/notify.js";
13
14
  export * from "./plugins/relayLists.js";
14
15
  export * from "./plugins/blockedRelayLists.js";
15
16
  export * from "./plugins/logger.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA"}
@@ -2,15 +2,8 @@ import type { IFuseOptions, FuseResult } from "fuse.js";
2
2
  import type { Readable, Unsubscriber } from "svelte/store";
3
3
  import type { Maybe } from "@welshman/lib";
4
4
  import type { Filter } from "@welshman/util";
5
- import type { EventToItem, ItemsByKey, MakeLoadItemOptions } from "@welshman/store";
5
+ import type { EventToItem, ItemCollection, ItemsByKey, MakeLoadItemOptions, Projection } from "@welshman/store";
6
6
  import type { IApp } from "../app.js";
7
- /**
8
- * Utility type which allows for using the same value both for hot gets and derived subscriptions
9
- */
10
- export type Projection<T> = {
11
- get: () => T;
12
- $: Readable<T>;
13
- };
14
7
  export type SearchOptions<V, T> = {
15
8
  getValue: (item: T) => V;
16
9
  fuseOptions?: IFuseOptions<T>;
@@ -30,16 +23,6 @@ export type Search<V, T> = {
30
23
  * their collection. Blends fuse scoring with an optional `sortFn`.
31
24
  */
32
25
  export declare const createSearch: <V, T>(options: T[], opts: SearchOptions<V, T>) => Search<V, T>;
33
- /**
34
- * Build a `Projection` from a readable store and an optional `read` function, which falls
35
- * back to `get($)`. On hot paths, the store value is cached, and read is skipped.
36
- */
37
- export declare const projection: <T>($: Readable<T>, read?: () => T) => Projection<T>;
38
- /**
39
- * Build a `Projection` derived from another `Projection`: re-read `src`
40
- * reactively via `.$` or synchronously via `.get()`.
41
- */
42
- export declare const projectFrom: <S, U>(src: Projection<S>, read: ($: S) => U) => Projection<U>;
43
26
  /**
44
27
  * Base class for a reactive, keyed collection of "local" (non-event) data —
45
28
  * things like relay stats or NIP-11 profiles that aren't backed by the
@@ -76,34 +59,37 @@ export declare abstract class LoadableMapPlugin<T> extends MapPlugin<T> {
76
59
  abstract fetch(key: string, ...args: any[]): Promise<unknown>;
77
60
  constructor(app: IApp, options?: MakeLoadItemOptions);
78
61
  }
79
- export type DerivedPluginOptions<T> = {
80
- filters: Filter[];
81
- eventToItem: EventToItem<T>;
82
- getKey: (item: T) => string;
83
- loadOptions?: MakeLoadItemOptions;
84
- };
85
62
  /**
86
63
  * Base class for a reactive, keyed collection of data derived from nostr events.
87
64
  * The repository is the single source of truth — the collection is a live view
88
- * over `app.itemsByKey`, never a duplicated map. Subclasses implement `fetch`
89
- * (how to load an item by key from the network) and pass the filters/decoder via
90
- * `super`.
65
+ * over it, never a duplicated map. Subclasses supply the `index` and implement
66
+ * `fetch` (how to load an item by key from the network).
91
67
  *
92
68
  * `index` (map) and `all` (values) are `Projection`s — subscribe via `.$`,
93
69
  * snapshot via `.get()`. Per-key access is `one(key)`, a plain on-demand store.
94
70
  */
95
- export declare abstract class DerivedPlugin<T> {
71
+ export declare abstract class CollectionPlugin<T> {
96
72
  protected readonly app: IApp;
97
- index: Projection<ItemsByKey<T>>;
73
+ readonly index: ItemCollection<T>;
98
74
  all: Projection<T[]>;
99
75
  one: (key?: string, ...args: any[]) => Readable<Maybe<T>>;
100
76
  load: (key: string, ...args: any[]) => Promise<Maybe<T>>;
101
77
  forceLoad: (key: string, ...args: any[]) => Promise<Maybe<T>>;
102
78
  abstract fetch(key: string, ...args: any[]): Promise<unknown>;
103
- constructor(app: IApp, options: DerivedPluginOptions<T>);
79
+ constructor(app: IApp, index: ItemCollection<T>, loadOptions?: MakeLoadItemOptions);
104
80
  get: (key: string) => T | undefined;
105
81
  project: <U>(key: string, read: (item: Maybe<T>) => U) => Projection<U>;
106
82
  }
83
+ export type DerivedPluginOptions<T> = {
84
+ filters: Filter[];
85
+ eventToItem: EventToItem<T>;
86
+ getKey: (item: T) => string;
87
+ loadOptions?: MakeLoadItemOptions;
88
+ };
89
+ /** A `CollectionPlugin` over `deriveItemsByKey`: one item per key across all relays. */
90
+ export declare abstract class DerivedPlugin<T> extends CollectionPlugin<T> {
91
+ constructor(app: IApp, options: DerivedPluginOptions<T>);
92
+ }
107
93
  export type RelayScopedDerivedPluginOptions<T> = {
108
94
  filters: Filter[];
109
95
  eventToItem: EventToItem<T>;
@@ -112,23 +98,14 @@ export type RelayScopedDerivedPluginOptions<T> = {
112
98
  revalidateOn?: Readable<unknown>;
113
99
  };
114
100
  /**
115
- * A `DerivedPlugin` for relay-dependent data: each item is keyed by
101
+ * A `CollectionPlugin` for relay-dependent data: each item is keyed by
116
102
  * `getKey(item, url)` once per relay it was seen on (via the tracker), so the
117
103
  * same addressable coordinate on two relays stays two distinct entries. Use it
118
104
  * for collections that only make sense relative to a relay — NIP-29 rooms
119
105
  * (`${url}'${room}`), relay roles (`${url}|${d}`), per-relay replaceables
120
106
  * (`${url}`). Subclasses implement `fetch` (loading from the relevant relay).
121
107
  */
122
- export declare abstract class RelayScopedDerivedPlugin<T> {
123
- protected readonly app: IApp;
124
- index: Projection<ItemsByKey<T>>;
125
- all: Projection<T[]>;
126
- one: (key?: string, ...args: any[]) => Readable<Maybe<T>>;
127
- load: (key: string, ...args: any[]) => Promise<Maybe<T>>;
128
- forceLoad: (key: string, ...args: any[]) => Promise<Maybe<T>>;
129
- abstract fetch(key: string, ...args: any[]): Promise<unknown>;
108
+ export declare abstract class RelayScopedDerivedPlugin<T> extends CollectionPlugin<T> {
130
109
  constructor(app: IApp, options: RelayScopedDerivedPluginOptions<T>);
131
- get: (key: string) => T | undefined;
132
- project: <U>(key: string, read: (item: Maybe<T>) => U) => Projection<U>;
133
110
  }
134
111
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import Fuse from "fuse.js";
2
2
  import { writable, derived } from "svelte/store";
3
3
  import { sortBy } from "@welshman/lib";
4
- import { deriveItems, deriveItemsByKey, deriveItemsByKeyByUrl, getter, makeDeriveItem, makeLoadItem, makeForceLoadItem, } from "@welshman/store";
4
+ import { deriveArray, deriveItemsByKey, deriveItemsByKeyByUrl, makeDeriveItem, makeLoadItem, makeForceLoadItem, projection, } from "@welshman/store";
5
5
  /**
6
6
  * A reusable fuzzy-search primitive over a fixed list of `options`. Plugins that
7
7
  * expose a search (profiles, topics, relays) build one of these reactively from
@@ -26,19 +26,6 @@ export const createSearch = (options, opts) => {
26
26
  searchValues: (term) => search(term).map(opts.getValue),
27
27
  };
28
28
  };
29
- /**
30
- * Build a `Projection` from a readable store and an optional `read` function, which falls
31
- * back to `get($)`. On hot paths, the store value is cached, and read is skipped.
32
- */
33
- export const projection = ($, read) => ({
34
- $,
35
- get: getter($, { read }),
36
- });
37
- /**
38
- * Build a `Projection` derived from another `Projection`: re-read `src`
39
- * reactively via `.$` or synchronously via `.get()`.
40
- */
41
- export const projectFrom = (src, read) => projection(derived(src.$, read), () => read(src.get()));
42
29
  /**
43
30
  * Base class for a reactive, keyed collection of "local" (non-event) data —
44
31
  * things like relay stats or NIP-11 profiles that aren't backed by the
@@ -58,7 +45,7 @@ export class MapPlugin {
58
45
  constructor(app) {
59
46
  this.app = app;
60
47
  this.index = projection(this.store);
61
- this.all = projection(deriveItems(this.store));
48
+ this.all = deriveArray(this.index);
62
49
  this.one = makeDeriveItem(this.store);
63
50
  }
64
51
  get = (key) => this.index.get().get(key);
@@ -121,73 +108,60 @@ export class LoadableMapPlugin extends MapPlugin {
121
108
  /**
122
109
  * Base class for a reactive, keyed collection of data derived from nostr events.
123
110
  * The repository is the single source of truth — the collection is a live view
124
- * over `app.itemsByKey`, never a duplicated map. Subclasses implement `fetch`
125
- * (how to load an item by key from the network) and pass the filters/decoder via
126
- * `super`.
111
+ * over it, never a duplicated map. Subclasses supply the `index` and implement
112
+ * `fetch` (how to load an item by key from the network).
127
113
  *
128
114
  * `index` (map) and `all` (values) are `Projection`s — subscribe via `.$`,
129
115
  * snapshot via `.get()`. Per-key access is `one(key)`, a plain on-demand store.
130
116
  */
131
- export class DerivedPlugin {
117
+ export class CollectionPlugin {
132
118
  app;
133
119
  index;
134
120
  all;
135
121
  one;
136
122
  load;
137
123
  forceLoad;
138
- constructor(app, options) {
124
+ constructor(app, index, loadOptions) {
139
125
  this.app = app;
140
- const index = deriveItemsByKey({
141
- filters: options.filters,
142
- eventToItem: options.eventToItem,
143
- getKey: options.getKey,
144
- repository: app.repository,
145
- });
146
- this.index = projection(index);
147
- this.all = projection(deriveItems(index));
126
+ this.index = index;
127
+ this.all = deriveArray(index);
148
128
  const fetch = (key, ...args) => this.fetch(key, ...args);
149
- const read = (key) => this.index.get().get(key);
150
- this.load = makeLoadItem(fetch, read, options.loadOptions);
151
- this.forceLoad = makeForceLoadItem(fetch, read);
129
+ this.load = makeLoadItem(fetch, index.read, loadOptions);
130
+ this.forceLoad = makeForceLoadItem(fetch, index.read);
152
131
  this.one = makeDeriveItem(index, this.load);
153
132
  }
154
133
  get = (key) => this.index.get().get(key);
155
134
  project = (key, read) => projection(derived(this.one(key), read), () => read(this.get(key)));
156
135
  }
136
+ /** A `CollectionPlugin` over `deriveItemsByKey`: one item per key across all relays. */
137
+ export class DerivedPlugin extends CollectionPlugin {
138
+ constructor(app, options) {
139
+ super(app, deriveItemsByKey({
140
+ filters: options.filters,
141
+ eventToItem: options.eventToItem,
142
+ getKey: options.getKey,
143
+ repository: app.repository,
144
+ }), options.loadOptions);
145
+ }
146
+ }
157
147
  /**
158
- * A `DerivedPlugin` for relay-dependent data: each item is keyed by
148
+ * A `CollectionPlugin` for relay-dependent data: each item is keyed by
159
149
  * `getKey(item, url)` once per relay it was seen on (via the tracker), so the
160
150
  * same addressable coordinate on two relays stays two distinct entries. Use it
161
151
  * for collections that only make sense relative to a relay — NIP-29 rooms
162
152
  * (`${url}'${room}`), relay roles (`${url}|${d}`), per-relay replaceables
163
153
  * (`${url}`). Subclasses implement `fetch` (loading from the relevant relay).
164
154
  */
165
- export class RelayScopedDerivedPlugin {
166
- app;
167
- index;
168
- all;
169
- one;
170
- load;
171
- forceLoad;
155
+ export class RelayScopedDerivedPlugin extends CollectionPlugin {
172
156
  constructor(app, options) {
173
- this.app = app;
174
- const index = deriveItemsByKeyByUrl({
157
+ super(app, deriveItemsByKeyByUrl({
175
158
  filters: options.filters,
176
159
  eventToItem: options.eventToItem,
177
160
  getKey: options.getKey,
178
161
  revalidateOn: options.revalidateOn,
179
162
  tracker: app.tracker,
180
163
  repository: app.repository,
181
- });
182
- this.index = projection(index);
183
- this.all = projection(deriveItems(index));
184
- const fetch = (key, ...args) => this.fetch(key, ...args);
185
- const read = (key) => this.index.get().get(key);
186
- this.load = makeLoadItem(fetch, read, options.loadOptions);
187
- this.forceLoad = makeForceLoadItem(fetch, read);
188
- this.one = makeDeriveItem(index, this.load);
164
+ }), options.loadOptions);
189
165
  }
190
- get = (key) => this.index.get().get(key);
191
- project = (key, read) => projection(derived(this.one(key), read), () => read(this.get(key)));
192
166
  }
193
167
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BlockedRelayListReader, BlockedRelayListWriter } from "@welshman/domain";
2
2
  import { DerivedPlugin } from "./base.js";
3
- import type { Projection } from "./base.js";
3
+ import type { Projection } from "@welshman/store";
4
4
  import type { IApp } from "../app.js";
5
5
  /**
6
6
  * Kind-10006 blocked-relay lists, keyed by pubkey. Loaded via the outbox model,
@@ -1 +1 @@
1
- {"version":3,"file":"blockedRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blockedRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;gBAC9D,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,8CACa;IAEnE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
1
+ {"version":3,"file":"blockedRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blockedRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAG/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;gBAC9D,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,8CACa;IAEnE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
@@ -1,6 +1,6 @@
1
1
  import { BlossomServerListReader, BlossomServerListWriter } from "@welshman/domain";
2
2
  import { DerivedPlugin } from "./base.js";
3
- import type { Projection } from "./base.js";
3
+ import type { Projection } from "@welshman/store";
4
4
  import type { IApp } from "../app.js";
5
5
  /**
6
6
  * Blossom server lists (kind 10063), keyed by pubkey. Loaded via the outbox
@@ -1 +1 @@
1
- {"version":3,"file":"blossomServerLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blossomServerLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,uBAAuB,EAAE,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAEpG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;gBAChE,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,8CACa;IAEpE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
1
+ {"version":3,"file":"blossomServerLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blossomServerLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,uBAAuB,EAAE,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAEpG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;gBAChE,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,8CACa;IAEpE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
@@ -1,7 +1,6 @@
1
1
  import type { Maybe } from "@welshman/lib";
2
2
  import type { Filter, TrustedEvent } from "@welshman/util";
3
- import type { EventsById, EventsByIdByUrl } from "@welshman/store";
4
- import type { Projection } from "./base.js";
3
+ import type { EventsById, EventsByIdByUrl, Projection } from "@welshman/store";
5
4
  import type { IApp } from "../app.js";
6
5
  /**
7
6
  * Reactive views over the app's repository. Every method binds this app's
@@ -9,10 +8,10 @@ import type { IApp } from "../app.js";
9
8
  * with `.get()`, or subscribe to `.$` — so callers never build one from the
10
9
  * other, and never construct `{repository, tracker}` by hand.
11
10
  *
12
- * Each projection supplies its own getter that queries the repository/tracker
13
- * directly, rather than falling back to reading through the derived store. Those
14
- * queries are index-backed; standing a derived store up and tearing it down just
15
- * to read a value is not.
11
+ * Each view reads through a direct repository/tracker query rather than through
12
+ * its derived store. Those queries are index-backed; standing a derived store up
13
+ * and tearing it down just to read a value is not. `@welshman/store` pairs the
14
+ * two, so a view over a single store passes neither half.
16
15
  */
17
16
  export declare class Events {
18
17
  readonly app: IApp;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/plugins/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAcxD,OAAO,KAAK,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAA;AAIhE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,qBAAa,MAAM;IACL,QAAQ,CAAC,GAAG,EAAE,IAAI;gBAAT,GAAG,EAAE,IAAI;IAE9B,IAAI,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,UAAU,CAAC,CAIxD;IAED,GAAG,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM3D;IAED,GAAG,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM3D;IAED,IAAI,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM5D;IAED,GAAG,GAAI,aAAa,MAAM,EAAE,SAAQ,MAAM,EAAO,KAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAShF;IAEH,SAAS,GAAI,OAAO,YAAY,KAAG,UAAU,CAAC,OAAO,CAAC,CAGnD;IAIH,UAAU,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,UAAU,CAAC,CAI3E;IAED,MAAM,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM3E;IAED,SAAS,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,eAAe,CAAC,CAIlE;IAED,iBAAiB,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAWtF;CACF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/plugins/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAaxD,OAAO,KAAK,EAAC,UAAU,EAAE,eAAe,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAK5E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,qBAAa,MAAM;IACL,QAAQ,CAAC,GAAG,EAAE,IAAI;gBAAT,GAAG,EAAE,IAAI;IAE9B,IAAI,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,UAAU,CAAC,CACK;IAE9D,GAAG,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CACF;IAE1D,GAAG,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CACvB;IAErC,IAAI,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CACvB;IAEtC,GAAG,GAAI,aAAa,MAAM,EAAE,SAAQ,MAAM,EAAO,KAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAM1D;IAEzB,SAAS,GAAI,OAAO,YAAY,KAAG,UAAU,CAAC,OAAO,CAAC,CACT;IAI7C,UAAU,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,UAAU,CAAC,CAMxE;IAEJ,MAAM,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAChC;IAE5C,SAAS,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,eAAe,CAAC,CAK/D;IAEJ,iBAAiB,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAWtF;CACF"}
@@ -1,8 +1,6 @@
1
1
  import { filter, spec } from "@welshman/lib";
2
- import { sortEventsAsc, sortEventsDesc } from "@welshman/util";
3
- import { deriveArray, deriveEventsAsc, deriveEventsByIdByUrl, deriveEventsByIdForUrl, deriveEventsById, deriveEventsDesc, deriveIsDeleted, getEventsByIdByUrl, getEventsByIdForUrl, getEventsById, makeDeriveEvent, } from "@welshman/store";
2
+ import { deriveArray, deriveEvents, deriveEventsAsc, deriveEventsByIdByUrl, deriveEventsByIdForUrl, deriveEventsById, deriveEventsDesc, deriveIsDeleted, makeDeriveEvent, projection, } from "@welshman/store";
4
3
  import { derived } from "svelte/store";
5
- import { projection } from "./base.js";
6
4
  import { Network } from "./network.js";
7
5
  import { Relays } from "./relays.js";
8
6
  /**
@@ -11,51 +9,39 @@ import { Relays } from "./relays.js";
11
9
  * with `.get()`, or subscribe to `.$` — so callers never build one from the
12
10
  * other, and never construct `{repository, tracker}` by hand.
13
11
  *
14
- * Each projection supplies its own getter that queries the repository/tracker
15
- * directly, rather than falling back to reading through the derived store. Those
16
- * queries are index-backed; standing a derived store up and tearing it down just
17
- * to read a value is not.
12
+ * Each view reads through a direct repository/tracker query rather than through
13
+ * its derived store. Those queries are index-backed; standing a derived store up
14
+ * and tearing it down just to read a value is not. `@welshman/store` pairs the
15
+ * two, so a view over a single store passes neither half.
18
16
  */
19
17
  export class Events {
20
18
  app;
21
19
  constructor(app) {
22
20
  this.app = app;
23
21
  }
24
- byId = (filters = [{}]) => {
25
- const options = { repository: this.app.repository, filters };
26
- return projection(deriveEventsById(options), () => getEventsById(options));
27
- };
28
- all = (filters = [{}]) => {
29
- const options = { repository: this.app.repository, filters };
30
- return projection(deriveArray(deriveEventsById(options)), () => Array.from(getEventsById(options).values()));
31
- };
32
- asc = (filters = [{}]) => {
33
- const options = { repository: this.app.repository, filters };
34
- return projection(deriveEventsAsc(deriveEventsById(options)), () => sortEventsAsc(getEventsById(options).values()));
35
- };
36
- desc = (filters = [{}]) => {
37
- const options = { repository: this.app.repository, filters };
38
- return projection(deriveEventsDesc(deriveEventsById(options)), () => sortEventsDesc(getEventsById(options).values()));
39
- };
40
- one = (idOrAddress, relays = []) => projection(makeDeriveEvent({
22
+ byId = (filters = [{}]) => deriveEventsById({ repository: this.app.repository, filters });
23
+ all = (filters = [{}]) => deriveEvents({ repository: this.app.repository, filters });
24
+ asc = (filters = [{}]) => deriveEventsAsc(this.byId(filters));
25
+ desc = (filters = [{}]) => deriveEventsDesc(this.byId(filters));
26
+ one = (idOrAddress, relays = []) => makeDeriveEvent({
41
27
  repository: this.app.repository,
42
28
  includeDeleted: true,
43
29
  onDerive: (filters, hints) => this.app.use(Network).loadLenient({ filters, relays: hints }),
44
- })(idOrAddress, relays), () => this.app.repository.getEvent(idOrAddress));
45
- isDeleted = (event) => projection(deriveIsDeleted(this.app.repository, event), () => this.app.repository.isDeleted(event));
30
+ })(idOrAddress, relays);
31
+ isDeleted = (event) => deriveIsDeleted(this.app.repository, event);
46
32
  // Scoped to one relay, via the tracker
47
- byIdForUrl = (url, filters = [{}]) => {
48
- const options = { url, filters, tracker: this.app.tracker, repository: this.app.repository };
49
- return projection(deriveEventsByIdForUrl(options), () => getEventsByIdForUrl(options));
50
- };
51
- forUrl = (url, filters = [{}]) => {
52
- const options = { url, filters, tracker: this.app.tracker, repository: this.app.repository };
53
- return projection(deriveArray(deriveEventsByIdForUrl(options)), () => Array.from(getEventsByIdForUrl(options).values()));
54
- };
55
- byIdByUrl = (filters = [{}]) => {
56
- const options = { filters, tracker: this.app.tracker, repository: this.app.repository };
57
- return projection(deriveEventsByIdByUrl(options), () => getEventsByIdByUrl(options));
58
- };
33
+ byIdForUrl = (url, filters = [{}]) => deriveEventsByIdForUrl({
34
+ url,
35
+ filters,
36
+ tracker: this.app.tracker,
37
+ repository: this.app.repository,
38
+ });
39
+ forUrl = (url, filters = [{}]) => deriveArray(this.byIdForUrl(url, filters));
40
+ byIdByUrl = (filters = [{}]) => deriveEventsByIdByUrl({
41
+ filters,
42
+ tracker: this.app.tracker,
43
+ repository: this.app.repository,
44
+ });
59
45
  relaySignedForUrl = (url, filters = [{}]) => {
60
46
  const forUrl = this.forUrl(url, filters);
61
47
  return projection(derived([this.app.use(Relays).one(url), forUrl.$], ([$relay, $events]) => filter(spec({ pubkey: $relay?.self }), $events)), () => filter(spec({ pubkey: this.app.use(Relays).get(url)?.self }), forUrl.get()));
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/plugins/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/plugins/events.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { FeedListReader, FeedListWriter } from "@welshman/domain";
2
2
  import { DerivedPlugin } from "./base.js";
3
- import type { Projection } from "./base.js";
3
+ import type { Projection } from "@welshman/store";
4
4
  import type { IApp } from "../app.js";
5
5
  /**
6
6
  * NIP-51 saved feeds lists (kind 10014), keyed by pubkey. Loaded via the outbox
@@ -1 +1 @@
1
- {"version":3,"file":"feedLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/feedLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,CAAC;gBAC9C,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CACK;IAEvD,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,8CACa;IAE3D,OAAO,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,8CACa;IAE3D,gBAAgB,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,8CACa;IAEpE,UAAU,GAAI,SAAS,MAAM,8CAAsD;CACpF"}
1
+ {"version":3,"file":"feedLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/feedLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAG/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,CAAC;gBAC9C,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CACK;IAEvD,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,8CACa;IAE3D,OAAO,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,8CACa;IAE3D,gBAAgB,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,8CACa;IAEpE,UAAU,GAAI,SAAS,MAAM,8CAAsD;CACpF"}
@@ -2,7 +2,7 @@ import { Scope, FeedController } from "@welshman/feeds";
2
2
  import type { FeedControllerOptions, Feed as FeedDefinition } from "@welshman/feeds";
3
3
  import { FeedReader, FeedWriter } from "@welshman/domain";
4
4
  import { DerivedPlugin } from "./base.js";
5
- import type { Projection } from "./base.js";
5
+ import type { Projection } from "@welshman/store";
6
6
  import type { IApp } from "../app.js";
7
7
  export type MakeFeedControllerOptions = Partial<Omit<FeedControllerOptions, "feed">> & {
8
8
  feed: FeedDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAC,qBAAqB,EAAE,IAAI,IAAI,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAGlF,OAAO,EAAO,UAAU,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,aAAa,EAAc,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAKzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,GAAG;IACrF,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,cAAc,CAAA;CAC3B,CAAA;AAED;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACtC,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAC0B;IAEhF,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACqB;IAE/E,MAAM,GAAU,QAAQ,UAAU,8CAQjC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,8CAUhE;IAED,kBAAkB,GAAI,OAAO,KAAK,KAAG,MAAM,EAAE,CAmB5C;IAED,qBAAqB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,EAAE,CAgB3D;IAED,kBAAkB,GAAI,SAAS,yBAAyB,oBAWpD;CACL"}
1
+ {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAC,qBAAqB,EAAE,IAAI,IAAI,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAGlF,OAAO,EAAO,UAAU,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAK/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,GAAG;IACrF,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,cAAc,CAAA;CAC3B,CAAA;AAED;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACtC,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAC0B;IAEhF,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACqB;IAE/E,MAAM,GAAU,QAAQ,UAAU,8CAQjC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,8CAUhE;IAED,kBAAkB,GAAI,OAAO,KAAK,KAAG,MAAM,EAAE,CAmB5C;IAED,qBAAqB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,EAAE,CAgB3D;IAED,kBAAkB,GAAI,SAAS,yBAAyB,oBAWpD;CACL"}
@@ -2,7 +2,8 @@ import { Scope, FeedController } from "@welshman/feeds";
2
2
  import { max as maxValue } from "@welshman/lib";
3
3
  import { Address, FEED } from "@welshman/util";
4
4
  import { Feed } from "@welshman/domain";
5
- import { DerivedPlugin, projectFrom } from "./base.js";
5
+ import { projectFrom } from "@welshman/store";
6
+ import { DerivedPlugin } from "./base.js";
6
7
  import { Network } from "./network.js";
7
8
  import { Router } from "./router.js";
8
9
  import { Domain } from "./domain.js";
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Maybe } from "@welshman/lib";
2
2
  import type { Handle } from "@welshman/util";
3
3
  import { LoadableMapPlugin } from "./base.js";
4
- import type { Projection } from "./base.js";
4
+ import type { Projection } from "@welshman/store";
5
5
  /**
6
6
  * NIP-05 handles, keyed by nip05 identifier. A "local" loadable collection:
7
7
  * items aren't nostr events, they're fetched over HTTP (either directly from
@@ -1 +1 @@
1
- {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/handles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAC,iBAAiB,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACpD,KAAK,mDAmCH;IAEF,aAAa,GAAU,QAAQ,MAAM,EAAE,SAAQ,MAAM,EAAO,4BAM3D;IAED,SAAS,GAAI,QAAQ,MAAM,EAAE,SAAQ,MAAM,EAAO,KAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAsB7E;IAED,OAAO,GAAI,OAAO,MAAM,YAAwB;CACjD"}
1
+ {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/handles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAG/C;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACpD,KAAK,mDAmCH;IAEF,aAAa,GAAU,QAAQ,MAAM,EAAE,SAAQ,MAAM,EAAO,4BAM3D;IAED,SAAS,GAAI,QAAQ,MAAM,EAAE,SAAQ,MAAM,EAAO,KAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAsB7E;IAED,OAAO,GAAI,OAAO,MAAM,YAAwB;CACjD"}