@amityco/ts-sdk 7.11.1-88f39a40.0 → 7.11.1-9f733521.0

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 (34) hide show
  1. package/dist/@types/domains/community.d.ts +8 -1
  2. package/dist/@types/domains/community.d.ts.map +1 -1
  3. package/dist/@types/domains/event.d.ts +20 -0
  4. package/dist/@types/domains/event.d.ts.map +1 -1
  5. package/dist/@types/domains/partials.d.ts +2 -2
  6. package/dist/@types/domains/partials.d.ts.map +1 -1
  7. package/dist/core/model/idResolvers.d.ts.map +1 -1
  8. package/dist/core/model/index.d.ts.map +1 -1
  9. package/dist/eventRepository/events/enums.d.ts +6 -0
  10. package/dist/eventRepository/events/enums.d.ts.map +1 -0
  11. package/dist/eventRepository/observers/getEvents/LiveCollectionController.d.ts +13 -0
  12. package/dist/eventRepository/observers/getEvents/LiveCollectionController.d.ts.map +1 -0
  13. package/dist/eventRepository/observers/getEvents/PaginationController.d.ts +5 -0
  14. package/dist/eventRepository/observers/getEvents/PaginationController.d.ts.map +1 -0
  15. package/dist/eventRepository/observers/getEvents/QueryStreamController.d.ts +15 -0
  16. package/dist/eventRepository/observers/getEvents/QueryStreamController.d.ts.map +1 -0
  17. package/dist/eventRepository/observers/getEvents.d.ts +12 -0
  18. package/dist/eventRepository/observers/getEvents.d.ts.map +1 -0
  19. package/dist/eventRepository/observers/getMyEvents/LiveCollectionController.d.ts +13 -0
  20. package/dist/eventRepository/observers/getMyEvents/LiveCollectionController.d.ts.map +1 -0
  21. package/dist/eventRepository/observers/getMyEvents/PaginationController.d.ts +5 -0
  22. package/dist/eventRepository/observers/getMyEvents/PaginationController.d.ts.map +1 -0
  23. package/dist/eventRepository/observers/getMyEvents/QueryStreamController.d.ts +15 -0
  24. package/dist/eventRepository/observers/getMyEvents/QueryStreamController.d.ts.map +1 -0
  25. package/dist/eventRepository/observers/getMyEvents.d.ts +12 -0
  26. package/dist/eventRepository/observers/getMyEvents.d.ts.map +1 -0
  27. package/dist/eventRepository/observers/index.d.ts +2 -0
  28. package/dist/eventRepository/observers/index.d.ts.map +1 -1
  29. package/dist/index.cjs.js +290 -3
  30. package/dist/index.esm.js +291 -4
  31. package/dist/index.umd.js +3 -3
  32. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -1
  33. package/dist/utils/linkedObject/eventLinkObject.d.ts.map +1 -1
  34. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -194,6 +194,12 @@ var AmityEventStatus;
194
194
  AmityEventStatus["Ended"] = "ended";
195
195
  AmityEventStatus["Cancelled"] = "cancelled";
196
196
  })(AmityEventStatus || (AmityEventStatus = {}));
197
+ var AmityEventResponseStatus;
198
+ (function (AmityEventResponseStatus) {
199
+ AmityEventResponseStatus["Going"] = "going";
200
+ AmityEventResponseStatus["Interested"] = "interested";
201
+ AmityEventResponseStatus["NotGoing"] = "not_going";
202
+ })(AmityEventResponseStatus || (AmityEventResponseStatus = {}));
197
203
 
198
204
  function getVersion() {
199
205
  try {
@@ -643,6 +649,7 @@ const idResolvers = {
643
649
  notificationTraySeen: ({ userId }) => userId,
644
650
  invitation: ({ _id }) => _id,
645
651
  joinRequest: ({ joinRequestId }) => joinRequestId,
652
+ event: ({ eventId }) => eventId,
646
653
  };
647
654
  /**
648
655
  * Retrieve the id resolver matching a domain name
@@ -698,6 +705,8 @@ const PAYLOAD2MODEL = {
698
705
  notificationTrayItems: 'notificationTrayItem',
699
706
  invitations: 'invitation',
700
707
  joinRequests: 'joinRequest',
708
+ events: 'event',
709
+ discussionCommunities: 'community',
701
710
  };
702
711
  /** hidden */
703
712
  const isOutdated = (prevData, nextData) => {
@@ -29776,9 +29785,13 @@ const eventLinkedObject = (event) => {
29776
29785
  return userLinkedObject(cacheData.data);
29777
29786
  },
29778
29787
  get discussionCommunity() {
29779
- if (!event.communityId)
29788
+ if (!event.discussionCommunityId)
29780
29789
  return;
29781
- const cacheData = pullFromCache(['community', 'get', event.communityId]);
29790
+ const cacheData = pullFromCache([
29791
+ 'community',
29792
+ 'get',
29793
+ event.discussionCommunityId,
29794
+ ]);
29782
29795
  if (!(cacheData === null || cacheData === void 0 ? void 0 : cacheData.data))
29783
29796
  return;
29784
29797
  return communityLinkedObject(cacheData.data);
@@ -46692,6 +46705,278 @@ const getEvent = (eventId, callback) => {
46692
46705
  };
46693
46706
  /* end_public_function */
46694
46707
 
46708
+ var EventActionsEnum;
46709
+ (function (EventActionsEnum) {
46710
+ EventActionsEnum["OnEventCreated"] = "onEventCreated";
46711
+ EventActionsEnum["OnEventUpdated"] = "onEventUpdated";
46712
+ EventActionsEnum["OnEventDeleted"] = "onEventDeleted";
46713
+ })(EventActionsEnum || (EventActionsEnum = {}));
46714
+
46715
+ class EventPaginationController extends PaginationController {
46716
+ async getRequest(queryParams, token) {
46717
+ const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["limit"]);
46718
+ const options = token ? { token } : { limit };
46719
+ const { data: response } = await this.http.get(`/api/v1/events`, { params: Object.assign(Object.assign({}, params), { options }) });
46720
+ return response;
46721
+ }
46722
+ }
46723
+
46724
+ class EventQueryStreamController extends QueryStreamController {
46725
+ constructor(query, cacheKey, notifyChange, preparePayload) {
46726
+ super(query, cacheKey);
46727
+ this.notifyChange = notifyChange;
46728
+ this.preparePayload = preparePayload;
46729
+ }
46730
+ async saveToMainDB(response) {
46731
+ const processedPayload = this.preparePayload(response);
46732
+ const client = getActiveClient();
46733
+ const cachedAt = client.cache && Date.now();
46734
+ if (client.cache)
46735
+ ingestInCache(processedPayload, { cachedAt });
46736
+ }
46737
+ appendToQueryStream(response, direction, refresh = false) {
46738
+ var _a, _b;
46739
+ if (refresh) {
46740
+ pushToCache(this.cacheKey, { data: response.events.map(getResolver('event')) });
46741
+ }
46742
+ else {
46743
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46744
+ const events = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
46745
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...events, ...response.events.map(getResolver('event'))])] }));
46746
+ }
46747
+ }
46748
+ reactor(action) {
46749
+ return (event) => {
46750
+ var _a;
46751
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46752
+ if (!collection)
46753
+ return;
46754
+ if (action === EventActionsEnum.OnEventCreated) {
46755
+ collection.data = [...new Set([event.eventId, ...collection.data])];
46756
+ }
46757
+ if (action === EventActionsEnum.OnEventDeleted) {
46758
+ collection.data = collection.data.filter(eventId => eventId !== event.eventId);
46759
+ }
46760
+ pushToCache(this.cacheKey, collection);
46761
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
46762
+ };
46763
+ }
46764
+ subscribeRTE(createSubscriber) {
46765
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
46766
+ }
46767
+ }
46768
+
46769
+ class EventLiveCollectionController extends LiveCollectionController {
46770
+ constructor(query, callback) {
46771
+ const queryStreamId = hash(query);
46772
+ const cacheKey = ['event', 'collection', queryStreamId];
46773
+ const paginationController = new EventPaginationController(query);
46774
+ super(paginationController, queryStreamId, cacheKey, callback);
46775
+ this.query = query;
46776
+ this.queryStreamController = new EventQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), prepareEventPayload);
46777
+ this.callback = callback.bind(this);
46778
+ this.loadPage({ initial: true });
46779
+ }
46780
+ setup() {
46781
+ var _a;
46782
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46783
+ if (!collection)
46784
+ pushToCache(this.cacheKey, { data: [], params: {} });
46785
+ }
46786
+ async persistModel(queryPayload) {
46787
+ await this.queryStreamController.saveToMainDB(queryPayload);
46788
+ }
46789
+ persistQueryStream({ response, direction, refresh, }) {
46790
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
46791
+ }
46792
+ startSubscription() {
46793
+ return this.queryStreamController.subscribeRTE([
46794
+ { fn: onEventCreated, action: EventActionsEnum.OnEventCreated },
46795
+ { fn: onEventUpdated, action: EventActionsEnum.OnEventUpdated },
46796
+ { fn: onEventDeleted, action: EventActionsEnum.OnEventDeleted },
46797
+ ]);
46798
+ }
46799
+ notifyChange({ origin, loading, error }) {
46800
+ var _a, _b;
46801
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46802
+ if (!collection)
46803
+ return;
46804
+ const data = ((_b = collection.data
46805
+ .map(eventId => pullFromCache(['event', 'get', eventId]))
46806
+ .filter(isNonNullable)
46807
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.event);
46808
+ if (!this.shouldNotify(data) && origin === "event" /* Amity.LiveDataOrigin.EVENT */)
46809
+ return;
46810
+ this.callback({
46811
+ data,
46812
+ error,
46813
+ loading,
46814
+ hasNextPage: !!this.paginationController.getNextToken(),
46815
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
46816
+ });
46817
+ }
46818
+ }
46819
+
46820
+ /**
46821
+ * Get events
46822
+ *
46823
+ * @param params the query parameters
46824
+ * @param callback the callback to be called when the events are updated
46825
+ * @returns events
46826
+ *
46827
+ * @category Event Live Collection
46828
+ *
46829
+ */
46830
+ const getEvents = (params, callback, config) => {
46831
+ const { log, cache } = getActiveClient();
46832
+ if (!cache)
46833
+ console.log(ENABLE_CACHE_MESSAGE);
46834
+ const timestamp = Date.now();
46835
+ log(`getEvents: (tmpid: ${timestamp}) > listen`);
46836
+ const eventLiveCollection = new EventLiveCollectionController(params, callback);
46837
+ const disposers = eventLiveCollection.startSubscription();
46838
+ const cacheKey = eventLiveCollection.getCacheKey();
46839
+ disposers.push(() => dropFromCache(cacheKey));
46840
+ return () => {
46841
+ log(`getEvents (tmpid: ${timestamp}) > dispose`);
46842
+ disposers.forEach(fn => fn());
46843
+ };
46844
+ };
46845
+
46846
+ class MyEventPaginationController extends PaginationController {
46847
+ async getRequest(queryParams, token) {
46848
+ const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["limit"]);
46849
+ const options = token ? { token } : { limit };
46850
+ const { data: response } = await this.http.get(`/api/v1/events/me/rsvps`, { params: Object.assign(Object.assign({}, params), { options }) });
46851
+ return response;
46852
+ }
46853
+ }
46854
+
46855
+ class MyEventQueryStreamController extends QueryStreamController {
46856
+ constructor(query, cacheKey, notifyChange, preparePayload) {
46857
+ super(query, cacheKey);
46858
+ this.notifyChange = notifyChange;
46859
+ this.preparePayload = preparePayload;
46860
+ }
46861
+ async saveToMainDB(response) {
46862
+ const processedPayload = this.preparePayload(response);
46863
+ const client = getActiveClient();
46864
+ const cachedAt = client.cache && Date.now();
46865
+ if (client.cache)
46866
+ ingestInCache(processedPayload, { cachedAt });
46867
+ }
46868
+ appendToQueryStream(response, direction, refresh = false) {
46869
+ var _a, _b;
46870
+ if (refresh) {
46871
+ pushToCache(this.cacheKey, { data: response.events.map(getResolver('event')) });
46872
+ }
46873
+ else {
46874
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46875
+ const events = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
46876
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...events, ...response.events.map(getResolver('event'))])] }));
46877
+ }
46878
+ }
46879
+ reactor(action) {
46880
+ return (event) => {
46881
+ var _a;
46882
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46883
+ if (!collection)
46884
+ return;
46885
+ if (action === EventActionsEnum.OnEventCreated) {
46886
+ const client = getActiveClient();
46887
+ if (client.userId !== event.userId)
46888
+ return;
46889
+ collection.data = [...new Set([event.eventId, ...collection.data])];
46890
+ }
46891
+ if (action === EventActionsEnum.OnEventDeleted) {
46892
+ collection.data = collection.data.filter(eventId => eventId !== event.eventId);
46893
+ }
46894
+ pushToCache(this.cacheKey, collection);
46895
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
46896
+ };
46897
+ }
46898
+ subscribeRTE(createSubscriber) {
46899
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
46900
+ }
46901
+ }
46902
+
46903
+ class MyEventLiveCollectionController extends LiveCollectionController {
46904
+ constructor(query, callback) {
46905
+ const queryStreamId = hash(query);
46906
+ const cacheKey = ['event', 'collection', queryStreamId];
46907
+ const paginationController = new MyEventPaginationController(query);
46908
+ super(paginationController, queryStreamId, cacheKey, callback);
46909
+ this.query = query;
46910
+ this.queryStreamController = new MyEventQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), prepareEventPayload);
46911
+ this.callback = callback.bind(this);
46912
+ this.loadPage({ initial: true });
46913
+ }
46914
+ setup() {
46915
+ var _a;
46916
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46917
+ if (!collection)
46918
+ pushToCache(this.cacheKey, { data: [], params: {} });
46919
+ }
46920
+ async persistModel(queryPayload) {
46921
+ await this.queryStreamController.saveToMainDB(queryPayload);
46922
+ }
46923
+ persistQueryStream({ response, direction, refresh, }) {
46924
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
46925
+ }
46926
+ startSubscription() {
46927
+ return this.queryStreamController.subscribeRTE([
46928
+ { fn: onEventCreated, action: EventActionsEnum.OnEventCreated },
46929
+ { fn: onEventUpdated, action: EventActionsEnum.OnEventUpdated },
46930
+ { fn: onEventDeleted, action: EventActionsEnum.OnEventDeleted },
46931
+ ]);
46932
+ }
46933
+ notifyChange({ origin, loading, error }) {
46934
+ var _a, _b;
46935
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
46936
+ if (!collection)
46937
+ return;
46938
+ const data = ((_b = collection.data
46939
+ .map(eventId => pullFromCache(['event', 'get', eventId]))
46940
+ .filter(isNonNullable)
46941
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.event);
46942
+ if (!this.shouldNotify(data) && origin === "event" /* Amity.LiveDataOrigin.EVENT */)
46943
+ return;
46944
+ this.callback({
46945
+ data,
46946
+ error,
46947
+ loading,
46948
+ hasNextPage: !!this.paginationController.getNextToken(),
46949
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
46950
+ });
46951
+ }
46952
+ }
46953
+
46954
+ /**
46955
+ * Get my events
46956
+ *
46957
+ * @param params the query parameters
46958
+ * @param callback the callback to be called when the events are updated
46959
+ * @returns events
46960
+ *
46961
+ * @category Event Live Collection
46962
+ *
46963
+ */
46964
+ const getMyEvents = (params, callback, config) => {
46965
+ const { log, cache } = getActiveClient();
46966
+ if (!cache)
46967
+ console.log(ENABLE_CACHE_MESSAGE);
46968
+ const timestamp = Date.now();
46969
+ log(`getMyEvents: (tmpid: ${timestamp}) > listen`);
46970
+ const myEventLiveCollection = new MyEventLiveCollectionController(params, callback);
46971
+ const disposers = myEventLiveCollection.startSubscription();
46972
+ const cacheKey = myEventLiveCollection.getCacheKey();
46973
+ disposers.push(() => dropFromCache(cacheKey));
46974
+ return () => {
46975
+ log(`getMyEvents (tmpid: ${timestamp}) > dispose`);
46976
+ disposers.forEach(fn => fn());
46977
+ };
46978
+ };
46979
+
46695
46980
  var index = /*#__PURE__*/Object.freeze({
46696
46981
  __proto__: null,
46697
46982
  createEvent: createEvent,
@@ -46700,7 +46985,9 @@ var index = /*#__PURE__*/Object.freeze({
46700
46985
  onEventCreated: onEventCreated,
46701
46986
  onEventUpdated: onEventUpdated,
46702
46987
  onEventDeleted: onEventDeleted,
46703
- getEvent: getEvent
46988
+ getEvent: getEvent,
46989
+ getEvents: getEvents,
46990
+ getMyEvents: getMyEvents
46704
46991
  });
46705
46992
 
46706
- export { API_REGIONS, index$4 as AdRepository, AmityEventOriginType, AmityEventStatus, AmityEventType, index$c as CategoryRepository, index$g as ChannelRepository, index$p as Client, index$b as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$d as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index as EventRepository, FeedDataTypeEnum, index$a as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$m as FileRepository, FileType, GET_WATCHER_URLS, index$2 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$1 as LiveReactionRepository, index$6 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$k as MessageRepository, index$7 as PollRepository, PostContentType, index$9 as PostRepository, PostStructureType, index$l as ReactionRepository, index$5 as StoryRepository, index$8 as StreamRepository, index$j as SubChannelRepository, SubscriptionLevels, index$n as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$3 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };
46993
+ export { API_REGIONS, index$4 as AdRepository, AmityEventOriginType, AmityEventResponseStatus, AmityEventStatus, AmityEventType, index$c as CategoryRepository, index$g as ChannelRepository, index$p as Client, index$b as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$d as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index as EventRepository, FeedDataTypeEnum, index$a as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$m as FileRepository, FileType, GET_WATCHER_URLS, index$2 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$1 as LiveReactionRepository, index$6 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$k as MessageRepository, index$7 as PollRepository, PostContentType, index$9 as PostRepository, PostStructureType, index$l as ReactionRepository, index$5 as StoryRepository, index$8 as StreamRepository, index$j as SubChannelRepository, SubscriptionLevels, index$n as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$3 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };