@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
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { uniq, spec, normalizeUrl } from "@welshman/lib";
|
|
2
|
+
import { BLOSSOM_SERVERS, getTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// Blossom BUD-03 kind-10063 user server list.
|
|
6
|
+
export class BlossomServerList extends EventReader {
|
|
7
|
+
kind = BLOSSOM_SERVERS;
|
|
8
|
+
urls() {
|
|
9
|
+
return uniq(getTagValues("server", this.tags()).map(url => normalizeUrl(url)));
|
|
10
|
+
}
|
|
11
|
+
includes(url) {
|
|
12
|
+
return this.urls().includes(normalizeUrl(url));
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new BlossomServerListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class BlossomServerListBuilder extends EventBuilder {
|
|
19
|
+
kind = BLOSSOM_SERVERS;
|
|
20
|
+
addUrl(url) {
|
|
21
|
+
return this.addTags(["server", normalizeUrl(url)]);
|
|
22
|
+
}
|
|
23
|
+
removeUrl(url) {
|
|
24
|
+
return this.dropTags(spec(["server", normalizeUrl(url)]));
|
|
25
|
+
}
|
|
26
|
+
setUrls(urls) {
|
|
27
|
+
return this.dropTags(spec(["server"])).addTags(...urls.map(url => ["server", normalizeUrl(url)]));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=BlossomServerList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlossomServerList.js","sourceRoot":"","sources":["../../../../src/kinds/BlossomServerList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AACtD,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,8CAA8C;AAC9C,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IACvC,IAAI,GAAG,eAAe,CAAA;IAE/B,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,YAA+B;IAClE,IAAI,GAAG,eAAe,CAAA;IAE/B,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ListReader } from "../ListReader.js";
|
|
2
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
3
|
+
export declare class BookmarkList extends ListReader {
|
|
4
|
+
readonly kind = 10003;
|
|
5
|
+
ids(): string[];
|
|
6
|
+
addresses(): string[];
|
|
7
|
+
topics(): string[];
|
|
8
|
+
urls(): string[];
|
|
9
|
+
builder(): BookmarkListBuilder;
|
|
10
|
+
}
|
|
11
|
+
export declare class BookmarkListBuilder extends ListBuilder<BookmarkList> {
|
|
12
|
+
readonly kind = 10003;
|
|
13
|
+
bookmarkPublicly(tag: string[]): this;
|
|
14
|
+
bookmarkPrivately(tag: string[]): this;
|
|
15
|
+
removeBookmark(value: string): this;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BookmarkList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BookmarkList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/BookmarkList.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAG7C,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,IAAI,SAAY;IAEzB,GAAG;IAIH,SAAS;IAIT,MAAM;IAIN,IAAI;IAIJ,OAAO;CAGR;AAED,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAChE,QAAQ,CAAC,IAAI,SAAY;IAEzB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE;IAI9B,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE;IAI/B,cAAc,CAAC,KAAK,EAAE,MAAM;CAG7B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { uniq } from "@welshman/lib";
|
|
2
|
+
import { BOOKMARKS, getEventTagValues, getAddressTagValues, getTopicTagValues, getTagValues, } from "@welshman/util";
|
|
3
|
+
import { ListReader } from "../ListReader.js";
|
|
4
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
5
|
+
// NIP-51 kind-10003 bookmark list.
|
|
6
|
+
export class BookmarkList extends ListReader {
|
|
7
|
+
kind = BOOKMARKS;
|
|
8
|
+
ids() {
|
|
9
|
+
return uniq(getEventTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
addresses() {
|
|
12
|
+
return uniq(getAddressTagValues(this.tags()));
|
|
13
|
+
}
|
|
14
|
+
topics() {
|
|
15
|
+
return uniq(getTopicTagValues(this.tags()));
|
|
16
|
+
}
|
|
17
|
+
urls() {
|
|
18
|
+
return uniq(getTagValues("r", this.tags()));
|
|
19
|
+
}
|
|
20
|
+
builder() {
|
|
21
|
+
return new BookmarkListBuilder(this);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class BookmarkListBuilder extends ListBuilder {
|
|
25
|
+
kind = BOOKMARKS;
|
|
26
|
+
bookmarkPublicly(tag) {
|
|
27
|
+
return this.addPublic(tag);
|
|
28
|
+
}
|
|
29
|
+
bookmarkPrivately(tag) {
|
|
30
|
+
return this.addPrivate(tag);
|
|
31
|
+
}
|
|
32
|
+
removeBookmark(value) {
|
|
33
|
+
return this.dropTags(t => ["e", "a", "t", "r"].includes(t[0]) && t[1] === value);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=BookmarkList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BookmarkList.js","sourceRoot":"","sources":["../../../../src/kinds/BookmarkList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,GACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAE7C,mCAAmC;AACnC,MAAM,OAAO,YAAa,SAAQ,UAAU;IACjC,IAAI,GAAG,SAAS,CAAA;IAEzB,GAAG;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAyB;IACvD,IAAI,GAAG,SAAS,CAAA;IAEzB,gBAAgB,CAAC,GAAa;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,iBAAiB,CAAC,GAAa;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;IAClF,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export type ClassifiedPrice = {
|
|
4
|
+
amount: number;
|
|
5
|
+
currency: string;
|
|
6
|
+
frequency: string;
|
|
7
|
+
};
|
|
8
|
+
export declare class Classified extends EventReader {
|
|
9
|
+
readonly kind = 30402;
|
|
10
|
+
title(): string | undefined;
|
|
11
|
+
summary(): string | undefined;
|
|
12
|
+
price(): ClassifiedPrice | undefined;
|
|
13
|
+
status(): string | undefined;
|
|
14
|
+
images(): string[];
|
|
15
|
+
topics(): string[];
|
|
16
|
+
builder(): ClassifiedBuilder;
|
|
17
|
+
}
|
|
18
|
+
export declare class ClassifiedBuilder extends EventBuilder<Classified> {
|
|
19
|
+
readonly kind = 30402;
|
|
20
|
+
setTitle(title: string): this;
|
|
21
|
+
setSummary(summary: string): this;
|
|
22
|
+
setPrice(amount: number, currency?: string, frequency?: string): this;
|
|
23
|
+
setStatus(status: string): this;
|
|
24
|
+
setImages(images: string[]): this;
|
|
25
|
+
setTopics(topics: string[]): this;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=Classified.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Classified.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Classified.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAaD,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,IAAI,SAAa;IAE1B,KAAK;IAIL,OAAO;IAIP,KAAK,IAAI,eAAe,GAAG,SAAS;IAQpC,MAAM;IAIN,MAAM;IAIN,MAAM;IAIN,OAAO;CAGR;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,UAAU,CAAC;IAC7D,QAAQ,CAAC,IAAI,SAAa;IAE1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAQ,EAAE,SAAS,SAAK;IASzD,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAI1B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;CAG3B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { CLASSIFIED, getTag, getTagValue, getTagValues, getTopicTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
const parsePrice = ([, amount = "0", currency = "SAT", frequency = ""]) => {
|
|
6
|
+
const value = parseFloat(amount);
|
|
7
|
+
if (!isNaN(value)) {
|
|
8
|
+
return { amount: value, currency, frequency };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
// NIP-99 kind-30402 classified listing.
|
|
12
|
+
export class Classified extends EventReader {
|
|
13
|
+
kind = CLASSIFIED;
|
|
14
|
+
title() {
|
|
15
|
+
return getTagValue("title", this.event.tags);
|
|
16
|
+
}
|
|
17
|
+
summary() {
|
|
18
|
+
return getTagValue("summary", this.event.tags);
|
|
19
|
+
}
|
|
20
|
+
price() {
|
|
21
|
+
const tag = getTag("price", this.event.tags);
|
|
22
|
+
if (tag) {
|
|
23
|
+
return parsePrice(tag);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
status() {
|
|
27
|
+
return getTagValue("status", this.event.tags);
|
|
28
|
+
}
|
|
29
|
+
images() {
|
|
30
|
+
return getTagValues("image", this.event.tags);
|
|
31
|
+
}
|
|
32
|
+
topics() {
|
|
33
|
+
return getTopicTagValues(this.event.tags);
|
|
34
|
+
}
|
|
35
|
+
builder() {
|
|
36
|
+
return new ClassifiedBuilder(this);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class ClassifiedBuilder extends EventBuilder {
|
|
40
|
+
kind = CLASSIFIED;
|
|
41
|
+
setTitle(title) {
|
|
42
|
+
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
43
|
+
}
|
|
44
|
+
setSummary(summary) {
|
|
45
|
+
return this.dropTags(spec(["summary"])).addTags(["summary", summary]);
|
|
46
|
+
}
|
|
47
|
+
setPrice(amount, currency = "SAT", frequency = "") {
|
|
48
|
+
return this.dropTags(spec(["price"])).addTags([
|
|
49
|
+
"price",
|
|
50
|
+
String(amount),
|
|
51
|
+
currency,
|
|
52
|
+
...(frequency ? [frequency] : []),
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
setStatus(status) {
|
|
56
|
+
return this.dropTags(spec(["status"])).addTags(["status", status]);
|
|
57
|
+
}
|
|
58
|
+
setImages(images) {
|
|
59
|
+
return this.dropTags(spec(["image"])).addTags(...images.map(image => ["image", image]));
|
|
60
|
+
}
|
|
61
|
+
setTopics(topics) {
|
|
62
|
+
return this.dropTags(spec(["t"])).addTags(...topics.map(topic => ["t", topic]));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=Classified.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Classified.js","sourceRoot":"","sources":["../../../../src/kinds/Classified.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
import { EventReader } from "../EventReader.js";
|
|
3
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
4
|
+
export type CommentRef = {
|
|
5
|
+
id?: string;
|
|
6
|
+
address?: string;
|
|
7
|
+
kind?: string;
|
|
8
|
+
pubkey?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class Comment extends EventReader {
|
|
11
|
+
readonly kind = 1111;
|
|
12
|
+
root(): CommentRef;
|
|
13
|
+
parent(): CommentRef;
|
|
14
|
+
builder(): CommentBuilder;
|
|
15
|
+
}
|
|
16
|
+
export declare class CommentBuilder extends EventBuilder<Comment> {
|
|
17
|
+
readonly reader?: Comment | undefined;
|
|
18
|
+
readonly kind = 1111;
|
|
19
|
+
rootTags: string[][];
|
|
20
|
+
parentTags: string[][];
|
|
21
|
+
constructor(reader?: Comment | undefined);
|
|
22
|
+
private consumeRefTags;
|
|
23
|
+
setRoot(kind: number, id: string, pubkey: string, identifier?: string): this;
|
|
24
|
+
setParent(kind: number, id: string, pubkey: string, identifier?: string): this;
|
|
25
|
+
setRootFromEvent(event: TrustedEvent): this;
|
|
26
|
+
setParentFromEvent(event: TrustedEvent): this;
|
|
27
|
+
protected buildTags(): string[][];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=Comment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Comment.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Comment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAGD,qBAAa,OAAQ,SAAQ,WAAW;IACtC,QAAQ,CAAC,IAAI,QAAU;IAEvB,IAAI,IAAI,UAAU;IASlB,MAAM,IAAI,UAAU;IASpB,OAAO;CAGR;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,OAAO,CAAC;IAM3C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO;IALrC,QAAQ,CAAC,IAAI,QAAU;IAEvB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAK;IACzB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;gBAEN,MAAM,CAAC,EAAE,OAAO,YAAA;IAOrC,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAcrE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAcvE,gBAAgB,CAAC,KAAK,EAAE,YAAY;IAMpC,kBAAkB,CAAC,KAAK,EAAE,YAAY;IAMtC,SAAS,CAAC,SAAS;CAGpB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { first } from "@welshman/lib";
|
|
2
|
+
import { COMMENT, Address, getTagValue } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-22 kind-1111 comment (uppercase E/A/K/P tags = thread root, lowercase = immediate parent).
|
|
6
|
+
export class Comment extends EventReader {
|
|
7
|
+
kind = COMMENT;
|
|
8
|
+
root() {
|
|
9
|
+
return {
|
|
10
|
+
id: getTagValue("E", this.event.tags),
|
|
11
|
+
address: getTagValue("A", this.event.tags),
|
|
12
|
+
kind: getTagValue("K", this.event.tags),
|
|
13
|
+
pubkey: getTagValue("P", this.event.tags),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
parent() {
|
|
17
|
+
return {
|
|
18
|
+
id: getTagValue("e", this.event.tags),
|
|
19
|
+
address: getTagValue("a", this.event.tags),
|
|
20
|
+
kind: getTagValue("k", this.event.tags),
|
|
21
|
+
pubkey: getTagValue("p", this.event.tags),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
builder() {
|
|
25
|
+
return new CommentBuilder(this);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class CommentBuilder extends EventBuilder {
|
|
29
|
+
reader;
|
|
30
|
+
kind = COMMENT;
|
|
31
|
+
rootTags = [];
|
|
32
|
+
parentTags = [];
|
|
33
|
+
constructor(reader) {
|
|
34
|
+
super(reader);
|
|
35
|
+
this.reader = reader;
|
|
36
|
+
this.rootTags = this.consumeRefTags("E", "A", "K", "P");
|
|
37
|
+
this.parentTags = this.consumeRefTags("e", "a", "k", "p");
|
|
38
|
+
}
|
|
39
|
+
consumeRefTags(...keys) {
|
|
40
|
+
const tags = [];
|
|
41
|
+
for (const key of keys) {
|
|
42
|
+
const tag = first(this.consumeTags(key));
|
|
43
|
+
if (tag)
|
|
44
|
+
tags.push(tag);
|
|
45
|
+
}
|
|
46
|
+
return tags;
|
|
47
|
+
}
|
|
48
|
+
setRoot(kind, id, pubkey, identifier) {
|
|
49
|
+
this.rootTags = [
|
|
50
|
+
["K", String(kind)],
|
|
51
|
+
["E", id],
|
|
52
|
+
["P", pubkey],
|
|
53
|
+
];
|
|
54
|
+
if (identifier) {
|
|
55
|
+
this.rootTags.push(["A", new Address(kind, pubkey, identifier).toString()]);
|
|
56
|
+
}
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
setParent(kind, id, pubkey, identifier) {
|
|
60
|
+
this.parentTags = [
|
|
61
|
+
["k", String(kind)],
|
|
62
|
+
["e", id],
|
|
63
|
+
["p", pubkey],
|
|
64
|
+
];
|
|
65
|
+
if (identifier) {
|
|
66
|
+
this.parentTags.push(["a", new Address(kind, pubkey, identifier).toString()]);
|
|
67
|
+
}
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
setRootFromEvent(event) {
|
|
71
|
+
this.setRoot(event.kind, event.id, event.pubkey, getTagValue("d", event.tags));
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
setParentFromEvent(event) {
|
|
75
|
+
this.setParent(event.kind, event.id, event.pubkey, getTagValue("d", event.tags));
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
buildTags() {
|
|
79
|
+
return [...this.rootTags, ...this.parentTags];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=Comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Comment.js","sourceRoot":"","sources":["../../../../src/kinds/Comment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class EmojiList extends EventReader {
|
|
4
|
+
readonly kind = 10030;
|
|
5
|
+
emojis(): string[][];
|
|
6
|
+
emojiSets(): string[];
|
|
7
|
+
builder(): EmojiListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class EmojiListBuilder extends EventBuilder<EmojiList> {
|
|
10
|
+
readonly kind = 10030;
|
|
11
|
+
addEmoji(shortcode: string, url: string): this;
|
|
12
|
+
removeEmoji(value: string): this;
|
|
13
|
+
addEmojiSet(address: string): this;
|
|
14
|
+
removeEmojiSet(value: string): this;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=EmojiList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/EmojiList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,SAAU,SAAQ,WAAW;IACxC,QAAQ,CAAC,IAAI,SAAS;IAEtB,MAAM;IAIN,SAAS;IAIT,OAAO;CAGR;AAED,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC3D,QAAQ,CAAC,IAAI,SAAS;IAEtB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAIvC,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,WAAW,CAAC,OAAO,EAAE,MAAM;IAI3B,cAAc,CAAC,KAAK,EAAE,MAAM;CAG7B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { uniq, spec } from "@welshman/lib";
|
|
2
|
+
import { EMOJIS, getAddressTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-51 kind-10030 user emoji list.
|
|
6
|
+
export class EmojiList extends EventReader {
|
|
7
|
+
kind = EMOJIS;
|
|
8
|
+
emojis() {
|
|
9
|
+
return this.tags().filter(spec(["emoji"]));
|
|
10
|
+
}
|
|
11
|
+
emojiSets() {
|
|
12
|
+
return uniq(getAddressTagValues(this.tags()));
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new EmojiListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class EmojiListBuilder extends EventBuilder {
|
|
19
|
+
kind = EMOJIS;
|
|
20
|
+
addEmoji(shortcode, url) {
|
|
21
|
+
return this.addTags(["emoji", shortcode, url]);
|
|
22
|
+
}
|
|
23
|
+
removeEmoji(value) {
|
|
24
|
+
return this.dropTags(spec(["emoji", value]));
|
|
25
|
+
}
|
|
26
|
+
addEmojiSet(address) {
|
|
27
|
+
return this.addTags(["a", address]);
|
|
28
|
+
}
|
|
29
|
+
removeEmojiSet(value) {
|
|
30
|
+
return this.dropTags(spec(["a", value]));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=EmojiList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiList.js","sourceRoot":"","sources":["../../../../src/kinds/EmojiList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,MAAM,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,qCAAqC;AACrC,MAAM,OAAO,SAAU,SAAQ,WAAW;IAC/B,IAAI,GAAG,MAAM,CAAA;IAEtB,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,YAAuB;IAClD,IAAI,GAAG,MAAM,CAAA;IAEtB,QAAQ,CAAC,SAAiB,EAAE,GAAW;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Feed as FeedDefinition } from "@welshman/feeds";
|
|
2
|
+
import { EventReader } from "../EventReader.js";
|
|
3
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
4
|
+
export declare class Feed extends EventReader {
|
|
5
|
+
readonly kind = 31890;
|
|
6
|
+
title(): string;
|
|
7
|
+
description(): string;
|
|
8
|
+
definition(): FeedDefinition | undefined;
|
|
9
|
+
builder(): FeedBuilder;
|
|
10
|
+
}
|
|
11
|
+
export declare class FeedBuilder extends EventBuilder<Feed> {
|
|
12
|
+
readonly kind = 31890;
|
|
13
|
+
setTitle(title: string): this;
|
|
14
|
+
setDescription(description: string): this;
|
|
15
|
+
setDefinition(feed: FeedDefinition): this;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=Feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Feed.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Feed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,IAAI,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAE3D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,IAAK,SAAQ,WAAW;IACnC,QAAQ,CAAC,IAAI,SAAO;IAEpB,KAAK;IAIL,WAAW;IAIX,UAAU,IAAI,cAAc,GAAG,SAAS;IAIxC,OAAO;CAGR;AAED,qBAAa,WAAY,SAAQ,YAAY,CAAC,IAAI,CAAC;IACjD,QAAQ,CAAC,IAAI,SAAO;IAEpB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,aAAa,CAAC,IAAI,EAAE,cAAc;CAGnC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { parseJson, spec } from "@welshman/lib";
|
|
2
|
+
import { FEED, getTagValue } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-51 kind-31890 saved-feed definition.
|
|
6
|
+
export class Feed extends EventReader {
|
|
7
|
+
kind = FEED;
|
|
8
|
+
title() {
|
|
9
|
+
return getTagValue("title", this.event.tags) || "";
|
|
10
|
+
}
|
|
11
|
+
description() {
|
|
12
|
+
return getTagValue("description", this.event.tags) || "";
|
|
13
|
+
}
|
|
14
|
+
definition() {
|
|
15
|
+
return parseJson(getTagValue("feed", this.event.tags));
|
|
16
|
+
}
|
|
17
|
+
builder() {
|
|
18
|
+
return new FeedBuilder(this);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class FeedBuilder extends EventBuilder {
|
|
22
|
+
kind = FEED;
|
|
23
|
+
setTitle(title) {
|
|
24
|
+
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
25
|
+
}
|
|
26
|
+
setDescription(description) {
|
|
27
|
+
return this.dropTags(spec(["description"])).addTags(["description", description]);
|
|
28
|
+
}
|
|
29
|
+
setDefinition(feed) {
|
|
30
|
+
return this.dropTags(spec(["feed"])).addTags(["feed", JSON.stringify(feed)]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Feed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Feed.js","sourceRoot":"","sources":["../../../../src/kinds/Feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAGhD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,2CAA2C;AAC3C,MAAM,OAAO,IAAK,SAAQ,WAAW;IAC1B,IAAI,GAAG,IAAI,CAAA;IAEpB,KAAK;QACH,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACpD,CAAC;IAED,WAAW;QACT,OAAO,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC1D,CAAC;IAED,UAAU;QACR,OAAO,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,YAAkB;IACxC,IAAI,GAAG,IAAI,CAAA;IAEpB,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;IACnF,CAAC;IAED,aAAa,CAAC,IAAoB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9E,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ListReader } from "../ListReader.js";
|
|
2
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
3
|
+
export declare class FeedList extends ListReader {
|
|
4
|
+
readonly kind = 10014;
|
|
5
|
+
addresses(): string[];
|
|
6
|
+
includes(address: string): boolean;
|
|
7
|
+
builder(): FeedListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class FeedListBuilder extends ListBuilder<FeedList> {
|
|
10
|
+
readonly kind = 10014;
|
|
11
|
+
addFeed(address: string, relayHint?: string): this;
|
|
12
|
+
addFeedPrivately(address: string, relayHint?: string): this;
|
|
13
|
+
removeFeed(address: string): this;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=FeedList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/FeedList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAG7C,qBAAa,QAAS,SAAQ,UAAU;IACtC,QAAQ,CAAC,IAAI,SAAQ;IAErB,SAAS;IAIT,QAAQ,CAAC,OAAO,EAAE,MAAM;IAIxB,OAAO;CAGR;AAED,qBAAa,eAAgB,SAAQ,WAAW,CAAC,QAAQ,CAAC;IACxD,QAAQ,CAAC,IAAI,SAAQ;IAErB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAI3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAIpD,UAAU,CAAC,OAAO,EAAE,MAAM;CAG3B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { uniq, spec } from "@welshman/lib";
|
|
2
|
+
import { FEEDS, getAddressTagValues } from "@welshman/util";
|
|
3
|
+
import { ListReader } from "../ListReader.js";
|
|
4
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
5
|
+
// NIP-51 kind-10014 saved feeds list.
|
|
6
|
+
export class FeedList extends ListReader {
|
|
7
|
+
kind = FEEDS;
|
|
8
|
+
addresses() {
|
|
9
|
+
return uniq(getAddressTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
includes(address) {
|
|
12
|
+
return this.addresses().includes(address);
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new FeedListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class FeedListBuilder extends ListBuilder {
|
|
19
|
+
kind = FEEDS;
|
|
20
|
+
addFeed(address, relayHint) {
|
|
21
|
+
return this.addPublic(["a", address, relayHint || ""]);
|
|
22
|
+
}
|
|
23
|
+
addFeedPrivately(address, relayHint) {
|
|
24
|
+
return this.addPrivate(["a", address, relayHint || ""]);
|
|
25
|
+
}
|
|
26
|
+
removeFeed(address) {
|
|
27
|
+
return this.dropTags(spec(["a", address]));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=FeedList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedList.js","sourceRoot":"","sources":["../../../../src/kinds/FeedList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,KAAK,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAE7C,sCAAsC;AACtC,MAAM,OAAO,QAAS,SAAQ,UAAU;IAC7B,IAAI,GAAG,KAAK,CAAA;IAErB,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAqB;IAC/C,IAAI,GAAG,KAAK,CAAA;IAErB,OAAO,CAAC,OAAe,EAAE,SAAkB;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,SAAkB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class FollowList extends EventReader {
|
|
4
|
+
readonly kind = 3;
|
|
5
|
+
pubkeys(): string[];
|
|
6
|
+
includes(pubkey: string): boolean;
|
|
7
|
+
builder(): FollowListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class FollowListBuilder extends EventBuilder<FollowList> {
|
|
10
|
+
readonly kind = 3;
|
|
11
|
+
follow(pubkey: string, relayHint?: string, petname?: string): this;
|
|
12
|
+
unfollow(pubkey: string): this;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=FollowList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FollowList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/FollowList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,IAAI,KAAU;IAEvB,OAAO;IAIP,QAAQ,CAAC,MAAM,EAAE,MAAM;IAIvB,OAAO;CAGR;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,UAAU,CAAC;IAC7D,QAAQ,CAAC,IAAI,KAAU;IAEvB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAI3D,QAAQ,CAAC,MAAM,EAAE,MAAM;CAGxB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { uniq, spec, removeUndefined } from "@welshman/lib";
|
|
2
|
+
import { FOLLOWS, getPubkeyTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-02 kind-3 follow list.
|
|
6
|
+
export class FollowList extends EventReader {
|
|
7
|
+
kind = FOLLOWS;
|
|
8
|
+
pubkeys() {
|
|
9
|
+
return uniq(getPubkeyTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
includes(pubkey) {
|
|
12
|
+
return this.pubkeys().includes(pubkey);
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new FollowListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class FollowListBuilder extends EventBuilder {
|
|
19
|
+
kind = FOLLOWS;
|
|
20
|
+
follow(pubkey, relayHint, petname) {
|
|
21
|
+
return this.addTags(removeUndefined(["p", pubkey, relayHint, petname]));
|
|
22
|
+
}
|
|
23
|
+
unfollow(pubkey) {
|
|
24
|
+
return this.dropTags(spec(["p", pubkey]));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=FollowList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FollowList.js","sourceRoot":"","sources":["../../../../src/kinds/FollowList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,MAAM,eAAe,CAAA;AACzD,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,6BAA6B;AAC7B,MAAM,OAAO,UAAW,SAAQ,WAAW;IAChC,IAAI,GAAG,OAAO,CAAA;IAEvB,OAAO;QACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAwB;IACpD,IAAI,GAAG,OAAO,CAAA;IAEvB,MAAM,CAAC,MAAc,EAAE,SAAkB,EAAE,OAAgB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class GroupList extends EventReader {
|
|
4
|
+
readonly kind = 10004;
|
|
5
|
+
addresses(): string[];
|
|
6
|
+
builder(): GroupListBuilder;
|
|
7
|
+
}
|
|
8
|
+
export declare class GroupListBuilder extends EventBuilder<GroupList> {
|
|
9
|
+
readonly kind = 10004;
|
|
10
|
+
addGroup(address: string, relayHint?: string): this;
|
|
11
|
+
removeGroup(address: string): this;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=GroupList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/GroupList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,SAAU,SAAQ,WAAW;IACxC,QAAQ,CAAC,IAAI,SAAc;IAE3B,SAAS;IAIT,OAAO;CAGR;AAED,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC3D,QAAQ,CAAC,IAAI,SAAc;IAE3B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAI5C,WAAW,CAAC,OAAO,EAAE,MAAM;CAG5B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { uniq, spec, removeUndefined } from "@welshman/lib";
|
|
2
|
+
import { COMMUNITIES, getAddressTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-51 kind-10004 group/community list.
|
|
6
|
+
export class GroupList extends EventReader {
|
|
7
|
+
kind = COMMUNITIES;
|
|
8
|
+
addresses() {
|
|
9
|
+
return uniq(getAddressTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
builder() {
|
|
12
|
+
return new GroupListBuilder(this);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class GroupListBuilder extends EventBuilder {
|
|
16
|
+
kind = COMMUNITIES;
|
|
17
|
+
addGroup(address, relayHint) {
|
|
18
|
+
return this.addTags(removeUndefined(["a", address, relayHint]));
|
|
19
|
+
}
|
|
20
|
+
removeGroup(address) {
|
|
21
|
+
return this.dropTags(spec(["a", address]));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=GroupList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupList.js","sourceRoot":"","sources":["../../../../src/kinds/GroupList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,MAAM,eAAe,CAAA;AACzD,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,0CAA0C;AAC1C,MAAM,OAAO,SAAU,SAAQ,WAAW;IAC/B,IAAI,GAAG,WAAW,CAAA;IAE3B,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,YAAuB;IAClD,IAAI,GAAG,WAAW,CAAA;IAE3B,QAAQ,CAAC,OAAe,EAAE,SAAkB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;CACF"}
|