@welshman/app 0.8.16 → 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/dist/app/src/app.d.ts +47 -0
- package/dist/app/src/app.d.ts.map +1 -0
- package/dist/app/src/app.js +56 -0
- package/dist/app/src/app.js.map +1 -0
- package/dist/app/src/createApp.d.ts +12 -0
- package/dist/app/src/createApp.d.ts.map +1 -0
- package/dist/app/src/createApp.js +12 -0
- package/dist/app/src/createApp.js.map +1 -0
- package/dist/app/src/index.d.ts +34 -27
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +34 -92
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/plugins/base.d.ts +86 -0
- package/dist/app/src/plugins/base.d.ts.map +1 -0
- package/dist/app/src/plugins/base.js +124 -0
- package/dist/app/src/plugins/base.js.map +1 -0
- package/dist/app/src/plugins/blockedRelayLists.d.ts +19 -0
- package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -0
- package/dist/app/src/plugins/blockedRelayLists.js +35 -0
- package/dist/app/src/plugins/blockedRelayLists.js.map +1 -0
- package/dist/app/src/plugins/blossom.d.ts +12 -0
- package/dist/app/src/plugins/blossom.d.ts.map +1 -0
- package/dist/app/src/plugins/blossom.js +21 -0
- package/dist/app/src/plugins/blossom.js.map +1 -0
- package/dist/app/src/plugins/feeds.d.ts +21 -0
- package/dist/app/src/plugins/feeds.d.ts.map +1 -0
- package/dist/app/src/plugins/feeds.js +58 -0
- package/dist/app/src/plugins/feeds.js.map +1 -0
- package/dist/app/src/plugins/follows.d.ts +15 -0
- package/dist/app/src/plugins/follows.d.ts.map +1 -0
- package/dist/app/src/plugins/follows.js +32 -0
- package/dist/app/src/plugins/follows.js.map +1 -0
- package/dist/app/src/plugins/handles.d.ts +20 -0
- package/dist/app/src/plugins/handles.d.ts.map +1 -0
- package/dist/app/src/plugins/handles.js +64 -0
- package/dist/app/src/plugins/handles.js.map +1 -0
- package/dist/app/src/plugins/logger.d.ts +26 -0
- package/dist/app/src/plugins/logger.d.ts.map +1 -0
- package/dist/app/src/plugins/logger.js +19 -0
- package/dist/app/src/plugins/logger.js.map +1 -0
- package/dist/app/src/plugins/messagingRelayLists.d.ts +19 -0
- package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -0
- package/dist/app/src/plugins/messagingRelayLists.js +35 -0
- package/dist/app/src/plugins/messagingRelayLists.js.map +1 -0
- package/dist/app/src/plugins/mutes.d.ts +19 -0
- package/dist/app/src/plugins/mutes.d.ts.map +1 -0
- package/dist/app/src/plugins/mutes.js +39 -0
- package/dist/app/src/plugins/mutes.js.map +1 -0
- package/dist/app/src/plugins/network.d.ts +24 -0
- package/dist/app/src/plugins/network.d.ts.map +1 -0
- package/dist/app/src/plugins/network.js +41 -0
- package/dist/app/src/plugins/network.js.map +1 -0
- package/dist/app/src/plugins/pins.d.ts +15 -0
- package/dist/app/src/plugins/pins.d.ts.map +1 -0
- package/dist/app/src/plugins/pins.js +32 -0
- package/dist/app/src/plugins/pins.js.map +1 -0
- package/dist/app/src/plugins/plaintext.d.ts +11 -0
- package/dist/app/src/plugins/plaintext.d.ts.map +1 -0
- package/dist/app/src/plugins/plaintext.js +18 -0
- package/dist/app/src/plugins/plaintext.js.map +1 -0
- package/dist/app/src/plugins/profiles.d.ts +15 -0
- package/dist/app/src/plugins/profiles.d.ts.map +1 -0
- package/dist/app/src/plugins/profiles.js +39 -0
- package/dist/app/src/plugins/profiles.js.map +1 -0
- package/dist/app/src/plugins/relayLists.d.ts +23 -0
- package/dist/app/src/plugins/relayLists.d.ts.map +1 -0
- package/dist/app/src/plugins/relayLists.js +65 -0
- package/dist/app/src/plugins/relayLists.js.map +1 -0
- package/dist/app/src/plugins/relayManagement.d.ts +12 -0
- package/dist/app/src/plugins/relayManagement.d.ts.map +1 -0
- package/dist/app/src/plugins/relayManagement.js +19 -0
- package/dist/app/src/plugins/relayManagement.js.map +1 -0
- package/dist/app/src/plugins/relayStats.d.ts +39 -0
- package/dist/app/src/plugins/relayStats.d.ts.map +1 -0
- package/dist/app/src/plugins/relayStats.js +173 -0
- package/dist/app/src/plugins/relayStats.js.map +1 -0
- package/dist/app/src/plugins/relays.d.ts +15 -0
- package/dist/app/src/plugins/relays.d.ts.map +1 -0
- package/dist/app/src/plugins/relays.js +43 -0
- package/dist/app/src/plugins/relays.js.map +1 -0
- package/dist/app/src/plugins/rooms.d.ts +30 -0
- package/dist/app/src/plugins/rooms.d.ts.map +1 -0
- package/dist/app/src/plugins/rooms.js +36 -0
- package/dist/app/src/plugins/rooms.js.map +1 -0
- package/dist/app/src/plugins/router.d.ts +13 -0
- package/dist/app/src/plugins/router.d.ts.map +1 -0
- package/dist/app/src/plugins/router.js +26 -0
- package/dist/app/src/plugins/router.js.map +1 -0
- package/dist/app/src/plugins/search.d.ts +35 -0
- package/dist/app/src/plugins/search.d.ts.map +1 -0
- package/dist/app/src/plugins/search.js +88 -0
- package/dist/app/src/plugins/search.js.map +1 -0
- package/dist/app/src/plugins/searchRelayLists.d.ts +19 -0
- package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -0
- package/dist/app/src/plugins/searchRelayLists.js +35 -0
- package/dist/app/src/plugins/searchRelayLists.js.map +1 -0
- package/dist/app/src/plugins/slashCommands.d.ts +22 -0
- package/dist/app/src/plugins/slashCommands.d.ts.map +1 -0
- package/dist/app/src/plugins/slashCommands.js +70 -0
- package/dist/app/src/plugins/slashCommands.js.map +1 -0
- package/dist/app/src/plugins/stores.d.ts +22 -0
- package/dist/app/src/plugins/stores.d.ts.map +1 -0
- package/dist/app/src/plugins/stores.js +22 -0
- package/dist/app/src/plugins/stores.js.map +1 -0
- package/dist/app/src/plugins/sync.d.ts +20 -0
- package/dist/app/src/plugins/sync.d.ts.map +1 -0
- package/dist/app/src/plugins/sync.js +41 -0
- package/dist/app/src/plugins/sync.js.map +1 -0
- package/dist/app/src/plugins/tags.d.ts +20 -0
- package/dist/app/src/plugins/tags.d.ts.map +1 -0
- package/dist/app/src/plugins/tags.js +106 -0
- package/dist/app/src/plugins/tags.js.map +1 -0
- package/dist/app/src/plugins/thunk.d.ts +75 -0
- package/dist/app/src/plugins/thunk.d.ts.map +1 -0
- package/dist/app/src/{thunk.js → plugins/thunk.js} +162 -152
- package/dist/app/src/plugins/thunk.js.map +1 -0
- package/dist/app/src/plugins/topics.d.ts +17 -0
- package/dist/app/src/plugins/topics.d.ts.map +1 -0
- package/dist/app/src/plugins/topics.js +45 -0
- package/dist/app/src/plugins/topics.js.map +1 -0
- package/dist/app/src/plugins/wot.d.ts +28 -0
- package/dist/app/src/plugins/wot.d.ts.map +1 -0
- package/dist/app/src/plugins/wot.js +116 -0
- package/dist/app/src/plugins/wot.js.map +1 -0
- package/dist/app/src/plugins/wraps.d.ts +25 -0
- package/dist/app/src/plugins/wraps.d.ts.map +1 -0
- package/dist/app/src/plugins/wraps.js +59 -0
- package/dist/app/src/plugins/wraps.js.map +1 -0
- package/dist/app/src/plugins/zappers.d.ts +28 -0
- package/dist/app/src/plugins/zappers.d.ts.map +1 -0
- package/dist/app/src/plugins/zappers.js +106 -0
- package/dist/app/src/plugins/zappers.js.map +1 -0
- package/dist/app/src/policy.d.ts +51 -0
- package/dist/app/src/policy.d.ts.map +1 -0
- package/dist/app/src/policy.js +129 -0
- package/dist/app/src/policy.js.map +1 -0
- package/dist/app/src/session.d.ts +36 -103
- package/dist/app/src/session.d.ts.map +1 -1
- package/dist/app/src/session.js +42 -171
- package/dist/app/src/session.js.map +1 -1
- package/dist/app/src/user.d.ts +34 -33
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js +51 -53
- package/dist/app/src/user.js.map +1 -1
- 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 +2 -0
- package/dist/feeds/src/compiler.d.ts.map +1 -1
- package/dist/feeds/src/compiler.js +3 -0
- package/dist/feeds/src/compiler.js.map +1 -1
- package/dist/feeds/src/controller.d.ts.map +1 -1
- package/dist/feeds/src/controller.js +2 -0
- package/dist/feeds/src/controller.js.map +1 -1
- package/dist/feeds/src/request.d.ts +5 -2
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +9 -9
- package/dist/feeds/src/request.js.map +1 -1
- package/dist/lib/src/Tools.d.ts +4 -0
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +4 -0
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/adapter.d.ts +2 -2
- package/dist/net/src/adapter.d.ts.map +1 -1
- package/dist/net/src/adapter.js +8 -4
- package/dist/net/src/adapter.js.map +1 -1
- package/dist/net/src/auth.d.ts +1 -1
- package/dist/net/src/auth.d.ts.map +1 -1
- package/dist/net/src/auth.js +3 -3
- package/dist/net/src/auth.js.map +1 -1
- package/dist/net/src/context.d.ts +4 -7
- package/dist/net/src/context.d.ts.map +1 -1
- package/dist/net/src/context.js +1 -9
- package/dist/net/src/context.js.map +1 -1
- package/dist/net/src/pool.d.ts +1 -8
- package/dist/net/src/pool.d.ts.map +1 -1
- package/dist/net/src/pool.js +2 -18
- package/dist/net/src/pool.js.map +1 -1
- package/dist/net/src/repository.d.ts +1 -2
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +6 -9
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/request.d.ts +0 -2
- package/dist/net/src/request.d.ts.map +1 -1
- package/dist/net/src/request.js +4 -7
- package/dist/net/src/request.js.map +1 -1
- package/dist/net/src/wrapManager.d.ts +1 -0
- package/dist/net/src/wrapManager.d.ts.map +1 -1
- package/dist/net/src/wrapManager.js +5 -1
- package/dist/net/src/wrapManager.js.map +1 -1
- package/dist/router/src/index.d.ts +163 -0
- package/dist/router/src/index.d.ts.map +1 -0
- package/dist/router/src/index.js +214 -0
- package/dist/router/src/index.js.map +1 -0
- package/dist/signer/src/util.d.ts +1 -1
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +18 -6
- package/dist/signer/src/util.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- 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/Kinds.d.ts +4 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +4 -1
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/Nip86.d.ts +8 -2
- package/dist/util/src/Nip86.d.ts.map +1 -1
- package/dist/util/src/Nip86.js +6 -0
- package/dist/util/src/Nip86.js.map +1 -1
- package/dist/util/src/Zaps.d.ts +31 -0
- package/dist/util/src/Zaps.d.ts.map +1 -1
- package/dist/util/src/Zaps.js +52 -3
- package/dist/util/src/Zaps.js.map +1 -1
- package/dist/util/src/index.d.ts +1 -5
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +1 -5
- package/dist/util/src/index.js.map +1 -1
- package/package.json +18 -16
- package/dist/app/src/blockedRelayLists.d.ts +0 -9
- package/dist/app/src/blockedRelayLists.d.ts.map +0 -1
- package/dist/app/src/blockedRelayLists.js +0 -18
- package/dist/app/src/blockedRelayLists.js.map +0 -1
- package/dist/app/src/blossom.d.ts +0 -8
- package/dist/app/src/blossom.d.ts.map +0 -1
- package/dist/app/src/blossom.js +0 -17
- package/dist/app/src/blossom.js.map +0 -1
- package/dist/app/src/commands.d.ts +0 -43
- package/dist/app/src/commands.d.ts.map +0 -1
- package/dist/app/src/commands.js +0 -216
- package/dist/app/src/commands.js.map +0 -1
- package/dist/app/src/context.d.ts +0 -5
- package/dist/app/src/context.d.ts.map +0 -1
- package/dist/app/src/context.js +0 -2
- package/dist/app/src/context.js.map +0 -1
- package/dist/app/src/core.d.ts +0 -4
- package/dist/app/src/core.d.ts.map +0 -1
- package/dist/app/src/core.js +0 -4
- package/dist/app/src/core.js.map +0 -1
- package/dist/app/src/feeds.d.ts +0 -9
- package/dist/app/src/feeds.d.ts.map +0 -1
- package/dist/app/src/feeds.js +0 -35
- package/dist/app/src/feeds.js.map +0 -1
- package/dist/app/src/follows.d.ts +0 -9
- package/dist/app/src/follows.d.ts.map +0 -1
- package/dist/app/src/follows.js +0 -18
- package/dist/app/src/follows.js.map +0 -1
- package/dist/app/src/handles.d.ts +0 -30
- package/dist/app/src/handles.d.ts.map +0 -1
- package/dist/app/src/handles.js +0 -95
- package/dist/app/src/handles.js.map +0 -1
- package/dist/app/src/messagingRelayLists.d.ts +0 -9
- package/dist/app/src/messagingRelayLists.d.ts.map +0 -1
- package/dist/app/src/messagingRelayLists.js +0 -18
- package/dist/app/src/messagingRelayLists.js.map +0 -1
- package/dist/app/src/mutes.d.ts +0 -10
- package/dist/app/src/mutes.d.ts.map +0 -1
- package/dist/app/src/mutes.js +0 -32
- package/dist/app/src/mutes.js.map +0 -1
- package/dist/app/src/pins.d.ts +0 -9
- package/dist/app/src/pins.d.ts.map +0 -1
- package/dist/app/src/pins.js +0 -18
- package/dist/app/src/pins.js.map +0 -1
- package/dist/app/src/plaintext.d.ts +0 -6
- package/dist/app/src/plaintext.d.ts.map +0 -1
- package/dist/app/src/plaintext.js +0 -35
- package/dist/app/src/plaintext.js.map +0 -1
- package/dist/app/src/profiles.d.ts +0 -11
- package/dist/app/src/profiles.d.ts.map +0 -1
- package/dist/app/src/profiles.js +0 -23
- package/dist/app/src/profiles.js.map +0 -1
- package/dist/app/src/relayLists.d.ts +0 -13
- package/dist/app/src/relayLists.d.ts.map +0 -1
- package/dist/app/src/relayLists.js +0 -52
- package/dist/app/src/relayLists.js.map +0 -1
- package/dist/app/src/relayStats.d.ts +0 -34
- package/dist/app/src/relayStats.d.ts.map +0 -1
- package/dist/app/src/relayStats.js +0 -196
- package/dist/app/src/relayStats.js.map +0 -1
- package/dist/app/src/relays.d.ts +0 -18
- package/dist/app/src/relays.d.ts.map +0 -1
- package/dist/app/src/relays.js +0 -50
- package/dist/app/src/relays.js.map +0 -1
- package/dist/app/src/search.d.ts +0 -23
- package/dist/app/src/search.d.ts.map +0 -1
- package/dist/app/src/search.js +0 -76
- package/dist/app/src/search.js.map +0 -1
- package/dist/app/src/searchRelayLists.d.ts +0 -9
- package/dist/app/src/searchRelayLists.d.ts.map +0 -1
- package/dist/app/src/searchRelayLists.js +0 -18
- package/dist/app/src/searchRelayLists.js.map +0 -1
- package/dist/app/src/sync.d.ts +0 -9
- package/dist/app/src/sync.d.ts.map +0 -1
- package/dist/app/src/sync.js +0 -32
- package/dist/app/src/sync.js.map +0 -1
- package/dist/app/src/tags.d.ts +0 -10
- package/dist/app/src/tags.d.ts.map +0 -1
- package/dist/app/src/tags.js +0 -96
- package/dist/app/src/tags.js.map +0 -1
- package/dist/app/src/thunk.d.ts +0 -61
- package/dist/app/src/thunk.d.ts.map +0 -1
- package/dist/app/src/thunk.js.map +0 -1
- package/dist/app/src/topics.d.ts +0 -7
- package/dist/app/src/topics.d.ts.map +0 -1
- package/dist/app/src/topics.js +0 -38
- package/dist/app/src/topics.js.map +0 -1
- package/dist/app/src/wot.d.ts +0 -17
- package/dist/app/src/wot.d.ts.map +0 -1
- package/dist/app/src/wot.js +0 -72
- package/dist/app/src/wot.js.map +0 -1
- package/dist/app/src/zappers.d.ts +0 -21
- package/dist/app/src/zappers.d.ts.map +0 -1
- package/dist/app/src/zappers.js +0 -102
- package/dist/app/src/zappers.js.map +0 -1
- package/dist/util/src/Encryptable.d.ts +0 -34
- package/dist/util/src/Encryptable.d.ts.map +0 -1
- package/dist/util/src/Encryptable.js +0 -52
- package/dist/util/src/Encryptable.js.map +0 -1
- package/dist/util/src/Handler.d.ts +0 -17
- package/dist/util/src/Handler.d.ts.map +0 -1
- package/dist/util/src/Handler.js +0 -33
- package/dist/util/src/Handler.js.map +0 -1
- package/dist/util/src/List.d.ts +0 -42
- package/dist/util/src/List.d.ts.map +0 -1
- package/dist/util/src/List.js +0 -86
- package/dist/util/src/List.js.map +0 -1
- package/dist/util/src/Profile.d.ts +0 -26
- package/dist/util/src/Profile.d.ts.map +0 -1
- package/dist/util/src/Profile.js +0 -50
- package/dist/util/src/Profile.js.map +0 -1
- package/dist/util/src/Room.d.ts +0 -63
- package/dist/util/src/Room.d.ts.map +0 -1
- package/dist/util/src/Room.js +0 -94
- package/dist/util/src/Room.js.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { removeUndefined, spec } from "@welshman/lib";
|
|
2
|
+
import { SLASH_COMMAND, getTags, getTagValues, getKindTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// Parse a `/name <arg1> <arg2>` invocation string; undefined if `content` isn't
|
|
6
|
+
// a slash command. Arguments are wrapped in angle brackets for unambiguous parsing.
|
|
7
|
+
export const parseSlashCommand = (content) => {
|
|
8
|
+
const match = content.trim().match(/^\/(\S+)/);
|
|
9
|
+
if (!match)
|
|
10
|
+
return undefined;
|
|
11
|
+
return {
|
|
12
|
+
name: match[1],
|
|
13
|
+
args: Array.from(content.matchAll(/<([^>]*)>/g)).map(m => m[1]),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
// Format a `/name <arg1> <arg2>` invocation string.
|
|
17
|
+
export const formatSlashCommand = (name, args = []) => [`/${name}`, ...args.map(arg => `<${arg}>`)].join(" ");
|
|
18
|
+
// kind-33318 slash command manifest. Its `d` tag is the command name; `k` tags
|
|
19
|
+
// are the monitored event kinds, `h` tags are the monitored NIP-29 groups (none
|
|
20
|
+
// means it can be invoked anywhere).
|
|
21
|
+
export class SlashCommand extends EventReader {
|
|
22
|
+
kind = SLASH_COMMAND;
|
|
23
|
+
name() {
|
|
24
|
+
return this.identifier();
|
|
25
|
+
}
|
|
26
|
+
description() {
|
|
27
|
+
return this.event.content;
|
|
28
|
+
}
|
|
29
|
+
kinds() {
|
|
30
|
+
return getKindTagValues(this.event.tags);
|
|
31
|
+
}
|
|
32
|
+
groups() {
|
|
33
|
+
return getTagValues("h", this.event.tags);
|
|
34
|
+
}
|
|
35
|
+
params() {
|
|
36
|
+
return getTags("param", this.event.tags).map(tag => ({
|
|
37
|
+
label: tag[1],
|
|
38
|
+
type: tag[2] || "string",
|
|
39
|
+
optional: tag[3] === "optional",
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
options(label) {
|
|
43
|
+
return getTags("options", this.event.tags)
|
|
44
|
+
.filter(tag => tag[1] === label)
|
|
45
|
+
.map(tag => tag[2]);
|
|
46
|
+
}
|
|
47
|
+
// Whether the command should be surfaced in the given kind/group context. A
|
|
48
|
+
// command with no `h` tags can be invoked anywhere.
|
|
49
|
+
appliesTo(kind, group) {
|
|
50
|
+
const groups = this.groups();
|
|
51
|
+
return (this.kinds().includes(kind) &&
|
|
52
|
+
(groups.length === 0 || (group !== undefined && groups.includes(group))));
|
|
53
|
+
}
|
|
54
|
+
builder() {
|
|
55
|
+
return new SlashCommandBuilder(this);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export class SlashCommandBuilder extends EventBuilder {
|
|
59
|
+
kind = SLASH_COMMAND;
|
|
60
|
+
setName(name) {
|
|
61
|
+
return this.setIdentifier(name);
|
|
62
|
+
}
|
|
63
|
+
setDescription(description) {
|
|
64
|
+
return this.setContent(description);
|
|
65
|
+
}
|
|
66
|
+
addKind(kind) {
|
|
67
|
+
return this.dropTags(spec(["k", String(kind)])).addTags(["k", String(kind)]);
|
|
68
|
+
}
|
|
69
|
+
setKinds(kinds) {
|
|
70
|
+
return this.dropTags(spec(["k"])).addTags(...kinds.map(kind => ["k", String(kind)]));
|
|
71
|
+
}
|
|
72
|
+
addGroup(group) {
|
|
73
|
+
return this.dropTags(spec(["h", group])).addTags(["h", group]);
|
|
74
|
+
}
|
|
75
|
+
setGroups(groups) {
|
|
76
|
+
return this.dropTags(spec(["h"])).addTags(...groups.map(group => ["h", group]));
|
|
77
|
+
}
|
|
78
|
+
addParam(label, type = "string", optional = false) {
|
|
79
|
+
return this.dropTags(spec(["param", label])).addTags(removeUndefined(["param", label, type, optional ? "optional" : undefined]));
|
|
80
|
+
}
|
|
81
|
+
removeParam(label) {
|
|
82
|
+
return this.dropTags(tag => ["param", "options"].includes(tag[0]) && tag[1] === label);
|
|
83
|
+
}
|
|
84
|
+
addOption(label, option) {
|
|
85
|
+
return this.addTags(["options", label, option]);
|
|
86
|
+
}
|
|
87
|
+
setOptions(label, options) {
|
|
88
|
+
return this.dropTags(tag => tag[0] === "options" && tag[1] === label).addTags(...options.map(option => ["options", label, option]));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=SlashCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlashCommand.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/SlashCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class Thread extends EventReader {
|
|
4
|
+
readonly kind = 11;
|
|
5
|
+
title(): string | undefined;
|
|
6
|
+
builder(): ThreadBuilder;
|
|
7
|
+
}
|
|
8
|
+
export declare class ThreadBuilder extends EventBuilder<Thread> {
|
|
9
|
+
readonly kind = 11;
|
|
10
|
+
setTitle(title: string): this;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=Thread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Thread.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,MAAO,SAAQ,WAAW;IACrC,QAAQ,CAAC,IAAI,MAAS;IAEtB,KAAK;IAIL,OAAO;CAGR;AAED,qBAAa,aAAc,SAAQ,YAAY,CAAC,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,MAAS;IAEtB,QAAQ,CAAC,KAAK,EAAE,MAAM;CAGvB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { THREAD, getTagValue } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-7D kind-11 forum thread root.
|
|
6
|
+
export class Thread extends EventReader {
|
|
7
|
+
kind = THREAD;
|
|
8
|
+
title() {
|
|
9
|
+
return getTagValue("title", this.event.tags);
|
|
10
|
+
}
|
|
11
|
+
builder() {
|
|
12
|
+
return new ThreadBuilder(this);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class ThreadBuilder extends EventBuilder {
|
|
16
|
+
kind = THREAD;
|
|
17
|
+
setTitle(title) {
|
|
18
|
+
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=Thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Thread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,oCAAoC;AACpC,MAAM,OAAO,MAAO,SAAQ,WAAW;IAC5B,IAAI,GAAG,MAAM,CAAA;IAEtB,KAAK;QACH,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAoB;IAC5C,IAAI,GAAG,MAAM,CAAA;IAEtB,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;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class TimeEvent extends EventReader {
|
|
4
|
+
readonly kind = 31923;
|
|
5
|
+
title(): string | undefined;
|
|
6
|
+
location(): string | undefined;
|
|
7
|
+
start(): number | undefined;
|
|
8
|
+
end(): number | undefined;
|
|
9
|
+
builder(): TimeEventBuilder;
|
|
10
|
+
}
|
|
11
|
+
export declare class TimeEventBuilder extends EventBuilder<TimeEvent> {
|
|
12
|
+
readonly reader?: TimeEvent | undefined;
|
|
13
|
+
readonly kind = 31923;
|
|
14
|
+
constructor(reader?: TimeEvent | undefined);
|
|
15
|
+
setTitle(title: string): this;
|
|
16
|
+
setLocation(location: string): this;
|
|
17
|
+
setStart(start: number): this;
|
|
18
|
+
setEnd(end: number): this;
|
|
19
|
+
protected buildTags(): string[][];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=TimeEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeEvent.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/TimeEvent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,SAAU,SAAQ,WAAW;IACxC,QAAQ,CAAC,IAAI,SAAa;IAE1B,KAAK;IAIL,QAAQ;IAIR,KAAK;IAML,GAAG;IAMH,OAAO;CAGR;AAED,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;IAG/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;IAFvC,QAAQ,CAAC,IAAI,SAAa;gBAEL,MAAM,CAAC,EAAE,SAAS,YAAA;IAMvC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAI5B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,SAAS;CAcpB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { range, DAY, spec } from "@welshman/lib";
|
|
2
|
+
import { EVENT_TIME, getTagValue } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-52 kind-31923 time-based calendar event.
|
|
6
|
+
export class TimeEvent extends EventReader {
|
|
7
|
+
kind = EVENT_TIME;
|
|
8
|
+
title() {
|
|
9
|
+
return getTagValue("title", this.event.tags);
|
|
10
|
+
}
|
|
11
|
+
location() {
|
|
12
|
+
return getTagValue("location", this.event.tags);
|
|
13
|
+
}
|
|
14
|
+
start() {
|
|
15
|
+
const start = parseInt(getTagValue("start", this.event.tags));
|
|
16
|
+
return isNaN(start) ? undefined : start;
|
|
17
|
+
}
|
|
18
|
+
end() {
|
|
19
|
+
const end = parseInt(getTagValue("end", this.event.tags));
|
|
20
|
+
return isNaN(end) ? undefined : end;
|
|
21
|
+
}
|
|
22
|
+
builder() {
|
|
23
|
+
return new TimeEventBuilder(this);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class TimeEventBuilder extends EventBuilder {
|
|
27
|
+
reader;
|
|
28
|
+
kind = EVENT_TIME;
|
|
29
|
+
constructor(reader) {
|
|
30
|
+
super(reader);
|
|
31
|
+
this.reader = reader;
|
|
32
|
+
this.consumeTags("D");
|
|
33
|
+
}
|
|
34
|
+
setTitle(title) {
|
|
35
|
+
return this.dropTags(spec(["title"])).addTags(["title", title]);
|
|
36
|
+
}
|
|
37
|
+
setLocation(location) {
|
|
38
|
+
return this.dropTags(spec(["location"])).addTags(["location", location]);
|
|
39
|
+
}
|
|
40
|
+
setStart(start) {
|
|
41
|
+
return this.dropTags(spec(["start"])).addTags(["start", String(start)]);
|
|
42
|
+
}
|
|
43
|
+
setEnd(end) {
|
|
44
|
+
return this.dropTags(spec(["end"])).addTags(["end", String(end)]);
|
|
45
|
+
}
|
|
46
|
+
buildTags() {
|
|
47
|
+
const tags = [];
|
|
48
|
+
const start = parseInt(this.extraTags.find(spec(["start"]))?.[1] ?? "");
|
|
49
|
+
const end = parseInt(this.extraTags.find(spec(["end"]))?.[1] ?? "");
|
|
50
|
+
if (!isNaN(start) && !isNaN(end)) {
|
|
51
|
+
for (const t of range(start, end, DAY)) {
|
|
52
|
+
tags.push(["D", String(Math.floor(t / DAY))]);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return tags;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=TimeEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeEvent.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/TimeEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ListReader } from "../ListReader.js";
|
|
2
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
3
|
+
export declare class TopicList extends ListReader {
|
|
4
|
+
readonly kind = 10015;
|
|
5
|
+
topics(): string[];
|
|
6
|
+
addresses(): string[];
|
|
7
|
+
includes(topic: string): boolean;
|
|
8
|
+
builder(): TopicListBuilder;
|
|
9
|
+
}
|
|
10
|
+
export declare class TopicListBuilder extends ListBuilder<TopicList> {
|
|
11
|
+
readonly kind = 10015;
|
|
12
|
+
followPublicly(topic: string): this;
|
|
13
|
+
followPrivately(topic: string): this;
|
|
14
|
+
follow(topic: string): this;
|
|
15
|
+
unfollow(topic: string): this;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=TopicList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopicList.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/TopicList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAG7C,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,CAAC,IAAI,SAAS;IAEtB,MAAM;IAIN,SAAS;IAIT,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,OAAO;CAGR;AAED,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,SAAS,CAAC;IAC1D,QAAQ,CAAC,IAAI,SAAS;IAEtB,cAAc,CAAC,KAAK,EAAE,MAAM;IAI5B,eAAe,CAAC,KAAK,EAAE,MAAM;IAI7B,MAAM,CAAC,KAAK,EAAE,MAAM;IAIpB,QAAQ,CAAC,KAAK,EAAE,MAAM;CAGvB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { uniq, spec } from "@welshman/lib";
|
|
2
|
+
import { TOPICS, getTopicTagValues, getAddressTagValues } from "@welshman/util";
|
|
3
|
+
import { ListReader } from "../ListReader.js";
|
|
4
|
+
import { ListBuilder } from "../ListBuilder.js";
|
|
5
|
+
// NIP-51 kind-10015 interests/topics list.
|
|
6
|
+
export class TopicList extends ListReader {
|
|
7
|
+
kind = TOPICS;
|
|
8
|
+
topics() {
|
|
9
|
+
return uniq(getTopicTagValues(this.tags()));
|
|
10
|
+
}
|
|
11
|
+
addresses() {
|
|
12
|
+
return uniq(getAddressTagValues(this.tags()));
|
|
13
|
+
}
|
|
14
|
+
includes(topic) {
|
|
15
|
+
return this.topics().includes(topic);
|
|
16
|
+
}
|
|
17
|
+
builder() {
|
|
18
|
+
return new TopicListBuilder(this);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class TopicListBuilder extends ListBuilder {
|
|
22
|
+
kind = TOPICS;
|
|
23
|
+
followPublicly(topic) {
|
|
24
|
+
return this.addPublic(["t", topic]);
|
|
25
|
+
}
|
|
26
|
+
followPrivately(topic) {
|
|
27
|
+
return this.addPrivate(["t", topic]);
|
|
28
|
+
}
|
|
29
|
+
follow(topic) {
|
|
30
|
+
return this.followPublicly(topic);
|
|
31
|
+
}
|
|
32
|
+
unfollow(topic) {
|
|
33
|
+
return this.dropTags(spec(["t", topic]));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=TopicList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopicList.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/TopicList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAE7C,2CAA2C;AAC3C,MAAM,OAAO,SAAU,SAAQ,UAAU;IAC9B,IAAI,GAAG,MAAM,CAAA;IAEtB,MAAM;QACJ,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,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,WAAsB;IACjD,IAAI,GAAG,MAAM,CAAA;IAEtB,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class ZapGoal extends EventReader {
|
|
4
|
+
readonly kind = 9041;
|
|
5
|
+
title(): string;
|
|
6
|
+
summary(): string | undefined;
|
|
7
|
+
amount(): number;
|
|
8
|
+
urls(): string[];
|
|
9
|
+
builder(): ZapGoalBuilder;
|
|
10
|
+
}
|
|
11
|
+
export declare class ZapGoalBuilder extends EventBuilder<ZapGoal> {
|
|
12
|
+
readonly kind = 9041;
|
|
13
|
+
constructor(reader?: ZapGoal);
|
|
14
|
+
setTitle(title: string): this;
|
|
15
|
+
setSummary(summary: string): this;
|
|
16
|
+
setAmount(amount: number): this;
|
|
17
|
+
setUrls(urls: string[]): this;
|
|
18
|
+
protected validate(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ZapGoal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapGoal.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/ZapGoal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,OAAQ,SAAQ,WAAW;IACtC,QAAQ,CAAC,IAAI,QAAW;IAExB,KAAK;IAIL,OAAO;IAIP,MAAM;IAIN,IAAI;IAIJ,OAAO;CAGR;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,OAAO,CAAC;IACvD,QAAQ,CAAC,IAAI,QAAW;gBAEZ,MAAM,CAAC,EAAE,OAAO;IAS5B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;IAItB,SAAS,CAAC,QAAQ;CAOnB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { ZAP_GOAL, getTagValue, getTagValues } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-75 kind-9041 zap goal.
|
|
6
|
+
export class ZapGoal extends EventReader {
|
|
7
|
+
kind = ZAP_GOAL;
|
|
8
|
+
title() {
|
|
9
|
+
return this.event.content || "";
|
|
10
|
+
}
|
|
11
|
+
summary() {
|
|
12
|
+
return getTagValue("summary", this.event.tags);
|
|
13
|
+
}
|
|
14
|
+
amount() {
|
|
15
|
+
return parseInt(getTagValue("amount", this.event.tags) || "0") || 0;
|
|
16
|
+
}
|
|
17
|
+
urls() {
|
|
18
|
+
return getTagValues("relays", this.event.tags);
|
|
19
|
+
}
|
|
20
|
+
builder() {
|
|
21
|
+
return new ZapGoalBuilder(this);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class ZapGoalBuilder extends EventBuilder {
|
|
25
|
+
kind = ZAP_GOAL;
|
|
26
|
+
constructor(reader) {
|
|
27
|
+
super(reader);
|
|
28
|
+
// A zap goal always carries an amount tag, defaulting to zero.
|
|
29
|
+
if (!this.extraTags.some(spec(["amount"]))) {
|
|
30
|
+
this.addTags(["amount", "0"]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
setTitle(title) {
|
|
34
|
+
return this.setContent(title);
|
|
35
|
+
}
|
|
36
|
+
setSummary(summary) {
|
|
37
|
+
return this.dropTags(spec(["summary"])).addTags(["summary", summary]);
|
|
38
|
+
}
|
|
39
|
+
setAmount(amount) {
|
|
40
|
+
return this.dropTags(spec(["amount"])).addTags(["amount", String(amount)]);
|
|
41
|
+
}
|
|
42
|
+
setUrls(urls) {
|
|
43
|
+
return this.dropTags(spec(["relays"])).addTags(...urls.map(url => ["relays", url]));
|
|
44
|
+
}
|
|
45
|
+
validate() {
|
|
46
|
+
super.validate();
|
|
47
|
+
if (!this.content) {
|
|
48
|
+
throw new Error("ZapGoal requires a title");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=ZapGoal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapGoal.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/ZapGoal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,6BAA6B;AAC7B,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAC7B,IAAI,GAAG,QAAQ,CAAA;IAExB,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,OAAO;QACL,OAAO,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,MAAM;QACJ,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IACrE,CAAC;IAED,IAAI;QACF,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAqB;IAC9C,IAAI,GAAG,QAAQ,CAAA;IAExB,YAAY,MAAgB;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAA;QAEb,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACrF,CAAC;IAES,QAAQ;QAChB,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TrustedEvent, Zapper } from "@welshman/util";
|
|
2
|
+
import type { ISigner } from "@welshman/signer";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
export declare class ZapReceipt extends EventReader {
|
|
6
|
+
readonly kind = 9735;
|
|
7
|
+
plain?: TrustedEvent;
|
|
8
|
+
protected parse(signer?: ISigner): Promise<void>;
|
|
9
|
+
bolt11(): string | undefined;
|
|
10
|
+
invoiceAmount(): number | undefined;
|
|
11
|
+
request(): TrustedEvent | undefined;
|
|
12
|
+
sender(): string | undefined;
|
|
13
|
+
recipient(): string | undefined;
|
|
14
|
+
eventId(): string | undefined;
|
|
15
|
+
comment(): string | undefined;
|
|
16
|
+
preimage(): string | undefined;
|
|
17
|
+
verify(zapper: Zapper): boolean;
|
|
18
|
+
builder(): ZapReceiptBuilder;
|
|
19
|
+
}
|
|
20
|
+
export declare class ZapReceiptBuilder extends EventBuilder<ZapReceipt> {
|
|
21
|
+
readonly kind = 9735;
|
|
22
|
+
setBolt11(bolt11: string): this;
|
|
23
|
+
setDescription(description: string): this;
|
|
24
|
+
setRecipient(recipient: string): this;
|
|
25
|
+
setEventId(eventId: string): this;
|
|
26
|
+
setPreimage(preimage: string): this;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ZapReceipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapReceipt.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/ZapReceipt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,IAAI,QAAc;IAE3B,KAAK,CAAC,EAAE,YAAY,CAAA;cAEJ,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO;IAMtC,MAAM;IAIN,aAAa;IAYb,OAAO;IAIP,MAAM;IAIN,SAAS;IAIT,OAAO;IAIP,OAAO;IAIP,QAAQ;IAIR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAmC/B,OAAO;CAGR;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,UAAU,CAAC;IAC7D,QAAQ,CAAC,IAAI,QAAc;IAE3B,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,WAAW,CAAC,QAAQ,EAAE,MAAM;CAG7B"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { parseJson, spec } from "@welshman/lib";
|
|
2
|
+
import { ZAP_RECEIPT, getTagValue, getInvoiceAmount } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-57 kind-9735 zap receipt (relay/LN-generated, read-only).
|
|
6
|
+
export class ZapReceipt extends EventReader {
|
|
7
|
+
kind = ZAP_RECEIPT;
|
|
8
|
+
plain;
|
|
9
|
+
async parse(signer) {
|
|
10
|
+
const description = getTagValue("description", this.event.tags);
|
|
11
|
+
this.plain = description ? parseJson(description) || undefined : undefined;
|
|
12
|
+
}
|
|
13
|
+
bolt11() {
|
|
14
|
+
return getTagValue("bolt11", this.event.tags);
|
|
15
|
+
}
|
|
16
|
+
invoiceAmount() {
|
|
17
|
+
const bolt11 = this.bolt11();
|
|
18
|
+
if (!bolt11)
|
|
19
|
+
return undefined;
|
|
20
|
+
try {
|
|
21
|
+
return getInvoiceAmount(bolt11);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
request() {
|
|
28
|
+
return this.plain;
|
|
29
|
+
}
|
|
30
|
+
sender() {
|
|
31
|
+
return this.plain?.pubkey;
|
|
32
|
+
}
|
|
33
|
+
recipient() {
|
|
34
|
+
return getTagValue("p", this.event.tags);
|
|
35
|
+
}
|
|
36
|
+
eventId() {
|
|
37
|
+
return getTagValue("e", this.event.tags);
|
|
38
|
+
}
|
|
39
|
+
comment() {
|
|
40
|
+
return this.plain?.content;
|
|
41
|
+
}
|
|
42
|
+
preimage() {
|
|
43
|
+
return getTagValue("preimage", this.event.tags);
|
|
44
|
+
}
|
|
45
|
+
verify(zapper) {
|
|
46
|
+
const request = this.request();
|
|
47
|
+
const invoiceAmount = this.invoiceAmount();
|
|
48
|
+
const recipient = this.recipient();
|
|
49
|
+
if (!request || invoiceAmount === undefined) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if (request.pubkey === zapper.pubkey) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const amount = getTagValue("amount", request.tags);
|
|
56
|
+
const lnurl = getTagValue("lnurl", request.tags);
|
|
57
|
+
if (amount && parseInt(amount) !== invoiceAmount) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (recipient === this.event.pubkey) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
if (lnurl && lnurl !== zapper.lnurl) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (this.event.pubkey !== zapper.nostrPubkey) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
builder() {
|
|
72
|
+
return new ZapReceiptBuilder(this);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export class ZapReceiptBuilder extends EventBuilder {
|
|
76
|
+
kind = ZAP_RECEIPT;
|
|
77
|
+
setBolt11(bolt11) {
|
|
78
|
+
return this.dropTags(spec(["bolt11"])).addTags(["bolt11", bolt11]);
|
|
79
|
+
}
|
|
80
|
+
setDescription(description) {
|
|
81
|
+
return this.dropTags(spec(["description"])).addTags(["description", description]);
|
|
82
|
+
}
|
|
83
|
+
setRecipient(recipient) {
|
|
84
|
+
return this.dropTags(spec(["p"])).addTags(["p", recipient]);
|
|
85
|
+
}
|
|
86
|
+
setEventId(eventId) {
|
|
87
|
+
return this.dropTags(spec(["e"])).addTags(["e", eventId]);
|
|
88
|
+
}
|
|
89
|
+
setPreimage(preimage) {
|
|
90
|
+
return this.dropTags(spec(["preimage"])).addTags(["preimage", preimage]);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=ZapReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapReceipt.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/ZapReceipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventReader } from "../EventReader.js";
|
|
2
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
3
|
+
export declare class ZapRequest extends EventReader {
|
|
4
|
+
readonly kind = 9734;
|
|
5
|
+
amount(): number | undefined;
|
|
6
|
+
lnurl(): string | undefined;
|
|
7
|
+
recipient(): string | undefined;
|
|
8
|
+
eventId(): string | undefined;
|
|
9
|
+
urls(): string[];
|
|
10
|
+
builder(): ZapRequestBuilder;
|
|
11
|
+
}
|
|
12
|
+
export declare class ZapRequestBuilder extends EventBuilder<ZapRequest> {
|
|
13
|
+
readonly kind = 9734;
|
|
14
|
+
setAmount(amount: number): this;
|
|
15
|
+
setLnurl(lnurl: string): this;
|
|
16
|
+
setRecipient(recipient: string): this;
|
|
17
|
+
setEventId(eventId: string): this;
|
|
18
|
+
setUrls(urls: string[]): this;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ZapRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapRequest.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/ZapRequest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAG/C,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,IAAI,QAAc;IAE3B,MAAM;IAMN,KAAK;IAIL,SAAS;IAIT,OAAO;IAIP,IAAI;IAMJ,OAAO;CAGR;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,UAAU,CAAC;IAC7D,QAAQ,CAAC,IAAI,QAAc;IAE3B,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAGvB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { spec } from "@welshman/lib";
|
|
2
|
+
import { ZAP_REQUEST, getTag, getTagValue } from "@welshman/util";
|
|
3
|
+
import { EventReader } from "../EventReader.js";
|
|
4
|
+
import { EventBuilder } from "../EventBuilder.js";
|
|
5
|
+
// NIP-57 kind-9734 zap request.
|
|
6
|
+
export class ZapRequest extends EventReader {
|
|
7
|
+
kind = ZAP_REQUEST;
|
|
8
|
+
amount() {
|
|
9
|
+
const amount = getTagValue("amount", this.event.tags);
|
|
10
|
+
return amount ? parseInt(amount) : undefined;
|
|
11
|
+
}
|
|
12
|
+
lnurl() {
|
|
13
|
+
return getTagValue("lnurl", this.event.tags);
|
|
14
|
+
}
|
|
15
|
+
recipient() {
|
|
16
|
+
return getTagValue("p", this.event.tags);
|
|
17
|
+
}
|
|
18
|
+
eventId() {
|
|
19
|
+
return getTagValue("e", this.event.tags);
|
|
20
|
+
}
|
|
21
|
+
urls() {
|
|
22
|
+
const tag = getTag("relays", this.event.tags);
|
|
23
|
+
return tag ? tag.slice(1) : [];
|
|
24
|
+
}
|
|
25
|
+
builder() {
|
|
26
|
+
return new ZapRequestBuilder(this);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class ZapRequestBuilder extends EventBuilder {
|
|
30
|
+
kind = ZAP_REQUEST;
|
|
31
|
+
setAmount(amount) {
|
|
32
|
+
return this.dropTags(spec(["amount"])).addTags(["amount", String(amount)]);
|
|
33
|
+
}
|
|
34
|
+
setLnurl(lnurl) {
|
|
35
|
+
return this.dropTags(spec(["lnurl"])).addTags(["lnurl", lnurl]);
|
|
36
|
+
}
|
|
37
|
+
setRecipient(recipient) {
|
|
38
|
+
return this.dropTags(spec(["p"])).addTags(["p", recipient]);
|
|
39
|
+
}
|
|
40
|
+
setEventId(eventId) {
|
|
41
|
+
return this.dropTags(spec(["e"])).addTags(["e", eventId]);
|
|
42
|
+
}
|
|
43
|
+
setUrls(urls) {
|
|
44
|
+
return this.dropTags(spec(["relays"])).addTags(["relays", ...urls]);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=ZapRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapRequest.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/ZapRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAE/C,gCAAgC;AAChC,MAAM,OAAO,UAAW,SAAQ,WAAW;IAChC,IAAI,GAAG,WAAW,CAAA;IAE3B,MAAM;QACJ,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAErD,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,CAAC;IAED,KAAK;QACH,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,SAAS;QACP,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE7C,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAwB;IACpD,IAAI,GAAG,WAAW,CAAA;IAE3B,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,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,YAAY,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACrE,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Filter } from "@welshman/util";
|
|
2
2
|
import { ISigner } from "@welshman/signer";
|
|
3
3
|
import { AdapterContext } from "@welshman/net";
|
|
4
|
+
import type { Router } from "@welshman/router";
|
|
4
5
|
import { CreatedAtItem, RequestItem, ListItem, LabelItem, WOTItem, DVMItem, Scope, Feed } from "./core.js";
|
|
5
6
|
export type FeedCompilerOptions = {
|
|
7
|
+
router: Router;
|
|
6
8
|
signer?: ISigner;
|
|
7
9
|
signal?: AbortSignal;
|
|
8
10
|
context?: AdapterContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../../feeds/src/compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,EAMP,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,EAEL,MAAM,WAAW,CAAA;AAIlB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAAE,CAAA;IAC9C,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,CAAA;CACpE,CAAA;AAED,qBAAa,YAAY;IACX,QAAQ,CAAC,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;IAEjD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAyBzB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA0CjD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE;;;IAIrC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;;;IAItC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE;iBAmBT,MAAM,EAAE;;IAGvC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;;;;;IAI9B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE;;;;;IAInC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE;;;;;IAUzB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../../feeds/src/compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,EAMP,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,EAEL,MAAM,WAAW,CAAA;AAIlB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAAE,CAAA;IAC9C,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,CAAA;CACpE,CAAA;AAED,qBAAa,YAAY;IACX,QAAQ,CAAC,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;IAEjD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAyBzB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA0CjD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE;;;IAIrC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;;;IAItC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE;iBAmBT,MAAM,EAAE;;IAGvC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;;;;;IAI9B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE;;;;;IAInC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE;;;;;IAUzB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAwBtD,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA0C3D,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA+CpD,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoC5D,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAqCtE"}
|
|
@@ -117,6 +117,7 @@ export class FeedCompiler {
|
|
|
117
117
|
const feeds = [];
|
|
118
118
|
await Promise.all(items.map(({ mappings, ...request }) => requestDVM({
|
|
119
119
|
...request,
|
|
120
|
+
router: this.options.router,
|
|
120
121
|
signer: this.options.signer,
|
|
121
122
|
context: this.options.context,
|
|
122
123
|
onResult: async (e) => {
|
|
@@ -203,6 +204,7 @@ export class FeedCompiler {
|
|
|
203
204
|
const addresses = uniq(listItems.flatMap(({ addresses }) => addresses));
|
|
204
205
|
const eventsByAddress = new Map();
|
|
205
206
|
await requestPage({
|
|
207
|
+
router: this.options.router,
|
|
206
208
|
autoClose: true,
|
|
207
209
|
signal: this.options.signal,
|
|
208
210
|
context: this.options.context,
|
|
@@ -227,6 +229,7 @@ export class FeedCompiler {
|
|
|
227
229
|
const events = [];
|
|
228
230
|
await Promise.all(labelItems.map(({ mappings, relays, ...filter }) => requestPage({
|
|
229
231
|
relays,
|
|
232
|
+
router: this.options.router,
|
|
230
233
|
autoClose: true,
|
|
231
234
|
signal: this.options.signal,
|
|
232
235
|
context: this.options.context,
|