UNPKG

@dmgt/google-ad-manager-api

Version:
41 lines (40 loc) 1.05 kB
import { GetByStatementResponse } from './statement'; export interface PaginateOptions<T> { /** * The "LIMIT" passed to queries */ pageSize?: number; startingOffset?: number; /** * If you want to make sure not to exceed your query quota, * you can apply an interval inbetween each query */ interval?: number; /** * How to execute your query */ executeQuery(limit: number, offset: number): Promise<GetByStatementResponse<T>> | Promise<[GetByStatementResponse<T>, ...any[]]>; } /** * Paginate queries. * * @see {@link PaginateOptions} * @see {@link iterate} * @example * ``` * for await (const page of paginate({ * executeQuery: (limit, offset) => * query( * client, * 'getLineItemsByStatementAsync', * { limit, offset } * ) * })) { * console.info(page.items) * } * ``` */ export declare function paginate<T>({ executeQuery, interval, pageSize, startingOffset, }: PaginateOptions<T>): AsyncGenerator<{ items: T[]; pageNum: number; }>;