@welshman/domain 0.9.0-pre1

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 (443) hide show
  1. package/LICENSE +21 -0
  2. package/dist/domain/src/EventBuilder.d.ts +35 -0
  3. package/dist/domain/src/EventBuilder.d.ts.map +1 -0
  4. package/dist/domain/src/EventBuilder.js +111 -0
  5. package/dist/domain/src/EventBuilder.js.map +1 -0
  6. package/dist/domain/src/EventReader.d.ts +24 -0
  7. package/dist/domain/src/EventReader.d.ts.map +1 -0
  8. package/dist/domain/src/EventReader.js +57 -0
  9. package/dist/domain/src/EventReader.js.map +1 -0
  10. package/dist/domain/src/ListBuilder.d.ts +21 -0
  11. package/dist/domain/src/ListBuilder.d.ts.map +1 -0
  12. package/dist/domain/src/ListBuilder.js +73 -0
  13. package/dist/domain/src/ListBuilder.js.map +1 -0
  14. package/dist/domain/src/ListReader.d.ts +12 -0
  15. package/dist/domain/src/ListReader.d.ts.map +1 -0
  16. package/dist/domain/src/ListReader.js +31 -0
  17. package/dist/domain/src/ListReader.js.map +1 -0
  18. package/dist/domain/src/index.d.ts +54 -0
  19. package/dist/domain/src/index.d.ts.map +1 -0
  20. package/dist/domain/src/index.js +54 -0
  21. package/dist/domain/src/index.js.map +1 -0
  22. package/dist/domain/src/kinds/BlockedRelayList.d.ts +15 -0
  23. package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -0
  24. package/dist/domain/src/kinds/BlockedRelayList.js +30 -0
  25. package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -0
  26. package/dist/domain/src/kinds/BlossomServerList.d.ts +15 -0
  27. package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -0
  28. package/dist/domain/src/kinds/BlossomServerList.js +30 -0
  29. package/dist/domain/src/kinds/BlossomServerList.js.map +1 -0
  30. package/dist/domain/src/kinds/BookmarkList.d.ts +17 -0
  31. package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -0
  32. package/dist/domain/src/kinds/BookmarkList.js +36 -0
  33. package/dist/domain/src/kinds/BookmarkList.js.map +1 -0
  34. package/dist/domain/src/kinds/Classified.d.ts +27 -0
  35. package/dist/domain/src/kinds/Classified.d.ts.map +1 -0
  36. package/dist/domain/src/kinds/Classified.js +65 -0
  37. package/dist/domain/src/kinds/Classified.js.map +1 -0
  38. package/dist/domain/src/kinds/Comment.d.ts +29 -0
  39. package/dist/domain/src/kinds/Comment.d.ts.map +1 -0
  40. package/dist/domain/src/kinds/Comment.js +82 -0
  41. package/dist/domain/src/kinds/Comment.js.map +1 -0
  42. package/dist/domain/src/kinds/EmojiList.d.ts +16 -0
  43. package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -0
  44. package/dist/domain/src/kinds/EmojiList.js +33 -0
  45. package/dist/domain/src/kinds/EmojiList.js.map +1 -0
  46. package/dist/domain/src/kinds/Feed.d.ts +17 -0
  47. package/dist/domain/src/kinds/Feed.d.ts.map +1 -0
  48. package/dist/domain/src/kinds/Feed.js +33 -0
  49. package/dist/domain/src/kinds/Feed.js.map +1 -0
  50. package/dist/domain/src/kinds/FeedList.d.ts +15 -0
  51. package/dist/domain/src/kinds/FeedList.d.ts.map +1 -0
  52. package/dist/domain/src/kinds/FeedList.js +30 -0
  53. package/dist/domain/src/kinds/FeedList.js.map +1 -0
  54. package/dist/domain/src/kinds/FollowList.d.ts +14 -0
  55. package/dist/domain/src/kinds/FollowList.d.ts.map +1 -0
  56. package/dist/domain/src/kinds/FollowList.js +27 -0
  57. package/dist/domain/src/kinds/FollowList.js.map +1 -0
  58. package/dist/domain/src/kinds/GroupList.d.ts +13 -0
  59. package/dist/domain/src/kinds/GroupList.d.ts.map +1 -0
  60. package/dist/domain/src/kinds/GroupList.js +24 -0
  61. package/dist/domain/src/kinds/GroupList.js.map +1 -0
  62. package/dist/domain/src/kinds/Handler.d.ts +41 -0
  63. package/dist/domain/src/kinds/Handler.d.ts.map +1 -0
  64. package/dist/domain/src/kinds/Handler.js +86 -0
  65. package/dist/domain/src/kinds/Handler.js.map +1 -0
  66. package/dist/domain/src/kinds/HandlerRecommendation.d.ts +15 -0
  67. package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -0
  68. package/dist/domain/src/kinds/HandlerRecommendation.js +32 -0
  69. package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -0
  70. package/dist/domain/src/kinds/MessagingRelayList.d.ts +14 -0
  71. package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -0
  72. package/dist/domain/src/kinds/MessagingRelayList.js +27 -0
  73. package/dist/domain/src/kinds/MessagingRelayList.js.map +1 -0
  74. package/dist/domain/src/kinds/MuteList.d.ts +15 -0
  75. package/dist/domain/src/kinds/MuteList.d.ts.map +1 -0
  76. package/dist/domain/src/kinds/MuteList.js +30 -0
  77. package/dist/domain/src/kinds/MuteList.js.map +1 -0
  78. package/dist/domain/src/kinds/Pin.d.ts +37 -0
  79. package/dist/domain/src/kinds/Pin.d.ts.map +1 -0
  80. package/dist/domain/src/kinds/Pin.js +74 -0
  81. package/dist/domain/src/kinds/Pin.js.map +1 -0
  82. package/dist/domain/src/kinds/PinList.d.ts +15 -0
  83. package/dist/domain/src/kinds/PinList.d.ts.map +1 -0
  84. package/dist/domain/src/kinds/PinList.js +30 -0
  85. package/dist/domain/src/kinds/PinList.js.map +1 -0
  86. package/dist/domain/src/kinds/Pinboard.d.ts +21 -0
  87. package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -0
  88. package/dist/domain/src/kinds/Pinboard.js +53 -0
  89. package/dist/domain/src/kinds/Pinboard.js.map +1 -0
  90. package/dist/domain/src/kinds/Poll.d.ts +37 -0
  91. package/dist/domain/src/kinds/Poll.d.ts.map +1 -0
  92. package/dist/domain/src/kinds/Poll.js +80 -0
  93. package/dist/domain/src/kinds/Poll.js.map +1 -0
  94. package/dist/domain/src/kinds/PollResponse.d.ts +15 -0
  95. package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -0
  96. package/dist/domain/src/kinds/PollResponse.js +33 -0
  97. package/dist/domain/src/kinds/PollResponse.js.map +1 -0
  98. package/dist/domain/src/kinds/Profile.d.ts +36 -0
  99. package/dist/domain/src/kinds/Profile.d.ts.map +1 -0
  100. package/dist/domain/src/kinds/Profile.js +105 -0
  101. package/dist/domain/src/kinds/Profile.js.map +1 -0
  102. package/dist/domain/src/kinds/RelayAddMember.d.ts +12 -0
  103. package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -0
  104. package/dist/domain/src/kinds/RelayAddMember.js +21 -0
  105. package/dist/domain/src/kinds/RelayAddMember.js.map +1 -0
  106. package/dist/domain/src/kinds/RelayInvite.d.ts +12 -0
  107. package/dist/domain/src/kinds/RelayInvite.d.ts.map +1 -0
  108. package/dist/domain/src/kinds/RelayInvite.js +21 -0
  109. package/dist/domain/src/kinds/RelayInvite.js.map +1 -0
  110. package/dist/domain/src/kinds/RelayJoin.d.ts +14 -0
  111. package/dist/domain/src/kinds/RelayJoin.d.ts.map +1 -0
  112. package/dist/domain/src/kinds/RelayJoin.js +27 -0
  113. package/dist/domain/src/kinds/RelayJoin.js.map +1 -0
  114. package/dist/domain/src/kinds/RelayLeave.d.ts +10 -0
  115. package/dist/domain/src/kinds/RelayLeave.d.ts.map +1 -0
  116. package/dist/domain/src/kinds/RelayLeave.js +14 -0
  117. package/dist/domain/src/kinds/RelayLeave.js.map +1 -0
  118. package/dist/domain/src/kinds/RelayList.d.ts +24 -0
  119. package/dist/domain/src/kinds/RelayList.d.ts.map +1 -0
  120. package/dist/domain/src/kinds/RelayList.js +89 -0
  121. package/dist/domain/src/kinds/RelayList.js.map +1 -0
  122. package/dist/domain/src/kinds/RelayMembers.d.ts +17 -0
  123. package/dist/domain/src/kinds/RelayMembers.d.ts.map +1 -0
  124. package/dist/domain/src/kinds/RelayMembers.js +38 -0
  125. package/dist/domain/src/kinds/RelayMembers.js.map +1 -0
  126. package/dist/domain/src/kinds/RelayRemoveMember.d.ts +12 -0
  127. package/dist/domain/src/kinds/RelayRemoveMember.d.ts.map +1 -0
  128. package/dist/domain/src/kinds/RelayRemoveMember.js +21 -0
  129. package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -0
  130. package/dist/domain/src/kinds/RelaySet.d.ts +20 -0
  131. package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -0
  132. package/dist/domain/src/kinds/RelaySet.js +45 -0
  133. package/dist/domain/src/kinds/RelaySet.js.map +1 -0
  134. package/dist/domain/src/kinds/Report.d.ts +18 -0
  135. package/dist/domain/src/kinds/Report.d.ts.map +1 -0
  136. package/dist/domain/src/kinds/Report.js +59 -0
  137. package/dist/domain/src/kinds/Report.js.map +1 -0
  138. package/dist/domain/src/kinds/RoomAddMember.d.ts +12 -0
  139. package/dist/domain/src/kinds/RoomAddMember.d.ts.map +1 -0
  140. package/dist/domain/src/kinds/RoomAddMember.js +21 -0
  141. package/dist/domain/src/kinds/RoomAddMember.js.map +1 -0
  142. package/dist/domain/src/kinds/RoomAdmins.d.ts +14 -0
  143. package/dist/domain/src/kinds/RoomAdmins.d.ts.map +1 -0
  144. package/dist/domain/src/kinds/RoomAdmins.js +27 -0
  145. package/dist/domain/src/kinds/RoomAdmins.js.map +1 -0
  146. package/dist/domain/src/kinds/RoomCreate.d.ts +11 -0
  147. package/dist/domain/src/kinds/RoomCreate.d.ts.map +1 -0
  148. package/dist/domain/src/kinds/RoomCreate.js +20 -0
  149. package/dist/domain/src/kinds/RoomCreate.js.map +1 -0
  150. package/dist/domain/src/kinds/RoomCreatePermission.d.ts +15 -0
  151. package/dist/domain/src/kinds/RoomCreatePermission.d.ts.map +1 -0
  152. package/dist/domain/src/kinds/RoomCreatePermission.js +30 -0
  153. package/dist/domain/src/kinds/RoomCreatePermission.js.map +1 -0
  154. package/dist/domain/src/kinds/RoomDelete.d.ts +11 -0
  155. package/dist/domain/src/kinds/RoomDelete.d.ts.map +1 -0
  156. package/dist/domain/src/kinds/RoomDelete.js +20 -0
  157. package/dist/domain/src/kinds/RoomDelete.js.map +1 -0
  158. package/dist/domain/src/kinds/RoomEdit.d.ts +28 -0
  159. package/dist/domain/src/kinds/RoomEdit.d.ts.map +1 -0
  160. package/dist/domain/src/kinds/RoomEdit.js +80 -0
  161. package/dist/domain/src/kinds/RoomEdit.js.map +1 -0
  162. package/dist/domain/src/kinds/RoomJoin.d.ts +15 -0
  163. package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -0
  164. package/dist/domain/src/kinds/RoomJoin.js +33 -0
  165. package/dist/domain/src/kinds/RoomJoin.js.map +1 -0
  166. package/dist/domain/src/kinds/RoomLeave.d.ts +11 -0
  167. package/dist/domain/src/kinds/RoomLeave.d.ts.map +1 -0
  168. package/dist/domain/src/kinds/RoomLeave.js +20 -0
  169. package/dist/domain/src/kinds/RoomLeave.js.map +1 -0
  170. package/dist/domain/src/kinds/RoomList.d.ts +14 -0
  171. package/dist/domain/src/kinds/RoomList.d.ts.map +1 -0
  172. package/dist/domain/src/kinds/RoomList.js +27 -0
  173. package/dist/domain/src/kinds/RoomList.js.map +1 -0
  174. package/dist/domain/src/kinds/RoomMembers.d.ts +15 -0
  175. package/dist/domain/src/kinds/RoomMembers.d.ts.map +1 -0
  176. package/dist/domain/src/kinds/RoomMembers.js +30 -0
  177. package/dist/domain/src/kinds/RoomMembers.js.map +1 -0
  178. package/dist/domain/src/kinds/RoomMeta.d.ts +27 -0
  179. package/dist/domain/src/kinds/RoomMeta.d.ts.map +1 -0
  180. package/dist/domain/src/kinds/RoomMeta.js +72 -0
  181. package/dist/domain/src/kinds/RoomMeta.js.map +1 -0
  182. package/dist/domain/src/kinds/RoomRemoveMember.d.ts +14 -0
  183. package/dist/domain/src/kinds/RoomRemoveMember.d.ts.map +1 -0
  184. package/dist/domain/src/kinds/RoomRemoveMember.js +27 -0
  185. package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -0
  186. package/dist/domain/src/kinds/SearchRelayList.d.ts +15 -0
  187. package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -0
  188. package/dist/domain/src/kinds/SearchRelayList.js +30 -0
  189. package/dist/domain/src/kinds/SearchRelayList.js.map +1 -0
  190. package/dist/domain/src/kinds/SlashCommand.d.ts +38 -0
  191. package/dist/domain/src/kinds/SlashCommand.d.ts.map +1 -0
  192. package/dist/domain/src/kinds/SlashCommand.js +91 -0
  193. package/dist/domain/src/kinds/SlashCommand.js.map +1 -0
  194. package/dist/domain/src/kinds/Thread.d.ts +12 -0
  195. package/dist/domain/src/kinds/Thread.d.ts.map +1 -0
  196. package/dist/domain/src/kinds/Thread.js +21 -0
  197. package/dist/domain/src/kinds/Thread.js.map +1 -0
  198. package/dist/domain/src/kinds/TimeEvent.d.ts +21 -0
  199. package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -0
  200. package/dist/domain/src/kinds/TimeEvent.js +58 -0
  201. package/dist/domain/src/kinds/TimeEvent.js.map +1 -0
  202. package/dist/domain/src/kinds/TopicList.d.ts +17 -0
  203. package/dist/domain/src/kinds/TopicList.d.ts.map +1 -0
  204. package/dist/domain/src/kinds/TopicList.js +36 -0
  205. package/dist/domain/src/kinds/TopicList.js.map +1 -0
  206. package/dist/domain/src/kinds/ZapGoal.d.ts +20 -0
  207. package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -0
  208. package/dist/domain/src/kinds/ZapGoal.js +52 -0
  209. package/dist/domain/src/kinds/ZapGoal.js.map +1 -0
  210. package/dist/domain/src/kinds/ZapReceipt.d.ts +28 -0
  211. package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -0
  212. package/dist/domain/src/kinds/ZapReceipt.js +93 -0
  213. package/dist/domain/src/kinds/ZapReceipt.js.map +1 -0
  214. package/dist/domain/src/kinds/ZapRequest.d.ts +20 -0
  215. package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -0
  216. package/dist/domain/src/kinds/ZapRequest.js +47 -0
  217. package/dist/domain/src/kinds/ZapRequest.js.map +1 -0
  218. package/dist/feeds/src/compiler.d.ts +49 -0
  219. package/dist/feeds/src/compiler.d.ts.map +1 -0
  220. package/dist/feeds/src/compiler.js +253 -0
  221. package/dist/feeds/src/compiler.js.map +1 -0
  222. package/dist/feeds/src/controller.d.ts +32 -0
  223. package/dist/feeds/src/controller.d.ts.map +1 -0
  224. package/dist/feeds/src/controller.js +329 -0
  225. package/dist/feeds/src/controller.js.map +1 -0
  226. package/dist/feeds/src/core.d.ts +76 -0
  227. package/dist/feeds/src/core.d.ts.map +1 -0
  228. package/dist/feeds/src/core.js +28 -0
  229. package/dist/feeds/src/core.js.map +1 -0
  230. package/dist/feeds/src/display.d.ts +21 -0
  231. package/dist/feeds/src/display.d.ts.map +1 -0
  232. package/dist/feeds/src/display.js +144 -0
  233. package/dist/feeds/src/display.js.map +1 -0
  234. package/dist/feeds/src/index.d.ts +7 -0
  235. package/dist/feeds/src/index.d.ts.map +1 -0
  236. package/dist/feeds/src/index.js +7 -0
  237. package/dist/feeds/src/index.js.map +1 -0
  238. package/dist/feeds/src/request.d.ts +26 -0
  239. package/dist/feeds/src/request.d.ts.map +1 -0
  240. package/dist/feeds/src/request.js +83 -0
  241. package/dist/feeds/src/request.js.map +1 -0
  242. package/dist/feeds/src/utils.d.ts +58 -0
  243. package/dist/feeds/src/utils.d.ts.map +1 -0
  244. package/dist/feeds/src/utils.js +218 -0
  245. package/dist/feeds/src/utils.js.map +1 -0
  246. package/dist/feeds/src/validate.d.ts +24 -0
  247. package/dist/feeds/src/validate.d.ts.map +1 -0
  248. package/dist/feeds/src/validate.js +137 -0
  249. package/dist/feeds/src/validate.js.map +1 -0
  250. package/dist/lib/src/Deferred.d.ts +21 -0
  251. package/dist/lib/src/Deferred.d.ts.map +1 -0
  252. package/dist/lib/src/Deferred.js +21 -0
  253. package/dist/lib/src/Deferred.js.map +1 -0
  254. package/dist/lib/src/Emitter.d.ts +14 -0
  255. package/dist/lib/src/Emitter.d.ts.map +1 -0
  256. package/dist/lib/src/Emitter.js +18 -0
  257. package/dist/lib/src/Emitter.js.map +1 -0
  258. package/dist/lib/src/LRUCache.d.ts +45 -0
  259. package/dist/lib/src/LRUCache.d.ts.map +1 -0
  260. package/dist/lib/src/LRUCache.js +72 -0
  261. package/dist/lib/src/LRUCache.js.map +1 -0
  262. package/dist/lib/src/TaskQueue.d.ts +21 -0
  263. package/dist/lib/src/TaskQueue.d.ts.map +1 -0
  264. package/dist/lib/src/TaskQueue.js +63 -0
  265. package/dist/lib/src/TaskQueue.js.map +1 -0
  266. package/dist/lib/src/Tools.d.ts +828 -0
  267. package/dist/lib/src/Tools.d.ts.map +1 -0
  268. package/dist/lib/src/Tools.js +1402 -0
  269. package/dist/lib/src/Tools.js.map +1 -0
  270. package/dist/lib/src/index.d.ts +7 -0
  271. package/dist/lib/src/index.d.ts.map +1 -0
  272. package/dist/lib/src/index.js +7 -0
  273. package/dist/lib/src/index.js.map +1 -0
  274. package/dist/lib/src/normalize-url/index.d.ts +286 -0
  275. package/dist/lib/src/normalize-url/index.d.ts.map +1 -0
  276. package/dist/lib/src/normalize-url/index.js +252 -0
  277. package/dist/lib/src/normalize-url/index.js.map +1 -0
  278. package/dist/net/src/adapter.d.ts +47 -0
  279. package/dist/net/src/adapter.d.ts.map +1 -0
  280. package/dist/net/src/adapter.js +130 -0
  281. package/dist/net/src/adapter.js.map +1 -0
  282. package/dist/net/src/auth.d.ts +40 -0
  283. package/dist/net/src/auth.d.ts.map +1 -0
  284. package/dist/net/src/auth.js +124 -0
  285. package/dist/net/src/auth.js.map +1 -0
  286. package/dist/net/src/context.d.ts +10 -0
  287. package/dist/net/src/context.d.ts.map +1 -0
  288. package/dist/net/src/context.js +2 -0
  289. package/dist/net/src/context.js.map +1 -0
  290. package/dist/net/src/diff.d.ts +57 -0
  291. package/dist/net/src/diff.d.ts.map +1 -0
  292. package/dist/net/src/diff.js +162 -0
  293. package/dist/net/src/diff.js.map +1 -0
  294. package/dist/net/src/index.d.ts +15 -0
  295. package/dist/net/src/index.d.ts.map +1 -0
  296. package/dist/net/src/index.js +15 -0
  297. package/dist/net/src/index.js.map +1 -0
  298. package/dist/net/src/message.d.ts +64 -0
  299. package/dist/net/src/message.d.ts.map +1 -0
  300. package/dist/net/src/message.js +37 -0
  301. package/dist/net/src/message.js.map +1 -0
  302. package/dist/net/src/negentropy.d.ts +48 -0
  303. package/dist/net/src/negentropy.d.ts.map +1 -0
  304. package/dist/net/src/negentropy.js +535 -0
  305. package/dist/net/src/negentropy.js.map +1 -0
  306. package/dist/net/src/policy.d.ts +40 -0
  307. package/dist/net/src/policy.d.ts.map +1 -0
  308. package/dist/net/src/policy.js +210 -0
  309. package/dist/net/src/policy.js.map +1 -0
  310. package/dist/net/src/pool.d.ts +13 -0
  311. package/dist/net/src/pool.d.ts.map +1 -0
  312. package/dist/net/src/pool.js +44 -0
  313. package/dist/net/src/pool.js.map +1 -0
  314. package/dist/net/src/publish.d.ts +45 -0
  315. package/dist/net/src/publish.d.ts.map +1 -0
  316. package/dist/net/src/publish.js +98 -0
  317. package/dist/net/src/publish.js.map +1 -0
  318. package/dist/net/src/repository.d.ts +69 -0
  319. package/dist/net/src/repository.d.ts.map +1 -0
  320. package/dist/net/src/repository.js +304 -0
  321. package/dist/net/src/repository.js.map +1 -0
  322. package/dist/net/src/request.d.ts +58 -0
  323. package/dist/net/src/request.d.ts.map +1 -0
  324. package/dist/net/src/request.js +224 -0
  325. package/dist/net/src/request.js.map +1 -0
  326. package/dist/net/src/socket.d.ts +49 -0
  327. package/dist/net/src/socket.d.ts.map +1 -0
  328. package/dist/net/src/socket.js +126 -0
  329. package/dist/net/src/socket.js.map +1 -0
  330. package/dist/net/src/tracker.d.ts +16 -0
  331. package/dist/net/src/tracker.d.ts.map +1 -0
  332. package/dist/net/src/tracker.js +63 -0
  333. package/dist/net/src/tracker.js.map +1 -0
  334. package/dist/net/src/util.d.ts +2 -0
  335. package/dist/net/src/util.d.ts.map +1 -0
  336. package/dist/net/src/util.js +2 -0
  337. package/dist/net/src/util.js.map +1 -0
  338. package/dist/net/src/wrapManager.d.ts +37 -0
  339. package/dist/net/src/wrapManager.d.ts.map +1 -0
  340. package/dist/net/src/wrapManager.js +94 -0
  341. package/dist/net/src/wrapManager.js.map +1 -0
  342. package/dist/signer/src/index.d.ts +7 -0
  343. package/dist/signer/src/index.d.ts.map +1 -0
  344. package/dist/signer/src/index.js +7 -0
  345. package/dist/signer/src/index.js.map +1 -0
  346. package/dist/signer/src/nip59.d.ts +19 -0
  347. package/dist/signer/src/nip59.d.ts.map +1 -0
  348. package/dist/signer/src/nip59.js +70 -0
  349. package/dist/signer/src/nip59.js.map +1 -0
  350. package/dist/signer/src/signers/nip01.d.ts +20 -0
  351. package/dist/signer/src/signers/nip01.d.ts.map +1 -0
  352. package/dist/signer/src/signers/nip01.js +23 -0
  353. package/dist/signer/src/signers/nip01.js.map +1 -0
  354. package/dist/signer/src/signers/nip07.d.ts +23 -0
  355. package/dist/signer/src/signers/nip07.d.ts.map +1 -0
  356. package/dist/signer/src/signers/nip07.js +29 -0
  357. package/dist/signer/src/signers/nip07.js.map +1 -0
  358. package/dist/signer/src/signers/nip46.d.ts +127 -0
  359. package/dist/signer/src/signers/nip46.d.ts.map +1 -0
  360. package/dist/signer/src/signers/nip46.js +379 -0
  361. package/dist/signer/src/signers/nip46.js.map +1 -0
  362. package/dist/signer/src/signers/nip55.d.ts +20 -0
  363. package/dist/signer/src/signers/nip55.d.ts.map +1 -0
  364. package/dist/signer/src/signers/nip55.js +87 -0
  365. package/dist/signer/src/signers/nip55.js.map +1 -0
  366. package/dist/signer/src/util.d.ts +56 -0
  367. package/dist/signer/src/util.d.ts.map +1 -0
  368. package/dist/signer/src/util.js +65 -0
  369. package/dist/signer/src/util.js.map +1 -0
  370. package/dist/tsconfig.build.tsbuildinfo +1 -0
  371. package/dist/util/src/Address.d.ts +21 -0
  372. package/dist/util/src/Address.d.ts.map +1 -0
  373. package/dist/util/src/Address.js +43 -0
  374. package/dist/util/src/Address.js.map +1 -0
  375. package/dist/util/src/Blossom.d.ts +66 -0
  376. package/dist/util/src/Blossom.d.ts.map +1 -0
  377. package/dist/util/src/Blossom.js +124 -0
  378. package/dist/util/src/Blossom.js.map +1 -0
  379. package/dist/util/src/Events.d.ts +71 -0
  380. package/dist/util/src/Events.d.ts.map +1 -0
  381. package/dist/util/src/Events.js +91 -0
  382. package/dist/util/src/Events.js.map +1 -0
  383. package/dist/util/src/Filters.d.ts +48 -0
  384. package/dist/util/src/Filters.d.ts.map +1 -0
  385. package/dist/util/src/Filters.js +182 -0
  386. package/dist/util/src/Filters.js.map +1 -0
  387. package/dist/util/src/Handles.d.ts +15 -0
  388. package/dist/util/src/Handles.d.ts.map +1 -0
  389. package/dist/util/src/Handles.js +25 -0
  390. package/dist/util/src/Handles.js.map +1 -0
  391. package/dist/util/src/Keys.d.ts +37 -0
  392. package/dist/util/src/Keys.d.ts.map +1 -0
  393. package/dist/util/src/Keys.js +26 -0
  394. package/dist/util/src/Keys.js.map +1 -0
  395. package/dist/util/src/Kinds.d.ts +194 -0
  396. package/dist/util/src/Kinds.d.ts.map +1 -0
  397. package/dist/util/src/Kinds.js +203 -0
  398. package/dist/util/src/Kinds.js.map +1 -0
  399. package/dist/util/src/Links.d.ts +3 -0
  400. package/dist/util/src/Links.d.ts.map +1 -0
  401. package/dist/util/src/Links.js +3 -0
  402. package/dist/util/src/Links.js.map +1 -0
  403. package/dist/util/src/Nip42.d.ts +7 -0
  404. package/dist/util/src/Nip42.d.ts.map +1 -0
  405. package/dist/util/src/Nip42.js +9 -0
  406. package/dist/util/src/Nip42.js.map +1 -0
  407. package/dist/util/src/Nip86.d.ts +39 -0
  408. package/dist/util/src/Nip86.d.ts.map +1 -0
  409. package/dist/util/src/Nip86.js +49 -0
  410. package/dist/util/src/Nip86.js.map +1 -0
  411. package/dist/util/src/Nip98.d.ts +9 -0
  412. package/dist/util/src/Nip98.d.ts.map +1 -0
  413. package/dist/util/src/Nip98.js +16 -0
  414. package/dist/util/src/Nip98.js.map +1 -0
  415. package/dist/util/src/Pow.d.ts +11 -0
  416. package/dist/util/src/Pow.d.ts.map +1 -0
  417. package/dist/util/src/Pow.js +127 -0
  418. package/dist/util/src/Pow.js.map +1 -0
  419. package/dist/util/src/Pubkey.d.ts +10 -0
  420. package/dist/util/src/Pubkey.d.ts.map +1 -0
  421. package/dist/util/src/Pubkey.js +32 -0
  422. package/dist/util/src/Pubkey.js.map +1 -0
  423. package/dist/util/src/Relay.d.ts +38 -0
  424. package/dist/util/src/Relay.d.ts.map +1 -0
  425. package/dist/util/src/Relay.js +55 -0
  426. package/dist/util/src/Relay.js.map +1 -0
  427. package/dist/util/src/Tags.d.ts +37 -0
  428. package/dist/util/src/Tags.d.ts.map +1 -0
  429. package/dist/util/src/Tags.js +79 -0
  430. package/dist/util/src/Tags.js.map +1 -0
  431. package/dist/util/src/Wallet.d.ts +32 -0
  432. package/dist/util/src/Wallet.d.ts.map +1 -0
  433. package/dist/util/src/Wallet.js +9 -0
  434. package/dist/util/src/Wallet.js.map +1 -0
  435. package/dist/util/src/Zaps.d.ts +86 -0
  436. package/dist/util/src/Zaps.d.ts.map +1 -0
  437. package/dist/util/src/Zaps.js +184 -0
  438. package/dist/util/src/Zaps.js.map +1 -0
  439. package/dist/util/src/index.d.ts +18 -0
  440. package/dist/util/src/index.d.ts.map +1 -0
  441. package/dist/util/src/index.js +18 -0
  442. package/dist/util/src/index.js.map +1 -0
  443. package/package.json +37 -0
@@ -0,0 +1,828 @@
1
+ export type Obj<T = any> = Record<string, T>;
2
+ export type Maybe<T> = T | undefined;
3
+ export type MaybeAsync<T> = T | Promise<T>;
4
+ export declare const maybe: <T>(x?: T) => T | undefined;
5
+ export declare const isDefined: <T>(x: T, ...args: unknown[]) => x is T & ({} | null);
6
+ export declare const isUndefined: <T>(x: T, ...args: unknown[]) => boolean;
7
+ export declare const assertDefined: <T>(x: T, ...args: unknown[]) => NonNullable<T>;
8
+ export type Override<T, R> = Omit<T, keyof R> & R;
9
+ export type MakeOptional<T, K extends keyof T> = Override<T, Partial<Pick<T, K>>>;
10
+ export type MakeNonOptional<T> = {
11
+ [K in keyof T]-?: T[K];
12
+ };
13
+ /** Function that does nothing and returns undefined */
14
+ export declare const noop: (...args: unknown[]) => undefined;
15
+ /**
16
+ * Returns the input value unchanged
17
+ * @param x - Any value
18
+ * @returns The same value
19
+ */
20
+ export declare const identity: <T>(x: T, ...args: unknown[]) => T;
21
+ /**
22
+ * Creates a function that always returns the same value
23
+ * @param x - Value to return
24
+ * @returns Function that returns x
25
+ */
26
+ export declare const always: <T>(x: T, ...args: unknown[]) => () => T;
27
+ /**
28
+ * Returns the logical NOT of a value
29
+ * @param x - Value to negate
30
+ * @returns !x
31
+ */
32
+ export declare const not: (x: any, ...args: unknown[]) => boolean;
33
+ /**
34
+ * Bind function
35
+ * @param f - Function to bind
36
+ * @returns bound function
37
+ */
38
+ export declare const bind: <F extends (...args: any[]) => any>(f: F, ...args: Parameters<F>) => (...args: any[]) => any;
39
+ /**
40
+ * Runs the provided function on the given value and returns the value
41
+ * @param f - Function to call
42
+ * @returns tapped function
43
+ */
44
+ export declare const tap: <T, F extends (x: T) => unknown>(f: F) => (x: T) => T;
45
+ /**
46
+ * Deep equality comparison
47
+ * @param a - First value
48
+ * @param b - Second value
49
+ * @returns True if values are deeply equal
50
+ */
51
+ export declare const equals: (a: any, b: any) => boolean;
52
+ /** Converts string or number to number */
53
+ export declare const ensureNumber: (x: number | string) => number;
54
+ /** Converts a `number | undefined` to a number, defaulting to 0 */
55
+ export declare const num: (x: number | undefined) => number;
56
+ /** Adds two numbers, handling undefined values */
57
+ export declare const add: (x: number | undefined, y: number | undefined) => number;
58
+ /** Subtracts two numbers, handling undefined values */
59
+ export declare const sub: (x: number | undefined, y: number | undefined) => number;
60
+ /** Multiplies two numbers, handling undefined values */
61
+ export declare const mul: (x: number | undefined, y: number | undefined) => number;
62
+ /** Divides two numbers, handling undefined values */
63
+ export declare const div: (x: number | undefined, y: number) => number;
64
+ /** Increments a number by 1, handling undefined values */
65
+ export declare const inc: (x: number | undefined) => number;
66
+ /** Decrements a number by 1, handling undefined values */
67
+ export declare const dec: (x: number | undefined) => number;
68
+ /** Less than comparison, handling undefined values */
69
+ export declare const lt: (x: number | undefined, y: number | undefined) => boolean;
70
+ /** Less than or equal comparison, handling undefined values */
71
+ export declare const lte: (x: number | undefined, y: number | undefined) => boolean;
72
+ /** Greater than comparison, handling undefined values */
73
+ export declare const gt: (x: number | undefined, y: number | undefined) => boolean;
74
+ /** Greater than or equal comparison, handling undefined values */
75
+ export declare const gte: (x: number | undefined, y: number | undefined) => boolean;
76
+ /** Returns maximum value in array, handling undefined values */
77
+ export declare const max: (xs: (number | undefined)[]) => number;
78
+ /** Returns minimum value in array, handling undefined values */
79
+ export declare const min: (xs: (number | undefined)[]) => number;
80
+ /** Returns sum of array values, handling undefined values */
81
+ export declare const sum: (xs: (number | undefined)[]) => number;
82
+ /** Returns average of array values, handling undefined values */
83
+ export declare const avg: (xs: (number | undefined)[]) => number;
84
+ /**
85
+ * Checks if a number is between two values (exclusive)
86
+ * @param bounds - Lower and upper bounds
87
+ * @param n - Number to check
88
+ * @returns True if n is between low and high
89
+ */
90
+ export declare const between: ([low, high]: [number, number], n: number) => boolean;
91
+ /**
92
+ * Checks if a number is between two values (inclusive)
93
+ * @param bounds - Lower and upper bounds
94
+ * @param n - Number to check
95
+ * @returns True if n is between low and high
96
+ */
97
+ export declare const within: ([low, high]: [number, number], n: number) => boolean;
98
+ /**
99
+ * Constrains number between min and max values
100
+ * @param bounds - Minimum and maximum allowed values
101
+ * @param n - Number to clamp
102
+ * @returns Clamped value
103
+ */
104
+ export declare const clamp: ([min, max]: [number, number], n: number) => number;
105
+ /**
106
+ * Round a number to the nearest float precision
107
+ * @param precision - Number of decimal places
108
+ * @param x - Number to round
109
+ * @returns Formatted number
110
+ */
111
+ export declare const round: (precision: number, x: number) => number;
112
+ /** One minute in seconds */
113
+ export declare const MINUTE = 60;
114
+ /** One hour in seconds */
115
+ export declare const HOUR: number;
116
+ /** One day in seconds */
117
+ export declare const DAY: number;
118
+ /** One week in seconds */
119
+ export declare const WEEK: number;
120
+ /** One month in seconds (approximate) */
121
+ export declare const MONTH: number;
122
+ /** One quarter in seconds (approximate) */
123
+ export declare const QUARTER: number;
124
+ /** One year in seconds (approximate) */
125
+ export declare const YEAR: number;
126
+ /** User's default locale */
127
+ export declare const LOCALE: string;
128
+ /** User's default timezone */
129
+ export declare const TIMEZONE: string;
130
+ /**
131
+ * Multiplies time unit by count
132
+ * @param unit - Time unit in seconds
133
+ * @param count - Number of units
134
+ * @returns Total seconds
135
+ */
136
+ export declare const int: (unit: number, count?: number) => number;
137
+ /** Returns current Unix timestamp in seconds */
138
+ export declare const now: () => number;
139
+ /**
140
+ * Returns Unix timestamp from specified time ago
141
+ * @param unit - Time unit in seconds
142
+ * @param count - Number of units
143
+ * @returns Timestamp in seconds
144
+ */
145
+ export declare const ago: (unit: number, count?: number) => number;
146
+ /**
147
+ * Converts seconds to milliseconds
148
+ * @param seconds - Time in seconds
149
+ * @returns Time in milliseconds
150
+ */
151
+ export declare const ms: (seconds: number) => number;
152
+ /**
153
+ * Converts seconds to date
154
+ * @param seconds - Time in seconds
155
+ * @returns Date object
156
+ */
157
+ export declare const secondsToDate: (seconds: number) => Date;
158
+ /**
159
+ * Converts date object to seconds
160
+ * @param date - Date object
161
+ * @returns timestamp in seconds
162
+ */
163
+ export declare const dateToSeconds: (date: Date) => number;
164
+ /**
165
+ * Creates a local date from a date string
166
+ * @param dateString - date string
167
+ * @param timezone - timezone string
168
+ * @returns timezone-aware Date object
169
+ */
170
+ export declare const createLocalDate: (dateString: any, timezone?: string) => Date;
171
+ /** Formatter for date+time */
172
+ export declare const dateTimeFormatter: Intl.DateTimeFormat;
173
+ /**
174
+ * Formats seconds as a datetime
175
+ * @param seconds - timestamp in seconds
176
+ * @returns datetime string
177
+ */
178
+ export declare const formatTimestamp: (seconds: number) => string;
179
+ /** Formatter for date */
180
+ export declare const dateFormatter: Intl.DateTimeFormat;
181
+ /**
182
+ * Formats seconds as a date
183
+ * @param seconds - timestamp in seconds
184
+ * @returns date string
185
+ */
186
+ export declare const formatTimestampAsDate: (ts: number) => string;
187
+ /** Formatter for time */
188
+ export declare const timeFormatter: Intl.DateTimeFormat;
189
+ /**
190
+ * Formats seconds as a time
191
+ * @param seconds - timestamp in seconds
192
+ * @returns time string
193
+ */
194
+ export declare const formatTimestampAsTime: (ts: number) => string;
195
+ /**
196
+ * Formats seconds as a relative date (x minutes ago)
197
+ * @param seconds - timestamp in seconds
198
+ * @returns relative date string
199
+ */
200
+ export declare const formatTimestampRelative: (ts: number) => string;
201
+ /**
202
+ * Returns the first element of an array
203
+ * @param xs - The array
204
+ * @returns First element or undefined
205
+ */
206
+ export declare const first: <T>(xs: Iterable<T>, ...args: unknown[]) => T | undefined;
207
+ /**
208
+ * Returns the first element of the first array in a nested array
209
+ * @param xs - Array of arrays
210
+ * @returns First element of first array or undefined
211
+ */
212
+ export declare const ffirst: <T>(xs: Iterable<Iterable<T>>, ...args: unknown[]) => T | undefined;
213
+ /**
214
+ * Returns the last element of an array
215
+ * @param xs - The array
216
+ * @returns Last element or undefined
217
+ */
218
+ export declare const last: <T>(xs: Iterable<T>, ...args: unknown[]) => T;
219
+ /**
220
+ * Returns array with first n elements removed
221
+ * @param n - Number of elements to drop
222
+ * @param xs - Input array
223
+ * @returns Array with first n elements removed
224
+ */
225
+ export declare const drop: <T>(n: number, xs: Iterable<T>) => T[];
226
+ /**
227
+ * Returns first n elements of array
228
+ * @param n - Number of elements to take
229
+ * @param xs - Input array
230
+ * @returns Array of first n elements
231
+ */
232
+ export declare const take: <T>(n: number, xs: Iterable<T>) => T[];
233
+ /**
234
+ * Concatenates multiple arrays, filtering out null/undefined
235
+ * @param xs - Arrays to concatenate
236
+ * @returns Combined array
237
+ */
238
+ export declare const concat: <T>(...xs: T[][]) => T[];
239
+ /**
240
+ * Appends element to array
241
+ * @param x - Element to append
242
+ * @param xs - Array to append to
243
+ * @returns New array with element appended
244
+ */
245
+ export declare const append: <T>(x: T, xs: Iterable<T>) => T[];
246
+ /**
247
+ * Prepends element to array
248
+ * @param x - Element to prepend
249
+ * @param xs - Array to prepend to
250
+ * @returns New array with element prepended
251
+ */
252
+ export declare const prepend: <T>(x: T, xs: Iterable<T>) => T[];
253
+ /**
254
+ * Creates union of two arrays
255
+ * @param a - First array
256
+ * @param b - Second array
257
+ * @returns Array containing unique elements from both arrays
258
+ */
259
+ export declare const union: <T>(a: Iterable<T>, b: Iterable<T>) => T[];
260
+ /**
261
+ * Returns elements common to both arrays
262
+ * @param a - First array
263
+ * @param b - Second array
264
+ * @returns Array of elements present in both inputs
265
+ */
266
+ export declare const intersection: <T>(a: Iterable<T>, b: Iterable<T>) => T[];
267
+ /**
268
+ * Returns elements in first array not present in second
269
+ * @param a - Source array
270
+ * @param b - Array of elements to exclude
271
+ * @returns Array containing elements unique to first array
272
+ */
273
+ export declare const difference: <T>(a: Iterable<T>, b: Iterable<T>) => T[];
274
+ /**
275
+ * Removes all instances of an element from array
276
+ * @param a - Element to remove
277
+ * @param xs - Source array
278
+ * @returns New array with element removed
279
+ */
280
+ export declare const remove: <T>(a: T, xs: T[]) => T[];
281
+ /**
282
+ * Removes element at index
283
+ * @param i - Index to remove
284
+ * @param xs - Source array
285
+ * @returns New array with element removed
286
+ */
287
+ export declare const removeAt: <T>(i: number, xs: T[]) => T[];
288
+ /**
289
+ * Returns elements from second array not present in first
290
+ * @param a - Array of elements to exclude
291
+ * @param b - Source array
292
+ * @returns Filtered array
293
+ */
294
+ export declare const without: <T>(a: T[], b: T[]) => T[];
295
+ /**
296
+ * Toggles presence of element in array
297
+ * @param x - Element to toggle
298
+ * @param xs - Source array
299
+ * @returns New array with element added or removed
300
+ */
301
+ export declare const toggle: <T>(x: T, xs: T[]) => T[];
302
+ /**
303
+ * Generates sequence of numbers from a to b
304
+ * @param a - Start number (inclusive)
305
+ * @param b - End number (exclusive)
306
+ * @param step - Increment between numbers
307
+ * @yields Numbers in sequence
308
+ */
309
+ export declare function range(a: number, b: number, step?: number): Generator<number, void, unknown>;
310
+ /**
311
+ * Yields indexed items
312
+ * @param items - A collection of items
313
+ * @yields tuples of [index, item]
314
+ */
315
+ export declare function enumerate<T>(items: T[]): Generator<[number, T], void, unknown>;
316
+ /** Returns a function that gets property value from object */
317
+ export declare const pluck: <T>(k: string, xs: Record<string, unknown>[]) => T[];
318
+ /**
319
+ * Creates object from array of key-value pairs
320
+ * @param pairs - Array of [key, value] tuples
321
+ * @returns Object with keys and values from pairs
322
+ */
323
+ export declare const fromPairs: <T>(pairs: [k?: string, v?: T, ...args: unknown[]][]) => Record<string, T>;
324
+ /**
325
+ * Flattens array of arrays into single array
326
+ * @param xs - Array of arrays to flatten
327
+ * @returns Flattened array
328
+ */
329
+ export declare const flatten: <T>(xs: (T | T[])[], ...args: unknown[]) => T[];
330
+ /**
331
+ * Splits array into two arrays based on predicate
332
+ * @param f - Function to test elements
333
+ * @param xs - Array to partition
334
+ * @returns Tuple of [matching, non-matching] arrays
335
+ */
336
+ export declare const partition: <T>(f: (x: T) => boolean, xs: Iterable<T>) => T[][];
337
+ /** Maps any iterable */
338
+ export declare const map: <T, R>(f: (x: T) => R, xs: Iterable<T>) => R[];
339
+ /**
340
+ * Keeps items based on predicate
341
+ * @param f - Whether to keep an item
342
+ * @param xs - Items to filter
343
+ * @returns Filtered array
344
+ */
345
+ export declare const filter: <T>(f: (x: T) => any, xs: Iterable<T>) => T[];
346
+ /**
347
+ * Removes items based on predicate
348
+ * @param f - Whether to remove an item from the array
349
+ * @param xs - Items to filter
350
+ * @returns Filtered array
351
+ */
352
+ export declare const reject: <T>(f: (x: T) => any, xs: Iterable<T>) => T[];
353
+ /**
354
+ * Finds a single item based on predicate
355
+ * @param f - Whether an item matches
356
+ * @param xs - Items to filter
357
+ * @returns first matching item
358
+ */
359
+ export declare const find: <T>(f: (x: T) => any, xs: Iterable<T>) => T | undefined;
360
+ /**
361
+ * Finds a single item based on predicate
362
+ * @param f - Whether an item matches
363
+ * @param xs - Items to filter
364
+ * @returns whether an item matches
365
+ */
366
+ export declare const some: <T>(f: (x: T) => any, xs: Iterable<T>) => boolean;
367
+ /**
368
+ * Returns array with duplicate elements removed
369
+ * @param xs - Array with possible duplicates
370
+ * @returns Array with unique elements
371
+ */
372
+ export declare const uniq: <T>(xs: T[]) => T[];
373
+ /**
374
+ * Returns array with elements unique by key function
375
+ * @param f - Function to generate key for each element
376
+ * @param xs - Input array
377
+ * @returns Array with elements unique by key
378
+ */
379
+ export declare const uniqBy: <T>(f: (x: T) => any, xs: Iterable<T>) => T[];
380
+ /**
381
+ * Returns sorted copy of array
382
+ * @param xs - Array to sort
383
+ * @returns New sorted array
384
+ */
385
+ export declare const sort: <T>(xs: T[]) => T[];
386
+ /**
387
+ * Returns array sorted by key function
388
+ * @param f - Function to generate sort key
389
+ * @param xs - Array to sort
390
+ * @returns Sorted array
391
+ */
392
+ export declare const sortBy: <T>(f: (x: T) => any, xs: Iterable<T>) => T[];
393
+ /**
394
+ * Groups array elements by key function
395
+ * @param f - Function to generate group key
396
+ * @param xs - Array to group
397
+ * @returns Map of groups
398
+ */
399
+ export declare const groupBy: <T, K>(f: (x: T) => K, xs: Iterable<T>) => Map<K, T[]>;
400
+ /**
401
+ * Counts array elements by key function
402
+ * @param f - Function to generate group key
403
+ * @param xs - Array to count entries
404
+ * @returns Map of counts
405
+ */
406
+ export declare const countBy: <T, K>(f: (x: T) => K, xs: T[]) => Map<K, number>;
407
+ /**
408
+ * Creates map from array using key function
409
+ * @param f - Function to generate key
410
+ * @param xs - Array to index
411
+ * @returns Map of values by key
412
+ */
413
+ export declare const indexBy: <T, K>(f: (x: T) => K, xs: T[]) => Map<K, T>;
414
+ /**
415
+ * Creates array of specified length using generator function
416
+ * @param n - Length of array
417
+ * @param f - Function to generate each element
418
+ * @returns Generated array
419
+ */
420
+ export declare const initArray: <T>(n: number, f: () => T) => T[];
421
+ /**
422
+ * Splits array into chunks of specified length
423
+ * @param chunkLength - Maximum length of each chunk
424
+ * @param xs - Array to split
425
+ * @returns Array of chunks
426
+ */
427
+ export declare const chunk: <T>(chunkLength: number, xs: Iterable<T>) => T[][];
428
+ /**
429
+ * Splits array into specified number of chunks
430
+ * @param n - Number of chunks
431
+ * @param xs - Array to split
432
+ * @returns Array of n chunks
433
+ */
434
+ export declare const chunks: <T>(n: number, xs: T[]) => T[][];
435
+ /** Splits array into two parts at index */
436
+ export declare const splitAt: <T>(n: number, xs: T[]) => T[][];
437
+ /** Inserts element into array at index */
438
+ export declare const insertAt: <T>(n: number, x: T, xs: T[]) => T[];
439
+ /** Replaces array element at index */
440
+ export declare const replaceAt: <T>(n: number, x: T, xs: T[]) => T[];
441
+ /** Returns random element from array */
442
+ export declare const choice: <T>(xs: T[]) => T;
443
+ /** Returns shuffled copy of iterable */
444
+ export declare const shuffle: <T>(xs: Iterable<T>) => T[];
445
+ /** Returns n random elements from array */
446
+ export declare const sample: <T>(n: number, xs: T[]) => T[];
447
+ /** Checks if value is iterable */
448
+ export declare const isIterable: (x: any) => boolean;
449
+ /** Ensures value is iterable by wrapping in array if needed */
450
+ export declare const toIterable: (x: any) => any;
451
+ /** Ensures value is array by wrapping if needed */
452
+ export declare const ensurePlural: <T>(x: T | T[]) => T[];
453
+ /** Ensures values are not undefined */
454
+ export declare const removeUndefined: <T>(xs: T[]) => (T & {})[];
455
+ /** Returns a list of overlapping pairs of elements in xs */
456
+ export declare const overlappingPairs: <T>(xs: T[]) => T[][];
457
+ /**
458
+ * Checks if value is a plain object
459
+ * @param obj - Value to check
460
+ * @returns True if value is a plain object
461
+ */
462
+ export declare const isPojo: (obj: any) => boolean;
463
+ /**
464
+ * Creates new object with only specified keys
465
+ * @param ks - Keys to keep
466
+ * @param x - Source object
467
+ * @returns New object with only specified keys
468
+ */
469
+ export declare const pick: <T extends Obj>(ks: string[], x: T) => T;
470
+ /**
471
+ * Creates new object with specified keys removed
472
+ * @param ks - Keys to remove
473
+ * @param x - Source object
474
+ * @returns New object without specified keys
475
+ */
476
+ export declare const omit: <T extends Obj>(ks: string[], x: T) => T;
477
+ /**
478
+ * Creates new object excluding entries with specified values
479
+ * @param xs - Values to exclude
480
+ * @param x - Source object
481
+ * @returns New object without entries containing specified values
482
+ */
483
+ export declare const omitVals: <T extends Obj>(xs: any[], x: T) => T;
484
+ /**
485
+ * Filters object values based on predicate
486
+ * @param f - Function to test values
487
+ * @param x - Object to filter
488
+ * @returns Object with only values that pass predicate
489
+ */
490
+ export declare const filterVals: <T extends Record<string, any>>(f: (v: any) => boolean, x: T) => T;
491
+ /**
492
+ * Creates new object with transformed keys
493
+ * @param f - Function to transform keys
494
+ * @param x - Source object
495
+ * @returns Object with transformed keys
496
+ */
497
+ export declare const mapKeys: <T extends Obj>(f: (v: string) => string, x: T) => T;
498
+ /**
499
+ * Creates new object with transformed values
500
+ * @param f - Function to transform values
501
+ * @param x - Source object
502
+ * @returns Object with transformed values
503
+ */
504
+ export declare const mapVals: <V, U>(f: (v: V) => U, x: Record<string, V>) => Record<string, U>;
505
+ /**
506
+ * Merges two objects, with left object taking precedence
507
+ * @param a - Left object
508
+ * @param b - Right object
509
+ * @returns Merged object with a"s properties overriding b"s
510
+ */
511
+ export declare const mergeLeft: <T extends Obj>(a: T, b: T) => T;
512
+ /**
513
+ * Merges two objects, with right object taking precedence
514
+ * @param a - Left object
515
+ * @param b - Right object
516
+ * @returns Merged object with b"s properties overriding a"s
517
+ */
518
+ export declare const mergeRight: <T extends Obj>(a: T, b: T) => T;
519
+ /** Deep merge two objects, prioritizing the first argument. */
520
+ export declare const deepMergeLeft: (a: Obj, b: Obj) => Obj<any>;
521
+ /** Deep merge two objects, prioritizing the second argument. */
522
+ export declare const deepMergeRight: (a: Obj, b: Obj) => Obj<any>;
523
+ /**
524
+ * Switches on key in object, with default fallback
525
+ * @param k - Key to look up
526
+ * @param m - Object with values and optional default
527
+ * @returns Value at key or default value
528
+ */
529
+ export declare const switcher: <T>(k: string, m: Record<string, T>) => T;
530
+ export declare const mapPop: <K, T>(k: K, m: Map<K, T>) => T | undefined;
531
+ /** Returns a function that returns the boolean negation of the given function */
532
+ export declare const complement: <T extends unknown[]>(f: (...args: T) => any) => (...args: T) => boolean;
533
+ /**
534
+ * Safely executes function and handles errors
535
+ * @param f - Function to execute
536
+ * @param onError - Optional error handler
537
+ * @returns Function result or undefined if error
538
+ */
539
+ export declare const tryCatch: <T>(f: () => T, onError?: (e: Error) => void) => T | undefined;
540
+ /**
541
+ * Throws an error with the given message
542
+ */
543
+ export declare const thrower: (message: string) => (...args: unknown[]) => never;
544
+ /**
545
+ * Creates function that only executes once
546
+ * @param f - Function to wrap
547
+ * @returns Function that executes f only on first call
548
+ */
549
+ export declare const once: (f: (...args: any) => void) => (...args: any) => void;
550
+ /**
551
+ * Calls a function
552
+ * @param f - Function to call
553
+ * @returns Whatever f returns
554
+ */
555
+ export declare const call: <T>(f: () => T, ...args: unknown[]) => T;
556
+ /**
557
+ * Memoizes function results based on arguments
558
+ * @param f - Function to memoize
559
+ * @returns Memoized function
560
+ */
561
+ export declare const memoize: <T, Args extends any[]>(f: (...args: Args) => T) => (...args: Args) => T;
562
+ /**
563
+ * Executes a function on the given value
564
+ * @param x - The value
565
+ * @param f - Function to execute
566
+ * @returns result of f(x)
567
+ */
568
+ export declare const doLet: <T>(x: T, f: <R>(x: T) => R) => unknown;
569
+ /**
570
+ * Executes a function if the value is defined
571
+ * @param x - The value to check
572
+ * @param f - Function to execute if x is defined
573
+ * @returns result of f(x) if x is defined, undefined otherwise
574
+ */
575
+ export declare const ifLet: <T>(x: T | undefined, f: (x: T) => void) => void;
576
+ /**
577
+ * Generates random integer between min and max (inclusive)
578
+ * @param min - Minimum value
579
+ * @param max - Maximum value
580
+ * @returns Random integer
581
+ */
582
+ export declare const randomInt: (min?: number, max?: number) => number;
583
+ /**
584
+ * Generates random string ID
585
+ * @returns Random string suitable for use as an ID
586
+ */
587
+ export declare const randomId: () => string;
588
+ /**
589
+ * Creates a promise that resolves after specified time
590
+ * @param t - Time in milliseconds
591
+ * @returns Promise that resolves after t milliseconds
592
+ */
593
+ export declare const sleep: (t: number) => Promise<unknown>;
594
+ export type PollOptions = {
595
+ signal: AbortSignal;
596
+ condition: () => unknown;
597
+ interval?: number;
598
+ };
599
+ /**
600
+ * Creates a promise that resolves after the condition completes or timeout
601
+ * @param options - PollOptions
602
+ * @returns void Promise
603
+ */
604
+ export declare const poll: ({ interval, condition, signal }: PollOptions) => Promise<void>;
605
+ /**
606
+ * Creates a microtask that yields to other tasks in the event loop
607
+ * @returns Promise that resolves after yielding
608
+ */
609
+ export declare const yieldThread: () => any;
610
+ /**
611
+ * Creates throttled version of function
612
+ * @param ms - Minimum time between calls
613
+ * @param f - Function to throttle
614
+ * @returns Throttled function
615
+ */
616
+ export declare const throttle: <F extends (...args: any[]) => any>(ms: number, f: F) => F | ((...args: Parameters<F>) => void);
617
+ /**
618
+ * Creates throttled function that returns cached value
619
+ * @param ms - Minimum time between updates
620
+ * @param f - Function to throttle
621
+ * @returns Function returning latest value
622
+ */
623
+ export declare const throttleWithValue: <T>(ms: number, f: () => T) => () => T;
624
+ /**
625
+ * Creates batching function that collects items
626
+ * this function does not delay execution, if a series of items is passed in sequence
627
+ * the first item will be processed immediately, and the rest will be batched
628
+ * @param t - Time window for batching
629
+ * @param f - Function to process batch
630
+ * @returns Function that adds items to batch
631
+ */
632
+ export declare const batch: <T>(t: number, f: (xs: T[]) => void) => (x: T) => void;
633
+ /**
634
+ * Creates batching function that returns results
635
+ * @param t - Time window for batching
636
+ * @param execute - Function to process batch
637
+ * @returns Function that returns promise of result
638
+ */
639
+ export declare const batcher: <T, U>(t: number, execute: (request: T[]) => U[] | Promise<U[]>) => (request: T) => Promise<U>;
640
+ /**
641
+ * Returns a promise that resolves after some proportion of promises complete
642
+ * @param threshold - number between 0 and 1 for how many promises to wait for
643
+ * @param promises - array of promises
644
+ * @returns promise
645
+ */
646
+ export declare const race: (threshold: number, promises: Promise<unknown>[]) => Promise<void>;
647
+ /**
648
+ * Removes protocol (http://, https://, etc) from URL
649
+ * @param url - URL to process
650
+ * @returns URL without protocol
651
+ */
652
+ export declare const stripProtocol: (url: string) => string;
653
+ /**
654
+ * Formats URL for display by removing protocol, www, and trailing slash
655
+ * @param url - URL to format
656
+ * @returns Formatted URL
657
+ */
658
+ export declare const displayUrl: (url: string) => string;
659
+ /**
660
+ * Extracts and formats domain from URL
661
+ * @param url - URL to process
662
+ * @returns Formatted domain name
663
+ */
664
+ export declare const displayDomain: (url: string) => string;
665
+ /**
666
+ * Safely parses JSON string
667
+ * @param json - JSON string to parse
668
+ * @returns Parsed object or null if invalid
669
+ */
670
+ export declare function parseJson<T = any>(json: string | undefined): T | undefined;
671
+ /**
672
+ * Gets and parses JSON from localStorage
673
+ * @param k - Storage key
674
+ * @returns Parsed value or undefined if invalid/missing
675
+ */
676
+ export declare const getJson: (k: string) => any;
677
+ /**
678
+ * Stringifies and stores value in localStorage
679
+ * @param k - Storage key
680
+ * @param v - Value to store
681
+ */
682
+ export declare const setJson: (k: string, v: any) => void;
683
+ /** Options for fetch requests */
684
+ type FetchOpts = {
685
+ method?: string;
686
+ signal?: AbortSignal;
687
+ headers?: Record<string, string | boolean>;
688
+ body?: string | FormData;
689
+ };
690
+ /**
691
+ * Fetches JSON from URL with options
692
+ * @param url - URL to fetch from
693
+ * @param opts - Fetch options
694
+ * @returns Promise of parsed JSON response
695
+ */
696
+ export declare const fetchJson: (url: string, opts?: FetchOpts) => Promise<any>;
697
+ /**
698
+ * Posts JSON data to URL
699
+ * @param url - URL to post to
700
+ * @param data - Data to send
701
+ * @param opts - Additional fetch options
702
+ * @returns Promise of parsed JSON response
703
+ */
704
+ export declare const postJson: <T>(url: string, data: T, opts?: FetchOpts) => Promise<any>;
705
+ /**
706
+ * Uploads file to URL
707
+ * @param url - Upload URL
708
+ * @param file - File to upload
709
+ * @returns Promise of parsed JSON response
710
+ */
711
+ export declare const uploadFile: (url: string, file: File) => Promise<any>;
712
+ /**
713
+ * A generic type-safe event listener function that works with event emitters.
714
+ *
715
+ * @param target - The event target object with add/remove listener methods
716
+ * @param eventName - The name of the event to listen for
717
+ * @param callback - The callback function to execute when the event occurs
718
+ * @returns A function that removes the event listener when called
719
+ */
720
+ export declare const on: <EventMap extends Record<string | symbol, any[]>, E extends keyof EventMap>(target: {
721
+ on(event: E, listener: (...args: EventMap[E]) => any): any;
722
+ off(event: E, listener: (...args: EventMap[E]) => any): any;
723
+ }, eventName: E, callback: (...args: EventMap[E]) => void) => (() => void);
724
+ /**
725
+ * Truncates string to length, breaking at word boundaries
726
+ * @param s - String to truncate
727
+ * @param l - Maximum length
728
+ * @param suffix - String to append if truncated
729
+ * @returns Truncated string
730
+ */
731
+ export declare const ellipsize: (s: string, l: number, suffix?: string) => string;
732
+ /** Displays a list of items with oxford commas and a chosen conjunction */
733
+ export declare const displayList: <T>(xs: T[], conj?: string, n?: number) => string;
734
+ /** Generates a hash from input string */
735
+ export declare const hash: (s: string) => number;
736
+ /** Returns a function that gets the nth element of an array */
737
+ export declare const nth: (i: number) => <T>(xs: T[], ...args: unknown[]) => T;
738
+ /** Returns a function that checks if nth element equals value */
739
+ export declare const nthEq: (i: number, v: any) => (xs: any[], ...args: unknown[]) => boolean;
740
+ /** Returns a function that checks if nth element is in value */
741
+ export declare const nthIn: (i: number, v: any[]) => (xs: any[], ...args: unknown[]) => boolean;
742
+ /** Returns a function that checks if nth element does not equal value */
743
+ export declare const nthNe: (i: number, v: any) => (xs: any[], ...args: unknown[]) => boolean;
744
+ /** Returns a function that checks if nth element is not in value */
745
+ export declare const nthNotIn: (i: number, v: any[]) => (xs: any[], ...args: unknown[]) => boolean;
746
+ /** Returns a function that checks if key/value pairs of x match all pairs in spec */
747
+ export declare const spec: (values: Obj | Array<any>) => (x: Obj | Array<any>, ...args: unknown[]) => boolean;
748
+ /** Returns a function that checks equality with value */
749
+ export declare const eq: <T>(v: T) => (x: T, ...args: unknown[]) => boolean;
750
+ /** Returns a function that checks inequality with value */
751
+ export declare const ne: <T>(v: T) => (x: T, ...args: unknown[]) => boolean;
752
+ /** Returns a function that gets property value from object */
753
+ export declare const prop: <T>(k: string) => (x: Record<string, unknown>) => T;
754
+ /** Returns a function that checks whether the object's property value is in a list */
755
+ export declare const propIn: <T>(k: string, xs: T[]) => (x: Record<string, unknown>) => boolean;
756
+ /** Returns a function that adds/updates a property on object */
757
+ export declare const assoc: <K extends string, T>(k: K, v: T) => <U>(o: U) => U;
758
+ /** Returns a function that removes a property on object */
759
+ export declare const dissoc: <K extends string, T extends Obj>(k: K) => (o: T) => T;
760
+ /** Returns a function that checks whether a value is in the given sequence */
761
+ export declare const member: <T>(xs: Iterable<T>) => (x: T) => boolean;
762
+ /** Returns a function that checks whether all predicates pass */
763
+ export declare const allPass: <T>(...predicates: ((x: T) => unknown)[]) => (x: T) => boolean;
764
+ /** Returns a function that checks whether some predicate passes */
765
+ export declare const somePass: <T>(...predicates: ((x: T) => unknown)[]) => (x: T) => boolean;
766
+ /**
767
+ * Adds value to Set at key in object
768
+ * @param m - Object mapping keys to Sets
769
+ * @param k - Key to add to
770
+ * @param v - Value to add
771
+ */
772
+ export declare const addToKey: <T>(m: Record<string, Set<T>>, k: string, v: T) => void;
773
+ /**
774
+ * Pushes value to array at key in object
775
+ * @param m - Object mapping keys to arrays
776
+ * @param k - Key to push to
777
+ * @param v - Value to push
778
+ */
779
+ export declare const pushToKey: <T>(m: Record<string, T[]>, k: string, v: T) => void;
780
+ /**
781
+ * Adds value to Set at key in Map
782
+ * @param m - Map of Sets
783
+ * @param k - Key to add to
784
+ * @param v - Value to add
785
+ */
786
+ export declare const addToMapKey: <K, T>(m: Map<K, Set<T>>, k: K, v: T) => void;
787
+ /**
788
+ * Pushes value to array at key in Map
789
+ * @param m - Map of arrays
790
+ * @param k - Key to push to
791
+ * @param v - Value to push
792
+ */
793
+ export declare const pushToMapKey: <K, T>(m: Map<K, T[]>, k: K, v: T) => void;
794
+ /**
795
+ * Converts hex string to bech32 format
796
+ * @param prefix - Bech32 prefix
797
+ * @param hex - Hex string to convert
798
+ * @returns Bech32 encoded string
799
+ */
800
+ export declare const hexToBech32: (prefix: string, hex: string) => `${Lowercase<string>}1${string}`;
801
+ /**
802
+ * Converts bech32 string to hex format
803
+ * @param b32 - Bech32 string to convert
804
+ * @returns Hex encoded string
805
+ */
806
+ export declare const bech32ToHex: (b32: string) => string;
807
+ /**
808
+ * Converts an array buffer or Uint8Array to hex format
809
+ * @param buffer - ArrayBuffer or Uint8Array to convert
810
+ * @returns Hex encoded string
811
+ */
812
+ export declare const bytesToHex: (buffer: ArrayBuffer | Uint8Array) => string;
813
+ /**
814
+ * Converts a hex string to an array buffer
815
+ * @param hex - hex string
816
+ * @returns ArrayBuffer
817
+ */
818
+ export declare const hexToBytes: (hex: string) => Uint8Array<ArrayBuffer>;
819
+ export declare const textEncoder: TextEncoder;
820
+ export declare const textDecoder: TextDecoder;
821
+ /**
822
+ * Computes SHA-256 hash of binary data
823
+ * @param data - Binary data to hash
824
+ * @returns Promise resolving to hex-encoded hash string
825
+ */
826
+ export declare const sha256: (data: ArrayBuffer | Uint8Array) => Promise<string>;
827
+ export {};
828
+ //# sourceMappingURL=Tools.d.ts.map