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