@itwin/unified-selection
Version:
Package for managing unified selection in iTwin.js applications.
38 lines • 1.51 kB
TypeScript
import "./DisposePolyfill.js";
import { Observable } from "rxjs";
import { ECSqlBinding, ECSqlQueryDef, ECSqlQueryExecutor, ECSqlQueryReaderOptions, ECSqlQueryRow } from "@itwin/presentation-shared";
/**
* Forms ECSql bindings from given ID's.
* @internal
*/
export declare function formIdBindings(property: string, ids: string[], bindings: ECSqlBinding[]): string;
/**
* Executes given ECSql query and extracts data from rows. Additionally handles main thread releasing.
* @internal
*/
export declare function genericExecuteQuery<T>({ queryExecutor, parseQueryRow, query, config, }: {
queryExecutor: ECSqlQueryExecutor;
query: ECSqlQueryDef;
parseQueryRow: (row: ECSqlQueryRow) => T;
config?: ECSqlQueryReaderOptions;
}): AsyncIterableIterator<T>;
/**
* Emits a certain amount of values, then releases the main thread for other timers to use.
* @internal
*/
export declare function releaseMainThreadOnItemsCount<T>(elementCount: number): (obs: Observable<T>) => Observable<T>;
/**
* A helper that disposes the given object, if it's disposable.
*
* The first option is to dispose using the deprecated `dispose` method if it exists on the object.
* If not, we use the new `Symbol.dispose` method. If that doesn't exist either, the object is
* considered as non-disposable and nothing is done with it.
*
* @internal
*/
export declare function safeDispose(disposable: {} | {
[Symbol.dispose]: () => void;
} | {
dispose: () => void;
}): void;
//# sourceMappingURL=Utils.d.ts.map