UNPKG

stanza-extend

Version:

Modern XMPP in the browser, with a JSON API

28 lines (27 loc) 730 B
import { Paging } from '../protocol/xep0059'; declare type RSMQuery<T> = (page: Paging) => Promise<{ results: T[]; paging: Paging; }>; interface RSMOptions<T> { pageSize?: number; direction?: 'forward' | 'backward'; reverse?: boolean; before?: string; after?: string; max?: number; query: RSMQuery<T>; } export declare class ResultSetPager<T> { private query; private cursor; private direction; private reverse; private pageSize; constructor(opts: RSMOptions<T>); [Symbol.asyncIterator](): AsyncGenerator<T>; size(): Promise<number | undefined>; private fetchPage; } export declare function createPager<T>(opts: RSMOptions<T>): ResultSetPager<T>; export {};