@stream-io/feeds-client 0.3.18 → 0.3.20
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 +1 -1
- package/dist/cjs/react-bindings.js +1 -2
- package/dist/cjs/react-bindings.js.map +1 -1
- package/dist/es/index.mjs +2 -2
- package/dist/es/react-bindings.mjs +1 -2
- package/dist/es/react-bindings.mjs.map +1 -1
- package/dist/{feeds-client-DT_p8LU4.mjs → feeds-client-CQkvWrgd.mjs} +49 -12
- package/dist/feeds-client-CQkvWrgd.mjs.map +1 -0
- package/dist/{feeds-client-Be5gS8Xx.js → feeds-client-CVOa15Qx.js} +49 -12
- package/dist/feeds-client-CVOa15Qx.js.map +1 -0
- package/dist/types/common/ApiClient.d.ts.map +1 -1
- package/dist/types/feed/feed.d.ts +1 -0
- package/dist/types/feed/feed.d.ts.map +1 -1
- package/dist/types/feeds-client/feeds-client.d.ts +6 -2
- package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
- package/dist/types/feeds-client/get-or-create-active-feed.d.ts +4 -0
- package/dist/types/feeds-client/get-or-create-active-feed.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/common/ApiClient.ts +5 -1
- package/src/feed/event-handlers/activity/handle-activity-added.ts +2 -2
- package/src/feed/event-handlers/follow/handle-follow-deleted.ts +7 -7
- package/src/feed/feed.ts +16 -1
- package/src/feeds-client/feeds-client.ts +37 -7
- package/src/feeds-client/get-or-create-active-feed.ts +12 -0
- package/dist/feeds-client-Be5gS8Xx.js.map +0 -1
- package/dist/feeds-client-DT_p8LU4.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/common/ApiClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/common/ApiClient.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,KAAK,kBAAkB,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3D,CAAC,MAAM,CAAC,CAAC,CAAC;AAGX,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IAC3C,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,gBAAgB,EAAE,kBAAkB,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE,CAAC,CAAC;AAEH,qBAAa,SAAS;aAQF,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,OAAO,CAAS;IACjB,sBAAsB,EAAE,sBAAsB,CAAM;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGlD,MAAM,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACzD,OAAO,CAAC,EAAE,kBAAkB;IAS9B,WAAW,GAAU,CAAC,EACpB,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,cAAc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,GAAG,EACV,qBAAqB,MAAM,KAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,eAAe,CAAA;KAAE,CAAC,CAgHhD;IAEF,IAAI,gBAAgB,WAYnB;IAEM,0BAA0B;IA+BjC,OAAO,KAAK,aAAa,GAKxB;IAED,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAsBnC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAWjC;CACH"}
|
|
@@ -131,5 +131,6 @@ export declare class Feed extends FeedApi {
|
|
|
131
131
|
on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.feedback" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "feeds.stories_feed.updated" | "health.check" | "moderation.custom_action" | "moderation.mark_reviewed" | "user.updated" | "moderation.flagged" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => () => void;
|
|
132
132
|
off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.feedback" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.notification_feed.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "feeds.stories_feed.updated" | "health.check" | "moderation.custom_action" | "moderation.mark_reviewed" | "user.updated" | "moderation.flagged" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => void;
|
|
133
133
|
handleWSEvent(event: WSEvent): void;
|
|
134
|
+
protected newActivitiesAdded(activities: ActivityResponse[]): void;
|
|
134
135
|
}
|
|
135
136
|
//# sourceMappingURL=feed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/feed/feed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,EAChB,eAAe,EAEf,uBAAuB,EACvB,gBAAgB,EAEhB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiCnD,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,EACb,8BAA8B,EAC/B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/feed/feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FeedsApi } from '../gen/feeds/FeedsApi';
|
|
2
|
-
import { ActivityAddedEvent, ActivityResponse, AddCommentReactionRequest, AddCommentReactionResponse, AddCommentRequest, AddCommentResponse, AddReactionRequest, DeleteActivityReactionResponse, DeleteCommentReactionResponse, DeleteCommentResponse, FeedResponse, FileUploadRequest, FollowBatchRequest, FollowRequest, GetOrCreateFeedRequest, ImageUploadRequest, OwnBatchRequest, PollResponse, PollVotesResponse, QueryFeedsRequest, QueryPollVotesRequest, UnfollowBatchRequest, UpdateActivityRequest, UpdateActivityResponse, UpdateCommentRequest, UpdateCommentResponse, UpdateFollowRequest, UserRequest } from '../gen/models';
|
|
2
|
+
import { ActivityAddedEvent, ActivityResponse, AddCommentReactionRequest, AddCommentReactionResponse, AddCommentRequest, AddCommentResponse, AddReactionRequest, DeleteActivityReactionResponse, DeleteCommentReactionResponse, DeleteCommentResponse, FeedResponse, FileUploadRequest, FollowBatchRequest, FollowRequest, GetFollowSuggestionsResponse, GetOrCreateFeedRequest, ImageUploadRequest, OwnBatchRequest, PollResponse, PollVotesResponse, QueryFeedsRequest, QueryPollVotesRequest, UnfollowBatchRequest, UpdateActivityRequest, UpdateActivityResponse, UpdateCommentRequest, UpdateCommentResponse, UpdateFollowRequest, UserRequest } from '../gen/models';
|
|
3
3
|
import { ConnectedUser, FeedsEvent, StreamFile, TokenOrProvider } from '../types';
|
|
4
4
|
import { StateStore } from '@stream-io/state-store';
|
|
5
5
|
import { FeedsClientOptions, StreamResponse } from '../common/types';
|
|
@@ -152,7 +152,11 @@ export declare class FeedsClient extends FeedsApi {
|
|
|
152
152
|
feed_id: string;
|
|
153
153
|
connection_id?: string;
|
|
154
154
|
}): Promise<StreamResponse<import('..').GetOrCreateFeedResponse>>;
|
|
155
|
-
|
|
155
|
+
getFollowSuggestions(...params: Parameters<FeedsApi['getFollowSuggestions']>): Promise<StreamResponse<GetFollowSuggestionsResponse>>;
|
|
156
|
+
protected readonly getOrCreateActiveFeed: (group: string, id: string, data?: FeedResponse, watch?: boolean, options?: {
|
|
157
|
+
addNewActivitiesTo?: "start" | "end";
|
|
158
|
+
activityAddedEventFilter?: (event: ActivityAddedEvent) => boolean;
|
|
159
|
+
}) => Feed;
|
|
156
160
|
private findAllActiveFeedsByActivityId;
|
|
157
161
|
private findAllActiveFeedsByFid;
|
|
158
162
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds-client.d.ts","sourceRoot":"","sources":["../../../src/feeds-client/feeds-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"feeds-client.d.ts","sourceRoot":"","sources":["../../../src/feeds-client/feeds-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FeedResponse } from '../gen/models';
|
|
2
|
+
import { FeedsClient } from './feeds-client';
|
|
3
|
+
export declare function getOrCreateActiveFeed(this: FeedsClient, group: string, id: string, data?: FeedResponse, watch?: boolean): import('..').Feed;
|
|
4
|
+
//# sourceMappingURL=get-or-create-active-feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-or-create-active-feed.d.ts","sourceRoot":"","sources":["../../../src/feeds-client/get-or-create-active-feed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,OAAO,qBAGhB"}
|
package/package.json
CHANGED
package/src/common/ApiClient.ts
CHANGED
|
@@ -4,7 +4,11 @@ import type {
|
|
|
4
4
|
AxiosResponse,
|
|
5
5
|
RawAxiosRequestHeaders,
|
|
6
6
|
} from 'axios';
|
|
7
|
-
import
|
|
7
|
+
import axiosImport from 'axios';
|
|
8
|
+
// @ts-expect-error This is needed in the event of the CJS variant being hit
|
|
9
|
+
// from the React Native SDK, to prevent the default `require` from being
|
|
10
|
+
// accessed directly from `require('axios')` rather than `require('axios').default`.
|
|
11
|
+
const axios = axiosImport.default ?? axiosImport;
|
|
8
12
|
import type { RequestMetadata, FeedsClientOptions } from './types';
|
|
9
13
|
import { StreamApiError } from './types';
|
|
10
14
|
import { getRateLimitFromResponseHeader } from './rate-limit';
|
|
@@ -28,13 +28,13 @@ export function addActivitiesToState(
|
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
if (newActivitiesDeduplicated.length > 0) {
|
|
31
|
-
// TODO: since feed activities are not necessarily ordered by created_at (personalization) we don't order by created_at
|
|
32
|
-
// Maybe we can add a flag to the JS client to support order by created_at
|
|
33
31
|
const updatedActivities = [
|
|
34
32
|
...(position === 'start' ? newActivitiesDeduplicated : []),
|
|
35
33
|
...activities,
|
|
36
34
|
...(position === 'end' ? newActivitiesDeduplicated : []),
|
|
37
35
|
];
|
|
36
|
+
this.newActivitiesAdded(newActivitiesDeduplicated);
|
|
37
|
+
|
|
38
38
|
result = { changed: true, activities: updatedActivities };
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -42,13 +42,13 @@ export const updateStateFollowDeleted = (
|
|
|
42
42
|
...follow.target_feed,
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
if (source.created_by.id === connectedUserId) {
|
|
46
|
+
newState.own_follows = currentState.own_follows
|
|
47
|
+
? currentState.own_follows.filter(
|
|
48
|
+
(followItem) =>
|
|
49
|
+
followItem.source_feed.feed !== follow.source_feed.feed,
|
|
50
|
+
)
|
|
51
|
+
: [];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
// Only update if followers array already exists
|
package/src/feed/feed.ts
CHANGED
|
@@ -67,6 +67,7 @@ import {
|
|
|
67
67
|
} from '../utils';
|
|
68
68
|
import { handleActivityFeedback } from './event-handlers/activity/handle-activity-feedback';
|
|
69
69
|
import { deepEqual } from '../utils/deep-equal';
|
|
70
|
+
import { getOrCreateActiveFeed } from '../feeds-client/get-or-create-active-feed';
|
|
70
71
|
|
|
71
72
|
export type FeedState = Omit<
|
|
72
73
|
Partial<GetOrCreateFeedResponse & FeedResponse>,
|
|
@@ -413,7 +414,7 @@ export class Feed extends FeedApi {
|
|
|
413
414
|
});
|
|
414
415
|
}
|
|
415
416
|
|
|
416
|
-
this.
|
|
417
|
+
this.newActivitiesAdded(response.activities);
|
|
417
418
|
|
|
418
419
|
return response;
|
|
419
420
|
} finally {
|
|
@@ -972,4 +973,18 @@ export class Feed extends FeedApi {
|
|
|
972
973
|
|
|
973
974
|
this.eventDispatcher.dispatch(event);
|
|
974
975
|
}
|
|
976
|
+
|
|
977
|
+
protected newActivitiesAdded(activities: ActivityResponse[]) {
|
|
978
|
+
this.client.hydratePollCache(activities);
|
|
979
|
+
|
|
980
|
+
activities.forEach((activity) => {
|
|
981
|
+
if (activity.current_feed) {
|
|
982
|
+
getOrCreateActiveFeed.bind(this.client)(
|
|
983
|
+
activity.current_feed.group_id,
|
|
984
|
+
activity.current_feed.id,
|
|
985
|
+
activity.current_feed,
|
|
986
|
+
);
|
|
987
|
+
}
|
|
988
|
+
});
|
|
989
|
+
}
|
|
975
990
|
}
|
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
FollowBatchRequest,
|
|
16
16
|
FollowRequest,
|
|
17
17
|
FollowResponse,
|
|
18
|
+
GetFollowSuggestionsResponse,
|
|
18
19
|
GetOrCreateFeedRequest,
|
|
19
20
|
ImageUploadRequest,
|
|
20
21
|
OwnBatchRequest,
|
|
@@ -680,8 +681,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
680
681
|
id,
|
|
681
682
|
undefined,
|
|
682
683
|
undefined,
|
|
683
|
-
options
|
|
684
|
-
options?.activityAddedEventFilter,
|
|
684
|
+
options,
|
|
685
685
|
);
|
|
686
686
|
};
|
|
687
687
|
|
|
@@ -840,30 +840,60 @@ export class FeedsClient extends FeedsApi {
|
|
|
840
840
|
return response;
|
|
841
841
|
}
|
|
842
842
|
|
|
843
|
-
|
|
843
|
+
async getFollowSuggestions(
|
|
844
|
+
...params: Parameters<FeedsApi['getFollowSuggestions']>
|
|
845
|
+
): Promise<StreamResponse<GetFollowSuggestionsResponse>> {
|
|
846
|
+
const response = await super.getFollowSuggestions(...params);
|
|
847
|
+
|
|
848
|
+
response.suggestions.forEach((suggestion) => {
|
|
849
|
+
this.getOrCreateActiveFeed(
|
|
850
|
+
suggestion.group_id,
|
|
851
|
+
suggestion.id,
|
|
852
|
+
suggestion,
|
|
853
|
+
);
|
|
854
|
+
});
|
|
855
|
+
|
|
856
|
+
// TODO: return feed instance here https://linear.app/stream/issue/REACT-669/return-feed-instance-from-followsuggestions-breaking
|
|
857
|
+
return response;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
protected readonly getOrCreateActiveFeed = (
|
|
844
861
|
group: string,
|
|
845
862
|
id: string,
|
|
846
863
|
data?: FeedResponse,
|
|
847
864
|
watch?: boolean,
|
|
848
|
-
|
|
849
|
-
|
|
865
|
+
options?: {
|
|
866
|
+
addNewActivitiesTo?: 'start' | 'end';
|
|
867
|
+
activityAddedEventFilter?: (event: ActivityAddedEvent) => boolean;
|
|
868
|
+
},
|
|
850
869
|
) => {
|
|
851
870
|
const fid = `${group}:${id}`;
|
|
871
|
+
let isCreated = false;
|
|
852
872
|
|
|
853
873
|
if (!this.activeFeeds[fid]) {
|
|
874
|
+
isCreated = true;
|
|
854
875
|
this.activeFeeds[fid] = new Feed(
|
|
855
876
|
this,
|
|
856
877
|
group,
|
|
857
878
|
id,
|
|
858
879
|
data,
|
|
859
880
|
watch,
|
|
860
|
-
addNewActivitiesTo,
|
|
861
|
-
activityAddedEventFilter,
|
|
881
|
+
options?.addNewActivitiesTo,
|
|
882
|
+
options?.activityAddedEventFilter,
|
|
862
883
|
);
|
|
863
884
|
}
|
|
864
885
|
|
|
865
886
|
const feed = this.activeFeeds[fid];
|
|
866
887
|
|
|
888
|
+
if (!isCreated && options) {
|
|
889
|
+
if (options?.addNewActivitiesTo) {
|
|
890
|
+
feed.addNewActivitiesTo = options.addNewActivitiesTo;
|
|
891
|
+
}
|
|
892
|
+
if (options?.activityAddedEventFilter) {
|
|
893
|
+
feed.activityAddedEventFilter = options.activityAddedEventFilter;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
|
|
867
897
|
if (!feed.currentState.watch) {
|
|
868
898
|
// feed isn't watched and may be stale, update it
|
|
869
899
|
if (data) handleFeedUpdated.call(feed, { feed: data });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FeedResponse } from '../gen/models';
|
|
2
|
+
import type { FeedsClient } from './feeds-client';
|
|
3
|
+
|
|
4
|
+
export function getOrCreateActiveFeed(
|
|
5
|
+
this: FeedsClient,
|
|
6
|
+
group: string,
|
|
7
|
+
id: string,
|
|
8
|
+
data?: FeedResponse,
|
|
9
|
+
watch?: boolean,
|
|
10
|
+
) {
|
|
11
|
+
return this.getOrCreateActiveFeed(group, id, data, watch);
|
|
12
|
+
}
|