@welshman/app 0.1.2 → 0.2.1

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 (226) hide show
  1. package/dist/app/src/blossom.d.ts +4 -0
  2. package/dist/app/src/blossom.d.ts.map +1 -0
  3. package/dist/app/src/blossom.js +16 -0
  4. package/dist/app/src/blossom.js.map +1 -0
  5. package/dist/app/src/commands.d.ts +13 -42
  6. package/dist/app/src/commands.d.ts.map +1 -1
  7. package/dist/app/src/commands.js +13 -3
  8. package/dist/app/src/commands.js.map +1 -1
  9. package/dist/app/src/core.d.ts +0 -3
  10. package/dist/app/src/core.d.ts.map +1 -1
  11. package/dist/app/src/core.js +13 -31
  12. package/dist/app/src/core.js.map +1 -1
  13. package/dist/app/src/feeds.d.ts +3 -5
  14. package/dist/app/src/feeds.d.ts.map +1 -1
  15. package/dist/app/src/feeds.js +4 -55
  16. package/dist/app/src/feeds.js.map +1 -1
  17. package/dist/app/src/follows.d.ts.map +1 -1
  18. package/dist/app/src/follows.js +3 -4
  19. package/dist/app/src/follows.js.map +1 -1
  20. package/dist/app/src/handles.d.ts.map +1 -1
  21. package/dist/app/src/handles.js +4 -2
  22. package/dist/app/src/handles.js.map +1 -1
  23. package/dist/app/src/index.d.ts +2 -5
  24. package/dist/app/src/index.d.ts.map +1 -1
  25. package/dist/app/src/index.js +40 -5
  26. package/dist/app/src/index.js.map +1 -1
  27. package/dist/app/src/mutes.d.ts.map +1 -1
  28. package/dist/app/src/mutes.js +3 -4
  29. package/dist/app/src/mutes.js.map +1 -1
  30. package/dist/app/src/pins.d.ts.map +1 -1
  31. package/dist/app/src/pins.js +3 -4
  32. package/dist/app/src/pins.js.map +1 -1
  33. package/dist/app/src/profiles.d.ts +1 -1
  34. package/dist/app/src/profiles.d.ts.map +1 -1
  35. package/dist/app/src/profiles.js +5 -6
  36. package/dist/app/src/profiles.js.map +1 -1
  37. package/dist/app/src/relaySelections.d.ts +10 -5
  38. package/dist/app/src/relaySelections.d.ts.map +1 -1
  39. package/dist/app/src/relaySelections.js +31 -41
  40. package/dist/app/src/relaySelections.js.map +1 -1
  41. package/dist/app/src/relays.d.ts +1 -0
  42. package/dist/app/src/relays.d.ts.map +1 -1
  43. package/dist/app/src/relays.js +31 -4
  44. package/dist/app/src/relays.js.map +1 -1
  45. package/dist/app/src/search.d.ts.map +1 -1
  46. package/dist/app/src/search.js +1 -1
  47. package/dist/app/src/search.js.map +1 -1
  48. package/dist/app/src/session.d.ts +25 -7
  49. package/dist/app/src/session.d.ts.map +1 -1
  50. package/dist/app/src/session.js +50 -3
  51. package/dist/app/src/session.js.map +1 -1
  52. package/dist/app/src/storage.d.ts +1 -0
  53. package/dist/app/src/storage.d.ts.map +1 -1
  54. package/dist/app/src/storage.js +6 -1
  55. package/dist/app/src/storage.js.map +1 -1
  56. package/dist/app/src/storageAdapters.d.ts +88 -0
  57. package/dist/app/src/storageAdapters.d.ts.map +1 -0
  58. package/dist/app/src/storageAdapters.js +181 -0
  59. package/dist/app/src/storageAdapters.js.map +1 -0
  60. package/dist/app/src/sync.d.ts.map +1 -1
  61. package/dist/app/src/sync.js +7 -9
  62. package/dist/app/src/sync.js.map +1 -1
  63. package/dist/app/src/tags.js +1 -1
  64. package/dist/app/src/tags.js.map +1 -1
  65. package/dist/app/src/thunk.d.ts +38 -53
  66. package/dist/app/src/thunk.d.ts.map +1 -1
  67. package/dist/app/src/thunk.js +182 -132
  68. package/dist/app/src/thunk.js.map +1 -1
  69. package/dist/app/src/user.d.ts +13 -7
  70. package/dist/app/src/user.d.ts.map +1 -1
  71. package/dist/app/src/user.js +28 -28
  72. package/dist/app/src/user.js.map +1 -1
  73. package/dist/app/src/zappers.js +1 -1
  74. package/dist/dvm/src/handler.d.ts.map +1 -1
  75. package/dist/dvm/src/handler.js +9 -7
  76. package/dist/dvm/src/handler.js.map +1 -1
  77. package/dist/dvm/src/request.d.ts +6 -15
  78. package/dist/dvm/src/request.d.ts.map +1 -1
  79. package/dist/dvm/src/request.js +23 -23
  80. package/dist/dvm/src/request.js.map +1 -1
  81. package/dist/feeds/src/compiler.d.ts +15 -4
  82. package/dist/feeds/src/compiler.d.ts.map +1 -1
  83. package/dist/feeds/src/compiler.js +11 -6
  84. package/dist/feeds/src/compiler.js.map +1 -1
  85. package/dist/feeds/src/controller.d.ts +16 -9
  86. package/dist/feeds/src/controller.d.ts.map +1 -1
  87. package/dist/feeds/src/controller.js +36 -36
  88. package/dist/feeds/src/controller.js.map +1 -1
  89. package/dist/feeds/src/core.d.ts +1 -23
  90. package/dist/feeds/src/core.d.ts.map +1 -1
  91. package/dist/feeds/src/display.d.ts +21 -0
  92. package/dist/feeds/src/display.d.ts.map +1 -0
  93. package/dist/feeds/src/display.js +144 -0
  94. package/dist/feeds/src/display.js.map +1 -0
  95. package/dist/feeds/src/index.d.ts +2 -0
  96. package/dist/feeds/src/index.d.ts.map +1 -1
  97. package/dist/feeds/src/index.js +2 -0
  98. package/dist/feeds/src/index.js.map +1 -1
  99. package/dist/feeds/src/request.d.ts +22 -0
  100. package/dist/feeds/src/request.d.ts.map +1 -0
  101. package/dist/feeds/src/request.js +61 -0
  102. package/dist/feeds/src/request.js.map +1 -0
  103. package/dist/feeds/src/utils.d.ts +2 -1
  104. package/dist/feeds/src/utils.d.ts.map +1 -1
  105. package/dist/feeds/src/utils.js +50 -1
  106. package/dist/feeds/src/utils.js.map +1 -1
  107. package/dist/feeds/src/validate.d.ts +24 -0
  108. package/dist/feeds/src/validate.d.ts.map +1 -0
  109. package/dist/feeds/src/validate.js +137 -0
  110. package/dist/feeds/src/validate.js.map +1 -0
  111. package/dist/lib/src/TaskQueue.d.ts +2 -0
  112. package/dist/lib/src/TaskQueue.d.ts.map +1 -1
  113. package/dist/lib/src/TaskQueue.js +10 -0
  114. package/dist/lib/src/TaskQueue.js.map +1 -1
  115. package/dist/lib/src/Tools.d.ts +100 -3
  116. package/dist/lib/src/Tools.d.ts.map +1 -1
  117. package/dist/lib/src/Tools.js +169 -3
  118. package/dist/lib/src/Tools.js.map +1 -1
  119. package/dist/net/src/auth.d.ts +2 -1
  120. package/dist/net/src/auth.d.ts.map +1 -1
  121. package/dist/net/src/auth.js +16 -2
  122. package/dist/net/src/auth.js.map +1 -1
  123. package/dist/net/src/context.d.ts.map +1 -1
  124. package/dist/net/src/context.js +3 -3
  125. package/dist/net/src/context.js.map +1 -1
  126. package/dist/net/src/diff.d.ts.map +1 -1
  127. package/dist/net/src/diff.js +11 -12
  128. package/dist/net/src/diff.js.map +1 -1
  129. package/dist/net/src/policy.js +3 -3
  130. package/dist/net/src/policy.js.map +1 -1
  131. package/dist/net/src/pool.d.ts +1 -1
  132. package/dist/net/src/pool.d.ts.map +1 -1
  133. package/dist/net/src/pool.js +1 -1
  134. package/dist/net/src/pool.js.map +1 -1
  135. package/dist/net/src/publish.d.ts +29 -30
  136. package/dist/net/src/publish.d.ts.map +1 -1
  137. package/dist/net/src/publish.js +79 -108
  138. package/dist/net/src/publish.js.map +1 -1
  139. package/dist/net/src/request.d.ts +26 -60
  140. package/dist/net/src/request.d.ts.map +1 -1
  141. package/dist/net/src/request.js +170 -158
  142. package/dist/net/src/request.js.map +1 -1
  143. package/dist/net/src/tracker.d.ts.map +1 -1
  144. package/dist/net/src/tracker.js +4 -4
  145. package/dist/net/src/tracker.js.map +1 -1
  146. package/dist/relay/src/repository.d.ts +1 -1
  147. package/dist/relay/src/repository.d.ts.map +1 -1
  148. package/dist/relay/src/repository.js +1 -1
  149. package/dist/relay/src/repository.js.map +1 -1
  150. package/dist/signer/src/signers/nip46.d.ts +3 -3
  151. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  152. package/dist/signer/src/signers/nip46.js +26 -20
  153. package/dist/signer/src/signers/nip46.js.map +1 -1
  154. package/dist/store/src/collection.d.ts +32 -0
  155. package/dist/store/src/collection.d.ts.map +1 -0
  156. package/dist/{app → store}/src/collection.js +20 -8
  157. package/dist/store/src/collection.js.map +1 -0
  158. package/dist/store/src/custom.d.ts +10 -0
  159. package/dist/store/src/custom.d.ts.map +1 -0
  160. package/dist/store/src/custom.js +41 -0
  161. package/dist/store/src/custom.js.map +1 -0
  162. package/dist/store/src/getter.d.ts +11 -0
  163. package/dist/store/src/getter.d.ts.map +1 -0
  164. package/dist/store/src/getter.js +11 -0
  165. package/dist/store/src/getter.js.map +1 -0
  166. package/dist/store/src/index.d.ts +6 -34
  167. package/dist/store/src/index.d.ts.map +1 -1
  168. package/dist/store/src/index.js +6 -163
  169. package/dist/store/src/index.js.map +1 -1
  170. package/dist/store/src/repository.d.ts +16 -0
  171. package/dist/store/src/repository.d.ts.map +1 -0
  172. package/dist/store/src/repository.js +100 -0
  173. package/dist/store/src/repository.js.map +1 -0
  174. package/dist/store/src/synced.d.ts +2 -0
  175. package/dist/store/src/synced.d.ts.map +1 -0
  176. package/dist/store/src/synced.js +9 -0
  177. package/dist/store/src/synced.js.map +1 -0
  178. package/dist/store/src/throttle.d.ts +3 -0
  179. package/dist/store/src/throttle.d.ts.map +1 -0
  180. package/dist/store/src/throttle.js +9 -0
  181. package/dist/store/src/throttle.js.map +1 -0
  182. package/dist/tsconfig.build.tsbuildinfo +1 -1
  183. package/dist/util/src/Events.d.ts +1 -1
  184. package/dist/util/src/Events.d.ts.map +1 -1
  185. package/dist/util/src/Events.js +6 -5
  186. package/dist/util/src/Events.js.map +1 -1
  187. package/dist/util/src/Kinds.d.ts +3 -0
  188. package/dist/util/src/Kinds.d.ts.map +1 -1
  189. package/dist/util/src/Kinds.js +3 -0
  190. package/dist/util/src/Kinds.js.map +1 -1
  191. package/dist/util/src/List.d.ts +2 -0
  192. package/dist/util/src/List.d.ts.map +1 -1
  193. package/dist/util/src/List.js +10 -3
  194. package/dist/util/src/List.js.map +1 -1
  195. package/dist/util/src/Profile.d.ts +3 -10
  196. package/dist/util/src/Profile.d.ts.map +1 -1
  197. package/dist/util/src/Profile.js +1 -0
  198. package/dist/util/src/Profile.js.map +1 -1
  199. package/dist/util/src/Relay.d.ts +6 -0
  200. package/dist/util/src/Relay.d.ts.map +1 -1
  201. package/dist/util/src/Relay.js +9 -2
  202. package/dist/util/src/Relay.js.map +1 -1
  203. package/dist/util/src/Tags.d.ts +1 -0
  204. package/dist/util/src/Tags.d.ts.map +1 -1
  205. package/dist/util/src/Tags.js +2 -1
  206. package/dist/util/src/Tags.js.map +1 -1
  207. package/package.json +10 -9
  208. package/dist/app/src/adapters.d.ts +0 -33
  209. package/dist/app/src/adapters.d.ts.map +0 -1
  210. package/dist/app/src/adapters.js +0 -84
  211. package/dist/app/src/adapters.js.map +0 -1
  212. package/dist/app/src/collection.d.ts +0 -13
  213. package/dist/app/src/collection.d.ts.map +0 -1
  214. package/dist/app/src/collection.js.map +0 -1
  215. package/dist/app/src/freshness.d.ts +0 -11
  216. package/dist/app/src/freshness.d.ts.map +0 -1
  217. package/dist/app/src/freshness.js +0 -14
  218. package/dist/app/src/freshness.js.map +0 -1
  219. package/dist/app/src/router.d.ts +0 -199
  220. package/dist/app/src/router.d.ts.map +0 -1
  221. package/dist/app/src/router.js +0 -273
  222. package/dist/app/src/router.js.map +0 -1
  223. package/dist/app/src/util.d.ts +0 -13
  224. package/dist/app/src/util.d.ts.map +0 -1
  225. package/dist/app/src/util.js +0 -46
  226. package/dist/app/src/util.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import { now, uniq, displayList, formatTimestampAsDate, formatTimestampRelative } from "@welshman/lib";
2
+ import { FeedType, } from "./core.js";
3
+ import { getFeedArgs } from "./utils.js";
4
+ export const displayAddressFeed = (feed) => {
5
+ const n = getFeedArgs(feed).length;
6
+ return `${n} replaceable {n === 1 ? 'event' : 'events'}`;
7
+ };
8
+ export const displayAuthorFeed = (feed) => {
9
+ const n = getFeedArgs(feed).length;
10
+ return `from ${n} replaceable {n === 1 ? 'person' : 'people'}`;
11
+ };
12
+ export const displayCreatedAtFeed = (feed) => {
13
+ const items = getFeedArgs(feed);
14
+ const descriptions = [];
15
+ for (const { since, until, relative = [] } of items) {
16
+ const parts = [];
17
+ if (since) {
18
+ if (relative.includes("since")) {
19
+ parts.push(`after ${formatTimestampRelative(now() - since)}`);
20
+ }
21
+ else {
22
+ parts.push(`after ${formatTimestampAsDate(since)}`);
23
+ }
24
+ }
25
+ if (until) {
26
+ if (relative.includes("until")) {
27
+ parts.push(`before ${formatTimestampRelative(now() - until)}`);
28
+ }
29
+ else {
30
+ parts.push(`before ${formatTimestampAsDate(until)}`);
31
+ }
32
+ }
33
+ if (parts.length > 0) {
34
+ descriptions.push(parts.join(" and "));
35
+ }
36
+ }
37
+ if (descriptions.length === 0) {
38
+ return "from any time";
39
+ }
40
+ return displayList(descriptions, "or");
41
+ };
42
+ export const displayDVMFeed = (feed) => {
43
+ const items = getFeedArgs(feed);
44
+ const descriptions = [];
45
+ for (const { kind, tags = [], relays = [] } of items) {
46
+ const parts = [];
47
+ parts.push(`kind ${kind}`);
48
+ if (tags.length > 0) {
49
+ parts.push(`with ${tags.length} tag${tags.length === 1 ? "" : "s"}`);
50
+ }
51
+ if (relays.length > 0) {
52
+ parts.push(`from ${displayList(relays)}`);
53
+ }
54
+ descriptions.push(parts.join(" "));
55
+ }
56
+ return `from DVM requests of ${displayList(descriptions)}`;
57
+ };
58
+ export const displayDifferenceFeed = (feed) => {
59
+ const [base, ...excluded] = getFeedArgs(feed);
60
+ return `${displayFeed(base)}, excluding ${displayList(excluded.map(displayFeed))}`;
61
+ };
62
+ export const displayIDFeed = (feed) => `matching ${getFeedArgs(feed).length} IDs`;
63
+ export const displayIntersectionFeed = (feed) => displayList(getFeedArgs(feed).map(displayFeed));
64
+ export const displayGlobalFeed = (feed) => "anything";
65
+ export const displayKindFeed = (feed) => `of kind ${displayList(getFeedArgs(feed))}`;
66
+ export const displayListFeed = (feed) => {
67
+ const addresses = uniq(getFeedArgs(feed).flatMap(({ addresses }) => addresses));
68
+ return `from ${addresses.length} list${addresses.length === 1 ? "" : "s"}`;
69
+ };
70
+ export const displayLabelFeed = (feed) => {
71
+ const items = getFeedArgs(feed);
72
+ const descriptions = [];
73
+ for (const item of items) {
74
+ const parts = [];
75
+ if (item.authors?.length) {
76
+ parts.push(`by ${item.authors.length} author${item.authors.length === 1 ? "" : "s"}`);
77
+ }
78
+ const tags = Object.entries(item)
79
+ .filter(([key]) => key.startsWith("#"))
80
+ .map(([key, values]) => `${key}=${displayList(values)}`);
81
+ if (tags.length) {
82
+ parts.push(`with tags ${displayList(tags)}`);
83
+ }
84
+ if (item.relays?.length) {
85
+ parts.push(`from ${displayList(item.relays)}`);
86
+ }
87
+ descriptions.push(parts.join(" "));
88
+ }
89
+ return displayList(descriptions);
90
+ };
91
+ export const displayWOTFeed = (feed) => {
92
+ const descriptions = getFeedArgs(feed).map(({ min = 0, max = 1 }) => min === max ? `WOT score of ${min}` : `WOT score between ${min} and ${max}`);
93
+ return `from authors with ${displayList(descriptions)}`;
94
+ };
95
+ export const displayRelayFeed = (feed) => `from ${displayList(getFeedArgs(feed))}`;
96
+ export const displayScopeFeed = (feed) => `from ${displayList(getFeedArgs(feed).map(s => s.toLowerCase()))}`;
97
+ export const displaySearchFeed = (feed) => `matching ${displayList(getFeedArgs(feed).map(term => `"${term}"`))}`;
98
+ export const displayTagFeed = (feed) => {
99
+ const [key, ...values] = getFeedArgs(feed);
100
+ return `with ${key} tag matching ${displayList(values, "or")}`;
101
+ };
102
+ export const displayUnionFeed = (feed) => displayList(getFeedArgs(feed).map(displayFeed));
103
+ export const displayFeed = (feed) => {
104
+ switch (feed[0]) {
105
+ case FeedType.Address:
106
+ return displayAddressFeed(feed);
107
+ case FeedType.Author:
108
+ return displayAuthorFeed(feed);
109
+ case FeedType.CreatedAt:
110
+ return displayCreatedAtFeed(feed);
111
+ case FeedType.DVM:
112
+ return displayDVMFeed(feed);
113
+ case FeedType.Difference:
114
+ return displayDifferenceFeed(feed);
115
+ case FeedType.ID:
116
+ return displayIDFeed(feed);
117
+ case FeedType.Intersection:
118
+ return displayIntersectionFeed(feed);
119
+ case FeedType.Global:
120
+ return displayGlobalFeed(feed);
121
+ case FeedType.Kind:
122
+ return displayKindFeed(feed);
123
+ case FeedType.List:
124
+ return displayListFeed(feed);
125
+ case FeedType.Label:
126
+ return displayLabelFeed(feed);
127
+ case FeedType.WOT:
128
+ return displayWOTFeed(feed);
129
+ case FeedType.Relay:
130
+ return displayRelayFeed(feed);
131
+ case FeedType.Scope:
132
+ return displayScopeFeed(feed);
133
+ case FeedType.Search:
134
+ return displaySearchFeed(feed);
135
+ case FeedType.Tag:
136
+ return displayTagFeed(feed);
137
+ case FeedType.Union:
138
+ return displayUnionFeed(feed);
139
+ default:
140
+ return "[unknown feed type]";
141
+ }
142
+ };
143
+ export const displayFeeds = (feeds) => displayList(feeds.map(displayFeed));
144
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../feeds/src/display.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export * from "./core.js";
2
2
  export * from "./compiler.js";
3
3
  export * from "./controller.js";
4
+ export * from "./display.js";
4
5
  export * from "./utils.js";
6
+ export * from "./validate.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../feeds/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../feeds/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
@@ -1,5 +1,7 @@
1
1
  export * from "./core.js";
2
2
  export * from "./compiler.js";
3
3
  export * from "./controller.js";
4
+ export * from "./display.js";
4
5
  export * from "./utils.js";
6
+ export * from "./validate.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../feeds/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../feeds/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { Filter, TrustedEvent } from "@welshman/util";
2
+ import { ISigner } from "@welshman/signer";
3
+ import { Repository } from "@welshman/relay";
4
+ import { Tracker } from "@welshman/net";
5
+ export type RequestPageOptions = {
6
+ filters?: Filter[];
7
+ relays?: string[];
8
+ signal?: AbortSignal;
9
+ tracker?: Tracker;
10
+ repository?: Repository;
11
+ onEvent?: (event: TrustedEvent) => void;
12
+ };
13
+ export declare const requestPage: ({ filters, relays, onEvent, signal, repository, tracker, }: RequestPageOptions) => Promise<TrustedEvent[] | undefined>;
14
+ export type RequestDVMOptions = {
15
+ kind: number;
16
+ tags?: string[][];
17
+ relays?: string[];
18
+ signer?: ISigner;
19
+ onResult: (event: TrustedEvent) => void;
20
+ };
21
+ export declare const requestDVM: ({ kind, onResult, tags, relays, signer, }: RequestDVMOptions) => Promise<void>;
22
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../feeds/src/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAAsB,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAClF,OAAO,EAAc,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAA;AAG9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,4DAO/B,kBAAkB,wCA0CpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,UAAU,GAAU,2CAM9B,iBAAiB,kBA2BnB,CAAA"}
@@ -0,0 +1,61 @@
1
+ import { partition, now, nthEq, race } from "@welshman/lib";
2
+ import { makeEvent, getPubkeyTagValues } from "@welshman/util";
3
+ import { Nip01Signer } from "@welshman/signer";
4
+ import { Router, getFilterSelections, addMinimalFallbacks } from "@welshman/router";
5
+ import { Tracker, request } from "@welshman/net";
6
+ import { makeDvmRequest } from "@welshman/dvm";
7
+ export const requestPage = async ({ filters = [{}], relays = [], onEvent, signal, repository, tracker = new Tracker(), }) => {
8
+ if (relays.length > 0) {
9
+ return request({ tracker, signal, relays, filters, onEvent, autoClose: true });
10
+ }
11
+ const promises = [];
12
+ const [withSearch, withoutSearch] = partition(f => Boolean(f.search), filters);
13
+ if (withSearch.length > 0) {
14
+ promises.push(request({
15
+ signal,
16
+ tracker,
17
+ onEvent,
18
+ threshold: 0.1,
19
+ autoClose: true,
20
+ filters: withSearch,
21
+ relays: Router.get().Search().getUrls(),
22
+ }));
23
+ }
24
+ if (withoutSearch.length > 0) {
25
+ promises.push(...getFilterSelections(filters).flatMap(({ relays, filters }) => request({ tracker, signal, onEvent, relays, filters, threshold: 0.8, autoClose: true })));
26
+ }
27
+ // Break out selections by relay so we can complete early after a certain number
28
+ // of requests complete for faster load times
29
+ await race(withSearch.length > 0 ? 0.1 : 0.8, promises);
30
+ // Wait until after we've queried the network to access our local cache. This results in less
31
+ // snappy response times, but is necessary to prevent stale stuff that the user has already seen
32
+ // from showing up at the top of the feed
33
+ if (repository) {
34
+ for (const event of repository.query(filters)) {
35
+ onEvent?.(event);
36
+ }
37
+ }
38
+ };
39
+ export const requestDVM = async ({ kind, onResult, tags = [], relays = [], signer = Nip01Signer.ephemeral(), }) => {
40
+ if (relays.length === 0) {
41
+ relays = Router.get()
42
+ .FromPubkeys(getPubkeyTagValues(tags))
43
+ .policy(addMinimalFallbacks)
44
+ .getUrls();
45
+ }
46
+ if (!tags.some(nthEq(0, "expiration"))) {
47
+ tags.push(["expiration", String(now() + 60)]);
48
+ }
49
+ if (!tags.some(nthEq(0, "relays"))) {
50
+ tags.push(["relays", ...relays]);
51
+ }
52
+ if (!tags.some(nthEq(1, "user"))) {
53
+ tags.push(["param", "user", await signer.getPubkey()]);
54
+ }
55
+ if (!tags.some(nthEq(1, "max_results"))) {
56
+ tags.push(["param", "max_results", "200"]);
57
+ }
58
+ const event = await signer.sign(makeEvent(kind, { tags }));
59
+ await makeDvmRequest({ relays, event, onResult });
60
+ };
61
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../feeds/src/request.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Filter } from "@welshman/util";
1
+ import { Filter } from "@welshman/util";
2
2
  import { Feed, AddressFeed, AuthorFeed, CreatedAtFeed, DVMFeed, DifferenceFeed, IDFeed, IntersectionFeed, GlobalFeed, KindFeed, ListFeed, LabelFeed, WOTFeed, RelayFeed, ScopeFeed, SearchFeed, TagFeed, UnionFeed, TagFeedMapping, Scope, WOTItem, DVMItem, ListItem, LabelItem, CreatedAtItem } from "./core.js";
3
3
  export declare const makeAddressFeed: (...addresses: string[]) => AddressFeed;
4
4
  export declare const makeAuthorFeed: (...pubkeys: string[]) => AuthorFeed;
@@ -53,4 +53,5 @@ export declare const feedsFromFilter: ({ since, until, ...filter }: Filter) => (
53
53
  export declare const feedFromFilter: (filter: Filter) => IntersectionFeed;
54
54
  export declare const feedFromFilters: (filters: Filter[]) => UnionFeed;
55
55
  export declare const walkFeed: (feed: Feed, visit: (feed: Feed) => void) => void;
56
+ export declare const simplifyFeed: (feed: Feed) => Feed;
56
57
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../feeds/src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../feeds/src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ensureNumber } from "@welshman/lib";
2
+ import { unionFilters } from "@welshman/util";
2
3
  import { getTagValues } from "@welshman/util";
3
4
  import { FeedType, } from "./core.js";
4
5
  export const makeAddressFeed = (...addresses) => [
@@ -139,7 +140,7 @@ export const feedsFromFilter = ({ since, until, ...filter }) => {
139
140
  return feeds;
140
141
  };
141
142
  export const feedFromFilter = (filter) => makeIntersectionFeed(...feedsFromFilter(filter));
142
- export const feedFromFilters = (filters) => makeUnionFeed(...filters.map(filter => feedFromFilter(filter)));
143
+ export const feedFromFilters = (filters) => makeUnionFeed(...unionFilters(filters).map(filter => feedFromFilter(filter)));
143
144
  export const walkFeed = (feed, visit) => {
144
145
  visit(feed);
145
146
  if (hasSubFeeds(feed)) {
@@ -148,4 +149,52 @@ export const walkFeed = (feed, visit) => {
148
149
  }
149
150
  }
150
151
  };
152
+ export const simplifyFeed = (feed) => {
153
+ if (isUnionFeed(feed)) {
154
+ const args = getFeedArgs(feed);
155
+ if (args.length === 1)
156
+ return simplifyFeed(args[0]);
157
+ const modified = [];
158
+ for (let sub of args.map(simplifyFeed)) {
159
+ if (isUnionFeed(sub)) {
160
+ modified.push(...getFeedArgs(sub));
161
+ }
162
+ else {
163
+ modified.push(sub);
164
+ }
165
+ }
166
+ return makeUnionFeed(...modified);
167
+ }
168
+ if (isIntersectionFeed(feed)) {
169
+ const args = getFeedArgs(feed);
170
+ if (args.length === 1)
171
+ return simplifyFeed(args[0]);
172
+ const modified = [];
173
+ for (let sub of args.map(simplifyFeed)) {
174
+ if (isIntersectionFeed(sub)) {
175
+ modified.push(...getFeedArgs(sub));
176
+ }
177
+ else {
178
+ modified.push(sub);
179
+ }
180
+ }
181
+ return makeIntersectionFeed(...modified);
182
+ }
183
+ if (isDifferenceFeed(feed)) {
184
+ const args = getFeedArgs(feed);
185
+ if (args.length === 1)
186
+ return simplifyFeed(args[0]);
187
+ const modified = [];
188
+ for (let sub of args.map(simplifyFeed)) {
189
+ if (isDifferenceFeed(sub)) {
190
+ modified.push(...getFeedArgs(sub));
191
+ }
192
+ else {
193
+ modified.push(sub);
194
+ }
195
+ }
196
+ return makeDifferenceFeed(...modified);
197
+ }
198
+ return feed;
199
+ };
151
200
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../feeds/src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../feeds/src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import Trava from "trava";
2
+ declare const ValidationError: typeof Trava.ValidationError;
3
+ export { ValidationError };
4
+ export declare const validateTagFeedMapping: Trava.Validator;
5
+ export declare const validateFeedArgs: (validateArgument: Trava.Validator) => (feed: any) => any;
6
+ export declare const validateAddressFeed: (feed: any) => any;
7
+ export declare const validateAuthorFeed: (feed: any) => any;
8
+ export declare const validateCreatedAtFeed: (feed: any) => any;
9
+ export declare const validateDVMFeed: (feed: any) => any;
10
+ export declare const validateDifferenceFeed: (feed: any) => any;
11
+ export declare const validateIDFeed: (feed: any) => any;
12
+ export declare const validateIntersectionFeed: (feed: any) => any;
13
+ export declare const validateGlobalFeed: (feed: any) => any;
14
+ export declare const validateKindFeed: (feed: any) => any;
15
+ export declare const validateListFeed: (feed: any) => any;
16
+ export declare const validateLabelFeed: (feed: any) => any;
17
+ export declare const validateWOTFeed: (feed: any) => any;
18
+ export declare const validateRelayFeed: (feed: any) => any;
19
+ export declare const validateScopeFeed: (feed: any) => any;
20
+ export declare const validateSearchFeed: (feed: any) => any;
21
+ export declare const validateTagFeed: (feed: any) => any;
22
+ export declare const validateUnionFeed: (feed: any) => any;
23
+ export declare const validateFeed: (feed: any) => any;
24
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../feeds/src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,QAAA,MAAO,eAAe,8BAA+C,CAAA;AAqBrE,OAAO,EAAC,eAAe,EAAC,CAAA;AAExB,eAAO,MAAM,sBAAsB,iBAKjC,CAAA;AAEF,eAAO,MAAM,gBAAgB,GAAI,kBAAkB,KAAK,CAAC,SAAS,MAAM,MAAM,GAAG,QAUhF,CAAA;AAED,eAAO,MAAM,mBAAmB,SAZ8C,GAAG,QAYb,CAAA;AAEpE,eAAO,MAAM,kBAAkB,SAd+C,GAAG,QAclB,CAAA;AAE/D,eAAO,MAAM,qBAAqB,SAhB4C,GAAG,QAsBhF,CAAA;AAED,eAAO,MAAM,eAAe,SAxBkD,GAAG,QA+BhF,CAAA;AAED,eAAO,MAAM,sBAAsB,SAjC2C,GAAG,QAiCE,CAAA;AAEnF,eAAO,MAAM,cAAc,SAnCmD,GAAG,QAmCtB,CAAA;AAE3D,eAAO,MAAM,wBAAwB,SArCyC,GAAG,QAqCI,CAAA;AAErF,eAAO,MAAM,kBAAkB,SAvC+C,GAAG,QAuCF,CAAA;AAE/E,eAAO,MAAM,gBAAgB,SAzCiD,GAAG,QAyCjB,CAAA;AAEhE,eAAO,MAAM,gBAAgB,SA3CiD,GAAG,QAgDhF,CAAA;AAED,eAAO,MAAM,iBAAiB,SAlDgD,GAAG,QA+EhF,CAAA;AAED,eAAO,MAAM,eAAe,SAjFkD,GAAG,QAsFhF,CAAA;AAED,eAAO,MAAM,iBAAiB,SAxFgD,GAAG,QAwFjB,CAAA;AAEhE,eAAO,MAAM,iBAAiB,SA1FgD,GAAG,QA0FjB,CAAA;AAEhE,eAAO,MAAM,kBAAkB,SA5F+C,GAAG,QA4Ff,CAAA;AAElE,eAAO,MAAM,eAAe,SA9FkD,GAAG,QA8FlB,CAAA;AAE/D,eAAO,MAAM,iBAAiB,SAhGgD,GAAG,QAgGH,CAAA;AAE9E,eAAO,MAAM,YAAY,GAAI,MAAM,GAAG,QA0CrC,CAAA"}
@@ -0,0 +1,137 @@
1
+ import Trava from "trava";
2
+ import { spec, isPojo } from "@welshman/lib";
3
+ import { isRelayUrl, Address } from "@welshman/util";
4
+ import { Scope, FeedType } from "./core.js";
5
+ import { getFeedArgs } from "./utils.js";
6
+ const { ValidationError, Compose, Check, Each, Optional, Keys } = Trava;
7
+ const validateNumber = Check((x) => typeof x === "number", "Value must be a number");
8
+ const validateString = Check((x) => typeof x === "string", "Value must be a string");
9
+ const validateRelay = Check((x) => typeof x === "string" && isRelayUrl(x), "Invalid relay url");
10
+ const validateScope = Check((x) => Object.values(Scope).includes(x), "Invalid scope");
11
+ const validateHex = Check((x) => typeof x === "string" && x.length === 64, "Invalid hex value");
12
+ const validateAddress = Check((x) => typeof x === "string" && Address.isAddress(x), "Invalid address");
13
+ const validateArray = Check((x) => Array.isArray(x), "Value must be an array");
14
+ const validateObject = Check((x) => isPojo(x), "Value must be an object");
15
+ export { ValidationError };
16
+ export const validateTagFeedMapping = Compose([
17
+ validateArray,
18
+ Check(spec({ length: 2 }), "Tag feed mappings must have two entries"),
19
+ (a) => validateString(a[0]),
20
+ (a) => validateFeed(a[1]),
21
+ ]);
22
+ export const validateFeedArgs = (validateArgument) => (feed) => {
23
+ let error = validateArray(feed);
24
+ if (error instanceof ValidationError)
25
+ return error;
26
+ for (const argument of getFeedArgs(feed)) {
27
+ error = validateArgument(argument);
28
+ if (error instanceof ValidationError)
29
+ return error;
30
+ }
31
+ return feed;
32
+ };
33
+ export const validateAddressFeed = validateFeedArgs(validateAddress);
34
+ export const validateAuthorFeed = validateFeedArgs(validateHex);
35
+ export const validateCreatedAtFeed = validateFeedArgs(Keys({
36
+ since: Optional(validateNumber),
37
+ until: Optional(validateNumber),
38
+ relative: Optional(Each(validateString)),
39
+ }));
40
+ export const validateDVMFeed = validateFeedArgs(Keys({
41
+ kind: validateNumber,
42
+ tags: Optional(Each(validateString)),
43
+ relays: Optional(Each(validateString)),
44
+ mappings: Optional(Each(validateTagFeedMapping)),
45
+ }));
46
+ export const validateDifferenceFeed = validateFeedArgs((x) => validateFeed(x));
47
+ export const validateIDFeed = validateFeedArgs(validateHex);
48
+ export const validateIntersectionFeed = validateFeedArgs((x) => validateFeed(x));
49
+ export const validateGlobalFeed = validateFeedArgs((x) => validateFeed(x));
50
+ export const validateKindFeed = validateFeedArgs(validateNumber);
51
+ export const validateListFeed = validateFeedArgs(Keys({
52
+ addresses: Optional(Each(validateString)),
53
+ mappings: Optional(Each(validateTagFeedMapping)),
54
+ }));
55
+ export const validateLabelFeed = validateFeedArgs(Compose([
56
+ validateObject,
57
+ (item) => {
58
+ const validateRelays = Each(validateRelay);
59
+ const validateAuthors = Each(validateHex);
60
+ const validateStrings = Each(validateString);
61
+ const validateMappings = Each(validateTagFeedMapping);
62
+ for (const [key, value] of Object.entries(item)) {
63
+ let error;
64
+ if (key === "relays") {
65
+ error = validateRelays(value);
66
+ }
67
+ else if (key === "authors") {
68
+ error = validateAuthors(value);
69
+ }
70
+ else if (key === "mappings") {
71
+ error = validateMappings(value);
72
+ }
73
+ else if (key.match("^#.$")) {
74
+ error = validateStrings(value);
75
+ }
76
+ else {
77
+ error = new ValidationError("Invalid label item");
78
+ }
79
+ if (error instanceof ValidationError)
80
+ return error;
81
+ }
82
+ return item;
83
+ },
84
+ ]));
85
+ export const validateWOTFeed = validateFeedArgs(Keys({
86
+ min: Optional(validateNumber),
87
+ max: Optional(validateNumber),
88
+ }));
89
+ export const validateRelayFeed = validateFeedArgs(validateRelay);
90
+ export const validateScopeFeed = validateFeedArgs(validateScope);
91
+ export const validateSearchFeed = validateFeedArgs(validateString);
92
+ export const validateTagFeed = validateFeedArgs(validateString);
93
+ export const validateUnionFeed = validateFeedArgs((x) => validateFeed(x));
94
+ export const validateFeed = (feed) => {
95
+ const error = validateArray(feed);
96
+ if (error instanceof ValidationError)
97
+ return error;
98
+ switch (feed[0]) {
99
+ case FeedType.Address:
100
+ return validateAddressFeed(feed);
101
+ case FeedType.Author:
102
+ return validateAuthorFeed(feed);
103
+ case FeedType.CreatedAt:
104
+ return validateCreatedAtFeed(feed);
105
+ case FeedType.DVM:
106
+ return validateDVMFeed(feed);
107
+ case FeedType.Difference:
108
+ return validateDifferenceFeed(feed);
109
+ case FeedType.ID:
110
+ return validateIDFeed(feed);
111
+ case FeedType.Intersection:
112
+ return validateIntersectionFeed(feed);
113
+ case FeedType.Global:
114
+ return validateGlobalFeed(feed);
115
+ case FeedType.Kind:
116
+ return validateKindFeed(feed);
117
+ case FeedType.List:
118
+ return validateListFeed(feed);
119
+ case FeedType.Label:
120
+ return validateLabelFeed(feed);
121
+ case FeedType.WOT:
122
+ return validateWOTFeed(feed);
123
+ case FeedType.Relay:
124
+ return validateRelayFeed(feed);
125
+ case FeedType.Scope:
126
+ return validateScopeFeed(feed);
127
+ case FeedType.Search:
128
+ return validateSearchFeed(feed);
129
+ case FeedType.Tag:
130
+ return validateTagFeed(feed);
131
+ case FeedType.Union:
132
+ return validateUnionFeed(feed);
133
+ default:
134
+ return new ValidationError("Unknown feed type");
135
+ }
136
+ };
137
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../feeds/src/validate.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@ export type TaskQueueOptions<Item> = {
4
4
  };
5
5
  export declare class TaskQueue<Item> {
6
6
  readonly options: TaskQueueOptions<Item>;
7
+ _subs: ((item: Item) => void)[];
7
8
  items: Item[];
8
9
  isPaused: boolean;
9
10
  isProcessing: boolean;
10
11
  constructor(options: TaskQueueOptions<Item>);
11
12
  push(item: Item): void;
12
13
  remove(item: Item): void;
14
+ subscribe(subscriber: (item: Item) => void): () => void;
13
15
  process(): Promise<void>;
14
16
  stop(): void;
15
17
  start(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;CACrC,CAAA;AAED,qBAAa,SAAS,CAAC,IAAI;IAKb,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAJpD,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,QAAQ,UAAQ;IAChB,YAAY,UAAQ;gBAEC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAEpD,IAAI,CAAC,IAAI,EAAE,IAAI;IAKf,MAAM,CAAC,IAAI,EAAE,IAAI;IAIX,OAAO;IAwBb,IAAI;IAIJ,KAAK;IAKL,KAAK;CAGN"}
1
+ {"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;CACrC,CAAA;AAED,qBAAa,SAAS,CAAC,IAAI;IAMb,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IALpD,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAK;IACpC,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,QAAQ,UAAQ;IAChB,YAAY,UAAQ;gBAEC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAEpD,IAAI,CAAC,IAAI,EAAE,IAAI;IAKf,MAAM,CAAC,IAAI,EAAE,IAAI;IAIjB,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAQpC,OAAO;IA4Bb,IAAI;IAIJ,KAAK;IAKL,KAAK;CAGN"}