UNPKG

stream-chat

Version:

JS SDK for the Stream Chat API

39 lines (34 loc) 1.07 kB
import { BasePaginator } from './BasePaginator'; import type { PaginationQueryParams, PaginationQueryReturnValue, PaginatorOptions, } from './BasePaginator'; import type { ReminderFilters, ReminderResponse, ReminderSort } from '../types'; import type { StreamChat } from '../client'; export class ReminderPaginator extends BasePaginator<ReminderResponse> { private client: StreamChat; filters: ReminderFilters | undefined; sort: ReminderSort | undefined; constructor(client: StreamChat, options?: PaginatorOptions) { super(options); this.client = client; } query = async ({ direction, }: PaginationQueryParams): Promise<PaginationQueryReturnValue<ReminderResponse>> => { const cursor = this.cursor?.[direction]; const { reminders: items, next, prev, } = await this.client.queryReminders({ filter: this.filters, sort: this.sort, limit: this.pageSize, [direction]: cursor, }); return { items, next, prev }; }; filterQueryResults = (items: ReminderResponse[]) => items; }