@amityco/ts-sdk-react-native 6.32.4-a4e315c.0 → 6.32.5-4306d45.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 (106) hide show
  1. package/dist/@types/core/events.d.ts +1 -1
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/model.d.ts +1 -1
  4. package/dist/@types/core/model.d.ts.map +1 -1
  5. package/dist/@types/core/payload.d.ts +1 -1
  6. package/dist/@types/core/payload.d.ts.map +1 -1
  7. package/dist/@types/domains/channel.d.ts +1 -0
  8. package/dist/@types/domains/channel.d.ts.map +1 -1
  9. package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
  10. package/dist/channelRepository/api/getChannel.d.ts.map +1 -1
  11. package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -1
  12. package/dist/channelRepository/api/updateChannel.d.ts.map +1 -1
  13. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts +2 -2
  14. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts.map +1 -1
  15. package/dist/channelRepository/events/onChannelCreated.d.ts +1 -1
  16. package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -1
  17. package/dist/channelRepository/events/onChannelDeleted.d.ts +1 -1
  18. package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -1
  19. package/dist/channelRepository/events/onChannelFetched.d.ts +1 -1
  20. package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -1
  21. package/dist/channelRepository/events/onChannelJoined.d.ts +1 -1
  22. package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -1
  23. package/dist/channelRepository/events/onChannelLeft.d.ts +1 -1
  24. package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -1
  25. package/dist/channelRepository/events/onChannelMemberAdded.d.ts +1 -1
  26. package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -1
  27. package/dist/channelRepository/events/onChannelMemberBanned.d.ts +1 -1
  28. package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -1
  29. package/dist/channelRepository/events/onChannelMemberRemoved.d.ts +1 -1
  30. package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -1
  31. package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts +1 -1
  32. package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -1
  33. package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts +1 -1
  34. package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -1
  35. package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts +1 -1
  36. package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -1
  37. package/dist/channelRepository/events/onChannelMuted.d.ts +1 -1
  38. package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -1
  39. package/dist/channelRepository/events/onChannelResolved.d.ts +1 -1
  40. package/dist/channelRepository/events/onChannelResolved.d.ts.map +1 -1
  41. package/dist/channelRepository/events/onChannelUpdated.d.ts +1 -1
  42. package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -1
  43. package/dist/channelRepository/events/onUserDeleted.d.ts +1 -1
  44. package/dist/channelRepository/events/onUserDeleted.d.ts.map +1 -1
  45. package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
  46. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  47. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts +2 -2
  48. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts.map +1 -1
  49. package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -1
  50. package/dist/channelRepository/observers/observeChannels.d.ts.map +1 -1
  51. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts +2 -0
  52. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -0
  53. package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -1
  54. package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
  55. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts +1 -1
  56. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts.map +1 -1
  57. package/dist/client/utils/removeChannelMarkerCache.d.ts +1 -1
  58. package/dist/client/utils/removeChannelMarkerCache.d.ts.map +1 -1
  59. package/dist/index.cjs.js +136 -126
  60. package/dist/index.esm.js +136 -126
  61. package/dist/index.umd.js +2 -2
  62. package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
  63. package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
  64. package/dist/utils/shallowClone.d.ts +1 -1
  65. package/dist/utils/shallowClone.d.ts.map +1 -1
  66. package/dist/utils/tests/dummy/comment.d.ts +1 -1
  67. package/dist/utils/tests/dummy/post.d.ts +3 -3
  68. package/package.json +1 -1
  69. package/src/@types/core/events.ts +1 -1
  70. package/src/@types/core/model.ts +1 -1
  71. package/src/@types/core/payload.ts +1 -1
  72. package/src/@types/domains/channel.ts +5 -0
  73. package/src/channelRepository/api/createChannel.ts +2 -1
  74. package/src/channelRepository/api/getChannel.ts +4 -3
  75. package/src/channelRepository/api/getChannelByIds.ts +2 -1
  76. package/src/channelRepository/api/updateChannel.ts +2 -1
  77. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.ts +2 -2
  78. package/src/channelRepository/events/onChannelCreated.ts +2 -2
  79. package/src/channelRepository/events/onChannelDeleted.ts +2 -2
  80. package/src/channelRepository/events/onChannelFetched.ts +3 -3
  81. package/src/channelRepository/events/onChannelJoined.ts +5 -2
  82. package/src/channelRepository/events/onChannelLeft.ts +5 -2
  83. package/src/channelRepository/events/onChannelMemberAdded.ts +5 -2
  84. package/src/channelRepository/events/onChannelMemberBanned.ts +5 -2
  85. package/src/channelRepository/events/onChannelMemberRemoved.ts +5 -2
  86. package/src/channelRepository/events/onChannelMemberRoleAdded.ts +5 -2
  87. package/src/channelRepository/events/onChannelMemberRoleRemoved.ts +5 -2
  88. package/src/channelRepository/events/onChannelMemberUnbanned.ts +5 -2
  89. package/src/channelRepository/events/onChannelMuted.ts +3 -2
  90. package/src/channelRepository/events/onChannelResolved.ts +2 -2
  91. package/src/channelRepository/events/onChannelUpdated.ts +2 -2
  92. package/src/channelRepository/events/onUserDeleted.ts +8 -2
  93. package/src/channelRepository/observers/getChannel.ts +4 -1
  94. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +9 -7
  95. package/src/channelRepository/observers/getChannels/ChannelQueryStreamController.ts +2 -2
  96. package/src/channelRepository/observers/observeChannel.ts +5 -4
  97. package/src/channelRepository/observers/observeChannels.ts +6 -4
  98. package/src/channelRepository/utils/constructChannelDynamicValue.ts +22 -0
  99. package/src/channelRepository/utils/prepareChannelPayload.ts +1 -13
  100. package/src/channelRepository/utils/resolveUnreadInfoOnChannelEvent.ts +2 -2
  101. package/src/channelRepository/utils/updateChannelCache.ts +1 -1
  102. package/src/client/utils/removeChannelMarkerCache.ts +1 -1
  103. package/src/marker/events/onMessageMarked.ts +0 -2
  104. package/src/subChannelRepository/utils/updateSubChannelCache.ts +1 -1
  105. package/src/utils/linkedObject/channelLinkedObject.ts +3 -3
  106. package/src/utils/shallowClone.ts +8 -5
@@ -1 +1 @@
1
- {"version":3,"file":"onMessageMarked.d.ts","sourceRoot":"","sources":["../../../src/marker/events/onMessageMarked.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,QAAQ,CAAC,MAAM,aAAa,CAAC,KAC5C,MAAM,YAoER,CAAC"}
1
+ {"version":3,"file":"onMessageMarked.d.ts","sourceRoot":"","sources":["../../../src/marker/events/onMessageMarked.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,QAAQ,CAAC,MAAM,aAAa,CAAC,KAC5C,MAAM,YAoER,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"channelLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/channelLinkedObject.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,OAK1E,CAAC"}
1
+ {"version":3,"file":"channelLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/channelLinkedObject.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,OAI1E,CAAC"}
@@ -12,5 +12,5 @@
12
12
  * @category utility
13
13
  * @private
14
14
  */
15
- export declare function shallowClone(obj: any): any;
15
+ export declare function shallowClone(source: object, target: object): any;
16
16
  //# sourceMappingURL=shallowClone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shallowClone.d.ts","sourceRoot":"","sources":["../../src/utils/shallowClone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,OAKpC"}
1
+ {"version":3,"file":"shallowClone.d.ts","sourceRoot":"","sources":["../../src/utils/shallowClone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAQ1D"}
@@ -18,7 +18,7 @@ export declare const generateComment: (params?: Partial<Amity.InternalComment>)
18
18
  editedAt: string;
19
19
  attachments?: Amity.Attachment[] | undefined;
20
20
  targetId: string;
21
- targetType: "community" | "user" | "content";
21
+ targetType: "user" | "community" | "content";
22
22
  referenceId: string;
23
23
  referenceType: Amity.CommentReferenceType;
24
24
  dataType?: any;
@@ -28,21 +28,21 @@ export declare const emptyPostPayload: {
28
28
  files: never[];
29
29
  };
30
30
  export declare const postQueryResponse: {
31
- data: Omit<Amity.PostPayload<any>, "communityUsers" | "communities" | "posts"> & {
31
+ data: Omit<Amity.PostPayload<any>, "communities" | "communityUsers" | "posts"> & {
32
32
  posts: Amity.InternalPost<any>[];
33
33
  communities: Amity.Community[];
34
34
  communityUsers: Amity.Membership<"community">[];
35
35
  } & Amity.Pagination;
36
36
  };
37
37
  export declare const postQueryResponse2: {
38
- data: Omit<Amity.PostPayload<any>, "communityUsers" | "communities" | "posts"> & {
38
+ data: Omit<Amity.PostPayload<any>, "communities" | "communityUsers" | "posts"> & {
39
39
  posts: Amity.InternalPost<any>[];
40
40
  communities: Amity.Community[];
41
41
  communityUsers: Amity.Membership<"community">[];
42
42
  } & Amity.Pagination;
43
43
  };
44
44
  export declare const postQueryResponsePage2: {
45
- data: Omit<Amity.PostPayload<any>, "communityUsers" | "communities" | "posts"> & {
45
+ data: Omit<Amity.PostPayload<any>, "communities" | "communityUsers" | "posts"> & {
46
46
  posts: Amity.InternalPost<any>[];
47
47
  communities: Amity.Community[];
48
48
  communityUsers: Amity.Membership<"community">[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk-react-native",
3
- "version": "6.32.4-a4e315c.0",
3
+ "version": "6.32.5-4306d45.0",
4
4
  "license": "CC-BY-ND-4.0",
5
5
  "author": "amity.co <developers@amity.co> (https://amity.co)",
6
6
  "description": "Amity Social Cloud Typescript SDK",
@@ -199,7 +199,7 @@ declare global {
199
199
 
200
200
  type LocalEvents = {
201
201
  'local.channel.updated': MakeRequired<Amity.ProcessedChannelPayload, 'channels'>;
202
- 'local.channel.fetched': Amity.InternalChannel[];
202
+ 'local.channel.fetched': Amity.StaticInternalChannel[];
203
203
  'local.channel-moderator.role-added': Amity.ProcessedChannelPayload;
204
204
  'local.channel-moderator.role-removed': Amity.ProcessedChannelPayload;
205
205
  'local.message.created': MakeRequired<Amity.ProcessedMessagePayload, 'messages'>;
@@ -14,7 +14,7 @@ declare global {
14
14
  story: Amity.InternalStory;
15
15
  storyTarget: Amity.RawStoryTarget;
16
16
 
17
- channel: Amity.InternalChannel;
17
+ channel: Amity.StaticInternalChannel;
18
18
  subChannel: Amity.SubChannel;
19
19
  channelUsers: Amity.Membership<'channel'>;
20
20
  message: Amity.InternalMessage;
@@ -75,7 +75,7 @@ declare global {
75
75
  ChannelPayload,
76
76
  'channels' | 'channelUsers' | 'messagePreviews' | 'messageFeedsInfo' | 'users'
77
77
  > & {
78
- channels: Amity.InternalChannel<T>[];
78
+ channels: Amity.StaticInternalChannel<T>[];
79
79
  channelUsers: Amity.Membership<'channel'>[];
80
80
  users: Amity.InternalUser[];
81
81
  };
@@ -80,6 +80,11 @@ declare global {
80
80
  subChannelsUnreadCount: number;
81
81
  };
82
82
 
83
+ type StaticInternalChannel<T extends ChannelType = any> = Omit<
84
+ InternalChannel<T>,
85
+ 'unreadCount' | 'subChannelsUnreadCount' | 'hasMentioned' | 'isMentioned'
86
+ >;
87
+
83
88
  /* public type */
84
89
  type Channel<T extends ChannelType = any> = Omit<
85
90
  InternalChannel<T>,
@@ -3,6 +3,7 @@ import { getActiveClient } from '~/client/api';
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
6
7
 
7
8
  /* begin_public_function
8
9
  id: channel.create
@@ -52,7 +53,7 @@ export const createChannel = async <T extends Amity.ChannelType>(
52
53
 
53
54
  const { channels } = data;
54
55
  return {
55
- data: channels[0],
56
+ data: constructChannelDynamicValue(channels[0]),
56
57
  cachedAt,
57
58
  };
58
59
  };
@@ -9,6 +9,7 @@ import { pushToTombstone } from '~/cache/api/pushToTombstone';
9
9
 
10
10
  import { prepareChannelPayload } from '../utils';
11
11
  import { prepareUnreadCountInfo } from '../utils/prepateUnreadCountInfo';
12
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
12
13
 
13
14
  /**
14
15
  * ```js
@@ -59,7 +60,7 @@ export const getChannel = async (
59
60
  const { channels } = data;
60
61
 
61
62
  return {
62
- data: channels.find(channel => channel.channelId === channelId)!,
63
+ data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)!),
63
64
  cachedAt,
64
65
  };
65
66
  };
@@ -86,14 +87,14 @@ getChannel.locally = (
86
87
  if (!client.cache) return;
87
88
 
88
89
  // use queryCache to get all channel caches and filter by channelPublicId since we use channelPrivateId as cache key
89
- const cached = queryCache<Amity.InternalChannel>(['channel', 'get'])?.filter(({ data }) => {
90
+ const cached = queryCache<Amity.StaticInternalChannel>(['channel', 'get'])?.filter(({ data }) => {
90
91
  return data.channelPublicId === channelId;
91
92
  });
92
93
 
93
94
  if (!cached || cached?.length === 0) return;
94
95
 
95
96
  return {
96
- data: cached[0].data,
97
+ data: constructChannelDynamicValue(cached[0].data),
97
98
  cachedAt: cached[0].cachedAt,
98
99
  };
99
100
  };
@@ -9,6 +9,7 @@ import { prepareChannelPayload } from '../utils';
9
9
  import { fireEvent } from '~/core/events';
10
10
  import { prepareUnreadCountInfo } from '../utils/prepateUnreadCountInfo';
11
11
  import { LinkedObject } from '~/utils/linkedObject';
12
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
12
13
 
13
14
  /**
14
15
  * ```js
@@ -64,7 +65,7 @@ export const getChannelByIds = async (
64
65
  fireEvent('local.channel.fetched', data.channels);
65
66
 
66
67
  return {
67
- data: data.channels.map(channel => LinkedObject.channel(channel)),
68
+ data: data.channels.map(channel => LinkedObject.channel(constructChannelDynamicValue(channel))),
68
69
  cachedAt,
69
70
  };
70
71
  };
@@ -3,6 +3,7 @@ import { getActiveClient } from '~/client/api';
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
6
7
 
7
8
  /* begin_public_function
8
9
  id: channel.update
@@ -42,7 +43,7 @@ export const updateChannel = async (
42
43
  const { channels } = data;
43
44
 
44
45
  return {
45
- data: channels.find(channel => channel.channelId === channelId)!,
46
+ data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)!),
46
47
  cachedAt,
47
48
  };
48
49
  };
@@ -72,7 +72,7 @@ export class ChannelMemberQueryStreamController extends QueryStreamController<
72
72
  }
73
73
 
74
74
  reactor(action: string) {
75
- return (channel: Amity.InternalChannel, channelMember: Amity.Membership<'channel'>) => {
75
+ return (channel: Amity.StaticInternalChannel, channelMember: Amity.Membership<'channel'>) => {
76
76
  if (this.query.channelId !== channelMember.channelId) return;
77
77
 
78
78
  const collection = pullFromCache<Amity.ChannelMembersLiveCollectionCache>(
@@ -100,7 +100,7 @@ export class ChannelMemberQueryStreamController extends QueryStreamController<
100
100
  createSubscriber: {
101
101
  fn: (
102
102
  reactor: (
103
- channel: Amity.InternalChannel,
103
+ channel: Amity.StaticInternalChannel,
104
104
  channelMember: Amity.Membership<'channel'>,
105
105
  ) => void,
106
106
  ) => Amity.Unsubscriber;
@@ -5,7 +5,7 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel) => void;
8
+ type CallbackFn = (channel: Amity.StaticInternalChannel) => void;
9
9
  const callbacks: CallbackFn[] = [];
10
10
  let mainDisposer: (() => void) | null = null;
11
11
 
@@ -19,7 +19,7 @@ const dispose = (cb: CallbackFn) => {
19
19
  }
20
20
  };
21
21
 
22
- export const onChannelCreated = (callback: Amity.Listener<Amity.InternalChannel>) => {
22
+ export const onChannelCreated = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
23
23
  if (callbacks.length === 0) {
24
24
  const client = getActiveClient();
25
25
 
@@ -7,7 +7,7 @@ import { prepareChannelPayload } from '../utils/prepareChannelPayload';
7
7
  import { addFlagIsDeletedSubChannelUnreadByChannelId } from '~/marker/utils/addFlagIsDeletedSubChannelUnreadByChannelId';
8
8
  import { deleteChannelUnreadByChannelId } from '../../marker/utils/deleteChannelUnreadByChannelId';
9
9
 
10
- type CallbackFn = (channel: Amity.InternalChannel) => void;
10
+ type CallbackFn = (channel: Amity.StaticInternalChannel) => void;
11
11
  const callbacks: CallbackFn[] = [];
12
12
  let mainDisposer: (() => void) | null = null;
13
13
 
@@ -21,7 +21,7 @@ const dispose = (cb: CallbackFn) => {
21
21
  }
22
22
  };
23
23
 
24
- export const onChannelDeleted = (callback: Amity.Listener<Amity.InternalChannel>) => {
24
+ export const onChannelDeleted = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
25
25
  if (callbacks.length === 0) {
26
26
  const client = getActiveClient();
27
27
 
@@ -2,7 +2,7 @@ import { createEventSubscriber } from '~/core/events';
2
2
 
3
3
  import { getActiveClient } from '~/client/api/activeClient';
4
4
 
5
- type CallbackFn = (channel: Amity.InternalChannel[]) => void;
5
+ type CallbackFn = (channel: Amity.StaticInternalChannel[]) => void;
6
6
  const callbacks: CallbackFn[] = [];
7
7
  let mainDisposer: (() => void) | null = null;
8
8
 
@@ -16,11 +16,11 @@ const dispose = (cb: CallbackFn) => {
16
16
  }
17
17
  };
18
18
 
19
- export const onChannelFetched = (callback: Amity.Listener<Amity.InternalChannel[]>) => {
19
+ export const onChannelFetched = (callback: Amity.Listener<Amity.StaticInternalChannel[]>) => {
20
20
  if (callbacks.length === 0) {
21
21
  const client = getActiveClient();
22
22
 
23
- const filter = async (payload: Amity.InternalChannel[]) => {
23
+ const filter = async (payload: Amity.StaticInternalChannel[]) => {
24
24
  callbacks.forEach(cb => cb(payload));
25
25
  };
26
26
 
@@ -5,7 +5,10 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
8
+ type CallbackFn = (
9
+ channel: Amity.StaticInternalChannel,
10
+ member: Amity.Membership<'channel'>,
11
+ ) => void;
9
12
  const callbacks: CallbackFn[] = [];
10
13
  let mainDisposer: (() => void) | null = null;
11
14
 
@@ -20,7 +23,7 @@ const dispose = (cb: CallbackFn) => {
20
23
  };
21
24
 
22
25
  export const onChannelJoined = (
23
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
26
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
24
27
  ) => {
25
28
  if (callbacks.length === 0) {
26
29
  const client = getActiveClient();
@@ -7,7 +7,10 @@ import { prepareChannelPayload } from '../utils';
7
7
  import { deleteChannelUnreadByChannelId } from '../../marker/utils/deleteChannelUnreadByChannelId';
8
8
  import { addFlagIsDeletedSubChannelUnreadByChannelId } from '~/marker/utils/addFlagIsDeletedSubChannelUnreadByChannelId';
9
9
 
10
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
10
+ type CallbackFn = (
11
+ channel: Amity.StaticInternalChannel,
12
+ member: Amity.Membership<'channel'>,
13
+ ) => void;
11
14
  const callbacks: CallbackFn[] = [];
12
15
  let mainDisposer: (() => void) | null = null;
13
16
 
@@ -22,7 +25,7 @@ const dispose = (cb: CallbackFn) => {
22
25
  };
23
26
 
24
27
  export const onChannelLeft = (
25
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
28
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
26
29
  ) => {
27
30
  if (callbacks.length === 0) {
28
31
  const client = getActiveClient();
@@ -4,7 +4,10 @@ import { createEventSubscriber } from '~/core/events';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
6
 
7
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
7
+ type CallbackFn = (
8
+ channel: Amity.StaticInternalChannel,
9
+ member: Amity.Membership<'channel'>,
10
+ ) => void;
8
11
  const callbacks: CallbackFn[] = [];
9
12
  let mainDisposer: (() => void) | null = null;
10
13
 
@@ -19,7 +22,7 @@ const dispose = (cb: CallbackFn) => {
19
22
  };
20
23
 
21
24
  export const onChannelMemberAdded = (
22
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
25
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
23
26
  ): Amity.Unsubscriber => {
24
27
  if (callbacks.length === 0) {
25
28
  const client = getActiveClient();
@@ -7,7 +7,10 @@ import { prepareChannelPayload } from '../utils';
7
7
  import { addFlagIsDeletedSubChannelUnreadByChannelId } from '~/marker/utils/addFlagIsDeletedSubChannelUnreadByChannelId';
8
8
  import { deleteChannelUnreadByChannelId } from '../../marker/utils/deleteChannelUnreadByChannelId';
9
9
 
10
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
10
+ type CallbackFn = (
11
+ channel: Amity.StaticInternalChannel,
12
+ member: Amity.Membership<'channel'>,
13
+ ) => void;
11
14
  const callbacks: CallbackFn[] = [];
12
15
  let mainDisposer: (() => void) | null = null;
13
16
 
@@ -22,7 +25,7 @@ const dispose = (cb: CallbackFn) => {
22
25
  };
23
26
 
24
27
  export const onChannelMemberBanned = (
25
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
28
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
26
29
  ) => {
27
30
  const client = getActiveClient();
28
31
 
@@ -5,7 +5,10 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
8
+ type CallbackFn = (
9
+ channel: Amity.StaticInternalChannel,
10
+ member: Amity.Membership<'channel'>,
11
+ ) => void;
9
12
  const callbacks: CallbackFn[] = [];
10
13
  let mainDisposer: (() => void) | null = null;
11
14
 
@@ -20,7 +23,7 @@ const dispose = (cb: CallbackFn) => {
20
23
  };
21
24
 
22
25
  export const onChannelMemberRemoved = (
23
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
26
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
24
27
  ) => {
25
28
  if (callbacks.length === 0) {
26
29
  const client = getActiveClient();
@@ -1,7 +1,10 @@
1
1
  import { getActiveClient } from '~/client/api/activeClient';
2
2
  import { createEventSubscriber } from '~/core/events';
3
3
 
4
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
4
+ type CallbackFn = (
5
+ channel: Amity.StaticInternalChannel,
6
+ member: Amity.Membership<'channel'>,
7
+ ) => void;
5
8
  const callbacks: CallbackFn[] = [];
6
9
  let mainDisposer: (() => void) | null = null;
7
10
 
@@ -16,7 +19,7 @@ const dispose = (cb: CallbackFn) => {
16
19
  };
17
20
 
18
21
  export const onChannelMemberRoleAdded = (
19
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
22
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
20
23
  ): Amity.Unsubscriber => {
21
24
  if (callbacks.length === 0) {
22
25
  const client = getActiveClient();
@@ -4,7 +4,10 @@ import { createEventSubscriber } from '~/core/events';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
6
 
7
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
7
+ type CallbackFn = (
8
+ channel: Amity.StaticInternalChannel,
9
+ member: Amity.Membership<'channel'>,
10
+ ) => void;
8
11
  const callbacks: CallbackFn[] = [];
9
12
  let mainDisposer: (() => void) | null = null;
10
13
 
@@ -19,7 +22,7 @@ const dispose = (cb: CallbackFn) => {
19
22
  };
20
23
 
21
24
  export const onChannelMemberRoleRemoved = (
22
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
25
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
23
26
  ): Amity.Unsubscriber => {
24
27
  if (callbacks.length === 0) {
25
28
  const client = getActiveClient();
@@ -5,7 +5,10 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
8
+ type CallbackFn = (
9
+ channel: Amity.StaticInternalChannel,
10
+ member: Amity.Membership<'channel'>,
11
+ ) => void;
9
12
  const callbacks: CallbackFn[] = [];
10
13
  let mainDisposer: (() => void) | null = null;
11
14
 
@@ -20,7 +23,7 @@ const dispose = (cb: CallbackFn) => {
20
23
  };
21
24
 
22
25
  export const onChannelMemberUnbanned = (
23
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
26
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
24
27
  ) => {
25
28
  if (callbacks.length === 0) {
26
29
  const client = getActiveClient();
@@ -4,8 +4,9 @@ import { createEventSubscriber } from '~/core/events';
4
4
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
7
8
 
8
- type CallbackFn = Amity.Listener<Amity.InternalChannel>;
9
+ type CallbackFn = Amity.Listener<Amity.StaticInternalChannel>;
9
10
  const callbacks: CallbackFn[] = [];
10
11
  let mainDisposer: (() => void) | null = null;
11
12
 
@@ -19,7 +20,7 @@ const dispose = (cb: CallbackFn) => {
19
20
  }
20
21
  };
21
22
 
22
- export const onChannelMuted = (callback: Amity.Listener<Amity.InternalChannel>) => {
23
+ export const onChannelMuted = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
23
24
  if (callbacks.length === 0) {
24
25
  const client = getActiveClient();
25
26
 
@@ -11,10 +11,10 @@ import { createEventSubscriber } from '~/core/events';
11
11
  *
12
12
  * @category Channel Events
13
13
  */
14
- export const onChannelResolved = (callback: Amity.Listener<Amity.InternalChannel[]>) => {
14
+ export const onChannelResolved = (callback: Amity.Listener<Amity.StaticInternalChannel[]>) => {
15
15
  const client = getActiveClient();
16
16
 
17
- const filter = async (payload: Amity.InternalChannel[]) => {
17
+ const filter = async (payload: Amity.StaticInternalChannel[]) => {
18
18
  callback(payload);
19
19
  };
20
20
 
@@ -4,7 +4,7 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
6
 
7
- type CallbackFn = Amity.Listener<Amity.InternalChannel>;
7
+ type CallbackFn = Amity.Listener<Amity.StaticInternalChannel>;
8
8
  const callbacks: CallbackFn[] = [];
9
9
  const mainDisposers: (() => void)[] = [];
10
10
 
@@ -18,7 +18,7 @@ const dispose = (cb: CallbackFn) => {
18
18
  }
19
19
  };
20
20
 
21
- export const onChannelUpdated = (callback: Amity.Listener<Amity.InternalChannel>) => {
21
+ export const onChannelUpdated = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
22
22
  const client = getActiveClient();
23
23
 
24
24
  if (callbacks.length === 0) {
@@ -7,7 +7,9 @@ import { getResolver } from '~/core/model';
7
7
 
8
8
  export const onUserDeleted =
9
9
  (channelId: string) =>
10
- (callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void) => {
10
+ (
11
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
12
+ ) => {
11
13
  const client = getActiveClient();
12
14
 
13
15
  const filter = (payload: Amity.UserPayload) => {
@@ -35,7 +37,11 @@ export const onUserDeleted =
35
37
  user,
36
38
  });
37
39
 
38
- const channel = pullFromCache<Amity.InternalChannel>(['channel', 'get', channelId])?.data;
40
+ const channel = pullFromCache<Amity.StaticInternalChannel>([
41
+ 'channel',
42
+ 'get',
43
+ channelId,
44
+ ])?.data;
39
45
 
40
46
  if (!channel) return;
41
47
 
@@ -35,6 +35,7 @@ import { onChannelMarkerUpdated } from '~/marker/events/onChannelMarkerUpdated';
35
35
  import { onSubChannelCreated } from '~/subChannelRepository';
36
36
  import { LinkedObject } from '~/utils/linkedObject';
37
37
  import { onChannelUnreadUpdatedLocal } from '~/marker/events/onChannelUnreadUpdatedLocal';
38
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
38
39
 
39
40
  /* begin_public_function
40
41
  id: channel.get
@@ -73,7 +74,9 @@ export const getChannel = (
73
74
 
74
75
  const data = {
75
76
  ...response,
76
- data: LinkedObject.channel(getChannelMessagePreviewWithUser(response.data)),
77
+ data: LinkedObject.channel(
78
+ constructChannelDynamicValue(getChannelMessagePreviewWithUser(response.data)),
79
+ ),
77
80
  };
78
81
 
79
82
  const { origin, ...newSnapshot } = data;
@@ -57,6 +57,7 @@ import { onChannelResolved } from '~/channelRepository/events/onChannelResolved'
57
57
  import { onUserMessageFeedMarkerResolved } from '~/marker/events/onUserMessageFeedMarkerResolved';
58
58
  import { LinkedObject } from '~/utils/linkedObject';
59
59
  import { onChannelUnreadUpdatedLocal } from '~/marker/events/onChannelUnreadUpdatedLocal';
60
+ import { constructChannelDynamicValue } from '~/channelRepository/utils/constructChannelDynamicValue';
60
61
 
61
62
  export class ChannelLiveCollectionController extends LiveCollectionController<
62
63
  'channel',
@@ -138,6 +139,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
138
139
  .filter(Boolean)
139
140
  .map(({ data }) => data)
140
141
  .map(getChannelMessagePreviewWithUser)
142
+ .map(constructChannelDynamicValue)
141
143
  .map(LinkedObject.channel) ?? [];
142
144
 
143
145
  if (this.paginationController instanceof ChannelPaginationController) {
@@ -300,7 +302,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
300
302
  { fn: onChannelUpdated, action: Amity.ChannelActionType.OnUpdate },
301
303
  { fn: onChannelMuted, action: Amity.ChannelActionType.OnMute },
302
304
  {
303
- fn: (callback: Amity.Listener<Amity.InternalChannel>) => {
305
+ fn: (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
304
306
  return onChannelJoined(channel => {
305
307
  resolveUnreadInfoOnChannelEvent(channel, callback);
306
308
  });
@@ -308,9 +310,9 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
308
310
  action: Amity.ChannelActionType.OnJoin,
309
311
  },
310
312
  {
311
- fn: (reactor: Amity.Listener<Amity.InternalChannel>) => {
313
+ fn: (reactor: Amity.Listener<Amity.StaticInternalChannel>) => {
312
314
  const callback = (
313
- channel: Amity.InternalChannel,
315
+ channel: Amity.StaticInternalChannel,
314
316
  member: Amity.Membership<'channel'>,
315
317
  ) => {
316
318
  const { userId } = getActiveClient();
@@ -527,7 +529,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
527
529
  action: Amity.ChannelActionType.OnResolve,
528
530
  },
529
531
  {
530
- fn: (callback: Amity.Listener<Amity.InternalChannel[]>) => {
532
+ fn: (callback: Amity.Listener<Amity.StaticInternalChannel[]>) => {
531
533
  const handleUserFeedMarkerResolved = async (
532
534
  marker: Amity.UserMessageFeedMarkerPayload,
533
535
  ) => {
@@ -539,9 +541,9 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
539
541
  const channels = channelIds
540
542
  .map(
541
543
  channelId =>
542
- pullFromCache<Amity.InternalChannel>(['channel', 'get', channelId])?.data,
544
+ pullFromCache<Amity.StaticInternalChannel>(['channel', 'get', channelId])?.data,
543
545
  )
544
- .filter(Boolean) as Amity.InternalChannel[];
546
+ .filter(Boolean) as Amity.StaticInternalChannel[];
545
547
 
546
548
  callback(channels);
547
549
  }
@@ -560,7 +562,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
560
562
  return [
561
563
  ...subscriptions,
562
564
  {
563
- fn: (callback: Amity.Listener<Amity.InternalChannel>) => {
565
+ fn: (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
564
566
  return onChannelCreated(channel => {
565
567
  resolveUnreadInfoOnChannelEvent(channel, callback);
566
568
  });
@@ -65,7 +65,7 @@ export class ChannelQueryStreamController extends QueryStreamController<
65
65
  }
66
66
 
67
67
  reactor(action: Amity.ChannelActionType) {
68
- return (payload: Amity.InternalChannel | Amity.InternalChannel[]) => {
68
+ return (payload: Amity.StaticInternalChannel | Amity.StaticInternalChannel[]) => {
69
69
  const collection = pullFromCache<Amity.ChannelLiveCollectionCache>(this.cacheKey)?.data;
70
70
  if (!collection) return;
71
71
 
@@ -94,7 +94,7 @@ export class ChannelQueryStreamController extends QueryStreamController<
94
94
  subscribeRTE(
95
95
  createSubscriber: {
96
96
  fn: (
97
- reactor: Amity.Listener<Amity.InternalChannel | Amity.InternalChannel[]>,
97
+ reactor: Amity.Listener<Amity.StaticInternalChannel | Amity.StaticInternalChannel[]>,
98
98
  ) => Amity.Unsubscriber;
99
99
  action: Amity.ChannelActionType;
100
100
  }[],