@stream-io/feeds-client 0.3.7 → 0.3.9
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.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-bindings.js +76 -14
- package/dist/cjs/react-bindings.js.map +1 -1
- package/dist/es/index.mjs +3 -2
- package/dist/es/react-bindings.mjs +76 -14
- package/dist/es/react-bindings.mjs.map +1 -1
- package/dist/{feeds-client-3aXF89xy.mjs → feeds-client-CI-WG0y0.mjs} +280 -52
- package/dist/feeds-client-CI-WG0y0.mjs.map +1 -0
- package/dist/{feeds-client-DLiLkrA0.js → feeds-client-DvR7ZYd1.js} +280 -52
- package/dist/feeds-client-DvR7ZYd1.js.map +1 -0
- package/dist/types/activity-with-state-updates/activity-with-state-updates.d.ts +49 -0
- package/dist/types/activity-with-state-updates/activity-with-state-updates.d.ts.map +1 -0
- package/dist/types/activity-with-state-updates/get-feed.d.ts +3 -0
- package/dist/types/activity-with-state-updates/get-feed.d.ts.map +1 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/index.d.ts +1 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/index.d.ts.map +1 -1
- package/dist/types/bindings/react/hooks/feed-state-hooks/useActivityComments.d.ts +32 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/useActivityComments.d.ts.map +1 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/useComments.d.ts +4 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/useComments.d.ts.map +1 -1
- package/dist/types/bindings/react/hooks/feed-state-hooks/useOwnCapabilities.d.ts.map +1 -1
- package/dist/types/bindings/react/hooks/useCreateFeedsClient.d.ts.map +1 -1
- package/dist/types/common/real-time/event-models.d.ts +1 -0
- package/dist/types/common/real-time/event-models.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-updated.d.ts.map +1 -1
- package/dist/types/feed/feed.d.ts +1 -1
- package/dist/types/feed/feed.d.ts.map +1 -1
- package/dist/types/feeds-client/active-activity.d.ts +8 -0
- package/dist/types/feeds-client/active-activity.d.ts.map +1 -0
- package/dist/types/feeds-client/feeds-client.d.ts +36 -3
- package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/activity-with-state-updates/activity-with-state-updates.ts +190 -0
- package/src/activity-with-state-updates/get-feed.ts +5 -0
- package/src/bindings/react/hooks/feed-state-hooks/index.ts +1 -0
- package/src/bindings/react/hooks/feed-state-hooks/useActivityComments.ts +113 -0
- package/src/bindings/react/hooks/feed-state-hooks/useComments.ts +4 -0
- package/src/bindings/react/hooks/feed-state-hooks/useOwnCapabilities.ts +12 -9
- package/src/bindings/react/hooks/useCreateFeedsClient.ts +0 -6
- package/src/common/real-time/event-models.ts +5 -1
- package/src/feed/event-handlers/activity/handle-activity-updated.ts +11 -0
- package/src/feed/feed.ts +16 -6
- package/src/feeds-client/active-activity.ts +42 -0
- package/src/feeds-client/feeds-client.ts +162 -53
- package/src/index.ts +1 -0
- package/src/test-utils/response-generators.ts +1 -0
- package/src/types.ts +8 -10
- package/dist/feeds-client-3aXF89xy.mjs.map +0 -1
- package/dist/feeds-client-DLiLkrA0.js.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const require$$0 = require("react");
|
|
4
4
|
require("@stream-io/state-store");
|
|
5
|
-
const feedsClient = require("../feeds-client-
|
|
5
|
+
const feedsClient = require("../feeds-client-DvR7ZYd1.js");
|
|
6
6
|
require("axios");
|
|
7
7
|
var shim = { exports: {} };
|
|
8
8
|
var useSyncExternalStoreShim_production = {};
|
|
@@ -403,7 +403,6 @@ const useCreateFeedsClient = ({
|
|
|
403
403
|
const _client = new feedsClient.FeedsClient(apiKey, cachedOptions);
|
|
404
404
|
const connectionPromise = _client.connectUser(cachedUserData, tokenOrProvider).then(() => {
|
|
405
405
|
setError(null);
|
|
406
|
-
console.log("Successfully connected user: ", cachedUserData.id);
|
|
407
406
|
}).catch((err) => {
|
|
408
407
|
setError(err);
|
|
409
408
|
});
|
|
@@ -415,10 +414,6 @@ const useCreateFeedsClient = ({
|
|
|
415
414
|
return _client.disconnectUser();
|
|
416
415
|
}).catch((err) => {
|
|
417
416
|
setError(err);
|
|
418
|
-
}).then(() => {
|
|
419
|
-
console.log(
|
|
420
|
-
`Connection for user "${cachedUserData.id}" has been closed`
|
|
421
|
-
);
|
|
422
417
|
});
|
|
423
418
|
};
|
|
424
419
|
}, [apiKey, cachedUserData, cachedOptions, tokenOrProvider]);
|
|
@@ -521,14 +516,17 @@ const useOwnCapabilities = (feedFromProps) => {
|
|
|
521
516
|
const feedFromContext = useFeedContext();
|
|
522
517
|
const feed = feedFromProps ?? feedFromContext;
|
|
523
518
|
const fid = feed?.feed;
|
|
524
|
-
const selector2 = require$$0.useCallback(
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
519
|
+
const selector2 = require$$0.useCallback(
|
|
520
|
+
(currentState) => {
|
|
521
|
+
if (!fid) {
|
|
522
|
+
return { feedOwnCapabilities: stableEmptyArray };
|
|
523
|
+
}
|
|
524
|
+
return {
|
|
525
|
+
feedOwnCapabilities: currentState.own_capabilities_by_fid[fid] ?? stableEmptyArray
|
|
526
|
+
};
|
|
527
|
+
},
|
|
528
|
+
[fid]
|
|
529
|
+
);
|
|
532
530
|
const { feedOwnCapabilities = stableEmptyArray } = useStateStore(client?.state, selector2) ?? {};
|
|
533
531
|
return feedOwnCapabilities;
|
|
534
532
|
};
|
|
@@ -685,6 +683,69 @@ const useIsAggregatedActivitySeen = ({
|
|
|
685
683
|
[lastSeenAt, aggregatedActivity.updated_at, seenActivities, group]
|
|
686
684
|
);
|
|
687
685
|
};
|
|
686
|
+
const canLoadComments = (feedOrActivity) => {
|
|
687
|
+
return "loadNextPageCommentReplies" in feedOrActivity && "loadNextPageActivityComments" in feedOrActivity;
|
|
688
|
+
};
|
|
689
|
+
function useActivityComments({
|
|
690
|
+
feed: feedFromProps,
|
|
691
|
+
parentComment,
|
|
692
|
+
activity
|
|
693
|
+
}) {
|
|
694
|
+
const feedFromContext = useFeedContext();
|
|
695
|
+
const feed = feedFromProps ?? feedFromContext;
|
|
696
|
+
const feedOrActivity = feed ?? activity;
|
|
697
|
+
if (!feedOrActivity) {
|
|
698
|
+
throw new Error("Feed or activity is required");
|
|
699
|
+
}
|
|
700
|
+
if (!canLoadComments(feedOrActivity)) {
|
|
701
|
+
throw new Error("Feed or activity does not support loading comments");
|
|
702
|
+
}
|
|
703
|
+
if (!(activity || parentComment)) {
|
|
704
|
+
throw new Error("Activity or parent comment is required");
|
|
705
|
+
}
|
|
706
|
+
const entityId = parentComment?.id ?? activity?.id ?? "";
|
|
707
|
+
const selector2 = require$$0.useCallback(
|
|
708
|
+
(state) => ({
|
|
709
|
+
comments: state.comments_by_entity_id?.[entityId]?.comments,
|
|
710
|
+
comments_pagination: state.comments_by_entity_id?.[entityId]?.pagination
|
|
711
|
+
}),
|
|
712
|
+
[entityId]
|
|
713
|
+
);
|
|
714
|
+
const data = useStateStore(
|
|
715
|
+
feedOrActivity.state,
|
|
716
|
+
selector2
|
|
717
|
+
);
|
|
718
|
+
const loadNextPage = require$$0.useCallback(
|
|
719
|
+
(request) => {
|
|
720
|
+
if (parentComment) {
|
|
721
|
+
return feedOrActivity.loadNextPageCommentReplies(
|
|
722
|
+
parentComment,
|
|
723
|
+
request
|
|
724
|
+
);
|
|
725
|
+
} else {
|
|
726
|
+
if (activity && canLoadComments(activity)) {
|
|
727
|
+
return activity.loadNextPageActivityComments(request);
|
|
728
|
+
} else if (feed) {
|
|
729
|
+
return feed.loadNextPageActivityComments(activity?.id ?? "", request);
|
|
730
|
+
} else {
|
|
731
|
+
throw new Error("Activity or feed is required");
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
},
|
|
735
|
+
[feedOrActivity, feed, parentComment, activity]
|
|
736
|
+
);
|
|
737
|
+
return require$$0.useMemo(() => {
|
|
738
|
+
return {
|
|
739
|
+
...data,
|
|
740
|
+
has_next_page: feedsClient.checkHasAnotherPage(
|
|
741
|
+
data.comments,
|
|
742
|
+
data.comments_pagination?.next
|
|
743
|
+
),
|
|
744
|
+
is_loading_next_page: data?.comments_pagination?.loading_next_page ?? false,
|
|
745
|
+
loadNextPage
|
|
746
|
+
};
|
|
747
|
+
}, [data, loadNextPage]);
|
|
748
|
+
}
|
|
688
749
|
const StreamSearchResultsContext = require$$0.createContext(void 0);
|
|
689
750
|
const useSearchResultsContext = () => {
|
|
690
751
|
return require$$0.useContext(StreamSearchResultsContext);
|
|
@@ -1267,6 +1328,7 @@ exports.StreamSearch = StreamSearch;
|
|
|
1267
1328
|
exports.StreamSearchContext = StreamSearchContext;
|
|
1268
1329
|
exports.StreamSearchResults = StreamSearchResults;
|
|
1269
1330
|
exports.StreamSearchResultsContext = StreamSearchResultsContext;
|
|
1331
|
+
exports.useActivityComments = useActivityComments;
|
|
1270
1332
|
exports.useAggregatedActivities = useAggregatedActivities;
|
|
1271
1333
|
exports.useClientConnectedUser = useClientConnectedUser;
|
|
1272
1334
|
exports.useComments = useComments;
|