index.ts raw

   1  /**
   2   * Social Bounded Context
   3   *
   4   * Handles following, muting, and other social graph relationships.
   5   */
   6  
   7  // Aggregates
   8  export { FollowList } from './FollowList'
   9  export type { FollowEntry, FollowListChange } from './FollowList'
  10  
  11  export { MuteList } from './MuteList'
  12  export type { MuteEntry, MuteVisibility, MuteListChange } from './MuteList'
  13  
  14  export { PinnedUsersList, tryToPinnedUsersList } from './PinnedUsersList'
  15  export type { PinnedUserEntry, PinnedUsersListChange } from './PinnedUsersList'
  16  
  17  // Domain Events
  18  export {
  19    DomainEvent,
  20    UserFollowed,
  21    UserUnfollowed,
  22    FollowListPublished,
  23    UserMuted,
  24    UserUnmuted,
  25    MuteVisibilityChanged,
  26    MuteListPublished
  27  } from './events'
  28  export type { SocialDomainEvent } from './events'
  29  
  30  // Errors
  31  export {
  32    CannotFollowSelfError,
  33    CannotMuteSelfError,
  34    NotAuthenticatedError,
  35    FollowListOperationError,
  36    MuteListOperationError
  37  } from './errors'
  38  
  39  // Repository Interfaces
  40  export type { FollowListRepository, MuteListRepository, PinnedUsersListRepository } from './repositories'
  41  
  42  // Adapters for migration
  43  export {
  44    // FollowList adapters
  45    toFollowList,
  46    tryToFollowList,
  47    fromFollowListToHexSet,
  48    fromFollowListToHexArray,
  49    isFollowingHex,
  50    followByHex,
  51    unfollowByHex,
  52    // MuteList adapters
  53    toMuteList,
  54    tryToMuteList,
  55    fromMuteListToHexSet,
  56    fromMuteListToPublicHexSet,
  57    fromMuteListToPrivateHexSet,
  58    isMutedHex,
  59    getMuteVisibilityByHex,
  60    mutePubliclyByHex,
  61    mutePrivatelyByHex,
  62    unmuteByHex,
  63    // PinnedUsersList adapters
  64    toPinnedUsersList,
  65    fromPinnedUsersListToHexSet,
  66    isPinnedHex,
  67    pinByHex,
  68    unpinByHex,
  69    // Combined adapters
  70    createMuteFilter,
  71    createFollowFilter,
  72    createPinnedFilter
  73  } from './adapters'
  74