@welshman/app 0.1.1 → 0.1.2

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 (364) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app/src/adapters.d.ts +33 -0
  3. package/dist/app/src/adapters.d.ts.map +1 -0
  4. package/dist/app/src/adapters.js +84 -0
  5. package/dist/app/src/adapters.js.map +1 -0
  6. package/dist/app/src/collection.d.ts +13 -0
  7. package/dist/app/src/collection.d.ts.map +1 -0
  8. package/{build → dist/app}/src/collection.js +16 -6
  9. package/dist/app/src/collection.js.map +1 -0
  10. package/{build → dist/app}/src/commands.d.ts +1 -0
  11. package/dist/app/src/commands.d.ts.map +1 -0
  12. package/{build → dist/app}/src/commands.js +13 -7
  13. package/dist/app/src/commands.js.map +1 -0
  14. package/{build → dist/app}/src/context.d.ts +1 -0
  15. package/dist/app/src/context.d.ts.map +1 -0
  16. package/dist/app/src/context.js.map +1 -0
  17. package/{build → dist/app}/src/core.d.ts +3 -1
  18. package/dist/app/src/core.d.ts.map +1 -0
  19. package/{build → dist/app}/src/core.js +2 -1
  20. package/dist/app/src/core.js.map +1 -0
  21. package/{build → dist/app}/src/feeds.d.ts +1 -0
  22. package/dist/app/src/feeds.d.ts.map +1 -0
  23. package/{build → dist/app}/src/feeds.js +3 -4
  24. package/dist/app/src/feeds.js.map +1 -0
  25. package/dist/app/src/follows.d.ts +4 -0
  26. package/dist/app/src/follows.d.ts.map +1 -0
  27. package/{build → dist/app}/src/follows.js +2 -9
  28. package/dist/app/src/follows.js.map +1 -0
  29. package/{build → dist/app}/src/freshness.d.ts +1 -0
  30. package/dist/app/src/freshness.d.ts.map +1 -0
  31. package/dist/app/src/freshness.js.map +1 -0
  32. package/{build → dist/app}/src/handles.d.ts +3 -3
  33. package/dist/app/src/handles.d.ts.map +1 -0
  34. package/{build → dist/app}/src/handles.js +2 -2
  35. package/dist/app/src/handles.js.map +1 -0
  36. package/{build → dist/app}/src/index.d.ts +2 -0
  37. package/dist/app/src/index.d.ts.map +1 -0
  38. package/{build → dist/app}/src/index.js +1 -0
  39. package/dist/app/src/index.js.map +1 -0
  40. package/dist/app/src/mutes.d.ts +4 -0
  41. package/dist/app/src/mutes.d.ts.map +1 -0
  42. package/{build → dist/app}/src/mutes.js +2 -9
  43. package/dist/app/src/mutes.js.map +1 -0
  44. package/dist/app/src/pins.d.ts +4 -0
  45. package/dist/app/src/pins.d.ts.map +1 -0
  46. package/{build → dist/app}/src/pins.js +2 -9
  47. package/dist/app/src/pins.js.map +1 -0
  48. package/{build → dist/app}/src/plaintext.d.ts +1 -0
  49. package/dist/app/src/plaintext.d.ts.map +1 -0
  50. package/dist/app/src/plaintext.js.map +1 -0
  51. package/{build → dist/app}/src/profiles.d.ts +2 -2
  52. package/dist/app/src/profiles.d.ts.map +1 -0
  53. package/{build → dist/app}/src/profiles.js +2 -10
  54. package/dist/app/src/profiles.js.map +1 -0
  55. package/dist/app/src/relaySelections.d.ts +10 -0
  56. package/dist/app/src/relaySelections.d.ts.map +1 -0
  57. package/{build → dist/app}/src/relaySelections.js +23 -11
  58. package/dist/app/src/relaySelections.js.map +1 -0
  59. package/{build → dist/app}/src/relays.d.ts +2 -1
  60. package/dist/app/src/relays.d.ts.map +1 -0
  61. package/{build → dist/app}/src/relays.js +10 -10
  62. package/dist/app/src/relays.js.map +1 -0
  63. package/{build → dist/app}/src/router.d.ts +8 -6
  64. package/dist/app/src/router.d.ts.map +1 -0
  65. package/{build → dist/app}/src/router.js +19 -18
  66. package/dist/app/src/router.js.map +1 -0
  67. package/{build → dist/app}/src/search.d.ts +1 -0
  68. package/dist/app/src/search.d.ts.map +1 -0
  69. package/dist/app/src/search.js.map +1 -0
  70. package/{build → dist/app}/src/session.d.ts +1 -0
  71. package/dist/app/src/session.d.ts.map +1 -0
  72. package/dist/app/src/session.js.map +1 -0
  73. package/dist/app/src/storage.d.ts +21 -0
  74. package/dist/app/src/storage.d.ts.map +1 -0
  75. package/dist/app/src/storage.js +75 -0
  76. package/dist/app/src/storage.js.map +1 -0
  77. package/{build → dist/app}/src/sync.d.ts +1 -0
  78. package/dist/app/src/sync.d.ts.map +1 -0
  79. package/dist/app/src/sync.js.map +1 -0
  80. package/{build → dist/app}/src/tags.d.ts +1 -0
  81. package/dist/app/src/tags.d.ts.map +1 -0
  82. package/{build → dist/app}/src/tags.js +10 -10
  83. package/dist/app/src/tags.js.map +1 -0
  84. package/{build → dist/app}/src/thunk.d.ts +2 -0
  85. package/dist/app/src/thunk.d.ts.map +1 -0
  86. package/{build → dist/app}/src/thunk.js +7 -1
  87. package/dist/app/src/thunk.js.map +1 -0
  88. package/{build → dist/app}/src/topics.d.ts +1 -0
  89. package/dist/app/src/topics.d.ts.map +1 -0
  90. package/dist/app/src/topics.js.map +1 -0
  91. package/{build → dist/app}/src/user.d.ts +1 -0
  92. package/dist/app/src/user.d.ts.map +1 -0
  93. package/dist/app/src/user.js.map +1 -0
  94. package/{build → dist/app}/src/util.d.ts +1 -0
  95. package/dist/app/src/util.d.ts.map +1 -0
  96. package/dist/app/src/util.js.map +1 -0
  97. package/{build → dist/app}/src/wot.d.ts +1 -0
  98. package/dist/app/src/wot.d.ts.map +1 -0
  99. package/dist/app/src/wot.js.map +1 -0
  100. package/dist/app/src/zappers.d.ts +6 -0
  101. package/dist/app/src/zappers.d.ts.map +1 -0
  102. package/{build → dist/app}/src/zappers.js +2 -2
  103. package/dist/app/src/zappers.js.map +1 -0
  104. package/dist/dvm/src/handler.d.ts +30 -0
  105. package/dist/dvm/src/handler.d.ts.map +1 -0
  106. package/dist/dvm/src/handler.js +82 -0
  107. package/dist/dvm/src/handler.js.map +1 -0
  108. package/dist/dvm/src/index.d.ts +3 -0
  109. package/dist/dvm/src/index.d.ts.map +1 -0
  110. package/dist/dvm/src/index.js +3 -0
  111. package/dist/dvm/src/index.js.map +1 -0
  112. package/dist/dvm/src/request.d.ts +23 -0
  113. package/dist/dvm/src/request.d.ts.map +1 -0
  114. package/dist/dvm/src/request.js +29 -0
  115. package/dist/dvm/src/request.js.map +1 -0
  116. package/dist/feeds/src/compiler.d.ts +38 -0
  117. package/dist/feeds/src/compiler.d.ts.map +1 -0
  118. package/dist/feeds/src/compiler.js +241 -0
  119. package/dist/feeds/src/compiler.js.map +1 -0
  120. package/dist/feeds/src/controller.d.ts +16 -0
  121. package/dist/feeds/src/controller.d.ts.map +1 -0
  122. package/dist/feeds/src/controller.js +213 -0
  123. package/dist/feeds/src/controller.js.map +1 -0
  124. package/dist/feeds/src/core.d.ts +98 -0
  125. package/dist/feeds/src/core.d.ts.map +1 -0
  126. package/dist/feeds/src/core.js +28 -0
  127. package/dist/feeds/src/core.js.map +1 -0
  128. package/dist/feeds/src/index.d.ts +5 -0
  129. package/dist/feeds/src/index.d.ts.map +1 -0
  130. package/dist/feeds/src/index.js +5 -0
  131. package/dist/feeds/src/index.js.map +1 -0
  132. package/dist/feeds/src/utils.d.ts +56 -0
  133. package/dist/feeds/src/utils.d.ts.map +1 -0
  134. package/dist/feeds/src/utils.js +151 -0
  135. package/dist/feeds/src/utils.js.map +1 -0
  136. package/dist/lib/src/Deferred.d.ts +21 -0
  137. package/dist/lib/src/Deferred.d.ts.map +1 -0
  138. package/dist/lib/src/Deferred.js +21 -0
  139. package/dist/lib/src/Deferred.js.map +1 -0
  140. package/dist/lib/src/Emitter.d.ts +14 -0
  141. package/dist/lib/src/Emitter.d.ts.map +1 -0
  142. package/dist/lib/src/Emitter.js +18 -0
  143. package/dist/lib/src/Emitter.js.map +1 -0
  144. package/dist/lib/src/LRUCache.d.ts +42 -0
  145. package/dist/lib/src/LRUCache.d.ts.map +1 -0
  146. package/dist/lib/src/LRUCache.js +62 -0
  147. package/dist/lib/src/LRUCache.js.map +1 -0
  148. package/dist/lib/src/TaskQueue.d.ts +18 -0
  149. package/dist/lib/src/TaskQueue.d.ts.map +1 -0
  150. package/dist/lib/src/TaskQueue.js +47 -0
  151. package/dist/lib/src/TaskQueue.js.map +1 -0
  152. package/dist/lib/src/Tools.d.ts +630 -0
  153. package/dist/lib/src/Tools.d.ts.map +1 -0
  154. package/dist/lib/src/Tools.js +1061 -0
  155. package/dist/lib/src/Tools.js.map +1 -0
  156. package/dist/lib/src/index.d.ts +7 -0
  157. package/dist/lib/src/index.d.ts.map +1 -0
  158. package/dist/lib/src/index.js +7 -0
  159. package/dist/lib/src/index.js.map +1 -0
  160. package/dist/lib/src/normalize-url/index.d.ts +286 -0
  161. package/dist/lib/src/normalize-url/index.d.ts.map +1 -0
  162. package/dist/lib/src/normalize-url/index.js +252 -0
  163. package/dist/lib/src/normalize-url/index.js.map +1 -0
  164. package/dist/net/src/adapter.d.ts +44 -0
  165. package/dist/net/src/adapter.d.ts.map +1 -0
  166. package/dist/net/src/adapter.js +91 -0
  167. package/dist/net/src/adapter.js.map +1 -0
  168. package/dist/net/src/auth.d.ts +42 -0
  169. package/dist/net/src/auth.d.ts.map +1 -0
  170. package/dist/net/src/auth.js +100 -0
  171. package/dist/net/src/auth.js.map +1 -0
  172. package/dist/net/src/context.d.ts +13 -0
  173. package/dist/net/src/context.d.ts.map +1 -0
  174. package/dist/net/src/context.js +10 -0
  175. package/dist/net/src/context.js.map +1 -0
  176. package/dist/net/src/diff.d.ts +54 -0
  177. package/dist/net/src/diff.d.ts.map +1 -0
  178. package/dist/net/src/diff.js +147 -0
  179. package/dist/net/src/diff.js.map +1 -0
  180. package/dist/net/src/index.d.ts +13 -0
  181. package/dist/net/src/index.d.ts.map +1 -0
  182. package/dist/net/src/index.js +13 -0
  183. package/dist/net/src/index.js.map +1 -0
  184. package/dist/net/src/message.d.ts +60 -0
  185. package/dist/net/src/message.d.ts.map +1 -0
  186. package/dist/net/src/message.js +35 -0
  187. package/dist/net/src/message.js.map +1 -0
  188. package/dist/net/src/negentropy.d.ts +48 -0
  189. package/dist/net/src/negentropy.d.ts.map +1 -0
  190. package/dist/net/src/negentropy.js +536 -0
  191. package/dist/net/src/negentropy.js.map +1 -0
  192. package/dist/net/src/policy.d.ts +40 -0
  193. package/dist/net/src/policy.d.ts.map +1 -0
  194. package/dist/net/src/policy.js +180 -0
  195. package/dist/net/src/policy.js.map +1 -0
  196. package/dist/net/src/pool.d.ts +21 -0
  197. package/dist/net/src/pool.d.ts.map +1 -0
  198. package/dist/net/src/pool.js +67 -0
  199. package/dist/net/src/pool.js.map +1 -0
  200. package/dist/net/src/publish.d.ts +45 -0
  201. package/dist/net/src/publish.d.ts.map +1 -0
  202. package/dist/net/src/publish.js +125 -0
  203. package/dist/net/src/publish.js.map +1 -0
  204. package/dist/net/src/request.d.ts +89 -0
  205. package/dist/net/src/request.d.ts.map +1 -0
  206. package/dist/net/src/request.js +200 -0
  207. package/dist/net/src/request.js.map +1 -0
  208. package/dist/net/src/socket.d.ts +43 -0
  209. package/dist/net/src/socket.d.ts.map +1 -0
  210. package/dist/net/src/socket.js +115 -0
  211. package/dist/net/src/socket.js.map +1 -0
  212. package/dist/net/src/tracker.d.ts +16 -0
  213. package/dist/net/src/tracker.d.ts.map +1 -0
  214. package/dist/net/src/tracker.js +63 -0
  215. package/dist/net/src/tracker.js.map +1 -0
  216. package/dist/net/src/util.d.ts +2 -0
  217. package/dist/net/src/util.d.ts.map +1 -0
  218. package/dist/net/src/util.js +2 -0
  219. package/dist/net/src/util.js.map +1 -0
  220. package/dist/relay/src/index.d.ts +3 -0
  221. package/dist/relay/src/index.d.ts.map +1 -0
  222. package/dist/relay/src/index.js +3 -0
  223. package/dist/relay/src/index.js.map +1 -0
  224. package/dist/relay/src/relay.d.ts +13 -0
  225. package/dist/relay/src/relay.d.ts.map +1 -0
  226. package/dist/relay/src/relay.js +48 -0
  227. package/dist/relay/src/relay.js.map +1 -0
  228. package/dist/relay/src/repository.d.ts +63 -0
  229. package/dist/relay/src/repository.d.ts.map +1 -0
  230. package/dist/relay/src/repository.js +270 -0
  231. package/dist/relay/src/repository.js.map +1 -0
  232. package/dist/signer/src/index.d.ts +7 -0
  233. package/dist/signer/src/index.d.ts.map +1 -0
  234. package/dist/signer/src/index.js +7 -0
  235. package/dist/signer/src/index.js.map +1 -0
  236. package/dist/signer/src/nip59.d.ts +27 -0
  237. package/dist/signer/src/nip59.d.ts.map +1 -0
  238. package/dist/signer/src/nip59.js +68 -0
  239. package/dist/signer/src/nip59.js.map +1 -0
  240. package/dist/signer/src/signers/nip01.d.ts +28 -0
  241. package/dist/signer/src/signers/nip01.d.ts.map +1 -0
  242. package/dist/signer/src/signers/nip01.js +22 -0
  243. package/dist/signer/src/signers/nip01.js.map +1 -0
  244. package/dist/signer/src/signers/nip07.d.ts +23 -0
  245. package/dist/signer/src/signers/nip07.d.ts.map +1 -0
  246. package/dist/signer/src/signers/nip07.js +30 -0
  247. package/dist/signer/src/signers/nip07.js.map +1 -0
  248. package/dist/signer/src/signers/nip46.d.ts +108 -0
  249. package/dist/signer/src/signers/nip46.d.ts.map +1 -0
  250. package/dist/signer/src/signers/nip46.js +343 -0
  251. package/dist/signer/src/signers/nip46.js.map +1 -0
  252. package/dist/signer/src/signers/nip55.d.ts +19 -0
  253. package/dist/signer/src/signers/nip55.d.ts.map +1 -0
  254. package/dist/signer/src/signers/nip55.js +134 -0
  255. package/dist/signer/src/signers/nip55.js.map +1 -0
  256. package/dist/signer/src/util.d.ts +65 -0
  257. package/dist/signer/src/util.d.ts.map +1 -0
  258. package/dist/signer/src/util.js +32 -0
  259. package/dist/signer/src/util.js.map +1 -0
  260. package/dist/store/src/index.d.ts +35 -0
  261. package/dist/store/src/index.d.ts.map +1 -0
  262. package/dist/store/src/index.js +164 -0
  263. package/dist/store/src/index.js.map +1 -0
  264. package/dist/tsconfig.build.tsbuildinfo +1 -0
  265. package/dist/util/src/Address.d.ts +21 -0
  266. package/dist/util/src/Address.d.ts.map +1 -0
  267. package/dist/util/src/Address.js +43 -0
  268. package/dist/util/src/Address.js.map +1 -0
  269. package/dist/util/src/Encryptable.d.ts +34 -0
  270. package/dist/util/src/Encryptable.d.ts.map +1 -0
  271. package/dist/util/src/Encryptable.js +52 -0
  272. package/dist/util/src/Encryptable.js.map +1 -0
  273. package/dist/util/src/Events.d.ts +77 -0
  274. package/dist/util/src/Events.d.ts.map +1 -0
  275. package/dist/util/src/Events.js +62 -0
  276. package/dist/util/src/Events.js.map +1 -0
  277. package/dist/util/src/Filters.d.ts +48 -0
  278. package/dist/util/src/Filters.d.ts.map +1 -0
  279. package/dist/util/src/Filters.js +185 -0
  280. package/dist/util/src/Filters.js.map +1 -0
  281. package/dist/util/src/Handler.d.ts +17 -0
  282. package/dist/util/src/Handler.d.ts.map +1 -0
  283. package/dist/util/src/Handler.js +33 -0
  284. package/dist/util/src/Handler.js.map +1 -0
  285. package/dist/util/src/Kinds.d.ts +159 -0
  286. package/dist/util/src/Kinds.d.ts.map +1 -0
  287. package/dist/util/src/Kinds.js +160 -0
  288. package/dist/util/src/Kinds.js.map +1 -0
  289. package/dist/util/src/Links.d.ts +3 -0
  290. package/dist/util/src/Links.d.ts.map +1 -0
  291. package/dist/util/src/Links.js +3 -0
  292. package/dist/util/src/Links.js.map +1 -0
  293. package/dist/util/src/List.d.ts +32 -0
  294. package/dist/util/src/List.d.ts.map +1 -0
  295. package/dist/util/src/List.js +67 -0
  296. package/dist/util/src/List.js.map +1 -0
  297. package/dist/util/src/Profile.d.ts +33 -0
  298. package/dist/util/src/Profile.d.ts.map +1 -0
  299. package/dist/util/src/Profile.js +49 -0
  300. package/dist/util/src/Profile.js.map +1 -0
  301. package/dist/util/src/Relay.d.ts +26 -0
  302. package/dist/util/src/Relay.d.ts.map +1 -0
  303. package/dist/util/src/Relay.js +42 -0
  304. package/dist/util/src/Relay.js.map +1 -0
  305. package/dist/util/src/Tags.d.ts +32 -0
  306. package/dist/util/src/Tags.d.ts.map +1 -0
  307. package/dist/util/src/Tags.js +74 -0
  308. package/dist/util/src/Tags.js.map +1 -0
  309. package/dist/util/src/Zaps.d.ts +20 -0
  310. package/dist/util/src/Zaps.d.ts.map +1 -0
  311. package/dist/util/src/Zaps.js +93 -0
  312. package/dist/util/src/Zaps.js.map +1 -0
  313. package/dist/util/src/index.d.ts +13 -0
  314. package/dist/util/src/index.d.ts.map +1 -0
  315. package/dist/util/src/index.js +13 -0
  316. package/dist/util/src/index.js.map +1 -0
  317. package/package.json +23 -26
  318. package/README.md +0 -73
  319. package/build/src/collection.d.ts +0 -12
  320. package/build/src/collection.js.map +0 -1
  321. package/build/src/commands.js.map +0 -1
  322. package/build/src/context.js.map +0 -1
  323. package/build/src/core.js.map +0 -1
  324. package/build/src/feeds.js.map +0 -1
  325. package/build/src/follows.d.ts +0 -4
  326. package/build/src/follows.js.map +0 -1
  327. package/build/src/freshness.js.map +0 -1
  328. package/build/src/handles.js.map +0 -1
  329. package/build/src/index.js.map +0 -1
  330. package/build/src/mutes.d.ts +0 -4
  331. package/build/src/mutes.js.map +0 -1
  332. package/build/src/pins.d.ts +0 -4
  333. package/build/src/pins.js.map +0 -1
  334. package/build/src/plaintext.js.map +0 -1
  335. package/build/src/profiles.js.map +0 -1
  336. package/build/src/relaySelections.d.ts +0 -9
  337. package/build/src/relaySelections.js.map +0 -1
  338. package/build/src/relays.js.map +0 -1
  339. package/build/src/router.js.map +0 -1
  340. package/build/src/search.js.map +0 -1
  341. package/build/src/session.js.map +0 -1
  342. package/build/src/storage.d.ts +0 -70
  343. package/build/src/storage.js +0 -187
  344. package/build/src/storage.js.map +0 -1
  345. package/build/src/sync.js.map +0 -1
  346. package/build/src/tags.js.map +0 -1
  347. package/build/src/thunk.js.map +0 -1
  348. package/build/src/topics.js.map +0 -1
  349. package/build/src/user.js.map +0 -1
  350. package/build/src/util.js.map +0 -1
  351. package/build/src/wot.js.map +0 -1
  352. package/build/src/zappers.d.ts +0 -6
  353. package/build/src/zappers.js.map +0 -1
  354. package/build/tsconfig.tsbuildinfo +0 -1
  355. /package/{build → dist/app}/src/context.js +0 -0
  356. /package/{build → dist/app}/src/freshness.js +0 -0
  357. /package/{build → dist/app}/src/plaintext.js +0 -0
  358. /package/{build → dist/app}/src/search.js +0 -0
  359. /package/{build → dist/app}/src/session.js +0 -0
  360. /package/{build → dist/app}/src/sync.js +0 -0
  361. /package/{build → dist/app}/src/topics.js +0 -0
  362. /package/{build → dist/app}/src/user.js +0 -0
  363. /package/{build → dist/app}/src/util.js +0 -0
  364. /package/{build → dist/app}/src/wot.js +0 -0
@@ -0,0 +1,28 @@
1
+ export var FeedType;
2
+ (function (FeedType) {
3
+ FeedType["Address"] = "address";
4
+ FeedType["Author"] = "author";
5
+ FeedType["CreatedAt"] = "created_at";
6
+ FeedType["DVM"] = "dvm";
7
+ FeedType["Difference"] = "difference";
8
+ FeedType["ID"] = "id";
9
+ FeedType["Intersection"] = "intersection";
10
+ FeedType["Global"] = "global";
11
+ FeedType["Kind"] = "kind";
12
+ FeedType["List"] = "list";
13
+ FeedType["Label"] = "label";
14
+ FeedType["WOT"] = "wot";
15
+ FeedType["Relay"] = "relay";
16
+ FeedType["Scope"] = "scope";
17
+ FeedType["Search"] = "search";
18
+ FeedType["Tag"] = "tag";
19
+ FeedType["Union"] = "union";
20
+ })(FeedType || (FeedType = {}));
21
+ export var Scope;
22
+ (function (Scope) {
23
+ Scope["Followers"] = "followers";
24
+ Scope["Follows"] = "follows";
25
+ Scope["Network"] = "network";
26
+ Scope["Self"] = "self";
27
+ })(Scope || (Scope = {}));
28
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../feeds/src/core.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,QAkBX;AAlBD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,oCAAwB,CAAA;IACxB,uBAAW,CAAA;IACX,qCAAyB,CAAA;IACzB,qBAAS,CAAA;IACT,yCAA6B,CAAA;IAC7B,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,2BAAe,CAAA;AACjB,CAAC,EAlBW,QAAQ,KAAR,QAAQ,QAkBnB;AAED,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,gCAAuB,CAAA;IACvB,4BAAmB,CAAA;IACnB,4BAAmB,CAAA;IACnB,sBAAa,CAAA;AACf,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,5 @@
1
+ export * from "./core.js";
2
+ export * from "./compiler.js";
3
+ export * from "./controller.js";
4
+ export * from "./utils.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,5 @@
1
+ export * from "./core.js";
2
+ export * from "./compiler.js";
3
+ export * from "./controller.js";
4
+ export * from "./utils.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,56 @@
1
+ import type { Filter } from "@welshman/util";
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
+ export declare const makeAddressFeed: (...addresses: string[]) => AddressFeed;
4
+ export declare const makeAuthorFeed: (...pubkeys: string[]) => AuthorFeed;
5
+ export declare const makeCreatedAtFeed: (...items: CreatedAtItem[]) => CreatedAtFeed;
6
+ export declare const makeDVMFeed: (...items: DVMItem[]) => DVMFeed;
7
+ export declare const makeDifferenceFeed: (...feeds: Feed[]) => DifferenceFeed;
8
+ export declare const makeIDFeed: (...ids: string[]) => IDFeed;
9
+ export declare const makeIntersectionFeed: (...feeds: Feed[]) => IntersectionFeed;
10
+ export declare const makeGlobalFeed: () => GlobalFeed;
11
+ export declare const makeKindFeed: (...kinds: number[]) => KindFeed;
12
+ export declare const makeListFeed: (...items: ListItem[]) => ListFeed;
13
+ export declare const makeLabelFeed: (...items: LabelItem[]) => LabelFeed;
14
+ export declare const makeWOTFeed: (...items: WOTItem[]) => WOTFeed;
15
+ export declare const makeRelayFeed: (...urls: string[]) => RelayFeed;
16
+ export declare const makeScopeFeed: (...scopes: Scope[]) => ScopeFeed;
17
+ export declare const makeSearchFeed: (...searches: string[]) => SearchFeed;
18
+ export declare const makeTagFeed: (key: string, ...values: string[]) => TagFeed;
19
+ export declare const makeUnionFeed: (...feeds: Feed[]) => UnionFeed;
20
+ export declare const isAddressFeed: (feed: Feed) => feed is AddressFeed;
21
+ export declare const isAuthorFeed: (feed: Feed) => feed is AuthorFeed;
22
+ export declare const isCreatedAtFeed: (feed: Feed) => feed is CreatedAtFeed;
23
+ export declare const isDVMFeed: (feed: Feed) => feed is DVMFeed;
24
+ export declare const isDifferenceFeed: (feed: Feed) => feed is DifferenceFeed;
25
+ export declare const isIDFeed: (feed: Feed) => feed is IDFeed;
26
+ export declare const isIntersectionFeed: (feed: Feed) => feed is IntersectionFeed;
27
+ export declare const isGlobalFeed: (feed: Feed) => feed is GlobalFeed;
28
+ export declare const isKindFeed: (feed: Feed) => feed is KindFeed;
29
+ export declare const isListFeed: (feed: Feed) => feed is ListFeed;
30
+ export declare const isLabelFeed: (feed: Feed) => feed is LabelFeed;
31
+ export declare const isWOTFeed: (feed: Feed) => feed is WOTFeed;
32
+ export declare const isRelayFeed: (feed: Feed) => feed is RelayFeed;
33
+ export declare const isScopeFeed: (feed: Feed) => feed is ScopeFeed;
34
+ export declare const isSearchFeed: (feed: Feed) => feed is SearchFeed;
35
+ export declare const isTagFeed: (feed: Feed) => feed is TagFeed;
36
+ export declare const isUnionFeed: (feed: Feed) => feed is UnionFeed;
37
+ export declare function getFeedArgs(feed: IntersectionFeed | UnionFeed | DifferenceFeed): Feed[];
38
+ export declare function getFeedArgs(feed: AddressFeed | AuthorFeed | IDFeed | RelayFeed | SearchFeed): string[];
39
+ export declare function getFeedArgs(feed: CreatedAtFeed): CreatedAtItem[];
40
+ export declare function getFeedArgs(feed: ListFeed): ListItem[];
41
+ export declare function getFeedArgs(feed: LabelFeed): LabelItem[];
42
+ export declare function getFeedArgs(feed: DVMFeed): DVMItem[];
43
+ export declare function getFeedArgs(feed: WOTFeed): WOTItem[];
44
+ export declare function getFeedArgs(feed: ScopeFeed): Scope[];
45
+ export declare function getFeedArgs(feed: KindFeed): number[];
46
+ export declare function getFeedArgs(feed: TagFeed): [string, ...string[]];
47
+ export declare function getFeedArgs(feed: GlobalFeed): [];
48
+ export declare const hasSubFeeds: (feed: Feed) => feed is IntersectionFeed | UnionFeed | DifferenceFeed;
49
+ export declare const defaultTagFeedMappings: TagFeedMapping[];
50
+ export declare const feedsFromTags: (tags: string[][], mappings?: TagFeedMapping[]) => (AddressFeed | AuthorFeed | CreatedAtFeed | DVMFeed | DifferenceFeed | IDFeed | IntersectionFeed | GlobalFeed | KindFeed | ListFeed | LabelFeed | WOTFeed | RelayFeed | ScopeFeed | SearchFeed | TagFeed | UnionFeed)[];
51
+ export declare const feedFromTags: (tags: string[][], mappings?: TagFeedMapping[]) => IntersectionFeed;
52
+ export declare const feedsFromFilter: ({ since, until, ...filter }: Filter) => (AuthorFeed | CreatedAtFeed | IDFeed | KindFeed | TagFeed)[];
53
+ export declare const feedFromFilter: (filter: Filter) => IntersectionFeed;
54
+ export declare const feedFromFilters: (filters: Filter[]) => UnionFeed;
55
+ export declare const walkFeed: (feed: Feed, visit: (feed: Feed) => void) => void;
56
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../feeds/src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { ensureNumber } from "@welshman/lib";
2
+ import { getTagValues } from "@welshman/util";
3
+ import { FeedType, } from "./core.js";
4
+ export const makeAddressFeed = (...addresses) => [
5
+ FeedType.Address,
6
+ ...addresses,
7
+ ];
8
+ export const makeAuthorFeed = (...pubkeys) => [FeedType.Author, ...pubkeys];
9
+ export const makeCreatedAtFeed = (...items) => [
10
+ FeedType.CreatedAt,
11
+ ...items,
12
+ ];
13
+ export const makeDVMFeed = (...items) => [FeedType.DVM, ...items];
14
+ export const makeDifferenceFeed = (...feeds) => [
15
+ FeedType.Difference,
16
+ ...feeds,
17
+ ];
18
+ export const makeIDFeed = (...ids) => [FeedType.ID, ...ids];
19
+ export const makeIntersectionFeed = (...feeds) => [
20
+ FeedType.Intersection,
21
+ ...feeds,
22
+ ];
23
+ export const makeGlobalFeed = () => [FeedType.Global];
24
+ export const makeKindFeed = (...kinds) => [FeedType.Kind, ...kinds];
25
+ export const makeListFeed = (...items) => [FeedType.List, ...items];
26
+ export const makeLabelFeed = (...items) => [FeedType.Label, ...items];
27
+ export const makeWOTFeed = (...items) => [FeedType.WOT, ...items];
28
+ export const makeRelayFeed = (...urls) => [FeedType.Relay, ...urls];
29
+ export const makeScopeFeed = (...scopes) => [FeedType.Scope, ...scopes];
30
+ export const makeSearchFeed = (...searches) => [FeedType.Search, ...searches];
31
+ export const makeTagFeed = (key, ...values) => [
32
+ FeedType.Tag,
33
+ key,
34
+ ...values,
35
+ ];
36
+ export const makeUnionFeed = (...feeds) => [FeedType.Union, ...feeds];
37
+ export const isAddressFeed = (feed) => feed[0] === FeedType.Address;
38
+ export const isAuthorFeed = (feed) => feed[0] === FeedType.Author;
39
+ export const isCreatedAtFeed = (feed) => feed[0] === FeedType.CreatedAt;
40
+ export const isDVMFeed = (feed) => feed[0] === FeedType.DVM;
41
+ export const isDifferenceFeed = (feed) => feed[0] === FeedType.Difference;
42
+ export const isIDFeed = (feed) => feed[0] === FeedType.ID;
43
+ export const isIntersectionFeed = (feed) => feed[0] === FeedType.Intersection;
44
+ export const isGlobalFeed = (feed) => feed[0] === FeedType.Global;
45
+ export const isKindFeed = (feed) => feed[0] === FeedType.Kind;
46
+ export const isListFeed = (feed) => feed[0] === FeedType.List;
47
+ export const isLabelFeed = (feed) => feed[0] === FeedType.Label;
48
+ export const isWOTFeed = (feed) => feed[0] === FeedType.WOT;
49
+ export const isRelayFeed = (feed) => feed[0] === FeedType.Relay;
50
+ export const isScopeFeed = (feed) => feed[0] === FeedType.Scope;
51
+ export const isSearchFeed = (feed) => feed[0] === FeedType.Search;
52
+ export const isTagFeed = (feed) => feed[0] === FeedType.Tag;
53
+ export const isUnionFeed = (feed) => feed[0] === FeedType.Union;
54
+ export function getFeedArgs(feed) {
55
+ switch (feed[0]) {
56
+ case FeedType.Intersection:
57
+ return feed.slice(1);
58
+ case FeedType.Union:
59
+ return feed.slice(1);
60
+ case FeedType.Difference:
61
+ return feed.slice(1);
62
+ case FeedType.Address:
63
+ return feed.slice(1);
64
+ case FeedType.Author:
65
+ return feed.slice(1);
66
+ case FeedType.ID:
67
+ return feed.slice(1);
68
+ case FeedType.Relay:
69
+ return feed.slice(1);
70
+ case FeedType.Search:
71
+ return feed.slice(1);
72
+ case FeedType.Tag:
73
+ return feed.slice(1);
74
+ case FeedType.CreatedAt:
75
+ return feed.slice(1);
76
+ case FeedType.List:
77
+ return feed.slice(1);
78
+ case FeedType.Label:
79
+ return feed.slice(1);
80
+ case FeedType.DVM:
81
+ return feed.slice(1);
82
+ case FeedType.WOT:
83
+ return feed.slice(1);
84
+ case FeedType.Scope:
85
+ return feed.slice(1);
86
+ case FeedType.Kind:
87
+ return feed.slice(1);
88
+ case FeedType.Global:
89
+ return feed.slice(1);
90
+ default:
91
+ throw new Error(`Invalid feed type ${feed[0]}`);
92
+ }
93
+ }
94
+ export const hasSubFeeds = (feed) => [FeedType.Union, FeedType.Intersection, FeedType.Difference].includes(feed[0]);
95
+ export const defaultTagFeedMappings = [
96
+ ["a", [FeedType.Address]],
97
+ ["e", [FeedType.ID]],
98
+ ["p", [FeedType.Author]],
99
+ ["r", [FeedType.Relay]],
100
+ ["t", [FeedType.Tag, "#t"]],
101
+ ];
102
+ export const feedsFromTags = (tags, mappings) => {
103
+ const feeds = [];
104
+ for (const [tagName, templateFeed] of mappings || defaultTagFeedMappings) {
105
+ let values = getTagValues(tagName, tags);
106
+ if (values.length > 0) {
107
+ if (isKindFeed(templateFeed)) {
108
+ values = values.map(ensureNumber);
109
+ }
110
+ feeds.push([...templateFeed, ...values]);
111
+ }
112
+ }
113
+ return feeds;
114
+ };
115
+ export const feedFromTags = (tags, mappings) => makeIntersectionFeed(...feedsFromTags(tags, mappings));
116
+ export const feedsFromFilter = ({ since, until, ...filter }) => {
117
+ const feeds = [];
118
+ if (since && until) {
119
+ feeds.push(makeCreatedAtFeed({ since, until }));
120
+ }
121
+ else if (since) {
122
+ feeds.push(makeCreatedAtFeed({ since }));
123
+ }
124
+ else if (until) {
125
+ feeds.push(makeCreatedAtFeed({ until }));
126
+ }
127
+ for (const [k, v] of Object.entries(filter)) {
128
+ if (k === "ids")
129
+ feeds.push(makeIDFeed(...v));
130
+ else if (k === "kinds")
131
+ feeds.push(makeKindFeed(...v));
132
+ else if (k === "authors")
133
+ feeds.push(makeAuthorFeed(...v));
134
+ else if (k.startsWith("#"))
135
+ feeds.push(makeTagFeed(k, ...v));
136
+ else
137
+ throw new Error(`Unable to create feed from filter ${k}: ${v}`);
138
+ }
139
+ return feeds;
140
+ };
141
+ export const feedFromFilter = (filter) => makeIntersectionFeed(...feedsFromFilter(filter));
142
+ export const feedFromFilters = (filters) => makeUnionFeed(...filters.map(filter => feedFromFilter(filter)));
143
+ export const walkFeed = (feed, visit) => {
144
+ visit(feed);
145
+ if (hasSubFeeds(feed)) {
146
+ for (const subFeed of getFeedArgs(feed)) {
147
+ walkFeed(subFeed, visit);
148
+ }
149
+ }
150
+ };
151
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../feeds/src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /** Promise type with strongly typed error */
2
+ export type CustomPromise<T, E> = Promise<T> & {
3
+ __errorType: E;
4
+ };
5
+ /**
6
+ * Creates a Promise with strongly typed error
7
+ * @param executor - Promise executor function
8
+ * @returns Promise with typed error
9
+ */
10
+ export declare function makePromise<T, E>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason: E) => void) => void): CustomPromise<T, E>;
11
+ /** Promise with exposed resolve/reject functions and typed error */
12
+ export type Deferred<T, E = T> = CustomPromise<T, E> & {
13
+ resolve: (arg: T) => void;
14
+ reject: (arg: E) => void;
15
+ };
16
+ /**
17
+ * Creates a Deferred promise
18
+ * @returns Promise with resolve/reject methods exposed
19
+ */
20
+ export declare const defer: <T, E = T>() => Deferred<T, E>;
21
+ //# sourceMappingURL=Deferred.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.d.ts","sourceRoot":"","sources":["../../../../lib/src/Deferred.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAC7C,WAAW,EAAE,CAAC,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,GAC5F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAErB;AAED,oEAAoE;AACpE,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IACrD,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IACzB,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAQ/C,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Creates a Promise with strongly typed error
3
+ * @param executor - Promise executor function
4
+ * @returns Promise with typed error
5
+ */
6
+ export function makePromise(executor) {
7
+ return new Promise(executor);
8
+ }
9
+ /**
10
+ * Creates a Deferred promise
11
+ * @returns Promise with resolve/reject methods exposed
12
+ */
13
+ export const defer = () => {
14
+ let resolve, reject;
15
+ const p = makePromise((resolve_, reject_) => {
16
+ resolve = resolve_;
17
+ reject = reject_;
18
+ });
19
+ return Object.assign(p, { resolve, reject });
20
+ };
21
+ //# sourceMappingURL=Deferred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../../../lib/src/Deferred.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,QAA6F;IAE7F,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAwB,CAAA;AACrD,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,GAA6B,EAAE;IAClD,IAAI,OAAO,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC1C,OAAO,GAAG,QAAQ,CAAA;QAClB,MAAM,GAAG,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAA8B,CAAA;AACzE,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { EventEmitter } from "events";
2
+ /**
3
+ * Extended EventEmitter that also emits all events to '*' listeners
4
+ */
5
+ export declare class Emitter extends EventEmitter {
6
+ /**
7
+ * Emits an event to listeners and to '*' listeners
8
+ * @param type - Event type/name
9
+ * @param args - Arguments to pass to listeners
10
+ * @returns True if event had listeners
11
+ */
12
+ emit(type: string, ...args: any[]): boolean;
13
+ }
14
+ //# sourceMappingURL=Emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitter.d.ts","sourceRoot":"","sources":["../../../../lib/src/Emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAEnC;;GAEG;AACH,qBAAa,OAAQ,SAAQ,YAAY;IACvC;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAMlC"}
@@ -0,0 +1,18 @@
1
+ import { EventEmitter } from "events";
2
+ /**
3
+ * Extended EventEmitter that also emits all events to '*' listeners
4
+ */
5
+ export class Emitter extends EventEmitter {
6
+ /**
7
+ * Emits an event to listeners and to '*' listeners
8
+ * @param type - Event type/name
9
+ * @param args - Arguments to pass to listeners
10
+ * @returns True if event had listeners
11
+ */
12
+ emit(type, ...args) {
13
+ const a = super.emit(type, ...args);
14
+ const b = super.emit("*", type, ...args);
15
+ return a && b;
16
+ }
17
+ }
18
+ //# sourceMappingURL=Emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../../../lib/src/Emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAEnC;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,YAAY;IACvC;;;;;OAKG;IACH,IAAI,CAAC,IAAY,EAAE,GAAG,IAAW;QAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAExC,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Least Recently Used (LRU) cache implementation
3
+ * @template T - Type of cache keys
4
+ * @template U - Type of cache values
5
+ */
6
+ export declare class LRUCache<T, U> {
7
+ readonly maxSize: number;
8
+ map: Map<T, U>;
9
+ keys: T[];
10
+ constructor(maxSize?: number);
11
+ has(k: T): boolean;
12
+ get(k: T): U | undefined;
13
+ set(k: T, v: U): void;
14
+ }
15
+ /**
16
+ * Creates a memoized function with LRU caching
17
+ * @template T - Cache key type
18
+ * @template V - Cache value type
19
+ * @template Args - Function argument types
20
+ */
21
+ export declare function cached<T, V, Args extends any[]>({ maxSize, getKey, getValue, }: {
22
+ maxSize: number;
23
+ getKey: (args: Args) => T;
24
+ getValue: (args: Args) => V;
25
+ }): {
26
+ (...args: Args): NonNullable<V>;
27
+ cache: LRUCache<T, V>;
28
+ getKey: (args: Args) => T;
29
+ getValue: (args: Args) => V;
30
+ };
31
+ /**
32
+ * Creates a simple memoized function with default settings
33
+ * @template V - Cache value type
34
+ * @template Args - Function argument types
35
+ */
36
+ export declare function simpleCache<V, Args extends any[]>(getValue: (args: Args) => V): {
37
+ (...args: Args): NonNullable<V>;
38
+ cache: LRUCache<string, V>;
39
+ getKey: (args: Args) => string;
40
+ getValue: (args: Args) => V;
41
+ };
42
+ //# sourceMappingURL=LRUCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LRUCache.d.ts","sourceRoot":"","sources":["../../../../lib/src/LRUCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IAIZ,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,GAAG,YAAkB;IACrB,IAAI,EAAE,CAAC,EAAE,CAAK;gBAEO,OAAO,GAAE,MAAiB;IAE/C,GAAG,CAAC,CAAC,EAAE,CAAC;IAIR,GAAG,CAAC,CAAC,EAAE,CAAC;IAcR,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAQf;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,EAC/C,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAA;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAA;CAC5B;cAGuB,IAAI;;mBALX,IAAI,KAAK,CAAC;qBACR,IAAI,KAAK,CAAC;EAmB5B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC;;;;;EAE7E"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Least Recently Used (LRU) cache implementation
3
+ * @template T - Type of cache keys
4
+ * @template U - Type of cache values
5
+ */
6
+ export class LRUCache {
7
+ maxSize;
8
+ map = new Map();
9
+ keys = [];
10
+ constructor(maxSize = Infinity) {
11
+ this.maxSize = maxSize;
12
+ }
13
+ has(k) {
14
+ return this.map.has(k);
15
+ }
16
+ get(k) {
17
+ const v = this.map.get(k);
18
+ if (v !== undefined) {
19
+ this.keys.push(k);
20
+ if (this.keys.length > this.maxSize * 2) {
21
+ this.keys = this.keys.splice(-this.maxSize);
22
+ }
23
+ }
24
+ return v;
25
+ }
26
+ set(k, v) {
27
+ this.map.set(k, v);
28
+ this.keys.push(k);
29
+ if (this.map.size > this.maxSize) {
30
+ this.map.delete(this.keys.shift());
31
+ }
32
+ }
33
+ }
34
+ /**
35
+ * Creates a memoized function with LRU caching
36
+ * @template T - Cache key type
37
+ * @template V - Cache value type
38
+ * @template Args - Function argument types
39
+ */
40
+ export function cached({ maxSize, getKey, getValue, }) {
41
+ const cache = new LRUCache(maxSize);
42
+ const get = (...args) => {
43
+ const k = getKey(args);
44
+ if (!cache.has(k)) {
45
+ cache.set(k, getValue(args));
46
+ }
47
+ return cache.get(k);
48
+ };
49
+ get.cache = cache;
50
+ get.getKey = getKey;
51
+ get.getValue = getValue;
52
+ return get;
53
+ }
54
+ /**
55
+ * Creates a simple memoized function with default settings
56
+ * @template V - Cache value type
57
+ * @template Args - Function argument types
58
+ */
59
+ export function simpleCache(getValue) {
60
+ return cached({ maxSize: 10 ** 5, getKey: xs => xs.join(":"), getValue });
61
+ }
62
+ //# sourceMappingURL=LRUCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LRUCache.js","sourceRoot":"","sources":["../../../../lib/src/LRUCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IAIE;IAHrB,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAA;IACrB,IAAI,GAAQ,EAAE,CAAA;IAEd,YAAqB,UAAkB,QAAQ;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAEnD,GAAG,CAAC,CAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,CAAI;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEzB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAM,CAAC,CAAA;YAEtB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED,GAAG,CAAC,CAAI,EAAE,CAAI;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAO,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAA2B,EAC/C,OAAO,EACP,MAAM,EACN,QAAQ,GAKT;IACC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAO,OAAO,CAAC,CAAA;IAEzC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAU,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAEtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAA;IACtB,CAAC,CAAA;IAED,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;IACjB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEvB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAwB,QAA2B;IAC5E,OAAO,MAAM,CAAC,EAAC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAC,CAAC,CAAA;AACzE,CAAC"}
@@ -0,0 +1,18 @@
1
+ export type TaskQueueOptions<Item> = {
2
+ batchSize: number;
3
+ processItem: (item: Item) => unknown;
4
+ };
5
+ export declare class TaskQueue<Item> {
6
+ readonly options: TaskQueueOptions<Item>;
7
+ items: Item[];
8
+ isPaused: boolean;
9
+ isProcessing: boolean;
10
+ constructor(options: TaskQueueOptions<Item>);
11
+ push(item: Item): void;
12
+ remove(item: Item): void;
13
+ process(): Promise<void>;
14
+ stop(): void;
15
+ start(): void;
16
+ clear(): void;
17
+ }
18
+ //# sourceMappingURL=TaskQueue.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,47 @@
1
+ import { remove, yieldThread } from "./Tools.js";
2
+ export class TaskQueue {
3
+ options;
4
+ items = [];
5
+ isPaused = false;
6
+ isProcessing = false;
7
+ constructor(options) {
8
+ this.options = options;
9
+ }
10
+ push(item) {
11
+ this.items.push(item);
12
+ this.process();
13
+ }
14
+ remove(item) {
15
+ this.items = remove(item, this.items);
16
+ }
17
+ async process() {
18
+ if (this.isProcessing || this.isPaused || this.items.length === 0) {
19
+ return;
20
+ }
21
+ this.isProcessing = true;
22
+ await yieldThread();
23
+ for (const item of this.items.splice(0, this.options.batchSize)) {
24
+ try {
25
+ await this.options.processItem(item);
26
+ }
27
+ catch (e) {
28
+ console.error(e);
29
+ }
30
+ }
31
+ this.isProcessing = false;
32
+ if (this.items.length > 0) {
33
+ this.process();
34
+ }
35
+ }
36
+ stop() {
37
+ this.isPaused = true;
38
+ }
39
+ start() {
40
+ this.isPaused = false;
41
+ this.process();
42
+ }
43
+ clear() {
44
+ this.items = [];
45
+ }
46
+ }
47
+ //# sourceMappingURL=TaskQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,YAAY,CAAA;AAO9C,MAAM,OAAO,SAAS;IAKC;IAJrB,KAAK,GAAW,EAAE,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA;IAChB,YAAY,GAAG,KAAK,CAAA;IAEpB,YAAqB,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAExD,IAAI,CAAC,IAAU;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAExB,MAAM,WAAW,EAAE,CAAA;QAEnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAEzB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;CACF"}