@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,41 @@
|
|
|
1
|
+
import type { ISigner } from "@welshman/signer";
|
|
2
|
+
import { EventReader } from "../EventReader.js";
|
|
3
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
4
|
+
export type HandlerMeta = {
|
|
5
|
+
name?: string;
|
|
6
|
+
about?: string;
|
|
7
|
+
picture?: string;
|
|
8
|
+
website?: string;
|
|
9
|
+
lud16?: string;
|
|
10
|
+
nip05?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class Handler extends EventReader {
|
|
13
|
+
readonly kind = 31990;
|
|
14
|
+
readonly values: HandlerMeta;
|
|
15
|
+
protected parse(signer?: ISigner): Promise<void>;
|
|
16
|
+
name(): string | undefined;
|
|
17
|
+
about(): string | undefined;
|
|
18
|
+
picture(): string | undefined;
|
|
19
|
+
website(): string | undefined;
|
|
20
|
+
lud16(): string | undefined;
|
|
21
|
+
nip05(): string | undefined;
|
|
22
|
+
kinds(): number[];
|
|
23
|
+
builder(): HandlerBuilder;
|
|
24
|
+
}
|
|
25
|
+
export declare class HandlerBuilder extends EventBuilder<Handler> {
|
|
26
|
+
readonly reader?: Handler | undefined;
|
|
27
|
+
readonly kind = 31990;
|
|
28
|
+
values: HandlerMeta;
|
|
29
|
+
kindTags: string[][];
|
|
30
|
+
constructor(reader?: Handler | undefined);
|
|
31
|
+
setName(name: string): this;
|
|
32
|
+
setAbout(about: string): this;
|
|
33
|
+
setPicture(picture: string): this;
|
|
34
|
+
setWebsite(website: string): this;
|
|
35
|
+
setLud16(lud16: string): this;
|
|
36
|
+
setNip05(nip05: string): this;
|
|
37
|
+
setKinds(kinds: number[]): this;
|
|
38
|
+
protected buildContent(): string;
|
|
39
|
+
protected buildTags(): string[][];
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=Handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAGD,qBAAa,OAAQ,SAAQ,WAAW;IACtC,QAAQ,CAAC,IAAI,SAAsB;IACnC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAK;cAEjB,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO;IAQtC,IAAI;IAIJ,KAAK;IAIL,OAAO;IAIP,OAAO;IAIP,KAAK;IAIL,KAAK;IAIL,KAAK;IAIL,OAAO;CAGR;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,OAAO,CAAC;IAM3C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO;IALrC,QAAQ,CAAC,IAAI,SAAsB;IAEnC,MAAM,EAAE,WAAW,CAAK;IACxB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAK;gBAEJ,MAAM,CAAC,EAAE,OAAO,YAAA;IAOrC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;IAMxB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,SAAS;CAGpB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { isPojo, parseJson } from "@welshman/lib";
|
|
2
|
+
import { HANDLER_INFORMATION, getKindTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-89 kind-31990 handler information.
|
|
6
|
+
export class Handler extends EventReader {
|
|
7
|
+
kind = HANDLER_INFORMATION;
|
|
8
|
+
values = {};
|
|
9
|
+
async parse(signer) {
|
|
10
|
+
const json = parseJson(this.event.content);
|
|
11
|
+
if (isPojo(json)) {
|
|
12
|
+
Object.assign(this.values, json);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
name() {
|
|
16
|
+
return this.values.name;
|
|
17
|
+
}
|
|
18
|
+
about() {
|
|
19
|
+
return this.values.about;
|
|
20
|
+
}
|
|
21
|
+
picture() {
|
|
22
|
+
return this.values.picture;
|
|
23
|
+
}
|
|
24
|
+
website() {
|
|
25
|
+
return this.values.website;
|
|
26
|
+
}
|
|
27
|
+
lud16() {
|
|
28
|
+
return this.values.lud16;
|
|
29
|
+
}
|
|
30
|
+
nip05() {
|
|
31
|
+
return this.values.nip05;
|
|
32
|
+
}
|
|
33
|
+
kinds() {
|
|
34
|
+
return getKindTagValues(this.event.tags);
|
|
35
|
+
}
|
|
36
|
+
builder() {
|
|
37
|
+
return new HandlerBuilder(this);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class HandlerBuilder extends EventBuilder {
|
|
41
|
+
reader;
|
|
42
|
+
kind = HANDLER_INFORMATION;
|
|
43
|
+
values = {};
|
|
44
|
+
kindTags = [];
|
|
45
|
+
constructor(reader) {
|
|
46
|
+
super(reader);
|
|
47
|
+
this.reader = reader;
|
|
48
|
+
this.values = { ...(reader?.values ?? {}) };
|
|
49
|
+
this.kindTags = this.consumeTags("k");
|
|
50
|
+
}
|
|
51
|
+
setName(name) {
|
|
52
|
+
this.values.name = name;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
setAbout(about) {
|
|
56
|
+
this.values.about = about;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
setPicture(picture) {
|
|
60
|
+
this.values.picture = picture;
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
setWebsite(website) {
|
|
64
|
+
this.values.website = website;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
setLud16(lud16) {
|
|
68
|
+
this.values.lud16 = lud16;
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
setNip05(nip05) {
|
|
72
|
+
this.values.nip05 = nip05;
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
setKinds(kinds) {
|
|
76
|
+
this.kindTags = kinds.map(kind => ["k", String(kind)]);
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
buildContent() {
|
|
80
|
+
return JSON.stringify(this.values);
|
|
81
|
+
}
|
|
82
|
+
buildTags() {
|
|
83
|
+
return this.kindTags;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=Handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../../src/kinds/Handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class HandlerRecommendation extends EventReader {
|
|
4
|
+
readonly kind = 31989;
|
|
5
|
+
addressTags(): string[][];
|
|
6
|
+
addresses(): string[];
|
|
7
|
+
handlerAddress(): string;
|
|
8
|
+
builder(): HandlerRecommendationBuilder;
|
|
9
|
+
}
|
|
10
|
+
export declare class HandlerRecommendationBuilder extends EventBuilder<HandlerRecommendation> {
|
|
11
|
+
readonly kind = 31989;
|
|
12
|
+
addRecommendation(address: string, relay?: string, platform?: string): this;
|
|
13
|
+
removeRecommendation(address: string): this;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=HandlerRecommendation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandlerRecommendation.d.ts","sourceRoot":"","sources":["../../../../src/kinds/HandlerRecommendation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,QAAQ,CAAC,IAAI,SAAyB;IAEtC,WAAW;IAIX,SAAS;IAIT,cAAc;IAOd,OAAO;CAGR;AAED,qBAAa,4BAA6B,SAAQ,YAAY,CAAC,qBAAqB,CAAC;IACnF,QAAQ,CAAC,IAAI,SAAyB;IAEtC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAMpE,oBAAoB,CAAC,OAAO,EAAE,MAAM;CAGrC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { last, removeUndefined, spec } from "@welshman/lib";
|
|
2
|
+
import { HANDLER_RECOMMENDATION, getAddressTags, getAddressTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-89 kind-31989 handler recommendation.
|
|
6
|
+
export class HandlerRecommendation extends EventReader {
|
|
7
|
+
kind = HANDLER_RECOMMENDATION;
|
|
8
|
+
addressTags() {
|
|
9
|
+
return getAddressTags(this.event.tags);
|
|
10
|
+
}
|
|
11
|
+
addresses() {
|
|
12
|
+
return getAddressTagValues(this.event.tags);
|
|
13
|
+
}
|
|
14
|
+
handlerAddress() {
|
|
15
|
+
const tags = this.addressTags();
|
|
16
|
+
const tag = tags.find(t => last(t) === "web") || tags[0];
|
|
17
|
+
return tag?.[1];
|
|
18
|
+
}
|
|
19
|
+
builder() {
|
|
20
|
+
return new HandlerRecommendationBuilder(this);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class HandlerRecommendationBuilder extends EventBuilder {
|
|
24
|
+
kind = HANDLER_RECOMMENDATION;
|
|
25
|
+
addRecommendation(address, relay, platform) {
|
|
26
|
+
return this.dropTags(spec(["a", address])).addTags(removeUndefined(["a", address, relay || "", platform || ""]));
|
|
27
|
+
}
|
|
28
|
+
removeRecommendation(address) {
|
|
29
|
+
return this.dropTags(spec(["a", address]));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=HandlerRecommendation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandlerRecommendation.js","sourceRoot":"","sources":["../../../../src/kinds/HandlerRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACzD,OAAO,EAAC,sBAAsB,EAAE,cAAc,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAC1F,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,4CAA4C;AAC5C,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAC3C,IAAI,GAAG,sBAAsB,CAAA;IAEtC,WAAW;QACT,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,SAAS;QACP,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QAExD,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,YAAmC;IAC1E,IAAI,GAAG,sBAAsB,CAAA;IAEtC,iBAAiB,CAAC,OAAe,EAAE,KAAc,EAAE,QAAiB;QAClE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAChD,eAAe,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAC7D,CAAA;IACH,CAAC;IAED,oBAAoB,CAAC,OAAe;QAClC,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 MessagingRelayList extends EventReader {
|
|
4
|
+
readonly kind = 10050;
|
|
5
|
+
urls(): string[];
|
|
6
|
+
builder(): MessagingRelayListBuilder;
|
|
7
|
+
}
|
|
8
|
+
export declare class MessagingRelayListBuilder extends EventBuilder<MessagingRelayList> {
|
|
9
|
+
readonly kind = 10050;
|
|
10
|
+
addUrl(url: string): this;
|
|
11
|
+
removeUrl(url: string): this;
|
|
12
|
+
setUrls(urls: string[]): this;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=MessagingRelayList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingRelayList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/MessagingRelayList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,QAAQ,CAAC,IAAI,SAAmB;IAEhC,IAAI;IAIJ,OAAO;CAGR;AAED,qBAAa,yBAA0B,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAC7E,QAAQ,CAAC,IAAI,SAAmB;IAEhC,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAKvB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { uniqBy, spec } from "@welshman/lib";
|
|
2
|
+
import { MESSAGING_RELAYS, getTagValues, normalizeRelayUrl } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-17 kind-10050 messaging/inbox relays list.
|
|
6
|
+
export class MessagingRelayList extends EventReader {
|
|
7
|
+
kind = MESSAGING_RELAYS;
|
|
8
|
+
urls() {
|
|
9
|
+
return uniqBy(normalizeRelayUrl, getTagValues("relay", this.tags()));
|
|
10
|
+
}
|
|
11
|
+
builder() {
|
|
12
|
+
return new MessagingRelayListBuilder(this);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class MessagingRelayListBuilder extends EventBuilder {
|
|
16
|
+
kind = MESSAGING_RELAYS;
|
|
17
|
+
addUrl(url) {
|
|
18
|
+
return this.addTags(["relay", normalizeRelayUrl(url)]);
|
|
19
|
+
}
|
|
20
|
+
removeUrl(url) {
|
|
21
|
+
return this.dropTags(spec(["relay", normalizeRelayUrl(url)]));
|
|
22
|
+
}
|
|
23
|
+
setUrls(urls) {
|
|
24
|
+
return this.dropTags(spec(["relay"])).addTags(...urls.map(url => ["relay", normalizeRelayUrl(url)]));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=MessagingRelayList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingRelayList.js","sourceRoot":"","sources":["../../../../src/kinds/MessagingRelayList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAChF,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,iDAAiD;AACjD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACxC,IAAI,GAAG,gBAAgB,CAAA;IAEhC,IAAI;QACF,OAAO,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,YAAgC;IACpE,IAAI,GAAG,gBAAgB,CAAA;IAEhC,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 { ListReader } from "../ListReader.js";
|
|
2
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
3
|
+
export declare class MuteList extends ListReader {
|
|
4
|
+
readonly kind = 10000;
|
|
5
|
+
pubkeys(): string[];
|
|
6
|
+
includes(pubkey: string): boolean;
|
|
7
|
+
builder(): MuteListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class MuteListBuilder extends ListBuilder<MuteList> {
|
|
10
|
+
readonly kind = 10000;
|
|
11
|
+
mutePublicly(pubkey: string): this;
|
|
12
|
+
mutePrivately(pubkey: string): this;
|
|
13
|
+
unmute(pubkey: string): this;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=MuteList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MuteList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/MuteList.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,OAAO;IAIP,QAAQ,CAAC,MAAM,EAAE,MAAM;IAIvB,OAAO;CAGR;AAED,qBAAa,eAAgB,SAAQ,WAAW,CAAC,QAAQ,CAAC;IACxD,QAAQ,CAAC,IAAI,SAAQ;IAErB,YAAY,CAAC,MAAM,EAAE,MAAM;IAI3B,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,MAAM,CAAC,MAAM,EAAE,MAAM;CAGtB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { uniq, spec } from "@welshman/lib";
|
|
2
|
+
import { MUTES, getPubkeyTagValues } from "@welshman/util";
|
|
3
|
+
import { ListReader } from "../ListReader.js";
|
|
4
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
5
|
+
// NIP-51 kind-10000 mute list.
|
|
6
|
+
export class MuteList extends ListReader {
|
|
7
|
+
kind = MUTES;
|
|
8
|
+
pubkeys() {
|
|
9
|
+
return uniq(getPubkeyTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
includes(pubkey) {
|
|
12
|
+
return this.pubkeys().includes(pubkey);
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new MuteListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class MuteListBuilder extends ListBuilder {
|
|
19
|
+
kind = MUTES;
|
|
20
|
+
mutePublicly(pubkey) {
|
|
21
|
+
return this.addPublic(["p", pubkey]);
|
|
22
|
+
}
|
|
23
|
+
mutePrivately(pubkey) {
|
|
24
|
+
return this.addPrivate(["p", pubkey]);
|
|
25
|
+
}
|
|
26
|
+
unmute(pubkey) {
|
|
27
|
+
return this.dropTags(spec(["p", pubkey]));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=MuteList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MuteList.js","sourceRoot":"","sources":["../../../../src/kinds/MuteList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,KAAK,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAE7C,+BAA+B;AAC/B,MAAM,OAAO,QAAS,SAAQ,UAAU;IAC7B,IAAI,GAAG,KAAK,CAAA;IAErB,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,eAAe,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAqB;IAC/C,IAAI,GAAG,KAAK,CAAA;IAErB,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export type PinReference = {
|
|
4
|
+
type: "event";
|
|
5
|
+
id: string;
|
|
6
|
+
relay?: string;
|
|
7
|
+
} | {
|
|
8
|
+
type: "address";
|
|
9
|
+
address: string;
|
|
10
|
+
relay?: string;
|
|
11
|
+
} | {
|
|
12
|
+
type: "external";
|
|
13
|
+
id: string;
|
|
14
|
+
kind?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare class Pin extends EventReader {
|
|
17
|
+
readonly kind = 39067;
|
|
18
|
+
boards(): string[];
|
|
19
|
+
isProfilePin(): boolean;
|
|
20
|
+
reference(): PinReference | undefined;
|
|
21
|
+
title(): string | undefined;
|
|
22
|
+
topics(): string[];
|
|
23
|
+
builder(): PinBuilder;
|
|
24
|
+
}
|
|
25
|
+
export declare class PinBuilder extends EventBuilder<Pin> {
|
|
26
|
+
readonly kind = 39067;
|
|
27
|
+
setTitle(title: string): this;
|
|
28
|
+
addBoard(address: string): this;
|
|
29
|
+
removeBoard(address: string): this;
|
|
30
|
+
setEvent(id: string, relay?: string): this;
|
|
31
|
+
setAddress(address: string, relay?: string): this;
|
|
32
|
+
setExternal(id: string, kind?: string): this;
|
|
33
|
+
setTopics(topics: string[]): this;
|
|
34
|
+
private dropReference;
|
|
35
|
+
protected validate(): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=Pin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pin.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Pin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAI/C,MAAM,MAAM,YAAY,GACpB;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,GAC3C;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,GAClD;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAOjD,qBAAa,GAAI,SAAQ,WAAW;IAClC,QAAQ,CAAC,IAAI,SAAM;IAEnB,MAAM;IAIN,YAAY;IAIZ,SAAS,IAAI,YAAY,GAAG,SAAS;IAcrC,KAAK;IAIL,MAAM;IAIN,OAAO;CAGR;AAED,qBAAa,UAAW,SAAQ,YAAY,CAAC,GAAG,CAAC;IAC/C,QAAQ,CAAC,IAAI,SAAM;IAEnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAIxB,WAAW,CAAC,OAAO,EAAE,MAAM;IAI3B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAInC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAI1C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAMrC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAK1B,OAAO,CAAC,aAAa;IAIrB,SAAS,CAAC,QAAQ;CAOnB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { PIN, getTag, getTagValue, getTagValues, getTopicTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
const REFERENCE_KEYS = ["e", "a", "i", "k"];
|
|
6
|
+
// Pinboards-NIP kind-39067 pin — a single pinned item. Pins reference one or
|
|
7
|
+
// more boards via `A` tags (none means it's a profile pin). Despite sitting in
|
|
8
|
+
// the addressable range, a pin is a regular event with no `d` tag.
|
|
9
|
+
export class Pin extends EventReader {
|
|
10
|
+
kind = PIN;
|
|
11
|
+
boards() {
|
|
12
|
+
return getTagValues("A", this.event.tags);
|
|
13
|
+
}
|
|
14
|
+
isProfilePin() {
|
|
15
|
+
return this.boards().length === 0;
|
|
16
|
+
}
|
|
17
|
+
reference() {
|
|
18
|
+
const e = getTag("e", this.event.tags);
|
|
19
|
+
if (e)
|
|
20
|
+
return { type: "event", id: e[1], relay: e[2] };
|
|
21
|
+
const a = getTag("a", this.event.tags);
|
|
22
|
+
if (a)
|
|
23
|
+
return { type: "address", address: a[1], relay: a[2] };
|
|
24
|
+
const i = getTag("i", this.event.tags);
|
|
25
|
+
if (i)
|
|
26
|
+
return { type: "external", id: i[1], kind: getTagValue("k", this.event.tags) };
|
|
27
|
+
}
|
|
28
|
+
title() {
|
|
29
|
+
return getTagValue("title", this.event.tags);
|
|
30
|
+
}
|
|
31
|
+
topics() {
|
|
32
|
+
return getTopicTagValues(this.event.tags);
|
|
33
|
+
}
|
|
34
|
+
builder() {
|
|
35
|
+
return new PinBuilder(this);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class PinBuilder extends EventBuilder {
|
|
39
|
+
kind = PIN;
|
|
40
|
+
setTitle(title) {
|
|
41
|
+
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
42
|
+
}
|
|
43
|
+
addBoard(address) {
|
|
44
|
+
return this.addTags(["A", address]);
|
|
45
|
+
}
|
|
46
|
+
removeBoard(address) {
|
|
47
|
+
return this.dropTags(t => t[0] === "A" && t[1] === address);
|
|
48
|
+
}
|
|
49
|
+
setEvent(id, relay) {
|
|
50
|
+
return this.dropReference().addTags(relay ? ["e", id, relay] : ["e", id]);
|
|
51
|
+
}
|
|
52
|
+
setAddress(address, relay) {
|
|
53
|
+
return this.dropReference().addTags(relay ? ["a", address, relay] : ["a", address]);
|
|
54
|
+
}
|
|
55
|
+
setExternal(id, kind) {
|
|
56
|
+
this.dropReference().addTags(["i", id]);
|
|
57
|
+
return kind ? this.addTags(["k", kind]) : this;
|
|
58
|
+
}
|
|
59
|
+
setTopics(topics) {
|
|
60
|
+
return this.dropTags(spec(["t"])).addTags(...topics.map(topic => ["t", topic]));
|
|
61
|
+
}
|
|
62
|
+
// A pin references exactly one item, so replace any existing reference.
|
|
63
|
+
dropReference() {
|
|
64
|
+
return this.dropTags(t => REFERENCE_KEYS.includes(t[0]));
|
|
65
|
+
}
|
|
66
|
+
validate() {
|
|
67
|
+
// A pin is a regular event (no `d` tag), so skip the base d-tag check and
|
|
68
|
+
// instead require the single content reference the spec mandates.
|
|
69
|
+
if (!this.extraTags.some(t => ["e", "a", "i"].includes(t[0]))) {
|
|
70
|
+
throw new Error("A pin must reference content via an e, a, or i tag");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=Pin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pin.js","sourceRoot":"","sources":["../../../../src/kinds/Pin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ListReader } from "../ListReader.js";
|
|
2
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
3
|
+
export declare class PinList extends ListReader {
|
|
4
|
+
readonly kind = 10001;
|
|
5
|
+
ids(): string[];
|
|
6
|
+
addresses(): string[];
|
|
7
|
+
builder(): PinListBuilder;
|
|
8
|
+
}
|
|
9
|
+
export declare class PinListBuilder extends ListBuilder<PinList> {
|
|
10
|
+
readonly kind = 10001;
|
|
11
|
+
pinPublicly(tag: string[]): this;
|
|
12
|
+
pinPrivately(tag: string[]): this;
|
|
13
|
+
unpin(value: string): this;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=PinList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PinList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/PinList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAG7C,qBAAa,OAAQ,SAAQ,UAAU;IACrC,QAAQ,CAAC,IAAI,SAAO;IAEpB,GAAG;IAIH,SAAS;IAIT,OAAO;CAGR;AAED,qBAAa,cAAe,SAAQ,WAAW,CAAC,OAAO,CAAC;IACtD,QAAQ,CAAC,IAAI,SAAO;IAEpB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE;IAIzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE;IAI1B,KAAK,CAAC,KAAK,EAAE,MAAM;CAGpB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { uniq } from "@welshman/lib";
|
|
2
|
+
import { PINS, getEventTagValues, getAddressTagValues } from "@welshman/util";
|
|
3
|
+
import { ListReader } from "../ListReader.js";
|
|
4
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
5
|
+
// NIP-51 kind-10001 pin list.
|
|
6
|
+
export class PinList extends ListReader {
|
|
7
|
+
kind = PINS;
|
|
8
|
+
ids() {
|
|
9
|
+
return uniq(getEventTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
addresses() {
|
|
12
|
+
return uniq(getAddressTagValues(this.tags()));
|
|
13
|
+
}
|
|
14
|
+
builder() {
|
|
15
|
+
return new PinListBuilder(this);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class PinListBuilder extends ListBuilder {
|
|
19
|
+
kind = PINS;
|
|
20
|
+
pinPublicly(tag) {
|
|
21
|
+
return this.addPublic(tag);
|
|
22
|
+
}
|
|
23
|
+
pinPrivately(tag) {
|
|
24
|
+
return this.addPrivate(tag);
|
|
25
|
+
}
|
|
26
|
+
unpin(value) {
|
|
27
|
+
return this.dropTags(t => ["e", "a"].includes(t[0]) && t[1] === value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=PinList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PinList.js","sourceRoot":"","sources":["../../../../src/kinds/PinList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAE7C,8BAA8B;AAC9B,MAAM,OAAO,OAAQ,SAAQ,UAAU;IAC5B,IAAI,GAAG,IAAI,CAAA;IAEpB,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,OAAO;QACL,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,WAAoB;IAC7C,IAAI,GAAG,IAAI,CAAA;IAEpB,WAAW,CAAC,GAAa;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,YAAY,CAAC,GAAa;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class Pinboard extends EventReader {
|
|
4
|
+
readonly kind = 30067;
|
|
5
|
+
title(): string | undefined;
|
|
6
|
+
description(): string | undefined;
|
|
7
|
+
image(): string | undefined;
|
|
8
|
+
topics(): string[];
|
|
9
|
+
collaborative(): boolean;
|
|
10
|
+
builder(): PinboardBuilder;
|
|
11
|
+
}
|
|
12
|
+
export declare class PinboardBuilder extends EventBuilder<Pinboard> {
|
|
13
|
+
readonly kind = 30067;
|
|
14
|
+
setTitle(title: string): this;
|
|
15
|
+
setDescription(description: string): this;
|
|
16
|
+
setImage(image: string): this;
|
|
17
|
+
setTopics(topics: string[]): this;
|
|
18
|
+
setCollaborative(collaborative: boolean): this;
|
|
19
|
+
protected validate(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=Pinboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pinboard.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Pinboard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAI/C,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,CAAC,IAAI,SAAW;IAExB,KAAK;IAIL,WAAW;IAIX,KAAK;IAIL,MAAM;IAIN,aAAa;IAIb,OAAO;CAGR;AAED,qBAAa,eAAgB,SAAQ,YAAY,CAAC,QAAQ,CAAC;IACzD,QAAQ,CAAC,IAAI,SAAW;IAExB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAI1B,gBAAgB,CAAC,aAAa,EAAE,OAAO;IAMvC,SAAS,CAAC,QAAQ;CAOnB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { PINBOARD, getTagValue, getTopicTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// Pinboards-NIP kind-30067 pinboard — addressable board metadata. Pins
|
|
6
|
+
// themselves are separate kind-39067 events (see Pin).
|
|
7
|
+
export class Pinboard extends EventReader {
|
|
8
|
+
kind = PINBOARD;
|
|
9
|
+
title() {
|
|
10
|
+
return getTagValue("title", this.event.tags);
|
|
11
|
+
}
|
|
12
|
+
description() {
|
|
13
|
+
return getTagValue("description", this.event.tags);
|
|
14
|
+
}
|
|
15
|
+
image() {
|
|
16
|
+
return getTagValue("image", this.event.tags);
|
|
17
|
+
}
|
|
18
|
+
topics() {
|
|
19
|
+
return getTopicTagValues(this.event.tags);
|
|
20
|
+
}
|
|
21
|
+
collaborative() {
|
|
22
|
+
return this.event.tags.some(spec(["collaborative"]));
|
|
23
|
+
}
|
|
24
|
+
builder() {
|
|
25
|
+
return new PinboardBuilder(this);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class PinboardBuilder extends EventBuilder {
|
|
29
|
+
kind = PINBOARD;
|
|
30
|
+
setTitle(title) {
|
|
31
|
+
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
32
|
+
}
|
|
33
|
+
setDescription(description) {
|
|
34
|
+
return this.dropTags(spec(["description"])).addTags(["description", description]);
|
|
35
|
+
}
|
|
36
|
+
setImage(image) {
|
|
37
|
+
return this.dropTags(spec(["image"])).addTags(["image", image]);
|
|
38
|
+
}
|
|
39
|
+
setTopics(topics) {
|
|
40
|
+
return this.dropTags(spec(["t"])).addTags(...topics.map(topic => ["t", topic]));
|
|
41
|
+
}
|
|
42
|
+
setCollaborative(collaborative) {
|
|
43
|
+
this.dropTags(spec(["collaborative"]));
|
|
44
|
+
return collaborative ? this.addTags(["collaborative"]) : this;
|
|
45
|
+
}
|
|
46
|
+
validate() {
|
|
47
|
+
super.validate();
|
|
48
|
+
if (!getTagValue("title", this.extraTags)) {
|
|
49
|
+
throw new Error("A title is required for a pinboard");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=Pinboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pinboard.js","sourceRoot":"","sources":["../../../../src/kinds/Pinboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,uEAAuE;AACvE,uDAAuD;AACvD,MAAM,OAAO,QAAS,SAAQ,WAAW;IAC9B,IAAI,GAAG,QAAQ,CAAA;IAExB,KAAK;QACH,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,WAAW;QACT,OAAO,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,KAAK;QACH,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM;QACJ,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,YAAsB;IAChD,IAAI,GAAG,QAAQ,CAAA;IAExB,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,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,SAAS,CAAC,MAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACjF,CAAC;IAED,gBAAgB,CAAC,aAAsB;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAEtC,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,CAAC;IAES,QAAQ;QAChB,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
import { EventReader } from "../EventReader.js";
|
|
3
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
4
|
+
export type PollType = "singlechoice" | "multiplechoice";
|
|
5
|
+
export type PollOption = {
|
|
6
|
+
id: string;
|
|
7
|
+
label: string;
|
|
8
|
+
};
|
|
9
|
+
export type PollResult = {
|
|
10
|
+
options: {
|
|
11
|
+
id: string;
|
|
12
|
+
label: string;
|
|
13
|
+
votes: number;
|
|
14
|
+
}[];
|
|
15
|
+
voters: number;
|
|
16
|
+
};
|
|
17
|
+
export declare class Poll extends EventReader {
|
|
18
|
+
readonly kind = 1068;
|
|
19
|
+
title(): string;
|
|
20
|
+
options(): PollOption[];
|
|
21
|
+
pollType(): PollType;
|
|
22
|
+
endsAt(): number | undefined;
|
|
23
|
+
isClosed(): boolean;
|
|
24
|
+
urls(): string[];
|
|
25
|
+
results(responses: TrustedEvent[]): PollResult;
|
|
26
|
+
builder(): PollBuilder;
|
|
27
|
+
}
|
|
28
|
+
export declare class PollBuilder extends EventBuilder<Poll> {
|
|
29
|
+
readonly kind = 1068;
|
|
30
|
+
setTitle(title: string): this;
|
|
31
|
+
addOption(label: string, id?: string): this;
|
|
32
|
+
setPollType(pollType: PollType): this;
|
|
33
|
+
setEndsAt(endsAt: number): this;
|
|
34
|
+
setUrls(urls: string[]): this;
|
|
35
|
+
protected validate(): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=Poll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Poll.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Poll.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,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAA;IACrD,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAGD,qBAAa,IAAK,SAAQ,WAAW;IACnC,QAAQ,CAAC,IAAI,QAAO;IAEpB,KAAK;IAIL,OAAO,IAAI,UAAU,EAAE;IAIvB,QAAQ,IAAI,QAAQ;IAIpB,MAAM;IAMN,QAAQ;IAMR,IAAI;IAIJ,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,UAAU;IA8B9C,OAAO;CAGR;AAED,qBAAa,WAAY,SAAQ,YAAY,CAAC,IAAI,CAAC;IACjD,QAAQ,CAAC,IAAI,QAAO;IAEpB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAa;IAIxC,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAI9B,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;IAItB,SAAS,CAAC,QAAQ;CAOnB"}
|