@stream-io/feeds-client 0.1.10 → 0.2.0

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.
Files changed (168) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/@react-bindings/contexts/StreamFeedContext.d.ts +1 -1
  3. package/dist/@react-bindings/contexts/StreamFeedsContext.d.ts +1 -1
  4. package/dist/@react-bindings/hooks/feed-state-hooks/useComments.d.ts +1 -1
  5. package/dist/@react-bindings/hooks/feed-state-hooks/useFeedActivities.d.ts +1 -1
  6. package/dist/@react-bindings/hooks/feed-state-hooks/useFeedMetadata.d.ts +1 -1
  7. package/dist/@react-bindings/hooks/feed-state-hooks/useFollowers.d.ts +1 -1
  8. package/dist/@react-bindings/hooks/feed-state-hooks/useFollowing.d.ts +1 -1
  9. package/dist/@react-bindings/hooks/feed-state-hooks/useOwnCapabilities.d.ts +1 -1
  10. package/dist/@react-bindings/hooks/feed-state-hooks/useOwnFollows.d.ts +1 -1
  11. package/dist/@react-bindings/hooks/useCreateFeedsClient.d.ts +1 -1
  12. package/dist/@react-bindings/wrappers/StreamFeed.d.ts +1 -1
  13. package/dist/index-react-bindings.browser.cjs +1720 -1601
  14. package/dist/index-react-bindings.browser.cjs.map +1 -1
  15. package/dist/index-react-bindings.browser.js +1720 -1601
  16. package/dist/index-react-bindings.browser.js.map +1 -1
  17. package/dist/index-react-bindings.node.cjs +1720 -1601
  18. package/dist/index-react-bindings.node.cjs.map +1 -1
  19. package/dist/index-react-bindings.node.js +1720 -1601
  20. package/dist/index-react-bindings.node.js.map +1 -1
  21. package/dist/index.browser.cjs +1724 -1602
  22. package/dist/index.browser.cjs.map +1 -1
  23. package/dist/index.browser.js +1722 -1603
  24. package/dist/index.browser.js.map +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.node.cjs +1724 -1602
  27. package/dist/index.node.cjs.map +1 -1
  28. package/dist/index.node.js +1722 -1603
  29. package/dist/index.node.js.map +1 -1
  30. package/dist/src/common/ActivitySearchSource.d.ts +1 -1
  31. package/dist/src/common/FeedSearchSource.d.ts +2 -2
  32. package/dist/src/common/Poll.d.ts +1 -1
  33. package/dist/src/common/UserSearchSource.d.ts +1 -1
  34. package/dist/src/common/real-time/StableWSConnection.d.ts +3 -3
  35. package/dist/src/feed/event-handlers/activity/handle-activity-added.d.ts +7 -0
  36. package/dist/src/feed/event-handlers/activity/handle-activity-deleted.d.ts +8 -0
  37. package/dist/src/feed/event-handlers/activity/handle-activity-reaction-added.d.ts +8 -0
  38. package/dist/src/feed/event-handlers/activity/handle-activity-reaction-deleted.d.ts +8 -0
  39. package/dist/src/feed/event-handlers/activity/handle-activity-removed-from-feed.d.ts +3 -0
  40. package/dist/src/feed/event-handlers/activity/handle-activity-updated.d.ts +8 -0
  41. package/dist/src/feed/event-handlers/activity/index.d.ts +6 -0
  42. package/dist/src/feed/event-handlers/bookmark/handle-bookmark-added.d.ts +8 -0
  43. package/dist/src/feed/event-handlers/bookmark/handle-bookmark-deleted.d.ts +9 -0
  44. package/dist/src/feed/event-handlers/bookmark/handle-bookmark-updated.d.ts +8 -0
  45. package/dist/src/feed/event-handlers/bookmark/index.d.ts +3 -0
  46. package/dist/src/feed/event-handlers/comment/handle-comment-added.d.ts +3 -0
  47. package/dist/src/feed/event-handlers/comment/handle-comment-deleted.d.ts +3 -0
  48. package/dist/src/feed/event-handlers/comment/handle-comment-reaction.d.ts +3 -0
  49. package/dist/src/feed/event-handlers/comment/handle-comment-updated.d.ts +3 -0
  50. package/dist/src/feed/event-handlers/comment/index.d.ts +4 -0
  51. package/dist/src/feed/event-handlers/feed/handle-feed-updated.d.ts +3 -0
  52. package/dist/src/feed/event-handlers/feed/index.d.ts +1 -0
  53. package/dist/src/feed/event-handlers/feed-member/handle-feed-member-added.d.ts +3 -0
  54. package/dist/src/feed/event-handlers/feed-member/handle-feed-member-removed.d.ts +3 -0
  55. package/dist/src/feed/event-handlers/feed-member/handle-feed-member-updated.d.ts +3 -0
  56. package/dist/src/feed/event-handlers/feed-member/index.d.ts +3 -0
  57. package/dist/src/feed/event-handlers/follow/handle-follow-created.d.ts +7 -0
  58. package/dist/src/feed/event-handlers/follow/handle-follow-deleted.d.ts +7 -0
  59. package/dist/src/feed/event-handlers/follow/handle-follow-updated.d.ts +3 -0
  60. package/dist/src/feed/event-handlers/follow/index.d.ts +3 -0
  61. package/dist/src/feed/event-handlers/index.d.ts +8 -0
  62. package/dist/src/feed/event-handlers/notification-feed/handle-notification-feed-updated.d.ts +3 -0
  63. package/dist/src/feed/event-handlers/notification-feed/index.d.ts +1 -0
  64. package/dist/src/feed/event-handlers/watch/handle-watch-started.d.ts +2 -0
  65. package/dist/src/feed/event-handlers/watch/handle-watch-stopped.d.ts +2 -0
  66. package/dist/src/feed/event-handlers/watch/index.d.ts +2 -0
  67. package/dist/src/{Feed.d.ts → feed/feed.d.ts} +16 -43
  68. package/dist/src/feed/index.d.ts +2 -0
  69. package/dist/src/feeds-client/event-handlers/index.d.ts +1 -0
  70. package/dist/src/feeds-client/event-handlers/user/handle-user-updated.d.ts +3 -0
  71. package/dist/src/feeds-client/feeds-client.d.ts +76 -0
  72. package/dist/src/feeds-client/index.d.ts +2 -0
  73. package/dist/src/gen/feeds/FeedsApi.d.ts +27 -23
  74. package/dist/src/gen/models/index.d.ts +168 -23
  75. package/dist/src/gen-imports.d.ts +1 -1
  76. package/dist/src/test-utils/index.d.ts +1 -0
  77. package/dist/src/test-utils/response-generators.d.ts +9 -0
  78. package/dist/src/types-internal.d.ts +7 -0
  79. package/dist/src/types.d.ts +1 -1
  80. package/dist/src/utils/check-has-another-page.d.ts +1 -0
  81. package/dist/src/utils/constants.d.ts +3 -0
  82. package/dist/src/utils/index.d.ts +5 -0
  83. package/dist/src/utils/state-update-queue.d.ts +6 -0
  84. package/dist/src/utils/type-assertions.d.ts +7 -0
  85. package/dist/src/utils/unique-array-merge.d.ts +1 -0
  86. package/dist/tsconfig.tsbuildinfo +1 -1
  87. package/index.ts +2 -2
  88. package/package.json +3 -2
  89. package/src/common/ActivitySearchSource.ts +1 -1
  90. package/src/common/FeedSearchSource.ts +2 -2
  91. package/src/common/Poll.ts +1 -1
  92. package/src/common/UserSearchSource.ts +1 -1
  93. package/src/{state-updates → feed/event-handlers/activity}/activity-reaction-utils.test.ts +12 -2
  94. package/src/{state-updates → feed/event-handlers/activity}/activity-utils.test.ts +3 -2
  95. package/src/{state-updates/activity-utils.ts → feed/event-handlers/activity/handle-activity-added.ts} +16 -36
  96. package/src/feed/event-handlers/activity/handle-activity-deleted.ts +30 -0
  97. package/src/feed/event-handlers/activity/handle-activity-reaction-added.ts +67 -0
  98. package/src/feed/event-handlers/activity/handle-activity-reaction-deleted.ts +75 -0
  99. package/src/feed/event-handlers/activity/handle-activity-removed-from-feed.ts +16 -0
  100. package/src/feed/event-handlers/activity/handle-activity-updated.ts +47 -0
  101. package/src/feed/event-handlers/activity/index.ts +6 -0
  102. package/src/{state-updates → feed/event-handlers/bookmark}/bookmark-utils.test.ts +2 -2
  103. package/src/feed/event-handlers/bookmark/handle-bookmark-added.ts +63 -0
  104. package/src/feed/event-handlers/bookmark/handle-bookmark-deleted.ts +84 -0
  105. package/src/feed/event-handlers/bookmark/handle-bookmark-updated.ts +76 -0
  106. package/src/feed/event-handlers/bookmark/index.ts +3 -0
  107. package/src/feed/event-handlers/comment/handle-comment-added.ts +38 -0
  108. package/src/feed/event-handlers/comment/handle-comment-deleted.ts +35 -0
  109. package/src/feed/event-handlers/comment/handle-comment-reaction.ts +61 -0
  110. package/src/feed/event-handlers/comment/handle-comment-updated.ts +35 -0
  111. package/src/feed/event-handlers/comment/index.ts +4 -0
  112. package/src/feed/event-handlers/feed/handle-feed-updated.ts +9 -0
  113. package/src/feed/event-handlers/feed/index.ts +1 -0
  114. package/src/feed/event-handlers/feed-member/handle-feed-member-added.ts +31 -0
  115. package/src/feed/event-handlers/feed-member/handle-feed-member-removed.ts +24 -0
  116. package/src/feed/event-handlers/feed-member/handle-feed-member-updated.ts +40 -0
  117. package/src/feed/event-handlers/feed-member/index.ts +3 -0
  118. package/src/feed/event-handlers/follow/handle-follow-created.test.ts +250 -0
  119. package/src/feed/event-handlers/follow/handle-follow-created.ts +90 -0
  120. package/src/feed/event-handlers/follow/handle-follow-deleted.test.ts +268 -0
  121. package/src/feed/event-handlers/follow/handle-follow-deleted.ts +95 -0
  122. package/src/feed/event-handlers/follow/handle-follow-updated.test.ts +174 -0
  123. package/src/feed/event-handlers/follow/handle-follow-updated.ts +85 -0
  124. package/src/feed/event-handlers/follow/index.ts +3 -0
  125. package/src/feed/event-handlers/index.ts +8 -0
  126. package/src/feed/event-handlers/notification-feed/handle-notification-feed-updated.ts +10 -0
  127. package/src/feed/event-handlers/notification-feed/index.ts +1 -0
  128. package/src/feed/event-handlers/watch/handle-watch-started.ts +5 -0
  129. package/src/feed/event-handlers/watch/handle-watch-stopped.ts +5 -0
  130. package/src/feed/event-handlers/watch/index.ts +2 -0
  131. package/src/{Feed.ts → feed/feed.ts} +87 -516
  132. package/src/feed/index.ts +2 -0
  133. package/src/feeds-client/event-handlers/index.ts +1 -0
  134. package/src/feeds-client/event-handlers/user/handle-user-updated.test.ts +53 -0
  135. package/src/feeds-client/event-handlers/user/handle-user-updated.ts +28 -0
  136. package/src/{FeedsClient.ts → feeds-client/feeds-client.ts} +63 -36
  137. package/src/feeds-client/index.ts +2 -0
  138. package/src/gen/feeds/FeedsApi.ts +164 -138
  139. package/src/gen/model-decoders/decoders.ts +22 -0
  140. package/src/gen/models/index.ts +288 -29
  141. package/src/gen-imports.ts +1 -1
  142. package/src/test-utils/index.ts +1 -0
  143. package/src/test-utils/response-generators.ts +101 -0
  144. package/src/types-internal.ts +11 -0
  145. package/src/types.ts +1 -1
  146. package/src/utils/check-has-another-page.ts +6 -0
  147. package/src/utils/constants.ts +3 -0
  148. package/src/utils/index.ts +5 -0
  149. package/src/{state-updates → utils}/state-update-queue.test.ts +6 -6
  150. package/src/utils/state-update-queue.ts +42 -0
  151. package/src/utils/type-assertions.ts +22 -0
  152. package/src/{utils.test.ts → utils/unique-array-merge.test.ts} +7 -3
  153. package/src/utils/unique-array-merge.ts +19 -0
  154. package/dist/src/FeedsClient.d.ts +0 -75
  155. package/dist/src/state-updates/activity-reaction-utils.d.ts +0 -10
  156. package/dist/src/state-updates/activity-utils.d.ts +0 -13
  157. package/dist/src/state-updates/bookmark-utils.d.ts +0 -14
  158. package/dist/src/state-updates/follow-utils.d.ts +0 -19
  159. package/dist/src/state-updates/state-update-queue.d.ts +0 -15
  160. package/dist/src/utils.d.ts +0 -10
  161. package/src/state-updates/activity-reaction-utils.ts +0 -107
  162. package/src/state-updates/bookmark-utils.ts +0 -167
  163. package/src/state-updates/follow-utils.test.ts +0 -552
  164. package/src/state-updates/follow-utils.ts +0 -126
  165. package/src/state-updates/state-update-queue.ts +0 -35
  166. package/src/utils.ts +0 -48
  167. /package/dist/src/{ModerationClient.d.ts → moderation-client.d.ts} +0 -0
  168. /package/src/{ModerationClient.ts → moderation-client.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { BaseSearchSource } from './BaseSearchSource';
2
2
  import type { SearchSourceOptions } from './BaseSearchSource';
3
- import { FeedsClient } from '../FeedsClient';
3
+ import { FeedsClient } from '../feeds-client';
4
4
  import { ActivityResponse } from '../gen/models';
5
5
  export declare class ActivitySearchSource extends BaseSearchSource<ActivityResponse> {
6
6
  readonly type: "activity";
@@ -1,7 +1,7 @@
1
1
  import { BaseSearchSource } from './BaseSearchSource';
2
2
  import type { SearchSourceOptions } from './BaseSearchSource';
3
- import { FeedsClient } from '../FeedsClient';
4
- import { Feed } from '../Feed';
3
+ import { FeedsClient } from '../feeds-client';
4
+ import { Feed } from '../feed';
5
5
  export type FeedSearchSourceOptions = SearchSourceOptions & {
6
6
  groupId?: string;
7
7
  };
@@ -1,5 +1,5 @@
1
1
  import { StateStore } from './StateStore';
2
- import type { FeedsClient } from '../FeedsClient';
2
+ import type { FeedsClient } from '../feeds-client';
3
3
  import type { PollVote, QueryPollVotesRequest, PollUpdatedFeedEvent, PollClosedFeedEvent, PollVoteCastedFeedEvent, PollVoteChangedFeedEvent, PollVoteRemovedFeedEvent, Poll as PollType } from '../gen/models';
4
4
  export declare const isVoteAnswer: (vote: PollVote) => boolean;
5
5
  export type PollAnswersQueryParams = QueryPollVotesRequest & {
@@ -1,6 +1,6 @@
1
1
  import { BaseSearchSource } from './BaseSearchSource';
2
2
  import type { SearchSourceOptions } from './BaseSearchSource';
3
- import { FeedsClient } from '../FeedsClient';
3
+ import { FeedsClient } from '../feeds-client';
4
4
  import { UserResponse } from '../gen/models';
5
5
  export declare class UserSearchSource extends BaseSearchSource<UserResponse> {
6
6
  readonly type: "user";
@@ -57,9 +57,9 @@ export declare class StableWSConnection {
57
57
  private readonly clientId;
58
58
  constructor(config: WSConfig, tokenManager: TokenManager, connectionIdManager: ConnectionIdManager, decoders?: Array<(event: any) => any>);
59
59
  _log: (msg: string, extra?: any, level?: LogLevel) => void;
60
- on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: import("../../types").FeedsEvent) => void) => () => void;
61
- off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: import("../../types").FeedsEvent) => void) => void;
62
- offAll: (eventName?: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed" | undefined) => void;
60
+ on: (eventName: "network.changed" | "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed", handler: (event: import("../../types").FeedsEvent) => void) => () => void;
61
+ off: (eventName: "network.changed" | "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed", handler: (event: import("../../types").FeedsEvent) => void) => void;
62
+ offAll: (eventName?: "network.changed" | "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | undefined) => void;
63
63
  /**
64
64
  * connect - Connect to the WS URL
65
65
  * the default 15s timeout allows between 2~3 tries
@@ -0,0 +1,7 @@
1
+ import { Feed } from '../../../feed';
2
+ import { ActivityResponse } from '../../../gen/models';
3
+ import { EventPayload, UpdateStateResult } from '../../../types-internal';
4
+ export declare const addActivitiesToState: (newActivities: ActivityResponse[], activities: ActivityResponse[] | undefined, position: "start" | "end") => UpdateStateResult<{
5
+ activities: ActivityResponse[];
6
+ }>;
7
+ export declare function handleActivityAdded(this: Feed, event: EventPayload<'feeds.activity.added'>): void;
@@ -0,0 +1,8 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { ActivityResponse } from '../../../gen/models';
3
+ import type { EventPayload } from '../../../types-internal';
4
+ export declare const removeActivityFromState: (activityResponse: ActivityResponse, activities: ActivityResponse[]) => {
5
+ changed: boolean;
6
+ activities: ActivityResponse[];
7
+ };
8
+ export declare function handleActivityDeleted(this: Feed, event: EventPayload<'feeds.activity.deleted'>): void;
@@ -0,0 +1,8 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { ActivityReactionAddedEvent, ActivityResponse } from '../../../gen/models';
3
+ import type { EventPayload, UpdateStateResult } from '../../../types-internal';
4
+ export declare const addReactionToActivity: (event: ActivityReactionAddedEvent, activity: ActivityResponse, isCurrentUser: boolean) => UpdateStateResult<ActivityResponse>;
5
+ export declare const addReactionToActivities: (event: ActivityReactionAddedEvent, activities: ActivityResponse[] | undefined, isCurrentUser: boolean) => UpdateStateResult<{
6
+ activities: ActivityResponse[];
7
+ }>;
8
+ export declare function handleActivityReactionAdded(this: Feed, event: EventPayload<'feeds.activity.reaction.added'>): void;
@@ -0,0 +1,8 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { ActivityReactionDeletedEvent, ActivityResponse } from '../../../gen/models';
3
+ import type { EventPayload, UpdateStateResult } from '../../../types-internal';
4
+ export declare const removeReactionFromActivity: (event: ActivityReactionDeletedEvent, activity: ActivityResponse, isCurrentUser: boolean) => UpdateStateResult<ActivityResponse>;
5
+ export declare const removeReactionFromActivities: (event: ActivityReactionDeletedEvent, activities: ActivityResponse[] | undefined, isCurrentUser: boolean) => UpdateStateResult<{
6
+ activities: ActivityResponse[];
7
+ }>;
8
+ export declare function handleActivityReactionDeleted(this: Feed, event: EventPayload<'feeds.activity.reaction.deleted'>): void;
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleActivityRemovedFromFeed(this: Feed, event: EventPayload<'feeds.activity.removed_from_feed'>): void;
@@ -0,0 +1,8 @@
1
+ import { Feed } from '../../../feed';
2
+ import { ActivityResponse } from '../../../gen/models';
3
+ import { EventPayload } from '../../../types-internal';
4
+ export declare const updateActivityInState: (updatedActivityResponse: ActivityResponse, activities: ActivityResponse[], replaceCompletely?: boolean) => {
5
+ changed: boolean;
6
+ activities: ActivityResponse[];
7
+ };
8
+ export declare function handleActivityUpdated(this: Feed, event: EventPayload<'feeds.activity.updated'>): void;
@@ -0,0 +1,6 @@
1
+ export * from './handle-activity-added';
2
+ export * from './handle-activity-deleted';
3
+ export * from './handle-activity-removed-from-feed';
4
+ export * from './handle-activity-updated';
5
+ export * from './handle-activity-reaction-added';
6
+ export * from './handle-activity-reaction-deleted';
@@ -0,0 +1,8 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { ActivityResponse, BookmarkAddedEvent } from '../../../gen/models';
3
+ import type { EventPayload, UpdateStateResult } from '../../../types-internal';
4
+ export declare const addBookmarkToActivity: (event: BookmarkAddedEvent, activity: ActivityResponse, isCurrentUser: boolean) => UpdateStateResult<ActivityResponse>;
5
+ export declare const addBookmarkToActivities: (event: BookmarkAddedEvent, activities: ActivityResponse[] | undefined, isCurrentUser: boolean) => UpdateStateResult<{
6
+ activities: ActivityResponse[];
7
+ }>;
8
+ export declare function handleBookmarkAdded(this: Feed, event: EventPayload<'feeds.bookmark.added'>): void;
@@ -0,0 +1,9 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { ActivityResponse, BookmarkDeletedEvent, BookmarkResponse } from '../../../gen/models';
3
+ import type { EventPayload, UpdateStateResult } from '../../../types-internal';
4
+ export declare const isSameBookmark: (bookmark1: BookmarkResponse, bookmark2: BookmarkResponse) => boolean;
5
+ export declare const removeBookmarkFromActivities: (event: BookmarkDeletedEvent, activities: ActivityResponse[] | undefined, isCurrentUser: boolean) => UpdateStateResult<{
6
+ activities: ActivityResponse[];
7
+ }>;
8
+ export declare const removeBookmarkFromActivity: (event: BookmarkDeletedEvent, activity: ActivityResponse, isCurrentUser: boolean) => UpdateStateResult<ActivityResponse>;
9
+ export declare function handleBookmarkDeleted(this: Feed, event: EventPayload<'feeds.bookmark.deleted'>): void;
@@ -0,0 +1,8 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { ActivityResponse, BookmarkUpdatedEvent } from '../../../gen/models';
3
+ import type { EventPayload, UpdateStateResult } from '../../../types-internal';
4
+ export declare const updateBookmarkInActivity: (event: BookmarkUpdatedEvent, activity: ActivityResponse, isCurrentUser: boolean) => UpdateStateResult<ActivityResponse>;
5
+ export declare const updateBookmarkInActivities: (event: BookmarkUpdatedEvent, activities: ActivityResponse[] | undefined, isCurrentUser: boolean) => UpdateStateResult<{
6
+ activities: ActivityResponse[];
7
+ }>;
8
+ export declare function handleBookmarkUpdated(this: Feed, event: EventPayload<'feeds.bookmark.updated'>): void;
@@ -0,0 +1,3 @@
1
+ export * from './handle-bookmark-added';
2
+ export * from './handle-bookmark-deleted';
3
+ export * from './handle-bookmark-updated';
@@ -0,0 +1,3 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { EventPayload } from '../../../types-internal';
3
+ export declare function handleCommentAdded(this: Feed, event: EventPayload<'feeds.comment.added'>): void;
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleCommentDeleted(this: Feed, { comment }: EventPayload<'feeds.comment.deleted'>): void;
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleCommentReaction(this: Feed, event: EventPayload<'feeds.comment.reaction.added' | 'feeds.comment.reaction.deleted'>): void;
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleCommentUpdated(this: Feed, event: EventPayload<'feeds.comment.updated'>): void;
@@ -0,0 +1,4 @@
1
+ export * from './handle-comment-added';
2
+ export * from './handle-comment-deleted';
3
+ export * from './handle-comment-updated';
4
+ export * from './handle-comment-reaction';
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleFeedUpdated(this: Feed, event: EventPayload<'feeds.feed.updated'>): void;
@@ -0,0 +1 @@
1
+ export * from './handle-feed-updated';
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleFeedMemberAdded(this: Feed, event: EventPayload<'feeds.feed_member.added'>): void;
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleFeedMemberRemoved(this: Feed, event: EventPayload<'feeds.feed_member.removed'>): void;
@@ -0,0 +1,3 @@
1
+ import { Feed } from '../../../feed';
2
+ import { EventPayload } from '../../../types-internal';
3
+ export declare function handleFeedMemberUpdated(this: Feed, event: EventPayload<'feeds.feed_member.updated'>): void;
@@ -0,0 +1,3 @@
1
+ export * from './handle-feed-member-added';
2
+ export * from './handle-feed-member-updated';
3
+ export * from './handle-feed-member-removed';
@@ -0,0 +1,7 @@
1
+ import type { Feed, FeedState } from '../../../feed';
2
+ import type { FollowResponse } from '../../../gen/models';
3
+ import type { EventPayload, PartializeAllBut, UpdateStateResult } from '../../../types-internal';
4
+ export declare const updateStateFollowCreated: (follow: FollowResponse, currentState: FeedState, currentFeedId: string, connectedUserId?: string) => UpdateStateResult<{
5
+ data: FeedState;
6
+ }>;
7
+ export declare function handleFollowCreated(this: Feed, eventOrResponse: PartializeAllBut<EventPayload<'feeds.follow.created'>, 'follow'>): void;
@@ -0,0 +1,7 @@
1
+ import type { Feed, FeedState } from '../../../feed';
2
+ import type { FollowResponse } from '../../../gen/models';
3
+ import type { EventPayload, PartializeAllBut, UpdateStateResult } from '../../../types-internal';
4
+ export declare const updateStateFollowDeleted: (follow: FollowResponse, currentState: FeedState, currentFeedId: string, connectedUserId?: string) => UpdateStateResult<{
5
+ data: FeedState;
6
+ }>;
7
+ export declare function handleFollowDeleted(this: Feed, eventOrResponse: PartializeAllBut<EventPayload<'feeds.follow.deleted'>, 'follow'>): void;
@@ -0,0 +1,3 @@
1
+ import type { Feed } from '../../../feed';
2
+ import { EventPayload, PartializeAllBut } from '../../../types-internal';
3
+ export declare function handleFollowUpdated(this: Feed, eventOrResponse: PartializeAllBut<EventPayload<'feeds.follow.updated'>, 'follow'>): void;
@@ -0,0 +1,3 @@
1
+ export * from './handle-follow-created';
2
+ export * from './handle-follow-deleted';
3
+ export * from './handle-follow-updated';
@@ -0,0 +1,8 @@
1
+ export * from './follow';
2
+ export * from './comment';
3
+ export * from './feed-member';
4
+ export * from './bookmark';
5
+ export * from './activity';
6
+ export * from './feed';
7
+ export * from './notification-feed';
8
+ export * from './watch';
@@ -0,0 +1,3 @@
1
+ import type { Feed } from '../../../feed';
2
+ import type { EventPayload } from '../../../types-internal';
3
+ export declare function handleNotificationFeedUpdated(this: Feed, event: EventPayload<'feeds.notification_feed.updated'>): void;
@@ -0,0 +1 @@
1
+ export * from './handle-notification-feed-updated';
@@ -0,0 +1,2 @@
1
+ import { Feed } from '../../feed';
2
+ export declare function handleWatchStarted(this: Feed): void;
@@ -0,0 +1,2 @@
1
+ import { Feed } from '../../feed';
2
+ export declare function handleWatchStopped(this: Feed): void;
@@ -0,0 +1,2 @@
1
+ export * from './handle-watch-started';
2
+ export * from './handle-watch-stopped';
@@ -1,10 +1,10 @@
1
- import { ActivityRequest, FeedResponse, GetOrCreateFeedRequest, GetOrCreateFeedResponse, QueryFollowsRequest, WSEvent, ActivityResponse, CommentResponse, SingleFollowRequest, QueryFeedMembersRequest, SortParamRequest, FollowResponse } from './gen/models';
2
- import { StateStore } from './common/StateStore';
3
- import { EventDispatcher } from './common/EventDispatcher';
4
- import { FeedApi } from './gen/feeds/FeedApi';
5
- import { FeedsClient } from './FeedsClient';
6
- import { StreamResponse } from './gen-imports';
7
- import type { ActivityIdOrCommentId, GetCommentsRepliesRequest, GetCommentsRequest, LoadingStates, PagerResponseWithLoadingStates } from './types';
1
+ import { ActivityRequest, FeedResponse, GetOrCreateFeedRequest, GetOrCreateFeedResponse, QueryFollowsRequest, WSEvent, ActivityResponse, CommentResponse, QueryFeedMembersRequest, SortParamRequest, FollowRequest } from '../gen/models';
2
+ import { StreamResponse } from '../gen-imports';
3
+ import { StateStore } from '../common/StateStore';
4
+ import { EventDispatcher } from '../common/EventDispatcher';
5
+ import { FeedApi } from '../gen/feeds/FeedApi';
6
+ import { FeedsClient } from '../feeds-client';
7
+ import type { ActivityIdOrCommentId, GetCommentsRepliesRequest, GetCommentsRequest, LoadingStates, PagerResponseWithLoadingStates } from '../types';
8
8
  export type FeedState = Omit<Partial<GetOrCreateFeedResponse & FeedResponse>, 'feed' | 'duration'> & {
9
9
  /**
10
10
  * True when loading state using `getOrCreate`
@@ -72,46 +72,19 @@ export type FeedState = Omit<Partial<GetOrCreateFeedResponse & FeedResponse>, 'f
72
72
  export declare class Feed extends FeedApi {
73
73
  readonly state: StateStore<FeedState>;
74
74
  private static readonly noop;
75
- private readonly stateUpdateQueue;
75
+ protected readonly stateUpdateQueue: Set<string>;
76
76
  private readonly eventHandlers;
77
77
  protected eventDispatcher: EventDispatcher<WSEvent['type'], WSEvent>;
78
78
  constructor(client: FeedsClient, groupId: 'user' | 'timeline' | (string & {}), id: string, data?: FeedResponse, watch?: boolean);
79
- private readonly client;
80
- get fid(): string;
79
+ protected readonly client: FeedsClient;
80
+ get feed(): string;
81
81
  get currentState(): FeedState;
82
- private handleCommentReactionEvent;
83
82
  synchronize(): Promise<void>;
84
83
  getOrCreate(request?: GetOrCreateFeedRequest): Promise<StreamResponse<GetOrCreateFeedResponse>>;
85
- /**
86
- * @internal
87
- */
88
- handleFollowCreated(follow: FollowResponse): void;
89
- /**
90
- * @internal
91
- */
92
- handleFollowDeleted(follow: FollowResponse | {
93
- source_feed: {
94
- fid: string;
95
- };
96
- target_feed: {
97
- fid: string;
98
- };
99
- }): void;
100
- /**
101
- * @internal
102
- */
103
- handleWatchStopped(): void;
104
- /**
105
- * @internal
106
- */
107
- handleWatchStarted(): void;
108
- private handleBookmarkAdded;
109
- private handleBookmarkDeleted;
110
- private handleBookmarkUpdated;
111
84
  /**
112
85
  * Returns index of the provided comment object.
113
86
  */
114
- private getCommentIndex;
87
+ protected getCommentIndex(comment: Pick<CommentResponse, 'object_id' | 'parent_id' | 'id'>, state?: FeedState): number;
115
88
  /**
116
89
  * Load child comments of entity (activity or comment) into the state, if the target entity is comment,
117
90
  * `entityParentId` should be provided (`CommentResponse.parent_id ?? CommentResponse.object_id`).
@@ -129,17 +102,17 @@ export declare class Feed extends FeedApi {
129
102
  *
130
103
  * _Note: Useful only for feeds with `groupId` of `user` value._
131
104
  */
132
- queryFollowers(request: Omit<QueryFollowsRequest, 'filter'>): Promise<StreamResponse<import("./gen/models").QueryFollowsResponse>>;
105
+ queryFollowers(request: Omit<QueryFollowsRequest, 'filter'>): Promise<StreamResponse<import("../gen/models").QueryFollowsResponse>>;
133
106
  /**
134
107
  * Method which queries following of this feed (target feeds of this feed).
135
108
  *
136
109
  * _Note: Useful only for feeds with `groupId` of `timeline` value._
137
110
  */
138
- queryFollowing(request: Omit<QueryFollowsRequest, 'filter'>): Promise<StreamResponse<import("./gen/models").QueryFollowsResponse>>;
139
- follow(feedOrFid: Feed | string, options?: Omit<SingleFollowRequest, 'source' | 'target'>): Promise<StreamResponse<import("./gen/models").SingleFollowResponse>>;
140
- unfollow(feedOrFid: Feed | string): Promise<StreamResponse<import("./gen/models").UnfollowResponse>>;
111
+ queryFollowing(request: Omit<QueryFollowsRequest, 'filter'>): Promise<StreamResponse<import("../gen/models").QueryFollowsResponse>>;
112
+ follow(feedOrFid: Feed | string, options?: Omit<FollowRequest, 'source' | 'target'>): Promise<StreamResponse<import("../gen/models").SingleFollowResponse>>;
113
+ unfollow(feedOrFid: Feed | string): Promise<StreamResponse<import("../gen/models").UnfollowResponse>>;
141
114
  getNextPage(): Promise<StreamResponse<GetOrCreateFeedResponse>>;
142
- addActivity(request: Omit<ActivityRequest, 'fids'>): Promise<StreamResponse<import("./gen/models").AddActivityResponse>>;
115
+ addActivity(request: Omit<ActivityRequest, 'feeds'>): Promise<StreamResponse<import("../gen/models").AddActivityResponse>>;
143
116
  on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => () => void;
144
117
  off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => void;
145
118
  handleWSEvent(event: WSEvent): void;
@@ -0,0 +1,2 @@
1
+ export * from './feed';
2
+ export * from './event-handlers';
@@ -0,0 +1 @@
1
+ export * from './user/handle-user-updated';
@@ -0,0 +1,3 @@
1
+ import type { EventPayload } from '../../../types-internal';
2
+ import type { FeedsClient } from '../../feeds-client';
3
+ export declare function handleUserUpdated(this: FeedsClient, event: EventPayload<'user.updated'>): void;
@@ -0,0 +1,76 @@
1
+ import { FeedsApi } from '../gen/feeds/FeedsApi';
2
+ import { ActivityResponse, FileUploadRequest, FollowBatchRequest, FollowRequest, ImageUploadRequest, OwnUser, PollResponse, PollVotesResponse, QueryFeedsRequest, QueryPollVotesRequest, UpdateFollowRequest, UserRequest } from '../gen/models';
3
+ import { FeedsEvent, StreamFile, TokenOrProvider } from '../types';
4
+ import { StateStore } from '../common/StateStore';
5
+ import { FeedsClientOptions, StreamResponse } from '../common/types';
6
+ import { ModerationClient } from '../moderation-client';
7
+ import { StreamPoll } from '../common/Poll';
8
+ import { Feed } from '../feed';
9
+ export type FeedsClientState = {
10
+ connected_user: OwnUser | undefined;
11
+ is_ws_connection_healthy: boolean;
12
+ };
13
+ export declare class FeedsClient extends FeedsApi {
14
+ readonly state: StateStore<FeedsClientState>;
15
+ readonly moderation: ModerationClient;
16
+ private readonly tokenManager;
17
+ private wsConnection?;
18
+ private readonly connectionIdManager;
19
+ private readonly eventDispatcher;
20
+ private readonly polls_by_id;
21
+ private activeFeeds;
22
+ private healthyConnectionChangedEventCount;
23
+ constructor(apiKey: string, options?: FeedsClientOptions);
24
+ pollFromState: (id: string) => StreamPoll | undefined;
25
+ hydratePollCache(activities: ActivityResponse[]): void;
26
+ connectUser: (user: UserRequest, tokenProvider: TokenOrProvider) => Promise<void>;
27
+ devToken: (userId: string) => string;
28
+ closePoll: (request: {
29
+ poll_id: string;
30
+ }) => Promise<StreamResponse<PollResponse>>;
31
+ uploadFile: (request: Omit<FileUploadRequest, "file"> & {
32
+ file: StreamFile;
33
+ }) => Promise<StreamResponse<import("../gen/models").FileUploadResponse>>;
34
+ uploadImage: (request: Omit<ImageUploadRequest, "file"> & {
35
+ file: StreamFile;
36
+ }) => Promise<StreamResponse<import("../gen/models").ImageUploadResponse>>;
37
+ queryPollAnswers: (request: QueryPollVotesRequest & {
38
+ poll_id: string;
39
+ user_id?: string;
40
+ }) => Promise<StreamResponse<PollVotesResponse>>;
41
+ queryPollOptionVotes: (request: QueryPollVotesRequest & {
42
+ filter: QueryPollVotesRequest["filter"] & {
43
+ option_id: string;
44
+ };
45
+ poll_id: string;
46
+ user_id?: string;
47
+ }) => Promise<StreamResponse<PollVotesResponse>>;
48
+ disconnectUser: () => Promise<void>;
49
+ on: (eventName: "network.changed" | "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed", handler: (event: FeedsEvent & {
50
+ fid?: string;
51
+ }) => void) => () => void;
52
+ off: (eventName: "network.changed" | "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed", handler: (event: FeedsEvent & {
53
+ fid?: string;
54
+ }) => void) => void;
55
+ feed: (groupId: string, id: string) => Feed;
56
+ queryFeeds(request?: QueryFeedsRequest): Promise<{
57
+ feeds: Feed[];
58
+ next: string | undefined;
59
+ prev: string | undefined;
60
+ metadata: import("../common/types").RequestMetadata;
61
+ duration: string;
62
+ }>;
63
+ updateNetworkConnectionStatus: (event: {
64
+ type: "online" | "offline";
65
+ } | Event) => void;
66
+ updateFollow(request: UpdateFollowRequest): Promise<StreamResponse<import("../gen/models").UpdateFollowResponse>>;
67
+ follow(request: FollowRequest): Promise<StreamResponse<import("../gen/models").SingleFollowResponse>>;
68
+ followBatch(request: FollowBatchRequest): Promise<StreamResponse<import("../gen/models").FollowBatchResponse>>;
69
+ unfollow(request: FollowRequest): Promise<StreamResponse<import("../gen/models").UnfollowResponse>>;
70
+ stopWatchingFeed(request: {
71
+ feed_group_id: string;
72
+ feed_id: string;
73
+ }): Promise<StreamResponse<import("../gen/models").Response>>;
74
+ private readonly getOrCreateActiveFeed;
75
+ private findActiveFeedByActivityId;
76
+ }
@@ -0,0 +1,2 @@
1
+ export * from './feeds-client';
2
+ export * from './event-handlers';