@stream-io/feeds-client 0.1.9 → 0.1.11

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 (167) hide show
  1. package/@react-bindings/hooks/search-state-hooks/index.ts +3 -0
  2. package/@react-bindings/index.ts +5 -0
  3. package/CHANGELOG.md +20 -0
  4. package/dist/@react-bindings/contexts/StreamFeedContext.d.ts +1 -1
  5. package/dist/@react-bindings/contexts/StreamFeedsContext.d.ts +1 -1
  6. package/dist/@react-bindings/contexts/StreamSearchContext.d.ts +12 -0
  7. package/dist/@react-bindings/contexts/StreamSearchResultsContext.d.ts +12 -0
  8. package/dist/@react-bindings/hooks/feed-state-hooks/useComments.d.ts +1 -1
  9. package/dist/@react-bindings/hooks/feed-state-hooks/useFeedActivities.d.ts +1 -1
  10. package/dist/@react-bindings/hooks/feed-state-hooks/useFeedMetadata.d.ts +1 -1
  11. package/dist/@react-bindings/hooks/feed-state-hooks/useFollowers.d.ts +1 -1
  12. package/dist/@react-bindings/hooks/feed-state-hooks/useFollowing.d.ts +1 -1
  13. package/dist/@react-bindings/hooks/feed-state-hooks/useOwnCapabilities.d.ts +1 -1
  14. package/dist/@react-bindings/hooks/feed-state-hooks/useOwnFollows.d.ts +1 -1
  15. package/dist/@react-bindings/hooks/search-state-hooks/index.d.ts +3 -0
  16. package/dist/@react-bindings/hooks/search-state-hooks/useSearchQuery.d.ts +4 -0
  17. package/dist/@react-bindings/hooks/search-state-hooks/useSearchResult.d.ts +8 -0
  18. package/dist/@react-bindings/hooks/search-state-hooks/useSearchSources.d.ts +4 -0
  19. package/dist/@react-bindings/hooks/useCreateFeedsClient.d.ts +1 -1
  20. package/dist/@react-bindings/index.d.ts +5 -0
  21. package/dist/@react-bindings/wrappers/StreamFeed.d.ts +1 -1
  22. package/dist/@react-bindings/wrappers/StreamSearch.d.ts +12 -0
  23. package/dist/@react-bindings/wrappers/StreamSearchResults.d.ts +12 -0
  24. package/dist/index-react-bindings.browser.cjs +1669 -1529
  25. package/dist/index-react-bindings.browser.cjs.map +1 -1
  26. package/dist/index-react-bindings.browser.js +1661 -1530
  27. package/dist/index-react-bindings.browser.js.map +1 -1
  28. package/dist/index-react-bindings.node.cjs +1669 -1529
  29. package/dist/index-react-bindings.node.cjs.map +1 -1
  30. package/dist/index-react-bindings.node.js +1661 -1530
  31. package/dist/index-react-bindings.node.js.map +1 -1
  32. package/dist/index.browser.cjs +1615 -1640
  33. package/dist/index.browser.cjs.map +1 -1
  34. package/dist/index.browser.js +1613 -1641
  35. package/dist/index.browser.js.map +1 -1
  36. package/dist/index.d.ts +2 -2
  37. package/dist/index.node.cjs +1615 -1640
  38. package/dist/index.node.cjs.map +1 -1
  39. package/dist/index.node.js +1613 -1641
  40. package/dist/index.node.js.map +1 -1
  41. package/dist/src/common/ActivitySearchSource.d.ts +1 -1
  42. package/dist/src/common/BaseSearchSource.d.ts +3 -1
  43. package/dist/src/common/FeedSearchSource.d.ts +7 -3
  44. package/dist/src/common/Poll.d.ts +1 -1
  45. package/dist/src/common/SearchController.d.ts +2 -0
  46. package/dist/src/common/UserSearchSource.d.ts +1 -1
  47. package/dist/src/common/real-time/StableWSConnection.d.ts +3 -3
  48. package/dist/src/feed/event-handlers/activity/handle-activity-added.d.ts +7 -0
  49. package/dist/src/feed/event-handlers/activity/handle-activity-deleted.d.ts +8 -0
  50. package/dist/src/feed/event-handlers/activity/handle-activity-reaction-added.d.ts +8 -0
  51. package/dist/src/feed/event-handlers/activity/handle-activity-reaction-deleted.d.ts +8 -0
  52. package/dist/src/feed/event-handlers/activity/handle-activity-removed-from-feed.d.ts +3 -0
  53. package/dist/src/feed/event-handlers/activity/handle-activity-updated.d.ts +8 -0
  54. package/dist/src/feed/event-handlers/activity/index.d.ts +6 -0
  55. package/dist/src/feed/event-handlers/bookmark/handle-bookmark-added.d.ts +8 -0
  56. package/dist/src/feed/event-handlers/bookmark/handle-bookmark-deleted.d.ts +9 -0
  57. package/dist/src/feed/event-handlers/bookmark/handle-bookmark-updated.d.ts +8 -0
  58. package/dist/src/feed/event-handlers/bookmark/index.d.ts +3 -0
  59. package/dist/src/feed/event-handlers/comment/handle-comment-added.d.ts +3 -0
  60. package/dist/src/feed/event-handlers/comment/handle-comment-deleted.d.ts +3 -0
  61. package/dist/src/feed/event-handlers/comment/handle-comment-reaction.d.ts +3 -0
  62. package/dist/src/feed/event-handlers/comment/handle-comment-updated.d.ts +3 -0
  63. package/dist/src/feed/event-handlers/comment/index.d.ts +4 -0
  64. package/dist/src/feed/event-handlers/feed/handle-feed-updated.d.ts +3 -0
  65. package/dist/src/feed/event-handlers/feed/index.d.ts +1 -0
  66. package/dist/src/feed/event-handlers/feed-member/handle-feed-member-added.d.ts +3 -0
  67. package/dist/src/feed/event-handlers/feed-member/handle-feed-member-removed.d.ts +3 -0
  68. package/dist/src/feed/event-handlers/feed-member/handle-feed-member-updated.d.ts +3 -0
  69. package/dist/src/feed/event-handlers/feed-member/index.d.ts +3 -0
  70. package/dist/src/feed/event-handlers/follow/handle-follow-created.d.ts +7 -0
  71. package/dist/src/feed/event-handlers/follow/handle-follow-deleted.d.ts +7 -0
  72. package/dist/src/feed/event-handlers/follow/handle-follow-updated.d.ts +3 -0
  73. package/dist/src/feed/event-handlers/follow/index.d.ts +3 -0
  74. package/dist/src/feed/event-handlers/index.d.ts +7 -0
  75. package/dist/src/feed/event-handlers/notification-feed/handle-notification-feed-updated.d.ts +3 -0
  76. package/dist/src/feed/event-handlers/notification-feed/index.d.ts +1 -0
  77. package/dist/src/{Feed.d.ts → feed/feed.d.ts} +15 -34
  78. package/dist/src/feed/index.d.ts +2 -0
  79. package/dist/src/{FeedsClient.d.ts → feeds-client.d.ts} +6 -5
  80. package/dist/src/gen/models/index.d.ts +5 -0
  81. package/dist/src/gen-imports.d.ts +1 -1
  82. package/dist/src/test-utils/index.d.ts +1 -0
  83. package/dist/src/test-utils/response-generators.d.ts +9 -0
  84. package/dist/src/types-internal.d.ts +7 -0
  85. package/dist/src/types.d.ts +1 -1
  86. package/dist/src/utils/check-has-another-page.d.ts +1 -0
  87. package/dist/src/utils/constants.d.ts +3 -0
  88. package/dist/src/utils/index.d.ts +5 -0
  89. package/dist/src/utils/state-update-queue.d.ts +6 -0
  90. package/dist/src/utils/type-assertions.d.ts +7 -0
  91. package/dist/src/utils/unique-array-merge.d.ts +1 -0
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/index.ts +2 -2
  94. package/package.json +2 -1
  95. package/src/common/ActivitySearchSource.ts +6 -16
  96. package/src/common/BaseSearchSource.ts +9 -9
  97. package/src/common/FeedSearchSource.ts +22 -67
  98. package/src/common/Poll.ts +1 -1
  99. package/src/common/SearchController.ts +2 -0
  100. package/src/common/UserSearchSource.ts +10 -62
  101. package/src/{state-updates → feed/event-handlers/activity}/activity-reaction-utils.test.ts +12 -2
  102. package/src/{state-updates → feed/event-handlers/activity}/activity-utils.test.ts +3 -2
  103. package/src/{state-updates/activity-utils.ts → feed/event-handlers/activity/handle-activity-added.ts} +16 -36
  104. package/src/feed/event-handlers/activity/handle-activity-deleted.ts +30 -0
  105. package/src/feed/event-handlers/activity/handle-activity-reaction-added.ts +67 -0
  106. package/src/feed/event-handlers/activity/handle-activity-reaction-deleted.ts +75 -0
  107. package/src/feed/event-handlers/activity/handle-activity-removed-from-feed.ts +16 -0
  108. package/src/feed/event-handlers/activity/handle-activity-updated.ts +47 -0
  109. package/src/feed/event-handlers/activity/index.ts +6 -0
  110. package/src/{state-updates → feed/event-handlers/bookmark}/bookmark-utils.test.ts +2 -2
  111. package/src/feed/event-handlers/bookmark/handle-bookmark-added.ts +63 -0
  112. package/src/feed/event-handlers/bookmark/handle-bookmark-deleted.ts +84 -0
  113. package/src/feed/event-handlers/bookmark/handle-bookmark-updated.ts +76 -0
  114. package/src/feed/event-handlers/bookmark/index.ts +3 -0
  115. package/src/feed/event-handlers/comment/handle-comment-added.ts +38 -0
  116. package/src/feed/event-handlers/comment/handle-comment-deleted.ts +35 -0
  117. package/src/feed/event-handlers/comment/handle-comment-reaction.ts +61 -0
  118. package/src/feed/event-handlers/comment/handle-comment-updated.ts +35 -0
  119. package/src/feed/event-handlers/comment/index.ts +4 -0
  120. package/src/feed/event-handlers/feed/handle-feed-updated.ts +9 -0
  121. package/src/feed/event-handlers/feed/index.ts +1 -0
  122. package/src/feed/event-handlers/feed-member/handle-feed-member-added.ts +31 -0
  123. package/src/feed/event-handlers/feed-member/handle-feed-member-removed.ts +24 -0
  124. package/src/feed/event-handlers/feed-member/handle-feed-member-updated.ts +40 -0
  125. package/src/feed/event-handlers/feed-member/index.ts +3 -0
  126. package/src/feed/event-handlers/follow/handle-follow-created.test.ts +246 -0
  127. package/src/feed/event-handlers/follow/handle-follow-created.ts +93 -0
  128. package/src/feed/event-handlers/follow/handle-follow-deleted.test.ts +264 -0
  129. package/src/feed/event-handlers/follow/handle-follow-deleted.ts +95 -0
  130. package/src/feed/event-handlers/follow/handle-follow-updated.test.ts +174 -0
  131. package/src/feed/event-handlers/follow/handle-follow-updated.ts +88 -0
  132. package/src/feed/event-handlers/follow/index.ts +3 -0
  133. package/src/feed/event-handlers/index.ts +7 -0
  134. package/src/feed/event-handlers/notification-feed/handle-notification-feed-updated.ts +10 -0
  135. package/src/feed/event-handlers/notification-feed/index.ts +1 -0
  136. package/src/{Feed.ts → feed/feed.ts} +72 -483
  137. package/src/feed/index.ts +2 -0
  138. package/src/{FeedsClient.ts → feeds-client.ts} +26 -8
  139. package/src/gen/model-decoders/decoders.ts +7 -0
  140. package/src/gen/models/index.ts +10 -0
  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 +102 -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/state-updates/activity-reaction-utils.d.ts +0 -10
  155. package/dist/src/state-updates/activity-utils.d.ts +0 -13
  156. package/dist/src/state-updates/bookmark-utils.d.ts +0 -14
  157. package/dist/src/state-updates/follow-utils.d.ts +0 -19
  158. package/dist/src/state-updates/state-update-queue.d.ts +0 -15
  159. package/dist/src/utils.d.ts +0 -10
  160. package/src/state-updates/activity-reaction-utils.ts +0 -107
  161. package/src/state-updates/bookmark-utils.ts +0 -167
  162. package/src/state-updates/follow-utils.test.ts +0 -552
  163. package/src/state-updates/follow-utils.ts +0 -126
  164. package/src/state-updates/state-update-queue.ts +0 -35
  165. package/src/utils.ts +0 -48
  166. /package/dist/src/{ModerationClient.d.ts → moderation-client.d.ts} +0 -0
  167. /package/src/{ModerationClient.ts → moderation-client.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ export * from './useSearchResult';
2
+ export * from './useSearchQuery';
3
+ export * from './useSearchSources';
@@ -5,14 +5,19 @@ export * from './hooks/useCreateFeedsClient';
5
5
 
6
6
  export * from './hooks/client-state-hooks';
7
7
  export * from './hooks/feed-state-hooks';
8
+ export * from './hooks/search-state-hooks';
8
9
  export * from './hooks/util';
9
10
 
10
11
  // Contexts
11
12
 
12
13
  export * from './contexts/StreamFeedsContext';
13
14
  export * from './contexts/StreamFeedContext';
15
+ export * from './contexts/StreamSearchContext';
16
+ export * from './contexts/StreamSearchResultsContext';
14
17
 
15
18
  // Wrappers
16
19
 
17
20
  export * from './wrappers/StreamFeeds';
18
21
  export * from './wrappers/StreamFeed';
22
+ export * from './wrappers/StreamSearch';
23
+ export * from './wrappers/StreamSearchResults';
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.1.11](https://github.com/GetStream/stream-feeds-js/compare/@stream-io/feeds-client-0.1.10...@stream-io/feeds-client-0.1.11) (2025-08-01)
6
+
7
+
8
+ ### Features
9
+
10
+ * add `feeds.follow.updated` handler & cleanup ([#83](https://github.com/GetStream/stream-feeds-js/issues/83)) ([9f296b8](https://github.com/GetStream/stream-feeds-js/commit/9f296b8cc195c34d6ac36eb53bf92ca8632e5dae))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * real-time comment updates ([#79](https://github.com/GetStream/stream-feeds-js/issues/79)) ([afd485a](https://github.com/GetStream/stream-feeds-js/commit/afd485a489449985c157ce90da453a1e2dbc6fa3))
16
+ * update open API spec - unfollow HTTP response now contains follo… ([#81](https://github.com/GetStream/stream-feeds-js/issues/81)) ([0f27ef3](https://github.com/GetStream/stream-feeds-js/commit/0f27ef34e034e52bcdbaca9798b890f17e13fc00))
17
+
18
+ ## [0.1.10](https://github.com/GetStream/stream-feeds-js/compare/@stream-io/feeds-client-0.1.9...@stream-io/feeds-client-0.1.10) (2025-07-28)
19
+
20
+
21
+ ### Features
22
+
23
+ * search implementation and bindings ([#78](https://github.com/GetStream/stream-feeds-js/issues/78)) ([02d7dd1](https://github.com/GetStream/stream-feeds-js/commit/02d7dd1fd1f01df411e92db328106987c366e4d4))
24
+
5
25
  ## [0.1.9](https://github.com/GetStream/stream-feeds-js/compare/@stream-io/feeds-client-0.1.8...@stream-io/feeds-client-0.1.9) (2025-07-28)
6
26
 
7
27
 
@@ -1,4 +1,4 @@
1
- import type { Feed } from '../../src/Feed';
1
+ import type { Feed } from '../../src/feed';
2
2
  export declare const StreamFeedContext: import("react").Context<Feed | undefined>;
3
3
  /**
4
4
  * The props for the StreamFeedProvider component.
@@ -1,4 +1,4 @@
1
- import type { FeedsClient } from '../../src/FeedsClient';
1
+ import type { FeedsClient } from '../../src/feeds-client';
2
2
  export declare const StreamFeedsContext: import("react").Context<FeedsClient | undefined>;
3
3
  /**
4
4
  * The props for the StreamFeedsProvider component.
@@ -0,0 +1,12 @@
1
+ import type { SearchController } from '../../src/common/SearchController';
2
+ export declare const StreamSearchContext: import("react").Context<SearchController | undefined>;
3
+ /**
4
+ * The props for the StreamSearchProvider component.
5
+ */
6
+ export type StreamSearchContextProps = {
7
+ searchController: SearchController;
8
+ };
9
+ /**
10
+ * Hook to access the nearest SearchController instance.
11
+ */
12
+ export declare const useSearchContext: () => SearchController | undefined;
@@ -0,0 +1,12 @@
1
+ import type { SearchSource } from '../../src/common/BaseSearchSource';
2
+ export declare const StreamSearchResultsContext: import("react").Context<SearchSource<any> | undefined>;
3
+ /**
4
+ * The props for the StreamSearchResultsProvider component.
5
+ */
6
+ export type StreamSearchResultsContextProps = {
7
+ source: SearchSource;
8
+ };
9
+ /**
10
+ * Hook to access the nearest SearchSource instance.
11
+ */
12
+ export declare const useSearchResultsContext: () => SearchSource<any> | undefined;
@@ -1,6 +1,6 @@
1
1
  import type { ActivityResponse, CommentResponse } from '../../../src/gen/models';
2
2
  import type { CommentParent } from '../../../src/types';
3
- import { Feed, FeedState } from '../../../src/Feed';
3
+ import { Feed, FeedState } from '../../../src/feed';
4
4
  type UseCommentsReturnType<T extends ActivityResponse | CommentResponse> = {
5
5
  comments: NonNullable<FeedState['comments_by_entity_id'][T['id']]>['comments'];
6
6
  comments_pagination: NonNullable<FeedState['comments_by_entity_id'][T['id']]>['pagination'];
@@ -1,4 +1,4 @@
1
- import { Feed } from '../../../src/Feed';
1
+ import { Feed } from '../../../src/feed';
2
2
  /**
3
3
  * A React hook that returns a reactive object containing the current activities,
4
4
  * loading state and whether there is a next page to paginate to or not.
@@ -1,4 +1,4 @@
1
- import { Feed } from '../../../src/Feed';
1
+ import { Feed } from '../../../src/feed';
2
2
  /**
3
3
  * A React hook that returns a reactive object containing some often used
4
4
  * metadata for a feed.
@@ -1,4 +1,4 @@
1
- import { Feed, FeedState } from '../../../src/Feed';
1
+ import { Feed, FeedState } from '../../../src/feed';
2
2
  declare const selector: ({ follower_count, followers, followers_pagination, }: FeedState) => {
3
3
  follower_count: number | undefined;
4
4
  followers: import("../../..").FollowResponse[] | undefined;
@@ -1,4 +1,4 @@
1
- import { Feed, FeedState } from '../../../src/Feed';
1
+ import { Feed, FeedState } from '../../../src/feed';
2
2
  declare const selector: ({ following_count, following, following_pagination, }: FeedState) => {
3
3
  following_count: number | undefined;
4
4
  following: import("../../..").FollowResponse[] | undefined;
@@ -1,4 +1,4 @@
1
- import { Feed } from '../../../src/Feed';
1
+ import { Feed } from '../../../src/feed';
2
2
  export declare const useOwnCapabilities: (feedFromProps?: Feed) => {
3
3
  can_add_activity: boolean;
4
4
  can_add_activity_reaction: boolean;
@@ -1,4 +1,4 @@
1
- import { Feed } from '../../../src/Feed';
1
+ import { Feed } from '../../../src/feed';
2
2
  /**
3
3
  * A React hook that returns a reactive array of feeds that the current user
4
4
  * owns and are following the respective feed that we are observing.
@@ -0,0 +1,3 @@
1
+ export * from './useSearchResult';
2
+ export * from './useSearchQuery';
3
+ export * from './useSearchSources';
@@ -0,0 +1,4 @@
1
+ import type { SearchController } from '../../../src/common/SearchController';
2
+ export declare const useSearchQuery: (controllerFromProps?: SearchController) => {
3
+ searchQuery: string;
4
+ } | undefined;
@@ -0,0 +1,8 @@
1
+ import type { SearchSource } from '../../../src/common/BaseSearchSource';
2
+ export declare const useSearchResult: (sourceFromProps?: SearchSource) => {
3
+ items: any[] | undefined;
4
+ error: Error | undefined;
5
+ isLoading: boolean | undefined;
6
+ hasNext: boolean | undefined;
7
+ loadMore: import("../internal").StableCallback<[], Promise<void>>;
8
+ };
@@ -0,0 +1,4 @@
1
+ import type { SearchController } from '../../../src/common/SearchController';
2
+ export declare const useSearchSources: (controllerFromProps?: SearchController) => {
3
+ sources: import("../../..").SearchSource<any>[];
4
+ } | undefined;
@@ -1,4 +1,4 @@
1
- import { FeedsClient } from '../../src/FeedsClient';
1
+ import { FeedsClient } from '../../src/feeds-client';
2
2
  import type { UserRequest } from '../../src/gen/models';
3
3
  import type { TokenOrProvider } from '../../src/types';
4
4
  import type { FeedsClientOptions } from '../../src/common/types';
@@ -2,8 +2,13 @@ export * from './hooks/useStateStore';
2
2
  export * from './hooks/useCreateFeedsClient';
3
3
  export * from './hooks/client-state-hooks';
4
4
  export * from './hooks/feed-state-hooks';
5
+ export * from './hooks/search-state-hooks';
5
6
  export * from './hooks/util';
6
7
  export * from './contexts/StreamFeedsContext';
7
8
  export * from './contexts/StreamFeedContext';
9
+ export * from './contexts/StreamSearchContext';
10
+ export * from './contexts/StreamSearchResultsContext';
8
11
  export * from './wrappers/StreamFeeds';
9
12
  export * from './wrappers/StreamFeed';
13
+ export * from './wrappers/StreamSearch';
14
+ export * from './wrappers/StreamSearchResults';
@@ -1,5 +1,5 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import type { Feed } from '../../src/Feed';
2
+ import type { Feed } from '../../src/feed';
3
3
  /**
4
4
  * The props for the StreamFeed component. It accepts a `Feed` instance.
5
5
  */
@@ -0,0 +1,12 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import type { SearchController } from '../../src/common/SearchController';
3
+ /**
4
+ * The props for the StreamSearch component. It accepts a `SearchController` instance.
5
+ */
6
+ export type StreamSearchProps = {
7
+ searchController: SearchController | undefined;
8
+ };
9
+ export declare const StreamSearch: {
10
+ ({ searchController, children, }: PropsWithChildren<StreamSearchProps>): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };
@@ -0,0 +1,12 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import type { SearchSource } from '../../src/common/BaseSearchSource';
3
+ /**
4
+ * The props for the StreamSearchResults component. It accepts a `SearchSource` instance.
5
+ */
6
+ export type StreamSearchResultsProps = {
7
+ source: SearchSource;
8
+ };
9
+ export declare const StreamSearchResults: {
10
+ ({ source, children, }: PropsWithChildren<StreamSearchResultsProps>): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };