@itwin/presentation-backend
Version:
Backend of iTwin.js Presentation library
45 lines • 2.6 kB
TypeScript
/** @packageDocumentation
* @module Core
*/
import { Observable } from "rxjs";
import { IModelDb } from "@itwin/core-backend";
import { Id64String } from "@itwin/core-bentley";
import { ContentDescriptorRequestOptions, ContentRequestOptions, Descriptor, Item, KeySet, RulesetVariable } from "@itwin/presentation-common";
/** @internal */
export declare function parseFullClassName(fullClassName: string): [string, string];
/** @internal */
export declare function getContentItemsObservableFromElementIds(imodel: IModelDb, contentDescriptorGetter: (partialProps: Pick<ContentDescriptorRequestOptions<IModelDb, KeySet, RulesetVariable>, "rulesetOrId" | "keys">) => Promise<Descriptor | undefined>, contentSetGetter: (partialProps: Pick<ContentRequestOptions<IModelDb, Descriptor, KeySet, RulesetVariable>, "rulesetOrId" | "keys" | "descriptor">) => Promise<Item[]>, elementIds: Id64String[], classParallelism: number, batchesParallelism: number, batchSize: number): {
itemBatches: Observable<{
descriptor: Descriptor;
items: Item[];
}>;
count: Observable<number>;
};
/** @internal */
export declare function getContentItemsObservableFromClassNames(imodel: IModelDb, contentDescriptorGetter: (partialProps: Pick<ContentDescriptorRequestOptions<IModelDb, KeySet, RulesetVariable>, "rulesetOrId" | "keys">) => Promise<Descriptor | undefined>, contentSetGetter: (partialProps: Pick<ContentRequestOptions<IModelDb, Descriptor, KeySet, RulesetVariable>, "rulesetOrId" | "keys" | "descriptor">) => Promise<Item[]>, elementClasses: string[], classParallelism: number, batchesParallelism: number, batchSize: number): {
itemBatches: Observable<{
descriptor: Descriptor;
items: Item[];
}>;
count: Observable<number>;
};
/**
* Given a sorted list of ECInstanceIds and a batch size, create a stream of batches. Because the IDs won't necessarily
* be sequential, a batch is defined a list of from-to pairs.
* @internal
*/
export declare function createIdBatches(sortedIds: Id64String[], batchSize: number): Observable<Array<{
from: Id64String;
to: Id64String;
}>>;
/**
* Query all ECInstanceIds from given class and stream from-to pairs that batch the items into batches of `batchSize` size.
* @internal
*/
export declare function getBatchedClassElementIds(imodel: IModelDb, fullClassName: string, batchSize: number): Observable<Array<{
from: Id64String;
to: Id64String;
}>>;
/** @internal */
export declare function getElementsCount(db: IModelDb, classNames: string[]): Promise<any>;
//# sourceMappingURL=ElementPropertiesHelper.d.ts.map