@stream-io/feeds-client 0.2.9 → 0.2.10

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 (87) hide show
  1. package/CHANGELOG.md +7 -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/react-bindings.mjs +1 -1
  7. package/dist/{index-B0Mm2xFU.js → index-C49kZoN7.js} +273 -51
  8. package/dist/index-C49kZoN7.js.map +1 -0
  9. package/dist/{index-rSXIDTdA.mjs → index-EeFSq3sq.mjs} +273 -51
  10. package/dist/index-EeFSq3sq.mjs.map +1 -0
  11. package/dist/tsconfig.tsbuildinfo +1 -1
  12. package/dist/types/feed/event-handlers/activity/handle-activity-reaction-added.d.ts +4 -5
  13. package/dist/types/feed/event-handlers/activity/handle-activity-reaction-added.d.ts.map +1 -1
  14. package/dist/types/feed/event-handlers/activity/handle-activity-reaction-deleted.d.ts +1 -2
  15. package/dist/types/feed/event-handlers/activity/handle-activity-reaction-deleted.d.ts.map +1 -1
  16. package/dist/types/feed/event-handlers/activity/handle-activity-updated.d.ts +6 -5
  17. package/dist/types/feed/event-handlers/activity/handle-activity-updated.d.ts.map +1 -1
  18. package/dist/types/feed/event-handlers/comment/handle-comment-added.d.ts +4 -3
  19. package/dist/types/feed/event-handlers/comment/handle-comment-added.d.ts.map +1 -1
  20. package/dist/types/feed/event-handlers/comment/handle-comment-deleted.d.ts +4 -3
  21. package/dist/types/feed/event-handlers/comment/handle-comment-deleted.d.ts.map +1 -1
  22. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-added.d.ts +5 -0
  23. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-added.d.ts.map +1 -0
  24. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-deleted.d.ts +5 -0
  25. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-deleted.d.ts.map +1 -0
  26. package/dist/types/feed/event-handlers/comment/handle-comment-updated.d.ts +4 -3
  27. package/dist/types/feed/event-handlers/comment/handle-comment-updated.d.ts.map +1 -1
  28. package/dist/types/feed/event-handlers/comment/index.d.ts +2 -1
  29. package/dist/types/feed/event-handlers/comment/index.d.ts.map +1 -1
  30. package/dist/types/feed/event-handlers/comment/utils/index.d.ts +2 -0
  31. package/dist/types/feed/event-handlers/comment/utils/index.d.ts.map +1 -0
  32. package/dist/types/feed/event-handlers/comment/utils/update-comment-count.d.ts +8 -0
  33. package/dist/types/feed/event-handlers/comment/utils/update-comment-count.d.ts.map +1 -0
  34. package/dist/types/feed/feed.d.ts.map +1 -1
  35. package/dist/types/feeds-client/feeds-client.d.ts +19 -1
  36. package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
  37. package/dist/types/types-internal.d.ts +4 -2
  38. package/dist/types/types-internal.d.ts.map +1 -1
  39. package/dist/types/utils/ensure-exhausted.d.ts +2 -0
  40. package/dist/types/utils/ensure-exhausted.d.ts.map +1 -0
  41. package/dist/types/utils/event-triggered-by-connected-user.d.ts +6 -0
  42. package/dist/types/utils/event-triggered-by-connected-user.d.ts.map +1 -0
  43. package/dist/types/utils/index.d.ts +1 -0
  44. package/dist/types/utils/index.d.ts.map +1 -1
  45. package/dist/types/utils/logger.d.ts +10 -1
  46. package/dist/types/utils/logger.d.ts.map +1 -1
  47. package/dist/types/utils/state-update-queue.d.ts +22 -2
  48. package/dist/types/utils/state-update-queue.d.ts.map +1 -1
  49. package/dist/types/utils/type-assertions.d.ts +2 -5
  50. package/dist/types/utils/type-assertions.d.ts.map +1 -1
  51. package/package.json +1 -1
  52. package/src/feed/event-handlers/activity/handle-activity-reaction-added.ts +15 -10
  53. package/src/feed/event-handlers/activity/handle-activity-reaction-deleted.test.ts +1 -1
  54. package/src/feed/event-handlers/activity/handle-activity-reaction-deleted.ts +1 -1
  55. package/src/feed/event-handlers/activity/handle-activity-updated.test.ts +131 -1
  56. package/src/feed/event-handlers/activity/handle-activity-updated.ts +38 -15
  57. package/src/feed/event-handlers/comment/handle-comment-added.test.ts +131 -7
  58. package/src/feed/event-handlers/comment/handle-comment-added.ts +24 -4
  59. package/src/feed/event-handlers/comment/handle-comment-deleted.test.ts +124 -2
  60. package/src/feed/event-handlers/comment/handle-comment-deleted.ts +29 -3
  61. package/src/feed/event-handlers/comment/{handle-comment-reaction.test.ts → handle-comment-reaction-added.test.ts} +152 -138
  62. package/src/feed/event-handlers/comment/handle-comment-reaction-added.ts +72 -0
  63. package/src/feed/event-handlers/comment/handle-comment-reaction-deleted.test.ts +343 -0
  64. package/src/feed/event-handlers/comment/handle-comment-reaction-deleted.ts +74 -0
  65. package/src/feed/event-handlers/comment/handle-comment-updated.test.ts +137 -1
  66. package/src/feed/event-handlers/comment/handle-comment-updated.ts +29 -4
  67. package/src/feed/event-handlers/comment/index.ts +3 -1
  68. package/src/feed/event-handlers/comment/utils/index.ts +1 -0
  69. package/src/feed/event-handlers/comment/utils/update-comment-count.test.ts +320 -0
  70. package/src/feed/event-handlers/comment/utils/update-comment-count.ts +51 -0
  71. package/src/feed/event-handlers/follow/handle-follow-deleted.ts +1 -1
  72. package/src/feed/feed.ts +4 -3
  73. package/src/feeds-client/feeds-client.ts +104 -0
  74. package/src/test-utils/response-generators.ts +18 -1
  75. package/src/types-internal.ts +4 -4
  76. package/src/utils/ensure-exhausted.ts +5 -0
  77. package/src/utils/event-triggered-by-connected-user.test.ts +73 -0
  78. package/src/utils/event-triggered-by-connected-user.ts +15 -0
  79. package/src/utils/index.ts +2 -1
  80. package/src/utils/logger.ts +2 -1
  81. package/src/utils/state-update-queue.ts +89 -25
  82. package/src/utils/type-assertions.ts +2 -3
  83. package/dist/index-B0Mm2xFU.js.map +0 -1
  84. package/dist/index-rSXIDTdA.mjs.map +0 -1
  85. package/dist/types/feed/event-handlers/comment/handle-comment-reaction.d.ts +0 -4
  86. package/dist/types/feed/event-handlers/comment/handle-comment-reaction.d.ts.map +0 -1
  87. package/src/feed/event-handlers/comment/handle-comment-reaction.ts +0 -61
@@ -1,4 +0,0 @@
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;
4
- //# sourceMappingURL=handle-comment-reaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-comment-reaction.d.ts","sourceRoot":"","sources":["../../../../../src/feed/event-handlers/comment/handle-comment-reaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,YAAY,CACjB,8BAA8B,GAAG,gCAAgC,CAClE,QAoDF"}
@@ -1,61 +0,0 @@
1
- import { Feed } from '../../../feed';
2
- import { CommentResponse } from '../../../gen/models';
3
- import { EventPayload } from '../../../types-internal';
4
-
5
- export function handleCommentReaction(
6
- this: Feed,
7
- event: EventPayload<
8
- 'feeds.comment.reaction.added' | 'feeds.comment.reaction.deleted'
9
- >,
10
- ) {
11
- const { comment, reaction } = event;
12
- const connectedUser = this.client.state.getLatestValue().connected_user;
13
-
14
- this.state.next((currentState) => {
15
- const forId = comment.parent_id ?? comment.object_id;
16
- const entityState = currentState.comments_by_entity_id[forId];
17
-
18
- const commentIndex = this.getCommentIndex(comment, currentState);
19
-
20
- if (commentIndex === -1) return currentState;
21
-
22
- const newComments = entityState?.comments?.concat([]) ?? [];
23
-
24
- const commentCopy: Partial<CommentResponse> = { ...comment };
25
-
26
- delete commentCopy.own_reactions;
27
-
28
- const newComment: CommentResponse = {
29
- ...newComments[commentIndex],
30
- ...commentCopy,
31
- // TODO: FIXME this should be handled by the backend
32
- latest_reactions: commentCopy.latest_reactions ?? [],
33
- reaction_groups: commentCopy.reaction_groups ?? {},
34
- };
35
-
36
- newComments[commentIndex] = newComment;
37
-
38
- if (reaction.user.id === connectedUser?.id) {
39
- if (event.type === 'feeds.comment.reaction.added') {
40
- newComment.own_reactions = newComment.own_reactions.concat(
41
- reaction,
42
- ) ?? [reaction];
43
- } else if (event.type === 'feeds.comment.reaction.deleted') {
44
- newComment.own_reactions = newComment.own_reactions.filter(
45
- (r) => r.type !== reaction.type,
46
- );
47
- }
48
- }
49
-
50
- return {
51
- ...currentState,
52
- comments_by_entity_id: {
53
- ...currentState.comments_by_entity_id,
54
- [forId]: {
55
- ...entityState,
56
- comments: newComments,
57
- },
58
- },
59
- };
60
- });
61
- }