@stream-io/feeds-client 0.3.1 → 0.3.3

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 (32) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/index.js +2 -1
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/react-bindings.js +1 -1
  5. package/dist/es/index.mjs +3 -2
  6. package/dist/es/index.mjs.map +1 -1
  7. package/dist/es/react-bindings.mjs +1 -1
  8. package/dist/{feeds-client-DJG_rRVO.mjs → feeds-client-BWaXWhhB.mjs} +48 -14
  9. package/dist/feeds-client-BWaXWhhB.mjs.map +1 -0
  10. package/dist/{feeds-client-CttWroOS.js → feeds-client-Ddac-BnP.js} +48 -14
  11. package/dist/feeds-client-Ddac-BnP.js.map +1 -0
  12. package/dist/types/feed/event-handlers/activity/handle-activity-added.d.ts.map +1 -1
  13. package/dist/types/feed/event-handlers/activity-updater.d.ts +2 -0
  14. package/dist/types/feed/event-handlers/activity-updater.d.ts.map +1 -1
  15. package/dist/types/feed/feed.d.ts +4 -2
  16. package/dist/types/feed/feed.d.ts.map +1 -1
  17. package/dist/types/feeds-client/feeds-client.d.ts +12 -2
  18. package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
  19. package/dist/types/gen/feeds/FeedsApi.d.ts.map +1 -1
  20. package/dist/types/gen/models/index.d.ts +64 -7
  21. package/dist/types/gen/models/index.d.ts.map +1 -1
  22. package/dist/types/gen/moderation/ModerationApi.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/feed/event-handlers/activity/handle-activity-added.ts +5 -0
  25. package/src/feed/feed.ts +9 -0
  26. package/src/feeds-client/feeds-client.ts +23 -8
  27. package/src/gen/feeds/FeedsApi.ts +2 -0
  28. package/src/gen/model-decoders/decoders.ts +31 -2
  29. package/src/gen/models/index.ts +118 -9
  30. package/src/gen/moderation/ModerationApi.ts +3 -0
  31. package/dist/feeds-client-CttWroOS.js.map +0 -1
  32. package/dist/feeds-client-DJG_rRVO.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import require$$0, { useCallback, useMemo, useState, useEffect, createContext, useContext, useRef } from "react";
2
2
  import "@stream-io/state-store";
3
- import { F as FeedsClient, g as isCommentResponse, c as checkHasAnotherPage } from "../feeds-client-DJG_rRVO.mjs";
3
+ import { F as FeedsClient, g as isCommentResponse, c as checkHasAnotherPage } from "../feeds-client-BWaXWhhB.mjs";
4
4
  import "@stream-io/logger";
5
5
  import "axios";
6
6
  var shim = { exports: {} };
@@ -378,7 +378,7 @@ decoders.ChannelMember = (input) => {
378
378
  invite_accepted_at: { type: "DatetimeType", isSingle: true },
379
379
  invite_rejected_at: { type: "DatetimeType", isSingle: true },
380
380
  pinned_at: { type: "DatetimeType", isSingle: true },
381
- user: { type: "UserResponse", isSingle: true }
381
+ user: { type: "User", isSingle: true }
382
382
  };
383
383
  return decode(typeMappings, input);
384
384
  };
@@ -390,6 +390,20 @@ decoders.ChannelMemberLookup = (input) => {
390
390
  };
391
391
  return decode(typeMappings, input);
392
392
  };
393
+ decoders.ChannelMemberResponse = (input) => {
394
+ const typeMappings = {
395
+ created_at: { type: "DatetimeType", isSingle: true },
396
+ updated_at: { type: "DatetimeType", isSingle: true },
397
+ archived_at: { type: "DatetimeType", isSingle: true },
398
+ ban_expires: { type: "DatetimeType", isSingle: true },
399
+ deleted_at: { type: "DatetimeType", isSingle: true },
400
+ invite_accepted_at: { type: "DatetimeType", isSingle: true },
401
+ invite_rejected_at: { type: "DatetimeType", isSingle: true },
402
+ pinned_at: { type: "DatetimeType", isSingle: true },
403
+ user: { type: "UserResponse", isSingle: true }
404
+ };
405
+ return decode(typeMappings, input);
406
+ };
393
407
  decoders.ChannelMute = (input) => {
394
408
  const typeMappings = {
395
409
  created_at: { type: "DatetimeType", isSingle: true },
@@ -409,7 +423,7 @@ decoders.ChannelResponse = (input) => {
409
423
  last_message_at: { type: "DatetimeType", isSingle: true },
410
424
  mute_expires_at: { type: "DatetimeType", isSingle: true },
411
425
  truncated_at: { type: "DatetimeType", isSingle: true },
412
- members: { type: "ChannelMember", isSingle: false },
426
+ members: { type: "ChannelMemberResponse", isSingle: false },
413
427
  config: { type: "ChannelConfigWithInfo", isSingle: true },
414
428
  created_by: { type: "UserResponse", isSingle: true },
415
429
  truncated_by: { type: "UserResponse", isSingle: true }
@@ -877,6 +891,7 @@ decoders.MessageResponse = (input) => {
877
891
  pinned_at: { type: "DatetimeType", isSingle: true },
878
892
  thread_participants: { type: "UserResponse", isSingle: false },
879
893
  draft: { type: "DraftResponse", isSingle: true },
894
+ member: { type: "ChannelMemberResponse", isSingle: true },
880
895
  pinned_by: { type: "UserResponse", isSingle: true },
881
896
  poll: { type: "PollResponseData", isSingle: true },
882
897
  quoted_message: { type: "MessageResponse", isSingle: true },
@@ -1216,6 +1231,8 @@ decoders.ReviewQueueItemResponse = (input) => {
1216
1231
  call: { type: "CallResponse", isSingle: true },
1217
1232
  entity_creator: { type: "EntityCreatorResponse", isSingle: true },
1218
1233
  feeds_v2_reaction: { type: "Reaction", isSingle: true },
1234
+ feeds_v3_activity: { type: "ActivityResponse", isSingle: true },
1235
+ feeds_v3_comment: { type: "CommentResponse", isSingle: true },
1219
1236
  message: { type: "MessageResponse", isSingle: true },
1220
1237
  reaction: { type: "Reaction", isSingle: true }
1221
1238
  };
@@ -1589,6 +1606,7 @@ class FeedsApi {
1589
1606
  id: request?.id,
1590
1607
  parent_id: request?.parent_id,
1591
1608
  poll_id: request?.poll_id,
1609
+ restrict_replies: request?.restrict_replies,
1592
1610
  text: request?.text,
1593
1611
  visibility: request?.visibility,
1594
1612
  visibility_tag: request?.visibility_tag,
@@ -1878,6 +1896,7 @@ class FeedsApi {
1878
1896
  const body = {
1879
1897
  expires_at: request?.expires_at,
1880
1898
  poll_id: request?.poll_id,
1899
+ restrict_replies: request?.restrict_replies,
1881
1900
  text: request?.text,
1882
1901
  visibility: request?.visibility,
1883
1902
  attachments: request?.attachments,
@@ -3745,7 +3764,7 @@ const getRateLimitFromResponseHeader = (response_headers) => {
3745
3764
  };
3746
3765
  return result;
3747
3766
  };
3748
- const version = "0.3.1";
3767
+ const version = "0.3.3";
3749
3768
  class ApiClient {
3750
3769
  constructor(apiKey, tokenManager, connectionIdManager, options) {
3751
3770
  this.apiKey = apiKey;
@@ -4138,12 +4157,15 @@ class ModerationApi {
4138
4157
  action_type: request?.action_type,
4139
4158
  item_id: request?.item_id,
4140
4159
  ban: request?.ban,
4160
+ block: request?.block,
4141
4161
  custom: request?.custom,
4142
4162
  delete_activity: request?.delete_activity,
4163
+ delete_comment: request?.delete_comment,
4143
4164
  delete_message: request?.delete_message,
4144
4165
  delete_reaction: request?.delete_reaction,
4145
4166
  delete_user: request?.delete_user,
4146
4167
  mark_reviewed: request?.mark_reviewed,
4168
+ shadow_block: request?.shadow_block,
4147
4169
  unban: request?.unban
4148
4170
  };
4149
4171
  const response = await this.apiClient.sendRequest(
@@ -5339,6 +5361,11 @@ function addActivitiesToState(newActivities, activities, position) {
5339
5361
  return result;
5340
5362
  }
5341
5363
  function handleActivityAdded(event) {
5364
+ if (this.activityAddedEventFilter) {
5365
+ if (!this.activityAddedEventFilter(event)) {
5366
+ return;
5367
+ }
5368
+ }
5342
5369
  const currentActivities = this.currentState.activities;
5343
5370
  const result = addActivitiesToState.bind(this)(
5344
5371
  [event.activity],
@@ -6033,8 +6060,9 @@ function handleActivityFeedback(event) {
6033
6060
  }
6034
6061
  }
6035
6062
  const _Feed = class _Feed extends FeedApi {
6036
- constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start") {
6063
+ constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start", activityAddedEventFilter) {
6037
6064
  super(client, groupId, id);
6065
+ this.activityAddedEventFilter = activityAddedEventFilter;
6038
6066
  this.indexedActivityIds = /* @__PURE__ */ new Set();
6039
6067
  this.stateUpdateQueue = /* @__PURE__ */ new Set();
6040
6068
  this.eventHandlers = {
@@ -6130,6 +6158,11 @@ const _Feed = class _Feed extends FeedApi {
6130
6158
  hasActivity(activityId) {
6131
6159
  return this.indexedActivityIds.has(activityId);
6132
6160
  }
6161
+ hasPinnedActivity(activityId) {
6162
+ return this.currentState.pinned_activities?.some(
6163
+ (pinnedActivity) => pinnedActivity.activity.id === activityId
6164
+ );
6165
+ }
6133
6166
  async synchronize() {
6134
6167
  const { last_get_or_create_request_config } = this.state.getLatestValue();
6135
6168
  if (last_get_or_create_request_config?.watch) {
@@ -6561,6 +6594,7 @@ const _Feed = class _Feed extends FeedApi {
6561
6594
  following_pagination: {
6562
6595
  limit: 0
6563
6596
  },
6597
+ filter: currentState.last_get_or_create_request_config?.filter,
6564
6598
  next: currentState.next,
6565
6599
  limit: currentState.last_get_or_create_request_config?.limit ?? 20
6566
6600
  });
@@ -6970,7 +7004,8 @@ class FeedsClient extends FeedsApi {
6970
7004
  id,
6971
7005
  void 0,
6972
7006
  void 0,
6973
- options2?.addNewActivitiesTo
7007
+ options2?.addNewActivitiesTo,
7008
+ options2?.activityAddedEventFilter
6974
7009
  );
6975
7010
  };
6976
7011
  this.updateNetworkConnectionStatus = (event) => {
@@ -6980,7 +7015,7 @@ class FeedsClient extends FeedsApi {
6980
7015
  };
6981
7016
  this.eventDispatcher.dispatch(networkEvent);
6982
7017
  };
6983
- this.getOrCreateActiveFeed = (group, id, data, watch, addNewActivitiesTo) => {
7018
+ this.getOrCreateActiveFeed = (group, id, data, watch, addNewActivitiesTo, activityAddedEventFilter) => {
6984
7019
  const fid = `${group}:${id}`;
6985
7020
  if (!this.activeFeeds[fid]) {
6986
7021
  this.activeFeeds[fid] = new Feed(
@@ -6989,7 +7024,8 @@ class FeedsClient extends FeedsApi {
6989
7024
  id,
6990
7025
  data,
6991
7026
  watch,
6992
- addNewActivitiesTo
7027
+ addNewActivitiesTo,
7028
+ activityAddedEventFilter
6993
7029
  );
6994
7030
  }
6995
7031
  const feed = this.activeFeeds[fid];
@@ -7099,13 +7135,13 @@ class FeedsClient extends FeedsApi {
7099
7135
  case "feeds.bookmark.deleted":
7100
7136
  case "feeds.bookmark.updated": {
7101
7137
  const activityId = event.bookmark.activity.id;
7102
- const feeds = this.findActiveFeedByActivityId(activityId);
7138
+ const feeds = this.findActiveFeedsByActivityId(activityId);
7103
7139
  feeds.forEach((f) => f.handleWSEvent(event));
7104
7140
  break;
7105
7141
  }
7106
7142
  case "feeds.activity.feedback": {
7107
7143
  const activityId = event.activity_feedback.activity_id;
7108
- const feeds = this.findActiveFeedByActivityId(activityId);
7144
+ const feeds = this.findActiveFeedsByActivityId(activityId);
7109
7145
  feeds.forEach((f) => f.handleWSEvent(event));
7110
7146
  break;
7111
7147
  }
@@ -7243,11 +7279,9 @@ class FeedsClient extends FeedsApi {
7243
7279
  }
7244
7280
  return response;
7245
7281
  }
7246
- findActiveFeedByActivityId(activityId) {
7282
+ findActiveFeedsByActivityId(activityId) {
7247
7283
  return Object.values(this.activeFeeds).filter(
7248
- (feed) => feed.currentState.activities?.some(
7249
- (activity) => activity.id === activityId
7250
- )
7284
+ (feed) => feed.hasActivity(activityId) || feed.hasPinnedActivity(activityId)
7251
7285
  );
7252
7286
  }
7253
7287
  }
@@ -7274,4 +7308,4 @@ export {
7274
7308
  shouldUpdateState as s,
7275
7309
  uniqueArrayMerge as u
7276
7310
  };
7277
- //# sourceMappingURL=feeds-client-DJG_rRVO.mjs.map
7311
+ //# sourceMappingURL=feeds-client-BWaXWhhB.mjs.map