@amityco/ts-sdk 0.0.1-beta.12 → 0.0.1-beta.15

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.
Files changed (107) hide show
  1. package/README.md +3 -3
  2. package/dist/@types/core/cache.d.ts +2 -2
  3. package/dist/@types/core/cache.d.ts.map +1 -1
  4. package/dist/@types/core/events.d.ts +2 -2
  5. package/dist/@types/core/events.d.ts.map +1 -1
  6. package/dist/@types/core/paging.d.ts +19 -38
  7. package/dist/@types/core/paging.d.ts.map +1 -1
  8. package/dist/@types/core/query.d.ts +12 -4
  9. package/dist/@types/core/query.d.ts.map +1 -1
  10. package/dist/@types/domains/client.d.ts +1 -1
  11. package/dist/@types/domains/client.d.ts.map +1 -1
  12. package/dist/@types/domains/comment.d.ts +1 -1
  13. package/dist/@types/domains/comment.d.ts.map +1 -1
  14. package/dist/@types/domains/file.d.ts +2 -2
  15. package/dist/@types/domains/file.d.ts.map +1 -1
  16. package/dist/@types/domains/mention.d.ts +23 -0
  17. package/dist/@types/domains/mention.d.ts.map +1 -0
  18. package/dist/@types/domains/message.d.ts +1 -1
  19. package/dist/@types/domains/message.d.ts.map +1 -1
  20. package/dist/@types/domains/post.d.ts +2 -2
  21. package/dist/@types/domains/post.d.ts.map +1 -1
  22. package/dist/@types/index.d.ts +1 -0
  23. package/dist/@types/index.d.ts.map +1 -1
  24. package/dist/category/api/queryCategories.d.ts +3 -3
  25. package/dist/channel/api/queryChannelMembers.d.ts.map +1 -1
  26. package/dist/channel/api/queryChannels.d.ts +1 -1
  27. package/dist/client/api/createClient.d.ts +3 -3
  28. package/dist/client/api/createClient.d.ts.map +1 -1
  29. package/dist/client/api/disconnectClient.d.ts.map +1 -1
  30. package/dist/client/utils/endpoints.d.ts +12 -0
  31. package/dist/client/utils/endpoints.d.ts.map +1 -0
  32. package/dist/comment/api/createComment.d.ts +1 -1
  33. package/dist/comment/api/createComment.d.ts.map +1 -1
  34. package/dist/comment/api/updateComment.d.ts +1 -1
  35. package/dist/comment/api/updateComment.d.ts.map +1 -1
  36. package/dist/community/api/queryCommunities.d.ts +1 -1
  37. package/dist/core/debug.d.ts.map +1 -1
  38. package/dist/core/device.d.ts.map +1 -1
  39. package/dist/core/events.d.ts.map +1 -1
  40. package/dist/core/microtasks.d.ts +13 -0
  41. package/dist/core/microtasks.d.ts.map +1 -0
  42. package/dist/core/query/paging.d.ts +2 -13
  43. package/dist/core/query/paging.d.ts.map +1 -1
  44. package/dist/core/query/query.d.ts +1 -1
  45. package/dist/core/query/query.d.ts.map +1 -1
  46. package/dist/feed/api/queryGlobalFeed.d.ts +22 -4
  47. package/dist/feed/api/queryGlobalFeed.d.ts.map +1 -1
  48. package/dist/index.cjs.js +101 -74
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.esm.js +101 -74
  52. package/dist/index.umd.js +5 -5
  53. package/dist/message/api/createMessage.d.ts +2 -2
  54. package/dist/message/api/createMessage.d.ts.map +1 -1
  55. package/dist/message/api/updateMessage.d.ts +2 -2
  56. package/dist/message/api/updateMessage.d.ts.map +1 -1
  57. package/dist/post/api/createPost.d.ts +7 -3
  58. package/dist/post/api/createPost.d.ts.map +1 -1
  59. package/dist/post/api/queryPosts.d.ts +3 -3
  60. package/dist/post/api/queryPosts.d.ts.map +1 -1
  61. package/dist/post/api/updatePost.d.ts +1 -1
  62. package/dist/post/api/updatePost.d.ts.map +1 -1
  63. package/dist/role/api/queryRoles.d.ts +1 -1
  64. package/dist/stream/api/queryStreams.d.ts +1 -1
  65. package/dist/utils/env.d.ts +5 -0
  66. package/dist/utils/env.d.ts.map +1 -0
  67. package/dist/version.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/rollup.config.js +3 -0
  70. package/src/@types/core/cache.ts +2 -2
  71. package/src/@types/core/events.ts +1 -1
  72. package/src/@types/core/paging.ts +29 -44
  73. package/src/@types/core/query.ts +7 -3
  74. package/src/@types/domains/client.ts +1 -1
  75. package/src/@types/domains/comment.ts +1 -0
  76. package/src/@types/domains/file.ts +2 -1
  77. package/src/@types/domains/mention.ts +26 -0
  78. package/src/@types/domains/message.ts +1 -0
  79. package/src/@types/domains/post.ts +2 -1
  80. package/src/@types/index.ts +2 -0
  81. package/src/channel/api/queryChannelMembers.ts +2 -1
  82. package/src/client/api/connectClient.ts +1 -1
  83. package/src/client/api/createClient.ts +7 -7
  84. package/src/client/api/disconnectClient.ts +0 -1
  85. package/src/client/utils/endpoints.ts +14 -0
  86. package/src/comment/api/createComment.ts +1 -2
  87. package/src/comment/api/updateComment.ts +1 -1
  88. package/src/community/api/queryCommunityMembers.ts +1 -1
  89. package/src/core/debug.ts +3 -1
  90. package/src/core/device.ts +3 -2
  91. package/src/core/events.ts +3 -1
  92. package/src/core/microtasks.ts +27 -0
  93. package/src/core/query/paging.ts +6 -41
  94. package/src/core/query/query.ts +5 -5
  95. package/src/core/subscription.ts +4 -4
  96. package/src/feed/api/queryGlobalFeed.ts +58 -5
  97. package/src/index.ts +1 -0
  98. package/src/message/api/createMessage.ts +2 -2
  99. package/src/message/api/updateMessage.ts +2 -2
  100. package/src/post/api/createPost.ts +6 -4
  101. package/src/post/api/queryPosts.ts +5 -5
  102. package/src/post/api/updatePost.ts +2 -2
  103. package/src/utils/env.ts +7 -0
  104. package/src/version.ts +3 -1
  105. package/dist/core/network.d.ts +0 -11
  106. package/dist/core/network.d.ts.map +0 -1
  107. package/src/core/network.ts +0 -14
package/dist/index.cjs.js CHANGED
@@ -19,11 +19,14 @@ var io__default = /*#__PURE__*/_interopDefaultLegacy(io);
19
19
  var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
20
20
  var AsyncStorage__default = /*#__PURE__*/_interopDefaultLegacy(AsyncStorage);
21
21
 
22
- var _a;
23
- // used in createClient
24
- const VERSION$1 = (_a = 'v0.0.1-beta.12-cjs') !== null && _a !== void 0 ? _a : '__dev__';
22
+ var _a$1;
23
+ const theGlobal = globalThis || global || window;
24
+ const { process: safeProcess = {} } = theGlobal;
25
+ const isProduction = ((_a$1 = safeProcess.env) === null || _a$1 === void 0 ? void 0 : _a$1.NODE_ENV) === 'production';
26
+
27
+ var _a, _b;
28
+ const VERSION$1 = (_b = (_a = safeProcess.env) === null || _a === void 0 ? void 0 : _a.VERSION) !== null && _b !== void 0 ? _b : '__dev__';
25
29
 
26
- // @ts-ignore
27
30
  /**
28
31
  * Type guard to find if the a given decoded backend token uses "skip/limit" pagination style
29
32
  *
@@ -41,7 +44,7 @@ const isSkipLimit = (json) => (['skip', 'limit'].some(prop => prop in json));
41
44
  *
42
45
  * @hidden
43
46
  */
44
- const isAfterBefore = (json) => (['after', 'before', 'first', 'last'].some(prop => prop in json));
47
+ const isAfterBefore = (json) => (['after', 'before', 'first', 'last', 'limit'].some(prop => prop in json));
45
48
  /**
46
49
  * Type guard to find if the a given decoded backend token uses v4 or newer "after/before" pagination style
47
50
  *
@@ -50,7 +53,7 @@ const isAfterBefore = (json) => (['after', 'before', 'first', 'last'].some(prop
50
53
  *
51
54
  * @hidden
52
55
  */
53
- const isAfterBeforeRaw = (json) => (['after', 'before'].some(prop => prop in json));
56
+ const isAfterBeforeRaw = (json) => ('limit' in json);
54
57
  /**
55
58
  * Type guard to find if the a given object is wrapped around Amity.Paged<>
56
59
  *
@@ -85,7 +88,7 @@ const toToken = (paging, style) => {
85
88
  limit: paging.limit,
86
89
  };
87
90
  }
88
- else if (style === 'afterbefore') {
91
+ else if (style === 'afterbefore' && isAfterBefore(paging)) {
89
92
  /*
90
93
  Caution: this testing style is only valid because
91
94
  our backend expects nothing else than a number as
@@ -171,35 +174,6 @@ const toPageRaw = (token) => {
171
174
  return json;
172
175
  }
173
176
  return null;
174
- };
175
- /**
176
- * Slices a collection according to its paging
177
- *
178
- * @param type the type of collection (for unique id identification with after/before)
179
- * @param collection the collection to slice
180
- * @param paging the paging object
181
- * @returns the sliced collection according to the paging definition
182
- *
183
- * @hidden
184
- */
185
- const sliceByPaging = (type, collection, page) => {
186
- console.log('slice by paging', page);
187
- if (!page)
188
- return collection.slice();
189
- let start = 0;
190
- let end = undefined;
191
- // next page behavior
192
- if (page.after) {
193
- start = page.after;
194
- end = start + page.limit;
195
- // prev page behavior
196
- }
197
- else if (page.before) {
198
- end = page.before + 1;
199
- start = end > page.limit ? end - page.limit : 0;
200
- }
201
- const paged = collection.slice(start, end);
202
- return paged.length === page.limit ? paged : undefined;
203
177
  };
204
178
 
205
179
  /**
@@ -513,7 +487,7 @@ const setActiveClient = (client) => {
513
487
  */
514
488
  const createLogger = (session) => {
515
489
  const active = (`${session === null || session === void 0 ? void 0 : session.trim()}`.length > 0
516
- && process.env.NODE_ENV !== 'production');
490
+ && !isProduction);
517
491
  const logger = debug__default['default'](session);
518
492
  const print = (topic, ...args) => {
519
493
  active && logger(topic, args);
@@ -522,19 +496,18 @@ const createLogger = (session) => {
522
496
  return print;
523
497
  };
524
498
 
525
- const API_ENDPOINT = {
499
+ const API_REGIONS = {
526
500
  EU: 'eu',
527
501
  SG: 'sg',
528
502
  US: 'us',
529
503
  };
530
- var UrlTemplate;
531
- (function (UrlTemplate) {
532
- UrlTemplate["HTTP"] = "https://api.{region}.amity.co";
533
- UrlTemplate["MQTT"] = "wss://sse.{region}.amity.co:443/mqtt";
534
- })(UrlTemplate || (UrlTemplate = {}));
535
- const getUrlFromTemplate = (template, region) => {
536
- return template.replace('{region}', region);
537
- };
504
+ const URLS = {
505
+ http: 'https://api.{region}.amity.co',
506
+ mqtt: 'wss://sse.{region}.amity.co:443/mqtt',
507
+ };
508
+ function computeUrl(type, region) {
509
+ return URLS[type].replace('{region}', region);
510
+ }
538
511
 
539
512
  /**
540
513
  * Unwraps v3 server payload (for error handling and type extraction)
@@ -14740,6 +14713,22 @@ const createMqttTransport = (endpoint) => {
14740
14713
  };
14741
14714
  };
14742
14715
 
14716
+ let tasks = [];
14717
+ let timer;
14718
+ /**
14719
+ * Add a function to run just before the next tick
14720
+ *
14721
+ * @param task function to schedule for later execution
14722
+ */
14723
+ const scheduleTask = (task) => {
14724
+ clearTimeout(timer);
14725
+ tasks.push(task);
14726
+ timer = setTimeout(() => {
14727
+ tasks.forEach(fn => fn());
14728
+ tasks = [];
14729
+ }, 0);
14730
+ };
14731
+
14743
14732
  // need to sync up the list
14744
14733
  const WS_EVENTS = [
14745
14734
  'disconnected',
@@ -14830,7 +14819,7 @@ const createEventSubscriber = (client, namespace, event, fn) => {
14830
14819
  */
14831
14820
  const fireEvent = (event, payload) => {
14832
14821
  const { emitter } = getActiveClient();
14833
- setTimeout(() => { emitter.emit(event, payload); }, 0);
14822
+ scheduleTask(() => { emitter.emit(event, payload); });
14834
14823
  };
14835
14824
 
14836
14825
  /**
@@ -14842,21 +14831,21 @@ const fireEvent = (event, payload) => {
14842
14831
  * Creates a new {@link Amity.Client} instance
14843
14832
  *
14844
14833
  * @param apiKey for the {@link Amity.Client} instance
14845
- * @param apiEndpoint endpoint to connect to
14834
+ * @param apiRegion endpoint to connect to
14846
14835
  * @param debugSession session's identifier for the client's logger instance
14847
14836
  * @returns A {@link Amity.Client} instance
14848
14837
  *
14849
14838
  * @category Client API
14850
14839
  **/
14851
- const createClient = (apiKey, apiEndpoint = API_ENDPOINT.SG, debugSession = 'amity') => {
14840
+ const createClient = (apiKey, apiRegion = API_REGIONS.SG, debugSession = 'amity') => {
14852
14841
  const log = createLogger(debugSession);
14853
14842
  log('client/api/createClient', {
14854
14843
  apiKey: apiKey.replace(/.{5}$/g, 'xxxxx'),
14855
- apiEndpoint,
14844
+ apiRegion,
14856
14845
  });
14857
- const http = createHttpTransport(getUrlFromTemplate(UrlTemplate.HTTP, apiEndpoint));
14858
- const ws = createWebsocketTransport(getUrlFromTemplate(UrlTemplate.HTTP, apiEndpoint));
14859
- const mqtt = createMqttTransport(getUrlFromTemplate(UrlTemplate.MQTT, apiEndpoint));
14846
+ const http = createHttpTransport(computeUrl('http', apiRegion));
14847
+ const ws = createWebsocketTransport(computeUrl('http', apiRegion));
14848
+ const mqtt = createMqttTransport(computeUrl('mqtt', apiRegion));
14860
14849
  const emitter = createEventEmitter();
14861
14850
  const client = {
14862
14851
  version: `${VERSION$1}`,
@@ -14904,13 +14893,11 @@ const disconnectClient = async () => {
14904
14893
  client.ws.removeAllListeners();
14905
14894
  client.mqtt.removeAllListeners();
14906
14895
  client.userId = undefined;
14907
- client.user = undefined;
14908
14896
  client.accessToken = undefined;
14909
14897
  return !client.ws.connected;
14910
14898
  };
14911
14899
 
14912
14900
  // TODO: find a way to uniquely identify the device
14913
- // import { getStorage } from './storage'
14914
14901
  /** @hidden */
14915
14902
  const VERSION = '11.0.0';
14916
14903
  /** @hidden */
@@ -14925,8 +14912,8 @@ const getDeviceId = () => {
14925
14912
  /** @hidden */
14926
14913
  const getDeviceModel = () => {
14927
14914
  var _a, _b;
14928
- if ((_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node)
14929
- return process.versions.node;
14915
+ if ((_a = safeProcess.versions) === null || _a === void 0 ? void 0 : _a.node)
14916
+ return safeProcess.versions.node;
14930
14917
  if (navigator)
14931
14918
  return `${navigator.product.toLowerCase()}#${(_b = navigator.userAgent) !== null && _b !== void 0 ? _b : 'unknown_agent'}`;
14932
14919
  return 'unknown_model';
@@ -15089,7 +15076,7 @@ const connectClient = async (params) => {
15089
15076
  unsubscribe();
15090
15077
  });
15091
15078
  client.userId = params.userId;
15092
- client.user = users[0];
15079
+ client._internalUserId = users[0]._id;
15093
15080
  client.accessToken = accessToken;
15094
15081
  return client.ws.connected;
15095
15082
  };
@@ -15151,11 +15138,11 @@ const getCommentTopic = ({ path }) => {
15151
15138
  let mqttAccessToken;
15152
15139
  let mqttUserId;
15153
15140
  function subscribeTopic(topic, callback) {
15154
- const { mqtt, emitter, accessToken, user } = getActiveClient();
15155
- if (mqttAccessToken !== accessToken || mqttUserId !== user._id) {
15141
+ const { mqtt, emitter, accessToken, _internalUserId } = getActiveClient();
15142
+ if (mqttAccessToken !== accessToken || mqttUserId !== _internalUserId) {
15156
15143
  mqttAccessToken = accessToken;
15157
- mqttUserId = user._id;
15158
- mqtt.connect({ accessToken: accessToken, userId: user._id });
15144
+ mqttUserId = _internalUserId;
15145
+ mqtt.connect({ accessToken: mqttAccessToken, userId: mqttUserId });
15159
15146
  proxyMqttEvents(mqtt, emitter);
15160
15147
  }
15161
15148
  return mqtt.subscribe(topic, callback);
@@ -16649,11 +16636,11 @@ const queryPosts = async (query) => {
16649
16636
  const { page = { limit: 10 } } = query, params = __rest(query
16650
16637
  // API-FIX: parameters should be querystring. (1)
16651
16638
  // API-FIX: backend should answer Amity.Response (2)
16652
- // const { data } = await client.http.get<Amity.Response<Amity.PagedRawResponse<Amity.PostPayload>>>(
16639
+ // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
16653
16640
  , ["page"]);
16654
16641
  // API-FIX: parameters should be querystring. (1)
16655
16642
  // API-FIX: backend should answer Amity.Response (2)
16656
- // const { data } = await client.http.get<Amity.Response<Amity.PagedRawResponse<Amity.PostPayload>>>(
16643
+ // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
16657
16644
  const { data } = await client.http.get(`/api/v4/posts`, { params: Object.assign(Object.assign({}, params), { options: {
16658
16645
  token: toToken(page, 'afterbeforeraw'),
16659
16646
  } }), });
@@ -16855,9 +16842,9 @@ const createPost = async (bundle) => {
16855
16842
  const client = getActiveClient();
16856
16843
  client.log('post/createPost', bundle);
16857
16844
  // API-FIX: backend rejects that we pass the dataType manually T_T
16858
- if (!bundle.dataType || ['text', 'image', 'file'].includes(bundle.dataType))
16845
+ if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType))
16859
16846
  delete bundle.dataType;
16860
- const { data } = await client.http.post('/api/v3/posts', bundle);
16847
+ const { data } = await client.http.post('/api/v4/posts', bundle);
16861
16848
  const cachedAt = client.cache && Date.now();
16862
16849
  if (client.cache)
16863
16850
  ingestInCache(data, { cachedAt });
@@ -16889,7 +16876,7 @@ const createPost = async (bundle) => {
16889
16876
  const updatePost = async (postId, patch) => {
16890
16877
  const client = getActiveClient();
16891
16878
  client.log('user/updatePost', patch);
16892
- const { data } = await client.http.put(`/api/v3/posts/${encodeURIComponent(postId)}`, patch);
16879
+ const { data } = await client.http.put(`/api/v4/posts/${encodeURIComponent(postId)}`, patch);
16893
16880
  const cachedAt = client.cache && Date.now();
16894
16881
  if (client.cache)
16895
16882
  ingestInCache(data, { cachedAt });
@@ -17240,7 +17227,7 @@ const queryCommunityMembers = async (query) => {
17240
17227
  }
17241
17228
  const nextPage = toPage(paging.next);
17242
17229
  const prevPage = toPage(paging.previous);
17243
- return { data: communityUsers, nextPage, prevPage };
17230
+ return { data: communityUsers, cachedAt, nextPage, prevPage };
17244
17231
  };
17245
17232
  /**
17246
17233
  * ```js
@@ -18758,12 +18745,13 @@ const queryChannelMembers = async (query) => {
18758
18745
  });
18759
18746
  const { paging } = data, payload = __rest(data, ["paging"]);
18760
18747
  const { channelUsers } = payload;
18748
+ const cachedAt = client.cache && Date.now();
18761
18749
  if (client.cache) {
18762
18750
  ingestInCache(payload);
18763
18751
  }
18764
18752
  const nextPage = toPage(paging.next);
18765
18753
  const prevPage = toPage(paging.previous);
18766
- return { data: channelUsers, nextPage, prevPage };
18754
+ return { data: channelUsers, cachedAt, nextPage, prevPage };
18767
18755
  };
18768
18756
  /**
18769
18757
  * ```js
@@ -19508,17 +19496,56 @@ const observeCommunity = (communityId, callback) => {
19508
19496
  const queryGlobalFeed = async (query) => {
19509
19497
  const client = getActiveClient();
19510
19498
  client.log('feed/queryGlobalFeed', query);
19511
- const _a = query !== null && query !== void 0 ? query : {}, { page } = _a, params = __rest(_a, ["page"]);
19512
- const { data } = await client.http.get(`/api/v4/me/global-feeds`, { params: Object.assign(Object.assign({}, params), { options: {
19499
+ const _a = query !== null && query !== void 0 ? query : {}, { useCustomRanking, page } = _a, params = __rest(_a, ["useCustomRanking", "page"]);
19500
+ const { data } = await client.http.get(useCustomRanking ? `/api/v5/me/global-feeds` : `/api/v4/me/global-feeds`, { params: Object.assign(Object.assign({}, params), { options: {
19513
19501
  token: toToken(page, 'skiplimit')
19514
19502
  } }) });
19515
19503
  const { paging } = data, payload = __rest(data, ["paging"]);
19516
19504
  const { posts } = payload;
19517
- if (client.cache)
19505
+ const cachedAt = client.cache && Date.now();
19506
+ if (client.cache) {
19518
19507
  ingestInCache(payload);
19508
+ const cacheKey = ['globalFeed', 'query', Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) })];
19509
+ pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
19510
+ }
19519
19511
  const nextPage = toPage(paging.next);
19520
19512
  const prevPage = toPage(paging.previous);
19521
- return { data: posts, prevPage, nextPage };
19513
+ return { data: posts, cachedAt, prevPage, nextPage };
19514
+ };
19515
+ /**
19516
+ * ```js
19517
+ * import { queryGlobalFeed } from '@amityco/ts-sdk'
19518
+ * const posts = await queryGlobalFeed.locally()
19519
+ * ```
19520
+ *
19521
+ * Queries a paginable list of {@link Amity.Post} objects from cache
19522
+ *
19523
+ * @param query The query parameters
19524
+ * @returns A page of {@link Amity.Post} objects
19525
+ *
19526
+ * @category Feed API
19527
+ * @async
19528
+ **/
19529
+ queryGlobalFeed.locally = (query) => {
19530
+ var _a, _b;
19531
+ const client = getActiveClient();
19532
+ client.log('post/queryGlobalFeed.locally', query);
19533
+ if (!client.cache)
19534
+ return;
19535
+ const _c = query !== null && query !== void 0 ? query : {}, { useCustomRanking, page } = _c, params = __rest(_c, ["useCustomRanking", "page"]);
19536
+ const queryKey = ['globalFeed', 'query', Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) })];
19537
+ const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
19538
+ if (!(data === null || data === void 0 ? void 0 : data.posts.length))
19539
+ return;
19540
+ const posts = data.posts
19541
+ .map(postId => pullFromCache(['post', 'get', postId]))
19542
+ .filter(Boolean)
19543
+ .map(({ data }) => data);
19544
+ const prevPage = toPage(data === null || data === void 0 ? void 0 : data.paging.previous);
19545
+ const nextPage = toPage(data === null || data === void 0 ? void 0 : data.paging.next);
19546
+ return posts.length === ((_b = data === null || data === void 0 ? void 0 : data.posts) === null || _b === void 0 ? void 0 : _b.length)
19547
+ ? { data: posts, cachedAt, prevPage, nextPage }
19548
+ : undefined;
19522
19549
  };
19523
19550
 
19524
19551
  /**
@@ -19979,6 +20006,7 @@ const onStreamRecorded = (callback) => {
19979
20006
  return createEventSubscriber(client, 'stream/onStreamRecorded', 'video-streaming.didRecord', filter);
19980
20007
  };
19981
20008
 
20009
+ exports.API_REGIONS = API_REGIONS;
19982
20010
  exports.VERSION = VERSION$1;
19983
20011
  exports.addChannelMembers = addChannelMembers;
19984
20012
  exports.addChannelMembersRole = addChannelMembersRole;
@@ -20126,7 +20154,6 @@ exports.removeCommunityMembersRole = removeCommunityMembersRole;
20126
20154
  exports.removeReaction = removeReaction;
20127
20155
  exports.restoreCache = restoreCache;
20128
20156
  exports.runQuery = runQuery;
20129
- exports.sliceByPaging = sliceByPaging;
20130
20157
  exports.sortByChannelSegment = sortByChannelSegment;
20131
20158
  exports.sortByDisplayName = sortByDisplayName;
20132
20159
  exports.sortByFirstCreated = sortByFirstCreated;
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './core/subscription';
5
5
  export * from './cache/api';
6
6
  export * from './client/api';
7
7
  export * from './client/events';
8
+ export { API_REGIONS } from './client/utils/endpoints';
8
9
  export * from './user/api';
9
10
  export * from './user/events';
10
11
  export * from './user/observers';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,CAAA;AAEjB,cAAc,WAAW,CAAA;AAGzB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAE3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAG/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,YAAY,CAAA;AAG1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AAEjC,cAAc,cAAc,CAAA;AAG5B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AAErC,cAAc,YAAY,CAAA;AAE1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,CAAA;AAEjB,cAAc,WAAW,CAAA;AAGzB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAE3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,YAAY,CAAA;AAG1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AAEjC,cAAc,cAAc,CAAA;AAG5B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AAErC,cAAc,YAAY,CAAA;AAE1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA"}