@stream-io/feeds-client 0.3.1 → 0.3.3
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 +22 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-bindings.js +1 -1
- package/dist/es/index.mjs +3 -2
- package/dist/es/index.mjs.map +1 -1
- package/dist/es/react-bindings.mjs +1 -1
- package/dist/{feeds-client-DJG_rRVO.mjs → feeds-client-BWaXWhhB.mjs} +48 -14
- package/dist/feeds-client-BWaXWhhB.mjs.map +1 -0
- package/dist/{feeds-client-CttWroOS.js → feeds-client-Ddac-BnP.js} +48 -14
- package/dist/feeds-client-Ddac-BnP.js.map +1 -0
- package/dist/types/feed/event-handlers/activity/handle-activity-added.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity-updater.d.ts +2 -0
- package/dist/types/feed/event-handlers/activity-updater.d.ts.map +1 -1
- package/dist/types/feed/feed.d.ts +4 -2
- package/dist/types/feed/feed.d.ts.map +1 -1
- package/dist/types/feeds-client/feeds-client.d.ts +12 -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/models/index.d.ts +64 -7
- package/dist/types/gen/models/index.d.ts.map +1 -1
- package/dist/types/gen/moderation/ModerationApi.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/feed/event-handlers/activity/handle-activity-added.ts +5 -0
- package/src/feed/feed.ts +9 -0
- package/src/feeds-client/feeds-client.ts +23 -8
- package/src/gen/feeds/FeedsApi.ts +2 -0
- package/src/gen/model-decoders/decoders.ts +31 -2
- package/src/gen/models/index.ts +118 -9
- package/src/gen/moderation/ModerationApi.ts +3 -0
- package/dist/feeds-client-CttWroOS.js.map +0 -1
- package/dist/feeds-client-DJG_rRVO.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-BWaXWhhB.mjs";
|
|
4
4
|
import "@stream-io/logger";
|
|
5
5
|
import "axios";
|
|
6
6
|
var shim = { exports: {} };
|
|
@@ -378,7 +378,7 @@ decoders.ChannelMember = (input) => {
|
|
|
378
378
|
invite_accepted_at: { type: "DatetimeType", isSingle: true },
|
|
379
379
|
invite_rejected_at: { type: "DatetimeType", isSingle: true },
|
|
380
380
|
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
381
|
-
user: { type: "
|
|
381
|
+
user: { type: "User", isSingle: true }
|
|
382
382
|
};
|
|
383
383
|
return decode(typeMappings, input);
|
|
384
384
|
};
|
|
@@ -390,6 +390,20 @@ decoders.ChannelMemberLookup = (input) => {
|
|
|
390
390
|
};
|
|
391
391
|
return decode(typeMappings, input);
|
|
392
392
|
};
|
|
393
|
+
decoders.ChannelMemberResponse = (input) => {
|
|
394
|
+
const typeMappings = {
|
|
395
|
+
created_at: { type: "DatetimeType", isSingle: true },
|
|
396
|
+
updated_at: { type: "DatetimeType", isSingle: true },
|
|
397
|
+
archived_at: { type: "DatetimeType", isSingle: true },
|
|
398
|
+
ban_expires: { type: "DatetimeType", isSingle: true },
|
|
399
|
+
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
400
|
+
invite_accepted_at: { type: "DatetimeType", isSingle: true },
|
|
401
|
+
invite_rejected_at: { type: "DatetimeType", isSingle: true },
|
|
402
|
+
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
403
|
+
user: { type: "UserResponse", isSingle: true }
|
|
404
|
+
};
|
|
405
|
+
return decode(typeMappings, input);
|
|
406
|
+
};
|
|
393
407
|
decoders.ChannelMute = (input) => {
|
|
394
408
|
const typeMappings = {
|
|
395
409
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -409,7 +423,7 @@ decoders.ChannelResponse = (input) => {
|
|
|
409
423
|
last_message_at: { type: "DatetimeType", isSingle: true },
|
|
410
424
|
mute_expires_at: { type: "DatetimeType", isSingle: true },
|
|
411
425
|
truncated_at: { type: "DatetimeType", isSingle: true },
|
|
412
|
-
members: { type: "
|
|
426
|
+
members: { type: "ChannelMemberResponse", isSingle: false },
|
|
413
427
|
config: { type: "ChannelConfigWithInfo", isSingle: true },
|
|
414
428
|
created_by: { type: "UserResponse", isSingle: true },
|
|
415
429
|
truncated_by: { type: "UserResponse", isSingle: true }
|
|
@@ -877,6 +891,7 @@ decoders.MessageResponse = (input) => {
|
|
|
877
891
|
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
878
892
|
thread_participants: { type: "UserResponse", isSingle: false },
|
|
879
893
|
draft: { type: "DraftResponse", isSingle: true },
|
|
894
|
+
member: { type: "ChannelMemberResponse", isSingle: true },
|
|
880
895
|
pinned_by: { type: "UserResponse", isSingle: true },
|
|
881
896
|
poll: { type: "PollResponseData", isSingle: true },
|
|
882
897
|
quoted_message: { type: "MessageResponse", isSingle: true },
|
|
@@ -1216,6 +1231,8 @@ decoders.ReviewQueueItemResponse = (input) => {
|
|
|
1216
1231
|
call: { type: "CallResponse", isSingle: true },
|
|
1217
1232
|
entity_creator: { type: "EntityCreatorResponse", isSingle: true },
|
|
1218
1233
|
feeds_v2_reaction: { type: "Reaction", isSingle: true },
|
|
1234
|
+
feeds_v3_activity: { type: "ActivityResponse", isSingle: true },
|
|
1235
|
+
feeds_v3_comment: { type: "CommentResponse", isSingle: true },
|
|
1219
1236
|
message: { type: "MessageResponse", isSingle: true },
|
|
1220
1237
|
reaction: { type: "Reaction", isSingle: true }
|
|
1221
1238
|
};
|
|
@@ -1589,6 +1606,7 @@ class FeedsApi {
|
|
|
1589
1606
|
id: request?.id,
|
|
1590
1607
|
parent_id: request?.parent_id,
|
|
1591
1608
|
poll_id: request?.poll_id,
|
|
1609
|
+
restrict_replies: request?.restrict_replies,
|
|
1592
1610
|
text: request?.text,
|
|
1593
1611
|
visibility: request?.visibility,
|
|
1594
1612
|
visibility_tag: request?.visibility_tag,
|
|
@@ -1878,6 +1896,7 @@ class FeedsApi {
|
|
|
1878
1896
|
const body = {
|
|
1879
1897
|
expires_at: request?.expires_at,
|
|
1880
1898
|
poll_id: request?.poll_id,
|
|
1899
|
+
restrict_replies: request?.restrict_replies,
|
|
1881
1900
|
text: request?.text,
|
|
1882
1901
|
visibility: request?.visibility,
|
|
1883
1902
|
attachments: request?.attachments,
|
|
@@ -3745,7 +3764,7 @@ const getRateLimitFromResponseHeader = (response_headers) => {
|
|
|
3745
3764
|
};
|
|
3746
3765
|
return result;
|
|
3747
3766
|
};
|
|
3748
|
-
const version = "0.3.
|
|
3767
|
+
const version = "0.3.3";
|
|
3749
3768
|
class ApiClient {
|
|
3750
3769
|
constructor(apiKey, tokenManager, connectionIdManager, options) {
|
|
3751
3770
|
this.apiKey = apiKey;
|
|
@@ -4138,12 +4157,15 @@ class ModerationApi {
|
|
|
4138
4157
|
action_type: request?.action_type,
|
|
4139
4158
|
item_id: request?.item_id,
|
|
4140
4159
|
ban: request?.ban,
|
|
4160
|
+
block: request?.block,
|
|
4141
4161
|
custom: request?.custom,
|
|
4142
4162
|
delete_activity: request?.delete_activity,
|
|
4163
|
+
delete_comment: request?.delete_comment,
|
|
4143
4164
|
delete_message: request?.delete_message,
|
|
4144
4165
|
delete_reaction: request?.delete_reaction,
|
|
4145
4166
|
delete_user: request?.delete_user,
|
|
4146
4167
|
mark_reviewed: request?.mark_reviewed,
|
|
4168
|
+
shadow_block: request?.shadow_block,
|
|
4147
4169
|
unban: request?.unban
|
|
4148
4170
|
};
|
|
4149
4171
|
const response = await this.apiClient.sendRequest(
|
|
@@ -5339,6 +5361,11 @@ function addActivitiesToState(newActivities, activities, position) {
|
|
|
5339
5361
|
return result;
|
|
5340
5362
|
}
|
|
5341
5363
|
function handleActivityAdded(event) {
|
|
5364
|
+
if (this.activityAddedEventFilter) {
|
|
5365
|
+
if (!this.activityAddedEventFilter(event)) {
|
|
5366
|
+
return;
|
|
5367
|
+
}
|
|
5368
|
+
}
|
|
5342
5369
|
const currentActivities = this.currentState.activities;
|
|
5343
5370
|
const result = addActivitiesToState.bind(this)(
|
|
5344
5371
|
[event.activity],
|
|
@@ -6033,8 +6060,9 @@ function handleActivityFeedback(event) {
|
|
|
6033
6060
|
}
|
|
6034
6061
|
}
|
|
6035
6062
|
const _Feed = class _Feed extends FeedApi {
|
|
6036
|
-
constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start") {
|
|
6063
|
+
constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start", activityAddedEventFilter) {
|
|
6037
6064
|
super(client, groupId, id);
|
|
6065
|
+
this.activityAddedEventFilter = activityAddedEventFilter;
|
|
6038
6066
|
this.indexedActivityIds = /* @__PURE__ */ new Set();
|
|
6039
6067
|
this.stateUpdateQueue = /* @__PURE__ */ new Set();
|
|
6040
6068
|
this.eventHandlers = {
|
|
@@ -6130,6 +6158,11 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6130
6158
|
hasActivity(activityId) {
|
|
6131
6159
|
return this.indexedActivityIds.has(activityId);
|
|
6132
6160
|
}
|
|
6161
|
+
hasPinnedActivity(activityId) {
|
|
6162
|
+
return this.currentState.pinned_activities?.some(
|
|
6163
|
+
(pinnedActivity) => pinnedActivity.activity.id === activityId
|
|
6164
|
+
);
|
|
6165
|
+
}
|
|
6133
6166
|
async synchronize() {
|
|
6134
6167
|
const { last_get_or_create_request_config } = this.state.getLatestValue();
|
|
6135
6168
|
if (last_get_or_create_request_config?.watch) {
|
|
@@ -6561,6 +6594,7 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6561
6594
|
following_pagination: {
|
|
6562
6595
|
limit: 0
|
|
6563
6596
|
},
|
|
6597
|
+
filter: currentState.last_get_or_create_request_config?.filter,
|
|
6564
6598
|
next: currentState.next,
|
|
6565
6599
|
limit: currentState.last_get_or_create_request_config?.limit ?? 20
|
|
6566
6600
|
});
|
|
@@ -6970,7 +7004,8 @@ class FeedsClient extends FeedsApi {
|
|
|
6970
7004
|
id,
|
|
6971
7005
|
void 0,
|
|
6972
7006
|
void 0,
|
|
6973
|
-
options2?.addNewActivitiesTo
|
|
7007
|
+
options2?.addNewActivitiesTo,
|
|
7008
|
+
options2?.activityAddedEventFilter
|
|
6974
7009
|
);
|
|
6975
7010
|
};
|
|
6976
7011
|
this.updateNetworkConnectionStatus = (event) => {
|
|
@@ -6980,7 +7015,7 @@ class FeedsClient extends FeedsApi {
|
|
|
6980
7015
|
};
|
|
6981
7016
|
this.eventDispatcher.dispatch(networkEvent);
|
|
6982
7017
|
};
|
|
6983
|
-
this.getOrCreateActiveFeed = (group, id, data, watch, addNewActivitiesTo) => {
|
|
7018
|
+
this.getOrCreateActiveFeed = (group, id, data, watch, addNewActivitiesTo, activityAddedEventFilter) => {
|
|
6984
7019
|
const fid = `${group}:${id}`;
|
|
6985
7020
|
if (!this.activeFeeds[fid]) {
|
|
6986
7021
|
this.activeFeeds[fid] = new Feed(
|
|
@@ -6989,7 +7024,8 @@ class FeedsClient extends FeedsApi {
|
|
|
6989
7024
|
id,
|
|
6990
7025
|
data,
|
|
6991
7026
|
watch,
|
|
6992
|
-
addNewActivitiesTo
|
|
7027
|
+
addNewActivitiesTo,
|
|
7028
|
+
activityAddedEventFilter
|
|
6993
7029
|
);
|
|
6994
7030
|
}
|
|
6995
7031
|
const feed = this.activeFeeds[fid];
|
|
@@ -7099,13 +7135,13 @@ class FeedsClient extends FeedsApi {
|
|
|
7099
7135
|
case "feeds.bookmark.deleted":
|
|
7100
7136
|
case "feeds.bookmark.updated": {
|
|
7101
7137
|
const activityId = event.bookmark.activity.id;
|
|
7102
|
-
const feeds = this.
|
|
7138
|
+
const feeds = this.findActiveFeedsByActivityId(activityId);
|
|
7103
7139
|
feeds.forEach((f) => f.handleWSEvent(event));
|
|
7104
7140
|
break;
|
|
7105
7141
|
}
|
|
7106
7142
|
case "feeds.activity.feedback": {
|
|
7107
7143
|
const activityId = event.activity_feedback.activity_id;
|
|
7108
|
-
const feeds = this.
|
|
7144
|
+
const feeds = this.findActiveFeedsByActivityId(activityId);
|
|
7109
7145
|
feeds.forEach((f) => f.handleWSEvent(event));
|
|
7110
7146
|
break;
|
|
7111
7147
|
}
|
|
@@ -7243,11 +7279,9 @@ class FeedsClient extends FeedsApi {
|
|
|
7243
7279
|
}
|
|
7244
7280
|
return response;
|
|
7245
7281
|
}
|
|
7246
|
-
|
|
7282
|
+
findActiveFeedsByActivityId(activityId) {
|
|
7247
7283
|
return Object.values(this.activeFeeds).filter(
|
|
7248
|
-
(feed) => feed.
|
|
7249
|
-
(activity) => activity.id === activityId
|
|
7250
|
-
)
|
|
7284
|
+
(feed) => feed.hasActivity(activityId) || feed.hasPinnedActivity(activityId)
|
|
7251
7285
|
);
|
|
7252
7286
|
}
|
|
7253
7287
|
}
|
|
@@ -7274,4 +7308,4 @@ export {
|
|
|
7274
7308
|
shouldUpdateState as s,
|
|
7275
7309
|
uniqueArrayMerge as u
|
|
7276
7310
|
};
|
|
7277
|
-
//# sourceMappingURL=feeds-client-
|
|
7311
|
+
//# sourceMappingURL=feeds-client-BWaXWhhB.mjs.map
|