@welshman/domain 0.9.0-pre1 → 0.9.0-pre2
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/dist/domain/src/behaviors/Emoji.d.ts +18 -0
- package/dist/domain/src/behaviors/Emoji.d.ts.map +1 -0
- package/dist/domain/src/behaviors/Emoji.js +9 -0
- package/dist/domain/src/behaviors/Emoji.js.map +1 -0
- package/dist/domain/src/behaviors/ZapSplits.d.ts +36 -0
- package/dist/domain/src/behaviors/ZapSplits.d.ts.map +1 -0
- package/dist/domain/src/behaviors/ZapSplits.js +54 -0
- package/dist/domain/src/behaviors/ZapSplits.js.map +1 -0
- package/dist/domain/src/core/EventReader.d.ts +24 -0
- package/dist/domain/src/core/EventReader.d.ts.map +1 -0
- package/dist/domain/src/core/EventReader.js +55 -0
- package/dist/domain/src/core/EventReader.js.map +1 -0
- package/dist/domain/src/core/EventWriter.d.ts +99 -0
- package/dist/domain/src/core/EventWriter.d.ts.map +1 -0
- package/dist/domain/src/core/EventWriter.js +233 -0
- package/dist/domain/src/core/EventWriter.js.map +1 -0
- package/dist/domain/src/core/Kind.d.ts +39 -0
- package/dist/domain/src/core/Kind.d.ts.map +1 -0
- package/dist/domain/src/core/Kind.js +43 -0
- package/dist/domain/src/core/Kind.js.map +1 -0
- package/dist/domain/src/core/ListReader.d.ts +9 -0
- package/dist/domain/src/core/ListReader.d.ts.map +1 -0
- package/dist/domain/src/{ListReader.js → core/ListReader.js} +2 -1
- package/dist/domain/src/core/ListReader.js.map +1 -0
- package/dist/domain/src/{ListBuilder.d.ts → core/ListWriter.d.ts} +8 -9
- package/dist/domain/src/core/ListWriter.d.ts.map +1 -0
- package/dist/domain/src/{ListBuilder.js → core/ListWriter.js} +12 -13
- package/dist/domain/src/core/ListWriter.js.map +1 -0
- package/dist/domain/src/index.d.ts +14 -5
- package/dist/domain/src/index.d.ts.map +1 -1
- package/dist/domain/src/index.js +14 -5
- package/dist/domain/src/index.js.map +1 -1
- package/dist/domain/src/kinds/AppData.d.ts +22 -0
- package/dist/domain/src/kinds/AppData.d.ts.map +1 -0
- package/dist/domain/src/kinds/AppData.js +84 -0
- package/dist/domain/src/kinds/AppData.js.map +1 -0
- package/dist/domain/src/kinds/BlockedRelayList.d.ts +6 -7
- package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/BlockedRelayList.js +12 -11
- package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -1
- package/dist/domain/src/kinds/BlossomServerList.d.ts +6 -7
- package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -1
- package/dist/domain/src/kinds/BlossomServerList.js +12 -11
- package/dist/domain/src/kinds/BlossomServerList.js.map +1 -1
- package/dist/domain/src/kinds/BookmarkList.d.ts +6 -7
- package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -1
- package/dist/domain/src/kinds/BookmarkList.js +15 -14
- package/dist/domain/src/kinds/BookmarkList.js.map +1 -1
- package/dist/domain/src/kinds/Classified.d.ts +6 -7
- package/dist/domain/src/kinds/Classified.d.ts.map +1 -1
- package/dist/domain/src/kinds/Classified.js +17 -16
- package/dist/domain/src/kinds/Classified.js.map +1 -1
- package/dist/domain/src/kinds/Comment.d.ts +14 -10
- package/dist/domain/src/kinds/Comment.d.ts.map +1 -1
- package/dist/domain/src/kinds/Comment.js +57 -34
- package/dist/domain/src/kinds/Comment.js.map +1 -1
- package/dist/domain/src/kinds/Delete.d.ts +18 -0
- package/dist/domain/src/kinds/Delete.d.ts.map +1 -0
- package/dist/domain/src/kinds/Delete.js +70 -0
- package/dist/domain/src/kinds/Delete.js.map +1 -0
- package/dist/domain/src/kinds/EmojiList.d.ts +6 -10
- package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -1
- package/dist/domain/src/kinds/EmojiList.js +12 -20
- package/dist/domain/src/kinds/EmojiList.js.map +1 -1
- package/dist/domain/src/kinds/Feed.d.ts +6 -7
- package/dist/domain/src/kinds/Feed.d.ts.map +1 -1
- package/dist/domain/src/kinds/Feed.js +14 -13
- package/dist/domain/src/kinds/Feed.js.map +1 -1
- package/dist/domain/src/kinds/FeedList.d.ts +6 -7
- package/dist/domain/src/kinds/FeedList.d.ts.map +1 -1
- package/dist/domain/src/kinds/FeedList.js +12 -11
- package/dist/domain/src/kinds/FeedList.js.map +1 -1
- package/dist/domain/src/kinds/FollowList.d.ts +7 -7
- package/dist/domain/src/kinds/FollowList.d.ts.map +1 -1
- package/dist/domain/src/kinds/FollowList.js +15 -11
- package/dist/domain/src/kinds/FollowList.js.map +1 -1
- package/dist/domain/src/kinds/GroupList.d.ts +6 -7
- package/dist/domain/src/kinds/GroupList.d.ts.map +1 -1
- package/dist/domain/src/kinds/GroupList.js +12 -11
- package/dist/domain/src/kinds/GroupList.js.map +1 -1
- package/dist/domain/src/kinds/Handler.d.ts +11 -13
- package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
- package/dist/domain/src/kinds/Handler.js +20 -19
- package/dist/domain/src/kinds/Handler.js.map +1 -1
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts +6 -7
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -1
- package/dist/domain/src/kinds/HandlerRecommendation.js +13 -12
- package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -1
- package/dist/domain/src/kinds/MessagingRelayList.d.ts +6 -7
- package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/MessagingRelayList.js +12 -11
- package/dist/domain/src/kinds/MessagingRelayList.js.map +1 -1
- package/dist/domain/src/kinds/MuteList.d.ts +7 -7
- package/dist/domain/src/kinds/MuteList.d.ts.map +1 -1
- package/dist/domain/src/kinds/MuteList.js +15 -11
- package/dist/domain/src/kinds/MuteList.js.map +1 -1
- package/dist/domain/src/kinds/Note.d.ts +18 -0
- package/dist/domain/src/kinds/Note.d.ts.map +1 -0
- package/dist/domain/src/kinds/Note.js +106 -0
- package/dist/domain/src/kinds/Note.js.map +1 -0
- package/dist/domain/src/kinds/Pin.d.ts +7 -8
- package/dist/domain/src/kinds/Pin.d.ts.map +1 -1
- package/dist/domain/src/kinds/Pin.js +23 -21
- package/dist/domain/src/kinds/Pin.js.map +1 -1
- package/dist/domain/src/kinds/PinList.d.ts +6 -7
- package/dist/domain/src/kinds/PinList.d.ts.map +1 -1
- package/dist/domain/src/kinds/PinList.js +13 -12
- package/dist/domain/src/kinds/PinList.js.map +1 -1
- package/dist/domain/src/kinds/Pinboard.d.ts +7 -8
- package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -1
- package/dist/domain/src/kinds/Pinboard.js +16 -15
- package/dist/domain/src/kinds/Pinboard.js.map +1 -1
- package/dist/domain/src/kinds/Poll.d.ts +7 -8
- package/dist/domain/src/kinds/Poll.d.ts.map +1 -1
- package/dist/domain/src/kinds/Poll.js +16 -15
- package/dist/domain/src/kinds/Poll.js.map +1 -1
- package/dist/domain/src/kinds/PollResponse.d.ts +7 -8
- package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -1
- package/dist/domain/src/kinds/PollResponse.js +13 -12
- package/dist/domain/src/kinds/PollResponse.js.map +1 -1
- package/dist/domain/src/kinds/Profile.d.ts +10 -13
- package/dist/domain/src/kinds/Profile.d.ts.map +1 -1
- package/dist/domain/src/kinds/Profile.js +15 -19
- package/dist/domain/src/kinds/Profile.js.map +1 -1
- package/dist/domain/src/kinds/Reaction.d.ts +16 -0
- package/dist/domain/src/kinds/Reaction.d.ts.map +1 -0
- package/dist/domain/src/kinds/Reaction.js +55 -0
- package/dist/domain/src/kinds/Reaction.js.map +1 -0
- package/dist/domain/src/kinds/RelayAddMember.d.ts +7 -7
- package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayAddMember.js +13 -11
- package/dist/domain/src/kinds/RelayAddMember.js.map +1 -1
- package/dist/domain/src/kinds/RelayInvite.d.ts +7 -7
- package/dist/domain/src/kinds/RelayInvite.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayInvite.js +13 -11
- package/dist/domain/src/kinds/RelayInvite.js.map +1 -1
- package/dist/domain/src/kinds/RelayJoin.d.ts +7 -7
- package/dist/domain/src/kinds/RelayJoin.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayJoin.js +13 -11
- package/dist/domain/src/kinds/RelayJoin.js.map +1 -1
- package/dist/domain/src/kinds/RelayLeave.d.ts +7 -7
- package/dist/domain/src/kinds/RelayLeave.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayLeave.js +11 -9
- package/dist/domain/src/kinds/RelayLeave.js.map +1 -1
- package/dist/domain/src/kinds/RelayList.d.ts +7 -7
- package/dist/domain/src/kinds/RelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayList.js +20 -11
- package/dist/domain/src/kinds/RelayList.js.map +1 -1
- package/dist/domain/src/kinds/RelayMembers.d.ts +9 -9
- package/dist/domain/src/kinds/RelayMembers.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayMembers.js +15 -15
- package/dist/domain/src/kinds/RelayMembers.js.map +1 -1
- package/dist/domain/src/kinds/RelayRemoveMember.d.ts +7 -7
- package/dist/domain/src/kinds/RelayRemoveMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayRemoveMember.js +13 -11
- package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -1
- package/dist/domain/src/kinds/RelayRole.d.ts +18 -0
- package/dist/domain/src/kinds/RelayRole.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayRole.js +46 -0
- package/dist/domain/src/kinds/RelayRole.js.map +1 -0
- package/dist/domain/src/kinds/RelaySet.d.ts +6 -7
- package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelaySet.js +15 -14
- package/dist/domain/src/kinds/RelaySet.js.map +1 -1
- package/dist/domain/src/kinds/Report.d.ts +9 -8
- package/dist/domain/src/kinds/Report.d.ts.map +1 -1
- package/dist/domain/src/kinds/Report.js +20 -16
- package/dist/domain/src/kinds/Report.js.map +1 -1
- package/dist/domain/src/kinds/RoomAddMember.d.ts +7 -7
- package/dist/domain/src/kinds/RoomAddMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomAddMember.js +13 -11
- package/dist/domain/src/kinds/RoomAddMember.js.map +1 -1
- package/dist/domain/src/kinds/RoomAdmins.d.ts +7 -7
- package/dist/domain/src/kinds/RoomAdmins.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomAdmins.js +13 -11
- package/dist/domain/src/kinds/RoomAdmins.js.map +1 -1
- package/dist/domain/src/kinds/RoomCreate.d.ts +8 -8
- package/dist/domain/src/kinds/RoomCreate.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomCreate.js +11 -9
- package/dist/domain/src/kinds/RoomCreate.js.map +1 -1
- package/dist/domain/src/kinds/RoomCreatePermission.d.ts +7 -7
- package/dist/domain/src/kinds/RoomCreatePermission.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomCreatePermission.js +13 -11
- package/dist/domain/src/kinds/RoomCreatePermission.js.map +1 -1
- package/dist/domain/src/kinds/RoomDelete.d.ts +8 -8
- package/dist/domain/src/kinds/RoomDelete.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomDelete.js +11 -9
- package/dist/domain/src/kinds/RoomDelete.js.map +1 -1
- package/dist/domain/src/kinds/RoomEdit.d.ts +8 -8
- package/dist/domain/src/kinds/RoomEdit.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomEdit.js +21 -20
- package/dist/domain/src/kinds/RoomEdit.js.map +1 -1
- package/dist/domain/src/kinds/RoomJoin.d.ts +8 -10
- package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomJoin.js +13 -17
- package/dist/domain/src/kinds/RoomJoin.js.map +1 -1
- package/dist/domain/src/kinds/RoomLeave.d.ts +8 -8
- package/dist/domain/src/kinds/RoomLeave.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomLeave.js +11 -9
- package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
- package/dist/domain/src/kinds/RoomList.d.ts +13 -8
- package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomList.js +60 -15
- package/dist/domain/src/kinds/RoomList.js.map +1 -1
- package/dist/domain/src/kinds/RoomMembers.d.ts +7 -7
- package/dist/domain/src/kinds/RoomMembers.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomMembers.js +13 -11
- package/dist/domain/src/kinds/RoomMembers.js.map +1 -1
- package/dist/domain/src/kinds/RoomMeta.d.ts +7 -7
- package/dist/domain/src/kinds/RoomMeta.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomMeta.js +16 -14
- package/dist/domain/src/kinds/RoomMeta.js.map +1 -1
- package/dist/domain/src/kinds/RoomRemoveMember.d.ts +7 -7
- package/dist/domain/src/kinds/RoomRemoveMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomRemoveMember.js +13 -11
- package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -1
- package/dist/domain/src/kinds/SearchRelayList.d.ts +6 -7
- package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/SearchRelayList.js +12 -11
- package/dist/domain/src/kinds/SearchRelayList.js.map +1 -1
- package/dist/domain/src/kinds/Thread.d.ts +6 -7
- package/dist/domain/src/kinds/Thread.d.ts.map +1 -1
- package/dist/domain/src/kinds/Thread.js +12 -11
- package/dist/domain/src/kinds/Thread.js.map +1 -1
- package/dist/domain/src/kinds/TimeEvent.d.ts +9 -10
- package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -1
- package/dist/domain/src/kinds/TimeEvent.js +23 -22
- package/dist/domain/src/kinds/TimeEvent.js.map +1 -1
- package/dist/domain/src/kinds/TopicList.d.ts +6 -7
- package/dist/domain/src/kinds/TopicList.d.ts.map +1 -1
- package/dist/domain/src/kinds/TopicList.js +13 -12
- package/dist/domain/src/kinds/TopicList.js.map +1 -1
- package/dist/domain/src/kinds/ZapGoal.d.ts +10 -9
- package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapGoal.js +20 -16
- package/dist/domain/src/kinds/ZapGoal.js.map +1 -1
- package/dist/domain/src/kinds/ZapReceipt.d.ts +8 -11
- package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapReceipt.js +17 -42
- package/dist/domain/src/kinds/ZapReceipt.js.map +1 -1
- package/dist/domain/src/kinds/ZapRequest.d.ts +15 -7
- package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapRequest.js +40 -15
- package/dist/domain/src/kinds/ZapRequest.js.map +1 -1
- package/dist/domain/src/other/Relay.d.ts +49 -0
- package/dist/domain/src/other/Relay.d.ts.map +1 -0
- package/dist/domain/src/other/Relay.js +50 -0
- package/dist/domain/src/other/Relay.js.map +1 -0
- package/dist/domain/src/other/Zapper.d.ts +40 -0
- package/dist/domain/src/other/Zapper.d.ts.map +1 -0
- package/dist/domain/src/other/Zapper.js +67 -0
- package/dist/domain/src/other/Zapper.js.map +1 -0
- package/dist/feeds/src/compiler.d.ts +2 -2
- package/dist/feeds/src/compiler.d.ts.map +1 -1
- package/dist/feeds/src/index.d.ts +1 -0
- package/dist/feeds/src/index.d.ts.map +1 -1
- package/dist/feeds/src/index.js +1 -0
- package/dist/feeds/src/index.js.map +1 -1
- package/dist/feeds/src/request.d.ts +4 -4
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +15 -15
- package/dist/feeds/src/request.js.map +1 -1
- package/dist/feeds/src/router.d.ts +10 -0
- package/dist/feeds/src/router.d.ts.map +1 -0
- package/dist/feeds/src/router.js +45 -0
- package/dist/feeds/src/router.js.map +1 -0
- package/dist/feeds/src/utils.js +2 -2
- package/dist/feeds/src/utils.js.map +1 -1
- package/dist/lib/src/Tools.d.ts +9 -0
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +26 -1
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/context.d.ts +1 -1
- package/dist/net/src/context.d.ts.map +1 -1
- package/dist/net/src/message.d.ts +1 -1
- package/dist/net/src/message.d.ts.map +1 -1
- package/dist/net/src/message.js +1 -1
- package/dist/net/src/message.js.map +1 -1
- package/dist/net/src/repository.d.ts +3 -0
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +49 -12
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/request.d.ts +2 -1
- package/dist/net/src/request.d.ts.map +1 -1
- package/dist/net/src/request.js.map +1 -1
- package/dist/signer/src/signers/nip46.d.ts +2 -2
- package/dist/signer/src/signers/nip46.d.ts.map +1 -1
- package/dist/signer/src/signers/nip46.js +10 -5
- package/dist/signer/src/signers/nip46.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/src/Events.d.ts +0 -12
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js +3 -25
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Kinds.d.ts +3 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +5 -2
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/Lightning.d.ts +6 -0
- package/dist/util/src/Lightning.d.ts.map +1 -0
- package/dist/util/src/Lightning.js +59 -0
- package/dist/util/src/Lightning.js.map +1 -0
- package/dist/util/src/Nip86.d.ts +74 -30
- package/dist/util/src/Nip86.d.ts.map +1 -1
- package/dist/util/src/Nip86.js +169 -30
- package/dist/util/src/Nip86.js.map +1 -1
- package/dist/util/src/Pow.js +2 -2
- package/dist/util/src/Pow.js.map +1 -1
- package/dist/util/src/Pubkey.d.ts.map +1 -1
- package/dist/util/src/Pubkey.js +2 -1
- package/dist/util/src/Pubkey.js.map +1 -1
- package/dist/util/src/Relay.d.ts +0 -29
- package/dist/util/src/Relay.d.ts.map +1 -1
- package/dist/util/src/Relay.js +0 -10
- package/dist/util/src/Relay.js.map +1 -1
- package/dist/util/src/RelaySelection.d.ts +101 -0
- package/dist/util/src/RelaySelection.d.ts.map +1 -0
- package/dist/util/src/RelaySelection.js +98 -0
- package/dist/util/src/RelaySelection.js.map +1 -0
- package/dist/util/src/Tags.d.ts +16 -35
- package/dist/util/src/Tags.d.ts.map +1 -1
- package/dist/util/src/Tags.js +23 -74
- package/dist/util/src/Tags.js.map +1 -1
- package/dist/util/src/Topics.d.ts +2 -0
- package/dist/util/src/Topics.d.ts.map +1 -0
- package/dist/util/src/Topics.js +2 -0
- package/dist/util/src/Topics.js.map +1 -0
- package/dist/util/src/index.d.ts +2 -1
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +2 -1
- package/dist/util/src/index.js.map +1 -1
- package/package.json +11 -9
- package/dist/domain/src/EventBuilder.d.ts +0 -35
- package/dist/domain/src/EventBuilder.d.ts.map +0 -1
- package/dist/domain/src/EventBuilder.js +0 -111
- package/dist/domain/src/EventBuilder.js.map +0 -1
- package/dist/domain/src/EventReader.d.ts +0 -24
- package/dist/domain/src/EventReader.d.ts.map +0 -1
- package/dist/domain/src/EventReader.js +0 -57
- package/dist/domain/src/EventReader.js.map +0 -1
- package/dist/domain/src/ListBuilder.d.ts.map +0 -1
- package/dist/domain/src/ListBuilder.js.map +0 -1
- package/dist/domain/src/ListReader.d.ts +0 -12
- package/dist/domain/src/ListReader.d.ts.map +0 -1
- package/dist/domain/src/ListReader.js.map +0 -1
- package/dist/domain/src/kinds/SlashCommand.d.ts +0 -38
- package/dist/domain/src/kinds/SlashCommand.d.ts.map +0 -1
- package/dist/domain/src/kinds/SlashCommand.js +0 -91
- package/dist/domain/src/kinds/SlashCommand.js.map +0 -1
- package/dist/util/src/Zaps.d.ts +0 -86
- package/dist/util/src/Zaps.d.ts.map +0 -1
- package/dist/util/src/Zaps.js +0 -184
- package/dist/util/src/Zaps.js.map +0 -1
|
@@ -1,28 +1,24 @@
|
|
|
1
1
|
import { uniq } from "@welshman/lib";
|
|
2
|
-
import { BOOKMARKS,
|
|
3
|
-
import { ListReader } from "../ListReader.js";
|
|
4
|
-
import {
|
|
2
|
+
import { BOOKMARKS, addressTags, hexTags, tagSpec, tagValues, topicTags } from "@welshman/util";
|
|
3
|
+
import { ListReader } from "../core/ListReader.js";
|
|
4
|
+
import { ListWriter } from "../core/ListWriter.js";
|
|
5
|
+
import { KindFactory } from "../core/Kind.js";
|
|
5
6
|
// NIP-51 kind-10003 bookmark list.
|
|
6
|
-
export class
|
|
7
|
-
kind = BOOKMARKS;
|
|
7
|
+
export class BookmarkListReader extends ListReader {
|
|
8
8
|
ids() {
|
|
9
|
-
return uniq(
|
|
9
|
+
return uniq(tagValues(hexTags("e"), this.tags()));
|
|
10
10
|
}
|
|
11
11
|
addresses() {
|
|
12
|
-
return uniq(
|
|
12
|
+
return uniq(tagValues(addressTags("a"), this.tags()));
|
|
13
13
|
}
|
|
14
14
|
topics() {
|
|
15
|
-
return uniq(
|
|
15
|
+
return uniq(tagValues(topicTags("t"), this.tags()));
|
|
16
16
|
}
|
|
17
17
|
urls() {
|
|
18
|
-
return uniq(
|
|
19
|
-
}
|
|
20
|
-
builder() {
|
|
21
|
-
return new BookmarkListBuilder(this);
|
|
18
|
+
return uniq(tagValues(tagSpec("r"), this.tags()));
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
|
-
export class
|
|
25
|
-
kind = BOOKMARKS;
|
|
21
|
+
export class BookmarkListWriter extends ListWriter {
|
|
26
22
|
bookmarkPublicly(tag) {
|
|
27
23
|
return this.addPublic(tag);
|
|
28
24
|
}
|
|
@@ -33,4 +29,9 @@ export class BookmarkListBuilder extends ListBuilder {
|
|
|
33
29
|
return this.dropTags(t => ["e", "a", "t", "r"].includes(t[0]) && t[1] === value);
|
|
34
30
|
}
|
|
35
31
|
}
|
|
32
|
+
export const BookmarkList = new KindFactory({
|
|
33
|
+
kind: BOOKMARKS,
|
|
34
|
+
reader: BookmarkListReader,
|
|
35
|
+
writer: BookmarkListWriter,
|
|
36
|
+
});
|
|
36
37
|
//# sourceMappingURL=BookmarkList.js.map
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"BookmarkList.js","sourceRoot":"","sources":["../../../../src/kinds/BookmarkList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAC7F,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,mCAAmC;AACnC,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,GAAG;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAA8B;IACpE,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,CAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;IAC5F,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC;IAC1C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAA"}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import { EventReader } from "../EventReader.js";
|
|
2
|
-
import {
|
|
1
|
+
import { EventReader } from "../core/EventReader.js";
|
|
2
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
3
|
+
import { KindFactory } from "../core/Kind.js";
|
|
3
4
|
export type ClassifiedPrice = {
|
|
4
5
|
amount: number;
|
|
5
6
|
currency: string;
|
|
6
7
|
frequency: string;
|
|
7
8
|
};
|
|
8
|
-
export declare class
|
|
9
|
-
readonly kind = 30402;
|
|
9
|
+
export declare class ClassifiedReader extends EventReader {
|
|
10
10
|
title(): string | undefined;
|
|
11
11
|
summary(): string | undefined;
|
|
12
12
|
price(): ClassifiedPrice | undefined;
|
|
13
13
|
status(): string | undefined;
|
|
14
14
|
images(): string[];
|
|
15
15
|
topics(): string[];
|
|
16
|
-
builder(): ClassifiedBuilder;
|
|
17
16
|
}
|
|
18
|
-
export declare class
|
|
19
|
-
readonly kind = 30402;
|
|
17
|
+
export declare class ClassifiedWriter extends EventWriter<ClassifiedReader> {
|
|
20
18
|
setTitle(title: string): this;
|
|
21
19
|
setSummary(summary: string): this;
|
|
22
20
|
setPrice(amount: number, currency?: string, frequency?: string): this;
|
|
@@ -24,4 +22,5 @@ export declare class ClassifiedBuilder extends EventBuilder<Classified> {
|
|
|
24
22
|
setImages(images: string[]): this;
|
|
25
23
|
setTopics(topics: string[]): this;
|
|
26
24
|
}
|
|
25
|
+
export declare const Classified: KindFactory<ClassifiedReader, ClassifiedWriter>;
|
|
27
26
|
//# sourceMappingURL=Classified.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classified.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Classified.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Classified.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Classified.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAaD,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,KAAK;IAIL,OAAO;IAIP,KAAK,IAAI,eAAe,GAAG,SAAS;IAQpC,MAAM;IAIN,MAAM;IAIN,MAAM;CAGP;AAED,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,gBAAgB,CAAC;IACjE,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;AAED,eAAO,MAAM,UAAU,iDAIrB,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { spec } from "@welshman/lib";
|
|
2
|
-
import { CLASSIFIED,
|
|
3
|
-
import { EventReader } from "../EventReader.js";
|
|
4
|
-
import {
|
|
2
|
+
import { CLASSIFIED, matchTag, tagSpec, tagValue, tagValues, topicTags } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../core/EventReader.js";
|
|
4
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
5
|
+
import { KindFactory } from "../core/Kind.js";
|
|
5
6
|
const parsePrice = ([, amount = "0", currency = "SAT", frequency = ""]) => {
|
|
6
7
|
const value = parseFloat(amount);
|
|
7
8
|
if (!isNaN(value)) {
|
|
@@ -9,35 +10,30 @@ const parsePrice = ([, amount = "0", currency = "SAT", frequency = ""]) => {
|
|
|
9
10
|
}
|
|
10
11
|
};
|
|
11
12
|
// NIP-99 kind-30402 classified listing.
|
|
12
|
-
export class
|
|
13
|
-
kind = CLASSIFIED;
|
|
13
|
+
export class ClassifiedReader extends EventReader {
|
|
14
14
|
title() {
|
|
15
|
-
return
|
|
15
|
+
return tagValue(tagSpec("title"), this.event.tags);
|
|
16
16
|
}
|
|
17
17
|
summary() {
|
|
18
|
-
return
|
|
18
|
+
return tagValue(tagSpec("summary"), this.event.tags);
|
|
19
19
|
}
|
|
20
20
|
price() {
|
|
21
|
-
const tag =
|
|
21
|
+
const tag = matchTag(tagSpec("price"), this.event.tags);
|
|
22
22
|
if (tag) {
|
|
23
23
|
return parsePrice(tag);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
status() {
|
|
27
|
-
return
|
|
27
|
+
return tagValue(tagSpec("status"), this.event.tags);
|
|
28
28
|
}
|
|
29
29
|
images() {
|
|
30
|
-
return
|
|
30
|
+
return tagValues(tagSpec("image"), this.event.tags);
|
|
31
31
|
}
|
|
32
32
|
topics() {
|
|
33
|
-
return
|
|
34
|
-
}
|
|
35
|
-
builder() {
|
|
36
|
-
return new ClassifiedBuilder(this);
|
|
33
|
+
return tagValues(topicTags("t"), this.event.tags);
|
|
37
34
|
}
|
|
38
35
|
}
|
|
39
|
-
export class
|
|
40
|
-
kind = CLASSIFIED;
|
|
36
|
+
export class ClassifiedWriter extends EventWriter {
|
|
41
37
|
setTitle(title) {
|
|
42
38
|
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
43
39
|
}
|
|
@@ -62,4 +58,9 @@ export class ClassifiedBuilder extends EventBuilder {
|
|
|
62
58
|
return this.dropTags(spec(["t"])).addTags(...topics.map(topic => ["t", topic]));
|
|
63
59
|
}
|
|
64
60
|
}
|
|
61
|
+
export const Classified = new KindFactory({
|
|
62
|
+
kind: CLASSIFIED,
|
|
63
|
+
reader: ClassifiedReader,
|
|
64
|
+
writer: ClassifiedWriter,
|
|
65
|
+
});
|
|
65
66
|
//# sourceMappingURL=Classified.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classified.js","sourceRoot":"","sources":["../../../../src/kinds/Classified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"Classified.js","sourceRoot":"","sources":["../../../../src/kinds/Classified.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,33 @@
|
|
|
1
1
|
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
-
import { EventReader } from "../EventReader.js";
|
|
3
|
-
import {
|
|
2
|
+
import { EventReader } from "../core/EventReader.js";
|
|
3
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
4
|
+
import { KindFactory } from "../core/Kind.js";
|
|
5
|
+
import type { KindContext } from "../core/Kind.js";
|
|
6
|
+
export declare const getCommentTags: (tags: string[][]) => {
|
|
7
|
+
roots: string[][];
|
|
8
|
+
replies: string[][];
|
|
9
|
+
};
|
|
10
|
+
export declare const getCommentTagValues: (tags: string[][]) => Record<string, string[]>;
|
|
4
11
|
export type CommentRef = {
|
|
5
12
|
id?: string;
|
|
6
13
|
address?: string;
|
|
7
14
|
kind?: string;
|
|
8
15
|
pubkey?: string;
|
|
9
16
|
};
|
|
10
|
-
export declare class
|
|
11
|
-
readonly kind = 1111;
|
|
17
|
+
export declare class CommentReader extends EventReader {
|
|
12
18
|
root(): CommentRef;
|
|
13
19
|
parent(): CommentRef;
|
|
14
|
-
builder(): CommentBuilder;
|
|
15
20
|
}
|
|
16
|
-
export declare class
|
|
17
|
-
readonly reader?: Comment | undefined;
|
|
18
|
-
readonly kind = 1111;
|
|
21
|
+
export declare class CommentWriter extends EventWriter<CommentReader> {
|
|
19
22
|
rootTags: string[][];
|
|
20
23
|
parentTags: string[][];
|
|
21
|
-
constructor(reader?:
|
|
24
|
+
constructor(kind: number, context: KindContext, reader?: CommentReader);
|
|
22
25
|
private consumeRefTags;
|
|
23
26
|
setRoot(kind: number, id: string, pubkey: string, identifier?: string): this;
|
|
24
27
|
setParent(kind: number, id: string, pubkey: string, identifier?: string): this;
|
|
25
28
|
setRootFromEvent(event: TrustedEvent): this;
|
|
26
29
|
setParentFromEvent(event: TrustedEvent): this;
|
|
27
|
-
protected
|
|
30
|
+
protected renderDomainTags(): string[][];
|
|
28
31
|
}
|
|
32
|
+
export declare const Comment: KindFactory<CommentReader, CommentWriter>;
|
|
29
33
|
//# sourceMappingURL=Comment.d.ts.map
|
|
@@ -1 +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,
|
|
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,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAY,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAIhD,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,EAAE;;;CAK9C,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,EAAE,6BAIjD,CAAA;AAEH,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,aAAc,SAAQ,WAAW;IAC5C,IAAI,IAAI,UAAU;IASlB,MAAM,IAAI,UAAU;CAQrB;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAK;IACzB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;gBAEf,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAYtE,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAsBrE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAsBvE,gBAAgB,CAAC,KAAK,EAAE,YAAY;IAMpC,kBAAkB,CAAC,KAAK,EAAE,YAAY;IAMtC,SAAS,CAAC,gBAAgB;CAG3B;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
|
|
@@ -1,82 +1,105 @@
|
|
|
1
|
-
import { first } from "@welshman/lib";
|
|
2
|
-
import { COMMENT, Address,
|
|
3
|
-
import { EventReader } from "../EventReader.js";
|
|
4
|
-
import {
|
|
1
|
+
import { first, mapVals, nth } from "@welshman/lib";
|
|
2
|
+
import { COMMENT, Address, tagSpec, tagValue, outbox } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../core/EventReader.js";
|
|
4
|
+
import { EventWriter, TagParser } from "../core/EventWriter.js";
|
|
5
|
+
import { KindFactory } from "../core/Kind.js";
|
|
6
|
+
// NIP-22 comment reference tags: uppercase (A/E/P/K) point at the thread root,
|
|
7
|
+
// lowercase (a/e/p/k) at the immediate parent.
|
|
8
|
+
export const getCommentTags = (tags) => {
|
|
9
|
+
const roots = tags.filter(t => ["A", "E", "P", "K"].includes(t[0]));
|
|
10
|
+
const replies = tags.filter(t => ["a", "e", "p", "k"].includes(t[0]));
|
|
11
|
+
return { roots, replies };
|
|
12
|
+
};
|
|
13
|
+
export const getCommentTagValues = (tags) => mapVals(tags => tags.filter(t => ["a", "e"].includes(t[0].toLowerCase())).map(nth(1)), getCommentTags(tags));
|
|
5
14
|
// NIP-22 kind-1111 comment (uppercase E/A/K/P tags = thread root, lowercase = immediate parent).
|
|
6
|
-
export class
|
|
7
|
-
kind = COMMENT;
|
|
15
|
+
export class CommentReader extends EventReader {
|
|
8
16
|
root() {
|
|
9
17
|
return {
|
|
10
|
-
id:
|
|
11
|
-
address:
|
|
12
|
-
kind:
|
|
13
|
-
pubkey:
|
|
18
|
+
id: tagValue(tagSpec("E"), this.event.tags),
|
|
19
|
+
address: tagValue(tagSpec("A"), this.event.tags),
|
|
20
|
+
kind: tagValue(tagSpec("K"), this.event.tags),
|
|
21
|
+
pubkey: tagValue(tagSpec("P"), this.event.tags),
|
|
14
22
|
};
|
|
15
23
|
}
|
|
16
24
|
parent() {
|
|
17
25
|
return {
|
|
18
|
-
id:
|
|
19
|
-
address:
|
|
20
|
-
kind:
|
|
21
|
-
pubkey:
|
|
26
|
+
id: tagValue(tagSpec("e"), this.event.tags),
|
|
27
|
+
address: tagValue(tagSpec("a"), this.event.tags),
|
|
28
|
+
kind: tagValue(tagSpec("k"), this.event.tags),
|
|
29
|
+
pubkey: tagValue(tagSpec("p"), this.event.tags),
|
|
22
30
|
};
|
|
23
31
|
}
|
|
24
|
-
builder() {
|
|
25
|
-
return new CommentBuilder(this);
|
|
26
|
-
}
|
|
27
32
|
}
|
|
28
|
-
export class
|
|
29
|
-
reader;
|
|
30
|
-
kind = COMMENT;
|
|
33
|
+
export class CommentWriter extends EventWriter {
|
|
31
34
|
rootTags = [];
|
|
32
35
|
parentTags = [];
|
|
33
|
-
constructor(reader) {
|
|
34
|
-
super(reader);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
constructor(kind, context, reader) {
|
|
37
|
+
super(kind, context, reader);
|
|
38
|
+
if (reader) {
|
|
39
|
+
const parser = new TagParser(this.extraTags);
|
|
40
|
+
this.rootTags = this.consumeRefTags(parser, "E", "A", "K", "P");
|
|
41
|
+
this.parentTags = this.consumeRefTags(parser, "e", "a", "k", "p");
|
|
42
|
+
this.extraTags = parser.tags;
|
|
43
|
+
}
|
|
38
44
|
}
|
|
39
|
-
consumeRefTags(...keys) {
|
|
45
|
+
consumeRefTags(parser, ...keys) {
|
|
40
46
|
const tags = [];
|
|
41
47
|
for (const key of keys) {
|
|
42
|
-
const tag = first(
|
|
48
|
+
const tag = first(parser.consume(key));
|
|
43
49
|
if (tag)
|
|
44
50
|
tags.push(tag);
|
|
45
51
|
}
|
|
46
52
|
return tags;
|
|
47
53
|
}
|
|
48
54
|
setRoot(kind, id, pubkey, identifier) {
|
|
49
|
-
|
|
55
|
+
const tags = [
|
|
50
56
|
["K", String(kind)],
|
|
51
57
|
["E", id],
|
|
52
58
|
["P", pubkey],
|
|
53
59
|
];
|
|
54
60
|
if (identifier) {
|
|
55
|
-
|
|
61
|
+
tags.push(["A", new Address(kind, pubkey, identifier).toString()]);
|
|
56
62
|
}
|
|
63
|
+
this.hint(outbox(pubkey)).then(url => {
|
|
64
|
+
for (const tag of tags.slice(1)) {
|
|
65
|
+
tag.push(url);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
this.rootTags = tags;
|
|
57
69
|
return this;
|
|
58
70
|
}
|
|
59
71
|
setParent(kind, id, pubkey, identifier) {
|
|
60
|
-
|
|
72
|
+
const tags = [
|
|
61
73
|
["k", String(kind)],
|
|
62
74
|
["e", id],
|
|
63
75
|
["p", pubkey],
|
|
64
76
|
];
|
|
65
77
|
if (identifier) {
|
|
66
|
-
|
|
78
|
+
tags.push(["a", new Address(kind, pubkey, identifier).toString()]);
|
|
67
79
|
}
|
|
80
|
+
this.hint(outbox(pubkey)).then(url => {
|
|
81
|
+
for (const tag of tags.slice(1)) {
|
|
82
|
+
tag.push(url);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
this.parentTags = tags;
|
|
68
86
|
return this;
|
|
69
87
|
}
|
|
70
88
|
setRootFromEvent(event) {
|
|
71
|
-
this.setRoot(event.kind, event.id, event.pubkey,
|
|
89
|
+
this.setRoot(event.kind, event.id, event.pubkey, tagValue(tagSpec("d"), event.tags));
|
|
72
90
|
return this;
|
|
73
91
|
}
|
|
74
92
|
setParentFromEvent(event) {
|
|
75
|
-
this.setParent(event.kind, event.id, event.pubkey,
|
|
93
|
+
this.setParent(event.kind, event.id, event.pubkey, tagValue(tagSpec("d"), event.tags));
|
|
76
94
|
return this;
|
|
77
95
|
}
|
|
78
|
-
|
|
96
|
+
renderDomainTags() {
|
|
79
97
|
return [...this.rootTags, ...this.parentTags];
|
|
80
98
|
}
|
|
81
99
|
}
|
|
100
|
+
export const Comment = new KindFactory({
|
|
101
|
+
kind: COMMENT,
|
|
102
|
+
reader: CommentReader,
|
|
103
|
+
writer: CommentWriter,
|
|
104
|
+
});
|
|
82
105
|
//# sourceMappingURL=Comment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Comment.js","sourceRoot":"","sources":["../../../../src/kinds/Comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Comment.js","sourceRoot":"","sources":["../../../../src/kinds/Comment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
import { EventReader } from "../core/EventReader.js";
|
|
3
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
4
|
+
import { KindFactory } from "../core/Kind.js";
|
|
5
|
+
export declare class DeleteReader extends EventReader {
|
|
6
|
+
ids(): string[];
|
|
7
|
+
addresses(): string[];
|
|
8
|
+
kinds(): number[];
|
|
9
|
+
reason(): string;
|
|
10
|
+
}
|
|
11
|
+
export declare class DeleteWriter extends EventWriter<DeleteReader> {
|
|
12
|
+
protected renderRoutes(): Promise<import("@welshman/util").RelaySelection[]>;
|
|
13
|
+
addEvent(event: TrustedEvent, groupUrl?: string): this;
|
|
14
|
+
setReason(reason: string): this;
|
|
15
|
+
validate(): void;
|
|
16
|
+
}
|
|
17
|
+
export declare const Delete: KindFactory<DeleteReader, DeleteWriter>;
|
|
18
|
+
//# sourceMappingURL=Delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Delete.d.ts","sourceRoot":"","sources":["../../../../src/kinds/Delete.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,YAAa,SAAQ,WAAW;IAC3C,GAAG;IAIH,SAAS;IAIT,KAAK;IAIL,MAAM;CAGP;AAED,qBAAa,YAAa,SAAQ,WAAW,CAAC,YAAY,CAAC;cAGzC,YAAY;IAS5B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM;IAkC/C,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,QAAQ;CAOT;AAED,eAAO,MAAM,MAAM,yCAIjB,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { uniq } from "@welshman/lib";
|
|
2
|
+
import { DELETE, addressTags, hexTags, kindTags, tagSpec, tagValue, tagValues, getAddress, isReplaceable, seen, outbox, } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../core/EventReader.js";
|
|
4
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
5
|
+
import { KindFactory } from "../core/Kind.js";
|
|
6
|
+
// NIP-09 kind-5 delete request.
|
|
7
|
+
export class DeleteReader extends EventReader {
|
|
8
|
+
ids() {
|
|
9
|
+
return uniq(tagValues(hexTags("e"), this.tags()));
|
|
10
|
+
}
|
|
11
|
+
addresses() {
|
|
12
|
+
return uniq(tagValues(addressTags("a"), this.tags()));
|
|
13
|
+
}
|
|
14
|
+
kinds() {
|
|
15
|
+
return uniq(tagValues(kindTags("k"), this.tags()));
|
|
16
|
+
}
|
|
17
|
+
reason() {
|
|
18
|
+
return this.content();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class DeleteWriter extends EventWriter {
|
|
22
|
+
// The default (author outbox + mentions) plus every relay each deleted event was
|
|
23
|
+
// found on, so the delete reaches wherever those events live.
|
|
24
|
+
async renderRoutes() {
|
|
25
|
+
const tags = await this.renderTags();
|
|
26
|
+
return [
|
|
27
|
+
...(await super.renderRoutes()),
|
|
28
|
+
...uniq(tagValues(hexTags("e"), tags)).map(id => seen({ id })),
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
addEvent(event, groupUrl) {
|
|
32
|
+
const eTag = ["e", event.id, ""];
|
|
33
|
+
this.addTags(eTag, ["k", String(event.kind)]);
|
|
34
|
+
this.hint(outbox(event.pubkey)).then(url => {
|
|
35
|
+
eTag[2] = url;
|
|
36
|
+
});
|
|
37
|
+
if (isReplaceable(event)) {
|
|
38
|
+
const aTag = ["a", getAddress(event), ""];
|
|
39
|
+
this.addTags(aTag);
|
|
40
|
+
this.hint(outbox(event.pubkey)).then(url => {
|
|
41
|
+
aTag[2] = url;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// If the deleted event was a NIP-29 group event, the delete must carry the
|
|
45
|
+
// same "h" tag and publish to the relay the event lives on (the hint).
|
|
46
|
+
const group = tagValue(tagSpec("h"), event.tags);
|
|
47
|
+
if (group) {
|
|
48
|
+
if (!groupUrl) {
|
|
49
|
+
throw new Error("Deletions of group events must be published to a group url");
|
|
50
|
+
}
|
|
51
|
+
this.setGroup(groupUrl, group);
|
|
52
|
+
}
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
setReason(reason) {
|
|
56
|
+
return this.setContent(reason);
|
|
57
|
+
}
|
|
58
|
+
validate() {
|
|
59
|
+
super.validate();
|
|
60
|
+
if (!this.extraTags.some(t => ["e", "a"].includes(t[0]))) {
|
|
61
|
+
throw new Error("A delete must reference at least one event via an e or a tag");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export const Delete = new KindFactory({
|
|
66
|
+
kind: DELETE,
|
|
67
|
+
reader: DeleteReader,
|
|
68
|
+
writer: DeleteWriter,
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=Delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../../src/kinds/Delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { EventReader } from "../EventReader.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
emojis(): string[][];
|
|
1
|
+
import { EventReader } from "../core/EventReader.js";
|
|
2
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
3
|
+
import { KindFactory } from "../core/Kind.js";
|
|
4
|
+
export declare class EmojiListReader extends EventReader {
|
|
6
5
|
emojiSets(): string[];
|
|
7
|
-
builder(): EmojiListBuilder;
|
|
8
6
|
}
|
|
9
|
-
export declare class
|
|
10
|
-
readonly kind = 10030;
|
|
11
|
-
addEmoji(shortcode: string, url: string): this;
|
|
12
|
-
removeEmoji(value: string): this;
|
|
7
|
+
export declare class EmojiListWriter extends EventWriter<EmojiListReader> {
|
|
13
8
|
addEmojiSet(address: string): this;
|
|
14
9
|
removeEmojiSet(value: string): this;
|
|
15
10
|
}
|
|
11
|
+
export declare const EmojiList: KindFactory<EmojiListReader, EmojiListWriter>;
|
|
16
12
|
//# sourceMappingURL=EmojiList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/EmojiList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"EmojiList.d.ts","sourceRoot":"","sources":["../../../../src/kinds/EmojiList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,SAAS;CAGV;AAED,qBAAa,eAAgB,SAAQ,WAAW,CAAC,eAAe,CAAC;IAC/D,WAAW,CAAC,OAAO,EAAE,MAAM;IAI3B,cAAc,CAAC,KAAK,EAAE,MAAM;CAG7B;AAED,eAAO,MAAM,SAAS,+CAIpB,CAAA"}
|
|
@@ -1,28 +1,15 @@
|
|
|
1
1
|
import { uniq, spec } from "@welshman/lib";
|
|
2
|
-
import { EMOJIS,
|
|
3
|
-
import { EventReader } from "../EventReader.js";
|
|
4
|
-
import {
|
|
2
|
+
import { EMOJIS, addressTags, tagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../core/EventReader.js";
|
|
4
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
5
|
+
import { KindFactory } from "../core/Kind.js";
|
|
5
6
|
// NIP-51 kind-10030 user emoji list.
|
|
6
|
-
export class
|
|
7
|
-
kind = EMOJIS;
|
|
8
|
-
emojis() {
|
|
9
|
-
return this.tags().filter(spec(["emoji"]));
|
|
10
|
-
}
|
|
7
|
+
export class EmojiListReader extends EventReader {
|
|
11
8
|
emojiSets() {
|
|
12
|
-
return uniq(
|
|
13
|
-
}
|
|
14
|
-
builder() {
|
|
15
|
-
return new EmojiListBuilder(this);
|
|
9
|
+
return uniq(tagValues(addressTags("a"), this.tags()));
|
|
16
10
|
}
|
|
17
11
|
}
|
|
18
|
-
export class
|
|
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
|
-
}
|
|
12
|
+
export class EmojiListWriter extends EventWriter {
|
|
26
13
|
addEmojiSet(address) {
|
|
27
14
|
return this.addTags(["a", address]);
|
|
28
15
|
}
|
|
@@ -30,4 +17,9 @@ export class EmojiListBuilder extends EventBuilder {
|
|
|
30
17
|
return this.dropTags(spec(["a", value]));
|
|
31
18
|
}
|
|
32
19
|
}
|
|
20
|
+
export const EmojiList = new KindFactory({
|
|
21
|
+
kind: EMOJIS,
|
|
22
|
+
reader: EmojiListReader,
|
|
23
|
+
writer: EmojiListWriter,
|
|
24
|
+
});
|
|
33
25
|
//# sourceMappingURL=EmojiList.js.map
|
|
@@ -1 +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,
|
|
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,WAAW,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,qCAAqC;AACrC,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAA4B;IAC/D,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;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC;IACvC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;CACxB,CAAC,CAAA"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { Feed as FeedDefinition } from "@welshman/feeds";
|
|
2
|
-
import { EventReader } from "../EventReader.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { EventReader } from "../core/EventReader.js";
|
|
3
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
4
|
+
import { KindFactory } from "../core/Kind.js";
|
|
5
|
+
export declare class FeedReader extends EventReader {
|
|
6
6
|
title(): string;
|
|
7
7
|
description(): string;
|
|
8
8
|
definition(): FeedDefinition | undefined;
|
|
9
|
-
builder(): FeedBuilder;
|
|
10
9
|
}
|
|
11
|
-
export declare class
|
|
12
|
-
readonly kind = 31890;
|
|
10
|
+
export declare class FeedWriter extends EventWriter<FeedReader> {
|
|
13
11
|
setTitle(title: string): this;
|
|
14
12
|
setDescription(description: string): this;
|
|
15
13
|
setDefinition(feed: FeedDefinition): this;
|
|
16
14
|
}
|
|
15
|
+
export declare const Feed: KindFactory<FeedReader, FeedWriter>;
|
|
17
16
|
//# sourceMappingURL=Feed.d.ts.map
|
|
@@ -1 +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,
|
|
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,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,UAAW,SAAQ,WAAW;IACzC,KAAK;IAIL,WAAW;IAIX,UAAU,IAAI,cAAc,GAAG,SAAS;CAGzC;AAED,qBAAa,UAAW,SAAQ,WAAW,CAAC,UAAU,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,aAAa,CAAC,IAAI,EAAE,cAAc;CAGnC;AAED,eAAO,MAAM,IAAI,qCAIf,CAAA"}
|