@stream-io/feeds-client 0.1.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 (96) hide show
  1. package/@react-bindings/index.ts +2 -0
  2. package/CHANGELOG.md +44 -0
  3. package/LICENSE +219 -0
  4. package/README.md +9 -0
  5. package/dist/@react-bindings/hooks/useComments.d.ts +12 -0
  6. package/dist/@react-bindings/hooks/useStateStore.d.ts +3 -0
  7. package/dist/@react-bindings/index.d.ts +2 -0
  8. package/dist/index-react-bindings.browser.cjs +56 -0
  9. package/dist/index-react-bindings.browser.cjs.map +1 -0
  10. package/dist/index-react-bindings.browser.js +53 -0
  11. package/dist/index-react-bindings.browser.js.map +1 -0
  12. package/dist/index-react-bindings.node.cjs +56 -0
  13. package/dist/index-react-bindings.node.cjs.map +1 -0
  14. package/dist/index-react-bindings.node.js +53 -0
  15. package/dist/index-react-bindings.node.js.map +1 -0
  16. package/dist/index.browser.cjs +5799 -0
  17. package/dist/index.browser.cjs.map +1 -0
  18. package/dist/index.browser.js +5782 -0
  19. package/dist/index.browser.js.map +1 -0
  20. package/dist/index.d.ts +13 -0
  21. package/dist/index.node.cjs +5799 -0
  22. package/dist/index.node.cjs.map +1 -0
  23. package/dist/index.node.js +5782 -0
  24. package/dist/index.node.js.map +1 -0
  25. package/dist/src/Feed.d.ts +109 -0
  26. package/dist/src/FeedsClient.d.ts +63 -0
  27. package/dist/src/ModerationClient.d.ts +3 -0
  28. package/dist/src/common/ActivitySearchSource.d.ts +17 -0
  29. package/dist/src/common/ApiClient.d.ts +20 -0
  30. package/dist/src/common/BaseSearchSource.d.ts +87 -0
  31. package/dist/src/common/ConnectionIdManager.d.ts +11 -0
  32. package/dist/src/common/EventDispatcher.d.ts +11 -0
  33. package/dist/src/common/FeedSearchSource.d.ts +17 -0
  34. package/dist/src/common/Poll.d.ts +34 -0
  35. package/dist/src/common/SearchController.d.ts +41 -0
  36. package/dist/src/common/StateStore.d.ts +124 -0
  37. package/dist/src/common/TokenManager.d.ts +29 -0
  38. package/dist/src/common/UserSearchSource.d.ts +17 -0
  39. package/dist/src/common/gen-imports.d.ts +2 -0
  40. package/dist/src/common/rate-limit.d.ts +2 -0
  41. package/dist/src/common/real-time/StableWSConnection.d.ts +144 -0
  42. package/dist/src/common/real-time/event-models.d.ts +36 -0
  43. package/dist/src/common/types.d.ts +29 -0
  44. package/dist/src/common/utils.d.ts +54 -0
  45. package/dist/src/gen/feeds/FeedApi.d.ts +26 -0
  46. package/dist/src/gen/feeds/FeedsApi.d.ts +237 -0
  47. package/dist/src/gen/model-decoders/decoders.d.ts +3 -0
  48. package/dist/src/gen/model-decoders/event-decoder-mapping.d.ts +6 -0
  49. package/dist/src/gen/models/index.d.ts +3437 -0
  50. package/dist/src/gen/moderation/ModerationApi.d.ts +21 -0
  51. package/dist/src/gen-imports.d.ts +3 -0
  52. package/dist/src/state-updates/activity-reaction-utils.d.ts +10 -0
  53. package/dist/src/state-updates/activity-utils.d.ts +13 -0
  54. package/dist/src/state-updates/bookmark-utils.d.ts +14 -0
  55. package/dist/src/types-internal.d.ts +4 -0
  56. package/dist/src/types.d.ts +13 -0
  57. package/dist/src/utils.d.ts +1 -0
  58. package/dist/tsconfig.tsbuildinfo +1 -0
  59. package/index.ts +13 -0
  60. package/package.json +85 -0
  61. package/src/Feed.ts +1070 -0
  62. package/src/FeedsClient.ts +352 -0
  63. package/src/ModerationClient.ts +3 -0
  64. package/src/common/ActivitySearchSource.ts +46 -0
  65. package/src/common/ApiClient.ts +197 -0
  66. package/src/common/BaseSearchSource.ts +238 -0
  67. package/src/common/ConnectionIdManager.ts +51 -0
  68. package/src/common/EventDispatcher.ts +52 -0
  69. package/src/common/FeedSearchSource.ts +94 -0
  70. package/src/common/Poll.ts +313 -0
  71. package/src/common/SearchController.ts +152 -0
  72. package/src/common/StateStore.ts +314 -0
  73. package/src/common/TokenManager.ts +112 -0
  74. package/src/common/UserSearchSource.ts +93 -0
  75. package/src/common/gen-imports.ts +2 -0
  76. package/src/common/rate-limit.ts +23 -0
  77. package/src/common/real-time/StableWSConnection.ts +761 -0
  78. package/src/common/real-time/event-models.ts +38 -0
  79. package/src/common/types.ts +40 -0
  80. package/src/common/utils.ts +194 -0
  81. package/src/gen/feeds/FeedApi.ts +129 -0
  82. package/src/gen/feeds/FeedsApi.ts +2192 -0
  83. package/src/gen/model-decoders/decoders.ts +1877 -0
  84. package/src/gen/model-decoders/event-decoder-mapping.ts +150 -0
  85. package/src/gen/models/index.ts +5882 -0
  86. package/src/gen/moderation/ModerationApi.ts +270 -0
  87. package/src/gen-imports.ts +3 -0
  88. package/src/state-updates/activity-reaction-utils.test.ts +348 -0
  89. package/src/state-updates/activity-reaction-utils.ts +107 -0
  90. package/src/state-updates/activity-utils.test.ts +257 -0
  91. package/src/state-updates/activity-utils.ts +80 -0
  92. package/src/state-updates/bookmark-utils.test.ts +383 -0
  93. package/src/state-updates/bookmark-utils.ts +157 -0
  94. package/src/types-internal.ts +5 -0
  95. package/src/types.ts +20 -0
  96. package/src/utils.ts +4 -0
@@ -0,0 +1,150 @@
1
+ import { WSEvent } from '../models';
2
+ import { decoders } from '../model-decoders/decoders';
3
+
4
+ const eventDecoderMapping: Record<
5
+ WSEvent['type'],
6
+ (data: Record<string, any>) => WSEvent
7
+ > = {
8
+ 'app.updated': (data: Record<string, any>) => decoders.AppUpdatedEvent(data),
9
+
10
+ 'feeds.activity.added': (data: Record<string, any>) =>
11
+ decoders.ActivityAddedEvent(data),
12
+
13
+ 'feeds.activity.deleted': (data: Record<string, any>) =>
14
+ decoders.ActivityDeletedEvent(data),
15
+
16
+ 'feeds.activity.marked': (data: Record<string, any>) =>
17
+ decoders.ActivityMarkEvent(data),
18
+
19
+ 'feeds.activity.pinned': (data: Record<string, any>) =>
20
+ decoders.ActivityPinnedEvent(data),
21
+
22
+ 'feeds.activity.reaction.added': (data: Record<string, any>) =>
23
+ decoders.ActivityReactionAddedEvent(data),
24
+
25
+ 'feeds.activity.reaction.deleted': (data: Record<string, any>) =>
26
+ decoders.ActivityReactionDeletedEvent(data),
27
+
28
+ 'feeds.activity.reaction.updated': (data: Record<string, any>) =>
29
+ decoders.ActivityReactionUpdatedEvent(data),
30
+
31
+ 'feeds.activity.removed_from_feed': (data: Record<string, any>) =>
32
+ decoders.ActivityRemovedFromFeedEvent(data),
33
+
34
+ 'feeds.activity.unpinned': (data: Record<string, any>) =>
35
+ decoders.ActivityUnpinnedEvent(data),
36
+
37
+ 'feeds.activity.updated': (data: Record<string, any>) =>
38
+ decoders.ActivityUpdatedEvent(data),
39
+
40
+ 'feeds.bookmark.added': (data: Record<string, any>) =>
41
+ decoders.BookmarkAddedEvent(data),
42
+
43
+ 'feeds.bookmark.deleted': (data: Record<string, any>) =>
44
+ decoders.BookmarkDeletedEvent(data),
45
+
46
+ 'feeds.bookmark.updated': (data: Record<string, any>) =>
47
+ decoders.BookmarkUpdatedEvent(data),
48
+
49
+ 'feeds.comment.added': (data: Record<string, any>) =>
50
+ decoders.CommentAddedEvent(data),
51
+
52
+ 'feeds.comment.deleted': (data: Record<string, any>) =>
53
+ decoders.CommentDeletedEvent(data),
54
+
55
+ 'feeds.comment.reaction.added': (data: Record<string, any>) =>
56
+ decoders.CommentReactionAddedEvent(data),
57
+
58
+ 'feeds.comment.reaction.deleted': (data: Record<string, any>) =>
59
+ decoders.CommentReactionDeletedEvent(data),
60
+
61
+ 'feeds.comment.reaction.updated': (data: Record<string, any>) =>
62
+ decoders.CommentReactionUpdatedEvent(data),
63
+
64
+ 'feeds.comment.updated': (data: Record<string, any>) =>
65
+ decoders.CommentUpdatedEvent(data),
66
+
67
+ 'feeds.feed.created': (data: Record<string, any>) =>
68
+ decoders.FeedCreatedEvent(data),
69
+
70
+ 'feeds.feed.deleted': (data: Record<string, any>) =>
71
+ decoders.FeedDeletedEvent(data),
72
+
73
+ 'feeds.feed.updated': (data: Record<string, any>) =>
74
+ decoders.FeedUpdatedEvent(data),
75
+
76
+ 'feeds.feed_group.changed': (data: Record<string, any>) =>
77
+ decoders.FeedGroupChangedEvent(data),
78
+
79
+ 'feeds.feed_group.deleted': (data: Record<string, any>) =>
80
+ decoders.FeedGroupDeletedEvent(data),
81
+
82
+ 'feeds.feed_member.added': (data: Record<string, any>) =>
83
+ decoders.FeedMemberAddedEvent(data),
84
+
85
+ 'feeds.feed_member.removed': (data: Record<string, any>) =>
86
+ decoders.FeedMemberRemovedEvent(data),
87
+
88
+ 'feeds.feed_member.updated': (data: Record<string, any>) =>
89
+ decoders.FeedMemberUpdatedEvent(data),
90
+
91
+ 'feeds.follow.created': (data: Record<string, any>) =>
92
+ decoders.FollowCreatedEvent(data),
93
+
94
+ 'feeds.follow.deleted': (data: Record<string, any>) =>
95
+ decoders.FollowDeletedEvent(data),
96
+
97
+ 'feeds.follow.updated': (data: Record<string, any>) =>
98
+ decoders.FollowUpdatedEvent(data),
99
+
100
+ 'feeds.poll.closed': (data: Record<string, any>) =>
101
+ decoders.PollClosedFeedEvent(data),
102
+
103
+ 'feeds.poll.deleted': (data: Record<string, any>) =>
104
+ decoders.PollDeletedFeedEvent(data),
105
+
106
+ 'feeds.poll.updated': (data: Record<string, any>) =>
107
+ decoders.PollUpdatedFeedEvent(data),
108
+
109
+ 'feeds.poll.vote_casted': (data: Record<string, any>) =>
110
+ decoders.PollVoteCastedFeedEvent(data),
111
+
112
+ 'feeds.poll.vote_changed': (data: Record<string, any>) =>
113
+ decoders.PollVoteChangedFeedEvent(data),
114
+
115
+ 'feeds.poll.vote_removed': (data: Record<string, any>) =>
116
+ decoders.PollVoteRemovedFeedEvent(data),
117
+
118
+ 'health.check': (data: Record<string, any>) =>
119
+ decoders.HealthCheckEvent(data),
120
+
121
+ 'moderation.custom_action': (data: Record<string, any>) =>
122
+ decoders.ModerationCustomActionEvent(data),
123
+
124
+ 'moderation.flagged': (data: Record<string, any>) =>
125
+ decoders.ModerationFlaggedEvent(data),
126
+
127
+ 'moderation.mark_reviewed': (data: Record<string, any>) =>
128
+ decoders.ModerationMarkReviewedEvent(data),
129
+
130
+ 'user.banned': (data: Record<string, any>) => decoders.UserBannedEvent(data),
131
+
132
+ 'user.deactivated': (data: Record<string, any>) =>
133
+ decoders.UserDeactivatedEvent(data),
134
+
135
+ 'user.muted': (data: Record<string, any>) => decoders.UserMutedEvent(data),
136
+
137
+ 'user.reactivated': (data: Record<string, any>) =>
138
+ decoders.UserReactivatedEvent(data),
139
+
140
+ 'user.updated': (data: Record<string, any>) =>
141
+ decoders.UserUpdatedEvent(data),
142
+ };
143
+
144
+ export const decodeWSEvent = (data: { type: string } & Record<string, any>) => {
145
+ if (Object.hasOwn(eventDecoderMapping, data.type)) {
146
+ return eventDecoderMapping[data.type as WSEvent['type']](data);
147
+ } else {
148
+ return data;
149
+ }
150
+ };