@sendbird/uikit-chat-hooks 1.0.0-rc.3 → 1.0.1
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/package.json +4 -4
- package/lib/commonjs/channel/useActiveGroupChannel.js +0 -22
- package/lib/commonjs/channel/useActiveGroupChannel.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelList.js +0 -21
- package/lib/commonjs/channel/useGroupChannelList.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelListWithCollection.js +0 -148
- package/lib/commonjs/channel/useGroupChannelListWithCollection.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelListWithQuery.js +0 -130
- package/lib/commonjs/channel/useGroupChannelListWithQuery.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelMessages/index.js +0 -21
- package/lib/commonjs/channel/useGroupChannelMessages/index.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelMessages/reducer.js +0 -158
- package/lib/commonjs/channel/useGroupChannelMessages/reducer.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +0 -305
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +0 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +0 -249
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +0 -1
- package/lib/commonjs/common/useAppFeatures.js +0 -44
- package/lib/commonjs/common/useAppFeatures.js.map +0 -1
- package/lib/commonjs/common/usePushTrigger.js +0 -33
- package/lib/commonjs/common/usePushTrigger.js.map +0 -1
- package/lib/commonjs/common/useTotalUnreadChannelCount.js +0 -29
- package/lib/commonjs/common/useTotalUnreadChannelCount.js.map +0 -1
- package/lib/commonjs/common/useTotalUnreadMessageCount.js +0 -40
- package/lib/commonjs/common/useTotalUnreadMessageCount.js.map +0 -1
- package/lib/commonjs/common/useUserList.js +0 -110
- package/lib/commonjs/common/useUserList.js.map +0 -1
- package/lib/commonjs/handler/useChannelHandler.js +0 -29
- package/lib/commonjs/handler/useChannelHandler.js.map +0 -1
- package/lib/commonjs/handler/useConnectionHandler.js +0 -29
- package/lib/commonjs/handler/useConnectionHandler.js.map +0 -1
- package/lib/commonjs/handler/useUserEventHandler.js +0 -29
- package/lib/commonjs/handler/useUserEventHandler.js.map +0 -1
- package/lib/commonjs/index.js +0 -102
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/model/CustomQuery.js +0 -28
- package/lib/commonjs/model/CustomQuery.js.map +0 -1
- package/lib/commonjs/types.js +0 -6
- package/lib/commonjs/types.js.map +0 -1
- package/lib/module/channel/useActiveGroupChannel.js +0 -12
- package/lib/module/channel/useActiveGroupChannel.js.map +0 -1
- package/lib/module/channel/useGroupChannelList.js +0 -10
- package/lib/module/channel/useGroupChannelList.js.map +0 -1
- package/lib/module/channel/useGroupChannelListWithCollection.js +0 -135
- package/lib/module/channel/useGroupChannelListWithCollection.js.map +0 -1
- package/lib/module/channel/useGroupChannelListWithQuery.js +0 -117
- package/lib/module/channel/useGroupChannelListWithQuery.js.map +0 -1
- package/lib/module/channel/useGroupChannelMessages/index.js +0 -10
- package/lib/module/channel/useGroupChannelMessages/index.js.map +0 -1
- package/lib/module/channel/useGroupChannelMessages/reducer.js +0 -148
- package/lib/module/channel/useGroupChannelMessages/reducer.js.map +0 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +0 -289
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +0 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +0 -234
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +0 -1
- package/lib/module/common/useAppFeatures.js +0 -33
- package/lib/module/common/useAppFeatures.js.map +0 -1
- package/lib/module/common/usePushTrigger.js +0 -22
- package/lib/module/common/usePushTrigger.js.map +0 -1
- package/lib/module/common/useTotalUnreadChannelCount.js +0 -17
- package/lib/module/common/useTotalUnreadChannelCount.js.map +0 -1
- package/lib/module/common/useTotalUnreadMessageCount.js +0 -28
- package/lib/module/common/useTotalUnreadMessageCount.js.map +0 -1
- package/lib/module/common/useUserList.js +0 -100
- package/lib/module/common/useUserList.js.map +0 -1
- package/lib/module/handler/useChannelHandler.js +0 -17
- package/lib/module/handler/useChannelHandler.js.map +0 -1
- package/lib/module/handler/useConnectionHandler.js +0 -17
- package/lib/module/handler/useConnectionHandler.js.map +0 -1
- package/lib/module/handler/useUserEventHandler.js +0 -17
- package/lib/module/handler/useUserEventHandler.js.map +0 -1
- package/lib/module/index.js +0 -13
- package/lib/module/index.js.map +0 -1
- package/lib/module/model/CustomQuery.js +0 -19
- package/lib/module/model/CustomQuery.js.map +0 -1
- package/lib/module/types.js +0 -2
- package/lib/module/types.js.map +0 -1
- package/lib/typescript/src/channel/useActiveGroupChannel.d.ts +0 -5
- package/lib/typescript/src/channel/useGroupChannelList.d.ts +0 -2
- package/lib/typescript/src/channel/useGroupChannelListWithCollection.d.ts +0 -2
- package/lib/typescript/src/channel/useGroupChannelListWithQuery.d.ts +0 -2
- package/lib/typescript/src/channel/useGroupChannelMessages/index.d.ts +0 -2
- package/lib/typescript/src/channel/useGroupChannelMessages/reducer.d.ts +0 -15
- package/lib/typescript/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.d.ts +0 -2
- package/lib/typescript/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.d.ts +0 -2
- package/lib/typescript/src/common/useAppFeatures.d.ts +0 -7
- package/lib/typescript/src/common/usePushTrigger.d.ts +0 -7
- package/lib/typescript/src/common/useTotalUnreadChannelCount.d.ts +0 -6
- package/lib/typescript/src/common/useTotalUnreadMessageCount.d.ts +0 -8
- package/lib/typescript/src/common/useUserList.d.ts +0 -24
- package/lib/typescript/src/handler/useChannelHandler.d.ts +0 -4
- package/lib/typescript/src/handler/useConnectionHandler.d.ts +0 -4
- package/lib/typescript/src/handler/useUserEventHandler.d.ts +0 -4
- package/lib/typescript/src/index.d.ts +0 -13
- package/lib/typescript/src/model/CustomQuery.d.ts +0 -14
- package/lib/typescript/src/types.d.ts +0 -198
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","ApplicationAttributes","PremiumFeatures","useAppFeatures","sdk","deliveryReceiptEnabled","Boolean","appInfo","premiumFeatureList","includes","delivery_receipt","broadcastChannelEnabled","applicationAttributes","allow_broadcast_channel","superGroupChannelEnabled","allow_super_group_channel","reactionEnabled","reactions"],"sources":["useAppFeatures.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { ApplicationAttributes, PremiumFeatures, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useAppFeatures = (sdk: SendbirdChatSDK) => {\n const deliveryReceiptEnabled = useMemo(() => {\n return Boolean(sdk.appInfo?.premiumFeatureList?.includes?.(PremiumFeatures.delivery_receipt));\n }, [sdk.appInfo?.premiumFeatureList]);\n\n const broadcastChannelEnabled = useMemo(() => {\n return Boolean(sdk.appInfo?.applicationAttributes?.includes?.(ApplicationAttributes.allow_broadcast_channel));\n }, [sdk.appInfo?.applicationAttributes]);\n\n const superGroupChannelEnabled = useMemo(() => {\n return Boolean(sdk.appInfo?.applicationAttributes?.includes?.(ApplicationAttributes.allow_super_group_channel));\n }, [sdk.appInfo?.applicationAttributes]);\n\n const reactionEnabled = useMemo(() => {\n return Boolean(sdk.appInfo?.applicationAttributes?.includes?.(ApplicationAttributes.reactions));\n }, [sdk.appInfo?.applicationAttributes]);\n\n return {\n deliveryReceiptEnabled,\n broadcastChannelEnabled,\n superGroupChannelEnabled,\n reactionEnabled,\n };\n};\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAEA,SAASC,qBAAT,EAAgCC,eAAhC,QAAwE,uBAAxE;AAEA,OAAO,MAAMC,cAAc,GAAIC,GAAD,IAA0B;EAAA;;EACtD,MAAMC,sBAAsB,GAAGL,OAAO,CAAC,MAAM;IAAA;;IAC3C,OAAOM,OAAO,iBAACF,GAAG,CAACG,OAAL,0EAAC,aAAaC,kBAAd,oFAAC,sBAAiCC,QAAlC,2DAAC,mDAA4CP,eAAe,CAACQ,gBAA5D,CAAD,CAAd;EACD,CAFqC,EAEnC,kBAACN,GAAG,CAACG,OAAL,kDAAC,cAAaC,kBAAd,CAFmC,CAAtC;EAIA,MAAMG,uBAAuB,GAAGX,OAAO,CAAC,MAAM;IAAA;;IAC5C,OAAOM,OAAO,kBAACF,GAAG,CAACG,OAAL,2EAAC,cAAaK,qBAAd,oFAAC,sBAAoCH,QAArC,2DAAC,mDAA+CR,qBAAqB,CAACY,uBAArE,CAAD,CAAd;EACD,CAFsC,EAEpC,kBAACT,GAAG,CAACG,OAAL,kDAAC,cAAaK,qBAAd,CAFoC,CAAvC;EAIA,MAAME,wBAAwB,GAAGd,OAAO,CAAC,MAAM;IAAA;;IAC7C,OAAOM,OAAO,kBAACF,GAAG,CAACG,OAAL,2EAAC,cAAaK,qBAAd,oFAAC,sBAAoCH,QAArC,2DAAC,mDAA+CR,qBAAqB,CAACc,yBAArE,CAAD,CAAd;EACD,CAFuC,EAErC,kBAACX,GAAG,CAACG,OAAL,kDAAC,cAAaK,qBAAd,CAFqC,CAAxC;EAIA,MAAMI,eAAe,GAAGhB,OAAO,CAAC,MAAM;IAAA;;IACpC,OAAOM,OAAO,kBAACF,GAAG,CAACG,OAAL,2EAAC,cAAaK,qBAAd,oFAAC,sBAAoCH,QAArC,2DAAC,mDAA+CR,qBAAqB,CAACgB,SAArE,CAAD,CAAd;EACD,CAF8B,EAE5B,kBAACb,GAAG,CAACG,OAAL,kDAAC,cAAaK,qBAAd,CAF4B,CAA/B;EAIA,OAAO;IACLP,sBADK;IAELM,uBAFK;IAGLG,wBAHK;IAILE;EAJK,CAAP;AAMD,CAvBM"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { useCallback, useState } from 'react';
|
|
2
|
-
import { Logger, useAsyncEffect } from '@sendbird/uikit-utils';
|
|
3
|
-
export const usePushTrigger = sdk => {
|
|
4
|
-
const [option, setOption] = useState('off');
|
|
5
|
-
const updateOption = useCallback(async value => {
|
|
6
|
-
try {
|
|
7
|
-
await sdk.setPushTriggerOption(value);
|
|
8
|
-
setOption(value);
|
|
9
|
-
} catch (e) {
|
|
10
|
-
Logger.warn('[usePushTrigger]', 'Cannot update push trigger option', e);
|
|
11
|
-
}
|
|
12
|
-
}, [sdk, sdk.currentUser]);
|
|
13
|
-
useAsyncEffect(async () => {
|
|
14
|
-
const currentOption = await sdk.getPushTriggerOption();
|
|
15
|
-
setOption(currentOption);
|
|
16
|
-
}, [sdk, sdk.currentUser]);
|
|
17
|
-
return {
|
|
18
|
-
option,
|
|
19
|
-
updateOption
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=usePushTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","Logger","useAsyncEffect","usePushTrigger","sdk","option","setOption","updateOption","value","setPushTriggerOption","e","warn","currentUser","currentOption","getPushTriggerOption"],"sources":["usePushTrigger.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\nimport { Logger, useAsyncEffect } from '@sendbird/uikit-utils';\n\ntype PushTriggerOptionType = 'all' | 'mention_only' | 'off';\nexport const usePushTrigger = (sdk: SendbirdChatSDK) => {\n const [option, setOption] = useState<PushTriggerOptionType>('off');\n\n const updateOption = useCallback(\n async (value: PushTriggerOptionType) => {\n try {\n await sdk.setPushTriggerOption(value);\n setOption(value);\n } catch (e) {\n Logger.warn('[usePushTrigger]', 'Cannot update push trigger option', e);\n }\n },\n [sdk, sdk.currentUser],\n );\n\n useAsyncEffect(async () => {\n const currentOption = await sdk.getPushTriggerOption();\n setOption(currentOption as PushTriggerOptionType);\n }, [sdk, sdk.currentUser]);\n\n return {\n option,\n updateOption,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,QAAtB,QAAsC,OAAtC;AAGA,SAASC,MAAT,EAAiBC,cAAjB,QAAuC,uBAAvC;AAGA,OAAO,MAAMC,cAAc,GAAIC,GAAD,IAA0B;EACtD,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBN,QAAQ,CAAwB,KAAxB,CAApC;EAEA,MAAMO,YAAY,GAAGR,WAAW,CAC9B,MAAOS,KAAP,IAAwC;IACtC,IAAI;MACF,MAAMJ,GAAG,CAACK,oBAAJ,CAAyBD,KAAzB,CAAN;MACAF,SAAS,CAACE,KAAD,CAAT;IACD,CAHD,CAGE,OAAOE,CAAP,EAAU;MACVT,MAAM,CAACU,IAAP,CAAY,kBAAZ,EAAgC,mCAAhC,EAAqED,CAArE;IACD;EACF,CAR6B,EAS9B,CAACN,GAAD,EAAMA,GAAG,CAACQ,WAAV,CAT8B,CAAhC;EAYAV,cAAc,CAAC,YAAY;IACzB,MAAMW,aAAa,GAAG,MAAMT,GAAG,CAACU,oBAAJ,EAA5B;IACAR,SAAS,CAACO,aAAD,CAAT;EACD,CAHa,EAGX,CAACT,GAAD,EAAMA,GAAG,CAACQ,WAAV,CAHW,CAAd;EAKA,OAAO;IACLP,MADK;IAELE;EAFK,CAAP;AAID,CAxBM"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import { truncatedBadgeCount, useAsyncEffect } from '@sendbird/uikit-utils';
|
|
3
|
-
import { useUniqId } from '@sendbird/uikit-utils';
|
|
4
|
-
import { useUserEventHandler } from '../handler/useUserEventHandler';
|
|
5
|
-
const HOOK_NAME = 'useTotalUnreadChannelCount';
|
|
6
|
-
export const useTotalUnreadChannelCount = (sdk, params) => {
|
|
7
|
-
const id = useUniqId(HOOK_NAME);
|
|
8
|
-
const [unreadChannelCount, setUnreadChannelCount] = useState(0);
|
|
9
|
-
useAsyncEffect(async () => {
|
|
10
|
-
setUnreadChannelCount(await sdk.getTotalUnreadChannelCount());
|
|
11
|
-
}, [sdk]);
|
|
12
|
-
useUserEventHandler(sdk, HOOK_NAME + id, {
|
|
13
|
-
onTotalUnreadMessageCountUpdated: async () => setUnreadChannelCount(await sdk.getTotalUnreadChannelCount())
|
|
14
|
-
});
|
|
15
|
-
return truncatedBadgeCount(unreadChannelCount, params === null || params === void 0 ? void 0 : params.maxCount);
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=useTotalUnreadChannelCount.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useState","truncatedBadgeCount","useAsyncEffect","useUniqId","useUserEventHandler","HOOK_NAME","useTotalUnreadChannelCount","sdk","params","id","unreadChannelCount","setUnreadChannelCount","getTotalUnreadChannelCount","onTotalUnreadMessageCountUpdated","maxCount"],"sources":["useTotalUnreadChannelCount.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\nimport { truncatedBadgeCount, useAsyncEffect } from '@sendbird/uikit-utils';\nimport { useUniqId } from '@sendbird/uikit-utils';\n\nimport { useUserEventHandler } from '../handler/useUserEventHandler';\n\ntype Params = {\n maxCount?: number;\n};\nconst HOOK_NAME = 'useTotalUnreadChannelCount';\nexport const useTotalUnreadChannelCount = (sdk: SendbirdChatSDK, params?: Params) => {\n const id = useUniqId(HOOK_NAME);\n const [unreadChannelCount, setUnreadChannelCount] = useState(0);\n\n useAsyncEffect(async () => {\n setUnreadChannelCount(await sdk.getTotalUnreadChannelCount());\n }, [sdk]);\n\n useUserEventHandler(sdk, HOOK_NAME + id, {\n onTotalUnreadMessageCountUpdated: async () => setUnreadChannelCount(await sdk.getTotalUnreadChannelCount()),\n });\n\n return truncatedBadgeCount(unreadChannelCount, params?.maxCount);\n};\n"],"mappings":"AAAA,SAASA,QAAT,QAAyB,OAAzB;AAGA,SAASC,mBAAT,EAA8BC,cAA9B,QAAoD,uBAApD;AACA,SAASC,SAAT,QAA0B,uBAA1B;AAEA,SAASC,mBAAT,QAAoC,gCAApC;AAKA,MAAMC,SAAS,GAAG,4BAAlB;AACA,OAAO,MAAMC,0BAA0B,GAAG,CAACC,GAAD,EAAuBC,MAAvB,KAA2C;EACnF,MAAMC,EAAE,GAAGN,SAAS,CAACE,SAAD,CAApB;EACA,MAAM,CAACK,kBAAD,EAAqBC,qBAArB,IAA8CX,QAAQ,CAAC,CAAD,CAA5D;EAEAE,cAAc,CAAC,YAAY;IACzBS,qBAAqB,CAAC,MAAMJ,GAAG,CAACK,0BAAJ,EAAP,CAArB;EACD,CAFa,EAEX,CAACL,GAAD,CAFW,CAAd;EAIAH,mBAAmB,CAACG,GAAD,EAAMF,SAAS,GAAGI,EAAlB,EAAsB;IACvCI,gCAAgC,EAAE,YAAYF,qBAAqB,CAAC,MAAMJ,GAAG,CAACK,0BAAJ,EAAP;EAD5B,CAAtB,CAAnB;EAIA,OAAOX,mBAAmB,CAACS,kBAAD,EAAqBF,MAArB,aAAqBA,MAArB,uBAAqBA,MAAM,CAAEM,QAA7B,CAA1B;AACD,CAbM"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import { truncatedBadgeCount, useAsyncEffect } from '@sendbird/uikit-utils';
|
|
3
|
-
import { useUniqId } from '@sendbird/uikit-utils';
|
|
4
|
-
import { useUserEventHandler } from '../handler/useUserEventHandler';
|
|
5
|
-
const HOOK_NAME = 'useTotalUnreadMessageCount';
|
|
6
|
-
export const useTotalUnreadMessageCount = (sdk, params) => {
|
|
7
|
-
const id = useUniqId(HOOK_NAME);
|
|
8
|
-
const [unreadMessageCount, setUnreadMessageCount] = useState(0);
|
|
9
|
-
useAsyncEffect(async () => {
|
|
10
|
-
let param;
|
|
11
|
-
|
|
12
|
-
if (params !== null && params !== void 0 && params.paramCreator) {
|
|
13
|
-
param = params.paramCreator();
|
|
14
|
-
} else {
|
|
15
|
-
const params = new sdk.GroupChannelTotalUnreadMessageCountParams();
|
|
16
|
-
params.superChannelFilter = 'all';
|
|
17
|
-
param = params;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const unreadCount = await sdk.getTotalUnreadMessageCount(param);
|
|
21
|
-
setUnreadMessageCount(unreadCount);
|
|
22
|
-
}, [sdk, params === null || params === void 0 ? void 0 : params.paramCreator]);
|
|
23
|
-
useUserEventHandler(sdk, `${HOOK_NAME}_${id}`, {
|
|
24
|
-
onTotalUnreadMessageCountUpdated: totalCount => setUnreadMessageCount(totalCount)
|
|
25
|
-
}, [sdk]);
|
|
26
|
-
return truncatedBadgeCount(unreadMessageCount, params === null || params === void 0 ? void 0 : params.maxCount);
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=useTotalUnreadMessageCount.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useState","truncatedBadgeCount","useAsyncEffect","useUniqId","useUserEventHandler","HOOK_NAME","useTotalUnreadMessageCount","sdk","params","id","unreadMessageCount","setUnreadMessageCount","param","paramCreator","GroupChannelTotalUnreadMessageCountParams","superChannelFilter","unreadCount","getTotalUnreadMessageCount","onTotalUnreadMessageCountUpdated","totalCount","maxCount"],"sources":["useTotalUnreadMessageCount.ts"],"sourcesContent":["import { useState } from 'react';\nimport type Sendbird from 'sendbird';\n\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\nimport { truncatedBadgeCount, useAsyncEffect } from '@sendbird/uikit-utils';\nimport { useUniqId } from '@sendbird/uikit-utils';\n\nimport { useUserEventHandler } from '../handler/useUserEventHandler';\n\ntype Params = {\n paramCreator?: () => Sendbird.GroupChannelTotalUnreadMessageCountParams;\n maxCount?: number;\n};\n\nconst HOOK_NAME = 'useTotalUnreadMessageCount';\nexport const useTotalUnreadMessageCount = (sdk: SendbirdChatSDK, params?: Params) => {\n const id = useUniqId(HOOK_NAME);\n const [unreadMessageCount, setUnreadMessageCount] = useState(0);\n\n useAsyncEffect(async () => {\n let param;\n if (params?.paramCreator) {\n param = params.paramCreator();\n } else {\n const params = new sdk.GroupChannelTotalUnreadMessageCountParams();\n params.superChannelFilter = 'all';\n param = params;\n }\n const unreadCount = await sdk.getTotalUnreadMessageCount(param);\n setUnreadMessageCount(unreadCount);\n }, [sdk, params?.paramCreator]);\n\n useUserEventHandler(\n sdk,\n `${HOOK_NAME}_${id}`,\n {\n onTotalUnreadMessageCountUpdated: (totalCount: number) => setUnreadMessageCount(totalCount),\n },\n [sdk],\n );\n\n return truncatedBadgeCount(unreadMessageCount, params?.maxCount);\n};\n"],"mappings":"AAAA,SAASA,QAAT,QAAyB,OAAzB;AAIA,SAASC,mBAAT,EAA8BC,cAA9B,QAAoD,uBAApD;AACA,SAASC,SAAT,QAA0B,uBAA1B;AAEA,SAASC,mBAAT,QAAoC,gCAApC;AAOA,MAAMC,SAAS,GAAG,4BAAlB;AACA,OAAO,MAAMC,0BAA0B,GAAG,CAACC,GAAD,EAAuBC,MAAvB,KAA2C;EACnF,MAAMC,EAAE,GAAGN,SAAS,CAACE,SAAD,CAApB;EACA,MAAM,CAACK,kBAAD,EAAqBC,qBAArB,IAA8CX,QAAQ,CAAC,CAAD,CAA5D;EAEAE,cAAc,CAAC,YAAY;IACzB,IAAIU,KAAJ;;IACA,IAAIJ,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEK,YAAZ,EAA0B;MACxBD,KAAK,GAAGJ,MAAM,CAACK,YAAP,EAAR;IACD,CAFD,MAEO;MACL,MAAML,MAAM,GAAG,IAAID,GAAG,CAACO,yCAAR,EAAf;MACAN,MAAM,CAACO,kBAAP,GAA4B,KAA5B;MACAH,KAAK,GAAGJ,MAAR;IACD;;IACD,MAAMQ,WAAW,GAAG,MAAMT,GAAG,CAACU,0BAAJ,CAA+BL,KAA/B,CAA1B;IACAD,qBAAqB,CAACK,WAAD,CAArB;EACD,CAXa,EAWX,CAACT,GAAD,EAAMC,MAAN,aAAMA,MAAN,uBAAMA,MAAM,CAAEK,YAAd,CAXW,CAAd;EAaAT,mBAAmB,CACjBG,GADiB,EAEhB,GAAEF,SAAU,IAAGI,EAAG,EAFF,EAGjB;IACES,gCAAgC,EAAGC,UAAD,IAAwBR,qBAAqB,CAACQ,UAAD;EADjF,CAHiB,EAMjB,CAACZ,GAAD,CANiB,CAAnB;EASA,OAAON,mBAAmB,CAACS,kBAAD,EAAqBF,MAArB,aAAqBA,MAArB,uBAAqBA,MAAM,CAAEY,QAA7B,CAA1B;AACD,CA3BM"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
2
|
-
import { useAsyncEffect } from '@sendbird/uikit-utils';
|
|
3
|
-
|
|
4
|
-
const createUserQuery = (sdk, queryCreator) => {
|
|
5
|
-
if (queryCreator) return queryCreator();
|
|
6
|
-
return sdk.createApplicationUserListQuery();
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Get user list from query.
|
|
10
|
-
* default query uses 'instance.createApplicationUserListQuery'
|
|
11
|
-
* The response type of hook is depends on return type of 'query.next()'
|
|
12
|
-
*
|
|
13
|
-
* You can call hook with your custom query using {@link CustomQuery}
|
|
14
|
-
* Or you can create your 'CustomQueryClass' implemented {@link CustomQueryInterface}'
|
|
15
|
-
*
|
|
16
|
-
* ```example
|
|
17
|
-
* const { users } = useUserList(sdk, {
|
|
18
|
-
* queryCreator: () => {
|
|
19
|
-
* const friendQuery = sdk.createFriendListQuery();
|
|
20
|
-
* return new CustomQuery({
|
|
21
|
-
* next: () => friendQuery.next(),
|
|
22
|
-
* isLoading: () => friendQuery.isLoading,
|
|
23
|
-
* hasNext: () => friendQuery.hasMore,
|
|
24
|
-
* });
|
|
25
|
-
* }
|
|
26
|
-
* })
|
|
27
|
-
* ```
|
|
28
|
-
* */
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export const useUserList = (sdk, options) => {
|
|
32
|
-
const query = useRef();
|
|
33
|
-
const [error, setError] = useState(null);
|
|
34
|
-
const [loading, setLoading] = useState(false);
|
|
35
|
-
const [refreshing, setRefreshing] = useState(false);
|
|
36
|
-
const [users, setUsers] = useState([]);
|
|
37
|
-
const sortedUsers = useMemo(() => {
|
|
38
|
-
if (options !== null && options !== void 0 && options.sortComparator) return users.sort(options.sortComparator);
|
|
39
|
-
return users;
|
|
40
|
-
}, [users, options === null || options === void 0 ? void 0 : options.sortComparator]);
|
|
41
|
-
|
|
42
|
-
const updateUsers = (users, clearPrev) => {
|
|
43
|
-
if (clearPrev) setUsers(users);else setUsers(prev => prev.concat(users));
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const init = useCallback(async () => {
|
|
47
|
-
var _query$current;
|
|
48
|
-
|
|
49
|
-
query.current = createUserQuery(sdk, options === null || options === void 0 ? void 0 : options.queryCreator);
|
|
50
|
-
|
|
51
|
-
if ((_query$current = query.current) !== null && _query$current !== void 0 && _query$current.hasNext) {
|
|
52
|
-
var _query$current2;
|
|
53
|
-
|
|
54
|
-
const users = await ((_query$current2 = query.current) === null || _query$current2 === void 0 ? void 0 : _query$current2.next());
|
|
55
|
-
updateUsers(users, true);
|
|
56
|
-
}
|
|
57
|
-
}, [sdk, options === null || options === void 0 ? void 0 : options.queryCreator]);
|
|
58
|
-
useAsyncEffect(async () => {
|
|
59
|
-
setLoading(true);
|
|
60
|
-
setError(null);
|
|
61
|
-
|
|
62
|
-
try {
|
|
63
|
-
await init();
|
|
64
|
-
} catch (e) {
|
|
65
|
-
setError(e);
|
|
66
|
-
} finally {
|
|
67
|
-
setLoading(false);
|
|
68
|
-
}
|
|
69
|
-
}, [init]);
|
|
70
|
-
const refresh = useCallback(async () => {
|
|
71
|
-
setRefreshing(true);
|
|
72
|
-
setError(null);
|
|
73
|
-
|
|
74
|
-
try {
|
|
75
|
-
await init();
|
|
76
|
-
} catch (e) {
|
|
77
|
-
setError(e);
|
|
78
|
-
} finally {
|
|
79
|
-
setRefreshing(false);
|
|
80
|
-
}
|
|
81
|
-
}, [init]);
|
|
82
|
-
const next = useCallback(async () => {
|
|
83
|
-
var _query$current3;
|
|
84
|
-
|
|
85
|
-
if (query.current && (_query$current3 = query.current) !== null && _query$current3 !== void 0 && _query$current3.hasNext) {
|
|
86
|
-
var _query$current4;
|
|
87
|
-
|
|
88
|
-
updateUsers(await ((_query$current4 = query.current) === null || _query$current4 === void 0 ? void 0 : _query$current4.next()), false);
|
|
89
|
-
}
|
|
90
|
-
}, []);
|
|
91
|
-
return {
|
|
92
|
-
loading,
|
|
93
|
-
error,
|
|
94
|
-
users: sortedUsers,
|
|
95
|
-
next,
|
|
96
|
-
refreshing,
|
|
97
|
-
refresh
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=useUserList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useRef","useState","useAsyncEffect","createUserQuery","sdk","queryCreator","createApplicationUserListQuery","useUserList","options","query","error","setError","loading","setLoading","refreshing","setRefreshing","users","setUsers","sortedUsers","sortComparator","sort","updateUsers","clearPrev","prev","concat","init","current","hasNext","next","e","refresh"],"sources":["useUserList.ts"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { Optional, SendbirdChatSDK, SendbirdUser, useAsyncEffect } from '@sendbird/uikit-utils';\n\nimport type { CustomQueryInterface, UseUserListOptions, UseUserListReturn } from '../types';\n\nconst createUserQuery = <User>(sdk: SendbirdChatSDK, queryCreator?: UseUserListOptions<User>['queryCreator']) => {\n if (queryCreator) return queryCreator();\n return sdk.createApplicationUserListQuery() as unknown as CustomQueryInterface<User>;\n};\n\n/**\n * Get user list from query.\n * default query uses 'instance.createApplicationUserListQuery'\n * The response type of hook is depends on return type of 'query.next()'\n *\n * You can call hook with your custom query using {@link CustomQuery}\n * Or you can create your 'CustomQueryClass' implemented {@link CustomQueryInterface}'\n *\n * ```example\n * const { users } = useUserList(sdk, {\n * queryCreator: () => {\n * const friendQuery = sdk.createFriendListQuery();\n * return new CustomQuery({\n * next: () => friendQuery.next(),\n * isLoading: () => friendQuery.isLoading,\n * hasNext: () => friendQuery.hasMore,\n * });\n * }\n * })\n * ```\n * */\nexport const useUserList = <\n Options extends UseUserListOptions<QueriedUser>,\n QueriedUser = Options['queryCreator'] extends Optional<() => CustomQueryInterface<infer User>> ? User : SendbirdUser,\n>(\n sdk: SendbirdChatSDK,\n options?: Options,\n): UseUserListReturn<QueriedUser> => {\n const query = useRef<CustomQueryInterface<QueriedUser>>();\n\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState(false);\n const [refreshing, setRefreshing] = useState(false);\n\n const [users, setUsers] = useState<QueriedUser[]>([]);\n const sortedUsers = useMemo((): QueriedUser[] => {\n if (options?.sortComparator) return users.sort(options.sortComparator);\n return users;\n }, [users, options?.sortComparator]);\n\n const updateUsers = (users: QueriedUser[], clearPrev: boolean) => {\n if (clearPrev) setUsers(users);\n else setUsers((prev) => prev.concat(users));\n };\n\n const init = useCallback(async () => {\n query.current = createUserQuery<QueriedUser>(sdk, options?.queryCreator);\n if (query.current?.hasNext) {\n const users = await query.current?.next();\n updateUsers(users, true);\n }\n }, [sdk, options?.queryCreator]);\n\n useAsyncEffect(async () => {\n setLoading(true);\n setError(null);\n try {\n await init();\n } catch (e) {\n setError(e);\n } finally {\n setLoading(false);\n }\n }, [init]);\n\n const refresh = useCallback(async () => {\n setRefreshing(true);\n setError(null);\n try {\n await init();\n } catch (e) {\n setError(e);\n } finally {\n setRefreshing(false);\n }\n }, [init]);\n\n const next = useCallback(async () => {\n if (query.current && query.current?.hasNext) {\n updateUsers(await query.current?.next(), false);\n }\n }, []);\n\n return {\n loading,\n error,\n users: sortedUsers,\n next,\n refreshing,\n refresh,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import { Logger } from '@sendbird/uikit-utils';
|
|
3
|
-
export const useChannelHandler = function (sdk, handlerId, hookHandler) {
|
|
4
|
-
let deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
Logger.debug('[useChannelHandler] hook called by', handlerId);
|
|
7
|
-
const handler = new sdk.ChannelHandler();
|
|
8
|
-
const handlerKeys = Object.keys(handler);
|
|
9
|
-
handlerKeys.forEach(key => {
|
|
10
|
-
const hookHandlerFn = hookHandler[key];
|
|
11
|
-
if (hookHandlerFn) handler[key] = hookHandlerFn;
|
|
12
|
-
});
|
|
13
|
-
sdk.addChannelHandler(handlerId, handler);
|
|
14
|
-
return () => sdk.removeChannelHandler(handlerId);
|
|
15
|
-
}, [sdk, handlerId, ...deps]);
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=useChannelHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Logger","useChannelHandler","sdk","handlerId","hookHandler","deps","debug","handler","ChannelHandler","handlerKeys","Object","keys","forEach","key","hookHandlerFn","addChannelHandler","removeChannelHandler"],"sources":["useChannelHandler.ts"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type Sendbird from 'sendbird';\n\nimport { Logger, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useChannelHandler = (\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<Sendbird.ChannelHandler>,\n deps: React.DependencyList = [],\n) => {\n useEffect(() => {\n Logger.debug('[useChannelHandler] hook called by', handlerId);\n\n const handler = new sdk.ChannelHandler();\n const handlerKeys = Object.keys(handler) as (keyof typeof handler)[];\n handlerKeys.forEach((key) => {\n const hookHandlerFn = hookHandler[key];\n if (hookHandlerFn) handler[key] = hookHandlerFn as () => unknown;\n });\n\n sdk.addChannelHandler(handlerId, handler);\n return () => sdk.removeChannelHandler(handlerId);\n }, [sdk, handlerId, ...deps]);\n};\n"],"mappings":"AAAA,SAAgBA,SAAhB,QAAiC,OAAjC;AAGA,SAASC,MAAT,QAAwC,uBAAxC;AAEA,OAAO,MAAMC,iBAAiB,GAAG,UAC/BC,GAD+B,EAE/BC,SAF+B,EAG/BC,WAH+B,EAK5B;EAAA,IADHC,IACG,uEAD0B,EAC1B;EACHN,SAAS,CAAC,MAAM;IACdC,MAAM,CAACM,KAAP,CAAa,oCAAb,EAAmDH,SAAnD;IAEA,MAAMI,OAAO,GAAG,IAAIL,GAAG,CAACM,cAAR,EAAhB;IACA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYJ,OAAZ,CAApB;IACAE,WAAW,CAACG,OAAZ,CAAqBC,GAAD,IAAS;MAC3B,MAAMC,aAAa,GAAGV,WAAW,CAACS,GAAD,CAAjC;MACA,IAAIC,aAAJ,EAAmBP,OAAO,CAACM,GAAD,CAAP,GAAeC,aAAf;IACpB,CAHD;IAKAZ,GAAG,CAACa,iBAAJ,CAAsBZ,SAAtB,EAAiCI,OAAjC;IACA,OAAO,MAAML,GAAG,CAACc,oBAAJ,CAAyBb,SAAzB,CAAb;EACD,CAZQ,EAYN,CAACD,GAAD,EAAMC,SAAN,EAAiB,GAAGE,IAApB,CAZM,CAAT;AAaD,CAnBM"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import { Logger } from '@sendbird/uikit-utils';
|
|
3
|
-
export const useConnectionHandler = function (sdk, handlerId, hookHandler) {
|
|
4
|
-
let deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
Logger.info('[useConnectionHandler]', handlerId);
|
|
7
|
-
const handler = new sdk.ConnectionHandler();
|
|
8
|
-
const handlerKeys = Object.keys(handler);
|
|
9
|
-
handlerKeys.forEach(key => {
|
|
10
|
-
const hookHandlerFn = hookHandler[key];
|
|
11
|
-
if (hookHandlerFn) handler[key] = hookHandlerFn;
|
|
12
|
-
});
|
|
13
|
-
sdk.addConnectionHandler(handlerId, handler);
|
|
14
|
-
return () => sdk.removeConnectionHandler(handlerId);
|
|
15
|
-
}, [sdk, handlerId, ...deps]);
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=useConnectionHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Logger","useConnectionHandler","sdk","handlerId","hookHandler","deps","info","handler","ConnectionHandler","handlerKeys","Object","keys","forEach","key","hookHandlerFn","addConnectionHandler","removeConnectionHandler"],"sources":["useConnectionHandler.ts"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type Sendbird from 'sendbird';\n\nimport { Logger, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useConnectionHandler = (\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<Sendbird.ConnectionHandler>,\n deps: React.DependencyList = [],\n) => {\n useEffect(() => {\n Logger.info('[useConnectionHandler]', handlerId);\n\n const handler = new sdk.ConnectionHandler();\n const handlerKeys = Object.keys(handler) as (keyof typeof handler)[];\n handlerKeys.forEach((key) => {\n const hookHandlerFn = hookHandler[key];\n if (hookHandlerFn) handler[key] = hookHandlerFn;\n });\n\n sdk.addConnectionHandler(handlerId, handler);\n return () => sdk.removeConnectionHandler(handlerId);\n }, [sdk, handlerId, ...deps]);\n};\n"],"mappings":"AAAA,SAAgBA,SAAhB,QAAiC,OAAjC;AAGA,SAASC,MAAT,QAAwC,uBAAxC;AAEA,OAAO,MAAMC,oBAAoB,GAAG,UAClCC,GADkC,EAElCC,SAFkC,EAGlCC,WAHkC,EAK/B;EAAA,IADHC,IACG,uEAD0B,EAC1B;EACHN,SAAS,CAAC,MAAM;IACdC,MAAM,CAACM,IAAP,CAAY,wBAAZ,EAAsCH,SAAtC;IAEA,MAAMI,OAAO,GAAG,IAAIL,GAAG,CAACM,iBAAR,EAAhB;IACA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYJ,OAAZ,CAApB;IACAE,WAAW,CAACG,OAAZ,CAAqBC,GAAD,IAAS;MAC3B,MAAMC,aAAa,GAAGV,WAAW,CAACS,GAAD,CAAjC;MACA,IAAIC,aAAJ,EAAmBP,OAAO,CAACM,GAAD,CAAP,GAAeC,aAAf;IACpB,CAHD;IAKAZ,GAAG,CAACa,oBAAJ,CAAyBZ,SAAzB,EAAoCI,OAApC;IACA,OAAO,MAAML,GAAG,CAACc,uBAAJ,CAA4Bb,SAA5B,CAAb;EACD,CAZQ,EAYN,CAACD,GAAD,EAAMC,SAAN,EAAiB,GAAGE,IAApB,CAZM,CAAT;AAaD,CAnBM"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import { Logger } from '@sendbird/uikit-utils';
|
|
3
|
-
export const useUserEventHandler = function (sdk, handlerId, hookHandler) {
|
|
4
|
-
let deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
Logger.debug('[useUserEventHandler] hook called by', handlerId);
|
|
7
|
-
const handler = new sdk.UserEventHandler();
|
|
8
|
-
const handlerKeys = Object.keys(handler);
|
|
9
|
-
handlerKeys.forEach(key => {
|
|
10
|
-
const hookHandlerFn = hookHandler[key];
|
|
11
|
-
if (hookHandlerFn) handler[key] = hookHandlerFn;
|
|
12
|
-
});
|
|
13
|
-
sdk.addUserEventHandler(handlerId, handler);
|
|
14
|
-
return () => sdk.removeUserEventHandler(handlerId);
|
|
15
|
-
}, [sdk, handlerId, ...deps]);
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=useUserEventHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Logger","useUserEventHandler","sdk","handlerId","hookHandler","deps","debug","handler","UserEventHandler","handlerKeys","Object","keys","forEach","key","hookHandlerFn","addUserEventHandler","removeUserEventHandler"],"sources":["useUserEventHandler.ts"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type Sendbird from 'sendbird';\n\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport const useUserEventHandler = (\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<Sendbird.UserEventHandler>,\n deps: React.DependencyList = [],\n) => {\n useEffect(() => {\n Logger.debug('[useUserEventHandler] hook called by', handlerId);\n\n const handler = new sdk.UserEventHandler();\n const handlerKeys = Object.keys(handler) as (keyof typeof handler)[];\n handlerKeys.forEach((key) => {\n const hookHandlerFn = hookHandler[key];\n if (hookHandlerFn) handler[key] = hookHandlerFn as () => unknown;\n });\n\n sdk.addUserEventHandler(handlerId, handler);\n return () => sdk.removeUserEventHandler(handlerId);\n }, [sdk, handlerId, ...deps]);\n};\n"],"mappings":"AAAA,SAAgBA,SAAhB,QAAiC,OAAjC;AAIA,SAASC,MAAT,QAAuB,uBAAvB;AAEA,OAAO,MAAMC,mBAAmB,GAAG,UACjCC,GADiC,EAEjCC,SAFiC,EAGjCC,WAHiC,EAK9B;EAAA,IADHC,IACG,uEAD0B,EAC1B;EACHN,SAAS,CAAC,MAAM;IACdC,MAAM,CAACM,KAAP,CAAa,sCAAb,EAAqDH,SAArD;IAEA,MAAMI,OAAO,GAAG,IAAIL,GAAG,CAACM,gBAAR,EAAhB;IACA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYJ,OAAZ,CAApB;IACAE,WAAW,CAACG,OAAZ,CAAqBC,GAAD,IAAS;MAC3B,MAAMC,aAAa,GAAGV,WAAW,CAACS,GAAD,CAAjC;MACA,IAAIC,aAAJ,EAAmBP,OAAO,CAACM,GAAD,CAAP,GAAeC,aAAf;IACpB,CAHD;IAKAZ,GAAG,CAACa,mBAAJ,CAAwBZ,SAAxB,EAAmCI,OAAnC;IACA,OAAO,MAAML,GAAG,CAACc,sBAAJ,CAA2Bb,SAA3B,CAAb;EACD,CAZQ,EAYN,CAACD,GAAD,EAAMC,SAAN,EAAiB,GAAGE,IAApB,CAZM,CAAT;AAaD,CAnBM"}
|
package/lib/module/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export { useGroupChannelList } from './channel/useGroupChannelList';
|
|
2
|
-
export { useGroupChannelMessages } from './channel/useGroupChannelMessages';
|
|
3
|
-
export { useActiveGroupChannel } from './channel/useActiveGroupChannel';
|
|
4
|
-
export { useUserList } from './common/useUserList';
|
|
5
|
-
export { usePushTrigger } from './common/usePushTrigger';
|
|
6
|
-
export { useTotalUnreadMessageCount } from './common/useTotalUnreadMessageCount';
|
|
7
|
-
export { useTotalUnreadChannelCount } from './common/useTotalUnreadChannelCount';
|
|
8
|
-
export { useAppFeatures } from './common/useAppFeatures';
|
|
9
|
-
export { useChannelHandler } from './handler/useChannelHandler';
|
|
10
|
-
export { useConnectionHandler } from './handler/useConnectionHandler';
|
|
11
|
-
export { useUserEventHandler } from './handler/useUserEventHandler';
|
|
12
|
-
export { CustomQuery } from './model/CustomQuery';
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useGroupChannelList","useGroupChannelMessages","useActiveGroupChannel","useUserList","usePushTrigger","useTotalUnreadMessageCount","useTotalUnreadChannelCount","useAppFeatures","useChannelHandler","useConnectionHandler","useUserEventHandler","CustomQuery"],"sources":["index.ts"],"sourcesContent":["export { useGroupChannelList } from './channel/useGroupChannelList';\nexport { useGroupChannelMessages } from './channel/useGroupChannelMessages';\nexport { useActiveGroupChannel } from './channel/useActiveGroupChannel';\n\nexport { useUserList } from './common/useUserList';\nexport { usePushTrigger } from './common/usePushTrigger';\nexport { useTotalUnreadMessageCount } from './common/useTotalUnreadMessageCount';\nexport { useTotalUnreadChannelCount } from './common/useTotalUnreadChannelCount';\nexport { useAppFeatures } from './common/useAppFeatures';\n\nexport { useChannelHandler } from './handler/useChannelHandler';\nexport { useConnectionHandler } from './handler/useConnectionHandler';\nexport { useUserEventHandler } from './handler/useUserEventHandler';\n\nexport { CustomQuery } from './model/CustomQuery';\n\nexport type {\n UseGroupChannelList,\n UseGroupChannelListOptions,\n UseGroupChannelMessages,\n UseUserListOptions,\n UseGroupChannelMessagesOptions,\n UseUserListReturn,\n CustomQueryInterface,\n CustomBidirectionalQueryInterface,\n} from './types';\n"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,+BAApC;AACA,SAASC,uBAAT,QAAwC,mCAAxC;AACA,SAASC,qBAAT,QAAsC,iCAAtC;AAEA,SAASC,WAAT,QAA4B,sBAA5B;AACA,SAASC,cAAT,QAA+B,yBAA/B;AACA,SAASC,0BAAT,QAA2C,qCAA3C;AACA,SAASC,0BAAT,QAA2C,qCAA3C;AACA,SAASC,cAAT,QAA+B,yBAA/B;AAEA,SAASC,iBAAT,QAAkC,6BAAlC;AACA,SAASC,oBAAT,QAAqC,gCAArC;AACA,SAASC,mBAAT,QAAoC,+BAApC;AAEA,SAASC,WAAT,QAA4B,qBAA5B"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export class CustomQuery {
|
|
2
|
-
constructor(params) {
|
|
3
|
-
this.params = params;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
get isLoading() {
|
|
7
|
-
return this.params.isLoading();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
get hasNext() {
|
|
11
|
-
return this.params.hasNext();
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
next() {
|
|
15
|
-
return this.params.next();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=CustomQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CustomQuery","constructor","params","isLoading","hasNext","next"],"sources":["CustomQuery.ts"],"sourcesContent":["import type { CustomQueryInterface } from '../types';\n\ntype ConstructorParams<T> = {\n next: () => Promise<T[]>;\n isLoading: () => boolean;\n hasNext: () => boolean;\n};\n\nexport class CustomQuery<T> implements CustomQueryInterface<T> {\n constructor(private params: ConstructorParams<T>) {}\n get isLoading(): boolean {\n return this.params.isLoading();\n }\n get hasNext(): boolean {\n return this.params.hasNext();\n }\n next() {\n return this.params.next();\n }\n}\n"],"mappings":"AAQA,OAAO,MAAMA,WAAN,CAAwD;EAC7DC,WAAW,CAASC,MAAT,EAAuC;IAAA,KAA9BA,MAA8B,GAA9BA,MAA8B;EAAE;;EACvC,IAATC,SAAS,GAAY;IACvB,OAAO,KAAKD,MAAL,CAAYC,SAAZ,EAAP;EACD;;EACU,IAAPC,OAAO,GAAY;IACrB,OAAO,KAAKF,MAAL,CAAYE,OAAZ,EAAP;EACD;;EACDC,IAAI,GAAG;IACL,OAAO,KAAKH,MAAL,CAAYG,IAAZ,EAAP;EACD;;AAV4D"}
|
package/lib/module/types.js
DELETED
package/lib/module/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type Sendbird from 'sendbird';\n\nimport type {\n SendbirdChatSDK,\n SendbirdError,\n SendbirdFileMessage,\n SendbirdFileMessageParams,\n SendbirdGroupChannel,\n SendbirdGroupChannelCollection,\n SendbirdMessage,\n SendbirdMessageCollection,\n SendbirdUserMessage,\n SendbirdUserMessageParams,\n} from '@sendbird/uikit-utils';\n\nexport interface CustomQueryInterface<Data> {\n isLoading: boolean;\n next: () => Promise<Data[]>;\n hasNext: boolean;\n}\nexport interface CustomBidirectionalQueryInterface<Data> {\n isLoading: boolean;\n next: () => Promise<Data[]>;\n hasNext: () => boolean;\n prev: () => Promise<Data[]>;\n hasPrev: () => boolean;\n}\n\n/**\n * @interface UseGroupChannelList\n * @description interface for group channel list hook\n * */\nexport interface UseGroupChannelList {\n (sdk: SendbirdChatSDK, userId?: string, options?: UseGroupChannelListOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Update channel, update or insert channel to state\n * @param {SendbirdGroupChannel} channel\n * @return {void}\n * */\n update: (channel: SendbirdGroupChannel) => void;\n\n /**\n * Get group channels state\n * */\n groupChannels: SendbirdGroupChannel[];\n\n /**\n * Fetch next channels to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n };\n}\nexport type UseGroupChannelListOptions = {\n sortComparator?: (a: SendbirdGroupChannel, b: SendbirdGroupChannel) => number;\n queryCreator?: () => Sendbird.GroupChannelListQuery;\n collectionCreator?: () => SendbirdGroupChannelCollection;\n enableCollectionWithoutLocalCache?: boolean;\n};\n\n/**\n * @interface UseGroupChannelMessages\n * @description interface for group channel messages hook\n * - Receive new messages from other users -> append to state(nextMessages)\n * - onTopReached -> prev() -> fetch prev messages and append to state(messages)\n * - onBottomReached -> next() -> nextMessages append to state(messages)\n * */\nexport interface UseGroupChannelMessages {\n (sdk: SendbirdChatSDK, channel: SendbirdGroupChannel, userId?: string, options?: UseGroupChannelMessagesOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get messages, this state is for render\n * For example, if a user receives a new messages while searching for an old message\n * for this case, new messages will be included here.\n * @return {SendbirdMessage[]}\n * */\n messages: SendbirdMessage[];\n\n /**\n * Fetch prev messages to state\n * @return {Promise<void>}\n * */\n prev: () => Promise<void>;\n\n /**\n * Get messages, this state is for temporary data before render\n * For example, if a user receives a new messages while searching for an old message\n * for this case, new messages will be included here.\n * */\n nextMessages: SendbirdMessage[];\n\n /**\n * Get new messages from nextMessages\n * A new message means a message that meets the below conditions\n * - Not admin message\n * - Not updated message\n * - Not current user's message\n * */\n newMessagesFromMembers: SendbirdMessage[];\n\n /**\n * Fetch next messages to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n\n /**\n * Send file message\n * @param params file message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendFileMessage: (\n params: SendbirdFileMessageParams,\n onPending?: (message: SendbirdFileMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdFileMessage>;\n\n /**\n * Send user message\n * @param params user message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendUserMessage: (\n params: SendbirdUserMessageParams,\n onPending?: (message: SendbirdUserMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdUserMessage>;\n\n /**\n * Update file message\n * @param messageId\n * @param params file message params\n * @return updated message\n * */\n updateFileMessage: (messageId: number, params: SendbirdFileMessageParams) => Promise<SendbirdFileMessage>;\n\n /**\n * Update user message\n * @param messageId\n * @param params user message params\n * @return updated message\n * */\n updateUserMessage: (messageId: number, params: SendbirdUserMessageParams) => Promise<SendbirdUserMessage>;\n\n /**\n * Resend failed message\n * @param failedMessage failed message to resend\n * @return {Promise<void>}\n * */\n resendMessage: (failedMessage: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n\n /**\n * Delete message\n * @param message sent or failed message\n * @return {Promise<void>}\n * */\n deleteMessage: (message: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n\n /**\n * Activated channel\n * */\n activeChannel: SendbirdGroupChannel;\n };\n}\n\nexport type UseGroupChannelMessagesOptions = {\n sortComparator?: (a: SendbirdMessage, b: SendbirdMessage) => number;\n queryCreator?: () => Sendbird.PreviousMessageListQuery;\n collectionCreator?: () => SendbirdMessageCollection;\n enableCollectionWithoutLocalCache?: boolean;\n onChannelDeleted?: () => void;\n};\n\n/**\n * @interface UseUserListReturn\n * @description interface for user list hook return value\n * */\nexport interface UseUserListReturn<User> {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Error state\n * */\n error: unknown | null;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get users state\n * */\n users: User[];\n\n /**\n * Fetch next users to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n}\n\nexport type UseUserListOptions<User> = {\n sortComparator?: (a: User, b: User) => number;\n queryCreator?: () => CustomQueryInterface<User>;\n};\n"],"mappings":""}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { SendbirdChatSDK, SendbirdGroupChannel } from '@sendbird/uikit-utils';
|
|
2
|
-
export declare const useActiveGroupChannel: (sdk: SendbirdChatSDK, staleChannel: SendbirdGroupChannel) => {
|
|
3
|
-
activeChannel: import("sendbird").GroupChannel;
|
|
4
|
-
setActiveChannel: import("react").Dispatch<import("react").SetStateAction<import("sendbird").GroupChannel>>;
|
|
5
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { SendbirdBaseMessage, SendbirdMessage } from '@sendbird/uikit-utils';
|
|
2
|
-
import type { UseGroupChannelMessagesOptions } from '../../types';
|
|
3
|
-
export declare const useGroupChannelMessagesReducer: (userId?: string, sortComparator?: UseGroupChannelMessagesOptions['sortComparator']) => {
|
|
4
|
-
updateLoading: (status: boolean) => void;
|
|
5
|
-
updateRefreshing: (status: boolean) => void;
|
|
6
|
-
updateMessages: (messages: SendbirdBaseMessage[], clearPrev: boolean, currentUserId?: string) => void;
|
|
7
|
-
updateNextMessages: (messages: SendbirdBaseMessage[], clearPrev: boolean, currentUserId?: string) => void;
|
|
8
|
-
deleteMessages: (messageIds: number[], reqIds: string[]) => void;
|
|
9
|
-
deleteNextMessages: (messageIds: number[], reqIds: string[]) => void;
|
|
10
|
-
loading: boolean;
|
|
11
|
-
refreshing: boolean;
|
|
12
|
-
messages: SendbirdMessage[];
|
|
13
|
-
nextMessages: SendbirdMessage[];
|
|
14
|
-
newMessagesFromMembers: SendbirdMessage[];
|
|
15
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
2
|
-
declare type PushTriggerOptionType = 'all' | 'mention_only' | 'off';
|
|
3
|
-
export declare const usePushTrigger: (sdk: SendbirdChatSDK) => {
|
|
4
|
-
option: PushTriggerOptionType;
|
|
5
|
-
updateOption: (value: PushTriggerOptionType) => Promise<void>;
|
|
6
|
-
};
|
|
7
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type Sendbird from 'sendbird';
|
|
2
|
-
import type { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
3
|
-
declare type Params = {
|
|
4
|
-
paramCreator?: () => Sendbird.GroupChannelTotalUnreadMessageCountParams;
|
|
5
|
-
maxCount?: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const useTotalUnreadMessageCount: (sdk: SendbirdChatSDK, params?: Params) => string;
|
|
8
|
-
export {};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Optional, SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
2
|
-
import type { CustomQueryInterface, UseUserListOptions, UseUserListReturn } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Get user list from query.
|
|
5
|
-
* default query uses 'instance.createApplicationUserListQuery'
|
|
6
|
-
* The response type of hook is depends on return type of 'query.next()'
|
|
7
|
-
*
|
|
8
|
-
* You can call hook with your custom query using {@link CustomQuery}
|
|
9
|
-
* Or you can create your 'CustomQueryClass' implemented {@link CustomQueryInterface}'
|
|
10
|
-
*
|
|
11
|
-
* ```example
|
|
12
|
-
* const { users } = useUserList(sdk, {
|
|
13
|
-
* queryCreator: () => {
|
|
14
|
-
* const friendQuery = sdk.createFriendListQuery();
|
|
15
|
-
* return new CustomQuery({
|
|
16
|
-
* next: () => friendQuery.next(),
|
|
17
|
-
* isLoading: () => friendQuery.isLoading,
|
|
18
|
-
* hasNext: () => friendQuery.hasMore,
|
|
19
|
-
* });
|
|
20
|
-
* }
|
|
21
|
-
* })
|
|
22
|
-
* ```
|
|
23
|
-
* */
|
|
24
|
-
export declare const useUserList: <Options extends UseUserListOptions<QueriedUser>, QueriedUser = Options["queryCreator"] extends Optional<() => CustomQueryInterface<infer User>> ? User : import("sendbird").User>(sdk: SendbirdChatSDK, options?: Options | undefined) => UseUserListReturn<QueriedUser>;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type Sendbird from 'sendbird';
|
|
3
|
-
import { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
4
|
-
export declare const useChannelHandler: (sdk: SendbirdChatSDK, handlerId: string, hookHandler: Partial<Sendbird.ChannelHandler>, deps?: React.DependencyList) => void;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type Sendbird from 'sendbird';
|
|
3
|
-
import { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
4
|
-
export declare const useConnectionHandler: (sdk: SendbirdChatSDK, handlerId: string, hookHandler: Partial<Sendbird.ConnectionHandler>, deps?: React.DependencyList) => void;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type Sendbird from 'sendbird';
|
|
3
|
-
import type { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
4
|
-
export declare const useUserEventHandler: (sdk: SendbirdChatSDK, handlerId: string, hookHandler: Partial<Sendbird.UserEventHandler>, deps?: React.DependencyList) => void;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export { useGroupChannelList } from './channel/useGroupChannelList';
|
|
2
|
-
export { useGroupChannelMessages } from './channel/useGroupChannelMessages';
|
|
3
|
-
export { useActiveGroupChannel } from './channel/useActiveGroupChannel';
|
|
4
|
-
export { useUserList } from './common/useUserList';
|
|
5
|
-
export { usePushTrigger } from './common/usePushTrigger';
|
|
6
|
-
export { useTotalUnreadMessageCount } from './common/useTotalUnreadMessageCount';
|
|
7
|
-
export { useTotalUnreadChannelCount } from './common/useTotalUnreadChannelCount';
|
|
8
|
-
export { useAppFeatures } from './common/useAppFeatures';
|
|
9
|
-
export { useChannelHandler } from './handler/useChannelHandler';
|
|
10
|
-
export { useConnectionHandler } from './handler/useConnectionHandler';
|
|
11
|
-
export { useUserEventHandler } from './handler/useUserEventHandler';
|
|
12
|
-
export { CustomQuery } from './model/CustomQuery';
|
|
13
|
-
export type { UseGroupChannelList, UseGroupChannelListOptions, UseGroupChannelMessages, UseUserListOptions, UseGroupChannelMessagesOptions, UseUserListReturn, CustomQueryInterface, CustomBidirectionalQueryInterface, } from './types';
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { CustomQueryInterface } from '../types';
|
|
2
|
-
declare type ConstructorParams<T> = {
|
|
3
|
-
next: () => Promise<T[]>;
|
|
4
|
-
isLoading: () => boolean;
|
|
5
|
-
hasNext: () => boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare class CustomQuery<T> implements CustomQueryInterface<T> {
|
|
8
|
-
private params;
|
|
9
|
-
constructor(params: ConstructorParams<T>);
|
|
10
|
-
get isLoading(): boolean;
|
|
11
|
-
get hasNext(): boolean;
|
|
12
|
-
next(): Promise<T[]>;
|
|
13
|
-
}
|
|
14
|
-
export {};
|