@stream-io/feeds-client 0.3.0 → 0.3.1
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 +39 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-bindings.js +1 -1
- package/dist/es/index.mjs +2 -2
- package/dist/es/index.mjs.map +1 -1
- package/dist/es/react-bindings.mjs +1 -1
- package/dist/{feeds-client-DmA8dntK.js → feeds-client-CttWroOS.js} +89 -8
- package/dist/feeds-client-CttWroOS.js.map +1 -0
- package/dist/{feeds-client-DuLOUu6_.mjs → feeds-client-DJG_rRVO.mjs} +89 -8
- package/dist/feeds-client-DJG_rRVO.mjs.map +1 -0
- package/dist/types/common/real-time/StableWSConnection.d.ts +3 -3
- package/dist/types/common/real-time/StableWSConnection.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-feedback.d.ts +4 -0
- package/dist/types/feed/event-handlers/activity/handle-activity-feedback.d.ts.map +1 -0
- package/dist/types/feed/event-handlers/activity-updater.d.ts +2 -1
- package/dist/types/feed/event-handlers/activity-updater.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/is-activity-pin.d.ts +3 -0
- package/dist/types/feed/event-handlers/is-activity-pin.d.ts.map +1 -0
- package/dist/types/feed/feed.d.ts +2 -2
- package/dist/types/feed/feed.d.ts.map +1 -1
- package/dist/types/feeds-client/feeds-client.d.ts +2 -2
- package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
- package/dist/types/gen/feeds/FeedsApi.d.ts.map +1 -1
- package/dist/types/gen/model-decoders/event-decoder-mapping.d.ts.map +1 -1
- package/dist/types/gen/models/index.d.ts +53 -5
- package/dist/types/gen/models/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/feed/event-handlers/activity/handle-activity-feedback.ts +78 -0
- package/src/feed/event-handlers/is-activity-pin.ts +7 -0
- package/src/feed/feed.ts +6 -1
- package/src/feeds-client/feeds-client.ts +7 -0
- package/src/gen/feeds/FeedsApi.ts +0 -3
- package/src/gen/model-decoders/decoders.ts +27 -1
- package/src/gen/model-decoders/event-decoder-mapping.ts +3 -0
- package/src/gen/models/index.ts +92 -8
- package/dist/feeds-client-DmA8dntK.js.map +0 -1
- package/dist/feeds-client-DuLOUu6_.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-
|
|
3
|
+
import { F as FeedsClient, g as isCommentResponse, c as checkHasAnotherPage } from "../feeds-client-DJG_rRVO.mjs";
|
|
4
4
|
import "@stream-io/logger";
|
|
5
5
|
import "axios";
|
|
6
6
|
var shim = { exports: {} };
|
|
@@ -79,6 +79,13 @@ decoders.ActivityDeletedEvent = (input) => {
|
|
|
79
79
|
};
|
|
80
80
|
return decode(typeMappings, input);
|
|
81
81
|
};
|
|
82
|
+
decoders.ActivityFeedbackEvent = (input) => {
|
|
83
|
+
const typeMappings = {
|
|
84
|
+
created_at: { type: "DatetimeType", isSingle: true },
|
|
85
|
+
received_at: { type: "DatetimeType", isSingle: true }
|
|
86
|
+
};
|
|
87
|
+
return decode(typeMappings, input);
|
|
88
|
+
};
|
|
82
89
|
decoders.ActivityMarkEvent = (input) => {
|
|
83
90
|
const typeMappings = {
|
|
84
91
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -673,6 +680,17 @@ decoders.FeedResponse = (input) => {
|
|
|
673
680
|
};
|
|
674
681
|
return decode(typeMappings, input);
|
|
675
682
|
};
|
|
683
|
+
decoders.FeedSuggestionResponse = (input) => {
|
|
684
|
+
const typeMappings = {
|
|
685
|
+
created_at: { type: "DatetimeType", isSingle: true },
|
|
686
|
+
updated_at: { type: "DatetimeType", isSingle: true },
|
|
687
|
+
created_by: { type: "UserResponse", isSingle: true },
|
|
688
|
+
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
689
|
+
own_follows: { type: "FollowResponse", isSingle: false },
|
|
690
|
+
own_membership: { type: "FeedMemberResponse", isSingle: true }
|
|
691
|
+
};
|
|
692
|
+
return decode(typeMappings, input);
|
|
693
|
+
};
|
|
676
694
|
decoders.FeedUpdatedEvent = (input) => {
|
|
677
695
|
const typeMappings = {
|
|
678
696
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -783,7 +801,7 @@ decoders.GetConfigResponse = (input) => {
|
|
|
783
801
|
};
|
|
784
802
|
decoders.GetFollowSuggestionsResponse = (input) => {
|
|
785
803
|
const typeMappings = {
|
|
786
|
-
suggestions: { type: "
|
|
804
|
+
suggestions: { type: "FeedSuggestionResponse", isSingle: false }
|
|
787
805
|
};
|
|
788
806
|
return decode(typeMappings, input);
|
|
789
807
|
};
|
|
@@ -1724,9 +1742,6 @@ class FeedsApi {
|
|
|
1724
1742
|
};
|
|
1725
1743
|
const body = {
|
|
1726
1744
|
hide: request?.hide,
|
|
1727
|
-
mute_user: request?.mute_user,
|
|
1728
|
-
reason: request?.reason,
|
|
1729
|
-
report: request?.report,
|
|
1730
1745
|
show_less: request?.show_less,
|
|
1731
1746
|
show_more: request?.show_more
|
|
1732
1747
|
};
|
|
@@ -3748,7 +3763,7 @@ const getRateLimitFromResponseHeader = (response_headers) => {
|
|
|
3748
3763
|
};
|
|
3749
3764
|
return result;
|
|
3750
3765
|
};
|
|
3751
|
-
const version = "0.3.
|
|
3766
|
+
const version = "0.3.1";
|
|
3752
3767
|
class ApiClient {
|
|
3753
3768
|
constructor(apiKey, tokenManager, connectionIdManager, options) {
|
|
3754
3769
|
this.apiKey = apiKey;
|
|
@@ -3922,6 +3937,7 @@ const eventDecoderMapping = {
|
|
|
3922
3937
|
"app.updated": (data) => decoders.AppUpdatedEvent(data),
|
|
3923
3938
|
"feeds.activity.added": (data) => decoders.ActivityAddedEvent(data),
|
|
3924
3939
|
"feeds.activity.deleted": (data) => decoders.ActivityDeletedEvent(data),
|
|
3940
|
+
"feeds.activity.feedback": (data) => decoders.ActivityFeedbackEvent(data),
|
|
3925
3941
|
"feeds.activity.marked": (data) => decoders.ActivityMarkEvent(data),
|
|
3926
3942
|
"feeds.activity.pinned": (data) => decoders.ActivityPinnedEvent(data),
|
|
3927
3943
|
"feeds.activity.reaction.added": (data) => decoders.ActivityReactionAddedEvent(data),
|
|
@@ -5979,6 +5995,61 @@ function handleWatchStarted() {
|
|
|
5979
5995
|
function handleWatchStopped() {
|
|
5980
5996
|
this.state.partialNext({ watch: false });
|
|
5981
5997
|
}
|
|
5998
|
+
const isPin = (entity) => {
|
|
5999
|
+
return "activity" in entity;
|
|
6000
|
+
};
|
|
6001
|
+
const updateActivityFromFeedback = (feedback, activities) => {
|
|
6002
|
+
if (!activities) {
|
|
6003
|
+
return {
|
|
6004
|
+
changed: false,
|
|
6005
|
+
entities: []
|
|
6006
|
+
};
|
|
6007
|
+
}
|
|
6008
|
+
return updateEntityInArray({
|
|
6009
|
+
entities: activities,
|
|
6010
|
+
matcher: (e) => isPin(e) ? e.activity.id === feedback.activity_id : e.id === feedback.activity_id,
|
|
6011
|
+
updater: (e) => {
|
|
6012
|
+
if (isPin(e)) {
|
|
6013
|
+
return {
|
|
6014
|
+
...e,
|
|
6015
|
+
activity: {
|
|
6016
|
+
...e.activity,
|
|
6017
|
+
hidden: feedback.value === "true"
|
|
6018
|
+
}
|
|
6019
|
+
};
|
|
6020
|
+
} else {
|
|
6021
|
+
return {
|
|
6022
|
+
...e,
|
|
6023
|
+
hidden: feedback.value === "true"
|
|
6024
|
+
};
|
|
6025
|
+
}
|
|
6026
|
+
}
|
|
6027
|
+
});
|
|
6028
|
+
};
|
|
6029
|
+
function handleActivityFeedback(event) {
|
|
6030
|
+
const {
|
|
6031
|
+
activities: currentActivities,
|
|
6032
|
+
pinned_activities: currentPinnedActivities
|
|
6033
|
+
} = this.currentState;
|
|
6034
|
+
const { connected_user: connectedUser } = this.client.state.getLatestValue();
|
|
6035
|
+
const eventBelongsToCurrentUser = event.activity_feedback.user.id === connectedUser?.id;
|
|
6036
|
+
if (!eventBelongsToCurrentUser || event.activity_feedback.action !== "hide") {
|
|
6037
|
+
return;
|
|
6038
|
+
}
|
|
6039
|
+
const [result1, result2] = [
|
|
6040
|
+
updateActivityFromFeedback(event.activity_feedback, currentActivities),
|
|
6041
|
+
updateActivityFromFeedback(
|
|
6042
|
+
event.activity_feedback,
|
|
6043
|
+
currentPinnedActivities
|
|
6044
|
+
)
|
|
6045
|
+
];
|
|
6046
|
+
if (result1.changed || result2.changed) {
|
|
6047
|
+
this.state.partialNext({
|
|
6048
|
+
activities: result1.entities,
|
|
6049
|
+
pinned_activities: result2.entities
|
|
6050
|
+
});
|
|
6051
|
+
}
|
|
6052
|
+
}
|
|
5982
6053
|
const _Feed = class _Feed extends FeedApi {
|
|
5983
6054
|
constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start") {
|
|
5984
6055
|
super(client, groupId, id);
|
|
@@ -6035,7 +6106,8 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6035
6106
|
"user.deactivated": _Feed.noop,
|
|
6036
6107
|
"user.muted": _Feed.noop,
|
|
6037
6108
|
"user.reactivated": _Feed.noop,
|
|
6038
|
-
"user.updated": _Feed.noop
|
|
6109
|
+
"user.updated": _Feed.noop,
|
|
6110
|
+
"feeds.activity.feedback": handleActivityFeedback.bind(this)
|
|
6039
6111
|
};
|
|
6040
6112
|
this.eventDispatcher = new EventDispatcher();
|
|
6041
6113
|
this.on = this.eventDispatcher.on;
|
|
@@ -6098,7 +6170,10 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6098
6170
|
currentActivityFeeds.push(activity.current_feed);
|
|
6099
6171
|
}
|
|
6100
6172
|
}
|
|
6101
|
-
this.client.hydrateCapabilitiesCache([
|
|
6173
|
+
this.client.hydrateCapabilitiesCache([
|
|
6174
|
+
response.feed,
|
|
6175
|
+
...currentActivityFeeds
|
|
6176
|
+
]);
|
|
6102
6177
|
if (request?.next) {
|
|
6103
6178
|
const { activities: currentActivities = [] } = this.currentState;
|
|
6104
6179
|
const result = addActivitiesToState.bind(this)(
|
|
@@ -7046,6 +7121,12 @@ class FeedsClient extends FeedsApi {
|
|
|
7046
7121
|
feeds.forEach((f) => f.handleWSEvent(event));
|
|
7047
7122
|
break;
|
|
7048
7123
|
}
|
|
7124
|
+
case "feeds.activity.feedback": {
|
|
7125
|
+
const activityId = event.activity_feedback.activity_id;
|
|
7126
|
+
const feeds = this.findActiveFeedByActivityId(activityId);
|
|
7127
|
+
feeds.forEach((f) => f.handleWSEvent(event));
|
|
7128
|
+
break;
|
|
7129
|
+
}
|
|
7049
7130
|
case "user.updated": {
|
|
7050
7131
|
handleUserUpdated.call(this, event);
|
|
7051
7132
|
break;
|
|
@@ -7209,4 +7290,4 @@ exports.replaceUniqueArrayMerge = replaceUniqueArrayMerge;
|
|
|
7209
7290
|
exports.shouldUpdateState = shouldUpdateState;
|
|
7210
7291
|
exports.uniqueArrayMerge = uniqueArrayMerge;
|
|
7211
7292
|
exports.updateEntityInArray = updateEntityInArray;
|
|
7212
|
-
//# sourceMappingURL=feeds-client-
|
|
7293
|
+
//# sourceMappingURL=feeds-client-CttWroOS.js.map
|