stream-chat
Version:
JS SDK for the Stream Chat API
32 lines (31 loc) • 1.67 kB
TypeScript
import { BaseSearchSource, type SearchQueryOptions } from './BaseSearchSource';
import type { FilterBuilderOptions } from '../pagination';
import { FilterBuilder } from '../pagination';
import type { Channel } from '../channel';
import type { StreamChat } from '../client';
import type { ChannelFilters, ChannelOptions, ChannelSort } from '../types';
import type { SearchSourceOptions } from './types';
type CustomContext = Record<string, unknown>;
export type ChannelSearchSourceFilterBuilderContext<C extends CustomContext = CustomContext> = {
searchQuery?: string;
} & C;
export type ChannelSearchSourceOptions = SearchSourceOptions & {
/** Static base filters merged under the dynamically generated ones. */
filters?: ChannelFilters;
sort?: ChannelSort;
searchOptions?: Omit<ChannelOptions, 'limit' | 'offset'>;
};
export declare class ChannelSearchSource<TFilterContext extends CustomContext = CustomContext> extends BaseSearchSource<Channel> {
readonly type = "channels";
client: StreamChat;
filters: ChannelFilters | undefined;
sort: ChannelSort | undefined;
searchOptions: Omit<ChannelOptions, 'limit' | 'offset'> | undefined;
filterBuilder: FilterBuilder<ChannelFilters, ChannelSearchSourceFilterBuilderContext<TFilterContext>>;
constructor(client: StreamChat, options?: ChannelSearchSourceOptions, filterBuilderOptions?: FilterBuilderOptions<ChannelFilters, ChannelSearchSourceFilterBuilderContext<TFilterContext>>);
protected query(searchQuery: string, queryOptions?: SearchQueryOptions): Promise<{
items: Channel[];
}>;
protected filterQueryResults(items: Channel[]): Channel[];
}
export {};