@welshman/app 0.9.0-pre1 → 0.9.0-pre3
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 +6 -2
- package/dist/app/src/app.d.ts.map +1 -1
- package/dist/app/src/app.js +6 -5
- package/dist/app/src/app.js.map +1 -1
- package/dist/app/src/command.d.ts +26 -0
- package/dist/app/src/command.d.ts.map +1 -0
- package/dist/app/src/command.js +38 -0
- package/dist/app/src/command.js.map +1 -0
- package/dist/app/src/index.d.ts +14 -7
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +14 -7
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/plugins/base.d.ts +51 -3
- package/dist/app/src/plugins/base.d.ts.map +1 -1
- package/dist/app/src/plugins/base.js +73 -4
- package/dist/app/src/plugins/base.js.map +1 -1
- package/dist/app/src/plugins/blockedRelayLists.d.ts +6 -6
- package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/blockedRelayLists.js +9 -10
- package/dist/app/src/plugins/blockedRelayLists.js.map +1 -1
- package/dist/app/src/plugins/blossomServerLists.d.ts +18 -0
- package/dist/app/src/plugins/blossomServerLists.d.ts.map +1 -0
- package/dist/app/src/plugins/blossomServerLists.js +33 -0
- package/dist/app/src/plugins/blossomServerLists.js.map +1 -0
- package/dist/app/src/plugins/deletes.d.ts +14 -0
- package/dist/app/src/plugins/deletes.d.ts.map +1 -0
- package/dist/app/src/plugins/deletes.js +25 -0
- package/dist/app/src/plugins/deletes.js.map +1 -0
- package/dist/app/src/plugins/domain.d.ts +17 -0
- package/dist/app/src/plugins/domain.d.ts.map +1 -0
- package/dist/app/src/plugins/domain.js +41 -0
- package/dist/app/src/plugins/domain.js.map +1 -0
- package/dist/app/src/plugins/events.d.ts +31 -0
- package/dist/app/src/plugins/events.d.ts.map +1 -0
- package/dist/app/src/plugins/events.js +64 -0
- package/dist/app/src/plugins/events.js.map +1 -0
- package/dist/app/src/plugins/feedLists.d.ts +18 -0
- package/dist/app/src/plugins/feedLists.d.ts.map +1 -0
- package/dist/app/src/plugins/feedLists.js +33 -0
- package/dist/app/src/plugins/feedLists.js.map +1 -0
- package/dist/app/src/plugins/feeds.d.ts +19 -8
- package/dist/app/src/plugins/feeds.d.ts.map +1 -1
- package/dist/app/src/plugins/feeds.js +49 -15
- package/dist/app/src/plugins/feeds.js.map +1 -1
- package/dist/app/src/plugins/{follows.d.ts → followLists.d.ts} +6 -6
- package/dist/app/src/plugins/followLists.d.ts.map +1 -0
- package/dist/app/src/plugins/{follows.js → followLists.js} +9 -10
- package/dist/app/src/plugins/followLists.js.map +1 -0
- package/dist/app/src/plugins/handles.d.ts +0 -2
- package/dist/app/src/plugins/handles.d.ts.map +1 -1
- package/dist/app/src/plugins/handles.js +0 -3
- package/dist/app/src/plugins/handles.js.map +1 -1
- package/dist/app/src/plugins/logger.d.ts +1 -4
- package/dist/app/src/plugins/logger.d.ts.map +1 -1
- package/dist/app/src/plugins/messagingRelayLists.d.ts +6 -6
- package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/messagingRelayLists.js +11 -10
- package/dist/app/src/plugins/messagingRelayLists.js.map +1 -1
- package/dist/app/src/plugins/muteLists.d.ts +19 -0
- package/dist/app/src/plugins/muteLists.d.ts.map +1 -0
- package/dist/app/src/plugins/muteLists.js +38 -0
- package/dist/app/src/plugins/muteLists.js.map +1 -0
- package/dist/app/src/plugins/network.d.ts +5 -9
- package/dist/app/src/plugins/network.d.ts.map +1 -1
- package/dist/app/src/plugins/network.js +30 -25
- package/dist/app/src/plugins/network.js.map +1 -1
- package/dist/app/src/plugins/pinboards.d.ts +39 -0
- package/dist/app/src/plugins/pinboards.d.ts.map +1 -0
- package/dist/app/src/plugins/pinboards.js +94 -0
- package/dist/app/src/plugins/pinboards.js.map +1 -0
- package/dist/app/src/plugins/pins.d.ts +5 -5
- package/dist/app/src/plugins/pins.d.ts.map +1 -1
- package/dist/app/src/plugins/pins.js +8 -9
- package/dist/app/src/plugins/pins.js.map +1 -1
- package/dist/app/src/plugins/profiles.d.ts +7 -4
- package/dist/app/src/plugins/profiles.d.ts.map +1 -1
- package/dist/app/src/plugins/profiles.js +52 -13
- package/dist/app/src/plugins/profiles.js.map +1 -1
- package/dist/app/src/plugins/reactions.d.ts +15 -0
- package/dist/app/src/plugins/reactions.d.ts.map +1 -0
- package/dist/app/src/plugins/reactions.js +26 -0
- package/dist/app/src/plugins/reactions.js.map +1 -0
- package/dist/app/src/plugins/relayLists.d.ts +10 -10
- package/dist/app/src/plugins/relayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/relayLists.js +21 -40
- package/dist/app/src/plugins/relayLists.js.map +1 -1
- package/dist/app/src/plugins/relayManagement.d.ts +4 -4
- package/dist/app/src/plugins/relayManagement.d.ts.map +1 -1
- package/dist/app/src/plugins/relayManagement.js +5 -9
- package/dist/app/src/plugins/relayManagement.js.map +1 -1
- package/dist/app/src/plugins/relayMembers.d.ts +12 -0
- package/dist/app/src/plugins/relayMembers.d.ts.map +1 -0
- package/dist/app/src/plugins/relayMembers.js +22 -0
- package/dist/app/src/plugins/relayMembers.js.map +1 -0
- package/dist/app/src/plugins/relayRoles.d.ts +14 -0
- package/dist/app/src/plugins/relayRoles.d.ts.map +1 -0
- package/dist/app/src/plugins/relayRoles.js +33 -0
- package/dist/app/src/plugins/relayRoles.js.map +1 -0
- package/dist/app/src/plugins/relays.d.ts +24 -5
- package/dist/app/src/plugins/relays.d.ts.map +1 -1
- package/dist/app/src/plugins/relays.js +51 -26
- package/dist/app/src/plugins/relays.js.map +1 -1
- package/dist/app/src/plugins/roomLists.d.ts +26 -0
- package/dist/app/src/plugins/roomLists.d.ts.map +1 -0
- package/dist/app/src/plugins/roomLists.js +50 -0
- package/dist/app/src/plugins/roomLists.js.map +1 -0
- package/dist/app/src/plugins/roomPins.d.ts +18 -0
- package/dist/app/src/plugins/roomPins.d.ts.map +1 -0
- package/dist/app/src/plugins/roomPins.js +34 -0
- package/dist/app/src/plugins/roomPins.js.map +1 -0
- package/dist/app/src/plugins/rooms.d.ts +40 -11
- package/dist/app/src/plugins/rooms.d.ts.map +1 -1
- package/dist/app/src/plugins/rooms.js +131 -18
- package/dist/app/src/plugins/rooms.js.map +1 -1
- package/dist/app/src/plugins/router.d.ts +19 -7
- package/dist/app/src/plugins/router.d.ts.map +1 -1
- package/dist/app/src/plugins/router.js +86 -17
- package/dist/app/src/plugins/router.js.map +1 -1
- package/dist/app/src/plugins/searchRelayLists.d.ts +6 -6
- package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/searchRelayLists.js +9 -10
- package/dist/app/src/plugins/searchRelayLists.js.map +1 -1
- package/dist/app/src/plugins/sync.d.ts.map +1 -1
- package/dist/app/src/plugins/sync.js +3 -2
- package/dist/app/src/plugins/sync.js.map +1 -1
- package/dist/app/src/plugins/thunk.d.ts +0 -1
- package/dist/app/src/plugins/thunk.d.ts.map +1 -1
- package/dist/app/src/plugins/thunk.js +23 -14
- package/dist/app/src/plugins/thunk.js.map +1 -1
- package/dist/app/src/plugins/topics.d.ts +4 -2
- package/dist/app/src/plugins/topics.d.ts.map +1 -1
- package/dist/app/src/plugins/topics.js +11 -5
- package/dist/app/src/plugins/topics.js.map +1 -1
- package/dist/app/src/plugins/wot.d.ts +45 -19
- package/dist/app/src/plugins/wot.d.ts.map +1 -1
- package/dist/app/src/plugins/wot.js +155 -94
- package/dist/app/src/plugins/wot.js.map +1 -1
- package/dist/app/src/plugins/wraps.d.ts.map +1 -1
- package/dist/app/src/plugins/wraps.js +14 -8
- package/dist/app/src/plugins/wraps.js.map +1 -1
- package/dist/app/src/plugins/zappers.d.ts +3 -1
- package/dist/app/src/plugins/zappers.d.ts.map +1 -1
- package/dist/app/src/plugins/zappers.js +17 -8
- package/dist/app/src/plugins/zappers.js.map +1 -1
- package/dist/app/src/policy.d.ts.map +1 -1
- package/dist/app/src/policy.js +6 -5
- package/dist/app/src/policy.js.map +1 -1
- package/dist/app/src/user.d.ts +2 -2
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js +1 -1
- package/dist/app/src/user.js.map +1 -1
- 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 +51 -0
- package/dist/domain/src/core/EventReader.d.ts.map +1 -0
- package/dist/domain/src/core/EventReader.js +76 -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 +41 -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} +5 -3
- 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 +17 -6
- package/dist/domain/src/index.d.ts.map +1 -1
- package/dist/domain/src/index.js +17 -6
- 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 +85 -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/CommunityList.d.ts +12 -0
- package/dist/domain/src/kinds/CommunityList.d.ts.map +1 -0
- package/dist/domain/src/kinds/CommunityList.js +26 -0
- package/dist/domain/src/kinds/CommunityList.js.map +1 -0
- 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/Handler.d.ts +11 -13
- package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
- package/dist/domain/src/kinds/Handler.js +21 -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 +16 -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 +13 -11
- 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 +14 -12
- 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 +24 -23
- 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 +15 -19
- 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 +14 -12
- package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
- package/dist/domain/src/kinds/RoomList.d.ts +18 -11
- package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomList.js +94 -21
- 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/RoomPins.d.ts +15 -0
- package/dist/domain/src/kinds/RoomPins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomPins.js +34 -0
- package/dist/domain/src/kinds/RoomPins.js.map +1 -0
- 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/RoomUpdatePins.d.ts +15 -0
- package/dist/domain/src/kinds/RoomUpdatePins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomUpdatePins.js +38 -0
- package/dist/domain/src/kinds/RoomUpdatePins.js.map +1 -0
- 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 +15 -9
- package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapGoal.js +46 -17
- 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 +18 -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/auth.d.ts.map +1 -1
- package/dist/net/src/auth.js +2 -2
- package/dist/net/src/auth.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/publish.d.ts.map +1 -1
- package/dist/net/src/publish.js +13 -0
- package/dist/net/src/publish.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 +3 -3
- package/dist/net/src/request.d.ts.map +1 -1
- package/dist/net/src/request.js +16 -2
- package/dist/net/src/request.js.map +1 -1
- package/dist/signer/src/nip59.d.ts +1 -1
- package/dist/signer/src/nip59.d.ts.map +1 -1
- package/dist/signer/src/nip59.js +26 -30
- package/dist/signer/src/nip59.js.map +1 -1
- package/dist/signer/src/signers/nip07.d.ts.map +1 -1
- package/dist/signer/src/signers/nip07.js +19 -5
- package/dist/signer/src/signers/nip07.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/signer/src/util.d.ts +2 -2
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +2 -6
- package/dist/signer/src/util.js.map +1 -1
- package/dist/store/src/misc.d.ts +4 -2
- package/dist/store/src/misc.d.ts.map +1 -1
- package/dist/store/src/misc.js +2 -4
- package/dist/store/src/misc.js.map +1 -1
- package/dist/store/src/repository.d.ts +17 -0
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +179 -10
- package/dist/store/src/repository.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 +5 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +7 -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 +18 -20
- package/dist/app/src/plugins/blossom.d.ts +0 -12
- package/dist/app/src/plugins/blossom.d.ts.map +0 -1
- package/dist/app/src/plugins/blossom.js +0 -21
- package/dist/app/src/plugins/blossom.js.map +0 -1
- package/dist/app/src/plugins/follows.d.ts.map +0 -1
- package/dist/app/src/plugins/follows.js.map +0 -1
- package/dist/app/src/plugins/mutes.d.ts +0 -19
- package/dist/app/src/plugins/mutes.d.ts.map +0 -1
- package/dist/app/src/plugins/mutes.js +0 -39
- package/dist/app/src/plugins/mutes.js.map +0 -1
- package/dist/app/src/plugins/search.d.ts +0 -35
- package/dist/app/src/plugins/search.d.ts.map +0 -1
- package/dist/app/src/plugins/search.js +0 -88
- package/dist/app/src/plugins/search.js.map +0 -1
- package/dist/app/src/plugins/slashCommands.d.ts +0 -22
- package/dist/app/src/plugins/slashCommands.d.ts.map +0 -1
- package/dist/app/src/plugins/slashCommands.js +0 -70
- package/dist/app/src/plugins/slashCommands.js.map +0 -1
- package/dist/app/src/plugins/stores.d.ts +0 -22
- package/dist/app/src/plugins/stores.d.ts.map +0 -1
- package/dist/app/src/plugins/stores.js +0 -22
- package/dist/app/src/plugins/stores.js.map +0 -1
- package/dist/app/src/plugins/tags.d.ts +0 -20
- package/dist/app/src/plugins/tags.d.ts.map +0 -1
- package/dist/app/src/plugins/tags.js +0 -106
- package/dist/app/src/plugins/tags.js.map +0 -1
- 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/GroupList.d.ts +0 -13
- package/dist/domain/src/kinds/GroupList.d.ts.map +0 -1
- package/dist/domain/src/kinds/GroupList.js +0 -24
- package/dist/domain/src/kinds/GroupList.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/router/src/index.d.ts +0 -163
- package/dist/router/src/index.d.ts.map +0 -1
- package/dist/router/src/index.js +0 -214
- package/dist/router/src/index.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
package/dist/app/src/app.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Unsubscriber } from "svelte/store";
|
|
1
2
|
import { Pool, Tracker, Repository, WrapManager } from "@welshman/net";
|
|
2
3
|
import type { NetContext, AdapterFactory } from "@welshman/net";
|
|
3
4
|
import type { User } from "./user.js";
|
|
@@ -14,10 +15,12 @@ export type AppOptions = {
|
|
|
14
15
|
getAdapter?: AdapterFactory;
|
|
15
16
|
policies?: AppPolicy[];
|
|
16
17
|
};
|
|
18
|
+
export type Plugin<T = unknown> = new (app: IApp) => T;
|
|
17
19
|
export interface IApp {
|
|
18
20
|
user?: User;
|
|
19
21
|
config: AppConfig;
|
|
20
|
-
use: <T>(Ctor:
|
|
22
|
+
use: <T>(Ctor: Plugin<T>) => T;
|
|
23
|
+
onCleanup: (unsubscriber: Unsubscriber) => void;
|
|
21
24
|
netContext: NetContext;
|
|
22
25
|
pool: Pool;
|
|
23
26
|
tracker: Tracker;
|
|
@@ -41,7 +44,8 @@ export declare class App implements IApp {
|
|
|
41
44
|
private singletons;
|
|
42
45
|
private unsubscribers;
|
|
43
46
|
constructor(options?: AppOptions);
|
|
44
|
-
use: <T>(Ctor:
|
|
47
|
+
use: <T>(Ctor: Plugin<T>) => T;
|
|
48
|
+
onCleanup: (unsubscriber: Unsubscriber) => void;
|
|
45
49
|
cleanup(): void;
|
|
46
50
|
}
|
|
47
51
|
//# sourceMappingURL=app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AACpE,OAAO,KAAK,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;IACjC,gBAAgB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC,CAAA;AAEtD,MAAM,WAAW,IAAI;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC9B,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAC/C,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED;;;;;GAKG;AACH,qBAAa,GAAI,YAAW,IAAI;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IAExB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,aAAa,CAAqB;gBAE9B,OAAO,GAAE,UAAe;IAqBpC,GAAG,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,CAAC,CAQ5B;IAED,SAAS,GAAI,cAAc,YAAY,UAEtC;IAED,OAAO;CASR"}
|
package/dist/app/src/app.js
CHANGED
|
@@ -32,12 +32,9 @@ export class App {
|
|
|
32
32
|
getAdapter: options.getAdapter,
|
|
33
33
|
};
|
|
34
34
|
for (const policy of options.policies ?? []) {
|
|
35
|
-
this.
|
|
35
|
+
this.onCleanup(policy(this));
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
// Resolve the per-app singleton of a data module, constructing it on first
|
|
39
|
-
// use. This is how modules reach their dependencies (e.g. app.use(RelayLists)),
|
|
40
|
-
// replacing constructor injection and letting cycles resolve lazily.
|
|
41
38
|
use = (Ctor) => {
|
|
42
39
|
let instance = this.singletons.get(Ctor);
|
|
43
40
|
if (!instance) {
|
|
@@ -45,8 +42,12 @@ export class App {
|
|
|
45
42
|
}
|
|
46
43
|
return instance;
|
|
47
44
|
};
|
|
45
|
+
onCleanup = (unsubscriber) => {
|
|
46
|
+
this.unsubscribers.push(unsubscriber);
|
|
47
|
+
};
|
|
48
48
|
cleanup() {
|
|
49
|
-
|
|
49
|
+
// Unwind in reverse, since some teardowns only compose LIFO
|
|
50
|
+
this.unsubscribers.slice().reverse().forEach(call);
|
|
50
51
|
this.pool.clear();
|
|
51
52
|
this.tracker.clear();
|
|
52
53
|
this.repository.clear();
|
package/dist/app/src/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AAiCpE;;;;;GAKG;AACH,MAAM,OAAO,GAAG;IACd,IAAI,CAAO;IACX,MAAM,CAAW;IACjB,UAAU,CAAY;IACtB,IAAI,CAAM;IACV,OAAO,CAAS;IAChB,UAAU,CAAY;IACtB,WAAW,CAAa;IAEhB,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IACvC,aAAa,GAAmB,EAAE,CAAA;IAE1C,YAAY,UAAsB,EAAE;QAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAA;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,GAAG,GAAG,CAAI,IAAe,EAAK,EAAE;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAA;QAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,SAAS,GAAG,CAAC,YAA0B,EAAE,EAAE;QACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,OAAO;QACL,4DAA4D;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAElD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { EventTemplate } from "@welshman/util";
|
|
2
|
+
import type { IApp } from "./app.js";
|
|
3
|
+
/**
|
|
4
|
+
* An event paired with the relays it's meant for, without committing to how
|
|
5
|
+
* it gets published. Plugin mutation methods (`create`/`update`/etc.) build
|
|
6
|
+
* the event and return a `Command` instead of publishing it directly, so the
|
|
7
|
+
* caller decides: `publish()` sends it through the normal `Thunks` pipeline,
|
|
8
|
+
* `publishToRelays(urls)` targets a specific set of relays, and
|
|
9
|
+
* `publishAsRelay(url)` has the relay sign the event with its own key (NIP-86
|
|
10
|
+
* `signevent`) before publishing it back to that relay.
|
|
11
|
+
*/
|
|
12
|
+
export declare class Command {
|
|
13
|
+
readonly app: IApp;
|
|
14
|
+
readonly event: EventTemplate;
|
|
15
|
+
readonly relays: string[];
|
|
16
|
+
constructor(app: IApp, event: EventTemplate, relays: string[]);
|
|
17
|
+
publish: () => import("./index.js").Thunk;
|
|
18
|
+
publishToRelays: (urls: string[]) => import("./index.js").Thunk;
|
|
19
|
+
publishAsRelay: (url: string) => Promise<import("./index.js").Thunk>;
|
|
20
|
+
signAsRelay: (url: string) => Promise<import("@welshman/util").ManagementResponse>;
|
|
21
|
+
}
|
|
22
|
+
export declare const publish: (command: Command) => import("./index.js").Thunk;
|
|
23
|
+
export declare const publishToRelays: (urls: string[]) => (command: Command) => import("./index.js").Thunk;
|
|
24
|
+
export declare const publishAsRelay: (url: string) => (command: Command) => Promise<import("./index.js").Thunk>;
|
|
25
|
+
export declare const signAsRelay: (url: string) => (command: Command) => Promise<import("@welshman/util").ManagementResponse>;
|
|
26
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAIlC;;;;;;;;GAQG;AACH,qBAAa,OAAO;IAEhB,QAAQ,CAAC,GAAG,EAAE,IAAI;IAClB,QAAQ,CAAC,KAAK,EAAE,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE;gBAFhB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EAAE;IAG3B,OAAO,mCAA0C;IAEjD,eAAe,GAAI,MAAM,MAAM,EAAE,gCACgC;IAIjE,cAAc,GAAU,KAAK,MAAM,yCAQlC;IAED,WAAW,GAAI,KAAK,MAAM,0DAAoE;CAC/F;AAED,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,+BAAsB,CAAA;AAE9D,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,MAAM,SAAS,OAAO,+BACrC,CAAA;AAE/B,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,MAAM,SAAS,OAAO,wCAAgC,CAAA;AAEhG,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,MAAM,SAAS,OAAO,yDAA6B,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Thunks } from "./plugins/thunk.js";
|
|
2
|
+
import { RelayManagement } from "./plugins/relayManagement.js";
|
|
3
|
+
/**
|
|
4
|
+
* An event paired with the relays it's meant for, without committing to how
|
|
5
|
+
* it gets published. Plugin mutation methods (`create`/`update`/etc.) build
|
|
6
|
+
* the event and return a `Command` instead of publishing it directly, so the
|
|
7
|
+
* caller decides: `publish()` sends it through the normal `Thunks` pipeline,
|
|
8
|
+
* `publishToRelays(urls)` targets a specific set of relays, and
|
|
9
|
+
* `publishAsRelay(url)` has the relay sign the event with its own key (NIP-86
|
|
10
|
+
* `signevent`) before publishing it back to that relay.
|
|
11
|
+
*/
|
|
12
|
+
export class Command {
|
|
13
|
+
app;
|
|
14
|
+
event;
|
|
15
|
+
relays;
|
|
16
|
+
constructor(app, event, relays) {
|
|
17
|
+
this.app = app;
|
|
18
|
+
this.event = event;
|
|
19
|
+
this.relays = relays;
|
|
20
|
+
}
|
|
21
|
+
publish = () => this.publishToRelays(this.relays);
|
|
22
|
+
publishToRelays = (urls) => this.app.use(Thunks).publish({ event: this.event, relays: urls });
|
|
23
|
+
// Ask the relay to sign the event with its own key via NIP-86 `signevent`,
|
|
24
|
+
// then publish the relay-signed event back to that relay.
|
|
25
|
+
publishAsRelay = async (url) => {
|
|
26
|
+
const { result, error } = await this.signAsRelay(url);
|
|
27
|
+
if (!result) {
|
|
28
|
+
throw new Error(error || "Relay did not return a signed event");
|
|
29
|
+
}
|
|
30
|
+
return this.app.use(Thunks).publish({ event: result, relays: [url] });
|
|
31
|
+
};
|
|
32
|
+
signAsRelay = (url) => this.app.use(RelayManagement).forUrl(url).signEvent(this.event);
|
|
33
|
+
}
|
|
34
|
+
export const publish = (command) => command.publish();
|
|
35
|
+
export const publishToRelays = (urls) => (command) => command.publishToRelays(urls);
|
|
36
|
+
export const publishAsRelay = (url) => (command) => command.publishAsRelay(url);
|
|
37
|
+
export const signAsRelay = (url) => (command) => command.signAsRelay(url);
|
|
38
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAE5D;;;;;;;;GAQG;AACH,MAAM,OAAO,OAAO;IAEP;IACA;IACA;IAHX,YACW,GAAS,EACT,KAAoB,EACpB,MAAgB;QAFhB,QAAG,GAAH,GAAG,CAAM;QACT,UAAK,GAAL,KAAK,CAAe;QACpB,WAAM,GAAN,MAAM,CAAU;IACxB,CAAC;IAEJ,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEjD,eAAe,GAAG,CAAC,IAAc,EAAE,EAAE,CACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;IAEjE,2EAA2E;IAC3E,0DAA0D;IAC1D,cAAc,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACrC,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAEnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,qCAAqC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;CAC/F;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAE9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CACtE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA"}
|
package/dist/app/src/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export * from "./app.js";
|
|
2
|
+
export * from "./command.js";
|
|
2
3
|
export * from "./policy.js";
|
|
3
4
|
export * from "./user.js";
|
|
4
5
|
export * from "./session.js";
|
|
5
6
|
export * from "./createApp.js";
|
|
6
7
|
export * from "./plugins/base.js";
|
|
7
8
|
export * from "./plugins/network.js";
|
|
8
|
-
export * from "./plugins/stores.js";
|
|
9
9
|
export * from "./plugins/router.js";
|
|
10
|
+
export * from "./plugins/domain.js";
|
|
10
11
|
export * from "./plugins/relays.js";
|
|
11
12
|
export * from "./plugins/relayStats.js";
|
|
12
13
|
export * from "./plugins/relayLists.js";
|
|
@@ -14,23 +15,29 @@ export * from "./plugins/blockedRelayLists.js";
|
|
|
14
15
|
export * from "./plugins/logger.js";
|
|
15
16
|
export * from "./plugins/plaintext.js";
|
|
16
17
|
export * from "./plugins/profiles.js";
|
|
17
|
-
export * from "./plugins/
|
|
18
|
-
export * from "./plugins/
|
|
18
|
+
export * from "./plugins/followLists.js";
|
|
19
|
+
export * from "./plugins/muteLists.js";
|
|
19
20
|
export * from "./plugins/pins.js";
|
|
20
|
-
export * from "./plugins/
|
|
21
|
+
export * from "./plugins/pinboards.js";
|
|
22
|
+
export * from "./plugins/roomLists.js";
|
|
23
|
+
export * from "./plugins/reactions.js";
|
|
24
|
+
export * from "./plugins/deletes.js";
|
|
25
|
+
export * from "./plugins/blossomServerLists.js";
|
|
21
26
|
export * from "./plugins/messagingRelayLists.js";
|
|
22
27
|
export * from "./plugins/searchRelayLists.js";
|
|
23
28
|
export * from "./plugins/handles.js";
|
|
24
29
|
export * from "./plugins/zappers.js";
|
|
25
30
|
export * from "./plugins/topics.js";
|
|
26
|
-
export * from "./plugins/tags.js";
|
|
27
31
|
export * from "./plugins/wot.js";
|
|
32
|
+
export * from "./plugins/events.js";
|
|
28
33
|
export * from "./plugins/feeds.js";
|
|
29
|
-
export * from "./plugins/
|
|
34
|
+
export * from "./plugins/feedLists.js";
|
|
30
35
|
export * from "./plugins/sync.js";
|
|
31
36
|
export * from "./plugins/wraps.js";
|
|
37
|
+
export * from "./plugins/roomPins.js";
|
|
32
38
|
export * from "./plugins/rooms.js";
|
|
33
|
-
export * from "./plugins/
|
|
39
|
+
export * from "./plugins/relayRoles.js";
|
|
40
|
+
export * from "./plugins/relayMembers.js";
|
|
34
41
|
export * from "./plugins/relayManagement.js";
|
|
35
42
|
export * from "./plugins/thunk.js";
|
|
36
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA"}
|
package/dist/app/src/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export * from "./app.js";
|
|
2
|
+
export * from "./command.js";
|
|
2
3
|
export * from "./policy.js";
|
|
3
4
|
export * from "./user.js";
|
|
4
5
|
export * from "./session.js";
|
|
5
6
|
export * from "./createApp.js";
|
|
6
7
|
export * from "./plugins/base.js";
|
|
7
8
|
export * from "./plugins/network.js";
|
|
8
|
-
export * from "./plugins/stores.js";
|
|
9
9
|
export * from "./plugins/router.js";
|
|
10
|
+
export * from "./plugins/domain.js";
|
|
10
11
|
export * from "./plugins/relays.js";
|
|
11
12
|
export * from "./plugins/relayStats.js";
|
|
12
13
|
export * from "./plugins/relayLists.js";
|
|
@@ -14,23 +15,29 @@ export * from "./plugins/blockedRelayLists.js";
|
|
|
14
15
|
export * from "./plugins/logger.js";
|
|
15
16
|
export * from "./plugins/plaintext.js";
|
|
16
17
|
export * from "./plugins/profiles.js";
|
|
17
|
-
export * from "./plugins/
|
|
18
|
-
export * from "./plugins/
|
|
18
|
+
export * from "./plugins/followLists.js";
|
|
19
|
+
export * from "./plugins/muteLists.js";
|
|
19
20
|
export * from "./plugins/pins.js";
|
|
20
|
-
export * from "./plugins/
|
|
21
|
+
export * from "./plugins/pinboards.js";
|
|
22
|
+
export * from "./plugins/roomLists.js";
|
|
23
|
+
export * from "./plugins/reactions.js";
|
|
24
|
+
export * from "./plugins/deletes.js";
|
|
25
|
+
export * from "./plugins/blossomServerLists.js";
|
|
21
26
|
export * from "./plugins/messagingRelayLists.js";
|
|
22
27
|
export * from "./plugins/searchRelayLists.js";
|
|
23
28
|
export * from "./plugins/handles.js";
|
|
24
29
|
export * from "./plugins/zappers.js";
|
|
25
30
|
export * from "./plugins/topics.js";
|
|
26
|
-
export * from "./plugins/tags.js";
|
|
27
31
|
export * from "./plugins/wot.js";
|
|
32
|
+
export * from "./plugins/events.js";
|
|
28
33
|
export * from "./plugins/feeds.js";
|
|
29
|
-
export * from "./plugins/
|
|
34
|
+
export * from "./plugins/feedLists.js";
|
|
30
35
|
export * from "./plugins/sync.js";
|
|
31
36
|
export * from "./plugins/wraps.js";
|
|
37
|
+
export * from "./plugins/roomPins.js";
|
|
32
38
|
export * from "./plugins/rooms.js";
|
|
33
|
-
export * from "./plugins/
|
|
39
|
+
export * from "./plugins/relayRoles.js";
|
|
40
|
+
export * from "./plugins/relayMembers.js";
|
|
34
41
|
export * from "./plugins/relayManagement.js";
|
|
35
42
|
export * from "./plugins/thunk.js";
|
|
36
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IFuseOptions, FuseResult } from "fuse.js";
|
|
1
2
|
import type { Readable, Unsubscriber } from "svelte/store";
|
|
2
3
|
import type { Maybe } from "@welshman/lib";
|
|
3
4
|
import type { Filter } from "@welshman/util";
|
|
@@ -10,10 +11,30 @@ export type Projection<T> = {
|
|
|
10
11
|
get: () => T;
|
|
11
12
|
$: Readable<T>;
|
|
12
13
|
};
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
export type SearchOptions<V, T> = {
|
|
15
|
+
getValue: (item: T) => V;
|
|
16
|
+
fuseOptions?: IFuseOptions<T>;
|
|
17
|
+
onSearch?: (term: string) => void;
|
|
18
|
+
sortFn?: (items: FuseResult<T>) => any;
|
|
19
|
+
};
|
|
20
|
+
export type Search<V, T> = {
|
|
21
|
+
options: T[];
|
|
22
|
+
getValue: (item: T) => V;
|
|
23
|
+
getOption: (value: V) => T | undefined;
|
|
24
|
+
searchOptions: (term: string) => T[];
|
|
25
|
+
searchValues: (term: string) => V[];
|
|
16
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* A reusable fuzzy-search primitive over a fixed list of `options`. Plugins that
|
|
29
|
+
* expose a search (profiles, topics, relays) build one of these reactively from
|
|
30
|
+
* their collection. Blends fuse scoring with an optional `sortFn`.
|
|
31
|
+
*/
|
|
32
|
+
export declare const createSearch: <V, T>(options: T[], opts: SearchOptions<V, T>) => Search<V, T>;
|
|
33
|
+
/**
|
|
34
|
+
* Build a `Projection` from a readable store and an optional `read` function, which falls
|
|
35
|
+
* back to `get($)`. On hot paths, the store value is cached, and read is skipped.
|
|
36
|
+
*/
|
|
37
|
+
export declare const projection: <T>($: Readable<T>, read?: () => T) => Projection<T>;
|
|
17
38
|
/**
|
|
18
39
|
* Build a `Projection` derived from another `Projection`: re-read `src`
|
|
19
40
|
* reactively via `.$` or synchronously via `.get()`.
|
|
@@ -83,4 +104,31 @@ export declare abstract class DerivedPlugin<T> {
|
|
|
83
104
|
get: (key: string) => T | undefined;
|
|
84
105
|
project: <U>(key: string, read: (item: Maybe<T>) => U) => Projection<U>;
|
|
85
106
|
}
|
|
107
|
+
export type RelayScopedDerivedPluginOptions<T> = {
|
|
108
|
+
filters: Filter[];
|
|
109
|
+
eventToItem: EventToItem<T>;
|
|
110
|
+
getKey: (item: T, url: string) => string | undefined;
|
|
111
|
+
loadOptions?: MakeLoadItemOptions;
|
|
112
|
+
revalidateOn?: Readable<unknown>;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* A `DerivedPlugin` for relay-dependent data: each item is keyed by
|
|
116
|
+
* `getKey(item, url)` once per relay it was seen on (via the tracker), so the
|
|
117
|
+
* same addressable coordinate on two relays stays two distinct entries. Use it
|
|
118
|
+
* for collections that only make sense relative to a relay — NIP-29 rooms
|
|
119
|
+
* (`${url}'${room}`), relay roles (`${url}|${d}`), per-relay replaceables
|
|
120
|
+
* (`${url}`). Subclasses implement `fetch` (loading from the relevant relay).
|
|
121
|
+
*/
|
|
122
|
+
export declare abstract class RelayScopedDerivedPlugin<T> {
|
|
123
|
+
protected readonly app: IApp;
|
|
124
|
+
index: Projection<ItemsByKey<T>>;
|
|
125
|
+
all: Projection<T[]>;
|
|
126
|
+
one: (key?: string, ...args: any[]) => Readable<Maybe<T>>;
|
|
127
|
+
load: (key: string, ...args: any[]) => Promise<Maybe<T>>;
|
|
128
|
+
forceLoad: (key: string, ...args: any[]) => Promise<Maybe<T>>;
|
|
129
|
+
abstract fetch(key: string, ...args: any[]): Promise<unknown>;
|
|
130
|
+
constructor(app: IApp, options: RelayScopedDerivedPluginOptions<T>);
|
|
131
|
+
get: (key: string) => T | undefined;
|
|
132
|
+
project: <U>(key: string, read: (item: Maybe<T>) => U) => Projection<U>;
|
|
133
|
+
}
|
|
86
134
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,39 @@
|
|
|
1
|
+
import Fuse from "fuse.js";
|
|
1
2
|
import { writable, derived } from "svelte/store";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { sortBy } from "@welshman/lib";
|
|
4
|
+
import { deriveItems, deriveItemsByKey, deriveItemsByKeyByUrl, getter, makeDeriveItem, makeLoadItem, makeForceLoadItem, } from "@welshman/store";
|
|
5
|
+
/**
|
|
6
|
+
* A reusable fuzzy-search primitive over a fixed list of `options`. Plugins that
|
|
7
|
+
* expose a search (profiles, topics, relays) build one of these reactively from
|
|
8
|
+
* their collection. Blends fuse scoring with an optional `sortFn`.
|
|
9
|
+
*/
|
|
10
|
+
export const createSearch = (options, opts) => {
|
|
11
|
+
const fuse = new Fuse(options, { ...opts.fuseOptions, includeScore: true });
|
|
12
|
+
const map = new Map(options.map(item => [opts.getValue(item), item]));
|
|
13
|
+
const search = (term) => {
|
|
14
|
+
opts.onSearch?.(term);
|
|
15
|
+
let results = term ? fuse.search(term) : options.map(item => ({ item }));
|
|
16
|
+
if (opts.sortFn) {
|
|
17
|
+
results = sortBy(opts.sortFn, results);
|
|
18
|
+
}
|
|
19
|
+
return results.map(result => result.item);
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
options,
|
|
23
|
+
getValue: opts.getValue,
|
|
24
|
+
getOption: (value) => map.get(value),
|
|
25
|
+
searchOptions: (term) => search(term),
|
|
26
|
+
searchValues: (term) => search(term).map(opts.getValue),
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Build a `Projection` from a readable store and an optional `read` function, which falls
|
|
31
|
+
* back to `get($)`. On hot paths, the store value is cached, and read is skipped.
|
|
32
|
+
*/
|
|
33
|
+
export const projection = ($, read) => ({
|
|
34
|
+
$,
|
|
35
|
+
get: getter($, { read }),
|
|
36
|
+
});
|
|
5
37
|
/**
|
|
6
38
|
* Build a `Projection` derived from another `Projection`: re-read `src`
|
|
7
39
|
* reactively via `.$` or synchronously via `.get()`.
|
|
@@ -105,10 +137,47 @@ export class DerivedPlugin {
|
|
|
105
137
|
forceLoad;
|
|
106
138
|
constructor(app, options) {
|
|
107
139
|
this.app = app;
|
|
108
|
-
const index =
|
|
140
|
+
const index = deriveItemsByKey({
|
|
141
|
+
filters: options.filters,
|
|
142
|
+
eventToItem: options.eventToItem,
|
|
143
|
+
getKey: options.getKey,
|
|
144
|
+
repository: app.repository,
|
|
145
|
+
});
|
|
146
|
+
this.index = projection(index);
|
|
147
|
+
this.all = projection(deriveItems(index));
|
|
148
|
+
const fetch = (key, ...args) => this.fetch(key, ...args);
|
|
149
|
+
const read = (key) => this.index.get().get(key);
|
|
150
|
+
this.load = makeLoadItem(fetch, read, options.loadOptions);
|
|
151
|
+
this.forceLoad = makeForceLoadItem(fetch, read);
|
|
152
|
+
this.one = makeDeriveItem(index, this.load);
|
|
153
|
+
}
|
|
154
|
+
get = (key) => this.index.get().get(key);
|
|
155
|
+
project = (key, read) => projection(derived(this.one(key), read), () => read(this.get(key)));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* A `DerivedPlugin` for relay-dependent data: each item is keyed by
|
|
159
|
+
* `getKey(item, url)` once per relay it was seen on (via the tracker), so the
|
|
160
|
+
* same addressable coordinate on two relays stays two distinct entries. Use it
|
|
161
|
+
* for collections that only make sense relative to a relay — NIP-29 rooms
|
|
162
|
+
* (`${url}'${room}`), relay roles (`${url}|${d}`), per-relay replaceables
|
|
163
|
+
* (`${url}`). Subclasses implement `fetch` (loading from the relevant relay).
|
|
164
|
+
*/
|
|
165
|
+
export class RelayScopedDerivedPlugin {
|
|
166
|
+
app;
|
|
167
|
+
index;
|
|
168
|
+
all;
|
|
169
|
+
one;
|
|
170
|
+
load;
|
|
171
|
+
forceLoad;
|
|
172
|
+
constructor(app, options) {
|
|
173
|
+
this.app = app;
|
|
174
|
+
const index = deriveItemsByKeyByUrl({
|
|
109
175
|
filters: options.filters,
|
|
110
176
|
eventToItem: options.eventToItem,
|
|
111
177
|
getKey: options.getKey,
|
|
178
|
+
revalidateOn: options.revalidateOn,
|
|
179
|
+
tracker: app.tracker,
|
|
180
|
+
repository: app.repository,
|
|
112
181
|
});
|
|
113
182
|
this.index = projection(index);
|
|
114
183
|
this.all = projection(deriveItems(index));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockedRelayListReader, BlockedRelayListWriter } from "@welshman/domain";
|
|
2
2
|
import { DerivedPlugin } from "./base.js";
|
|
3
3
|
import type { Projection } from "./base.js";
|
|
4
4
|
import type { IApp } from "../app.js";
|
|
@@ -7,13 +7,13 @@ import type { IApp } from "../app.js";
|
|
|
7
7
|
* so it depends on the relay-list collection. Feeds `RelayStats.getQuality` so
|
|
8
8
|
* blocked relays are never selected.
|
|
9
9
|
*/
|
|
10
|
-
export declare class BlockedRelayLists extends DerivedPlugin<
|
|
10
|
+
export declare class BlockedRelayLists extends DerivedPlugin<BlockedRelayListReader> {
|
|
11
11
|
constructor(app: IApp);
|
|
12
12
|
fetch(pubkey: string, relayHints?: string[]): Promise<import("@welshman/util").TrustedEvent | undefined>;
|
|
13
13
|
urls: (pubkey: string) => Projection<string[]>;
|
|
14
|
-
update: (fn: (
|
|
15
|
-
addUrl: (url: string) => Promise<import("
|
|
16
|
-
removeUrl: (url: string) => Promise<import("
|
|
17
|
-
setUrls: (urls: string[]) => Promise<import("
|
|
14
|
+
update: (fn: (writer: BlockedRelayListWriter) => void) => Promise<import("../command.js").Command>;
|
|
15
|
+
addUrl: (url: string) => Promise<import("../command.js").Command>;
|
|
16
|
+
removeUrl: (url: string) => Promise<import("../command.js").Command>;
|
|
17
|
+
setUrls: (urls: string[]) => Promise<import("../command.js").Command>;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=blockedRelayLists.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockedRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blockedRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"blockedRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blockedRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAIzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;gBAC9D,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAU,IAAI,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,8CAO3D;IAED,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BLOCKED_RELAYS } from "@welshman/util";
|
|
2
|
-
import { BlockedRelayList
|
|
2
|
+
import { BlockedRelayList } from "@welshman/domain";
|
|
3
3
|
import { DerivedPlugin } from "./base.js";
|
|
4
4
|
import { Network } from "./network.js";
|
|
5
|
+
import { Domain } from "./domain.js";
|
|
5
6
|
import { User } from "../user.js";
|
|
6
|
-
import { Thunks } from "./thunk.js";
|
|
7
7
|
/**
|
|
8
8
|
* Kind-10006 blocked-relay lists, keyed by pubkey. Loaded via the outbox model,
|
|
9
9
|
* so it depends on the relay-list collection. Feeds `RelayStats.getQuality` so
|
|
@@ -13,7 +13,7 @@ export class BlockedRelayLists extends DerivedPlugin {
|
|
|
13
13
|
constructor(app) {
|
|
14
14
|
super(app, {
|
|
15
15
|
filters: [{ kinds: [BLOCKED_RELAYS] }],
|
|
16
|
-
eventToItem:
|
|
16
|
+
eventToItem: app.use(Domain).reader(BlockedRelayList),
|
|
17
17
|
getKey: list => list.author(),
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -23,13 +23,12 @@ export class BlockedRelayLists extends DerivedPlugin {
|
|
|
23
23
|
urls = (pubkey) => this.project(pubkey, list => list?.urls() ?? []);
|
|
24
24
|
update = async (fn) => {
|
|
25
25
|
const user = User.require(this.app);
|
|
26
|
-
const
|
|
27
|
-
fn(
|
|
28
|
-
|
|
29
|
-
return this.app.use(Thunks).publishToOutbox({ event });
|
|
26
|
+
const writer = this.app.use(Domain).writer(BlockedRelayList, await this.forceLoad(user.pubkey));
|
|
27
|
+
fn(writer);
|
|
28
|
+
return this.app.use(Domain).command(writer);
|
|
30
29
|
};
|
|
31
|
-
addUrl = (url) => this.update(
|
|
32
|
-
removeUrl = (url) => this.update(
|
|
33
|
-
setUrls = (urls) => this.update(
|
|
30
|
+
addUrl = (url) => this.update(writer => writer.addUrl(url));
|
|
31
|
+
removeUrl = (url) => this.update(writer => writer.removeUrl(url));
|
|
32
|
+
setUrls = (urls) => this.update(writer => writer.setUrls(urls));
|
|
34
33
|
}
|
|
35
34
|
//# sourceMappingURL=blockedRelayLists.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockedRelayLists.js","sourceRoot":"","sources":["../../../../src/plugins/blockedRelayLists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"blockedRelayLists.js","sourceRoot":"","sources":["../../../../src/plugins/blockedRelayLists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAC,gBAAgB,EAAiD,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAG/B;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAqC;IAC1E,YAAY,GAAS;QACnB,KAAK,CAAC,GAAG,EAAE;YACT,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAC,CAAC;YACpC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;SAC9B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,aAAuB,EAAE;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAC,EAAE,UAAU,CAAC,CAAA;IAC7F,CAAC;IAED,IAAI,GAAG,CAAC,MAAc,EAAwB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjG,MAAM,GAAG,KAAK,EAAE,EAA4C,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAE/F,EAAE,CAAC,MAAM,CAAC,CAAA;QAEV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAEnE,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAEzE,OAAO,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CAC1E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BlossomServerListReader, BlossomServerListWriter } from "@welshman/domain";
|
|
2
|
+
import { DerivedPlugin } from "./base.js";
|
|
3
|
+
import type { Projection } from "./base.js";
|
|
4
|
+
import type { IApp } from "../app.js";
|
|
5
|
+
/**
|
|
6
|
+
* Blossom server lists (kind 10063), keyed by pubkey. Loaded via the outbox
|
|
7
|
+
* model (the author's write relays), so it depends on the relay-list collection.
|
|
8
|
+
*/
|
|
9
|
+
export declare class BlossomServerLists extends DerivedPlugin<BlossomServerListReader> {
|
|
10
|
+
constructor(app: IApp);
|
|
11
|
+
fetch(pubkey: string, relayHints?: string[]): Promise<import("@welshman/util").TrustedEvent | undefined>;
|
|
12
|
+
urls: (pubkey: string) => Projection<string[]>;
|
|
13
|
+
update: (fn: (writer: BlossomServerListWriter) => void) => Promise<import("../command.js").Command>;
|
|
14
|
+
addUrl: (url: string) => Promise<import("../command.js").Command>;
|
|
15
|
+
removeUrl: (url: string) => Promise<import("../command.js").Command>;
|
|
16
|
+
setUrls: (urls: string[]) => Promise<import("../command.js").Command>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=blossomServerLists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blossomServerLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/blossomServerLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,uBAAuB,EAAE,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAEpG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;gBAChE,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAU,IAAI,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,8CAO5D;IAED,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
|