@stream-io/feeds-client 0.3.47 → 0.3.49
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 +21 -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-ykIZW9Hi.mjs → feeds-client-B9b7zUcW.mjs} +182 -196
- package/dist/feeds-client-B9b7zUcW.mjs.map +1 -0
- package/dist/{feeds-client-CxjZlEtX.js → feeds-client-BDvUG9yF.js} +182 -196
- package/dist/feeds-client-BDvUG9yF.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/types/common/Poll.d.ts +15 -6
- package/dist/types/common/Poll.d.ts.map +1 -1
- 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-updater.d.ts +1 -1
- package/dist/types/feed/event-handlers/comment/handle-comment-added.d.ts.map +1 -1
- 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 +17 -3
- package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
- package/dist/types/gen/feeds/FeedApi.d.ts +2 -1
- package/dist/types/gen/feeds/FeedApi.d.ts.map +1 -1
- package/dist/types/gen/feeds/FeedsApi.d.ts +5 -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 +209 -422
- package/dist/types/gen/models/index.d.ts.map +1 -1
- package/dist/types/gen/moderation/ModerationApi.d.ts.map +1 -1
- package/dist/types/types.d.ts +2 -2
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +1 -1
- package/package.json +1 -1
- package/src/common/Poll.ts +59 -40
- package/src/feed/event-handlers/comment/handle-comment-added.ts +14 -2
- package/src/feed/feed.ts +24 -9
- package/src/feeds-client/feeds-client.ts +70 -1
- package/src/gen/feeds/FeedApi.ts +12 -0
- package/src/gen/feeds/FeedsApi.ts +37 -0
- package/src/gen/model-decoders/decoders.ts +47 -251
- package/src/gen/model-decoders/event-decoder-mapping.ts +3 -2
- package/src/gen/models/index.ts +314 -723
- package/src/gen/moderation/ModerationApi.ts +1 -0
- package/src/test-utils/response-generators.ts +3 -2
- package/src/types.ts +2 -2
- package/src/utils/constants.ts +1 -1
- package/dist/feeds-client-CxjZlEtX.js.map +0 -1
- package/dist/feeds-client-ykIZW9Hi.mjs.map +0 -1
|
@@ -155,7 +155,7 @@ decoders.ActivityResponse = (input) => {
|
|
|
155
155
|
own_bookmarks: { type: "BookmarkResponse", isSingle: false },
|
|
156
156
|
own_reactions: { type: "FeedsReactionResponse", isSingle: false },
|
|
157
157
|
collections: { type: "EnrichedCollectionResponse", isSingle: false },
|
|
158
|
-
reaction_groups: { type: "
|
|
158
|
+
reaction_groups: { type: "FeedsReactionGroupResponse", isSingle: false },
|
|
159
159
|
user: { type: "UserResponse", isSingle: true },
|
|
160
160
|
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
161
161
|
edited_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -252,13 +252,12 @@ decoders.AppealItemResponse = (input) => {
|
|
|
252
252
|
};
|
|
253
253
|
return decode(typeMappings, input);
|
|
254
254
|
};
|
|
255
|
-
decoders.
|
|
255
|
+
decoders.BanInfoResponse = (input) => {
|
|
256
256
|
const typeMappings = {
|
|
257
257
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
258
258
|
expires: { type: "DatetimeType", isSingle: true },
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
target: { type: "User", isSingle: true }
|
|
259
|
+
created_by: { type: "UserResponse", isSingle: true },
|
|
260
|
+
user: { type: "UserResponse", isSingle: true }
|
|
262
261
|
};
|
|
263
262
|
return decode(typeMappings, input);
|
|
264
263
|
};
|
|
@@ -373,30 +372,6 @@ decoders.CallSessionResponse = (input) => {
|
|
|
373
372
|
};
|
|
374
373
|
return decode(typeMappings, input);
|
|
375
374
|
};
|
|
376
|
-
decoders.Channel = (input) => {
|
|
377
|
-
const typeMappings = {
|
|
378
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
379
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
380
|
-
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
381
|
-
last_message_at: { type: "DatetimeType", isSingle: true },
|
|
382
|
-
message_count_updated_at: { type: "DatetimeType", isSingle: true },
|
|
383
|
-
active_live_locations: { type: "SharedLocation", isSingle: false },
|
|
384
|
-
invites: { type: "ChannelMember", isSingle: false },
|
|
385
|
-
members: { type: "ChannelMember", isSingle: false },
|
|
386
|
-
config: { type: "ChannelConfig", isSingle: true },
|
|
387
|
-
created_by: { type: "User", isSingle: true },
|
|
388
|
-
members_lookup: { type: "ChannelMemberLookup", isSingle: false },
|
|
389
|
-
truncated_by: { type: "User", isSingle: true }
|
|
390
|
-
};
|
|
391
|
-
return decode(typeMappings, input);
|
|
392
|
-
};
|
|
393
|
-
decoders.ChannelConfig = (input) => {
|
|
394
|
-
const typeMappings = {
|
|
395
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
396
|
-
updated_at: { type: "DatetimeType", isSingle: true }
|
|
397
|
-
};
|
|
398
|
-
return decode(typeMappings, input);
|
|
399
|
-
};
|
|
400
375
|
decoders.ChannelConfigWithInfo = (input) => {
|
|
401
376
|
const typeMappings = {
|
|
402
377
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -405,28 +380,6 @@ decoders.ChannelConfigWithInfo = (input) => {
|
|
|
405
380
|
};
|
|
406
381
|
return decode(typeMappings, input);
|
|
407
382
|
};
|
|
408
|
-
decoders.ChannelMember = (input) => {
|
|
409
|
-
const typeMappings = {
|
|
410
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
411
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
412
|
-
archived_at: { type: "DatetimeType", isSingle: true },
|
|
413
|
-
ban_expires: { type: "DatetimeType", isSingle: true },
|
|
414
|
-
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
415
|
-
invite_accepted_at: { type: "DatetimeType", isSingle: true },
|
|
416
|
-
invite_rejected_at: { type: "DatetimeType", isSingle: true },
|
|
417
|
-
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
418
|
-
user: { type: "User", isSingle: true }
|
|
419
|
-
};
|
|
420
|
-
return decode(typeMappings, input);
|
|
421
|
-
};
|
|
422
|
-
decoders.ChannelMemberLookup = (input) => {
|
|
423
|
-
const typeMappings = {
|
|
424
|
-
archived_at: { type: "DatetimeType", isSingle: true },
|
|
425
|
-
ban_expires: { type: "DatetimeType", isSingle: true },
|
|
426
|
-
pinned_at: { type: "DatetimeType", isSingle: true }
|
|
427
|
-
};
|
|
428
|
-
return decode(typeMappings, input);
|
|
429
|
-
};
|
|
430
383
|
decoders.ChannelMemberResponse = (input) => {
|
|
431
384
|
const typeMappings = {
|
|
432
385
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -537,7 +490,7 @@ decoders.CommentResponse = (input) => {
|
|
|
537
490
|
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
538
491
|
edited_at: { type: "DatetimeType", isSingle: true },
|
|
539
492
|
latest_reactions: { type: "FeedsReactionResponse", isSingle: false },
|
|
540
|
-
reaction_groups: { type: "
|
|
493
|
+
reaction_groups: { type: "FeedsReactionGroupResponse", isSingle: false }
|
|
541
494
|
};
|
|
542
495
|
return decode(typeMappings, input);
|
|
543
496
|
};
|
|
@@ -607,12 +560,6 @@ decoders.DeleteCommentResponse = (input) => {
|
|
|
607
560
|
};
|
|
608
561
|
return decode(typeMappings, input);
|
|
609
562
|
};
|
|
610
|
-
decoders.Device = (input) => {
|
|
611
|
-
const typeMappings = {
|
|
612
|
-
created_at: { type: "DatetimeType", isSingle: true }
|
|
613
|
-
};
|
|
614
|
-
return decode(typeMappings, input);
|
|
615
|
-
};
|
|
616
563
|
decoders.DeviceResponse = (input) => {
|
|
617
564
|
const typeMappings = {
|
|
618
565
|
created_at: { type: "DatetimeType", isSingle: true }
|
|
@@ -763,6 +710,13 @@ decoders.FeedUpdatedEvent = (input) => {
|
|
|
763
710
|
};
|
|
764
711
|
return decode(typeMappings, input);
|
|
765
712
|
};
|
|
713
|
+
decoders.FeedsReactionGroupResponse = (input) => {
|
|
714
|
+
const typeMappings = {
|
|
715
|
+
first_reaction_at: { type: "DatetimeType", isSingle: true },
|
|
716
|
+
last_reaction_at: { type: "DatetimeType", isSingle: true }
|
|
717
|
+
};
|
|
718
|
+
return decode(typeMappings, input);
|
|
719
|
+
};
|
|
766
720
|
decoders.FeedsReactionResponse = (input) => {
|
|
767
721
|
const typeMappings = {
|
|
768
722
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -895,7 +849,8 @@ decoders.GetOrCreateFeedResponse = (input) => {
|
|
|
895
849
|
decoders.HealthCheckEvent = (input) => {
|
|
896
850
|
const typeMappings = {
|
|
897
851
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
898
|
-
received_at: { type: "DatetimeType", isSingle: true }
|
|
852
|
+
received_at: { type: "DatetimeType", isSingle: true },
|
|
853
|
+
me: { type: "OwnUserResponse", isSingle: true }
|
|
899
854
|
};
|
|
900
855
|
return decode(typeMappings, input);
|
|
901
856
|
};
|
|
@@ -918,40 +873,6 @@ decoders.MembershipLevelResponse = (input) => {
|
|
|
918
873
|
};
|
|
919
874
|
return decode(typeMappings, input);
|
|
920
875
|
};
|
|
921
|
-
decoders.Message = (input) => {
|
|
922
|
-
const typeMappings = {
|
|
923
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
924
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
925
|
-
latest_reactions: { type: "Reaction", isSingle: false },
|
|
926
|
-
mentioned_users: { type: "User", isSingle: false },
|
|
927
|
-
own_reactions: { type: "Reaction", isSingle: false },
|
|
928
|
-
reaction_groups: { type: "ReactionGroupResponse", isSingle: false },
|
|
929
|
-
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
930
|
-
message_text_updated_at: { type: "DatetimeType", isSingle: true },
|
|
931
|
-
pin_expires: { type: "DatetimeType", isSingle: true },
|
|
932
|
-
pinned_at: { type: "DatetimeType", isSingle: true },
|
|
933
|
-
thread_participants: { type: "User", isSingle: false },
|
|
934
|
-
member: { type: "ChannelMember", isSingle: true },
|
|
935
|
-
pinned_by: { type: "User", isSingle: true },
|
|
936
|
-
poll: { type: "Poll", isSingle: true },
|
|
937
|
-
quoted_message: { type: "Message", isSingle: true },
|
|
938
|
-
reminder: { type: "MessageReminder", isSingle: true },
|
|
939
|
-
shared_location: { type: "SharedLocation", isSingle: true },
|
|
940
|
-
user: { type: "User", isSingle: true }
|
|
941
|
-
};
|
|
942
|
-
return decode(typeMappings, input);
|
|
943
|
-
};
|
|
944
|
-
decoders.MessageReminder = (input) => {
|
|
945
|
-
const typeMappings = {
|
|
946
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
947
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
948
|
-
remind_at: { type: "DatetimeType", isSingle: true },
|
|
949
|
-
channel: { type: "Channel", isSingle: true },
|
|
950
|
-
message: { type: "Message", isSingle: true },
|
|
951
|
-
user: { type: "User", isSingle: true }
|
|
952
|
-
};
|
|
953
|
-
return decode(typeMappings, input);
|
|
954
|
-
};
|
|
955
876
|
decoders.MessageResponse = (input) => {
|
|
956
877
|
const typeMappings = {
|
|
957
878
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -997,7 +918,7 @@ decoders.ModerationFlagResponse = (input) => {
|
|
|
997
918
|
decoders.ModerationFlaggedEvent = (input) => {
|
|
998
919
|
const typeMappings = {
|
|
999
920
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1000
|
-
|
|
921
|
+
received_at: { type: "DatetimeType", isSingle: true }
|
|
1001
922
|
};
|
|
1002
923
|
return decode(typeMappings, input);
|
|
1003
924
|
};
|
|
@@ -1012,8 +933,8 @@ decoders.ModerationMarkReviewedEvent = (input) => {
|
|
|
1012
933
|
};
|
|
1013
934
|
decoders.MuteResponse = (input) => {
|
|
1014
935
|
const typeMappings = {
|
|
1015
|
-
mutes: { type: "
|
|
1016
|
-
own_user: { type: "
|
|
936
|
+
mutes: { type: "UserMuteResponse", isSingle: false },
|
|
937
|
+
own_user: { type: "OwnUserResponse", isSingle: true }
|
|
1017
938
|
};
|
|
1018
939
|
return decode(typeMappings, input);
|
|
1019
940
|
};
|
|
@@ -1042,18 +963,18 @@ decoders.OwnBatchResponse = (input) => {
|
|
|
1042
963
|
};
|
|
1043
964
|
return decode(typeMappings, input);
|
|
1044
965
|
};
|
|
1045
|
-
decoders.
|
|
966
|
+
decoders.OwnUserResponse = (input) => {
|
|
1046
967
|
const typeMappings = {
|
|
1047
968
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1048
969
|
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1049
970
|
channel_mutes: { type: "ChannelMute", isSingle: false },
|
|
1050
|
-
devices: { type: "
|
|
1051
|
-
mutes: { type: "
|
|
971
|
+
devices: { type: "DeviceResponse", isSingle: false },
|
|
972
|
+
mutes: { type: "UserMuteResponse", isSingle: false },
|
|
1052
973
|
deactivated_at: { type: "DatetimeType", isSingle: true },
|
|
1053
974
|
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
1054
975
|
last_active: { type: "DatetimeType", isSingle: true },
|
|
1055
|
-
|
|
1056
|
-
push_preferences: { type: "
|
|
976
|
+
revoke_tokens_issued_before: { type: "DatetimeType", isSingle: true },
|
|
977
|
+
push_preferences: { type: "PushPreferencesResponse", isSingle: true }
|
|
1057
978
|
};
|
|
1058
979
|
return decode(typeMappings, input);
|
|
1059
980
|
};
|
|
@@ -1064,16 +985,6 @@ decoders.PinActivityResponse = (input) => {
|
|
|
1064
985
|
};
|
|
1065
986
|
return decode(typeMappings, input);
|
|
1066
987
|
};
|
|
1067
|
-
decoders.Poll = (input) => {
|
|
1068
|
-
const typeMappings = {
|
|
1069
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
1070
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1071
|
-
latest_answers: { type: "PollVote", isSingle: false },
|
|
1072
|
-
own_votes: { type: "PollVote", isSingle: false },
|
|
1073
|
-
created_by: { type: "User", isSingle: true }
|
|
1074
|
-
};
|
|
1075
|
-
return decode(typeMappings, input);
|
|
1076
|
-
};
|
|
1077
988
|
decoders.PollClosedFeedEvent = (input) => {
|
|
1078
989
|
const typeMappings = {
|
|
1079
990
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -1114,14 +1025,6 @@ decoders.PollUpdatedFeedEvent = (input) => {
|
|
|
1114
1025
|
};
|
|
1115
1026
|
return decode(typeMappings, input);
|
|
1116
1027
|
};
|
|
1117
|
-
decoders.PollVote = (input) => {
|
|
1118
|
-
const typeMappings = {
|
|
1119
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
1120
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1121
|
-
user: { type: "User", isSingle: true }
|
|
1122
|
-
};
|
|
1123
|
-
return decode(typeMappings, input);
|
|
1124
|
-
};
|
|
1125
1028
|
decoders.PollVoteCastedFeedEvent = (input) => {
|
|
1126
1029
|
const typeMappings = {
|
|
1127
1030
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -1170,7 +1073,7 @@ decoders.PollVotesResponse = (input) => {
|
|
|
1170
1073
|
};
|
|
1171
1074
|
return decode(typeMappings, input);
|
|
1172
1075
|
};
|
|
1173
|
-
decoders.
|
|
1076
|
+
decoders.PushPreferencesResponse = (input) => {
|
|
1174
1077
|
const typeMappings = {
|
|
1175
1078
|
disabled_until: { type: "DatetimeType", isSingle: true }
|
|
1176
1079
|
};
|
|
@@ -1242,6 +1145,12 @@ decoders.QueryModerationConfigsResponse = (input) => {
|
|
|
1242
1145
|
};
|
|
1243
1146
|
return decode(typeMappings, input);
|
|
1244
1147
|
};
|
|
1148
|
+
decoders.QueryPinnedActivitiesResponse = (input) => {
|
|
1149
|
+
const typeMappings = {
|
|
1150
|
+
pinned_activities: { type: "ActivityPinResponse", isSingle: false }
|
|
1151
|
+
};
|
|
1152
|
+
return decode(typeMappings, input);
|
|
1153
|
+
};
|
|
1245
1154
|
decoders.QueryPollsResponse = (input) => {
|
|
1246
1155
|
const typeMappings = {
|
|
1247
1156
|
polls: { type: "PollResponseData", isSingle: false }
|
|
@@ -1258,8 +1167,7 @@ decoders.Reaction = (input) => {
|
|
|
1258
1167
|
const typeMappings = {
|
|
1259
1168
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1260
1169
|
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1261
|
-
deleted_at: { type: "DatetimeType", isSingle: true }
|
|
1262
|
-
user: { type: "User", isSingle: true }
|
|
1170
|
+
deleted_at: { type: "DatetimeType", isSingle: true }
|
|
1263
1171
|
};
|
|
1264
1172
|
return decode(typeMappings, input);
|
|
1265
1173
|
};
|
|
@@ -1318,7 +1226,7 @@ decoders.ReviewQueueItemResponse = (input) => {
|
|
|
1318
1226
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1319
1227
|
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1320
1228
|
actions: { type: "ActionLogResponse", isSingle: false },
|
|
1321
|
-
bans: { type: "
|
|
1229
|
+
bans: { type: "BanInfoResponse", isSingle: false },
|
|
1322
1230
|
flags: { type: "ModerationFlagResponse", isSingle: false },
|
|
1323
1231
|
completed_at: { type: "DatetimeType", isSingle: true },
|
|
1324
1232
|
reviewed_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -1334,16 +1242,6 @@ decoders.ReviewQueueItemResponse = (input) => {
|
|
|
1334
1242
|
};
|
|
1335
1243
|
return decode(typeMappings, input);
|
|
1336
1244
|
};
|
|
1337
|
-
decoders.SharedLocation = (input) => {
|
|
1338
|
-
const typeMappings = {
|
|
1339
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
1340
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1341
|
-
end_at: { type: "DatetimeType", isSingle: true },
|
|
1342
|
-
channel: { type: "Channel", isSingle: true },
|
|
1343
|
-
message: { type: "Message", isSingle: true }
|
|
1344
|
-
};
|
|
1345
|
-
return decode(typeMappings, input);
|
|
1346
|
-
};
|
|
1347
1245
|
decoders.SharedLocationResponse = (input) => {
|
|
1348
1246
|
const typeMappings = {
|
|
1349
1247
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -1409,7 +1307,7 @@ decoders.ThreadedCommentResponse = (input) => {
|
|
|
1409
1307
|
edited_at: { type: "DatetimeType", isSingle: true },
|
|
1410
1308
|
latest_reactions: { type: "FeedsReactionResponse", isSingle: false },
|
|
1411
1309
|
replies: { type: "ThreadedCommentResponse", isSingle: false },
|
|
1412
|
-
reaction_groups: { type: "
|
|
1310
|
+
reaction_groups: { type: "FeedsReactionGroupResponse", isSingle: false }
|
|
1413
1311
|
};
|
|
1414
1312
|
return decode(typeMappings, input);
|
|
1415
1313
|
};
|
|
@@ -1512,47 +1410,22 @@ decoders.UpsertConfigResponse = (input) => {
|
|
|
1512
1410
|
};
|
|
1513
1411
|
decoders.UpsertPushPreferencesResponse = (input) => {
|
|
1514
1412
|
const typeMappings = {
|
|
1515
|
-
user_preferences: { type: "
|
|
1516
|
-
};
|
|
1517
|
-
return decode(typeMappings, input);
|
|
1518
|
-
};
|
|
1519
|
-
decoders.User = (input) => {
|
|
1520
|
-
const typeMappings = {
|
|
1521
|
-
ban_expires: { type: "DatetimeType", isSingle: true },
|
|
1522
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
1523
|
-
deactivated_at: { type: "DatetimeType", isSingle: true },
|
|
1524
|
-
deleted_at: { type: "DatetimeType", isSingle: true },
|
|
1525
|
-
last_active: { type: "DatetimeType", isSingle: true },
|
|
1526
|
-
last_engaged_at: { type: "DatetimeType", isSingle: true },
|
|
1527
|
-
revoke_tokens_issued_before: { type: "DatetimeType", isSingle: true },
|
|
1528
|
-
updated_at: { type: "DatetimeType", isSingle: true }
|
|
1413
|
+
user_preferences: { type: "PushPreferencesResponse", isSingle: false }
|
|
1529
1414
|
};
|
|
1530
1415
|
return decode(typeMappings, input);
|
|
1531
1416
|
};
|
|
1532
1417
|
decoders.UserBannedEvent = (input) => {
|
|
1533
1418
|
const typeMappings = {
|
|
1534
1419
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1535
|
-
created_by: { type: "User", isSingle: true },
|
|
1536
1420
|
expiration: { type: "DatetimeType", isSingle: true },
|
|
1537
|
-
|
|
1421
|
+
received_at: { type: "DatetimeType", isSingle: true }
|
|
1538
1422
|
};
|
|
1539
1423
|
return decode(typeMappings, input);
|
|
1540
1424
|
};
|
|
1541
1425
|
decoders.UserDeactivatedEvent = (input) => {
|
|
1542
1426
|
const typeMappings = {
|
|
1543
1427
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1544
|
-
|
|
1545
|
-
user: { type: "User", isSingle: true }
|
|
1546
|
-
};
|
|
1547
|
-
return decode(typeMappings, input);
|
|
1548
|
-
};
|
|
1549
|
-
decoders.UserMute = (input) => {
|
|
1550
|
-
const typeMappings = {
|
|
1551
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
1552
|
-
updated_at: { type: "DatetimeType", isSingle: true },
|
|
1553
|
-
expires: { type: "DatetimeType", isSingle: true },
|
|
1554
|
-
target: { type: "User", isSingle: true },
|
|
1555
|
-
user: { type: "User", isSingle: true }
|
|
1428
|
+
received_at: { type: "DatetimeType", isSingle: true }
|
|
1556
1429
|
};
|
|
1557
1430
|
return decode(typeMappings, input);
|
|
1558
1431
|
};
|
|
@@ -1566,17 +1439,10 @@ decoders.UserMuteResponse = (input) => {
|
|
|
1566
1439
|
};
|
|
1567
1440
|
return decode(typeMappings, input);
|
|
1568
1441
|
};
|
|
1569
|
-
decoders.UserMutedEvent = (input) => {
|
|
1570
|
-
const typeMappings = {
|
|
1571
|
-
created_at: { type: "DatetimeType", isSingle: true },
|
|
1572
|
-
user: { type: "User", isSingle: true }
|
|
1573
|
-
};
|
|
1574
|
-
return decode(typeMappings, input);
|
|
1575
|
-
};
|
|
1576
1442
|
decoders.UserReactivatedEvent = (input) => {
|
|
1577
1443
|
const typeMappings = {
|
|
1578
1444
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
1579
|
-
|
|
1445
|
+
received_at: { type: "DatetimeType", isSingle: true }
|
|
1580
1446
|
};
|
|
1581
1447
|
return decode(typeMappings, input);
|
|
1582
1448
|
};
|
|
@@ -1591,6 +1457,13 @@ decoders.UserResponse = (input) => {
|
|
|
1591
1457
|
};
|
|
1592
1458
|
return decode(typeMappings, input);
|
|
1593
1459
|
};
|
|
1460
|
+
decoders.UserUnbannedEvent = (input) => {
|
|
1461
|
+
const typeMappings = {
|
|
1462
|
+
created_at: { type: "DatetimeType", isSingle: true },
|
|
1463
|
+
received_at: { type: "DatetimeType", isSingle: true }
|
|
1464
|
+
};
|
|
1465
|
+
return decode(typeMappings, input);
|
|
1466
|
+
};
|
|
1594
1467
|
decoders.UserUpdatedEvent = (input) => {
|
|
1595
1468
|
const typeMappings = {
|
|
1596
1469
|
created_at: { type: "DatetimeType", isSingle: true },
|
|
@@ -2035,7 +1908,8 @@ class FeedsApi {
|
|
|
2035
1908
|
interest_tags: request?.interest_tags,
|
|
2036
1909
|
mentioned_user_ids: request?.mentioned_user_ids,
|
|
2037
1910
|
custom: request?.custom,
|
|
2038
|
-
location: request?.location
|
|
1911
|
+
location: request?.location,
|
|
1912
|
+
search_data: request?.search_data
|
|
2039
1913
|
};
|
|
2040
1914
|
const response = await this.apiClient.sendRequest(
|
|
2041
1915
|
"PUT",
|
|
@@ -2589,6 +2463,29 @@ class FeedsApi {
|
|
|
2589
2463
|
decoders.RejectFeedMemberInviteResponse?.(response.body);
|
|
2590
2464
|
return { ...response.body, metadata: response.metadata };
|
|
2591
2465
|
}
|
|
2466
|
+
async queryPinnedActivities(request) {
|
|
2467
|
+
const pathParams = {
|
|
2468
|
+
feed_group_id: request?.feed_group_id,
|
|
2469
|
+
feed_id: request?.feed_id
|
|
2470
|
+
};
|
|
2471
|
+
const body = {
|
|
2472
|
+
limit: request?.limit,
|
|
2473
|
+
next: request?.next,
|
|
2474
|
+
prev: request?.prev,
|
|
2475
|
+
sort: request?.sort,
|
|
2476
|
+
filter: request?.filter
|
|
2477
|
+
};
|
|
2478
|
+
const response = await this.apiClient.sendRequest(
|
|
2479
|
+
"POST",
|
|
2480
|
+
"/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/pinned_activities/query",
|
|
2481
|
+
pathParams,
|
|
2482
|
+
void 0,
|
|
2483
|
+
body,
|
|
2484
|
+
"application/json"
|
|
2485
|
+
);
|
|
2486
|
+
decoders.QueryPinnedActivitiesResponse?.(response.body);
|
|
2487
|
+
return { ...response.body, metadata: response.metadata };
|
|
2488
|
+
}
|
|
2592
2489
|
async stopWatchingFeed(request) {
|
|
2593
2490
|
const queryParams = {
|
|
2594
2491
|
connection_id: request?.connection_id
|
|
@@ -4028,7 +3925,7 @@ const getRateLimitFromResponseHeader = (response_headers) => {
|
|
|
4028
3925
|
};
|
|
4029
3926
|
return result;
|
|
4030
3927
|
};
|
|
4031
|
-
const version = "0.3.
|
|
3928
|
+
const version = "0.3.49";
|
|
4032
3929
|
const axios = axiosImport.default ?? axiosImport;
|
|
4033
3930
|
class ApiClient {
|
|
4034
3931
|
constructor(apiKey, tokenManager, connectionIdManager, options) {
|
|
@@ -4251,8 +4148,8 @@ const eventDecoderMapping = {
|
|
|
4251
4148
|
"moderation.mark_reviewed": (data) => decoders.ModerationMarkReviewedEvent(data),
|
|
4252
4149
|
"user.banned": (data) => decoders.UserBannedEvent(data),
|
|
4253
4150
|
"user.deactivated": (data) => decoders.UserDeactivatedEvent(data),
|
|
4254
|
-
"user.muted": (data) => decoders.UserMutedEvent(data),
|
|
4255
4151
|
"user.reactivated": (data) => decoders.UserReactivatedEvent(data),
|
|
4152
|
+
"user.unbanned": (data) => decoders.UserUnbannedEvent(data),
|
|
4256
4153
|
"user.updated": (data) => decoders.UserUpdatedEvent(data)
|
|
4257
4154
|
};
|
|
4258
4155
|
const decodeWSEvent = (data) => {
|
|
@@ -4478,6 +4375,7 @@ class ModerationApi {
|
|
|
4478
4375
|
delete_message: request?.delete_message,
|
|
4479
4376
|
delete_reaction: request?.delete_reaction,
|
|
4480
4377
|
delete_user: request?.delete_user,
|
|
4378
|
+
flag: request?.flag,
|
|
4481
4379
|
mark_reviewed: request?.mark_reviewed,
|
|
4482
4380
|
reject_appeal: request?.reject_appeal,
|
|
4483
4381
|
restore: request?.restore,
|
|
@@ -4499,11 +4397,6 @@ class ModerationApi {
|
|
|
4499
4397
|
}
|
|
4500
4398
|
class ModerationClient extends ModerationApi {
|
|
4501
4399
|
}
|
|
4502
|
-
const isPollUpdatedEvent = (e) => e.type === "feeds.poll.updated";
|
|
4503
|
-
const isPollClosedEventEvent = (e) => e.type === "feeds.poll.closed";
|
|
4504
|
-
const isPollVoteCastedEvent = (e) => e.type === "feeds.poll.vote_casted";
|
|
4505
|
-
const isPollVoteChangedEvent = (e) => e.type === "feeds.poll.vote_changed";
|
|
4506
|
-
const isPollVoteRemovedEvent = (e) => e.type === "feeds.poll.vote_removed";
|
|
4507
4400
|
const isVoteAnswer = (vote) => !!vote?.answer_text;
|
|
4508
4401
|
class StreamPoll {
|
|
4509
4402
|
constructor({ client, poll }) {
|
|
@@ -4535,7 +4428,10 @@ class StreamPoll {
|
|
|
4535
4428
|
};
|
|
4536
4429
|
this.handlePollUpdated = (event) => {
|
|
4537
4430
|
if (event.poll?.id && event.poll.id !== this.id) return;
|
|
4538
|
-
|
|
4431
|
+
const currentState = this.data;
|
|
4432
|
+
if (currentState.updated_at && event.poll.updated_at && event.poll.updated_at <= currentState.updated_at) {
|
|
4433
|
+
return;
|
|
4434
|
+
}
|
|
4539
4435
|
const { id, ...pollData } = event.poll;
|
|
4540
4436
|
this.state.partialNext({
|
|
4541
4437
|
...pollData,
|
|
@@ -4544,7 +4440,8 @@ class StreamPoll {
|
|
|
4544
4440
|
};
|
|
4545
4441
|
this.handlePollClosed = (event) => {
|
|
4546
4442
|
if (event.poll?.id && event.poll.id !== this.id) return;
|
|
4547
|
-
|
|
4443
|
+
const currentState = this.data;
|
|
4444
|
+
if (currentState.is_closed) return;
|
|
4548
4445
|
this.state.partialNext({
|
|
4549
4446
|
is_closed: true,
|
|
4550
4447
|
last_activity_at: new Date(event.created_at)
|
|
@@ -4552,9 +4449,12 @@ class StreamPoll {
|
|
|
4552
4449
|
};
|
|
4553
4450
|
this.handleVoteCasted = (event) => {
|
|
4554
4451
|
if (event.poll?.id && event.poll.id !== this.id) return;
|
|
4555
|
-
if (!isPollVoteCastedEvent(event)) return;
|
|
4556
4452
|
const currentState = this.data;
|
|
4557
4453
|
const isOwnVote = event.poll_vote.user_id === this.client.state.getLatestValue().connected_user?.id;
|
|
4454
|
+
if (isOwnVote) {
|
|
4455
|
+
const alreadyApplied = isVoteAnswer(event.poll_vote) ? currentState.own_answer?.id === event.poll_vote.id : !!event.poll_vote.option_id && currentState.own_votes_by_option_id[event.poll_vote.option_id]?.id === event.poll_vote.id;
|
|
4456
|
+
if (alreadyApplied) return;
|
|
4457
|
+
}
|
|
4558
4458
|
let latestAnswers = [...currentState.latest_answers];
|
|
4559
4459
|
let ownAnswer = currentState.own_answer;
|
|
4560
4460
|
let ownVotesByOptionId = currentState.own_votes_by_option_id;
|
|
@@ -4570,7 +4470,10 @@ class StreamPoll {
|
|
|
4570
4470
|
}
|
|
4571
4471
|
}
|
|
4572
4472
|
if (isVoteAnswer(event.poll_vote)) {
|
|
4573
|
-
latestAnswers = [
|
|
4473
|
+
latestAnswers = [
|
|
4474
|
+
event.poll_vote,
|
|
4475
|
+
...latestAnswers.filter((a) => a.id !== event.poll_vote.id)
|
|
4476
|
+
];
|
|
4574
4477
|
} else {
|
|
4575
4478
|
maxVotedOptionIds = getMaxVotedOptionIds(
|
|
4576
4479
|
event.poll.vote_counts_by_option
|
|
@@ -4596,9 +4499,12 @@ class StreamPoll {
|
|
|
4596
4499
|
};
|
|
4597
4500
|
this.handleVoteChanged = (event) => {
|
|
4598
4501
|
if (event.poll?.id && event.poll.id !== this.id) return;
|
|
4599
|
-
if (!isPollVoteChangedEvent(event)) return;
|
|
4600
4502
|
const currentState = this.data;
|
|
4601
4503
|
const isOwnVote = event.poll_vote.user_id === this.client.state.getLatestValue().connected_user?.id;
|
|
4504
|
+
if (isOwnVote) {
|
|
4505
|
+
const alreadyApplied = isVoteAnswer(event.poll_vote) ? currentState.own_answer?.id === event.poll_vote.id : !!event.poll_vote.option_id && currentState.own_votes_by_option_id[event.poll_vote.option_id]?.id === event.poll_vote.id;
|
|
4506
|
+
if (alreadyApplied) return;
|
|
4507
|
+
}
|
|
4602
4508
|
let latestAnswers = [...currentState.latest_answers];
|
|
4603
4509
|
let ownAnswer = currentState.own_answer;
|
|
4604
4510
|
let ownVotesByOptionId = currentState.own_votes_by_option_id;
|
|
@@ -4657,9 +4563,12 @@ class StreamPoll {
|
|
|
4657
4563
|
};
|
|
4658
4564
|
this.handleVoteRemoved = (event) => {
|
|
4659
4565
|
if (event.poll?.id && event.poll.id !== this.id) return;
|
|
4660
|
-
if (!isPollVoteRemovedEvent(event)) return;
|
|
4661
4566
|
const currentState = this.data;
|
|
4662
4567
|
const isOwnVote = event.poll_vote.user_id === this.client.state.getLatestValue().connected_user?.id;
|
|
4568
|
+
if (isOwnVote) {
|
|
4569
|
+
const alreadyApplied = isVoteAnswer(event.poll_vote) ? !currentState.own_answer : !!event.poll_vote.option_id && !(event.poll_vote.option_id in currentState.own_votes_by_option_id);
|
|
4570
|
+
if (alreadyApplied) return;
|
|
4571
|
+
}
|
|
4663
4572
|
let latestAnswers = [...currentState.latest_answers];
|
|
4664
4573
|
let ownAnswer = currentState.own_answer;
|
|
4665
4574
|
const ownVotesByOptionId = { ...currentState.own_votes_by_option_id };
|
|
@@ -4803,6 +4712,13 @@ class FeedApi {
|
|
|
4803
4712
|
...request
|
|
4804
4713
|
});
|
|
4805
4714
|
}
|
|
4715
|
+
queryPinnedActivities(request) {
|
|
4716
|
+
return this.feedsApi.queryPinnedActivities({
|
|
4717
|
+
feed_id: this.id,
|
|
4718
|
+
feed_group_id: this.group,
|
|
4719
|
+
...request
|
|
4720
|
+
});
|
|
4721
|
+
}
|
|
4806
4722
|
stopWatching(request) {
|
|
4807
4723
|
return this.feedsApi.stopWatchingFeed({
|
|
4808
4724
|
feed_id: this.id,
|
|
@@ -4846,7 +4762,7 @@ const replaceUniqueArrayMerge = (existingArray, arrayToMerge, getKey) => {
|
|
|
4846
4762
|
return result;
|
|
4847
4763
|
};
|
|
4848
4764
|
const Constants = {
|
|
4849
|
-
DEFAULT_COMMENT_PAGINATION: "
|
|
4765
|
+
DEFAULT_COMMENT_PAGINATION: "last"
|
|
4850
4766
|
};
|
|
4851
4767
|
const isFollowResponse = (data) => {
|
|
4852
4768
|
return "source_feed" in data && "target_feed" in data;
|
|
@@ -5137,8 +5053,21 @@ function handleCommentAdded(payload, fromWs) {
|
|
|
5137
5053
|
return currentState;
|
|
5138
5054
|
}
|
|
5139
5055
|
const newComments = entityState?.comments ? [...entityState.comments] : [];
|
|
5140
|
-
|
|
5056
|
+
const sort = entityState.pagination?.sort;
|
|
5057
|
+
const hasMorePages = entityState.pagination?.next !== void 0;
|
|
5058
|
+
const isFromCurrentUser = eventTriggeredByConnectedUser.call(this, payload);
|
|
5059
|
+
if (sort === "last") {
|
|
5141
5060
|
newComments.unshift(comment);
|
|
5061
|
+
} else if (sort === "first") {
|
|
5062
|
+
if (isFromCurrentUser) {
|
|
5063
|
+
newComments.push(comment);
|
|
5064
|
+
} else {
|
|
5065
|
+
if (!hasMorePages) {
|
|
5066
|
+
newComments.push(comment);
|
|
5067
|
+
} else {
|
|
5068
|
+
return currentState;
|
|
5069
|
+
}
|
|
5070
|
+
}
|
|
5142
5071
|
} else {
|
|
5143
5072
|
newComments.push(comment);
|
|
5144
5073
|
}
|
|
@@ -6562,11 +6491,11 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6562
6491
|
"app.updated": _Feed.noop,
|
|
6563
6492
|
"user.banned": _Feed.noop,
|
|
6564
6493
|
"user.deactivated": _Feed.noop,
|
|
6565
|
-
"user.muted": _Feed.noop,
|
|
6566
6494
|
"user.reactivated": _Feed.noop,
|
|
6567
6495
|
"user.updated": _Feed.noop,
|
|
6568
6496
|
"feeds.activity.feedback": handleActivityFeedback.bind(this),
|
|
6569
|
-
"feeds.activity.restored": _Feed.noop
|
|
6497
|
+
"feeds.activity.restored": _Feed.noop,
|
|
6498
|
+
"user.unbanned": _Feed.noop
|
|
6570
6499
|
};
|
|
6571
6500
|
this.eventDispatcher = new EventDispatcher();
|
|
6572
6501
|
this.on = this.eventDispatcher.on;
|
|
@@ -6616,7 +6545,9 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6616
6545
|
const { last_get_or_create_request_config } = this.state.getLatestValue();
|
|
6617
6546
|
if (last_get_or_create_request_config?.watch) {
|
|
6618
6547
|
this.inProgressGetOrCreate = void 0;
|
|
6619
|
-
await withRetry(
|
|
6548
|
+
await withRetry(
|
|
6549
|
+
() => this.getOrCreate(last_get_or_create_request_config)
|
|
6550
|
+
);
|
|
6620
6551
|
}
|
|
6621
6552
|
}
|
|
6622
6553
|
async getOrCreate(request) {
|
|
@@ -6758,6 +6689,16 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6758
6689
|
({ replies: _r, meta: _m, ...restOfTheCommentResponse }) => restOfTheCommentResponse
|
|
6759
6690
|
);
|
|
6760
6691
|
const existingComments = newCommentsByEntityId[entityId]?.comments;
|
|
6692
|
+
let comments = existingComments ? uniqueArrayMerge(
|
|
6693
|
+
existingComments,
|
|
6694
|
+
newComments,
|
|
6695
|
+
(comment) => comment.id
|
|
6696
|
+
) : newComments;
|
|
6697
|
+
if (data.sort === "first" && existingComments && existingComments.length > 0) {
|
|
6698
|
+
comments = [...comments].sort(
|
|
6699
|
+
(a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime()
|
|
6700
|
+
);
|
|
6701
|
+
}
|
|
6761
6702
|
newCommentsByEntityId[entityId] = {
|
|
6762
6703
|
...newCommentsByEntityId[entityId],
|
|
6763
6704
|
entity_parent_id: item.entityParentId,
|
|
@@ -6766,11 +6707,7 @@ const _Feed = class _Feed extends FeedApi {
|
|
|
6766
6707
|
next: item.next,
|
|
6767
6708
|
sort: data.sort
|
|
6768
6709
|
},
|
|
6769
|
-
comments
|
|
6770
|
-
existingComments,
|
|
6771
|
-
newComments,
|
|
6772
|
-
(comment) => comment.id
|
|
6773
|
-
) : newComments
|
|
6710
|
+
comments
|
|
6774
6711
|
};
|
|
6775
6712
|
}
|
|
6776
6713
|
return {
|
|
@@ -7528,13 +7465,62 @@ class FeedsClient extends FeedsApi {
|
|
|
7528
7465
|
this.devToken = (userId) => {
|
|
7529
7466
|
return streamDevToken(userId);
|
|
7530
7467
|
};
|
|
7468
|
+
this.updatePoll = async (request) => {
|
|
7469
|
+
const poll = this.pollFromState(request.id);
|
|
7470
|
+
const response = await super.updatePoll(request);
|
|
7471
|
+
if (response.poll && poll) {
|
|
7472
|
+
poll.handlePollUpdated({ poll: response.poll, created_at: /* @__PURE__ */ new Date() });
|
|
7473
|
+
}
|
|
7474
|
+
return response;
|
|
7475
|
+
};
|
|
7476
|
+
this.updatePollPartial = async (request) => {
|
|
7477
|
+
const poll = this.pollFromState(request.poll_id);
|
|
7478
|
+
const response = await super.updatePollPartial(request);
|
|
7479
|
+
if (response.poll && poll) {
|
|
7480
|
+
poll.handlePollUpdated({ poll: response.poll, created_at: /* @__PURE__ */ new Date() });
|
|
7481
|
+
}
|
|
7482
|
+
return response;
|
|
7483
|
+
};
|
|
7531
7484
|
this.closePoll = async (request) => {
|
|
7532
|
-
|
|
7485
|
+
const poll = this.pollFromState(request.poll_id);
|
|
7486
|
+
const response = await super.updatePollPartial({
|
|
7533
7487
|
poll_id: request.poll_id,
|
|
7534
7488
|
set: {
|
|
7535
7489
|
is_closed: true
|
|
7536
7490
|
}
|
|
7537
7491
|
});
|
|
7492
|
+
if (response.poll && poll) {
|
|
7493
|
+
poll.handlePollClosed({ poll: response.poll, created_at: /* @__PURE__ */ new Date() });
|
|
7494
|
+
}
|
|
7495
|
+
return response;
|
|
7496
|
+
};
|
|
7497
|
+
this.castPollVote = async (request) => {
|
|
7498
|
+
const poll = this.pollFromState(request.poll_id);
|
|
7499
|
+
const response = await super.castPollVote(request);
|
|
7500
|
+
if (response.poll && response.vote && poll) {
|
|
7501
|
+
const payload = {
|
|
7502
|
+
poll: response.poll,
|
|
7503
|
+
poll_vote: response.vote,
|
|
7504
|
+
created_at: /* @__PURE__ */ new Date()
|
|
7505
|
+
};
|
|
7506
|
+
if (poll.data.enforce_unique_vote && Object.keys(poll.data.own_votes_by_option_id).length > 0) {
|
|
7507
|
+
poll.handleVoteChanged(payload);
|
|
7508
|
+
} else {
|
|
7509
|
+
poll.handleVoteCasted(payload);
|
|
7510
|
+
}
|
|
7511
|
+
}
|
|
7512
|
+
return response;
|
|
7513
|
+
};
|
|
7514
|
+
this.deletePollVote = async (request) => {
|
|
7515
|
+
const response = await super.deletePollVote(request);
|
|
7516
|
+
if (response.poll && response.vote) {
|
|
7517
|
+
this.pollFromState(request.poll_id)?.handleVoteRemoved({
|
|
7518
|
+
poll: response.poll,
|
|
7519
|
+
poll_vote: response.vote,
|
|
7520
|
+
created_at: /* @__PURE__ */ new Date()
|
|
7521
|
+
});
|
|
7522
|
+
}
|
|
7523
|
+
return response;
|
|
7538
7524
|
};
|
|
7539
7525
|
this.uploadFile = (request) => {
|
|
7540
7526
|
return super.uploadFile({
|
|
@@ -8113,4 +8099,4 @@ exports.replaceUniqueArrayMerge = replaceUniqueArrayMerge;
|
|
|
8113
8099
|
exports.shouldUpdateState = shouldUpdateState;
|
|
8114
8100
|
exports.uniqueArrayMerge = uniqueArrayMerge;
|
|
8115
8101
|
exports.updateEntityInArray = updateEntityInArray;
|
|
8116
|
-
//# sourceMappingURL=feeds-client-
|
|
8102
|
+
//# sourceMappingURL=feeds-client-BDvUG9yF.js.map
|