@amityco/ts-sdk-react-native 6.30.3-cae094b.0 → 6.30.4-48268a5.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.
- package/dist/channelRepository/events/onChannelCreated.d.ts +1 -16
- package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelDeleted.d.ts +1 -16
- package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelFetched.d.ts +1 -16
- package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelJoined.d.ts +1 -16
- package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelLeft.d.ts +1 -16
- package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts +0 -15
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts +1 -16
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts +1 -16
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts +0 -15
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts +0 -15
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts +1 -16
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMuted.d.ts +1 -16
- package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelUpdated.d.ts +0 -15
- package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -1
- package/dist/index.cjs.js +276 -283
- package/dist/index.esm.js +276 -283
- package/dist/index.umd.js +3 -3
- package/package.json +1 -1
- package/src/channelRepository/events/onChannelCreated.ts +26 -22
- package/src/channelRepository/events/onChannelDeleted.ts +32 -28
- package/src/channelRepository/events/onChannelFetched.ts +29 -20
- package/src/channelRepository/events/onChannelJoined.ts +27 -23
- package/src/channelRepository/events/onChannelLeft.ts +39 -34
- package/src/channelRepository/events/onChannelMemberAdded.ts +34 -23
- package/src/channelRepository/events/onChannelMemberBanned.ts +19 -17
- package/src/channelRepository/events/onChannelMemberRemoved.ts +32 -23
- package/src/channelRepository/events/onChannelMemberRoleAdded.ts +32 -26
- package/src/channelRepository/events/onChannelMemberRoleRemoved.ts +30 -26
- package/src/channelRepository/events/onChannelMemberUnbanned.ts +31 -23
- package/src/channelRepository/events/onChannelMuted.ts +26 -22
- package/src/channelRepository/events/onChannelUpdated.ts +32 -29
|
@@ -4,35 +4,39 @@ import { createEventSubscriber } from '~/core/events';
|
|
|
4
4
|
|
|
5
5
|
import { prepareChannelPayload } from '../utils';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
7
|
+
type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
|
|
8
|
+
const callbacks: CallbackFn[] = [];
|
|
9
|
+
let mainDisposer: (() => void) | null = null;
|
|
10
|
+
|
|
11
|
+
const dispose = (cb: CallbackFn) => {
|
|
12
|
+
const index = callbacks.indexOf(cb);
|
|
13
|
+
if (index > -1) {
|
|
14
|
+
callbacks.splice(index, 1);
|
|
15
|
+
}
|
|
16
|
+
if (callbacks.length === 0) {
|
|
17
|
+
mainDisposer?.();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
22
21
|
export const onChannelMemberRoleRemoved = (
|
|
23
22
|
callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
|
|
24
23
|
): Amity.Unsubscriber => {
|
|
25
|
-
|
|
24
|
+
if (callbacks.length === 0) {
|
|
25
|
+
const client = getActiveClient();
|
|
26
|
+
|
|
27
|
+
const filter = async (payload: Amity.ProcessedChannelPayload) => {
|
|
28
|
+
const { channels, channelUsers } = payload;
|
|
29
|
+
callback(channels[0], channelUsers.find(channelUser => channelUser.membership === 'member')!);
|
|
30
|
+
};
|
|
26
31
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
mainDisposer = createEventSubscriber(
|
|
33
|
+
client,
|
|
34
|
+
'onChannelMemberRoleRemoved',
|
|
35
|
+
'local.channel-moderator.role-removed',
|
|
36
|
+
filter,
|
|
37
|
+
);
|
|
38
|
+
}
|
|
31
39
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
'onChannelMemberRoleRemoved',
|
|
35
|
-
'local.channel-moderator.role-removed',
|
|
36
|
-
filter,
|
|
37
|
-
);
|
|
40
|
+
callbacks.push(callback);
|
|
41
|
+
return () => dispose(callback);
|
|
38
42
|
};
|
|
@@ -5,33 +5,41 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
|
5
5
|
|
|
6
6
|
import { prepareChannelPayload } from '../utils';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
8
|
+
type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
|
|
9
|
+
const callbacks: CallbackFn[] = [];
|
|
10
|
+
let mainDisposer: (() => void) | null = null;
|
|
11
|
+
|
|
12
|
+
const dispose = (cb: CallbackFn) => {
|
|
13
|
+
const index = callbacks.indexOf(cb);
|
|
14
|
+
if (index > -1) {
|
|
15
|
+
callbacks.splice(index, 1);
|
|
16
|
+
}
|
|
17
|
+
if (callbacks.length === 0) {
|
|
18
|
+
mainDisposer?.();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
23
22
|
export const onChannelMemberUnbanned = (
|
|
24
23
|
callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
|
|
25
24
|
) => {
|
|
26
|
-
|
|
25
|
+
if (callbacks.length === 0) {
|
|
26
|
+
const client = getActiveClient();
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const filter = async (payload: Amity.ChannelMembershipPayload) => {
|
|
29
|
+
const preparedPayload = await prepareChannelPayload(payload);
|
|
30
|
+
const { channels, channelUsers } = preparedPayload;
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
ingestInCache(preparedPayload);
|
|
33
|
+
callbacks.forEach(cb => cb(channels[0], channelUsers.find(cu => cu.membership === 'none')!));
|
|
34
|
+
};
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
mainDisposer = createEventSubscriber(
|
|
37
|
+
client,
|
|
38
|
+
'onChannelMemberUnbanned',
|
|
39
|
+
'channel.unbanned',
|
|
40
|
+
filter,
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
callbacks.push(callback);
|
|
44
|
+
return () => dispose(callback);
|
|
37
45
|
};
|
|
@@ -5,30 +5,34 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
|
5
5
|
|
|
6
6
|
import { prepareChannelPayload } from '../utils';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
8
|
+
type CallbackFn = Amity.Listener<Amity.InternalChannel>;
|
|
9
|
+
const callbacks: CallbackFn[] = [];
|
|
10
|
+
let mainDisposer: (() => void) | null = null;
|
|
11
|
+
|
|
12
|
+
const dispose = (cb: CallbackFn) => {
|
|
13
|
+
const index = callbacks.indexOf(cb);
|
|
14
|
+
if (index > -1) {
|
|
15
|
+
callbacks.splice(index, 1);
|
|
16
|
+
}
|
|
17
|
+
if (callbacks.length === 0) {
|
|
18
|
+
mainDisposer?.();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
23
22
|
export const onChannelMuted = (callback: Amity.Listener<Amity.InternalChannel>) => {
|
|
24
|
-
|
|
23
|
+
if (callbacks.length === 0) {
|
|
24
|
+
const client = getActiveClient();
|
|
25
|
+
|
|
26
|
+
const filter = async (payload: Amity.ChannelPayload) => {
|
|
27
|
+
const data = await prepareChannelPayload(payload);
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
ingestInCache(data);
|
|
30
|
+
callbacks.forEach(cb => cb(data.channels[0]));
|
|
31
|
+
};
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
33
|
+
mainDisposer = createEventSubscriber(client, 'onChannelMuted', 'channel.setMuted', filter);
|
|
34
|
+
}
|
|
32
35
|
|
|
33
|
-
|
|
36
|
+
callbacks.push(callback);
|
|
37
|
+
return () => dispose(callback);
|
|
34
38
|
};
|
|
@@ -4,39 +4,42 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
|
4
4
|
|
|
5
5
|
import { prepareChannelPayload } from '../utils';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
7
|
+
type CallbackFn = Amity.Listener<Amity.InternalChannel>;
|
|
8
|
+
const callbacks: CallbackFn[] = [];
|
|
9
|
+
const mainDisposers: (() => void)[] = [];
|
|
10
|
+
|
|
11
|
+
const dispose = (cb: CallbackFn) => {
|
|
12
|
+
const index = callbacks.indexOf(cb);
|
|
13
|
+
if (index > -1) {
|
|
14
|
+
callbacks.splice(index, 1);
|
|
15
|
+
}
|
|
16
|
+
if (callbacks.length === 0) {
|
|
17
|
+
mainDisposers.forEach(fn => fn());
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
22
21
|
export const onChannelUpdated = (callback: Amity.Listener<Amity.InternalChannel>) => {
|
|
23
22
|
const client = getActiveClient();
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
const
|
|
24
|
+
if (callbacks.length === 0) {
|
|
25
|
+
const filter = async (payload: Amity.ChannelPayload) => {
|
|
26
|
+
const data = await prepareChannelPayload(payload);
|
|
27
|
+
|
|
28
|
+
ingestInCache(data);
|
|
29
|
+
callbacks.forEach(cb => cb(data.channels[0]));
|
|
30
|
+
};
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
mainDisposers.push(
|
|
33
|
+
createEventSubscriber(client, 'onChannelUpdated', 'channel.updated', filter),
|
|
34
|
+
);
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
)
|
|
37
|
-
|
|
36
|
+
mainDisposers.push(
|
|
37
|
+
createEventSubscriber(client, 'onChannelUpdated', 'local.channel.updated', payload =>
|
|
38
|
+
callbacks.forEach(cb => cb(payload.channels[0])),
|
|
39
|
+
),
|
|
40
|
+
);
|
|
41
|
+
}
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
43
|
+
callbacks.push(callback);
|
|
44
|
+
return () => dispose(callback);
|
|
42
45
|
};
|