index.ts raw
1 /**
2 * Domain Event Handlers
3 *
4 * Application-level handlers that coordinate cross-context updates
5 * when domain events occur.
6 */
7
8 // Social Event Handlers
9 export {
10 registerSocialEventHandlers,
11 unregisterSocialEventHandlers,
12 setSocialHandlerCallbacks,
13 clearSocialHandlerCallbacks,
14 handleUserFollowed,
15 handleUserUnfollowed,
16 handleUserMuted,
17 handleUserUnmuted,
18 handleMuteVisibilityChanged,
19 handleFollowListPublished,
20 handleMuteListPublished,
21 type SocialHandlerCallbacks,
22 type FeedRefreshCallback,
23 type RefilterCallback,
24 type PrefetchProfileCallback
25 } from './SocialEventHandlers'
26
27 // Content Event Handlers
28 export {
29 registerContentEventHandlers,
30 unregisterContentEventHandlers,
31 setContentHandlerCallbacks,
32 clearContentHandlerCallbacks,
33 handleEventBookmarked,
34 handleEventUnbookmarked,
35 handleBookmarkListPublished,
36 handleNotePinned,
37 handleNoteUnpinned,
38 handlePinsLimitExceeded,
39 handlePinListPublished,
40 handleReactionAdded,
41 handleContentReposted,
42 type ContentHandlerCallbacks,
43 type UpdateReactionCountCallback,
44 type UpdateRepostCountCallback,
45 type CreateNotificationCallback,
46 type ShowToastCallback,
47 type UpdateProfilePinsCallback
48 } from './ContentEventHandlers'
49
50 // Feed Event Handlers
51 export {
52 registerFeedEventHandlers,
53 unregisterFeedEventHandlers,
54 handleFeedSwitched,
55 handleContentFilterUpdated,
56 handleFeedRefreshed,
57 handleNoteCreated,
58 handleNoteDeleted,
59 handleNoteReplied,
60 handleUsersMentioned,
61 handleTimelineEventsReceived,
62 handleTimelineEOSED
63 } from './FeedEventHandlers'
64
65 // Relay Event Handlers
66 export {
67 registerRelayEventHandlers,
68 unregisterRelayEventHandlers,
69 handleFavoriteRelayAdded,
70 handleFavoriteRelayRemoved,
71 handleFavoriteRelaysPublished,
72 handleRelaySetCreated,
73 handleRelaySetUpdated,
74 handleRelaySetDeleted,
75 handleMailboxRelayAdded,
76 handleMailboxRelayRemoved,
77 handleMailboxRelayScopeChanged,
78 handleRelayListPublished
79 } from './RelayEventHandlers'
80
81 /**
82 * Initialize all domain event handlers
83 *
84 * Call this once during application startup to register all handlers
85 * with the event dispatcher.
86 */
87 export function initializeEventHandlers(): void {
88 const { registerSocialEventHandlers } = require('./SocialEventHandlers')
89 const { registerContentEventHandlers } = require('./ContentEventHandlers')
90 const { registerFeedEventHandlers } = require('./FeedEventHandlers')
91 const { registerRelayEventHandlers } = require('./RelayEventHandlers')
92
93 registerSocialEventHandlers()
94 registerContentEventHandlers()
95 registerFeedEventHandlers()
96 registerRelayEventHandlers()
97
98 console.debug('[EventHandlers] All domain event handlers registered')
99 }
100
101 /**
102 * Cleanup all domain event handlers
103 *
104 * Call this during application shutdown or for testing purposes.
105 */
106 export function cleanupEventHandlers(): void {
107 const { unregisterSocialEventHandlers, clearSocialHandlerCallbacks } = require('./SocialEventHandlers')
108 const { unregisterContentEventHandlers, clearContentHandlerCallbacks } = require('./ContentEventHandlers')
109 const { unregisterFeedEventHandlers } = require('./FeedEventHandlers')
110 const { unregisterRelayEventHandlers } = require('./RelayEventHandlers')
111
112 unregisterSocialEventHandlers()
113 unregisterContentEventHandlers()
114 unregisterFeedEventHandlers()
115 unregisterRelayEventHandlers()
116
117 clearSocialHandlerCallbacks()
118 clearContentHandlerCallbacks()
119
120 console.debug('[EventHandlers] All domain event handlers unregistered')
121 }
122