@stream-io/feeds-client 0.3.37 → 0.3.39

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 (49) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/react-bindings.js +30 -8
  5. package/dist/cjs/react-bindings.js.map +1 -1
  6. package/dist/es/index.mjs +2 -2
  7. package/dist/es/index.mjs.map +1 -1
  8. package/dist/es/react-bindings.mjs +30 -8
  9. package/dist/es/react-bindings.mjs.map +1 -1
  10. package/dist/{feeds-client-DEV6_pkH.js → feeds-client-CT1eKizN.js} +73 -22
  11. package/dist/feeds-client-CT1eKizN.js.map +1 -0
  12. package/dist/{feeds-client-CExHb6GS.mjs → feeds-client-DnryJ-rf.mjs} +73 -22
  13. package/dist/feeds-client-DnryJ-rf.mjs.map +1 -0
  14. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  15. package/dist/types/bindings/react/contexts/StreamActivityWithStateUpdatesContext.d.ts +13 -0
  16. package/dist/types/bindings/react/contexts/StreamActivityWithStateUpdatesContext.d.ts.map +1 -0
  17. package/dist/types/bindings/react/hooks/feed-state-hooks/useActivityComments.d.ts +1 -1
  18. package/dist/types/bindings/react/hooks/feed-state-hooks/useActivityComments.d.ts.map +1 -1
  19. package/dist/types/bindings/react/hooks/useCreateFeedsClient.d.ts +3 -3
  20. package/dist/types/bindings/react/hooks/useCreateFeedsClient.d.ts.map +1 -1
  21. package/dist/types/bindings/react/index.d.ts +2 -0
  22. package/dist/types/bindings/react/index.d.ts.map +1 -1
  23. package/dist/types/bindings/react/wrappers/StreamActivityWithStateUpdates.d.ts +13 -0
  24. package/dist/types/bindings/react/wrappers/StreamActivityWithStateUpdates.d.ts.map +1 -0
  25. package/dist/types/common/real-time/StableWSConnection.d.ts +3 -3
  26. package/dist/types/common/real-time/StableWSConnection.d.ts.map +1 -1
  27. package/dist/types/feed/feed.d.ts +3 -3
  28. package/dist/types/feed/feed.d.ts.map +1 -1
  29. package/dist/types/feeds-client/feeds-client.d.ts +10 -15
  30. package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
  31. package/dist/types/gen/feeds/FeedsApi.d.ts +4 -1
  32. package/dist/types/gen/feeds/FeedsApi.d.ts.map +1 -1
  33. package/dist/types/gen/model-decoders/event-decoder-mapping.d.ts.map +1 -1
  34. package/dist/types/gen/models/index.d.ts +20 -0
  35. package/dist/types/gen/models/index.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/bindings/react/contexts/StreamActivityWithStateUpdatesContext.tsx +19 -0
  38. package/src/bindings/react/hooks/feed-state-hooks/useActivityComments.ts +6 -3
  39. package/src/bindings/react/hooks/useCreateFeedsClient.ts +23 -12
  40. package/src/bindings/react/index.ts +2 -0
  41. package/src/bindings/react/wrappers/StreamActivityWithStateUpdates.tsx +24 -0
  42. package/src/feed/feed.ts +9 -1
  43. package/src/feeds-client/feeds-client.ts +52 -30
  44. package/src/gen/feeds/FeedsApi.ts +26 -0
  45. package/src/gen/model-decoders/decoders.ts +18 -0
  46. package/src/gen/model-decoders/event-decoder-mapping.ts +3 -0
  47. package/src/gen/models/index.ts +28 -0
  48. package/dist/feeds-client-CExHb6GS.mjs.map +0 -1
  49. package/dist/feeds-client-DEV6_pkH.js.map +0 -1
@@ -148,6 +148,14 @@ decoders.ActivityResponse = (input) => {
148
148
  };
149
149
  return decode(typeMappings, input);
150
150
  };
151
+ decoders.ActivityRestoredEvent = (input) => {
152
+ const typeMappings = {
153
+ created_at: { type: "DatetimeType", isSingle: true },
154
+ activity: { type: "ActivityResponse", isSingle: true },
155
+ received_at: { type: "DatetimeType", isSingle: true }
156
+ };
157
+ return decode(typeMappings, input);
158
+ };
151
159
  decoders.ActivityUnpinnedEvent = (input) => {
152
160
  const typeMappings = {
153
161
  created_at: { type: "DatetimeType", isSingle: true },
@@ -1280,6 +1288,12 @@ decoders.ReminderResponseData = (input) => {
1280
1288
  };
1281
1289
  return decode(typeMappings, input);
1282
1290
  };
1291
+ decoders.RestoreActivityResponse = (input) => {
1292
+ const typeMappings = {
1293
+ activity: { type: "ActivityResponse", isSingle: true }
1294
+ };
1295
+ return decode(typeMappings, input);
1296
+ };
1283
1297
  decoders.ReviewQueueItemResponse = (input) => {
1284
1298
  const typeMappings = {
1285
1299
  created_at: { type: "DatetimeType", isSingle: true },
@@ -2009,6 +2023,22 @@ class FeedsApi {
2009
2023
  decoders.UpdateActivityResponse?.(response.body);
2010
2024
  return { ...response.body, metadata: response.metadata };
2011
2025
  }
2026
+ async restoreActivity(request) {
2027
+ const pathParams = {
2028
+ id: request?.id
2029
+ };
2030
+ const body = {};
2031
+ const response = await this.apiClient.sendRequest(
2032
+ "PUT",
2033
+ "/api/v2/feeds/activities/{id}/restore",
2034
+ pathParams,
2035
+ void 0,
2036
+ body,
2037
+ "application/json"
2038
+ );
2039
+ decoders.RestoreActivityResponse?.(response.body);
2040
+ return { ...response.body, metadata: response.metadata };
2041
+ }
2012
2042
  async queryBookmarkFolders(request) {
2013
2043
  const body = {
2014
2044
  limit: request?.limit,
@@ -3967,7 +3997,7 @@ const getRateLimitFromResponseHeader = (response_headers) => {
3967
3997
  };
3968
3998
  return result;
3969
3999
  };
3970
- const version = "0.3.37";
4000
+ const version = "0.3.39";
3971
4001
  const axios = axiosImport.default ?? axiosImport;
3972
4002
  class ApiClient {
3973
4003
  constructor(apiKey, tokenManager, connectionIdManager, options) {
@@ -4151,6 +4181,7 @@ const eventDecoderMapping = {
4151
4181
  "feeds.activity.reaction.deleted": (data) => decoders.ActivityReactionDeletedEvent(data),
4152
4182
  "feeds.activity.reaction.updated": (data) => decoders.ActivityReactionUpdatedEvent(data),
4153
4183
  "feeds.activity.removed_from_feed": (data) => decoders.ActivityRemovedFromFeedEvent(data),
4184
+ "feeds.activity.restored": (data) => decoders.ActivityRestoredEvent(data),
4154
4185
  "feeds.activity.unpinned": (data) => decoders.ActivityUnpinnedEvent(data),
4155
4186
  "feeds.activity.updated": (data) => decoders.ActivityUpdatedEvent(data),
4156
4187
  "feeds.bookmark.added": (data) => decoders.BookmarkAddedEvent(data),
@@ -6466,7 +6497,8 @@ const _Feed = class _Feed extends FeedApi {
6466
6497
  "user.muted": _Feed.noop,
6467
6498
  "user.reactivated": _Feed.noop,
6468
6499
  "user.updated": _Feed.noop,
6469
- "feeds.activity.feedback": handleActivityFeedback.bind(this)
6500
+ "feeds.activity.feedback": handleActivityFeedback.bind(this),
6501
+ "feeds.activity.restored": _Feed.noop
6470
6502
  };
6471
6503
  this.eventDispatcher = new EventDispatcher();
6472
6504
  this.on = this.eventDispatcher.on;
@@ -6931,11 +6963,12 @@ const _Feed = class _Feed extends FeedApi {
6931
6963
  });
6932
6964
  return response;
6933
6965
  }
6934
- async unfollow(feedOrFid) {
6966
+ async unfollow(feedOrFid, options) {
6935
6967
  const fid = typeof feedOrFid === "string" ? feedOrFid : feedOrFid.feed;
6936
6968
  const response = await this.client.unfollow({
6937
6969
  source: this.feed,
6938
- target: fid
6970
+ target: fid,
6971
+ ...options
6939
6972
  });
6940
6973
  return response;
6941
6974
  }
@@ -7355,10 +7388,22 @@ class FeedsClient extends FeedsApi {
7355
7388
  }
7356
7389
  };
7357
7390
  this.pollFromState = (id) => this.polls_by_id.get(id);
7391
+ this.connectAnonymous = () => {
7392
+ this.checkIfUserIsConnected();
7393
+ this.connectionIdManager.resolveConnectionidPromise();
7394
+ this.tokenManager.setTokenOrProvider(void 0);
7395
+ this.setGetBatchOwnFieldsThrottlingInterval(
7396
+ this.query_batch_own_fields_throttling_interval
7397
+ );
7398
+ this.state.partialNext({
7399
+ connected_user: void 0,
7400
+ is_anonymous: true,
7401
+ is_ws_connection_healthy: false
7402
+ });
7403
+ return Promise.resolve();
7404
+ };
7358
7405
  this.connectUser = async (user, tokenProvider) => {
7359
- if (this.state.getLatestValue().connected_user !== void 0 || this.wsConnection) {
7360
- throw new Error(`Can't connect a new user, call "disconnectUser" first`);
7361
- }
7406
+ this.checkIfUserIsConnected();
7362
7407
  this.tokenManager.setTokenOrProvider(tokenProvider);
7363
7408
  this.setGetBatchOwnFieldsThrottlingInterval(
7364
7409
  this.query_batch_own_fields_throttling_interval
@@ -7450,8 +7495,8 @@ class FeedsClient extends FeedsApi {
7450
7495
  }
7451
7496
  return response;
7452
7497
  };
7453
- this.deleteComment = async (request) => {
7454
- const response = await super.deleteComment(request);
7498
+ this.deleteComment = async (...args) => {
7499
+ const response = await super.deleteComment(...args);
7455
7500
  const { activity, comment } = response;
7456
7501
  for (const feed of this.allActiveFeeds) {
7457
7502
  handleCommentDeleted.bind(feed)({ comment }, false);
@@ -7478,8 +7523,8 @@ class FeedsClient extends FeedsApi {
7478
7523
  this.addReaction = (request) => {
7479
7524
  return this.addActivityReaction(request);
7480
7525
  };
7481
- this.deleteActivityReaction = async (request) => {
7482
- const response = await super.deleteActivityReaction(request);
7526
+ this.deleteActivityReaction = async (...args) => {
7527
+ const response = await super.deleteActivityReaction(...args);
7483
7528
  for (const feed of this.allActiveFeeds) {
7484
7529
  handleActivityReactionDeleted.bind(feed)(response, false);
7485
7530
  }
@@ -7497,8 +7542,8 @@ class FeedsClient extends FeedsApi {
7497
7542
  }
7498
7543
  return response;
7499
7544
  };
7500
- this.deleteCommentReaction = async (request) => {
7501
- const response = await super.deleteCommentReaction(request);
7545
+ this.deleteCommentReaction = async (...args) => {
7546
+ const response = await super.deleteCommentReaction(...args);
7502
7547
  for (const feed of this.allActiveFeeds) {
7503
7548
  handleCommentReactionDeleted.bind(feed)(response, false);
7504
7549
  }
@@ -7531,10 +7576,7 @@ class FeedsClient extends FeedsApi {
7531
7576
  this.polls_by_id.clear();
7532
7577
  this.activeActivities = [];
7533
7578
  this.activeFeeds = {};
7534
- this.state.partialNext({
7535
- connected_user: void 0,
7536
- is_ws_connection_healthy: false
7537
- });
7579
+ this.state.partialNext(this.initialState);
7538
7580
  this.cancelGetBatchOwnFieldsTimer();
7539
7581
  clearQueuedFeeds();
7540
7582
  };
@@ -7626,10 +7668,7 @@ class FeedsClient extends FeedsApi {
7626
7668
  }
7627
7669
  return feed;
7628
7670
  };
7629
- this.state = new StateStore({
7630
- connected_user: void 0,
7631
- is_ws_connection_healthy: false
7632
- });
7671
+ this.state = new StateStore(this.initialState);
7633
7672
  this.moderation = new ModerationClient(apiClient);
7634
7673
  this.tokenManager = tokenManager;
7635
7674
  this.connectionIdManager = connectionIdManager;
@@ -7948,6 +7987,18 @@ class FeedsClient extends FeedsApi {
7948
7987
  feeds.forEach((f) => handleFollowDeleted.bind(f)({ follow }, false));
7949
7988
  });
7950
7989
  }
7990
+ get initialState() {
7991
+ return {
7992
+ connected_user: void 0,
7993
+ is_anonymous: false,
7994
+ is_ws_connection_healthy: false
7995
+ };
7996
+ }
7997
+ checkIfUserIsConnected() {
7998
+ if (this.state.getLatestValue().connected_user !== void 0 || this.wsConnection || this.state.getLatestValue().is_anonymous) {
7999
+ throw new Error(`Can't connect a new user, call "disconnectUser" first`);
8000
+ }
8001
+ }
7951
8002
  }
7952
8003
  export {
7953
8004
  ActivityWithStateUpdates as A,
@@ -7972,4 +8023,4 @@ export {
7972
8023
  shouldUpdateState as s,
7973
8024
  uniqueArrayMerge as u
7974
8025
  };
7975
- //# sourceMappingURL=feeds-client-CExHb6GS.mjs.map
8026
+ //# sourceMappingURL=feeds-client-DnryJ-rf.mjs.map