@stream-io/feeds-client 0.3.45 → 0.3.47
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/react-bindings.js +69 -26
- package/dist/cjs/react-bindings.js.map +1 -1
- package/dist/es/index.mjs +2 -2
- package/dist/es/react-bindings.mjs +69 -26
- package/dist/es/react-bindings.mjs.map +1 -1
- package/dist/{feeds-client-CN3FjVMk.js → feeds-client-CxjZlEtX.js} +42 -16
- package/dist/feeds-client-CxjZlEtX.js.map +1 -0
- package/dist/{feeds-client-DK7PXh7g.mjs → feeds-client-ykIZW9Hi.mjs} +42 -16
- package/dist/feeds-client-ykIZW9Hi.mjs.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/types/bindings/react/hooks/feed-state-hooks/index.d.ts +1 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/index.d.ts.map +1 -1
- package/dist/types/bindings/react/hooks/feed-state-hooks/useMembers.d.ts +17 -0
- package/dist/types/bindings/react/hooks/feed-state-hooks/useMembers.d.ts.map +1 -0
- package/dist/types/bindings/react/hooks/useCreateFeedsClient.d.ts +1 -1
- package/dist/types/bindings/react/hooks/useCreateFeedsClient.d.ts.map +1 -1
- package/dist/types/common/Poll.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity-updater.d.ts +2 -2
- package/dist/types/feed/event-handlers/activity-updater.d.ts.map +1 -1
- package/dist/types/feeds-client/feeds-client.d.ts +3 -1
- package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/bindings/react/hooks/feed-state-hooks/index.ts +1 -0
- package/src/bindings/react/hooks/feed-state-hooks/useMembers.ts +55 -0
- package/src/bindings/react/hooks/useCreateFeedsClient.ts +21 -13
- package/src/common/Poll.ts +5 -2
- package/src/feed/event-handlers/activity-updater.ts +2 -0
- package/src/feeds-client/feeds-client.ts +41 -11
- package/dist/feeds-client-CN3FjVMk.js.map +0 -1
- package/dist/feeds-client-DK7PXh7g.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/bindings/react/hooks/feed-state-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/bindings/react/hooks/feed-state-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Feed, FeedState } from '../../../../feed';
|
|
2
|
+
declare const selector: ({ member_count, members, member_pagination, }: FeedState) => {
|
|
3
|
+
member_count: number | undefined;
|
|
4
|
+
members: import("../../../..").FeedMemberResponse[] | undefined;
|
|
5
|
+
member_pagination: (import("../../../..").PagerResponse & import("../../../..").LoadingStates & {
|
|
6
|
+
sort?: import("../../../..").SortParamRequest[];
|
|
7
|
+
}) | undefined;
|
|
8
|
+
};
|
|
9
|
+
type UseMembersReturnType = ReturnType<typeof selector> & {
|
|
10
|
+
is_loading_next_page: boolean;
|
|
11
|
+
has_next_page: boolean;
|
|
12
|
+
loadNextPage: (...options: Parameters<Feed['loadNextPageMembers']>) => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export declare function useMembers(feed: Feed): UseMembersReturnType;
|
|
15
|
+
export declare function useMembers(feed?: Feed): UseMembersReturnType | undefined;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=useMembers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMembers.d.ts","sourceRoot":"","sources":["../../../../../../src/bindings/react/hooks/feed-state-hooks/useMembers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGxD,QAAA,MAAM,QAAQ,GAAI,+CAIf,SAAS;;;;;;CAIV,CAAC;AAEH,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG;IACxD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,CACZ,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAChD,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,oBAAoB,CAAC;AAC7D,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,oBAAoB,GAAG,SAAS,CAAC"}
|
|
@@ -7,7 +7,7 @@ import type { FeedsClientOptions } from '../../../common/types';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const useCreateFeedsClient: ({ apiKey, tokenOrProvider, userData: userDataOrAnonymous, options, }: {
|
|
9
9
|
apiKey: string;
|
|
10
|
-
tokenOrProvider?: TokenOrProvider;
|
|
10
|
+
tokenOrProvider?: TokenOrProvider | "guest";
|
|
11
11
|
userData: UserRequest | "anonymous";
|
|
12
12
|
options?: FeedsClientOptions;
|
|
13
13
|
}) => FeedsClient | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateFeedsClient.d.ts","sourceRoot":"","sources":["../../../../../src/bindings/react/hooks/useCreateFeedsClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useCreateFeedsClient.d.ts","sourceRoot":"","sources":["../../../../../src/bindings/react/hooks/useCreateFeedsClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAuB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,sEAKlC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5C,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;IACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,uBA8DA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Poll.d.ts","sourceRoot":"","sources":["../../../src/common/Poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAuBvB,eAAO,MAAM,YAAY,GAAI,MAAM,oBAAoB,YAClC,CAAC;AAEtB,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,GAAG;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC;AAEvB,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG;IACnE,gBAAgB,EAAE,IAAI,CAAC;IACvB,oBAAoB,EAAE,QAAQ,EAAE,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,qBAAa,UAAU;IACrB,SAAgB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe;IAS7C,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CA4B9C;IAEK,iBAAiB,GAAI,MAAM,eAAe,CAAC,MAAM,CAAC,UAEvD;IAEF,IAAI,IAAI,IAAI,SAAS,CAEpB;IAEM,iBAAiB,GAAI,OAAO,oBAAoB,UAQrD;IAEK,gBAAgB,GAAI,OAAO,mBAAmB,UAOnD;IAEK,gBAAgB,GAAI,OAAO,uBAAuB,
|
|
1
|
+
{"version":3,"file":"Poll.d.ts","sourceRoot":"","sources":["../../../src/common/Poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAuBvB,eAAO,MAAM,YAAY,GAAI,MAAM,oBAAoB,YAClC,CAAC;AAEtB,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,GAAG;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC;AAEvB,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG;IACnE,gBAAgB,EAAE,IAAI,CAAC;IACvB,oBAAoB,EAAE,QAAQ,EAAE,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,qBAAa,UAAU;IACrB,SAAgB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe;IAS7C,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CA4B9C;IAEK,iBAAiB,GAAI,MAAM,eAAe,CAAC,MAAM,CAAC,UAEvD;IAEF,IAAI,IAAI,IAAI,SAAS,CAEpB;IAEM,iBAAiB,GAAI,OAAO,oBAAoB,UAQrD;IAEK,gBAAgB,GAAI,OAAO,mBAAmB,UAOnD;IAEK,gBAAgB,GAAI,OAAO,uBAAuB,UAgDvD;IAEK,iBAAiB,GAAI,OAAO,wBAAwB,UAuEzD;IAEK,iBAAiB,GAAI,OAAO,wBAAwB,UA6CzD;CACH"}
|
|
@@ -5,6 +5,8 @@ export declare const updateActivity: ({ currentActivity, newActivtiy, }: {
|
|
|
5
5
|
}) => {
|
|
6
6
|
own_reactions: import("../..").FeedsReactionResponse[];
|
|
7
7
|
own_bookmarks: import("../..").BookmarkResponse[];
|
|
8
|
+
friend_reactions: import("../..").FeedsReactionResponse[] | undefined;
|
|
9
|
+
friend_reaction_count: number | undefined;
|
|
8
10
|
bookmark_count: number;
|
|
9
11
|
comment_count: number;
|
|
10
12
|
created_at: Date;
|
|
@@ -45,7 +47,5 @@ export declare const updateActivity: ({ currentActivity, newActivtiy, }: {
|
|
|
45
47
|
notification_context?: import("../..").NotificationContext;
|
|
46
48
|
parent?: ActivityResponse;
|
|
47
49
|
poll?: import("../..").PollResponseData;
|
|
48
|
-
friend_reactions?: import("../..").FeedsReactionResponse[];
|
|
49
|
-
friend_reaction_count?: number;
|
|
50
50
|
};
|
|
51
51
|
//# sourceMappingURL=activity-updater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-updater.d.ts","sourceRoot":"","sources":["../../../../src/feed/event-handlers/activity-updater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,eAAO,MAAM,cAAc,GAAI,mCAG5B;IACD,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,gBAAgB,CAAC;CAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"activity-updater.d.ts","sourceRoot":"","sources":["../../../../src/feed/event-handlers/activity-updater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,eAAO,MAAM,cAAc,GAAI,mCAG5B;IACD,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,gBAAgB,CAAC;CAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQA,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FeedsApi } from '../gen/feeds/FeedsApi';
|
|
2
|
-
import type { 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';
|
|
2
|
+
import type { ActivityAddedEvent, ActivityResponse, AddCommentReactionRequest, AddCommentReactionResponse, AddCommentRequest, AddCommentResponse, AddReactionRequest, CreateGuestResponse, 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 type { ConnectedUser, FeedsEvent, StreamFile, TokenOrProvider } from '../types';
|
|
4
4
|
import { StateStore } from '@stream-io/state-store';
|
|
5
5
|
import type { FeedsClientOptions, StreamResponse } from '../common/types';
|
|
@@ -36,6 +36,8 @@ export declare class FeedsClient extends FeedsApi {
|
|
|
36
36
|
pollFromState: (id: string) => StreamPoll | undefined;
|
|
37
37
|
hydratePollCache(activities: ActivityResponse[]): void;
|
|
38
38
|
connectAnonymous: () => Promise<void>;
|
|
39
|
+
connectGuest: (...args: Parameters<FeedsApi["createGuest"]>) => Promise<StreamResponse<CreateGuestResponse>>;
|
|
40
|
+
createGuest: (...args: Parameters<FeedsApi["createGuest"]>) => Promise<StreamResponse<CreateGuestResponse>>;
|
|
39
41
|
connectUser: (user: UserRequest, tokenProvider: TokenOrProvider) => Promise<void>;
|
|
40
42
|
devToken: (userId: string) => string;
|
|
41
43
|
closePoll: (request: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds-client.d.ts","sourceRoot":"","sources":["../../../src/feeds-client/feeds-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,8BAA8B,EAC9B,6BAA6B,EAC7B,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EAEb,4BAA4B,EAC5B,sBAAsB,EAEtB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAYpD,OAAO,KAAK,EACV,kBAAkB,EAElB,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,IAAI,EAiBL,MAAM,SAAS,CAAC;AASjB,OAAO,EAGL,KAAK,4BAA4B,EAGlC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AAStG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,aAAa,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,qBAAa,WAAY,SAAQ,QAAQ;IACvC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IAEJ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAM;IAC5D,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAM;IAE9C,OAAO,CAAC,kCAAkC,CAAK;IAE/C,SAAS,CAAC,0BAA0B,EAAG,4BAA4B,CAAC;IACpE,OAAO,CAAC,4BAA4B,CAAc;IAClD,OAAO,CAAC,0CAA0C,CAAU;gBAEhD,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAoJxD,OAAO,CAAC,sCAAsC,CAoB5C;IAEF,OAAO,CAAC,kBAAkB,CA+BxB;IAEF,OAAO,KAAK,cAAc,GAOzB;IAEM,aAAa,GAAI,IAAI,MAAM,4BAA8B;IAEzD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"feeds-client.d.ts","sourceRoot":"","sources":["../../../src/feeds-client/feeds-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stream-io/feeds-client",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.47",
|
|
4
4
|
"packageManager": "yarn@3.2.4",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/es/index.mjs",
|
|
@@ -56,11 +56,16 @@
|
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@stream-io/node-sdk": "0.6.0",
|
|
59
|
+
"@testing-library/dom": "^10.4.0",
|
|
60
|
+
"@testing-library/react": "^16.0.0",
|
|
59
61
|
"@types/react": "~19.1.0",
|
|
60
62
|
"@vitest/coverage-v8": "3.2.4",
|
|
61
63
|
"concurrently": "^9.2.1",
|
|
62
64
|
"dotenv": "^16.4.5",
|
|
65
|
+
"happy-dom": "^15.0.0",
|
|
63
66
|
"human-id": "^4.1.1",
|
|
67
|
+
"react": "^18.3.1",
|
|
68
|
+
"react-dom": "^18.3.1",
|
|
64
69
|
"rimraf": "^6.0.1",
|
|
65
70
|
"typescript": "^5.9.3",
|
|
66
71
|
"vite": "^7",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import { useStateStore } from '@stream-io/state-store/react-bindings';
|
|
3
|
+
import { useFeedContext } from '../../contexts/StreamFeedContext';
|
|
4
|
+
import type { Feed, FeedState } from '../../../../feed';
|
|
5
|
+
import { checkHasAnotherPage } from '../../../../utils';
|
|
6
|
+
|
|
7
|
+
const selector = ({
|
|
8
|
+
member_count,
|
|
9
|
+
members,
|
|
10
|
+
member_pagination,
|
|
11
|
+
}: FeedState) => ({
|
|
12
|
+
member_count,
|
|
13
|
+
members,
|
|
14
|
+
member_pagination,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
type UseMembersReturnType = ReturnType<typeof selector> & {
|
|
18
|
+
is_loading_next_page: boolean;
|
|
19
|
+
has_next_page: boolean;
|
|
20
|
+
loadNextPage: (
|
|
21
|
+
...options: Parameters<Feed['loadNextPageMembers']>
|
|
22
|
+
) => Promise<void>;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export function useMembers(feed: Feed): UseMembersReturnType;
|
|
26
|
+
export function useMembers(feed?: Feed): UseMembersReturnType | undefined;
|
|
27
|
+
export function useMembers(feedFromProps?: Feed) {
|
|
28
|
+
const feedFromContext = useFeedContext();
|
|
29
|
+
const feed = feedFromProps ?? feedFromContext;
|
|
30
|
+
|
|
31
|
+
const data = useStateStore(feed?.state, selector);
|
|
32
|
+
|
|
33
|
+
const loadNextPage = useCallback(
|
|
34
|
+
(...options: Parameters<Feed['loadNextPageMembers']>) =>
|
|
35
|
+
feed?.loadNextPageMembers(...options),
|
|
36
|
+
[feed],
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
return useMemo(() => {
|
|
40
|
+
if (!data) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
...data,
|
|
46
|
+
is_loading_next_page:
|
|
47
|
+
data.member_pagination?.loading_next_page ?? false,
|
|
48
|
+
has_next_page: checkHasAnotherPage(
|
|
49
|
+
data.members,
|
|
50
|
+
data.member_pagination?.next,
|
|
51
|
+
),
|
|
52
|
+
loadNextPage,
|
|
53
|
+
};
|
|
54
|
+
}, [data, loadNextPage]);
|
|
55
|
+
}
|
|
@@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { FeedsClient } from '../../../feeds-client';
|
|
4
4
|
import type { TokenOrProvider } from '../../../types';
|
|
5
|
-
import type { UserRequest } from '../../../gen/models';
|
|
5
|
+
import type { CreateGuestResponse, UserRequest } from '../../../gen/models';
|
|
6
6
|
import type { FeedsClientOptions } from '../../../common/types';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -15,7 +15,7 @@ export const useCreateFeedsClient = ({
|
|
|
15
15
|
options,
|
|
16
16
|
}: {
|
|
17
17
|
apiKey: string;
|
|
18
|
-
tokenOrProvider?: TokenOrProvider;
|
|
18
|
+
tokenOrProvider?: TokenOrProvider | 'guest';
|
|
19
19
|
userData: UserRequest | 'anonymous';
|
|
20
20
|
options?: FeedsClientOptions;
|
|
21
21
|
}) => {
|
|
@@ -24,7 +24,7 @@ export const useCreateFeedsClient = ({
|
|
|
24
24
|
|
|
25
25
|
if (userDataOrAnonymous !== 'anonymous' && !tokenOrProvider) {
|
|
26
26
|
throw new Error(
|
|
27
|
-
'Token provider can only be omitted when connecting anonymous user',
|
|
27
|
+
'Token provider can only be omitted when connecting anonymous user. If you want to connect as a guest, provide "guest" instead of a token provider.',
|
|
28
28
|
);
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -45,16 +45,24 @@ export const useCreateFeedsClient = ({
|
|
|
45
45
|
useEffect(() => {
|
|
46
46
|
const _client = new FeedsClient(apiKey, cachedOptions);
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
48
|
+
let connectionPromise: Promise<void | CreateGuestResponse>;
|
|
49
|
+
if (!cachedUserData) {
|
|
50
|
+
connectionPromise = _client.connectAnonymous();
|
|
51
|
+
} else if (tokenOrProvider === 'guest') {
|
|
52
|
+
connectionPromise = _client.connectGuest({
|
|
53
|
+
user: cachedUserData,
|
|
54
|
+
});
|
|
55
|
+
} else {
|
|
56
|
+
connectionPromise = _client.connectUser(cachedUserData, tokenOrProvider!);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
connectionPromise = connectionPromise
|
|
60
|
+
.then(() => {
|
|
61
|
+
setError(null);
|
|
62
|
+
})
|
|
63
|
+
.catch((err) => {
|
|
64
|
+
setError(err);
|
|
65
|
+
});
|
|
58
66
|
|
|
59
67
|
setClient(_client);
|
|
60
68
|
|
package/src/common/Poll.ts
CHANGED
|
@@ -135,14 +135,17 @@ export class StreamPoll {
|
|
|
135
135
|
this.client.state.getLatestValue().connected_user?.id;
|
|
136
136
|
let latestAnswers = [...currentState.latest_answers];
|
|
137
137
|
let ownAnswer = currentState.own_answer;
|
|
138
|
-
|
|
138
|
+
let ownVotesByOptionId = currentState.own_votes_by_option_id;
|
|
139
139
|
let maxVotedOptionIds = currentState.max_voted_option_ids;
|
|
140
140
|
|
|
141
141
|
if (isOwnVote) {
|
|
142
142
|
if (isVoteAnswer(event.poll_vote)) {
|
|
143
143
|
ownAnswer = event.poll_vote;
|
|
144
144
|
} else if (event.poll_vote.option_id) {
|
|
145
|
-
ownVotesByOptionId
|
|
145
|
+
ownVotesByOptionId = {
|
|
146
|
+
...ownVotesByOptionId,
|
|
147
|
+
[event.poll_vote.option_id]: event.poll_vote,
|
|
148
|
+
};
|
|
146
149
|
}
|
|
147
150
|
}
|
|
148
151
|
|
|
@@ -11,5 +11,7 @@ export const updateActivity = ({
|
|
|
11
11
|
...newActivtiy,
|
|
12
12
|
own_reactions: currentActivity.own_reactions,
|
|
13
13
|
own_bookmarks: currentActivity.own_bookmarks,
|
|
14
|
+
friend_reactions: currentActivity.friend_reactions,
|
|
15
|
+
friend_reaction_count: currentActivity.friend_reaction_count,
|
|
14
16
|
};
|
|
15
17
|
};
|
|
@@ -7,6 +7,7 @@ import type {
|
|
|
7
7
|
AddCommentRequest,
|
|
8
8
|
AddCommentResponse,
|
|
9
9
|
AddReactionRequest,
|
|
10
|
+
CreateGuestResponse,
|
|
10
11
|
DeleteActivityReactionResponse,
|
|
11
12
|
DeleteCommentReactionResponse,
|
|
12
13
|
DeleteCommentResponse,
|
|
@@ -351,17 +352,16 @@ export class FeedsClient extends FeedsApi {
|
|
|
351
352
|
|
|
352
353
|
public hydratePollCache(activities: ActivityResponse[]) {
|
|
353
354
|
for (const activity of activities) {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
355
|
+
const polls = [activity.poll, activity.parent?.poll].filter((p) => !!p);
|
|
356
|
+
polls.forEach((pollResponse) => {
|
|
357
|
+
const pollFromCache = this.pollFromState(pollResponse.id);
|
|
358
|
+
if (!pollFromCache) {
|
|
359
|
+
const poll = new StreamPoll({ client: this, poll: pollResponse });
|
|
360
|
+
this.polls_by_id.set(poll.id, poll);
|
|
361
|
+
} else {
|
|
362
|
+
pollFromCache.reinitializeState(pollResponse);
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
|
|
@@ -382,6 +382,36 @@ export class FeedsClient extends FeedsApi {
|
|
|
382
382
|
return Promise.resolve();
|
|
383
383
|
};
|
|
384
384
|
|
|
385
|
+
connectGuest = async (...args: Parameters<FeedsApi['createGuest']>) => {
|
|
386
|
+
this.checkIfUserIsConnected();
|
|
387
|
+
|
|
388
|
+
const response = await this.createGuest(...args);
|
|
389
|
+
await this.connectUser(response.user, response.access_token);
|
|
390
|
+
return response;
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
createGuest = async (...args: Parameters<FeedsApi['createGuest']>) => {
|
|
394
|
+
let shouldDisconnect = false;
|
|
395
|
+
|
|
396
|
+
let response: StreamResponse<CreateGuestResponse>;
|
|
397
|
+
try {
|
|
398
|
+
if (
|
|
399
|
+
!this.state.getLatestValue().is_anonymous ||
|
|
400
|
+
!this.state.getLatestValue().connected_user
|
|
401
|
+
) {
|
|
402
|
+
shouldDisconnect = true;
|
|
403
|
+
await this.connectAnonymous();
|
|
404
|
+
}
|
|
405
|
+
response = await super.createGuest(...args);
|
|
406
|
+
} finally {
|
|
407
|
+
if (shouldDisconnect) {
|
|
408
|
+
await this.disconnectUser();
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
return response;
|
|
413
|
+
};
|
|
414
|
+
|
|
385
415
|
connectUser = async (user: UserRequest, tokenProvider: TokenOrProvider) => {
|
|
386
416
|
this.checkIfUserIsConnected();
|
|
387
417
|
|