@stream-io/feeds-client 0.3.37 → 0.3.38

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.
@@ -5,10 +5,10 @@ import type { FeedsClientOptions } from '../../../common/types';
5
5
  /**
6
6
  * A React hook to create, connect and return an instance of `FeedsClient`.
7
7
  */
8
- export declare const useCreateFeedsClient: ({ apiKey, tokenOrProvider, userData, options, }: {
8
+ export declare const useCreateFeedsClient: ({ apiKey, tokenOrProvider, userData: userDataOrAnonymous, options, }: {
9
9
  apiKey: string;
10
- tokenOrProvider: TokenOrProvider;
11
- userData: UserRequest;
10
+ tokenOrProvider?: TokenOrProvider;
11
+ userData: UserRequest | "anonymous";
12
12
  options?: FeedsClientOptions;
13
13
  }) => FeedsClient | null;
14
14
  //# sourceMappingURL=useCreateFeedsClient.d.ts.map
@@ -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,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,iDAKlC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,uBA2CA,CAAC"}
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,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,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,CAAC;IAClC,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;IACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,uBAsDA,CAAC"}
@@ -10,6 +10,7 @@ import { type ThrottledGetBatchedOwnFields } from '../utils/throttling';
10
10
  import { ActivityWithStateUpdates } from '../activity-with-state-updates/activity-with-state-updates';
11
11
  export type FeedsClientState = {
12
12
  connected_user: ConnectedUser | undefined;
13
+ is_anonymous: boolean;
13
14
  is_ws_connection_healthy: boolean;
14
15
  };
15
16
  type FID = string;
@@ -34,7 +35,10 @@ export declare class FeedsClient extends FeedsApi {
34
35
  private get allActiveFeeds();
35
36
  pollFromState: (id: string) => StreamPoll | undefined;
36
37
  hydratePollCache(activities: ActivityResponse[]): void;
37
- connectUser: (user: UserRequest, tokenProvider?: TokenOrProvider) => Promise<void>;
38
+ connectAnonymous: () => Promise<void>;
39
+ connectUser: (user: UserRequest | {
40
+ id: "!anon";
41
+ }, tokenProvider?: TokenOrProvider) => Promise<void>;
38
42
  devToken: (userId: string) => string;
39
43
  closePoll: (request: {
40
44
  poll_id: string;
@@ -182,6 +186,8 @@ export declare class FeedsClient extends FeedsApi {
182
186
  private findAllActiveFeedsFromWSEvent;
183
187
  private updateStateFromFollows;
184
188
  private updateStateFromUnfollows;
189
+ private get initialState();
190
+ private checkIfUserIsConnected;
185
191
  }
186
192
  export {};
187
193
  //# sourceMappingURL=feeds-client.d.ts.map
@@ -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":"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;AAC7B,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,CAqB5C;IAEF,OAAO,CAAC,kBAAkB,CA6BxB;IAEF,OAAO,KAAK,cAAc,GAOzB;IAEM,aAAa,GAAI,IAAI,MAAM,4BAA8B;IAEzD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE;IAgBtD,gBAAgB,sBAed;IAEF,WAAW,GACT,MAAM,WAAW,GAAG;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,EACnC,gBAAgB,eAAe,mBAiC/B;IAEF,QAAQ,GAAI,QAAQ,MAAM,YAExB;IAEF,SAAS,GAAU,SAAS;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,KAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAOvC;IAEF,UAAU,GACR,UAAU,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;KAAE,8DAK1E;IAEF,WAAW,GACT,UAAU,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;KAAE,+DAQ3E;IAEF,cAAc,GACZ,SAAS,qBAAqB,GAAG;QAC/B,EAAE,EAAE,MAAM,CAAC;KACZ,KACA,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAMhD;IAEF,UAAU,GACR,SAAS,iBAAiB,KACzB,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAuB5C;IAEF,aAAa,GACX,SAAS,oBAAoB,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAC7C,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAM/C;IAEF,aAAa,GAAU,SAAS;QAC9B,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,KAAG,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAYhD;IAEF,mBAAmB,GACjB,SAAS,kBAAkB,GAAG;QAC5B,WAAW,EAAE,MAAM,CAAC;KACrB,+DAYD;IAEF;;OAEG;IACH,WAAW,GACT,SAAS,kBAAkB,GAAG;QAC5B,WAAW,EAAE,MAAM,CAAC;KACrB,+DAGD;IAEF,sBAAsB,GAAU,SAAS;QACvC,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,KAAG,OAAO,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,CAMzD;IAEF,kBAAkB,GAChB,SAAS,yBAAyB,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAClD,OAAO,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAWpD;IAEF,qBAAqB,GAAU,SAAS;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,KAAG,OAAO,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,CAMxD;IAEF,gBAAgB,GACd,SAAS,qBAAqB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KACrE,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAa3C;IAEF,oBAAoB,GAClB,SAAS,qBAAqB,GAAG;QAC/B,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAChE,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KACA,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAE3C;IAEF,cAAc,sBAsBZ;IAEF,EAAE;cAjgBqB,MAAM;8BAigBA;IAC7B,GAAG;cAlgBoB,MAAM;wBAkgBE;IAE/B;;;;;;;;OAQG;IACH,IAAI,GACF,SAAS,MAAM,EACf,IAAI,MAAM,EACV,UAAU;QACR,kBAAkB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;QACrC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;KACnE,UAQD;IAEF;;;;;;;OAOG;IACH,wBAAwB,GACtB,IAAI,UAAU,EACd,mBAAkB;QAAE,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAElD,8BAKD;IAEI,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB;;;;;;;IA6BtC,QAAQ,CAAC,OAAO,EAAE,eAAe;IAWvC,6BAA6B,GAC3B,OAAO;QAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;KAAE,GAAG,KAAK,UAO7C;IAEI,YAAY,CAAC,OAAO,EAAE,mBAAmB;IAezC,MAAM,CAAC,OAAO,EAAE,aAAa;IAOnC;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB;IAOvC,kBAAkB,CAAC,OAAO,EAAE,kBAAkB;IAQ9C,QAAQ,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOpD,oBAAoB,CAAC,OAAO,EAAE,oBAAoB;IAOlD,gBAAgB,CAAC,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAepE,eAAe,CACnB,OAAO,EAAE,sBAAsB,GAAG;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAcG,oBAAoB,CACxB,GAAG,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,GACtD,OAAO,CAAC,cAAc,CAAC,4BAA4B,GAAG;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC,CAAC;IAoB5E,SAAS,CAAC,QAAQ,CAAC,qBAAqB,GAAI,sDAOzC;QACD,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,YAAY,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE;YACR,kBAAkB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;YACrC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;SACnE,CAAC;QACF,cAAc,EAAE,KAAK,CACnB,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CACzE,CAAC;KACH,UAiFC;IAEF,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,uBAAuB;IAa/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,KAAK,YAAY,GAMvB;IAED,OAAO,CAAC,sBAAsB;CAS/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/feeds-client",
3
- "version": "0.3.37",
3
+ "version": "0.3.38",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/es/index.mjs",
@@ -11,14 +11,23 @@ import type { FeedsClientOptions } from '../../../common/types';
11
11
  export const useCreateFeedsClient = ({
12
12
  apiKey,
13
13
  tokenOrProvider,
14
- userData,
14
+ userData: userDataOrAnonymous,
15
15
  options,
16
16
  }: {
17
17
  apiKey: string;
18
- tokenOrProvider: TokenOrProvider;
19
- userData: UserRequest;
18
+ tokenOrProvider?: TokenOrProvider;
19
+ userData: UserRequest | 'anonymous';
20
20
  options?: FeedsClientOptions;
21
21
  }) => {
22
+ const userData =
23
+ userDataOrAnonymous === 'anonymous' ? undefined : userDataOrAnonymous;
24
+
25
+ if (userDataOrAnonymous !== 'anonymous' && !tokenOrProvider) {
26
+ throw new Error(
27
+ 'Token provider can only be omitted when connecting anonymous user',
28
+ );
29
+ }
30
+
22
31
  const [client, setClient] = useState<FeedsClient | null>(null);
23
32
  const [error, setError] = useState<Error | null>(null);
24
33
  const [cachedUserData, setCachedUserData] = useState(userData);
@@ -29,21 +38,23 @@ export const useCreateFeedsClient = ({
29
38
  throw error;
30
39
  }
31
40
 
32
- if (userData.id !== cachedUserData.id) {
41
+ if (userData?.id !== cachedUserData?.id) {
33
42
  setCachedUserData(userData);
34
43
  }
35
44
 
36
45
  useEffect(() => {
37
46
  const _client = new FeedsClient(apiKey, cachedOptions);
38
47
 
39
- const connectionPromise = _client
40
- .connectUser(cachedUserData, tokenOrProvider)
41
- .then(() => {
42
- setError(null);
43
- })
44
- .catch((err) => {
45
- setError(err);
46
- });
48
+ const connectionPromise = cachedUserData
49
+ ? _client
50
+ .connectUser(cachedUserData, tokenOrProvider)
51
+ .then(() => {
52
+ setError(null);
53
+ })
54
+ .catch((err) => {
55
+ setError(err);
56
+ })
57
+ : _client.connectAnonymous();
47
58
 
48
59
  setClient(_client);
49
60
 
@@ -103,6 +103,7 @@ import {
103
103
 
104
104
  export type FeedsClientState = {
105
105
  connected_user: ConnectedUser | undefined;
106
+ is_anonymous: boolean;
106
107
  is_ws_connection_healthy: boolean;
107
108
  };
108
109
 
@@ -143,10 +144,7 @@ export class FeedsClient extends FeedsApi {
143
144
  options,
144
145
  );
145
146
  super(apiClient);
146
- this.state = new StateStore<FeedsClientState>({
147
- connected_user: undefined,
148
- is_ws_connection_healthy: false,
149
- });
147
+ this.state = new StateStore<FeedsClientState>(this.initialState);
150
148
  this.moderation = new ModerationClient(apiClient);
151
149
  this.tokenManager = tokenManager;
152
150
  this.connectionIdManager = connectionIdManager;
@@ -365,13 +363,28 @@ export class FeedsClient extends FeedsApi {
365
363
  }
366
364
  }
367
365
 
368
- connectUser = async (user: UserRequest, tokenProvider?: TokenOrProvider) => {
369
- if (
370
- this.state.getLatestValue().connected_user !== undefined ||
371
- this.wsConnection
372
- ) {
373
- throw new Error(`Can't connect a new user, call "disconnectUser" first`);
374
- }
366
+ connectAnonymous = () => {
367
+ this.checkIfUserIsConnected();
368
+
369
+ this.connectionIdManager.resolveConnectionidPromise();
370
+ this.tokenManager.setTokenOrProvider(undefined);
371
+ this.setGetBatchOwnFieldsThrottlingInterval(
372
+ this.query_batch_own_fields_throttling_interval,
373
+ );
374
+ this.state.partialNext({
375
+ connected_user: undefined,
376
+ is_anonymous: true,
377
+ is_ws_connection_healthy: false,
378
+ });
379
+
380
+ return Promise.resolve();
381
+ };
382
+
383
+ connectUser = async (
384
+ user: UserRequest | { id: '!anon' },
385
+ tokenProvider?: TokenOrProvider,
386
+ ) => {
387
+ this.checkIfUserIsConnected();
375
388
 
376
389
  this.tokenManager.setTokenOrProvider(tokenProvider);
377
390
 
@@ -614,10 +627,7 @@ export class FeedsClient extends FeedsApi {
614
627
  this.activeActivities = [];
615
628
  this.activeFeeds = {};
616
629
 
617
- this.state.partialNext({
618
- connected_user: undefined,
619
- is_ws_connection_healthy: false,
620
- });
630
+ this.state.partialNext(this.initialState);
621
631
 
622
632
  this.cancelGetBatchOwnFieldsTimer();
623
633
  clearQueuedFeeds();
@@ -1010,4 +1020,22 @@ export class FeedsClient extends FeedsApi {
1010
1020
  feeds.forEach((f) => handleFollowDeleted.bind(f)({ follow }, false));
1011
1021
  });
1012
1022
  }
1023
+
1024
+ private get initialState() {
1025
+ return {
1026
+ connected_user: undefined,
1027
+ is_anonymous: false,
1028
+ is_ws_connection_healthy: false,
1029
+ };
1030
+ }
1031
+
1032
+ private checkIfUserIsConnected() {
1033
+ if (
1034
+ this.state.getLatestValue().connected_user !== undefined ||
1035
+ this.wsConnection ||
1036
+ this.state.getLatestValue().is_anonymous
1037
+ ) {
1038
+ throw new Error(`Can't connect a new user, call "disconnectUser" first`);
1039
+ }
1040
+ }
1013
1041
  }