@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
|
@@ -396,7 +396,7 @@ decoders.ChannelMember = (input) => {
|
|
|
396
396
|
invite_accepted_at: { type: "DatetimeType", isSingle: true },
|
|
397
397
|
invite_rejected_at: { type: "DatetimeType", isSingle: true },
|
|
398
398
|
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
399
|
-
user: { type: "
|
|
399
|
+
user: { type: "User", isSingle: true }
|
|
400
400
|
};
|
|
401
401
|
return decode(typeMappings, input);
|
|
402
402
|
};
|
|
@@ -408,6 +408,20 @@ decoders.ChannelMemberLookup = (input) => {
|
|
|
408
408
|
};
|
|
409
409
|
return decode(typeMappings, input);
|
|
410
410
|
};
|
|
411
|
+
decoders.ChannelMemberResponse = (input) => {
|
|
412
|
+
const typeMappings = {
|
|
413
|
+
created_at: { type: "DatetimeType", isSingle: true },
|
|
414
|
+
updated_at: { type: "DatetimeType", isSingle: true },
|
|
415
|
+
archived_at: { type: "DatetimeType", isSingle: true },
|
|
416
|
+
ban_expires: { type: "DatetimeType", isSingle: true },
|
|
417
|
+
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
418
|
+
invite_accepted_at: { type: "DatetimeType", isSingle: true },
|
|
419
|
+
invite_rejected_at: { type: "DatetimeType", isSingle: true },
|
|
420
|
+
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
421
|
+
user: { type: "UserResponse", isSingle: true }
|
|
422
|
+
};
|
|
423
|
+
return decode(typeMappings, input);
|
|
424
|
+
};
|
|
411
425
|
decoders.ChannelMute = (input) => {
|
|
412
426
|
const typeMappings = {
|
|
413
427
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -427,7 +441,7 @@ decoders.ChannelResponse = (input) => {
|
|
|
427
441
|
last_message_at: { type: "DatetimeType", isSingle: true },
|
|
428
442
|
mute_expires_at: { type: "DatetimeType", isSingle: true },
|
|
429
443
|
truncated_at: { type: "DatetimeType", isSingle: true },
|
|
430
|
-
members: { type: "
|
|
444
|
+
members: { type: "ChannelMemberResponse", isSingle: false },
|
|
431
445
|
config: { type: "ChannelConfigWithInfo", isSingle: true },
|
|
432
446
|
created_by: { type: "UserResponse", isSingle: true },
|
|
433
447
|
truncated_by: { type: "UserResponse", isSingle: true }
|
|
@@ -895,6 +909,7 @@ decoders.MessageResponse = (input) => {
|
|
|
895
909
|
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
896
910
|
thread_participants: { type: "UserResponse", isSingle: false },
|
|
897
911
|
draft: { type: "DraftResponse", isSingle: true },
|
|
912
|
+
member: { type: "ChannelMemberResponse", isSingle: true },
|
|
898
913
|
pinned_by: { type: "UserResponse", isSingle: true },
|
|
899
914
|
poll: { type: "PollResponseData", isSingle: true },
|
|
900
915
|
quoted_message: { type: "MessageResponse", isSingle: true },
|
|
@@ -1234,6 +1249,8 @@ decoders.ReviewQueueItemResponse = (input) => {
|
|
|
1234
1249
|
call: { type: "CallResponse", isSingle: true },
|
|
1235
1250
|
entity_creator: { type: "EntityCreatorResponse", isSingle: true },
|
|
1236
1251
|
feeds_v2_reaction: { type: "Reaction", isSingle: true },
|
|
1252
|
+
feeds_v3_activity: { type: "ActivityResponse", isSingle: true },
|
|
1253
|
+
feeds_v3_comment: { type: "CommentResponse", isSingle: true },
|
|
1237
1254
|
message: { type: "MessageResponse", isSingle: true },
|
|
1238
1255
|
reaction: { type: "Reaction", isSingle: true }
|
|
1239
1256
|
};
|
|
@@ -1607,6 +1624,7 @@ class FeedsApi {
|
|
|
1607
1624
|
id: request?.id,
|
|
1608
1625
|
parent_id: request?.parent_id,
|
|
1609
1626
|
poll_id: request?.poll_id,
|
|
1627
|
+
restrict_replies: request?.restrict_replies,
|
|
1610
1628
|
text: request?.text,
|
|
1611
1629
|
visibility: request?.visibility,
|
|
1612
1630
|
visibility_tag: request?.visibility_tag,
|
|
@@ -1896,6 +1914,7 @@ class FeedsApi {
|
|
|
1896
1914
|
const body = {
|
|
1897
1915
|
expires_at: request?.expires_at,
|
|
1898
1916
|
poll_id: request?.poll_id,
|
|
1917
|
+
restrict_replies: request?.restrict_replies,
|
|
1899
1918
|
text: request?.text,
|
|
1900
1919
|
visibility: request?.visibility,
|
|
1901
1920
|
attachments: request?.attachments,
|
|
@@ -3763,7 +3782,7 @@ const getRateLimitFromResponseHeader = (response_headers) => {
|
|
|
3763
3782
|
};
|
|
3764
3783
|
return result;
|
|
3765
3784
|
};
|
|
3766
|
-
const version = "0.3.
|
|
3785
|
+
const version = "0.3.3";
|
|
3767
3786
|
class ApiClient {
|
|
3768
3787
|
constructor(apiKey, tokenManager, connectionIdManager, options) {
|
|
3769
3788
|
this.apiKey = apiKey;
|
|
@@ -4156,12 +4175,15 @@ class ModerationApi {
|
|
|
4156
4175
|
action_type: request?.action_type,
|
|
4157
4176
|
item_id: request?.item_id,
|
|
4158
4177
|
ban: request?.ban,
|
|
4178
|
+
block: request?.block,
|
|
4159
4179
|
custom: request?.custom,
|
|
4160
4180
|
delete_activity: request?.delete_activity,
|
|
4181
|
+
delete_comment: request?.delete_comment,
|
|
4161
4182
|
delete_message: request?.delete_message,
|
|
4162
4183
|
delete_reaction: request?.delete_reaction,
|
|
4163
4184
|
delete_user: request?.delete_user,
|
|
4164
4185
|
mark_reviewed: request?.mark_reviewed,
|
|
4186
|
+
shadow_block: request?.shadow_block,
|
|
4165
4187
|
unban: request?.unban
|
|
4166
4188
|
};
|
|
4167
4189
|
const response = await this.apiClient.sendRequest(
|
|
@@ -5357,6 +5379,11 @@ function addActivitiesToState(newActivities, activities, position) {
|
|
|
5357
5379
|
return result;
|
|
5358
5380
|
}
|
|
5359
5381
|
function handleActivityAdded(event) {
|
|
5382
|
+
if (this.activityAddedEventFilter) {
|
|
5383
|
+
if (!this.activityAddedEventFilter(event)) {
|
|
5384
|
+
return;
|
|
5385
|
+
}
|
|
5386
|
+
}
|
|
5360
5387
|
const currentActivities = this.currentState.activities;
|
|
5361
5388
|
const result = addActivitiesToState.bind(this)(
|
|
5362
5389
|
[event.activity],
|
|
@@ -6051,8 +6078,9 @@ function handleActivityFeedback(event) {
|
|
|
6051
6078
|
}
|
|
6052
6079
|
}
|
|
6053
6080
|
const _Feed = class _Feed extends FeedApi {
|
|
6054
|
-
constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start") {
|
|
6081
|
+
constructor(client, groupId, id, data, watch = false, addNewActivitiesTo = "start", activityAddedEventFilter) {
|
|
6055
6082
|
super(client, groupId, id);
|
|
6083
|
+
this.activityAddedEventFilter = activityAddedEventFilter;
|
|
6056
6084
|
this.indexedActivityIds = /* @__PURE__ */ new Set();
|
|
6057
6085
|
this.stateUpdateQueue = /* @__PURE__ */ new Set();
|
|
6058
6086
|
this.eventHandlers = {
|
|
@@ -6148,6 +6176,11 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6148
6176
|
hasActivity(activityId) {
|
|
6149
6177
|
return this.indexedActivityIds.has(activityId);
|
|
6150
6178
|
}
|
|
6179
|
+
hasPinnedActivity(activityId) {
|
|
6180
|
+
return this.currentState.pinned_activities?.some(
|
|
6181
|
+
(pinnedActivity) => pinnedActivity.activity.id === activityId
|
|
6182
|
+
);
|
|
6183
|
+
}
|
|
6151
6184
|
async synchronize() {
|
|
6152
6185
|
const { last_get_or_create_request_config } = this.state.getLatestValue();
|
|
6153
6186
|
if (last_get_or_create_request_config?.watch) {
|
|
@@ -6579,6 +6612,7 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6579
6612
|
following_pagination: {
|
|
6580
6613
|
limit: 0
|
|
6581
6614
|
},
|
|
6615
|
+
filter: currentState.last_get_or_create_request_config?.filter,
|
|
6582
6616
|
next: currentState.next,
|
|
6583
6617
|
limit: currentState.last_get_or_create_request_config?.limit ?? 20
|
|
6584
6618
|
});
|
|
@@ -6988,7 +7022,8 @@ class FeedsClient extends FeedsApi {
|
|
|
6988
7022
|
id,
|
|
6989
7023
|
void 0,
|
|
6990
7024
|
void 0,
|
|
6991
|
-
options2?.addNewActivitiesTo
|
|
7025
|
+
options2?.addNewActivitiesTo,
|
|
7026
|
+
options2?.activityAddedEventFilter
|
|
6992
7027
|
);
|
|
6993
7028
|
};
|
|
6994
7029
|
this.updateNetworkConnectionStatus = (event) => {
|
|
@@ -6998,7 +7033,7 @@ class FeedsClient extends FeedsApi {
|
|
|
6998
7033
|
};
|
|
6999
7034
|
this.eventDispatcher.dispatch(networkEvent);
|
|
7000
7035
|
};
|
|
7001
|
-
this.getOrCreateActiveFeed = (group, id, data, watch, addNewActivitiesTo) => {
|
|
7036
|
+
this.getOrCreateActiveFeed = (group, id, data, watch, addNewActivitiesTo, activityAddedEventFilter) => {
|
|
7002
7037
|
const fid = `${group}:${id}`;
|
|
7003
7038
|
if (!this.activeFeeds[fid]) {
|
|
7004
7039
|
this.activeFeeds[fid] = new Feed(
|
|
@@ -7007,7 +7042,8 @@ class FeedsClient extends FeedsApi {
|
|
|
7007
7042
|
id,
|
|
7008
7043
|
data,
|
|
7009
7044
|
watch,
|
|
7010
|
-
addNewActivitiesTo
|
|
7045
|
+
addNewActivitiesTo,
|
|
7046
|
+
activityAddedEventFilter
|
|
7011
7047
|
);
|
|
7012
7048
|
}
|
|
7013
7049
|
const feed = this.activeFeeds[fid];
|
|
@@ -7117,13 +7153,13 @@ class FeedsClient extends FeedsApi {
|
|
|
7117
7153
|
case "feeds.bookmark.deleted":
|
|
7118
7154
|
case "feeds.bookmark.updated": {
|
|
7119
7155
|
const activityId = event.bookmark.activity.id;
|
|
7120
|
-
const feeds = this.
|
|
7156
|
+
const feeds = this.findActiveFeedsByActivityId(activityId);
|
|
7121
7157
|
feeds.forEach((f) => f.handleWSEvent(event));
|
|
7122
7158
|
break;
|
|
7123
7159
|
}
|
|
7124
7160
|
case "feeds.activity.feedback": {
|
|
7125
7161
|
const activityId = event.activity_feedback.activity_id;
|
|
7126
|
-
const feeds = this.
|
|
7162
|
+
const feeds = this.findActiveFeedsByActivityId(activityId);
|
|
7127
7163
|
feeds.forEach((f) => f.handleWSEvent(event));
|
|
7128
7164
|
break;
|
|
7129
7165
|
}
|
|
@@ -7261,11 +7297,9 @@ class FeedsClient extends FeedsApi {
|
|
|
7261
7297
|
}
|
|
7262
7298
|
return response;
|
|
7263
7299
|
}
|
|
7264
|
-
|
|
7300
|
+
findActiveFeedsByActivityId(activityId) {
|
|
7265
7301
|
return Object.values(this.activeFeeds).filter(
|
|
7266
|
-
(feed) => feed.
|
|
7267
|
-
(activity) => activity.id === activityId
|
|
7268
|
-
)
|
|
7302
|
+
(feed) => feed.hasActivity(activityId) || feed.hasPinnedActivity(activityId)
|
|
7269
7303
|
);
|
|
7270
7304
|
}
|
|
7271
7305
|
}
|
|
@@ -7290,4 +7324,4 @@ exports.replaceUniqueArrayMerge = replaceUniqueArrayMerge;
|
|
|
7290
7324
|
exports.shouldUpdateState = shouldUpdateState;
|
|
7291
7325
|
exports.uniqueArrayMerge = uniqueArrayMerge;
|
|
7292
7326
|
exports.updateEntityInArray = updateEntityInArray;
|
|
7293
|
-
//# sourceMappingURL=feeds-client-
|
|
7327
|
+
//# sourceMappingURL=feeds-client-Ddac-BnP.js.map
|