@itwin/insights-client
Version:
Insights client for the iTwin platform
21 lines • 1.14 kB
TypeScript
import type { PagedResponseLinks } from "../Links";
export interface Collection<TEntity> {
values: Array<TEntity>;
_links: PagedResponseLinks;
}
export interface EntityCollectionPage<TEntity> {
/** Current page entities. */
entities: TEntity[];
/** Function to retrieve the next page of the entities. If `undefined` the current page is last. */
next?: () => Promise<EntityCollectionPage<TEntity>>;
}
export type EntityPageQueryFunc<TEntity> = () => Promise<EntityCollectionPage<TEntity>>;
export declare function flatten<TEntity>(pagedIterator: AsyncIterableIterator<TEntity[]>): AsyncIterableIterator<TEntity>;
export declare function getEntityCollectionPage<TEntity>(nextUrl: string, getNextBatch: (url: string) => Promise<Collection<TEntity>>): Promise<EntityCollectionPage<TEntity>>;
/**
* Loads all entities from an iterator into an array.
* @param {AsyncIterableIterator<TEntity>} iterator entity iterator.
* @returns {Promise<TEntity[]>} entity array.
*/
export declare function toArray<TEntity>(iterator: AsyncIterableIterator<TEntity>): Promise<TEntity[]>;
//# sourceMappingURL=IteratorUtil.d.ts.map