@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.
- package/LICENSE +21 -0
- package/dist/domain/src/EventBuilder.d.ts +35 -0
- package/dist/domain/src/EventBuilder.d.ts.map +1 -0
- package/dist/domain/src/EventBuilder.js +111 -0
- package/dist/domain/src/EventBuilder.js.map +1 -0
- package/dist/domain/src/EventReader.d.ts +24 -0
- package/dist/domain/src/EventReader.d.ts.map +1 -0
- package/dist/domain/src/EventReader.js +57 -0
- package/dist/domain/src/EventReader.js.map +1 -0
- package/dist/domain/src/ListBuilder.d.ts +21 -0
- package/dist/domain/src/ListBuilder.d.ts.map +1 -0
- package/dist/domain/src/ListBuilder.js +73 -0
- package/dist/domain/src/ListBuilder.js.map +1 -0
- package/dist/domain/src/ListReader.d.ts +12 -0
- package/dist/domain/src/ListReader.d.ts.map +1 -0
- package/dist/domain/src/ListReader.js +31 -0
- package/dist/domain/src/ListReader.js.map +1 -0
- package/dist/domain/src/index.d.ts +54 -0
- package/dist/domain/src/index.d.ts.map +1 -0
- package/dist/domain/src/index.js +54 -0
- package/dist/domain/src/index.js.map +1 -0
- package/dist/domain/src/kinds/BlockedRelayList.d.ts +15 -0
- package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/BlockedRelayList.js +30 -0
- package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -0
- package/dist/domain/src/kinds/BlossomServerList.d.ts +15 -0
- package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -0
- package/dist/domain/src/kinds/BlossomServerList.js +30 -0
- package/dist/domain/src/kinds/BlossomServerList.js.map +1 -0
- package/dist/domain/src/kinds/BookmarkList.d.ts +17 -0
- package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -0
- package/dist/domain/src/kinds/BookmarkList.js +36 -0
- package/dist/domain/src/kinds/BookmarkList.js.map +1 -0
- package/dist/domain/src/kinds/Classified.d.ts +27 -0
- package/dist/domain/src/kinds/Classified.d.ts.map +1 -0
- package/dist/domain/src/kinds/Classified.js +65 -0
- package/dist/domain/src/kinds/Classified.js.map +1 -0
- package/dist/domain/src/kinds/Comment.d.ts +29 -0
- package/dist/domain/src/kinds/Comment.d.ts.map +1 -0
- package/dist/domain/src/kinds/Comment.js +82 -0
- package/dist/domain/src/kinds/Comment.js.map +1 -0
- package/dist/domain/src/kinds/EmojiList.d.ts +16 -0
- package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -0
- package/dist/domain/src/kinds/EmojiList.js +33 -0
- package/dist/domain/src/kinds/EmojiList.js.map +1 -0
- package/dist/domain/src/kinds/Feed.d.ts +17 -0
- package/dist/domain/src/kinds/Feed.d.ts.map +1 -0
- package/dist/domain/src/kinds/Feed.js +33 -0
- package/dist/domain/src/kinds/Feed.js.map +1 -0
- package/dist/domain/src/kinds/FeedList.d.ts +15 -0
- package/dist/domain/src/kinds/FeedList.d.ts.map +1 -0
- package/dist/domain/src/kinds/FeedList.js +30 -0
- package/dist/domain/src/kinds/FeedList.js.map +1 -0
- package/dist/domain/src/kinds/FollowList.d.ts +14 -0
- package/dist/domain/src/kinds/FollowList.d.ts.map +1 -0
- package/dist/domain/src/kinds/FollowList.js +27 -0
- package/dist/domain/src/kinds/FollowList.js.map +1 -0
- package/dist/domain/src/kinds/GroupList.d.ts +13 -0
- package/dist/domain/src/kinds/GroupList.d.ts.map +1 -0
- package/dist/domain/src/kinds/GroupList.js +24 -0
- package/dist/domain/src/kinds/GroupList.js.map +1 -0
- package/dist/domain/src/kinds/Handler.d.ts +41 -0
- package/dist/domain/src/kinds/Handler.d.ts.map +1 -0
- package/dist/domain/src/kinds/Handler.js +86 -0
- package/dist/domain/src/kinds/Handler.js.map +1 -0
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts +15 -0
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -0
- package/dist/domain/src/kinds/HandlerRecommendation.js +32 -0
- package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -0
- package/dist/domain/src/kinds/MessagingRelayList.d.ts +14 -0
- package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/MessagingRelayList.js +27 -0
- package/dist/domain/src/kinds/MessagingRelayList.js.map +1 -0
- package/dist/domain/src/kinds/MuteList.d.ts +15 -0
- package/dist/domain/src/kinds/MuteList.d.ts.map +1 -0
- package/dist/domain/src/kinds/MuteList.js +30 -0
- package/dist/domain/src/kinds/MuteList.js.map +1 -0
- package/dist/domain/src/kinds/Pin.d.ts +37 -0
- package/dist/domain/src/kinds/Pin.d.ts.map +1 -0
- package/dist/domain/src/kinds/Pin.js +74 -0
- package/dist/domain/src/kinds/Pin.js.map +1 -0
- package/dist/domain/src/kinds/PinList.d.ts +15 -0
- package/dist/domain/src/kinds/PinList.d.ts.map +1 -0
- package/dist/domain/src/kinds/PinList.js +30 -0
- package/dist/domain/src/kinds/PinList.js.map +1 -0
- package/dist/domain/src/kinds/Pinboard.d.ts +21 -0
- package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -0
- package/dist/domain/src/kinds/Pinboard.js +53 -0
- package/dist/domain/src/kinds/Pinboard.js.map +1 -0
- package/dist/domain/src/kinds/Poll.d.ts +37 -0
- package/dist/domain/src/kinds/Poll.d.ts.map +1 -0
- package/dist/domain/src/kinds/Poll.js +80 -0
- package/dist/domain/src/kinds/Poll.js.map +1 -0
- package/dist/domain/src/kinds/PollResponse.d.ts +15 -0
- package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -0
- package/dist/domain/src/kinds/PollResponse.js +33 -0
- package/dist/domain/src/kinds/PollResponse.js.map +1 -0
- package/dist/domain/src/kinds/Profile.d.ts +36 -0
- package/dist/domain/src/kinds/Profile.d.ts.map +1 -0
- package/dist/domain/src/kinds/Profile.js +105 -0
- package/dist/domain/src/kinds/Profile.js.map +1 -0
- package/dist/domain/src/kinds/RelayAddMember.d.ts +12 -0
- package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayAddMember.js +21 -0
- package/dist/domain/src/kinds/RelayAddMember.js.map +1 -0
- package/dist/domain/src/kinds/RelayInvite.d.ts +12 -0
- package/dist/domain/src/kinds/RelayInvite.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayInvite.js +21 -0
- package/dist/domain/src/kinds/RelayInvite.js.map +1 -0
- package/dist/domain/src/kinds/RelayJoin.d.ts +14 -0
- package/dist/domain/src/kinds/RelayJoin.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayJoin.js +27 -0
- package/dist/domain/src/kinds/RelayJoin.js.map +1 -0
- package/dist/domain/src/kinds/RelayLeave.d.ts +10 -0
- package/dist/domain/src/kinds/RelayLeave.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayLeave.js +14 -0
- package/dist/domain/src/kinds/RelayLeave.js.map +1 -0
- package/dist/domain/src/kinds/RelayList.d.ts +24 -0
- package/dist/domain/src/kinds/RelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayList.js +89 -0
- package/dist/domain/src/kinds/RelayList.js.map +1 -0
- package/dist/domain/src/kinds/RelayMembers.d.ts +17 -0
- package/dist/domain/src/kinds/RelayMembers.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayMembers.js +38 -0
- package/dist/domain/src/kinds/RelayMembers.js.map +1 -0
- package/dist/domain/src/kinds/RelayRemoveMember.d.ts +12 -0
- package/dist/domain/src/kinds/RelayRemoveMember.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayRemoveMember.js +21 -0
- package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -0
- package/dist/domain/src/kinds/RelaySet.d.ts +20 -0
- package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelaySet.js +45 -0
- package/dist/domain/src/kinds/RelaySet.js.map +1 -0
- package/dist/domain/src/kinds/Report.d.ts +18 -0
- package/dist/domain/src/kinds/Report.d.ts.map +1 -0
- package/dist/domain/src/kinds/Report.js +59 -0
- package/dist/domain/src/kinds/Report.js.map +1 -0
- package/dist/domain/src/kinds/RoomAddMember.d.ts +12 -0
- package/dist/domain/src/kinds/RoomAddMember.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomAddMember.js +21 -0
- package/dist/domain/src/kinds/RoomAddMember.js.map +1 -0
- package/dist/domain/src/kinds/RoomAdmins.d.ts +14 -0
- package/dist/domain/src/kinds/RoomAdmins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomAdmins.js +27 -0
- package/dist/domain/src/kinds/RoomAdmins.js.map +1 -0
- package/dist/domain/src/kinds/RoomCreate.d.ts +11 -0
- package/dist/domain/src/kinds/RoomCreate.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomCreate.js +20 -0
- package/dist/domain/src/kinds/RoomCreate.js.map +1 -0
- package/dist/domain/src/kinds/RoomCreatePermission.d.ts +15 -0
- package/dist/domain/src/kinds/RoomCreatePermission.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomCreatePermission.js +30 -0
- package/dist/domain/src/kinds/RoomCreatePermission.js.map +1 -0
- package/dist/domain/src/kinds/RoomDelete.d.ts +11 -0
- package/dist/domain/src/kinds/RoomDelete.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomDelete.js +20 -0
- package/dist/domain/src/kinds/RoomDelete.js.map +1 -0
- package/dist/domain/src/kinds/RoomEdit.d.ts +28 -0
- package/dist/domain/src/kinds/RoomEdit.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomEdit.js +80 -0
- package/dist/domain/src/kinds/RoomEdit.js.map +1 -0
- package/dist/domain/src/kinds/RoomJoin.d.ts +15 -0
- package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomJoin.js +33 -0
- package/dist/domain/src/kinds/RoomJoin.js.map +1 -0
- package/dist/domain/src/kinds/RoomLeave.d.ts +11 -0
- package/dist/domain/src/kinds/RoomLeave.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomLeave.js +20 -0
- package/dist/domain/src/kinds/RoomLeave.js.map +1 -0
- package/dist/domain/src/kinds/RoomList.d.ts +14 -0
- package/dist/domain/src/kinds/RoomList.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomList.js +27 -0
- package/dist/domain/src/kinds/RoomList.js.map +1 -0
- package/dist/domain/src/kinds/RoomMembers.d.ts +15 -0
- package/dist/domain/src/kinds/RoomMembers.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomMembers.js +30 -0
- package/dist/domain/src/kinds/RoomMembers.js.map +1 -0
- package/dist/domain/src/kinds/RoomMeta.d.ts +27 -0
- package/dist/domain/src/kinds/RoomMeta.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomMeta.js +72 -0
- package/dist/domain/src/kinds/RoomMeta.js.map +1 -0
- package/dist/domain/src/kinds/RoomRemoveMember.d.ts +14 -0
- package/dist/domain/src/kinds/RoomRemoveMember.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomRemoveMember.js +27 -0
- package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -0
- package/dist/domain/src/kinds/SearchRelayList.d.ts +15 -0
- package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/SearchRelayList.js +30 -0
- package/dist/domain/src/kinds/SearchRelayList.js.map +1 -0
- package/dist/domain/src/kinds/SlashCommand.d.ts +38 -0
- package/dist/domain/src/kinds/SlashCommand.d.ts.map +1 -0
- package/dist/domain/src/kinds/SlashCommand.js +91 -0
- package/dist/domain/src/kinds/SlashCommand.js.map +1 -0
- package/dist/domain/src/kinds/Thread.d.ts +12 -0
- package/dist/domain/src/kinds/Thread.d.ts.map +1 -0
- package/dist/domain/src/kinds/Thread.js +21 -0
- package/dist/domain/src/kinds/Thread.js.map +1 -0
- package/dist/domain/src/kinds/TimeEvent.d.ts +21 -0
- package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -0
- package/dist/domain/src/kinds/TimeEvent.js +58 -0
- package/dist/domain/src/kinds/TimeEvent.js.map +1 -0
- package/dist/domain/src/kinds/TopicList.d.ts +17 -0
- package/dist/domain/src/kinds/TopicList.d.ts.map +1 -0
- package/dist/domain/src/kinds/TopicList.js +36 -0
- package/dist/domain/src/kinds/TopicList.js.map +1 -0
- package/dist/domain/src/kinds/ZapGoal.d.ts +20 -0
- package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -0
- package/dist/domain/src/kinds/ZapGoal.js +52 -0
- package/dist/domain/src/kinds/ZapGoal.js.map +1 -0
- package/dist/domain/src/kinds/ZapReceipt.d.ts +28 -0
- package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -0
- package/dist/domain/src/kinds/ZapReceipt.js +93 -0
- package/dist/domain/src/kinds/ZapReceipt.js.map +1 -0
- package/dist/domain/src/kinds/ZapRequest.d.ts +20 -0
- package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -0
- package/dist/domain/src/kinds/ZapRequest.js +47 -0
- package/dist/domain/src/kinds/ZapRequest.js.map +1 -0
- package/dist/feeds/src/compiler.d.ts +49 -0
- package/dist/feeds/src/compiler.d.ts.map +1 -0
- package/dist/feeds/src/compiler.js +253 -0
- package/dist/feeds/src/compiler.js.map +1 -0
- package/dist/feeds/src/controller.d.ts +32 -0
- package/dist/feeds/src/controller.d.ts.map +1 -0
- package/dist/feeds/src/controller.js +329 -0
- package/dist/feeds/src/controller.js.map +1 -0
- package/dist/feeds/src/core.d.ts +76 -0
- package/dist/feeds/src/core.d.ts.map +1 -0
- package/dist/feeds/src/core.js +28 -0
- package/dist/feeds/src/core.js.map +1 -0
- package/dist/feeds/src/display.d.ts +21 -0
- package/dist/feeds/src/display.d.ts.map +1 -0
- package/dist/feeds/src/display.js +144 -0
- package/dist/feeds/src/display.js.map +1 -0
- package/dist/feeds/src/index.d.ts +7 -0
- package/dist/feeds/src/index.d.ts.map +1 -0
- package/dist/feeds/src/index.js +7 -0
- package/dist/feeds/src/index.js.map +1 -0
- package/dist/feeds/src/request.d.ts +26 -0
- package/dist/feeds/src/request.d.ts.map +1 -0
- package/dist/feeds/src/request.js +83 -0
- package/dist/feeds/src/request.js.map +1 -0
- package/dist/feeds/src/utils.d.ts +58 -0
- package/dist/feeds/src/utils.d.ts.map +1 -0
- package/dist/feeds/src/utils.js +218 -0
- package/dist/feeds/src/utils.js.map +1 -0
- package/dist/feeds/src/validate.d.ts +24 -0
- package/dist/feeds/src/validate.d.ts.map +1 -0
- package/dist/feeds/src/validate.js +137 -0
- package/dist/feeds/src/validate.js.map +1 -0
- package/dist/lib/src/Deferred.d.ts +21 -0
- package/dist/lib/src/Deferred.d.ts.map +1 -0
- package/dist/lib/src/Deferred.js +21 -0
- package/dist/lib/src/Deferred.js.map +1 -0
- package/dist/lib/src/Emitter.d.ts +14 -0
- package/dist/lib/src/Emitter.d.ts.map +1 -0
- package/dist/lib/src/Emitter.js +18 -0
- package/dist/lib/src/Emitter.js.map +1 -0
- package/dist/lib/src/LRUCache.d.ts +45 -0
- package/dist/lib/src/LRUCache.d.ts.map +1 -0
- package/dist/lib/src/LRUCache.js +72 -0
- package/dist/lib/src/LRUCache.js.map +1 -0
- package/dist/lib/src/TaskQueue.d.ts +21 -0
- package/dist/lib/src/TaskQueue.d.ts.map +1 -0
- package/dist/lib/src/TaskQueue.js +63 -0
- package/dist/lib/src/TaskQueue.js.map +1 -0
- package/dist/lib/src/Tools.d.ts +828 -0
- package/dist/lib/src/Tools.d.ts.map +1 -0
- package/dist/lib/src/Tools.js +1402 -0
- package/dist/lib/src/Tools.js.map +1 -0
- package/dist/lib/src/index.d.ts +7 -0
- package/dist/lib/src/index.d.ts.map +1 -0
- package/dist/lib/src/index.js +7 -0
- package/dist/lib/src/index.js.map +1 -0
- package/dist/lib/src/normalize-url/index.d.ts +286 -0
- package/dist/lib/src/normalize-url/index.d.ts.map +1 -0
- package/dist/lib/src/normalize-url/index.js +252 -0
- package/dist/lib/src/normalize-url/index.js.map +1 -0
- package/dist/net/src/adapter.d.ts +47 -0
- package/dist/net/src/adapter.d.ts.map +1 -0
- package/dist/net/src/adapter.js +130 -0
- package/dist/net/src/adapter.js.map +1 -0
- package/dist/net/src/auth.d.ts +40 -0
- package/dist/net/src/auth.d.ts.map +1 -0
- package/dist/net/src/auth.js +124 -0
- package/dist/net/src/auth.js.map +1 -0
- package/dist/net/src/context.d.ts +10 -0
- package/dist/net/src/context.d.ts.map +1 -0
- package/dist/net/src/context.js +2 -0
- package/dist/net/src/context.js.map +1 -0
- package/dist/net/src/diff.d.ts +57 -0
- package/dist/net/src/diff.d.ts.map +1 -0
- package/dist/net/src/diff.js +162 -0
- package/dist/net/src/diff.js.map +1 -0
- package/dist/net/src/index.d.ts +15 -0
- package/dist/net/src/index.d.ts.map +1 -0
- package/dist/net/src/index.js +15 -0
- package/dist/net/src/index.js.map +1 -0
- package/dist/net/src/message.d.ts +64 -0
- package/dist/net/src/message.d.ts.map +1 -0
- package/dist/net/src/message.js +37 -0
- package/dist/net/src/message.js.map +1 -0
- package/dist/net/src/negentropy.d.ts +48 -0
- package/dist/net/src/negentropy.d.ts.map +1 -0
- package/dist/net/src/negentropy.js +535 -0
- package/dist/net/src/negentropy.js.map +1 -0
- package/dist/net/src/policy.d.ts +40 -0
- package/dist/net/src/policy.d.ts.map +1 -0
- package/dist/net/src/policy.js +210 -0
- package/dist/net/src/policy.js.map +1 -0
- package/dist/net/src/pool.d.ts +13 -0
- package/dist/net/src/pool.d.ts.map +1 -0
- package/dist/net/src/pool.js +44 -0
- package/dist/net/src/pool.js.map +1 -0
- package/dist/net/src/publish.d.ts +45 -0
- package/dist/net/src/publish.d.ts.map +1 -0
- package/dist/net/src/publish.js +98 -0
- package/dist/net/src/publish.js.map +1 -0
- package/dist/net/src/repository.d.ts +69 -0
- package/dist/net/src/repository.d.ts.map +1 -0
- package/dist/net/src/repository.js +304 -0
- package/dist/net/src/repository.js.map +1 -0
- package/dist/net/src/request.d.ts +58 -0
- package/dist/net/src/request.d.ts.map +1 -0
- package/dist/net/src/request.js +224 -0
- package/dist/net/src/request.js.map +1 -0
- package/dist/net/src/socket.d.ts +49 -0
- package/dist/net/src/socket.d.ts.map +1 -0
- package/dist/net/src/socket.js +126 -0
- package/dist/net/src/socket.js.map +1 -0
- package/dist/net/src/tracker.d.ts +16 -0
- package/dist/net/src/tracker.d.ts.map +1 -0
- package/dist/net/src/tracker.js +63 -0
- package/dist/net/src/tracker.js.map +1 -0
- package/dist/net/src/util.d.ts +2 -0
- package/dist/net/src/util.d.ts.map +1 -0
- package/dist/net/src/util.js +2 -0
- package/dist/net/src/util.js.map +1 -0
- package/dist/net/src/wrapManager.d.ts +37 -0
- package/dist/net/src/wrapManager.d.ts.map +1 -0
- package/dist/net/src/wrapManager.js +94 -0
- package/dist/net/src/wrapManager.js.map +1 -0
- package/dist/signer/src/index.d.ts +7 -0
- package/dist/signer/src/index.d.ts.map +1 -0
- package/dist/signer/src/index.js +7 -0
- package/dist/signer/src/index.js.map +1 -0
- package/dist/signer/src/nip59.d.ts +19 -0
- package/dist/signer/src/nip59.d.ts.map +1 -0
- package/dist/signer/src/nip59.js +70 -0
- package/dist/signer/src/nip59.js.map +1 -0
- package/dist/signer/src/signers/nip01.d.ts +20 -0
- package/dist/signer/src/signers/nip01.d.ts.map +1 -0
- package/dist/signer/src/signers/nip01.js +23 -0
- package/dist/signer/src/signers/nip01.js.map +1 -0
- package/dist/signer/src/signers/nip07.d.ts +23 -0
- package/dist/signer/src/signers/nip07.d.ts.map +1 -0
- package/dist/signer/src/signers/nip07.js +29 -0
- package/dist/signer/src/signers/nip07.js.map +1 -0
- package/dist/signer/src/signers/nip46.d.ts +127 -0
- package/dist/signer/src/signers/nip46.d.ts.map +1 -0
- package/dist/signer/src/signers/nip46.js +379 -0
- package/dist/signer/src/signers/nip46.js.map +1 -0
- package/dist/signer/src/signers/nip55.d.ts +20 -0
- package/dist/signer/src/signers/nip55.d.ts.map +1 -0
- package/dist/signer/src/signers/nip55.js +87 -0
- package/dist/signer/src/signers/nip55.js.map +1 -0
- package/dist/signer/src/util.d.ts +56 -0
- package/dist/signer/src/util.d.ts.map +1 -0
- package/dist/signer/src/util.js +65 -0
- package/dist/signer/src/util.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/util/src/Address.d.ts +21 -0
- package/dist/util/src/Address.d.ts.map +1 -0
- package/dist/util/src/Address.js +43 -0
- package/dist/util/src/Address.js.map +1 -0
- package/dist/util/src/Blossom.d.ts +66 -0
- package/dist/util/src/Blossom.d.ts.map +1 -0
- package/dist/util/src/Blossom.js +124 -0
- package/dist/util/src/Blossom.js.map +1 -0
- package/dist/util/src/Events.d.ts +71 -0
- package/dist/util/src/Events.d.ts.map +1 -0
- package/dist/util/src/Events.js +91 -0
- package/dist/util/src/Events.js.map +1 -0
- package/dist/util/src/Filters.d.ts +48 -0
- package/dist/util/src/Filters.d.ts.map +1 -0
- package/dist/util/src/Filters.js +182 -0
- package/dist/util/src/Filters.js.map +1 -0
- package/dist/util/src/Handles.d.ts +15 -0
- package/dist/util/src/Handles.d.ts.map +1 -0
- package/dist/util/src/Handles.js +25 -0
- package/dist/util/src/Handles.js.map +1 -0
- package/dist/util/src/Keys.d.ts +37 -0
- package/dist/util/src/Keys.d.ts.map +1 -0
- package/dist/util/src/Keys.js +26 -0
- package/dist/util/src/Keys.js.map +1 -0
- package/dist/util/src/Kinds.d.ts +194 -0
- package/dist/util/src/Kinds.d.ts.map +1 -0
- package/dist/util/src/Kinds.js +203 -0
- package/dist/util/src/Kinds.js.map +1 -0
- package/dist/util/src/Links.d.ts +3 -0
- package/dist/util/src/Links.d.ts.map +1 -0
- package/dist/util/src/Links.js +3 -0
- package/dist/util/src/Links.js.map +1 -0
- package/dist/util/src/Nip42.d.ts +7 -0
- package/dist/util/src/Nip42.d.ts.map +1 -0
- package/dist/util/src/Nip42.js +9 -0
- package/dist/util/src/Nip42.js.map +1 -0
- package/dist/util/src/Nip86.d.ts +39 -0
- package/dist/util/src/Nip86.d.ts.map +1 -0
- package/dist/util/src/Nip86.js +49 -0
- package/dist/util/src/Nip86.js.map +1 -0
- package/dist/util/src/Nip98.d.ts +9 -0
- package/dist/util/src/Nip98.d.ts.map +1 -0
- package/dist/util/src/Nip98.js +16 -0
- package/dist/util/src/Nip98.js.map +1 -0
- package/dist/util/src/Pow.d.ts +11 -0
- package/dist/util/src/Pow.d.ts.map +1 -0
- package/dist/util/src/Pow.js +127 -0
- package/dist/util/src/Pow.js.map +1 -0
- package/dist/util/src/Pubkey.d.ts +10 -0
- package/dist/util/src/Pubkey.d.ts.map +1 -0
- package/dist/util/src/Pubkey.js +32 -0
- package/dist/util/src/Pubkey.js.map +1 -0
- package/dist/util/src/Relay.d.ts +38 -0
- package/dist/util/src/Relay.d.ts.map +1 -0
- package/dist/util/src/Relay.js +55 -0
- package/dist/util/src/Relay.js.map +1 -0
- package/dist/util/src/Tags.d.ts +37 -0
- package/dist/util/src/Tags.d.ts.map +1 -0
- package/dist/util/src/Tags.js +79 -0
- package/dist/util/src/Tags.js.map +1 -0
- package/dist/util/src/Wallet.d.ts +32 -0
- package/dist/util/src/Wallet.d.ts.map +1 -0
- package/dist/util/src/Wallet.js +9 -0
- package/dist/util/src/Wallet.js.map +1 -0
- package/dist/util/src/Zaps.d.ts +86 -0
- package/dist/util/src/Zaps.d.ts.map +1 -0
- package/dist/util/src/Zaps.js +184 -0
- package/dist/util/src/Zaps.js.map +1 -0
- package/dist/util/src/index.d.ts +18 -0
- package/dist/util/src/index.d.ts.map +1 -0
- package/dist/util/src/index.js +18 -0
- package/dist/util/src/index.js.map +1 -0
- package/package.json +37 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Jon Staab
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { MaybeAsync } from "@welshman/lib";
|
|
2
|
+
import type { EventTemplate, SignedEvent, HashedEvent } from "@welshman/util";
|
|
3
|
+
import type { ISigner } from "@welshman/signer";
|
|
4
|
+
import type { EventReader } from "./EventReader.js";
|
|
5
|
+
export declare abstract class EventBuilder<Reader extends EventReader> {
|
|
6
|
+
readonly reader?: Reader | undefined;
|
|
7
|
+
abstract readonly kind: number;
|
|
8
|
+
content: string;
|
|
9
|
+
groupTag?: string[];
|
|
10
|
+
protectTag?: string[];
|
|
11
|
+
expirationTag?: string[];
|
|
12
|
+
identifierTag?: string[];
|
|
13
|
+
extraTags: string[][];
|
|
14
|
+
constructor(reader?: Reader | undefined);
|
|
15
|
+
protected consumeTags(key: string): string[][];
|
|
16
|
+
setContent(content: string): this;
|
|
17
|
+
setGroup(group: string): this;
|
|
18
|
+
clearGroup(): this;
|
|
19
|
+
setProtected(protect: boolean): this;
|
|
20
|
+
setExpiration(expiration: number): this;
|
|
21
|
+
clearExpiration(): this;
|
|
22
|
+
setIdentifier(identifier?: string): this;
|
|
23
|
+
clearIdentifier(): this;
|
|
24
|
+
addTags(...tags: string[][]): this;
|
|
25
|
+
keepTags(pred: (tag: string[]) => boolean): this;
|
|
26
|
+
dropTags(pred: (tag: string[]) => boolean): this;
|
|
27
|
+
protected buildTags(signer?: ISigner): MaybeAsync<string[][]>;
|
|
28
|
+
protected buildContent(signer?: ISigner): MaybeAsync<string>;
|
|
29
|
+
protected validate(): void;
|
|
30
|
+
private behaviorTags;
|
|
31
|
+
toTemplate(signer?: ISigner): Promise<EventTemplate>;
|
|
32
|
+
toRumor(signer: ISigner): Promise<HashedEvent>;
|
|
33
|
+
toEvent(signer: ISigner): Promise<SignedEvent>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=EventBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBuilder.d.ts","sourceRoot":"","sources":["../../../src/EventBuilder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,EAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC3E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAEjD,8BAAsB,YAAY,CAAC,MAAM,SAAS,WAAW;IAS/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IARpC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAK;gBAEL,MAAM,CAAC,EAAE,MAAM,YAAA;IASpC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE;IAQ9C,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,UAAU;IAMV,YAAY,CAAC,OAAO,EAAE,OAAO;IAM7B,aAAa,CAAC,UAAU,EAAE,MAAM;IAMhC,eAAe;IAMf,aAAa,CAAC,UAAU,SAAa;IAMrC,eAAe;IAMf,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAM3B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAMzC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAMzC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAI7D,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;IAI5D,SAAS,CAAC,QAAQ,IAAI,IAAI;IAM1B,OAAO,CAAC,YAAY;IAWd,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAcpD,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAM9C,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;CAGrD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { complement, first, partition, randomId, spec } from "@welshman/lib";
|
|
2
|
+
import { stamp, prep, isParameterizedReplaceableKind } from "@welshman/util";
|
|
3
|
+
export class EventBuilder {
|
|
4
|
+
reader;
|
|
5
|
+
content;
|
|
6
|
+
groupTag;
|
|
7
|
+
protectTag;
|
|
8
|
+
expirationTag;
|
|
9
|
+
identifierTag;
|
|
10
|
+
extraTags = [];
|
|
11
|
+
constructor(reader) {
|
|
12
|
+
this.reader = reader;
|
|
13
|
+
this.content = reader?.event.content ?? "";
|
|
14
|
+
this.extraTags = reader?.event.tags ?? [];
|
|
15
|
+
this.groupTag = first(this.consumeTags("h"));
|
|
16
|
+
this.protectTag = first(this.consumeTags("-"));
|
|
17
|
+
this.expirationTag = first(this.consumeTags("expiration"));
|
|
18
|
+
this.identifierTag = first(this.consumeTags("d"));
|
|
19
|
+
}
|
|
20
|
+
consumeTags(key) {
|
|
21
|
+
const [consumed, remaining] = partition(spec([key]), this.extraTags);
|
|
22
|
+
this.extraTags = remaining;
|
|
23
|
+
return consumed;
|
|
24
|
+
}
|
|
25
|
+
setContent(content) {
|
|
26
|
+
this.content = content;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
setGroup(group) {
|
|
30
|
+
this.groupTag = ["h", group];
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
clearGroup() {
|
|
34
|
+
this.groupTag = undefined;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
setProtected(protect) {
|
|
38
|
+
this.protectTag = protect ? ["-"] : undefined;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
setExpiration(expiration) {
|
|
42
|
+
this.expirationTag = ["expiration", String(expiration)];
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
clearExpiration() {
|
|
46
|
+
this.expirationTag = undefined;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
setIdentifier(identifier = randomId()) {
|
|
50
|
+
this.identifierTag = ["d", identifier];
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
clearIdentifier() {
|
|
54
|
+
this.identifierTag = undefined;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
addTags(...tags) {
|
|
58
|
+
this.extraTags.push(...tags);
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
keepTags(pred) {
|
|
62
|
+
this.extraTags = this.extraTags.filter(pred);
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
dropTags(pred) {
|
|
66
|
+
this.extraTags = this.extraTags.filter(complement(pred));
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
buildTags(signer) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
buildContent(signer) {
|
|
73
|
+
return this.content;
|
|
74
|
+
}
|
|
75
|
+
validate() {
|
|
76
|
+
if (isParameterizedReplaceableKind(this.kind) && !this.identifierTag) {
|
|
77
|
+
throw new Error(`A d tag is required for kind ${this.kind}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
behaviorTags() {
|
|
81
|
+
const tags = [];
|
|
82
|
+
if (this.groupTag)
|
|
83
|
+
tags.push(this.groupTag);
|
|
84
|
+
if (this.protectTag)
|
|
85
|
+
tags.push(this.protectTag);
|
|
86
|
+
if (this.expirationTag)
|
|
87
|
+
tags.push(this.expirationTag);
|
|
88
|
+
if (this.identifierTag)
|
|
89
|
+
tags.push(this.identifierTag);
|
|
90
|
+
return tags;
|
|
91
|
+
}
|
|
92
|
+
async toTemplate(signer) {
|
|
93
|
+
this.validate();
|
|
94
|
+
const kind = this.kind;
|
|
95
|
+
const [content, implTags, behaviorTags] = await Promise.all([
|
|
96
|
+
this.buildContent(signer),
|
|
97
|
+
this.buildTags(signer),
|
|
98
|
+
this.behaviorTags(),
|
|
99
|
+
]);
|
|
100
|
+
const tags = [...implTags, ...behaviorTags, ...this.extraTags];
|
|
101
|
+
return { kind, content, tags };
|
|
102
|
+
}
|
|
103
|
+
async toRumor(signer) {
|
|
104
|
+
const [template, pubkey] = await Promise.all([this.toTemplate(signer), signer.getPubkey()]);
|
|
105
|
+
return prep(template, pubkey);
|
|
106
|
+
}
|
|
107
|
+
async toEvent(signer) {
|
|
108
|
+
return signer.sign(stamp(await this.toTemplate(signer)));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=EventBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBuilder.js","sourceRoot":"","sources":["../../../src/EventBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
import type { ISigner } from "@welshman/signer";
|
|
3
|
+
import type { EventBuilder } from "./EventBuilder.js";
|
|
4
|
+
export declare abstract class EventReader {
|
|
5
|
+
readonly event: TrustedEvent;
|
|
6
|
+
abstract readonly kind: number;
|
|
7
|
+
constructor(event: TrustedEvent);
|
|
8
|
+
private static fromEventUsingSubclass;
|
|
9
|
+
static fromEvent<T extends EventReader>(this: new (event: TrustedEvent) => T, event: TrustedEvent, signer?: ISigner): Promise<T>;
|
|
10
|
+
static factory<T extends EventReader>(this: new (event: TrustedEvent) => T, signer?: ISigner): (event: TrustedEvent) => Promise<T>;
|
|
11
|
+
protected parse(signer?: ISigner): Promise<void>;
|
|
12
|
+
id(): string;
|
|
13
|
+
author(): string;
|
|
14
|
+
content(): string;
|
|
15
|
+
tags(): string[][];
|
|
16
|
+
createdAt(): number;
|
|
17
|
+
identifier(): string | undefined;
|
|
18
|
+
address(): string;
|
|
19
|
+
group(): string | undefined;
|
|
20
|
+
protect(): boolean;
|
|
21
|
+
expiration(): number | undefined;
|
|
22
|
+
abstract builder(): EventBuilder<EventReader>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=EventReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../src/EventReader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAEnD,8BAAsB,WAAW;IAGnB,QAAQ,CAAC,KAAK,EAAE,YAAY;IAFxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,KAAK,EAAE,YAAY;mBAEnB,sBAAsB;IAgB3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,EACpC,IAAI,EAAE,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC,EACpC,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,CAAC,CAAC;IAIb,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,IAGlF,OAAO,YAAY;cAGb,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,EAAE;IAIF,MAAM;IAIN,OAAO;IAIP,IAAI;IAIJ,SAAS;IAIT,UAAU;IAIV,OAAO;IAIP,KAAK;IAIL,OAAO;IAIP,UAAU;IAMV,QAAQ,CAAC,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC;CAC9C"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { getTagValue, getAddress } from "@welshman/util";
|
|
3
|
+
export class EventReader {
|
|
4
|
+
event;
|
|
5
|
+
constructor(event) {
|
|
6
|
+
this.event = event;
|
|
7
|
+
}
|
|
8
|
+
static async fromEventUsingSubclass(Reader, event, signer) {
|
|
9
|
+
const reader = new Reader(event);
|
|
10
|
+
if (event.kind !== reader.kind) {
|
|
11
|
+
throw new Error(`Expected a kind ${reader.kind} event, got kind ${event.kind}`);
|
|
12
|
+
}
|
|
13
|
+
await reader.parse(signer);
|
|
14
|
+
return reader;
|
|
15
|
+
}
|
|
16
|
+
static fromEvent(event, signer) {
|
|
17
|
+
return EventReader.fromEventUsingSubclass(this, event, signer);
|
|
18
|
+
}
|
|
19
|
+
static factory(signer) {
|
|
20
|
+
// `this` (the subclass constructor) is captured lexically by the arrow, so
|
|
21
|
+
// the returned factory stays bound to the right kind.
|
|
22
|
+
return (event) => EventReader.fromEventUsingSubclass(this, event, signer);
|
|
23
|
+
}
|
|
24
|
+
async parse(signer) { }
|
|
25
|
+
id() {
|
|
26
|
+
return this.event.id;
|
|
27
|
+
}
|
|
28
|
+
author() {
|
|
29
|
+
return this.event.pubkey;
|
|
30
|
+
}
|
|
31
|
+
content() {
|
|
32
|
+
return this.event.content;
|
|
33
|
+
}
|
|
34
|
+
tags() {
|
|
35
|
+
return this.event.tags;
|
|
36
|
+
}
|
|
37
|
+
createdAt() {
|
|
38
|
+
return this.event.created_at;
|
|
39
|
+
}
|
|
40
|
+
identifier() {
|
|
41
|
+
return getTagValue("d", this.event.tags);
|
|
42
|
+
}
|
|
43
|
+
address() {
|
|
44
|
+
return getAddress(this.event);
|
|
45
|
+
}
|
|
46
|
+
group() {
|
|
47
|
+
return getTagValue("h", this.event.tags);
|
|
48
|
+
}
|
|
49
|
+
protect() {
|
|
50
|
+
return this.event.tags.some(spec(["-"]));
|
|
51
|
+
}
|
|
52
|
+
expiration() {
|
|
53
|
+
const expiration = parseInt(getTagValue("expiration", this.event.tags) ?? "");
|
|
54
|
+
return isNaN(expiration) ? undefined : expiration;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=EventReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../src/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAKtD,MAAM,OAAgB,WAAW;IAGV;IAArB,YAAqB,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IAEpC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACzC,MAAsC,EACtC,KAAmB,EACnB,MAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACjF,CAAC;QAED,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE1B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,SAAS,CAEd,KAAmB,EACnB,MAAgB;QAEhB,OAAO,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,OAAO,CAA8D,MAAgB;QAC1F,2EAA2E;QAC3E,sDAAsD;QACtD,OAAO,CAAC,KAAmB,EAAE,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACzF,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,MAAgB,IAAkB,CAAC;IAEzD,EAAE;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACH,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAE7E,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IACnD,CAAC;CAGF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ISigner } from "@welshman/signer";
|
|
2
|
+
import { EventBuilder } from "./EventBuilder.js";
|
|
3
|
+
import type { ListReader } from "./ListReader.js";
|
|
4
|
+
export declare abstract class ListBuilder<Reader extends ListReader = ListReader> extends EventBuilder<Reader> {
|
|
5
|
+
readonly reader?: Reader | undefined;
|
|
6
|
+
publicTags: string[][];
|
|
7
|
+
privateTags: string[][];
|
|
8
|
+
constructor(reader?: Reader | undefined);
|
|
9
|
+
addPublic(...tags: string[][]): this;
|
|
10
|
+
addPrivate(...tags: string[][]): this;
|
|
11
|
+
keepPublic(pred: (tag: string[]) => boolean): this;
|
|
12
|
+
keepPrivate(pred: (tag: string[]) => boolean): this;
|
|
13
|
+
keepTags(pred: (tag: string[]) => boolean): this;
|
|
14
|
+
dropPublic(pred: (tag: string[]) => boolean): this;
|
|
15
|
+
dropPrivate(pred: (tag: string[]) => boolean): this;
|
|
16
|
+
dropTags(pred: (tag: string[]) => boolean): this;
|
|
17
|
+
protected validate(): void;
|
|
18
|
+
protected buildTags(): string[][];
|
|
19
|
+
protected buildContent(signer?: ISigner): Promise<string>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ListBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListBuilder.d.ts","sourceRoot":"","sources":["../../../src/ListBuilder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE/C,8BAAsB,WAAW,CAC/B,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,SAAQ,YAAY,CAAC,MAAM,CAAC;IAIhB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAHpC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;IAC3B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAK;gBAEP,MAAM,CAAC,EAAE,MAAM,YAAA;IAUpC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAM7B,UAAU,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAM9B,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAM3C,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAM5C,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAOzC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAM3C,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAM5C,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAOzC,SAAS,CAAC,QAAQ;IAUlB,SAAS,CAAC,SAAS;cAIH,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAehE"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { complement } from "@welshman/lib";
|
|
2
|
+
import { EventBuilder } from "./EventBuilder.js";
|
|
3
|
+
export class ListBuilder extends EventBuilder {
|
|
4
|
+
reader;
|
|
5
|
+
publicTags = [];
|
|
6
|
+
privateTags = [];
|
|
7
|
+
constructor(reader) {
|
|
8
|
+
super(reader);
|
|
9
|
+
this.reader = reader;
|
|
10
|
+
this.publicTags = this.extraTags.splice(0);
|
|
11
|
+
if (reader) {
|
|
12
|
+
this.privateTags = reader.privateTags;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
addPublic(...tags) {
|
|
16
|
+
this.publicTags.push(...tags);
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
addPrivate(...tags) {
|
|
20
|
+
this.privateTags.push(...tags);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
keepPublic(pred) {
|
|
24
|
+
this.publicTags = this.publicTags.filter(pred);
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
keepPrivate(pred) {
|
|
28
|
+
this.privateTags = this.privateTags.filter(pred);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
keepTags(pred) {
|
|
32
|
+
this.publicTags = this.publicTags.filter(pred);
|
|
33
|
+
this.privateTags = this.privateTags.filter(pred);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
dropPublic(pred) {
|
|
37
|
+
this.publicTags = this.publicTags.filter(complement(pred));
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
dropPrivate(pred) {
|
|
41
|
+
this.privateTags = this.privateTags.filter(complement(pred));
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
dropTags(pred) {
|
|
45
|
+
this.publicTags = this.publicTags.filter(complement(pred));
|
|
46
|
+
this.privateTags = this.privateTags.filter(complement(pred));
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
validate() {
|
|
50
|
+
if (this.reader?.event.content &&
|
|
51
|
+
this.reader?.decrypted === false &&
|
|
52
|
+
this.privateTags.length > 0) {
|
|
53
|
+
throw new Error("Unable to modify list when decryption was not performed");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
buildTags() {
|
|
57
|
+
return this.publicTags;
|
|
58
|
+
}
|
|
59
|
+
async buildContent(signer) {
|
|
60
|
+
// Preserve the original ciphertext when we never decrypted it.
|
|
61
|
+
if (this.reader?.decrypted === false)
|
|
62
|
+
return this.reader.event.content;
|
|
63
|
+
// No need to encrypt an empty array
|
|
64
|
+
if (this.privateTags.length === 0)
|
|
65
|
+
return "";
|
|
66
|
+
if (!signer) {
|
|
67
|
+
throw new Error("A signer is required to encrypt private tags");
|
|
68
|
+
}
|
|
69
|
+
const pubkey = await signer.getPubkey();
|
|
70
|
+
return signer.nip44.encrypt(pubkey, JSON.stringify(this.privateTags));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=ListBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListBuilder.js","sourceRoot":"","sources":["../../../src/ListBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ISigner } from "@welshman/signer";
|
|
2
|
+
import { EventReader } from "./EventReader.js";
|
|
3
|
+
import type { ListBuilder } from "./ListBuilder.js";
|
|
4
|
+
export declare abstract class ListReader extends EventReader {
|
|
5
|
+
decrypted: boolean;
|
|
6
|
+
publicTags: string[][];
|
|
7
|
+
privateTags: string[][];
|
|
8
|
+
protected parse(signer?: ISigner): Promise<void>;
|
|
9
|
+
tags(): string[][];
|
|
10
|
+
abstract builder(): ListBuilder;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ListReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListReader.d.ts","sourceRoot":"","sources":["../../../src/ListReader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAEjD,8BAAsB,UAAW,SAAQ,WAAW;IAClD,SAAS,UAAQ;IACjB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;IAC3B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAK;cAEZ,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO;IAwBtC,IAAI;IAIJ,QAAQ,CAAC,OAAO,IAAI,WAAW;CAChC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { parseJson } from "@welshman/lib";
|
|
2
|
+
import { decrypt } from "@welshman/signer";
|
|
3
|
+
import { EventReader } from "./EventReader.js";
|
|
4
|
+
export class ListReader extends EventReader {
|
|
5
|
+
decrypted = false;
|
|
6
|
+
publicTags = [];
|
|
7
|
+
privateTags = [];
|
|
8
|
+
async parse(signer) {
|
|
9
|
+
this.publicTags = this.event.tags;
|
|
10
|
+
if (!this.event.content) {
|
|
11
|
+
this.decrypted = true;
|
|
12
|
+
}
|
|
13
|
+
else if (signer && (await signer.getPubkey()) === this.event.pubkey) {
|
|
14
|
+
try {
|
|
15
|
+
const plaintext = await decrypt(signer, this.event.pubkey, this.event.content);
|
|
16
|
+
this.decrypted = true;
|
|
17
|
+
const json = parseJson(plaintext);
|
|
18
|
+
if (Array.isArray(json)) {
|
|
19
|
+
this.privateTags = json.filter(tag => Array.isArray(tag) && tag.length > 0 && tag.every(v => typeof v === "string"));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// pass
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
tags() {
|
|
28
|
+
return [...this.publicTags, ...this.privateTags];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ListReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListReader.js","sourceRoot":"","sources":["../../../src/ListReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAG5C,MAAM,OAAgB,UAAW,SAAQ,WAAW;IAClD,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,GAAe,EAAE,CAAA;IAC3B,WAAW,GAAe,EAAE,CAAA;IAElB,KAAK,CAAC,KAAK,CAAC,MAAgB;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;QAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAE9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBAErB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;gBAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAC5B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACrF,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;CAGF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export * from "./EventReader.js";
|
|
2
|
+
export * from "./EventBuilder.js";
|
|
3
|
+
export * from "./kinds/BlockedRelayList.js";
|
|
4
|
+
export * from "./kinds/BlossomServerList.js";
|
|
5
|
+
export * from "./kinds/BookmarkList.js";
|
|
6
|
+
export * from "./kinds/Classified.js";
|
|
7
|
+
export * from "./kinds/Comment.js";
|
|
8
|
+
export * from "./kinds/EmojiList.js";
|
|
9
|
+
export * from "./kinds/Feed.js";
|
|
10
|
+
export * from "./kinds/FeedList.js";
|
|
11
|
+
export * from "./kinds/FollowList.js";
|
|
12
|
+
export * from "./kinds/GroupList.js";
|
|
13
|
+
export * from "./kinds/Handler.js";
|
|
14
|
+
export * from "./kinds/HandlerRecommendation.js";
|
|
15
|
+
export * from "./ListReader.js";
|
|
16
|
+
export * from "./ListBuilder.js";
|
|
17
|
+
export * from "./kinds/MessagingRelayList.js";
|
|
18
|
+
export * from "./kinds/MuteList.js";
|
|
19
|
+
export * from "./kinds/Pin.js";
|
|
20
|
+
export * from "./kinds/Pinboard.js";
|
|
21
|
+
export * from "./kinds/PinList.js";
|
|
22
|
+
export * from "./kinds/Poll.js";
|
|
23
|
+
export * from "./kinds/PollResponse.js";
|
|
24
|
+
export * from "./kinds/Profile.js";
|
|
25
|
+
export * from "./kinds/RelayAddMember.js";
|
|
26
|
+
export * from "./kinds/RelayInvite.js";
|
|
27
|
+
export * from "./kinds/RelayJoin.js";
|
|
28
|
+
export * from "./kinds/RelayLeave.js";
|
|
29
|
+
export * from "./kinds/RelayList.js";
|
|
30
|
+
export * from "./kinds/RelayMembers.js";
|
|
31
|
+
export * from "./kinds/RelayRemoveMember.js";
|
|
32
|
+
export * from "./kinds/RelaySet.js";
|
|
33
|
+
export * from "./kinds/Report.js";
|
|
34
|
+
export * from "./kinds/RoomAddMember.js";
|
|
35
|
+
export * from "./kinds/RoomAdmins.js";
|
|
36
|
+
export * from "./kinds/RoomCreate.js";
|
|
37
|
+
export * from "./kinds/RoomCreatePermission.js";
|
|
38
|
+
export * from "./kinds/RoomDelete.js";
|
|
39
|
+
export * from "./kinds/RoomEdit.js";
|
|
40
|
+
export * from "./kinds/RoomJoin.js";
|
|
41
|
+
export * from "./kinds/RoomLeave.js";
|
|
42
|
+
export * from "./kinds/RoomList.js";
|
|
43
|
+
export * from "./kinds/RoomMembers.js";
|
|
44
|
+
export * from "./kinds/RoomRemoveMember.js";
|
|
45
|
+
export * from "./kinds/RoomMeta.js";
|
|
46
|
+
export * from "./kinds/SearchRelayList.js";
|
|
47
|
+
export * from "./kinds/SlashCommand.js";
|
|
48
|
+
export * from "./kinds/Thread.js";
|
|
49
|
+
export * from "./kinds/TimeEvent.js";
|
|
50
|
+
export * from "./kinds/TopicList.js";
|
|
51
|
+
export * from "./kinds/ZapGoal.js";
|
|
52
|
+
export * from "./kinds/ZapReceipt.js";
|
|
53
|
+
export * from "./kinds/ZapRequest.js";
|
|
54
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export * from "./EventReader.js";
|
|
2
|
+
export * from "./EventBuilder.js";
|
|
3
|
+
export * from "./kinds/BlockedRelayList.js";
|
|
4
|
+
export * from "./kinds/BlossomServerList.js";
|
|
5
|
+
export * from "./kinds/BookmarkList.js";
|
|
6
|
+
export * from "./kinds/Classified.js";
|
|
7
|
+
export * from "./kinds/Comment.js";
|
|
8
|
+
export * from "./kinds/EmojiList.js";
|
|
9
|
+
export * from "./kinds/Feed.js";
|
|
10
|
+
export * from "./kinds/FeedList.js";
|
|
11
|
+
export * from "./kinds/FollowList.js";
|
|
12
|
+
export * from "./kinds/GroupList.js";
|
|
13
|
+
export * from "./kinds/Handler.js";
|
|
14
|
+
export * from "./kinds/HandlerRecommendation.js";
|
|
15
|
+
export * from "./ListReader.js";
|
|
16
|
+
export * from "./ListBuilder.js";
|
|
17
|
+
export * from "./kinds/MessagingRelayList.js";
|
|
18
|
+
export * from "./kinds/MuteList.js";
|
|
19
|
+
export * from "./kinds/Pin.js";
|
|
20
|
+
export * from "./kinds/Pinboard.js";
|
|
21
|
+
export * from "./kinds/PinList.js";
|
|
22
|
+
export * from "./kinds/Poll.js";
|
|
23
|
+
export * from "./kinds/PollResponse.js";
|
|
24
|
+
export * from "./kinds/Profile.js";
|
|
25
|
+
export * from "./kinds/RelayAddMember.js";
|
|
26
|
+
export * from "./kinds/RelayInvite.js";
|
|
27
|
+
export * from "./kinds/RelayJoin.js";
|
|
28
|
+
export * from "./kinds/RelayLeave.js";
|
|
29
|
+
export * from "./kinds/RelayList.js";
|
|
30
|
+
export * from "./kinds/RelayMembers.js";
|
|
31
|
+
export * from "./kinds/RelayRemoveMember.js";
|
|
32
|
+
export * from "./kinds/RelaySet.js";
|
|
33
|
+
export * from "./kinds/Report.js";
|
|
34
|
+
export * from "./kinds/RoomAddMember.js";
|
|
35
|
+
export * from "./kinds/RoomAdmins.js";
|
|
36
|
+
export * from "./kinds/RoomCreate.js";
|
|
37
|
+
export * from "./kinds/RoomCreatePermission.js";
|
|
38
|
+
export * from "./kinds/RoomDelete.js";
|
|
39
|
+
export * from "./kinds/RoomEdit.js";
|
|
40
|
+
export * from "./kinds/RoomJoin.js";
|
|
41
|
+
export * from "./kinds/RoomLeave.js";
|
|
42
|
+
export * from "./kinds/RoomList.js";
|
|
43
|
+
export * from "./kinds/RoomMembers.js";
|
|
44
|
+
export * from "./kinds/RoomRemoveMember.js";
|
|
45
|
+
export * from "./kinds/RoomMeta.js";
|
|
46
|
+
export * from "./kinds/SearchRelayList.js";
|
|
47
|
+
export * from "./kinds/SlashCommand.js";
|
|
48
|
+
export * from "./kinds/Thread.js";
|
|
49
|
+
export * from "./kinds/TimeEvent.js";
|
|
50
|
+
export * from "./kinds/TopicList.js";
|
|
51
|
+
export * from "./kinds/ZapGoal.js";
|
|
52
|
+
export * from "./kinds/ZapReceipt.js";
|
|
53
|
+
export * from "./kinds/ZapRequest.js";
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class BlockedRelayList extends EventReader {
|
|
4
|
+
readonly kind = 10006;
|
|
5
|
+
urls(): string[];
|
|
6
|
+
includes(url: string): boolean;
|
|
7
|
+
builder(): BlockedRelayListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class BlockedRelayListBuilder extends EventBuilder<BlockedRelayList> {
|
|
10
|
+
readonly kind = 10006;
|
|
11
|
+
addUrl(url: string): this;
|
|
12
|
+
removeUrl(url: string): this;
|
|
13
|
+
setUrls(urls: string[]): this;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=BlockedRelayList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockedRelayList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BlockedRelayList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,IAAI,SAAiB;IAE9B,IAAI;IAIJ,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,OAAO;CAGR;AAED,qBAAa,uBAAwB,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IACzE,QAAQ,CAAC,IAAI,SAAiB;IAE9B,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { uniqBy, spec } from "@welshman/lib";
|
|
2
|
+
import { BLOCKED_RELAYS, getTagValues, normalizeRelayUrl } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-51 kind-10006 blocked relays list.
|
|
6
|
+
export class BlockedRelayList extends EventReader {
|
|
7
|
+
kind = BLOCKED_RELAYS;
|
|
8
|
+
urls() {
|
|
9
|
+
return uniqBy(normalizeRelayUrl, getTagValues("relay", this.tags()));
|
|
10
|
+
}
|
|
11
|
+
includes(url) {
|
|
12
|
+
return this.urls().includes(normalizeRelayUrl(url));
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new BlockedRelayListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class BlockedRelayListBuilder extends EventBuilder {
|
|
19
|
+
kind = BLOCKED_RELAYS;
|
|
20
|
+
addUrl(url) {
|
|
21
|
+
return this.addTags(["relay", normalizeRelayUrl(url)]);
|
|
22
|
+
}
|
|
23
|
+
removeUrl(url) {
|
|
24
|
+
return this.dropTags(spec(["relay", normalizeRelayUrl(url)]));
|
|
25
|
+
}
|
|
26
|
+
setUrls(urls) {
|
|
27
|
+
return this.dropTags(spec(["relay"])).addTags(...urls.map(url => ["relay", normalizeRelayUrl(url)]));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=BlockedRelayList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockedRelayList.js","sourceRoot":"","sources":["../../../../src/kinds/BlockedRelayList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,yCAAyC;AACzC,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,IAAI,GAAG,cAAc,CAAA;IAE9B,IAAI;QACF,OAAO,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,YAA8B;IAChE,IAAI,GAAG,cAAc,CAAA;IAE9B,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CACtD,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class BlossomServerList extends EventReader {
|
|
4
|
+
readonly kind = 10063;
|
|
5
|
+
urls(): string[];
|
|
6
|
+
includes(url: string): boolean;
|
|
7
|
+
builder(): BlossomServerListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class BlossomServerListBuilder extends EventBuilder<BlossomServerList> {
|
|
10
|
+
readonly kind = 10063;
|
|
11
|
+
addUrl(url: string): this;
|
|
12
|
+
removeUrl(url: string): this;
|
|
13
|
+
setUrls(urls: string[]): this;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=BlossomServerList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlossomServerList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BlossomServerList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,IAAI,SAAkB;IAE/B,IAAI;IAIJ,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,OAAO;CAGR;AAED,qBAAa,wBAAyB,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IAC3E,QAAQ,CAAC,IAAI,SAAkB;IAE/B,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB"}
|