UNPKG

@atlaskit/mention

Version:

A React component used to display user profiles in a list for 'Mention' functionality

39 lines (38 loc) 1.55 kB
import { type WithAnalyticsEventsProps } from '@atlaskit/analytics-next'; import { type MentionNameDetails, type MentionNameResolver } from '../types'; import { type MentionNameClient } from './MentionNameClient'; interface Callback { (value: MentionNameDetails): void; } export type { MentionNameResolver } from '../types'; /** A queue for user ids */ type Queue = Map<string, Callback[]>; export declare class DefaultMentionNameResolver implements MentionNameResolver { static waitForBatch: number; private static waitForResolveAll; private client; private nameCache; private nameQueue; private nameStartTime; private processingQueue; private debounce; private debounceOnResolve; private onResolvedAll; private isOnResolvedAllCalled; private fireHydrationEvent; constructor(client: MentionNameClient, analyticsProps?: WithAnalyticsEventsProps, onResolvedAll?: () => void); lookupName(id: string): Promise<MentionNameDetails> | MentionNameDetails; cacheName(id: string, name: string): void; private scheduleProcessQueue; private scheduleOnAllResolved; private isQueueAtLimit; private splitQueueAtLimit; private resolveQueueItem; private processQueue; private fireAnalytics; } /** * Merge the two queues making sure to merge callback arrays for items in queueB already in queueA. * This addresses [this ticket](https://product-fabric.atlassian.net/browse/QS-3789). */ export declare function mergeNameResolverQueues(queueA: Queue, queueB: Queue): Queue;