@welshman/app 0.8.16 → 0.9.0-pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/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/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 +39 -27
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +39 -92
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/plugins/base.d.ts +133 -0
- package/dist/app/src/plugins/base.d.ts.map +1 -0
- package/dist/app/src/plugins/base.js +186 -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 +34 -0
- package/dist/app/src/plugins/blockedRelayLists.js.map +1 -0
- 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 +16 -0
- package/dist/app/src/plugins/domain.d.ts.map +1 -0
- package/dist/app/src/plugins/domain.js +37 -0
- package/dist/app/src/plugins/domain.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 +32 -0
- package/dist/app/src/plugins/feeds.d.ts.map +1 -0
- package/dist/app/src/plugins/feeds.js +88 -0
- package/dist/app/src/plugins/feeds.js.map +1 -0
- package/dist/app/src/plugins/followLists.d.ts +15 -0
- package/dist/app/src/plugins/followLists.d.ts.map +1 -0
- package/dist/app/src/plugins/followLists.js +31 -0
- package/dist/app/src/plugins/followLists.js.map +1 -0
- package/dist/app/src/plugins/handles.d.ts +18 -0
- package/dist/app/src/plugins/handles.d.ts.map +1 -0
- package/dist/app/src/plugins/handles.js +61 -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 +36 -0
- package/dist/app/src/plugins/messagingRelayLists.js.map +1 -0
- 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 +18 -0
- package/dist/app/src/plugins/network.d.ts.map +1 -0
- package/dist/app/src/plugins/network.js +35 -0
- package/dist/app/src/plugins/network.js.map +1 -0
- 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 +15 -0
- package/dist/app/src/plugins/pins.d.ts.map +1 -0
- package/dist/app/src/plugins/pins.js +31 -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 +18 -0
- package/dist/app/src/plugins/profiles.d.ts.map +1 -0
- package/dist/app/src/plugins/profiles.js +78 -0
- package/dist/app/src/plugins/profiles.js.map +1 -0
- 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 +23 -0
- package/dist/app/src/plugins/relayLists.d.ts.map +1 -0
- package/dist/app/src/plugins/relayLists.js +46 -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 +15 -0
- package/dist/app/src/plugins/relayManagement.js.map +1 -0
- 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/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 +34 -0
- package/dist/app/src/plugins/relays.d.ts.map +1 -0
- package/dist/app/src/plugins/relays.js +68 -0
- package/dist/app/src/plugins/relays.js.map +1 -0
- package/dist/app/src/plugins/roomLists.d.ts +22 -0
- package/dist/app/src/plugins/roomLists.d.ts.map +1 -0
- package/dist/app/src/plugins/roomLists.js +37 -0
- package/dist/app/src/plugins/roomLists.js.map +1 -0
- package/dist/app/src/plugins/rooms.d.ts +45 -0
- package/dist/app/src/plugins/rooms.d.ts.map +1 -0
- package/dist/app/src/plugins/rooms.js +82 -0
- package/dist/app/src/plugins/rooms.js.map +1 -0
- package/dist/app/src/plugins/router.d.ts +25 -0
- package/dist/app/src/plugins/router.d.ts.map +1 -0
- package/dist/app/src/plugins/router.js +95 -0
- package/dist/app/src/plugins/router.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 +34 -0
- package/dist/app/src/plugins/searchRelayLists.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 +42 -0
- package/dist/app/src/plugins/sync.js.map +1 -0
- package/dist/app/src/plugins/thunk.d.ts +74 -0
- package/dist/app/src/plugins/thunk.d.ts.map +1 -0
- package/dist/app/src/{thunk.js → plugins/thunk.js} +155 -152
- package/dist/app/src/plugins/thunk.js.map +1 -0
- package/dist/app/src/plugins/topics.d.ts +19 -0
- package/dist/app/src/plugins/topics.d.ts.map +1 -0
- package/dist/app/src/plugins/topics.js +51 -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 +30 -0
- package/dist/app/src/plugins/zappers.d.ts.map +1 -0
- package/dist/app/src/plugins/zappers.js +119 -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/behaviors/Emoji.d.ts +18 -0
- package/dist/domain/src/behaviors/Emoji.d.ts.map +1 -0
- package/dist/domain/src/behaviors/Emoji.js +9 -0
- package/dist/domain/src/behaviors/Emoji.js.map +1 -0
- package/dist/domain/src/behaviors/ZapSplits.d.ts +36 -0
- package/dist/domain/src/behaviors/ZapSplits.d.ts.map +1 -0
- package/dist/domain/src/behaviors/ZapSplits.js +54 -0
- package/dist/domain/src/behaviors/ZapSplits.js.map +1 -0
- package/dist/domain/src/core/EventReader.d.ts +24 -0
- package/dist/domain/src/core/EventReader.d.ts.map +1 -0
- package/dist/domain/src/core/EventReader.js +55 -0
- package/dist/domain/src/core/EventReader.js.map +1 -0
- package/dist/domain/src/core/EventWriter.d.ts +99 -0
- package/dist/domain/src/core/EventWriter.d.ts.map +1 -0
- package/dist/domain/src/core/EventWriter.js +233 -0
- package/dist/domain/src/core/EventWriter.js.map +1 -0
- package/dist/domain/src/core/Kind.d.ts +39 -0
- package/dist/domain/src/core/Kind.d.ts.map +1 -0
- package/dist/domain/src/core/Kind.js +43 -0
- package/dist/domain/src/core/Kind.js.map +1 -0
- package/dist/domain/src/core/ListReader.d.ts +9 -0
- package/dist/domain/src/core/ListReader.d.ts.map +1 -0
- package/dist/domain/src/core/ListReader.js +32 -0
- package/dist/domain/src/core/ListReader.js.map +1 -0
- package/dist/domain/src/core/ListWriter.d.ts +20 -0
- package/dist/domain/src/core/ListWriter.d.ts.map +1 -0
- package/dist/domain/src/core/ListWriter.js +72 -0
- package/dist/domain/src/core/ListWriter.js.map +1 -0
- package/dist/domain/src/index.d.ts +63 -0
- package/dist/domain/src/index.d.ts.map +1 -0
- package/dist/domain/src/index.js +63 -0
- package/dist/domain/src/index.js.map +1 -0
- package/dist/domain/src/kinds/AppData.d.ts +22 -0
- package/dist/domain/src/kinds/AppData.d.ts.map +1 -0
- package/dist/domain/src/kinds/AppData.js +84 -0
- package/dist/domain/src/kinds/AppData.js.map +1 -0
- package/dist/domain/src/kinds/BlockedRelayList.d.ts +14 -0
- package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/BlockedRelayList.js +31 -0
- package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -0
- package/dist/domain/src/kinds/BlossomServerList.d.ts +14 -0
- package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -0
- package/dist/domain/src/kinds/BlossomServerList.js +31 -0
- package/dist/domain/src/kinds/BlossomServerList.js.map +1 -0
- package/dist/domain/src/kinds/BookmarkList.d.ts +16 -0
- package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -0
- package/dist/domain/src/kinds/BookmarkList.js +37 -0
- package/dist/domain/src/kinds/BookmarkList.js.map +1 -0
- package/dist/domain/src/kinds/Classified.d.ts +26 -0
- package/dist/domain/src/kinds/Classified.d.ts.map +1 -0
- package/dist/domain/src/kinds/Classified.js +66 -0
- package/dist/domain/src/kinds/Classified.js.map +1 -0
- package/dist/domain/src/kinds/Comment.d.ts +33 -0
- package/dist/domain/src/kinds/Comment.d.ts.map +1 -0
- package/dist/domain/src/kinds/Comment.js +105 -0
- package/dist/domain/src/kinds/Comment.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 +12 -0
- package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -0
- package/dist/domain/src/kinds/EmojiList.js +25 -0
- package/dist/domain/src/kinds/EmojiList.js.map +1 -0
- package/dist/domain/src/kinds/Feed.d.ts +16 -0
- package/dist/domain/src/kinds/Feed.d.ts.map +1 -0
- package/dist/domain/src/kinds/Feed.js +34 -0
- package/dist/domain/src/kinds/Feed.js.map +1 -0
- package/dist/domain/src/kinds/FeedList.d.ts +14 -0
- package/dist/domain/src/kinds/FeedList.d.ts.map +1 -0
- package/dist/domain/src/kinds/FeedList.js +31 -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 +31 -0
- package/dist/domain/src/kinds/FollowList.js.map +1 -0
- package/dist/domain/src/kinds/GroupList.d.ts +12 -0
- package/dist/domain/src/kinds/GroupList.d.ts.map +1 -0
- package/dist/domain/src/kinds/GroupList.js +25 -0
- package/dist/domain/src/kinds/GroupList.js.map +1 -0
- package/dist/domain/src/kinds/Handler.d.ts +39 -0
- package/dist/domain/src/kinds/Handler.d.ts.map +1 -0
- package/dist/domain/src/kinds/Handler.js +87 -0
- package/dist/domain/src/kinds/Handler.js.map +1 -0
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts +14 -0
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -0
- package/dist/domain/src/kinds/HandlerRecommendation.js +33 -0
- package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -0
- package/dist/domain/src/kinds/MessagingRelayList.d.ts +13 -0
- package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/MessagingRelayList.js +28 -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 +34 -0
- package/dist/domain/src/kinds/MuteList.js.map +1 -0
- 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 +36 -0
- package/dist/domain/src/kinds/Pin.d.ts.map +1 -0
- package/dist/domain/src/kinds/Pin.js +76 -0
- package/dist/domain/src/kinds/Pin.js.map +1 -0
- package/dist/domain/src/kinds/PinList.d.ts +14 -0
- package/dist/domain/src/kinds/PinList.d.ts.map +1 -0
- package/dist/domain/src/kinds/PinList.js +31 -0
- package/dist/domain/src/kinds/PinList.js.map +1 -0
- package/dist/domain/src/kinds/Pinboard.d.ts +20 -0
- package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -0
- package/dist/domain/src/kinds/Pinboard.js +54 -0
- package/dist/domain/src/kinds/Pinboard.js.map +1 -0
- package/dist/domain/src/kinds/Poll.d.ts +36 -0
- package/dist/domain/src/kinds/Poll.d.ts.map +1 -0
- package/dist/domain/src/kinds/Poll.js +81 -0
- package/dist/domain/src/kinds/Poll.js.map +1 -0
- package/dist/domain/src/kinds/PollResponse.d.ts +14 -0
- package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -0
- package/dist/domain/src/kinds/PollResponse.js +34 -0
- package/dist/domain/src/kinds/PollResponse.js.map +1 -0
- package/dist/domain/src/kinds/Profile.d.ts +33 -0
- package/dist/domain/src/kinds/Profile.d.ts.map +1 -0
- package/dist/domain/src/kinds/Profile.js +101 -0
- package/dist/domain/src/kinds/Profile.js.map +1 -0
- 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 +12 -0
- package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayAddMember.js +23 -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 +23 -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 +29 -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 +16 -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 +98 -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 +23 -0
- package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -0
- 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 +19 -0
- package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelaySet.js +46 -0
- package/dist/domain/src/kinds/RelaySet.js.map +1 -0
- package/dist/domain/src/kinds/Report.d.ts +19 -0
- package/dist/domain/src/kinds/Report.d.ts.map +1 -0
- package/dist/domain/src/kinds/Report.js +63 -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 +23 -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 +29 -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 +22 -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 +32 -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 +22 -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 +81 -0
- package/dist/domain/src/kinds/RoomEdit.js.map +1 -0
- package/dist/domain/src/kinds/RoomJoin.d.ts +13 -0
- package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomJoin.js +29 -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 +22 -0
- package/dist/domain/src/kinds/RoomLeave.js.map +1 -0
- package/dist/domain/src/kinds/RoomList.d.ts +19 -0
- package/dist/domain/src/kinds/RoomList.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomList.js +72 -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 +32 -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 +74 -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 +29 -0
- package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -0
- package/dist/domain/src/kinds/SearchRelayList.d.ts +14 -0
- package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -0
- package/dist/domain/src/kinds/SearchRelayList.js +31 -0
- package/dist/domain/src/kinds/SearchRelayList.js.map +1 -0
- package/dist/domain/src/kinds/Thread.d.ts +11 -0
- package/dist/domain/src/kinds/Thread.d.ts.map +1 -0
- package/dist/domain/src/kinds/Thread.js +22 -0
- package/dist/domain/src/kinds/Thread.js.map +1 -0
- package/dist/domain/src/kinds/TimeEvent.d.ts +20 -0
- package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -0
- package/dist/domain/src/kinds/TimeEvent.js +59 -0
- package/dist/domain/src/kinds/TimeEvent.js.map +1 -0
- package/dist/domain/src/kinds/TopicList.d.ts +16 -0
- package/dist/domain/src/kinds/TopicList.d.ts.map +1 -0
- package/dist/domain/src/kinds/TopicList.js +37 -0
- package/dist/domain/src/kinds/TopicList.js.map +1 -0
- package/dist/domain/src/kinds/ZapGoal.d.ts +21 -0
- package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -0
- package/dist/domain/src/kinds/ZapGoal.js +56 -0
- package/dist/domain/src/kinds/ZapGoal.js.map +1 -0
- package/dist/domain/src/kinds/ZapReceipt.d.ts +25 -0
- package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -0
- package/dist/domain/src/kinds/ZapReceipt.js +68 -0
- package/dist/domain/src/kinds/ZapReceipt.js.map +1 -0
- package/dist/domain/src/kinds/ZapRequest.d.ts +28 -0
- package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -0
- package/dist/domain/src/kinds/ZapRequest.js +72 -0
- package/dist/domain/src/kinds/ZapRequest.js.map +1 -0
- 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 -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/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 +5 -2
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +16 -16
- 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 +13 -0
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +30 -1
- 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/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/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 +4 -2
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +55 -21
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/request.d.ts +2 -3
- 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/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 +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/store/src/repository.d.ts +17 -0
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +144 -0
- 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/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 +6 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +8 -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 +75 -25
- package/dist/util/src/Nip86.d.ts.map +1 -1
- package/dist/util/src/Nip86.js +169 -24
- 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 +3 -6
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +3 -6
- package/dist/util/src/index.js.map +1 -1
- package/package.json +16 -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
- package/dist/util/src/Zaps.d.ts +0 -55
- package/dist/util/src/Zaps.d.ts.map +0 -1
- package/dist/util/src/Zaps.js +0 -135
- package/dist/util/src/Zaps.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAC,OAAO,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAA;AAElE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAElC;;;;;;;;GAQG;AACH,qBAAa,IAAI;IAEb,QAAQ,CAAC,MAAM,EAAE,MAAM;IAChB,MAAM,EAAE,OAAO;gBADb,MAAM,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO;WAGX,UAAU,CAAC,MAAM,EAAE,OAAO;IAMvC;;;;;OAKG;WACU,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAMrE;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAQ/B,IAAI,GAAI,OAAO,YAAY,mDAA4B;IAEvD,kBAAkB,GAAI,SAAS,MAAM,qBAAoD;IAEzF,UAAU,GAAI,MAAM,mBAAmB,gBAQtC;CACF"}
|
package/dist/app/src/user.js
CHANGED
|
@@ -1,55 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return $itemsByKey.get($pubkey);
|
|
19
|
-
});
|
|
20
|
-
export const makeUserLoader = (loadItem) => async (...args) => {
|
|
21
|
-
const $pubkey = pubkey.get();
|
|
22
|
-
if ($pubkey) {
|
|
23
|
-
await loadItem($pubkey, ...args);
|
|
1
|
+
import { WrappedSigner } from "@welshman/signer";
|
|
2
|
+
import { getSignerFromSession } from "./session.js";
|
|
3
|
+
/**
|
|
4
|
+
* A single identity: a pubkey plus the signer that proves it. An `App` is
|
|
5
|
+
* centered on (at most) one `User`, since the data a user can access depends
|
|
6
|
+
* entirely on who they are.
|
|
7
|
+
*
|
|
8
|
+
* `signer` is mutable so app policies can layer behavior onto it after
|
|
9
|
+
* construction via `wrapSigner` — e.g. `appPolicyCacheDecrypt` and
|
|
10
|
+
* `appPolicyLogSignerMethods`.
|
|
11
|
+
*/
|
|
12
|
+
export class User {
|
|
13
|
+
pubkey;
|
|
14
|
+
signer;
|
|
15
|
+
constructor(pubkey, signer) {
|
|
16
|
+
this.pubkey = pubkey;
|
|
17
|
+
this.signer = signer;
|
|
24
18
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
19
|
+
static async fromSigner(signer) {
|
|
20
|
+
const pubkey = await signer.getPubkey();
|
|
21
|
+
return new User(pubkey, signer);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Reconstruct a signing user from a persisted session, using the registered
|
|
25
|
+
* session handlers to find the one for the session's method. The pubkey is
|
|
26
|
+
* derived from the signer. Returns undefined when no handler is registered
|
|
27
|
+
* for the session's method.
|
|
28
|
+
*/
|
|
29
|
+
static async fromSession(session) {
|
|
30
|
+
const signer = await getSignerFromSession(session);
|
|
31
|
+
return signer ? User.fromSigner(signer) : undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Return the app's signed-in user, throwing if there isn't one — the entry
|
|
35
|
+
* point for actions that can only run as a user (publishing, signing).
|
|
36
|
+
*/
|
|
37
|
+
static require(app) {
|
|
38
|
+
if (!app.user) {
|
|
39
|
+
throw new Error("This action requires a signed-in user");
|
|
40
|
+
}
|
|
41
|
+
return app.user;
|
|
42
|
+
}
|
|
43
|
+
sign = (event) => this.signer.sign(event);
|
|
44
|
+
nip44EncryptToSelf = (payload) => this.signer.nip44.encrypt(this.pubkey, payload);
|
|
45
|
+
wrapSigner = (wrap) => {
|
|
46
|
+
const original = this.signer;
|
|
47
|
+
this.signer = new WrappedSigner(original, wrap);
|
|
48
|
+
return () => {
|
|
49
|
+
this.signer = original;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
55
53
|
//# sourceMappingURL=user.js.map
|
package/dist/app/src/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAA;AAIjD;;;;;;;;GAQG;AACH,MAAM,OAAO,IAAI;IAEJ;IACF;IAFT,YACW,MAAc,EAChB,MAAe;QADb,WAAM,GAAN,MAAM,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAS;IACrB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAe;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QAEvC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAgB;QACvC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAElD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAS;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEvD,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEzF,UAAU,GAAG,CAAC,IAAyB,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;QAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAE/C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACxB,CAAC,CAAA;IACH,CAAC,CAAA;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
/**
|
|
3
|
+
* A NIP-30 custom emoji, parsed from an `["emoji", <shortcode>, <url>, <address>]`
|
|
4
|
+
* tag. `address` is an optional `kind:pubkey:d-tag` pointer to the kind-30030
|
|
5
|
+
* emoji set (NIP-51) the emoji belongs to.
|
|
6
|
+
*/
|
|
7
|
+
export type Emoji = {
|
|
8
|
+
shortcode: string;
|
|
9
|
+
url: string;
|
|
10
|
+
address?: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Parse an event's NIP-30 `emoji` tags. Tags missing a shortcode or url are
|
|
14
|
+
* skipped. A plain function so it can read emojis off any event, regardless of
|
|
15
|
+
* kind, without a kind-specific reader.
|
|
16
|
+
*/
|
|
17
|
+
export declare const getEmojis: (event: TrustedEvent) => Emoji[];
|
|
18
|
+
//# sourceMappingURL=Emoji.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Emoji.d.ts","sourceRoot":"","sources":["../../../../../domain/src/behaviors/Emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,YAAY,KAAG,KAAK,EAGiB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse an event's NIP-30 `emoji` tags. Tags missing a shortcode or url are
|
|
3
|
+
* skipped. A plain function so it can read emojis off any event, regardless of
|
|
4
|
+
* kind, without a kind-specific reader.
|
|
5
|
+
*/
|
|
6
|
+
export const getEmojis = (event) => event.tags
|
|
7
|
+
.filter(tag => tag[0] === "emoji" && tag[1] && tag[2])
|
|
8
|
+
.map(([, shortcode, url, address]) => ({ shortcode, url, address }));
|
|
9
|
+
//# sourceMappingURL=Emoji.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Emoji.js","sourceRoot":"","sources":["../../../../../domain/src/behaviors/Emoji.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAW,EAAE,CACxD,KAAK,CAAC,IAAI;KACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;KACrD,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
/**
|
|
3
|
+
* A single recipient of an event's zaps, parsed from a NIP-57 Appendix G `zap`
|
|
4
|
+
* tag of the form `["zap", <pubkey>, <relay hint>, <weight>]`.
|
|
5
|
+
*/
|
|
6
|
+
export type ZapSplit = {
|
|
7
|
+
pubkey: string;
|
|
8
|
+
relay?: string;
|
|
9
|
+
weight: number;
|
|
10
|
+
};
|
|
11
|
+
export type ZapSplitAmount = ZapSplit & {
|
|
12
|
+
amount: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Resolve an event's zap-split recipients per NIP-57 Appendix G:
|
|
16
|
+
*
|
|
17
|
+
* - With no `zap` tags the whole zap goes to the event's author.
|
|
18
|
+
* - If no recipient carries a weight, the zap is split equally (weight 1 each).
|
|
19
|
+
* - If weights are only partially present, unweighted recipients drop to weight
|
|
20
|
+
* 0 (i.e. they should not be zapped).
|
|
21
|
+
*
|
|
22
|
+
* Weight-0 recipients are still returned so callers have the full recipient set;
|
|
23
|
+
* they simply receive 0 from `splitZapAmount`.
|
|
24
|
+
*
|
|
25
|
+
* A plain function so it can read splits off any event, regardless of kind,
|
|
26
|
+
* without a kind-specific reader.
|
|
27
|
+
*/
|
|
28
|
+
export declare const getZapSplits: (event: TrustedEvent) => ZapSplit[];
|
|
29
|
+
/**
|
|
30
|
+
* Divide `total` (in any integer unit, e.g. millisats) across an event's
|
|
31
|
+
* zap-split recipients proportionally to their weights. Any rounding remainder
|
|
32
|
+
* is handed to the highest-weighted recipient so the parts sum back to exactly
|
|
33
|
+
* `total`. If every weight is 0, nobody is zapped.
|
|
34
|
+
*/
|
|
35
|
+
export declare const splitZapAmount: (event: TrustedEvent, total: number) => ZapSplitAmount[];
|
|
36
|
+
//# sourceMappingURL=ZapSplits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapSplits.d.ts","sourceRoot":"","sources":["../../../../../domain/src/behaviors/ZapSplits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAA;AAQxD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,QAAQ,EAc1D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,YAAY,EAAE,OAAO,MAAM,KAAG,cAAc,EAoBjF,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { sum, allPass, nthEq, nth } from "@welshman/lib";
|
|
2
|
+
const parseWeight = (weight) => {
|
|
3
|
+
const n = weight === undefined ? NaN : parseFloat(weight);
|
|
4
|
+
return Number.isFinite(n) && n > 0 ? n : 0;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Resolve an event's zap-split recipients per NIP-57 Appendix G:
|
|
8
|
+
*
|
|
9
|
+
* - With no `zap` tags the whole zap goes to the event's author.
|
|
10
|
+
* - If no recipient carries a weight, the zap is split equally (weight 1 each).
|
|
11
|
+
* - If weights are only partially present, unweighted recipients drop to weight
|
|
12
|
+
* 0 (i.e. they should not be zapped).
|
|
13
|
+
*
|
|
14
|
+
* Weight-0 recipients are still returned so callers have the full recipient set;
|
|
15
|
+
* they simply receive 0 from `splitZapAmount`.
|
|
16
|
+
*
|
|
17
|
+
* A plain function so it can read splits off any event, regardless of kind,
|
|
18
|
+
* without a kind-specific reader.
|
|
19
|
+
*/
|
|
20
|
+
export const getZapSplits = (event) => {
|
|
21
|
+
const zapTags = event.tags.filter(allPass(nthEq(0, "zap"), nth(1)));
|
|
22
|
+
if (zapTags.length === 0) {
|
|
23
|
+
return [{ pubkey: event.pubkey, weight: 1 }];
|
|
24
|
+
}
|
|
25
|
+
const anyWeighted = zapTags.some(nth(3));
|
|
26
|
+
return zapTags.map(([, pubkey, relay, weight]) => ({
|
|
27
|
+
pubkey,
|
|
28
|
+
relay: relay || undefined,
|
|
29
|
+
weight: anyWeighted ? parseWeight(weight) : 1,
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Divide `total` (in any integer unit, e.g. millisats) across an event's
|
|
34
|
+
* zap-split recipients proportionally to their weights. Any rounding remainder
|
|
35
|
+
* is handed to the highest-weighted recipient so the parts sum back to exactly
|
|
36
|
+
* `total`. If every weight is 0, nobody is zapped.
|
|
37
|
+
*/
|
|
38
|
+
export const splitZapAmount = (event, total) => {
|
|
39
|
+
const splits = getZapSplits(event);
|
|
40
|
+
const totalWeight = sum(splits.map(split => split.weight));
|
|
41
|
+
if (totalWeight === 0) {
|
|
42
|
+
return splits.map(split => ({ ...split, amount: 0 }));
|
|
43
|
+
}
|
|
44
|
+
const amounts = splits.map(split => Math.floor((total * split.weight) / totalWeight));
|
|
45
|
+
let maxIndex = 0;
|
|
46
|
+
splits.forEach((split, i) => {
|
|
47
|
+
if (split.weight > splits[maxIndex].weight) {
|
|
48
|
+
maxIndex = i;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
amounts[maxIndex] += total - sum(amounts);
|
|
52
|
+
return splits.map((split, i) => ({ ...split, amount: amounts[i] }));
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=ZapSplits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZapSplits.js","sourceRoot":"","sources":["../../../../../domain/src/behaviors/ZapSplits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAetD,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAEzD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAc,EAAE;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAExC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C,CAAC,CAAC,CAAA;AACL,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,KAAa,EAAoB,EAAE;IACrF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAE1D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;IAErF,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3C,QAAQ,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
import type { KindContext } from "./Kind.js";
|
|
3
|
+
import type { Emoji } from "../behaviors/Emoji.js";
|
|
4
|
+
import type { ZapSplit } from "../behaviors/ZapSplits.js";
|
|
5
|
+
export declare abstract class EventReader {
|
|
6
|
+
readonly kind: number;
|
|
7
|
+
readonly context: KindContext;
|
|
8
|
+
readonly event: TrustedEvent;
|
|
9
|
+
constructor(kind: number, context: KindContext, event: TrustedEvent);
|
|
10
|
+
parse(): Promise<void>;
|
|
11
|
+
id(): string;
|
|
12
|
+
author(): string;
|
|
13
|
+
content(): string;
|
|
14
|
+
tags(): string[][];
|
|
15
|
+
createdAt(): number;
|
|
16
|
+
identifier(): string | undefined;
|
|
17
|
+
address(): string;
|
|
18
|
+
group(): string | undefined;
|
|
19
|
+
protect(): boolean;
|
|
20
|
+
expiration(): number | undefined;
|
|
21
|
+
emojis(): Emoji[];
|
|
22
|
+
zapSplits(): ZapSplit[];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=EventReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../../../domain/src/core/EventReader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAA;AAEhD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAEvD,8BAAsB,WAAW;IAE7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY;gBAFnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,YAAY;IAOxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE5B,EAAE;IAIF,MAAM;IAIN,OAAO;IAIP,IAAI;IAIJ,SAAS;IAIT,UAAU;IAIV,OAAO;IAIP,KAAK;IAIL,OAAO;IAIP,UAAU;IAIV,MAAM,IAAI,KAAK,EAAE;IAIjB,SAAS,IAAI,QAAQ,EAAE;CAGxB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { spec, toInt } from "@welshman/lib";
|
|
2
|
+
import { tagSpec, tagValue, getAddress } from "@welshman/util";
|
|
3
|
+
import { getEmojis } from "../behaviors/Emoji.js";
|
|
4
|
+
import { getZapSplits } from "../behaviors/ZapSplits.js";
|
|
5
|
+
export class EventReader {
|
|
6
|
+
kind;
|
|
7
|
+
context;
|
|
8
|
+
event;
|
|
9
|
+
constructor(kind, context, event) {
|
|
10
|
+
this.kind = kind;
|
|
11
|
+
this.context = context;
|
|
12
|
+
this.event = event;
|
|
13
|
+
if (event.kind !== kind) {
|
|
14
|
+
throw new Error(`Expected a kind ${kind} event, got kind ${event.kind}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
async parse() { }
|
|
18
|
+
id() {
|
|
19
|
+
return this.event.id;
|
|
20
|
+
}
|
|
21
|
+
author() {
|
|
22
|
+
return this.event.pubkey;
|
|
23
|
+
}
|
|
24
|
+
content() {
|
|
25
|
+
return this.event.content;
|
|
26
|
+
}
|
|
27
|
+
tags() {
|
|
28
|
+
return this.event.tags;
|
|
29
|
+
}
|
|
30
|
+
createdAt() {
|
|
31
|
+
return this.event.created_at;
|
|
32
|
+
}
|
|
33
|
+
identifier() {
|
|
34
|
+
return tagValue(tagSpec("d"), this.event.tags);
|
|
35
|
+
}
|
|
36
|
+
address() {
|
|
37
|
+
return getAddress(this.event);
|
|
38
|
+
}
|
|
39
|
+
group() {
|
|
40
|
+
return tagValue(tagSpec("h"), this.event.tags);
|
|
41
|
+
}
|
|
42
|
+
protect() {
|
|
43
|
+
return this.event.tags.some(spec(["-"]));
|
|
44
|
+
}
|
|
45
|
+
expiration() {
|
|
46
|
+
return toInt(tagValue(tagSpec("expiration"), this.event.tags) ?? "");
|
|
47
|
+
}
|
|
48
|
+
emojis() {
|
|
49
|
+
return getEmojis(this.event);
|
|
50
|
+
}
|
|
51
|
+
zapSplits() {
|
|
52
|
+
return getZapSplits(this.event);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=EventReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../../../domain/src/core/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAGtD,MAAM,OAAgB,WAAW;IAEpB;IACA;IACA;IAHX,YACW,IAAY,EACZ,OAAoB,EACpB,KAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,UAAK,GAAL,KAAK,CAAc;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,EAAE;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { MaybeAsync } from "@welshman/lib";
|
|
2
|
+
import type { EventTemplate, TrustedEvent, RelaySelection, RelayScenario } from "@welshman/util";
|
|
3
|
+
import type { EventReader } from "./EventReader.js";
|
|
4
|
+
import type { KindContext } from "./Kind.js";
|
|
5
|
+
export declare class TagParser {
|
|
6
|
+
tags: string[][];
|
|
7
|
+
constructor(tags: string[][]);
|
|
8
|
+
consume(key: string): string[][];
|
|
9
|
+
}
|
|
10
|
+
export declare abstract class EventWriter<Reader extends EventReader> {
|
|
11
|
+
readonly kind: number;
|
|
12
|
+
readonly context: KindContext;
|
|
13
|
+
readonly reader?: Reader | undefined;
|
|
14
|
+
content: string;
|
|
15
|
+
groupTag?: string[];
|
|
16
|
+
protectTag?: string[];
|
|
17
|
+
expirationTag?: string[];
|
|
18
|
+
identifierTag?: string[];
|
|
19
|
+
extraTags: string[][];
|
|
20
|
+
forcedRelays?: string[];
|
|
21
|
+
pendingResolves: Promise<unknown>[];
|
|
22
|
+
readonly requiresRelays: boolean;
|
|
23
|
+
constructor(kind: number, context: KindContext, reader?: Reader | undefined);
|
|
24
|
+
setContent(content: string): this;
|
|
25
|
+
setGroup(url: string, group: string): this;
|
|
26
|
+
clearGroup(): this;
|
|
27
|
+
forceRelays(...urls: string[]): this;
|
|
28
|
+
clearForcedRelays(): this;
|
|
29
|
+
setProtected(protect: boolean): this;
|
|
30
|
+
setExpiration(expiration: number): this;
|
|
31
|
+
clearExpiration(): this;
|
|
32
|
+
setIdentifier(identifier?: string): this;
|
|
33
|
+
clearIdentifier(): this;
|
|
34
|
+
addTags(...tags: string[][]): this;
|
|
35
|
+
keepTags(pred: (tag: string[]) => boolean): this;
|
|
36
|
+
dropTags(pred: (tag: string[]) => boolean): this;
|
|
37
|
+
addMention(pubkey: string): this;
|
|
38
|
+
addQuote(event: TrustedEvent): this;
|
|
39
|
+
addZapSplit(pubkey: string, split?: number): this;
|
|
40
|
+
removeZapSplit(pubkey: string): this;
|
|
41
|
+
addEmoji(shortcode: string, url: string, address?: string): this;
|
|
42
|
+
removeEmoji(shortcode: string): this;
|
|
43
|
+
/**
|
|
44
|
+
* Validates a domain object, throwing an error if invalid.
|
|
45
|
+
*/
|
|
46
|
+
validate(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Tracks a promise that must resolve before the event is rendered.
|
|
49
|
+
*/
|
|
50
|
+
private trackPending;
|
|
51
|
+
/**
|
|
52
|
+
* Resolves one or more relay selections to a single hint url, tracking the
|
|
53
|
+
* in-flight promise so `renderTags` can wait for it. Callers backfill the
|
|
54
|
+
* resolved url into a tag's hint slot.
|
|
55
|
+
*/
|
|
56
|
+
protected hint(...routes: RelaySelection[]): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Returns a list of tags that may be attached to any kind.
|
|
59
|
+
*/
|
|
60
|
+
protected renderBehaviorTags(): MaybeAsync<string[][]>;
|
|
61
|
+
/**
|
|
62
|
+
* Returns a list of tags related to the kind.
|
|
63
|
+
*/
|
|
64
|
+
protected renderDomainTags(): MaybeAsync<string[][]>;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the complete tag list for publishing.
|
|
67
|
+
*/
|
|
68
|
+
renderTags(): Promise<string[][]>;
|
|
69
|
+
/**
|
|
70
|
+
* Returns the content string as defined by the kind.
|
|
71
|
+
*/
|
|
72
|
+
renderContent(): MaybeAsync<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Validates and renders an event template.
|
|
75
|
+
*/
|
|
76
|
+
renderTemplate(): Promise<EventTemplate>;
|
|
77
|
+
/**
|
|
78
|
+
* Returns the list of routes this event should be published to. Defaults to
|
|
79
|
+
* the outbox model. Override to implement custom behavior.
|
|
80
|
+
*/
|
|
81
|
+
protected renderRoutes(): Promise<RelaySelection[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Returns a router scenario for this event. Publishes to forced relays (e.g. a
|
|
84
|
+
* NIP-29 group) when set, otherwise to the rendered routes.
|
|
85
|
+
*/
|
|
86
|
+
scenario(): Promise<RelayScenario>;
|
|
87
|
+
/**
|
|
88
|
+
* Shortcut for getting relays from the router scenario.
|
|
89
|
+
*/
|
|
90
|
+
relays(): Promise<string[]>;
|
|
91
|
+
/**
|
|
92
|
+
* Returns a rendered event template along with its relays.
|
|
93
|
+
*/
|
|
94
|
+
render(): Promise<{
|
|
95
|
+
event: EventTemplate;
|
|
96
|
+
relays: string[];
|
|
97
|
+
}>;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=EventWriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventWriter.d.ts","sourceRoot":"","sources":["../../../../../domain/src/core/EventWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAW7C,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC9F,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAK1C,qBAAa,SAAS;IACpB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;gBAEJ,IAAI,EAAE,MAAM,EAAE,EAAE;IAI5B,OAAO,CAAC,GAAG,EAAE,MAAM;CAOpB;AAED,8BAAsB,WAAW,CAAC,MAAM,SAAS,WAAW;IAexD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAhB1B,OAAO,SAAK;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAK;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAK;IAIxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAQ;gBAG7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,MAAM,YAAA;IAc1B,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOnC,UAAU;IAOV,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAM7B,iBAAiB;IAMjB,YAAY,CAAC,OAAO,EAAE,OAAO;IAM7B,aAAa,CAAC,UAAU,EAAE,MAAM;IAMhC,eAAe;IAMf,aAAa,CAAC,UAAU,SAAa;IAMrC,eAAe;IAMf,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAM3B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAMzC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO;IAMzC,UAAU,CAAC,MAAM,EAAE,MAAM;IAYzB,QAAQ,CAAC,KAAK,EAAE,YAAY;IAY5B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI;IAYrC,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAMzD,WAAW,CAAC,SAAS,EAAE,MAAM;IAI7B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAgBhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAItD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAIpD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAUvC;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC;IAInC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IAU9C;;;OAGG;cACa,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzD;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAMxC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAC,CAAC;CAKlE"}
|