@openim/client-sdk
Version:
JavaScript/TypeScript Client SDK for OpenIM
26 lines (25 loc) • 1.2 kB
TypeScript
import { MixinApiService } from '../..';
import { SdkWsProto } from '@openim/protocol';
declare class GroupCache {
private instance;
private cachedGroups;
private cachedGroupMembers;
private cachedGroupMembersID;
constructor(instance: MixinApiService);
clear(): void;
getGroupMembersID: (groupID: string, operationID: string) => Promise<void>;
getGroupInfosWithCache: (groupIDs: string[], operationID: string) => Promise<SdkWsProto.GroupInfo[]>;
getGroupMembersWithCache: ({ groupID, userIDList, operationID, }: {
groupID: string;
userIDList?: string[];
operationID: string;
}) => Promise<SdkWsProto.GroupMemberFullInfo[]>;
updateCachedGroups: (groups: SdkWsProto.GroupInfo[]) => void;
updateCachedGroupMembers: (members: SdkWsProto.GroupMemberFullInfo[]) => void;
clearCachedGroupMembers: (groupID: string) => void;
hasCachedGroupMembersID: (groupID: string) => boolean;
getCachedGroupMembersID: (groupID: string) => string[];
tryAddCachedGroupMembersID: (groupID: string, userIDs: string[]) => void;
tryDeleteCachedGroupMembersID: (groupID: string, userIDs: string[]) => void;
}
export default GroupCache;