@bentley/imodeljs-native 3.0.7 → 3.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/BlobDaemon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"BlobDaemon.js","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport * as child_process from \"child_process\";\r\nimport * as fs from \"fs\";\r\nimport * as os from \"os\";\r\nimport * as path from \"path\";\r\nimport { DbResult } from \"@bentley/bentleyjs-core\";\r\nimport { NativeLibrary } from \"./NativeLibrary\";\r\n\r\n// cspell:ignore polltime blocksize cachesize notimestamps deletetime gctime retrytime nwrite ndelete\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** Error values for negative numbers returned by the BlobDaemon `attach` command. */\r\nexport const enum DaemonAttachError {\r\n INVALID_DAEMON_DIRECTORY = -1, DAEMON_NOT_ACTIVE = -2, SOCKET_ERROR = -3,\r\n}\r\n\r\n/** Possible values for `command` argument of `BlobDaemon.command` method. */\r\nexport type BlobDaemonCommand = \"attach\" | \"detach\" | \"create\" | \"destroy\" | \"upload\" | \"download\" | \"delete\" | \"copy\";\r\n\r\n/** Properties for accessing BlockCache directory and cloud storage. */\r\nexport interface BlobCacheProps {\r\n /** blob storage module: e.g. \"azure\", \"google\", \"aws\". May also include URI style parameters. */\r\n storageType: string;\r\n /** blob store account name. */\r\n user: string;\r\n /** full path of directory for daemon to store its files. Must be on fast local drive. */\r\n daemonDir?: string;\r\n /** block size, in megabytes used by CREATE command. Default is 4MB. */\r\n blockSizeMb?: number;\r\n}\r\n\r\n/** Properties for creating a new instance of the BlockCache daemon process. */\r\nexport interface DaemonProps {\r\n /** full path name of daemon.exe file. Default is to find \"BeBlobDaemon.exe\" in the same directory as this library. */\r\n exePath?: string;\r\n /** daemon connection address. Default is \"127.0.0.1\" */\r\n addr?: string;\r\n /** port number. Default 22002 */\r\n portNumber?: number;\r\n /** maximum cache Size. Must be a number followed by either M (for megabytes) or G (for gigabytes.) Default is 1G */\r\n maxCacheSize?: string;\r\n /** How often cloud storage is polled for database changes made by other daemon processes, in seconds. Default is 60. */\r\n pollTime?: number;\r\n /** How long an overwritten block is allowed to persist before it is permanently deleted, in seconds. Default is 3600. */\r\n deleteTime?: number;\r\n /** How often each daemon process scans for and deletes such garbage files, in seconds. Default is 3600. */\r\n gcTime?: number;\r\n /** How long after a failed checkpoint-to-upload operation the daemon process waits before retrying, in seconds. Default=10. */\r\n retryTime?: number;\r\n /** The maximum number of concurrent uploads (PUT requests) the daemon will make when uploading a new version of a database to cloud storage. Default=10. */\r\n nWrites?: number;\r\n /** The maximum number of concurrent deletes (DELETE requests) the daemon will make when uploading a new version of a database. Default=10. */\r\n nDeletes?: number;\r\n /** If true, unmodified cache entries are retained across runs of the daemon. Default=false. */\r\n persistAcrossSessions?: boolean;\r\n /** logging options */\r\n log?: string;\r\n /** if true, don't include timestamps in log messages */\r\n noTimeStamps?: boolean;\r\n /** if true, create local files only when first accessed. Default=false. */\r\n lazy?: boolean;\r\n /** if true, extra space for nonces is not reserved and no nonce values are used for encrypted pages. Default=false. */\r\n noNonce?: boolean;\r\n /** options for spawn */\r\n spawnOptions?: child_process.SpawnOptions;\r\n}\r\n\r\n/** The name and key for a blob container */\r\nexport interface BlobContainerProps {\r\n /** the name of the container. */\r\n container: string;\r\n /** SAS key that grants access to the container. */\r\n auth: string;\r\n /** if true, container is attached with write permissions. */\r\n writeable?: boolean;\r\n /** if true, container is attached in \"secure\" mode (encrypts blocks in cachefile). */\r\n secure?: boolean;\r\n}\r\n\r\n/** Properties for uploading, downloading, copying, or deleting a database, by its alias, within a BlobContainer. */\r\nexport interface BlobDbProps {\r\n /** The alias of the database within the container */\r\n dbAlias: string;\r\n /** local file name. Applies only to `upload` and `download` commands. */\r\n localFile?: string;\r\n /** A new alias, used only for the `copy` command */\r\n toAlias?: string;\r\n /** progress callback for `upload` and `download` commands. Return non-zero to abort operation. */\r\n onProgress?: (nDone: number, nTotal: number) => number;\r\n}\r\n\r\n/** Optional arguments for Db upload and download commands. */\r\nexport interface UploadDownloadArgs {\r\n /** The number of simultaneous HTTP requests. */\r\n nRequests?: number;\r\n}\r\n\r\nexport type BlobDaemonCommandArg = BlobDbProps & BlobCacheProps & BlobContainerProps & UploadDownloadArgs;\r\n\r\nexport class BlobDaemon {\r\n private static exeName(props: DaemonProps) {\r\n return props.exePath ?? path.join(path.dirname(require.resolve(NativeLibrary.libraryName)), os.platform() === \"win32\" ? \"BeBlobDaemon.exe\" : \"BeBlobDaemon\");\r\n }\r\n public static daemonDir(props: BlobCacheProps) {\r\n return props.daemonDir ?? path.join(NativeLibrary.defaultCacheDir, \"blob-daemon\");\r\n }\r\n\r\n /** Start the BlobDaemon process using the supplied properties. The process will be detached from the current process. */\r\n public static start(props: DaemonProps & BlobCacheProps): child_process.ChildProcess {\r\n const dir = this.daemonDir(props);\r\n fs.mkdirSync(dir, { recursive: true }); // make sure the directory exists before starting the daemon\r\n\r\n const args = [`daemon`, `-module`, `${props.storageType}`, `-user`, `${props.user}`, `-directory`, `${dir}`, `-polltime`, `${props.pollTime ?? 60}`];\r\n if (props.addr !== undefined)\r\n args.push(`-addr`, `${props.addr}`);\r\n if (props.portNumber !== undefined)\r\n args.push(`-port`, `${props.portNumber}`);\r\n if (props.maxCacheSize)\r\n args.push(`-cachesize`, `${props.maxCacheSize}`);\r\n if (props.log)\r\n args.push(`-log`, `${props.log}`);\r\n if (props.deleteTime !== undefined)\r\n args.push(`-deletetime`, `${props.deleteTime}`);\r\n if (props.gcTime !== undefined)\r\n args.push(`-gctime`, `${props.gcTime}`);\r\n if (props.retryTime !== undefined)\r\n args.push(`-retrytime`, `${props.retryTime}`);\r\n if (props.nWrites !== undefined)\r\n args.push(`-nwrite`, `${props.nWrites}`);\r\n if (props.nDeletes !== undefined)\r\n args.push(`-ndelete`, `${props.nDeletes}`);\r\n if (props.noTimeStamps)\r\n args.push(`-notimestamps`);\r\n if (props.persistAcrossSessions)\r\n args.push(`-persistent`);\r\n if (props.lazy)\r\n args.push(`-lazy`);\r\n if (props.noNonce)\r\n args.push(`-nononce`);\r\n return child_process.spawn(this.exeName(props), args, { ...props.spawnOptions, windowsVerbatimArguments: true });\r\n }\r\n\r\n /** Get the full path to the local file that can be used to open a BlobDb. For the file to exist, you must first issue the \"attach\" command. */\r\n public static getDbFileName(props: BlobDaemonCommandArg) {\r\n return path.join(this.daemonDir(props), props.container, props.dbAlias);\r\n }\r\n\r\n /** Perform one of the BlobDaemon commands.\r\n * @param command The BlobDaemon command to run.\r\n * @param args arguments to the command.\r\n * @return `Promise<{ result, errMsg }>` the meaning of result varies by command, but 0 always means success. For `attach`, negative values are\r\n * `DaemonAttachError`, positive numbers below 400 are `SQLITE_xxx` errors, and values 400 and above are HTTP errors.\r\n * `errMsg` is blank on success, but an english message useful for diagnostics otherwise.\r\n */\r\n public static async command(command: BlobDaemonCommand, args: BlobDaemonCommandArg): Promise<{ result: DaemonAttachError | DbResult | number, errMsg: string }> {\r\n const fullArgs = { ...args };\r\n fullArgs.daemonDir = fullArgs.daemonDir ?? this.daemonDir(args);\r\n return NativeLibrary.nativeLib.runDaemonCommand(command, fullArgs);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BlobDaemon.js","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport * as child_process from \"child_process\";\r\nimport * as fs from \"fs\";\r\nimport * as os from \"os\";\r\nimport * as path from \"path\";\r\nimport { DbResult } from \"@bentley/bentleyjs-core\";\r\nimport { NativeLibrary } from \"./NativeLibrary\";\r\n\r\n// cspell:ignore polltime blocksize cachesize notimestamps deletetime gctime retrytime nwrite ndelete\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** Error values for negative numbers returned by the BlobDaemon `attach` command. */\r\nexport const enum DaemonAttachError {\r\n INVALID_DAEMON_DIRECTORY = -1, DAEMON_NOT_ACTIVE = -2, SOCKET_ERROR = -3,\r\n}\r\n\r\n/** Possible values for `command` argument of `BlobDaemon.command` method. */\r\nexport type BlobDaemonCommand = \"attach\" | \"detach\" | \"create\" | \"destroy\" | \"upload\" | \"download\" | \"delete\" | \"copy\";\r\n\r\n/** Properties for accessing BlockCache directory and cloud storage. */\r\nexport interface BlobCacheProps {\r\n /** blob storage module: e.g. \"azure\", \"google\", \"aws\". May also include URI style parameters. */\r\n storageType: string;\r\n /** blob store account name. */\r\n user: string;\r\n /** full path of directory for daemon to store its files. Must be on fast local drive. */\r\n daemonDir?: string;\r\n /** block size, in megabytes used by CREATE command. Default is 4MB. */\r\n blockSizeMb?: number;\r\n}\r\n\r\n/** Properties for creating a new instance of the BlockCache daemon process. */\r\nexport interface DaemonProps {\r\n /** full path name of daemon.exe file. Default is to find \"BeBlobDaemon.exe\" in the same directory as this library. */\r\n exePath?: string;\r\n /** daemon connection address. Default is \"127.0.0.1\" */\r\n addr?: string;\r\n /** port number. Default 22002 */\r\n portNumber?: number;\r\n /** maximum cache Size. Must be a number followed by either M (for megabytes) or G (for gigabytes.) Default is 1G */\r\n maxCacheSize?: string;\r\n /** How often cloud storage is polled for database changes made by other daemon processes, in seconds. Default is 60. */\r\n pollTime?: number;\r\n /** How long an overwritten block is allowed to persist before it is permanently deleted, in seconds. Default is 3600. */\r\n deleteTime?: number;\r\n /** How often each daemon process scans for and deletes such garbage files, in seconds. Default is 3600. */\r\n gcTime?: number;\r\n /** How long after a failed checkpoint-to-upload operation the daemon process waits before retrying, in seconds. Default=10. */\r\n retryTime?: number;\r\n /** The maximum number of concurrent uploads (PUT requests) the daemon will make when uploading a new version of a database to cloud storage. Default=10. */\r\n nWrites?: number;\r\n /** The maximum number of concurrent deletes (DELETE requests) the daemon will make when uploading a new version of a database. Default=10. */\r\n nDeletes?: number;\r\n /** If true, unmodified cache entries are retained across runs of the daemon. Default=false. */\r\n persistAcrossSessions?: boolean;\r\n /** logging options */\r\n log?: string;\r\n /** if true, don't include timestamps in log messages */\r\n noTimeStamps?: boolean;\r\n /** if true, create local files only when first accessed. Default=false. */\r\n lazy?: boolean;\r\n /** if true, extra space for nonces is not reserved and no nonce values are used for encrypted pages. Default=false. */\r\n noNonce?: boolean;\r\n /** options for spawn */\r\n spawnOptions?: child_process.SpawnOptions;\r\n}\r\n\r\n/** The name and key for a blob container */\r\nexport interface BlobContainerProps {\r\n /** the name of the container. */\r\n container: string;\r\n /** SAS key that grants access to the container. */\r\n auth: string;\r\n /** if true, container is attached with write permissions. */\r\n writeable?: boolean;\r\n /** if true, container is attached in \"secure\" mode (encrypts blocks in cachefile). */\r\n secure?: boolean;\r\n}\r\n\r\n/** Properties for uploading, downloading, copying, or deleting a database, by its alias, within a BlobContainer. */\r\nexport interface BlobDbProps {\r\n /** The alias of the database within the container */\r\n dbAlias: string;\r\n /** local file name. Applies only to `upload` and `download` commands. */\r\n localFile?: string;\r\n /** A new alias, used only for the `copy` command */\r\n toAlias?: string;\r\n /** progress callback for `upload` and `download` commands. Return non-zero to abort operation. */\r\n onProgress?: (nDone: number, nTotal: number) => number;\r\n}\r\n\r\n/** Optional arguments for Db upload and download commands. */\r\nexport interface UploadDownloadArgs {\r\n /** The number of simultaneous HTTP requests. */\r\n nRequests?: number;\r\n}\r\n\r\nexport type BlobDaemonCommandArg = BlobDbProps & BlobCacheProps & BlobContainerProps & UploadDownloadArgs;\r\n\r\nexport class BlobDaemon {\r\n private static exeName(props: DaemonProps) {\r\n return props.exePath ?? path.join(path.dirname(require.resolve(NativeLibrary.libraryName)), os.platform() === \"win32\" ? \"BeBlobDaemon.exe\" : \"BeBlobDaemon\");\r\n }\r\n public static daemonDir(props: BlobCacheProps) {\r\n return props.daemonDir ?? path.join(NativeLibrary.defaultCacheDir, \"blob-daemon\");\r\n }\r\n\r\n /** Start the BlobDaemon process using the supplied properties. The process will be detached from the current process. */\r\n public static start(props: DaemonProps & BlobCacheProps): child_process.ChildProcess {\r\n const dir = this.daemonDir(props);\r\n fs.mkdirSync(dir, { recursive: true }); // make sure the directory exists before starting the daemon\r\n\r\n const args = [`daemon`, `-module`, `${props.storageType}`, `-user`, `${props.user}`, `-directory`, `${dir}`, `-polltime`, `${props.pollTime ?? 60}`];\r\n if (props.addr !== undefined)\r\n args.push(`-addr`, `${props.addr}`);\r\n if (props.portNumber !== undefined)\r\n args.push(`-port`, `${props.portNumber}`);\r\n if (props.maxCacheSize)\r\n args.push(`-cachesize`, `${props.maxCacheSize}`);\r\n if (props.log)\r\n args.push(`-log`, `${props.log}`);\r\n if (props.deleteTime !== undefined)\r\n args.push(`-deletetime`, `${props.deleteTime}`);\r\n if (props.gcTime !== undefined)\r\n args.push(`-gctime`, `${props.gcTime}`);\r\n if (props.retryTime !== undefined)\r\n args.push(`-retrytime`, `${props.retryTime}`);\r\n if (props.nWrites !== undefined)\r\n args.push(`-nwrite`, `${props.nWrites}`);\r\n if (props.nDeletes !== undefined)\r\n args.push(`-ndelete`, `${props.nDeletes}`);\r\n if (props.noTimeStamps)\r\n args.push(`-notimestamps`);\r\n if (props.persistAcrossSessions)\r\n args.push(`-persistent`);\r\n if (props.lazy)\r\n args.push(`-lazy`);\r\n if (props.noNonce)\r\n args.push(`-nononce`);\r\n return child_process.spawn(this.exeName(props), args, { ...props.spawnOptions, windowsVerbatimArguments: true });\r\n }\r\n\r\n /** Get the full path to the local file that can be used to open a BlobDb. For the file to exist, you must first issue the \"attach\" command. */\r\n public static getDbFileName(props: BlobDaemonCommandArg) {\r\n return path.join(this.daemonDir(props), props.container, props.dbAlias);\r\n }\r\n\r\n /** Perform one of the BlobDaemon commands.\r\n * @param command The BlobDaemon command to run.\r\n * @param args arguments to the command.\r\n * @return `Promise<{ result, errMsg }>` the meaning of result varies by command, but 0 always means success. For `attach`, negative values are\r\n * `DaemonAttachError`, positive numbers below 400 are `SQLITE_xxx` errors, and values 400 and above are HTTP errors.\r\n * `errMsg` is blank on success, but an english message useful for diagnostics otherwise.\r\n */\r\n public static async command(command: BlobDaemonCommand, args: BlobDaemonCommandArg): Promise<{ result: DaemonAttachError | DbResult | number, errMsg: string }> {\r\n const fullArgs = { ...args };\r\n fullArgs.daemonDir = fullArgs.daemonDir ?? this.daemonDir(args);\r\n return NativeLibrary.nativeLib.runDaemonCommand(command, fullArgs);\r\n }\r\n}\r\n"]}
@@ -1,6 +1,6 @@
1
- import { BentleyStatus, ChangeSetApplyOption, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger, OpenMode, RepositoryStatus, StatusCodeWithMessage } from "@bentley/bentleyjs-core";
1
+ import { BentleyStatus, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger, OpenMode, RepositoryStatus, StatusCodeWithMessage } from "@bentley/bentleyjs-core";
2
2
  import { Range3dProps } from "@bentley/geometry-core";
3
- import { CreateEmptyStandaloneIModelProps, ElementAspectProps, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, FilePropertyProps, FontMapProps, FontProps, GeometryContainmentResponseProps, IModelEncryptionProps, IModelProps, MassPropertiesResponseProps, ModelLoadProps, ModelProps, QueryLimit, QueryPriority, QueryQuota, RelationshipProps, SnapshotOpenOptions, TextureLoadProps, TileVersionInfo, UpgradeOptions } from "@bentley/imodeljs-common";
3
+ import { ChangesetIndexAndId, CreateEmptyStandaloneIModelProps, ElementAspectProps, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, FilePropertyProps, FontMapProps, FontProps, GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, GeometryContainmentResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelEncryptionProps, IModelProps, MassPropertiesResponseProps, ModelLoadProps, ModelProps, QueryLimit, QueryPriority, QueryQuota, RelationshipProps, SnapshotOpenOptions, TextureData, TextureLoadProps, TileVersionInfo, UpgradeOptions } from "@bentley/imodeljs-common";
4
4
  import { BlobDaemonCommandArg } from "./BlobDaemon";
5
5
  /** Logger categories used by the native addon
6
6
  * @internal
@@ -254,7 +254,7 @@ export declare namespace IModelJsNative {
254
254
  abandonChanges(): DbResult;
255
255
  abandonCreateChangeset(): void;
256
256
  addChildPropagatesChangesToParentRelationship(schemaName: string, relClassName: string): BentleyStatus;
257
- applyChangeset(changeSet: ChangesetFileProps, processOption: ChangeSetApplyOption): void;
257
+ applyChangeset(changeSet: ChangesetFileProps): void;
258
258
  attachChangeCache(changeCachePath: string): DbResult;
259
259
  beginMultiTxnOperation(): DbResult;
260
260
  beginPurgeOperation(): IModelStatus;
@@ -266,14 +266,14 @@ export declare namespace IModelJsNative {
266
266
  classIdToName(idString: string): string;
267
267
  classNameToId(className: string): Id64String;
268
268
  closeIModel(): void;
269
+ completeCreateChangeset(arg: {
270
+ index: number;
271
+ }): void;
269
272
  computeProjectExtents(wantFullExtents: boolean, wantOutlierIds: boolean): {
270
273
  extents: Range3dProps;
271
274
  fullExtents?: Range3dProps;
272
275
  outliers?: Id64Array;
273
276
  };
274
- completeCreateChangeset(arg: {
275
- index: number;
276
- }): void;
277
277
  concurrentQueryInit(config: ConcurrentQuery.Config): boolean;
278
278
  createBRepGeometry(createProps: any): DbResult;
279
279
  createChangeCache(changeCacheFile: ECDb, changeCachePath: string): DbResult;
@@ -288,6 +288,7 @@ export declare namespace IModelJsNative {
288
288
  detachChangeCache(): number;
289
289
  dumpChangeset(changeSet: ChangesetFileProps): void;
290
290
  embedFont(fontProps: FontProps): FontProps;
291
+ enableChangesetSizeStats(enabled: boolean): DbResult;
291
292
  enableTxnTesting(): void;
292
293
  endMultiTxnOperation(): DbResult;
293
294
  endPurgeOperation(): IModelStatus;
@@ -301,29 +302,26 @@ export declare namespace IModelJsNative {
301
302
  findGeometryPartReferences(partIds: Id64String[], is2d: boolean): Id64String[];
302
303
  generateElementGraphics(request: ElementGraphicsRequestProps): Promise<ElementGraphicsResult>;
303
304
  getBriefcaseId(): number;
304
- getChangeTrackingMemoryUsed(): number;
305
305
  getChangesetSize(): number;
306
- enableChangesetSizeStats(enabled: boolean): DbResult;
306
+ getChangeTrackingMemoryUsed(): number;
307
+ getCurrentChangeset(): ChangesetIndexAndId;
307
308
  getCurrentTxnId(): TxnIdString;
308
- getDbGuid(): GuidString;
309
309
  getECClassMetaData(schema: string, className: string): ErrorStatusOrResult<IModelStatus, string>;
310
310
  getElement(opts: ElementLoadProps): ElementProps;
311
311
  getFilePath(): string;
312
- getGeoCoordinatesFromIModelCoordinates(points: string): string;
313
- getGeometryContainment(props: string, callback: (result: ErrorStatusOrResult<IModelStatus, GeometryContainmentResponseProps>) => void): void;
314
- getIModelCoordinatesFromGeoCoordinates(points: string): string;
315
- getIModelProps(): string;
316
- getMassProperties(props: string, callback: (result: ErrorStatusOrResult<IModelStatus, MassPropertiesResponseProps>) => void): void;
312
+ getGeoCoordinatesFromIModelCoordinates(points: GeoCoordinatesRequestProps): GeoCoordinatesResponseProps;
313
+ getGeometryContainment(props: object): Promise<GeometryContainmentResponseProps>;
314
+ getIModelCoordinatesFromGeoCoordinates(points: IModelCoordinatesRequestProps): IModelCoordinatesResponseProps;
315
+ getIModelId(): GuidString;
316
+ getIModelProps(): IModelProps;
317
+ getITwinId(): GuidString;
318
+ getMassProperties(props: object): Promise<MassPropertiesResponseProps>;
317
319
  getModel(opts: ModelLoadProps): ModelProps;
318
320
  getMultiTxnOperationDepth(): number;
319
- getParentChangeset(): {
320
- id: string;
321
- index: number | undefined;
322
- };
323
321
  getRedoString(): string;
324
322
  getSchema(name: string): ErrorStatusOrResult<IModelStatus, string>;
325
323
  getSchemaItem(schemaName: string, itemName: string): ErrorStatusOrResult<IModelStatus, string>;
326
- getTextureImage(opts: TextureLoadProps, callback: (result: Uint8Array | undefined | Error) => void): void;
324
+ queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;
327
325
  getTempFileBaseName(): string;
328
326
  getTileContent(treeId: string, tileId: string, callback: (result: ErrorStatusOrResult<IModelStatus, Uint8Array>) => void): void;
329
327
  getTileTree(id: string, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;
@@ -336,10 +334,13 @@ export declare namespace IModelJsNative {
336
334
  importSchemas(schemaFileNames: string[]): DbResult;
337
335
  importXmlSchemas(serializedXmlSchemas: string[]): DbResult;
338
336
  inBulkOperation(): boolean;
339
- insertCodeSpec(name: string, jsonProperties: string): ErrorStatusOrResult<IModelStatus, string>;
337
+ insertCodeSpec(name: string, jsonProperties: {
338
+ spec: any;
339
+ scopeSpec: any;
340
+ }): Id64String;
340
341
  insertElement(elemProps: ElementProps): Id64String;
341
342
  insertElementAspect(aspectProps: ElementAspectProps): void;
342
- insertLinkTableRelationship(props: RelationshipProps): ErrorStatusOrResult<DbResult, string>;
343
+ insertLinkTableRelationship(props: RelationshipProps): Id64String;
343
344
  insertModel(modelProps: ModelProps): Id64String;
344
345
  isChangeCacheAttached(): boolean;
345
346
  isEncrypted(): boolean;
@@ -372,11 +373,14 @@ export declare namespace IModelJsNative {
372
373
  queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;
373
374
  queryFirstTxnId(): TxnIdString;
374
375
  queryLocalValue(name: string): string | undefined;
375
- queryModelExtents(options: string): ErrorStatusOrResult<IModelStatus, string>;
376
+ queryModelExtents(options: {
377
+ id: Id64String;
378
+ }): {
379
+ modelExtents: Range3dProps;
380
+ };
376
381
  queryNextAvailableFileProperty(props: FilePropertyProps): number;
377
382
  queryNextTxnId(txnId: TxnIdString): TxnIdString;
378
383
  queryPreviousTxnId(txnId: TxnIdString): TxnIdString;
379
- queryProjectGuid(): GuidString;
380
384
  readFontMap(): FontMapProps;
381
385
  reinstateTxn(): IModelStatus;
382
386
  resetBriefcaseId(idValue: number): void;
@@ -388,28 +392,30 @@ export declare namespace IModelJsNative {
388
392
  saveChanges(description?: string): DbResult;
389
393
  saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): void;
390
394
  saveLocalValue(name: string, value: string | undefined): void;
391
- saveProjectGuid(guid: GuidString): DbResult;
392
395
  schemaToXmlString(schemaName: string, version?: ECVersion): string | undefined;
393
396
  setBriefcaseManagerOptimisticConcurrencyControlPolicy(conflictPolicy: BriefcaseManagerOnConflictPolicy): RepositoryStatus;
394
397
  setBriefcaseManagerPessimisticConcurrencyControlPolicy(): RepositoryStatus;
395
- setDbGuid(guid: GuidString): DbResult;
396
- startProfiler(scopeName?: string, scenarioName?: string, overrideFile?: boolean, computeExecutionPlan?: boolean): DbResult;
397
- stopProfiler(): {
398
- rc: DbResult;
399
- elapsedTime?: number;
400
- scopeId?: number;
401
- fileName?: string;
402
- };
403
398
  /** Attempts to enable or disable tracking of changes to geometric models.
404
399
  * @returns ErrorStatusOrResult, with `result` as a boolean indicating whether tracking is now enabled as a result of this call; or with `error` as `IModelStatus.Readonly` or `IModelStatus.VersionTooOld` if tracking is not supported.
405
400
  * @see isGeometricModelTrackingSupported.
406
401
  */
407
402
  setGeometricModelTrackingEnabled(enabled: boolean): ErrorStatusOrResult<IModelStatus, boolean>;
408
403
  setIModelDb(iModelDb?: any): void;
404
+ setIModelId(guid: GuidString): DbResult;
405
+ setITwinId(guid: GuidString): DbResult;
409
406
  simplifyElementGeometry(simplifyArgs: any): DbResult;
410
407
  startCreateChangeset(): ChangesetFileProps;
408
+ startProfiler(scopeName?: string, scenarioName?: string, overrideFile?: boolean, computeExecutionPlan?: boolean): DbResult;
409
+ stopProfiler(): {
410
+ rc: DbResult;
411
+ elapsedTime?: number;
412
+ scopeId?: number;
413
+ fileName?: string;
414
+ };
411
415
  updateElement(elemProps: ElementProps): void;
412
416
  updateElementAspect(aspectProps: ElementAspectProps): void;
417
+ updateElementGeometryCache(props: object): Promise<any>;
418
+ elementGeometryCacheOperation(requestProps: any): BentleyStatus;
413
419
  updateGeometryStream(updateProps: any): DbResult;
414
420
  updateIModelProps(props: IModelProps): void;
415
421
  updateLinkTableRelationship(props: RelationshipProps): DbResult;
@@ -417,12 +423,13 @@ export declare namespace IModelJsNative {
417
423
  updateModelGeometryGuid(modelId: Id64String): IModelStatus;
418
424
  updateProjectExtents(newExtentsJson: string): void;
419
425
  uploadDaemonBlobs(): DbResult;
420
- writeFullElementDependencyGraphToFile(dotFileName: string): BentleyStatus;
421
426
  writeAffectedElementDependencyGraphToFile(dotFileName: string, changedElems: Id64Array): BentleyStatus;
427
+ writeFullElementDependencyGraphToFile(dotFileName: string): BentleyStatus;
422
428
  static enableSharedCache(enable: boolean): DbResult;
423
429
  static encryptDb(dbFileName: string, encryptionProps: IModelEncryptionProps): void;
424
430
  static getAssetsDir(): string;
425
431
  static vacuum(dbName: string, pageSize?: number): void;
432
+ static flushLog(): void;
426
433
  }
427
434
  /**
428
435
  * RevisionUtility help with debugging and testing
@@ -483,7 +490,7 @@ export declare namespace IModelJsNative {
483
490
  getBinder(param: number | string): ECSqlBinder;
484
491
  getColumnCount(): number;
485
492
  getValue(columnIndex: number): ECSqlValue;
486
- prepare(db: DgnDb | ECDb, ecsql: string): StatusCodeWithMessage<DbResult>;
493
+ prepare(db: DgnDb | ECDb, ecsql: string, logErrors?: boolean): StatusCodeWithMessage<DbResult>;
487
494
  reset(): DbResult;
488
495
  step(): DbResult;
489
496
  stepAsync(callback: (result: DbResult) => void): void;
@@ -602,7 +609,7 @@ export declare namespace IModelJsNative {
602
609
  getValueString(columnIndex: number): string;
603
610
  isReadonly(): boolean;
604
611
  isValueNull(columnIndex: number): boolean;
605
- prepare(db: DgnDb | ECDb | SQLiteDb, sql: string): void;
612
+ prepare(db: DgnDb | ECDb | SQLiteDb, sql: string, logErrors?: boolean): void;
606
613
  reset(): DbResult;
607
614
  step(): DbResult;
608
615
  stepAsync(callback: (result: DbResult) => void): void;
@@ -652,7 +659,7 @@ export declare namespace IModelJsNative {
652
659
  }
653
660
  class ECPresentationManager implements IDisposable {
654
661
  constructor(props: ECPresentationManagerProps);
655
- forceLoadSchemas(db: DgnDb, callback: (result: ECPresentationManagerResponse<void>) => void): void;
662
+ forceLoadSchemas(db: DgnDb): Promise<ECPresentationManagerResponse<void>>;
656
663
  setupRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;
657
664
  setupSupplementalRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;
658
665
  setRulesetVariableValue(rulesetId: string, variableId: string, type: string, value: any): ECPresentationManagerResponse<void>;
@@ -693,7 +700,7 @@ export declare namespace IModelJsNative {
693
700
  }
694
701
  class SnapRequest {
695
702
  constructor();
696
- doSnap(db: DgnDb, request: any, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;
703
+ doSnap(db: DgnDb, request: any): Promise<any>;
697
704
  cancelSnap(): void;
698
705
  }
699
706
  class DownloadV2Checkpoint {
@@ -867,8 +874,8 @@ export declare namespace IModelJsNative {
867
874
  Aborted = 6
868
875
  }
869
876
  class TestWorker {
870
- constructor(db: DgnDb, callback: () => void);
871
- queue(): void;
877
+ constructor(db: DgnDb);
878
+ queue(): Promise<void>;
872
879
  cancel(): void;
873
880
  setReady(): void;
874
881
  setThrow(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeLibrary.d.ts","sourceRoot":"","sources":["../src/NativeLibrary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeLibrary.d.ts","sourceRoot":"","sources":["../src/NativeLibrary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NativeLibrary.js","sourceRoot":"","sources":["../src/NativeLibrary.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,yBAAyB;AACzB,6BAA6B;AAa7B,+DAA+D;AAE/D,8KAA8K;AAC9K,8DAA8D;AAE9D;;GAEG;AACH,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;IACrB,+CAAuB,CAAA;IACvB,2CAAmB,CAAA;IACnB,qCAAa,CAAA;IACb,2DAAmC,CAAA;IACnC,mDAA2B,CAAA;AAC7B,CAAC,EARW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAQ/B;AAED,kDAAkD;AAClD,MAAa,aAAa;IACjB,MAAM,KAAK,QAAQ;QACxB,mDAAmD;QACnD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAChG,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,OAAO,YAAY,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IACM,MAAM,KAAK,aAAa,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvG,CAAC;IACM,MAAM,KAAK,eAAe;QAC/B,IAAI,OAAe,CAAC;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAY,CAAC;QACzC,QAAQ,QAAQ,EAAE;YAChB,KAAK,OAAO;gBACV,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACvC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,KAAK,SAAS,KAAK,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI;;QAChB,aAAO,IAAI,CAAC,UAAU,mCAAI,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAA0B,CAAC,CAAC,CAAC,yDAAyD;IACtK,CAAC;CACF;AArCD,sCAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as os from \"os\";\r\nimport * as path from \"path\";\r\nimport {\r\n BentleyStatus, ChangeSetApplyOption, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger,\r\n OpenMode, RepositoryStatus, StatusCodeWithMessage,\r\n} from \"@bentley/bentleyjs-core\";\r\nimport { Range3dProps } from \"@bentley/geometry-core\";\r\nimport {\r\n CreateEmptyStandaloneIModelProps, ElementAspectProps, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, FilePropertyProps, FontMapProps,\r\n FontProps, GeometryContainmentResponseProps, IModelEncryptionProps, IModelProps, MassPropertiesResponseProps, ModelLoadProps, ModelProps, QueryLimit, QueryPriority, QueryQuota, RelationshipProps,\r\n SnapshotOpenOptions, TextureLoadProps, TileVersionInfo, UpgradeOptions,\r\n} from \"@bentley/imodeljs-common\";\r\nimport { BlobDaemonCommandArg } from \"./BlobDaemon\";\r\n\r\n// *** NOTE: DO NOT add dependencies on any other packages! ***\r\n\r\n// cspell:ignore blocksize cachesize polltime bentleyjs imodeljs ecsql pollable polyface txns lzma uncompress changesets ruleset ulas oidc keychain libsecret rulesets struct\r\n/* eslint-disable @bentley/prefer-get, no-restricted-syntax */\r\n\r\n/** Logger categories used by the native addon\r\n * @internal\r\n */\r\nexport enum NativeLoggerCategory {\r\n BeSQLite = \"BeSQLite\",\r\n BRepCore = \"BRepCore\",\r\n Changeset = \"Changeset\",\r\n DgnCore = \"DgnCore\",\r\n ECDb = \"ECDb\",\r\n ECObjectsNative = \"ECObjectsNative\",\r\n UnitsNative = \"UnitsNative\",\r\n}\r\n\r\n/** Find and load the native node-addon library */\r\nexport class NativeLibrary {\r\n public static get archName() {\r\n // We make sure we are running in a known platform.\r\n if (typeof process === \"undefined\" || process.platform === undefined || process.arch === undefined)\r\n throw new Error(\"Error - unknown process\");\r\n return `imodeljs-${process.platform}-${process.arch}`;\r\n }\r\n public static get nodeAddonName() { return \"imodeljs.node\"; }\r\n public static get libraryName() {\r\n return path.join(\"@bentley\", \"imodeljs-native\", NativeLibrary.archName, NativeLibrary.nodeAddonName);\r\n }\r\n public static get defaultCacheDir(): string {\r\n let baseDir: string;\r\n const homedir = os.homedir();\r\n const platform = os.platform() as string;\r\n switch (platform) {\r\n case \"win32\":\r\n baseDir = path.join(homedir, \"AppData\", \"Local\");\r\n break;\r\n case \"darwin\":\r\n case \"ios\":\r\n baseDir = path.join(homedir, \"Library\", \"Caches\");\r\n break;\r\n case \"linux\":\r\n case \"android\":\r\n baseDir = path.join(homedir, \".cache\");\r\n break;\r\n default:\r\n throw new Error(\"Error - unknown platform\");\r\n }\r\n return path.join(baseDir, \"iModelJs\");\r\n }\r\n private static _nativeLib?: typeof IModelJsNative;\r\n public static get nativeLib() { return this.load(); }\r\n public static load() {\r\n return this._nativeLib ?? (this._nativeLib = require(NativeLibrary.libraryName) as typeof IModelJsNative); // eslint-disable-line @typescript-eslint/no-var-requires\r\n }\r\n}\r\n\r\n/** Possible outcomes of generateElementGraphics.\r\n* Must be kept in sync with Dgn::Tile::Graphics::TileGraphicsStatus.\r\n* @internal\r\n*/\r\nexport const enum ElementGraphicsStatus {\r\n Success = 0, // Non-null content as Uint8Array.\r\n Canceled = 1, // e.g., front-end explicitly canceled, iModel was closed while processing request, etc.\r\n NoGeometry = 2, // Not an error per se\r\n InvalidJson = 3,\r\n UnknownMajorFormatVersion = 4,\r\n ElementNotFound = 5,\r\n DuplicateRequestId = 6,\r\n}\r\n\r\n/** Possible outcomes of exportSchema[s] (and generally writing schemas)\r\n* Must be kept in sync with ECN::SchemaWriteStatus\r\n* @internal\r\n*/\r\nexport const enum SchemaWriteStatus {\r\n Success = 0,\r\n FailedToSaveXml = 1,\r\n FailedToCreateXml = 2,\r\n FailedToCreateJson = 3,\r\n FailedToWriteFile = 4,\r\n}\r\n\r\n\r\n/** Module that declares the IModelJs native code.\r\n * @internal\r\n */\r\nexport declare namespace IModelJsNative {\r\n interface NameValuePair {\r\n name: string;\r\n value: string;\r\n }\r\n\r\n /** A string that identifies a Txn. */\r\n type TxnIdString = string;\r\n\r\n interface NativeCrashReportingConfig {\r\n /** The directory to which *.dmp and/or iModelJsNativeCrash*.properties.txt files are written. */\r\n crashDir: string;\r\n /** Write .dmp files to crashDir? The default is false. Even if writeDumpsToCrashDir is false, the iModelJsNativeCrash*.properties.txt file will be written to crashDir. */\r\n enableCrashDumps?: boolean;\r\n /** max # .dmp files that may exist in crashDir */\r\n maxDumpsInDir?: number;\r\n /** If writeDumpsToCrashDir is true, do you want a full-memory dump? Defaults to false. */\r\n wantFullMemory?: boolean;\r\n /** Additional name, value pairs to add as meta data to a crash report. */\r\n params?: NameValuePair[];\r\n }\r\n\r\n const version: string;\r\n let logger: Logger;\r\n function setUseTileCache(useTileCache: boolean): void;\r\n function getTileVersionInfo(): TileVersionInfo;\r\n function setCrashReporting(cfg: NativeCrashReportingConfig): void;\r\n function setCrashReportProperty(name: string, value: string | undefined): void;\r\n function getCrashReportProperties(): NameValuePair[];\r\n function storeObjectInVault(obj: any, id: string): void;\r\n function getObjectFromVault(id: string): any;\r\n function dropObjectFromVault(id: string): void;\r\n function addReferenceToObjectInVault(id: string): void;\r\n function getObjectRefCountFromVault(id: string): number;\r\n function clearLogLevelCache(): void;\r\n function setNopBriefcaseManager(): void;\r\n function runDaemonCommand(command: string, args: any): any;\r\n function queryConcurrency(pool: \"io\" | \"cpu\"): number;\r\n\r\n /** The return type of synchronous functions that may return an error or a successful result. */\r\n interface ErrorStatusOrResult<ErrorCodeType, ResultType> {\r\n /** Error from the operation. This property is defined if and only if the operation failed. */\r\n error?: StatusCodeWithMessage<ErrorCodeType>;\r\n\r\n /** Result of the operation. This property is defined if the operation completed successfully */\r\n result?: ResultType;\r\n }\r\n\r\n namespace ConcurrentQuery {\r\n /** Configuration for concurrent query manager\r\n * @internal\r\n */\r\n interface Config {\r\n /** Time seconds after which any completed query result will be purged */\r\n autoExpireTimeForCompletedQuery?: number;\r\n /** Number of concurrent worker to use. By default set to available CPUs */\r\n concurrent?: number;\r\n /** Number of ECSQL cached statement held by a single worker */\r\n cachedStatementsPerThread?: number;\r\n /** Maximum size of query queue after which incoming queries are rejected */\r\n maxQueueSize?: number;\r\n /** Minimum time interval in seconds after which monitor starts. */\r\n minMonitorInterval?: number;\r\n /** idle period of time in seconds after which resources and caches are purged */\r\n idleCleanupTime?: number;\r\n /** Poll interval in milliseconds. */\r\n pollInterval?: number;\r\n /** Global restriction on query quota */\r\n quota?: QueryQuota;\r\n /** Use sqlite shared cache option */\r\n useSharedCache?: boolean;\r\n /** Read uncommitted read for better performance */\r\n useUncommittedRead?: boolean;\r\n }\r\n\r\n /** Post status for concurrent query manager\r\n * @internal\r\n */\r\n const enum PostStatus {\r\n NotInitialized = 0,\r\n Done = 1,\r\n QueueSizeExceeded = 2,\r\n }\r\n\r\n /** Poll status for concurrent query manager\r\n * @internal\r\n */\r\n const enum PollStatus {\r\n NotInitialized = 0,\r\n Done = 1,\r\n Pending = 2,\r\n Partial = 3,\r\n Timeout = 4,\r\n Error = 5,\r\n NotFound = 6,\r\n Cancelled = 7,\r\n }\r\n }\r\n interface IConcurrentQueryManager {\r\n cancelConcurrentQuery(taskId: number): boolean;\r\n captureConcurrentQueryStats(reset: boolean): string;\r\n concurrentQueryInit(config: ConcurrentQuery.Config): boolean;\r\n pollConcurrentQuery(taskId: number): { status: ConcurrentQuery.PollStatus, result: string, rowCount: number };\r\n postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string): { status: ConcurrentQuery.PostStatus, taskId: number };\r\n }\r\n interface TileContent {\r\n content: Uint8Array;\r\n elapsedSeconds: number;\r\n }\r\n /** Represents the current state of a pollable tile content request.\r\n * Note: lack of a \"completed\" state because polling a completed request returns the content as a Uint8Array.\r\n * @internal\r\n */\r\n const enum TileContentState {\r\n New = 0, // Request was just created and enqueued.\r\n Pending = 1, // Request is enqueued but not yet being processed.\r\n Loading = 2, // Request is being actively processed.\r\n }\r\n\r\n /** Result of generateElementGraphics conveying graphics as Uint8Array.\r\n * @internal\r\n */\r\n export interface ElementGraphicsContent {\r\n status: ElementGraphicsStatus.Success;\r\n content: Uint8Array;\r\n }\r\n\r\n /** Result of generateElementGraphics that produced no graphics.\r\n * @internal\r\n */\r\n export interface ElementGraphicsError {\r\n status: Exclude<ElementGraphicsStatus, ElementGraphicsStatus.Success>;\r\n }\r\n\r\n /** The result of generateElementGraphics.\r\n * @note generateElementGraphics produces a Promise<ElementGraphicsResult>. It only ever rejects if some unforeseen error like \"iModel not open\" or \"type error\" occurs.\r\n * @internal\r\n */\r\n export type ElementGraphicsResult = ElementGraphicsContent | ElementGraphicsError;\r\n\r\n /** Information returned by DgnDb.queryDefinitionElementUsage. */\r\n interface DefinitionElementUsageInfo {\r\n /** The subset of input Ids that are SpatialCategory definitions. */\r\n spatialCategoryIds?: Id64String[];\r\n /** The subset of input Ids that are DrawingCategory definitions. */\r\n drawingCategoryIds?: Id64String[];\r\n /** The subset of input Ids that are SubCategory definitions. */\r\n subCategoryIds?: Id64String[];\r\n /** The subset of input Ids that are CategorySelectors. */\r\n categorySelectorIds?: Id64String[];\r\n /** The subset of input Ids that are ModelSelectors. */\r\n modelSelectorIds?: Id64String[];\r\n /** The subset of input Ids that are DisplayStyles. */\r\n displayStyleIds?: Id64String[];\r\n /** The subset of input Ids that are ViewDefinitions. */\r\n viewDefinitionIds?: Id64String[];\r\n /** The subset of input Ids that are GeometryParts. */\r\n geometryPartIds?: Id64String[];\r\n /** The subset of input Ids that are RenderMaterials. */\r\n renderMaterialIds?: Id64String[];\r\n /** The subset of input Ids that are LineStyles. */\r\n lineStyleIds?: Id64String[];\r\n /** The subset of input Ids that are Textures. */\r\n textureIds?: Id64String[];\r\n /** Ids of *other* input DefinitionElements that were not checked for usage. */\r\n otherDefinitionElementIds?: Id64String[];\r\n /** Ids of input DefinitionElements where usage was detected. */\r\n usedIds?: Id64String[];\r\n }\r\n\r\n /** The options for how conflicts are to be handled during change-merging in an OptimisticConcurrencyControlPolicy.\r\n * The scenario is that the caller has made some changes to the *local* briefcase. Now, the caller is attempting to\r\n * merge in changes from iModelHub. The properties of this policy specify how to handle the *incoming* changes from iModelHub.\r\n */\r\n interface BriefcaseManagerOnConflictPolicy {\r\n /** What to do with the incoming change in the case where the same entity was updated locally and also would be updated by the incoming change. */\r\n updateVsUpdate: number;\r\n /** What to do with the incoming change in the case where an entity was updated locally and would be deleted by the incoming change. */\r\n updateVsDelete: number;\r\n /** What to do with the incoming change in the case where an entity was deleted locally and would be updated by the incoming change. */\r\n deleteVsUpdate: number;\r\n }\r\n\r\n /**\r\n * Represents all of the valid EC Specification Versions.\r\n */\r\n const enum ECVersion {\r\n V2_0 = (0x02 << 16),\r\n V3_1 = (0x03 << 16 | 0x01),\r\n V3_2 = (0x03 << 16 | 0x02),\r\n Latest = V3_2,\r\n }\r\n\r\n interface ChangesetFileProps {\r\n index: number;\r\n id: string;\r\n parentId: string;\r\n changesType: number;\r\n description: string;\r\n briefcaseId: number;\r\n pushDate: string;\r\n userCreated: string;\r\n size?: number;\r\n pathname: string;\r\n }\r\n\r\n /** The native object for a Briefcase. */\r\n class DgnDb implements IConcurrentQueryManager {\r\n constructor();\r\n public abandonChanges(): DbResult;\r\n public abandonCreateChangeset(): void;\r\n public addChildPropagatesChangesToParentRelationship(schemaName: string, relClassName: string): BentleyStatus;\r\n public applyChangeset(changeSet: ChangesetFileProps, processOption: ChangeSetApplyOption): void;\r\n public attachChangeCache(changeCachePath: string): DbResult;\r\n public beginMultiTxnOperation(): DbResult;\r\n public beginPurgeOperation(): IModelStatus;\r\n public cancelConcurrentQuery(taskId: number): boolean;\r\n public cancelElementGraphicsRequests(requestIds: string[]): void;\r\n public cancelTileContentRequests(treeId: string, contentIds: string[]): void;\r\n public cancelTo(txnId: TxnIdString): IModelStatus;\r\n public captureConcurrentQueryStats(reset: boolean): string;\r\n public classIdToName(idString: string): string;\r\n public classNameToId(className: string): Id64String;\r\n public closeIModel(): void;\r\n public computeProjectExtents(wantFullExtents: boolean, wantOutlierIds: boolean): { extents: Range3dProps, fullExtents?: Range3dProps, outliers?: Id64Array };\r\n public completeCreateChangeset(arg: { index: number }): void;\r\n public concurrentQueryInit(config: ConcurrentQuery.Config): boolean;\r\n public createBRepGeometry(createProps: any/* BRepGeometryCreate */): DbResult;\r\n public createChangeCache(changeCacheFile: ECDb, changeCachePath: string): DbResult;\r\n public createClassViewsInDb(): BentleyStatus;\r\n public createIModel(fileName: string, props: CreateEmptyStandaloneIModelProps): void;\r\n public deleteAllTxns(): void;\r\n public deleteElement(elemIdJson: string): void;\r\n public deleteElementAspect(aspectIdJson: string): void;\r\n public deleteLinkTableRelationship(props: RelationshipProps): DbResult;\r\n public deleteLocalValue(name: string): void;\r\n public deleteModel(modelIdJson: string): void;\r\n public detachChangeCache(): number;\r\n public dumpChangeset(changeSet: ChangesetFileProps): void;\r\n public embedFont(fontProps: FontProps): FontProps;\r\n public enableTxnTesting(): void;\r\n public endMultiTxnOperation(): DbResult;\r\n public endPurgeOperation(): IModelStatus;\r\n public executeTest(testName: string, params: string): string;\r\n public exportGraphics(exportProps: any/* ExportGraphicsProps */): DbResult;\r\n public exportPartGraphics(exportProps: any/* ExportPartGraphicsProps */): DbResult;\r\n public exportSchema(schemaName: string, exportDirectory: string): SchemaWriteStatus;\r\n public exportSchemas(exportDirectory: string): SchemaWriteStatus;\r\n public extractChangedInstanceIdsFromChangeSet(changeSetFileName: string): ErrorStatusOrResult<IModelStatus, string>; // see ChangedInstanceIdsProps\r\n public extractChangeSummary(changeCacheFile: ECDb, changesetFilePath: string): ErrorStatusOrResult<DbResult, string>;\r\n public findGeometryPartReferences(partIds: Id64String[], is2d: boolean): Id64String[];\r\n public generateElementGraphics(request: ElementGraphicsRequestProps): Promise<ElementGraphicsResult>;\r\n public getBriefcaseId(): number;\r\n public getChangeTrackingMemoryUsed(): number;\r\n public getChangesetSize(): number;\r\n public enableChangesetSizeStats(enabled: boolean): DbResult;\r\n public getCurrentTxnId(): TxnIdString;\r\n public getDbGuid(): GuidString;\r\n public getECClassMetaData(schema: string, className: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public getElement(opts: ElementLoadProps): ElementProps;\r\n public getFilePath(): string; // full path of the DgnDb file\r\n public getGeoCoordinatesFromIModelCoordinates(points: string): string;\r\n public getGeometryContainment(props: string, callback: (result: ErrorStatusOrResult<IModelStatus, GeometryContainmentResponseProps>) => void): void;\r\n public getIModelCoordinatesFromGeoCoordinates(points: string): string;\r\n public getIModelProps(): string;\r\n public getMassProperties(props: string, callback: (result: ErrorStatusOrResult<IModelStatus, MassPropertiesResponseProps>) => void): void;\r\n public getModel(opts: ModelLoadProps): ModelProps;\r\n public getMultiTxnOperationDepth(): number;\r\n public getParentChangeset(): { id: string, index: number | undefined };\r\n public getRedoString(): string;\r\n public getSchema(name: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public getSchemaItem(schemaName: string, itemName: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public getTextureImage(opts: TextureLoadProps, callback: (result: Uint8Array | undefined | Error) => void): void;\r\n public getTempFileBaseName(): string;\r\n public getTileContent(treeId: string, tileId: string, callback: (result: ErrorStatusOrResult<IModelStatus, Uint8Array>) => void): void;\r\n public getTileTree(id: string, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;\r\n public getTxnDescription(txnId: TxnIdString): string;\r\n public getUndoString(): string;\r\n public hasFatalTxnError(): boolean;\r\n public hasPendingTxns(): boolean;\r\n public hasUnsavedChanges(): boolean;\r\n public importFunctionalSchema(): DbResult;\r\n public importSchemas(schemaFileNames: string[]): DbResult;\r\n public importXmlSchemas(serializedXmlSchemas: string[]): DbResult;\r\n public inBulkOperation(): boolean;\r\n public insertCodeSpec(name: string, jsonProperties: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public insertElement(elemProps: ElementProps): Id64String;\r\n public insertElementAspect(aspectProps: ElementAspectProps): void;\r\n public insertLinkTableRelationship(props: RelationshipProps): ErrorStatusOrResult<DbResult, string>;\r\n public insertModel(modelProps: ModelProps): Id64String;\r\n public isChangeCacheAttached(): boolean;\r\n public isEncrypted(): boolean;\r\n public isGeometricModelTrackingSupported(): boolean;\r\n public isIndirectChanges(): boolean;\r\n public isLinkTableRelationship(classFullName: string): boolean | undefined;\r\n public isOpen(): boolean;\r\n public isProfilerPaused(): boolean;\r\n public isProfilerRunning(): boolean;\r\n public isReadonly(): boolean;\r\n public isRedoPossible(): boolean;\r\n public isTxnIdValid(txnId: TxnIdString): boolean;\r\n public isUndoPossible(): boolean;\r\n public logTxnError(fatal: boolean): void;\r\n public openIModel(dbName: string, mode: OpenMode, upgradeOptions?: UpgradeOptions, props?: SnapshotOpenOptions): void;\r\n public pauseProfiler(): DbResult;\r\n public pollConcurrentQuery(taskId: number): { status: ConcurrentQuery.PollStatus, result: string, rowCount: number };\r\n public pollTileContent(treeId: string, tileId: string): ErrorStatusOrResult<IModelStatus, TileContentState | TileContent>;\r\n public postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): { status: ConcurrentQuery.PostStatus, taskId: number };\r\n public processGeometryStream(requestProps: any/* ElementGeometryOptions */): DbResult;\r\n public purgeTileTrees(modelIds: Id64Array | undefined): void;\r\n public queryDefinitionElementUsage(definitionElementIds: Id64Array): DefinitionElementUsageInfo | undefined;\r\n public queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;\r\n public queryFirstTxnId(): TxnIdString;\r\n public queryLocalValue(name: string): string | undefined;\r\n public queryModelExtents(options: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public queryNextAvailableFileProperty(props: FilePropertyProps): number;\r\n public queryNextTxnId(txnId: TxnIdString): TxnIdString;\r\n public queryPreviousTxnId(txnId: TxnIdString): TxnIdString;\r\n public queryProjectGuid(): GuidString;\r\n public readFontMap(): FontMapProps;\r\n public reinstateTxn(): IModelStatus;\r\n public resetBriefcaseId(idValue: number): void;\r\n public restartTxnSession(): void;\r\n public resumeProfiler(): DbResult;\r\n public reverseAll(): IModelStatus;\r\n public reverseTo(txnId: TxnIdString): IModelStatus;\r\n public reverseTxns(numOperations: number): IModelStatus;\r\n public saveChanges(description?: string): DbResult;\r\n public saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): void;\r\n public saveLocalValue(name: string, value: string | undefined): void;\r\n public saveProjectGuid(guid: GuidString): DbResult;\r\n public schemaToXmlString(schemaName: string, version?: ECVersion): string | undefined;\r\n public setBriefcaseManagerOptimisticConcurrencyControlPolicy(conflictPolicy: BriefcaseManagerOnConflictPolicy): RepositoryStatus;\r\n public setBriefcaseManagerPessimisticConcurrencyControlPolicy(): RepositoryStatus;\r\n public setDbGuid(guid: GuidString): DbResult;\r\n public startProfiler(scopeName?: string, scenarioName?: string, overrideFile?: boolean, computeExecutionPlan?: boolean): DbResult;\r\n public stopProfiler(): { rc: DbResult, elapsedTime?: number, scopeId?: number, fileName?: string };\r\n /** Attempts to enable or disable tracking of changes to geometric models.\r\n * @returns ErrorStatusOrResult, with `result` as a boolean indicating whether tracking is now enabled as a result of this call; or with `error` as `IModelStatus.Readonly` or `IModelStatus.VersionTooOld` if tracking is not supported.\r\n * @see isGeometricModelTrackingSupported.\r\n */\r\n public setGeometricModelTrackingEnabled(enabled: boolean): ErrorStatusOrResult<IModelStatus, boolean>;\r\n public setIModelDb(iModelDb?: any/* IModelDb */): void;\r\n public simplifyElementGeometry(simplifyArgs: any): DbResult;\r\n public startCreateChangeset(): ChangesetFileProps;\r\n public updateElement(elemProps: ElementProps): void;\r\n public updateElementAspect(aspectProps: ElementAspectProps): void;\r\n public updateGeometryStream(updateProps: any/* UpdateGeometryOptions */): DbResult;\r\n public updateIModelProps(props: IModelProps): void;\r\n public updateLinkTableRelationship(props: RelationshipProps): DbResult;\r\n public updateModel(modelProps: ModelProps): void;\r\n public updateModelGeometryGuid(modelId: Id64String): IModelStatus;\r\n public updateProjectExtents(newExtentsJson: string): void;\r\n public uploadDaemonBlobs(): DbResult;\r\n public writeFullElementDependencyGraphToFile(dotFileName: string): BentleyStatus;\r\n public writeAffectedElementDependencyGraphToFile(dotFileName: string, changedElems:Id64Array): BentleyStatus;\r\n\r\n public static enableSharedCache(enable: boolean): DbResult;\r\n public static encryptDb(dbFileName: string, encryptionProps: IModelEncryptionProps): void;\r\n public static getAssetsDir(): string;\r\n public static vacuum(dbName: string, pageSize?: number): void;\r\n }\r\n\r\n /**\r\n * RevisionUtility help with debugging and testing\r\n * @internal\r\n */\r\n class RevisionUtility {\r\n constructor();\r\n public static assembleRevision(targetFile: string, rawChangesetFile: string, prefixFile?: string, lzmaPropsJson?: string): BentleyStatus;\r\n public static computeStatistics(sourceFile: string, addPrefix: boolean): string;\r\n public static disassembleRevision(sourceFile: string, targetDir: string): BentleyStatus;\r\n public static dumpChangesetToDb(sourceFile: string, dbFile: string, includeCols: boolean): BentleyStatus;\r\n public static getUncompressSize(sourceFile: string): string;\r\n public static normalizeLzmaParams(lzmaPropsJson?: string): string;\r\n public static recompressRevision(sourceFile: string, targetFile: string, lzmaPropsJson?: string): BentleyStatus;\r\n }\r\n\r\n class ECDb implements IDisposable, IConcurrentQueryManager {\r\n constructor();\r\n public abandonChanges(): DbResult;\r\n public cancelConcurrentQuery(taskId: number): boolean;\r\n public captureConcurrentQueryStats(reset: boolean): string;\r\n public closeDb(): void;\r\n public concurrentQueryInit(config: ConcurrentQuery.Config): boolean;\r\n public createDb(dbName: string): DbResult;\r\n public dispose(): void;\r\n public getFilePath(): string;\r\n public importSchema(schemaPathName: string): DbResult;\r\n public isOpen(): boolean;\r\n public openDb(dbName: string, mode: OpenMode, upgradeProfiles?: boolean): DbResult;\r\n public pollConcurrentQuery(taskId: number): { status: ConcurrentQuery.PollStatus, result: string, rowCount: number };\r\n public postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): { status: ConcurrentQuery.PostStatus, taskId: number };\r\n public saveChanges(changesetName?: string): DbResult;\r\n public static enableSharedCache(enable: boolean): DbResult;\r\n }\r\n\r\n class ChangedElementsECDb implements IDisposable {\r\n constructor();\r\n public dispose(): void;\r\n public createDb(db: DgnDb, dbName: string): DbResult;\r\n public openDb(dbName: string, mode: OpenMode, upgradeProfiles?: boolean): DbResult;\r\n public isOpen(): boolean;\r\n public closeDb(): void;\r\n public processChangesets(db: DgnDb, changesets: ChangesetFileProps[], rulesetId: string, filterSpatial?: boolean, wantParents?: boolean, wantPropertyChecksums?: boolean, rulesetDir?: string, tempDir?: string): DbResult;\r\n public processChangesetsAndRoll(dbFilename: string, dbGuid: string, changesets: ChangesetFileProps[], rulesetId: string, filterSpatial?: boolean, wantParents?: boolean, wantPropertyChecksums?: boolean, rulesetDir?: string, tempDir?: string): DbResult;\r\n public getChangedElements(startChangesetId: string, endChangesetId: string): ErrorStatusOrResult<IModelStatus, any>;\r\n public isProcessed(changesetId: string): boolean;\r\n public cleanCaches(): void;\r\n }\r\n\r\n class ECSqlStatement implements IDisposable {\r\n constructor();\r\n public clearBindings(): DbResult;\r\n public dispose(): void;\r\n public getBinder(param: number | string): ECSqlBinder;\r\n public getColumnCount(): number;\r\n public getValue(columnIndex: number): ECSqlValue;\r\n public prepare(db: DgnDb | ECDb, ecsql: string): StatusCodeWithMessage<DbResult>;\r\n public reset(): DbResult;\r\n public step(): DbResult;\r\n public stepAsync(callback: (result: DbResult) => void): void;\r\n public stepForInsert(): { status: DbResult, id: string };\r\n public stepForInsertAsync(callback: (result: { status: DbResult, id: string }) => void): void;\r\n public getNativeSql(): string;\r\n }\r\n\r\n class ECSqlBinder {\r\n constructor();\r\n public addArrayElement(): ECSqlBinder;\r\n public bindBlob(base64String: string | Uint8Array | ArrayBuffer | SharedArrayBuffer): DbResult;\r\n public bindBoolean(val: boolean): DbResult;\r\n public bindDateTime(isoString: string): DbResult;\r\n public bindDouble(val: number): DbResult;\r\n public bindGuid(guidStr: GuidString): DbResult;\r\n public bindId(hexStr: Id64String): DbResult;\r\n public bindIdSet(hexVector: Id64String[]): DbResult;\r\n public bindInteger(val: number | string): DbResult;\r\n public bindMember(memberName: string): ECSqlBinder;\r\n public bindNavigation(navIdHexStr: Id64String, relClassName?: string, relClassTableSpace?: string): DbResult;\r\n public bindNull(): DbResult;\r\n public bindPoint2d(x: number, y: number): DbResult;\r\n public bindPoint3d(x: number, y: number, z: number): DbResult;\r\n public bindString(val: string): DbResult;\r\n }\r\n\r\n class ECSqlColumnInfo {\r\n constructor();\r\n public getAccessString(): string;\r\n public getPropertyName(): string;\r\n public getRootClassAlias(): string;\r\n public getRootClassName(): string;\r\n public getRootClassTableSpace(): string;\r\n public getType(): number;\r\n public isEnum(): boolean;\r\n public isGeneratedProperty(): boolean;\r\n public isSystemProperty(): boolean;\r\n }\r\n\r\n class ECSqlValue {\r\n constructor();\r\n public getArrayIterator(): ECSqlValueIterator;\r\n public getBlob(): Uint8Array;\r\n public getBoolean(): boolean;\r\n public getClassNameForClassId(): string;\r\n public getColumnInfo(): ECSqlColumnInfo;\r\n public getDateTime(): string;\r\n public getDouble(): number;\r\n public getEnum(): Array<{ schema: string, name: string, key: string, value: number | string }> | undefined;\r\n public getGeometry(): string;\r\n public getGuid(): GuidString;\r\n public getId(): Id64String;\r\n public getInt(): number;\r\n public getInt64(): number;\r\n public getNavigation(): { id: Id64String, relClassName?: string };\r\n public getPoint2d(): { x: number, y: number };\r\n public getPoint3d(): { x: number, y: number, z: number };\r\n public getString(): string;\r\n public getStructIterator(): ECSqlValueIterator;\r\n public isNull(): boolean;\r\n }\r\n\r\n class ECSqlValueIterator {\r\n constructor();\r\n public getCurrent(): ECSqlValue;\r\n public moveNext(): boolean;\r\n }\r\n\r\n class SQLiteDb implements IDisposable {\r\n constructor();\r\n public abandonChanges(): void;\r\n public closeDb(): void;\r\n public createDb(dbName: string): void;\r\n public dispose(): void;\r\n public getFilePath(): string;\r\n public isOpen(): boolean;\r\n public openDb(dbName: string, mode: OpenMode): void;\r\n public saveChanges(): void;\r\n }\r\n\r\n class SqliteStatement implements IDisposable {\r\n constructor();\r\n public bindBlob(param: number | string, val: Uint8Array | ArrayBuffer | SharedArrayBuffer): DbResult;\r\n public bindDouble(param: number | string, val: number): DbResult;\r\n public bindGuid(param: number | string, guidStr: GuidString): DbResult;\r\n public bindId(param: number | string, hexStr: Id64String): DbResult;\r\n public bindInteger(param: number | string, val: number | string): DbResult;\r\n public bindNull(param: number | string): DbResult;\r\n public bindString(param: number | string, val: string): DbResult;\r\n public clearBindings(): DbResult;\r\n public dispose(): void;\r\n public getColumnCount(): number;\r\n public getColumnName(columnIndex: number): string;\r\n public getColumnType(columnIndex: number): number;\r\n public getValueBlob(columnIndex: number): Uint8Array;\r\n public getValueDouble(columnIndex: number): number;\r\n public getValueGuid(columnIndex: number): GuidString;\r\n public getValueId(columnIndex: number): Id64String;\r\n public getValueInteger(columnIndex: number): number;\r\n public getValueString(columnIndex: number): string;\r\n public isReadonly(): boolean;\r\n public isValueNull(columnIndex: number): boolean;\r\n public prepare(db: DgnDb | ECDb | SQLiteDb, sql: string): void;\r\n public reset(): DbResult;\r\n public step(): DbResult;\r\n public stepAsync(callback: (result: DbResult) => void): void;\r\n }\r\n\r\n const enum ECPresentationStatus {\r\n Success = 0,\r\n Canceled = 1,\r\n Pending = 2,\r\n Error = 0x10000,\r\n InvalidArgument = Error + 1,\r\n }\r\n\r\n const enum ECPresentationManagerMode {\r\n ReadOnly = \"ro\",\r\n ReadWrite = \"rw\",\r\n }\r\n\r\n interface ECPresentationMemoryHierarchyCacheConfig {\r\n mode: \"memory\";\r\n }\r\n\r\n interface ECPresentationDiskHierarchyCacheConfig {\r\n mode: \"disk\";\r\n directory: string;\r\n }\r\n\r\n interface ECPresentationHybridHierarchyCacheConfig {\r\n mode: \"hybrid\";\r\n disk?: ECPresentationDiskHierarchyCacheConfig;\r\n }\r\n\r\n type ECPresentationHierarchyCacheConfig = ECPresentationMemoryHierarchyCacheConfig | ECPresentationDiskHierarchyCacheConfig | ECPresentationHybridHierarchyCacheConfig;\r\n\r\n interface ECPresentationManagerResponse<TResult> extends ErrorStatusOrResult<ECPresentationStatus, TResult> {\r\n diagnostics?: any;\r\n }\r\n\r\n interface ECPresentationManagerProps {\r\n id: string;\r\n localeDirectories: string[];\r\n taskAllocationsMap: { [priority: number]: number };\r\n defaultFormats: {\r\n [phenomenon: string]: {\r\n unitSystems: string[];\r\n serializedFormat: string;\r\n };\r\n };\r\n mode: ECPresentationManagerMode;\r\n isChangeTrackingEnabled: boolean;\r\n cacheConfig: ECPresentationHierarchyCacheConfig;\r\n useMmap?: boolean | number;\r\n }\r\n\r\n class ECPresentationManager implements IDisposable {\r\n constructor(props: ECPresentationManagerProps);\r\n public forceLoadSchemas(db: DgnDb, callback: (result: ECPresentationManagerResponse<void>) => void): void;\r\n public setupRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;\r\n public setupSupplementalRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;\r\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: string, value: any): ECPresentationManagerResponse<void>;\r\n public unsetRulesetVariableValue(rulesetId: string, variableId: string): ECPresentationManagerResponse<void>;\r\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: string): ECPresentationManagerResponse<any>;\r\n public getRulesets(rulesetId: string): ECPresentationManagerResponse<string>;\r\n public addRuleset(serializedRuleset: string): ECPresentationManagerResponse<string>;\r\n public removeRuleset(rulesetId: string, hash: string): ECPresentationManagerResponse<boolean>;\r\n public clearRulesets(): ECPresentationManagerResponse<void>;\r\n public queueRequest(db: DgnDb, options: string): ECPresentationManagerResponse<string>;\r\n public pollResponse(requestGuid: string): ECPresentationManagerResponse<string>;\r\n public getUpdateInfo(): ECPresentationManagerResponse<any>;\r\n public updateHierarchyState(db: DgnDb, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string): ECPresentationManagerResponse<void>;\r\n public dispose(): void;\r\n }\r\n\r\n namespace ECSchemaXmlContext {\r\n interface SchemaKey {\r\n name: string;\r\n readVersion: number;\r\n writeVersion: number;\r\n minorVersion: number;\r\n }\r\n\r\n const enum SchemaMatchType {\r\n Identical = 0, // Find exact VersionRead, VersionWrite, VersionMinor match as well as Data\r\n Exact = 1, // Find exact VersionRead, VersionWrite, VersionMinor match.\r\n LatestWriteCompatible = 2, // Find latest version with matching VersionRead and VersionWrite\r\n Latest = 3, // Find latest version.\r\n LatestReadCompatible = 4, // Find latest version with matching VersionRead\r\n }\r\n\r\n type SchemaLocaterCallback = (key: SchemaKey, matchType: SchemaMatchType) => string | undefined | void;\r\n }\r\n\r\n class ECSchemaXmlContext {\r\n constructor();\r\n public addSchemaPath(path: string): void;\r\n public setSchemaLocater(locater: ECSchemaXmlContext.SchemaLocaterCallback): void;\r\n public setFirstSchemaLocater(locater: ECSchemaXmlContext.SchemaLocaterCallback): void;\r\n public readSchemaFromXmlFile(filePath: string): ErrorStatusOrResult<BentleyStatus, string>;\r\n }\r\n\r\n class SnapRequest {\r\n constructor();\r\n public doSnap(db: DgnDb, request: any, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;\r\n public cancelSnap(): void;\r\n }\r\n\r\n class DownloadV2Checkpoint {\r\n constructor(args: BlobDaemonCommandArg);\r\n public cancelDownload(): void;\r\n public getProgress(): { loaded: number, total: number };\r\n public downloadPromise: Promise<void>;\r\n }\r\n\r\n interface FeatureUserDataKeyValuePair {\r\n key: string;\r\n value: string;\r\n }\r\n\r\n interface NativeUlasClientFeatureEvent {\r\n featureId: string;\r\n versionStr: string;\r\n projectId?: string;\r\n startDateZ?: string;\r\n endDateZ?: string;\r\n featureUserData?: FeatureUserDataKeyValuePair[];\r\n }\r\n\r\n const enum DbChangeStage {\r\n Old = 0,\r\n New = 1,\r\n }\r\n\r\n const enum DbValueType {\r\n IntegerVal = 1,\r\n FloatVal = 2,\r\n TextVal = 3,\r\n BlobVal = 4,\r\n NullVal = 5,\r\n }\r\n\r\n type ChangeValueType = Uint8Array | number| string | null | undefined;\r\n\r\n interface ChangedValue {\r\n new?: ChangeValueType;\r\n old?: ChangeValueType;\r\n }\r\n\r\n class ChangesetReader {\r\n close(): DbResult;\r\n getColumnCount(): number| undefined;\r\n getColumnValue(col: number, stage: DbChangeStage): ChangeValueType;\r\n getColumnValueType(col: number, stage: DbChangeStage): DbValueType | undefined;\r\n getFileName(): string | undefined;\r\n getOpCode(): DbOpcode | undefined;\r\n getRow(): ChangedValue[] | undefined;\r\n getDdlChanges(): string | undefined;\r\n getTableName(): string | undefined;\r\n isIndirectChange(): boolean | undefined;\r\n isPrimaryKeyColumn(col: number): boolean | undefined;\r\n open(fileName: string, invert: boolean): DbResult;\r\n reset(): DbResult;\r\n step(): DbResult;\r\n }\r\n\r\n class DisableNativeAssertions implements IDisposable {\r\n constructor();\r\n public dispose(): void;\r\n }\r\n\r\n class ImportContext implements IDisposable {\r\n constructor(sourceDb: DgnDb, targetDb: DgnDb);\r\n public dispose(): void;\r\n public dump(outputFileName: string): BentleyStatus;\r\n public addClass(sourceClassFullName: string, targetClassFullName: string): BentleyStatus;\r\n public addCodeSpecId(sourceId: Id64String, targetId: Id64String): BentleyStatus;\r\n public addElementId(sourceId: Id64String, targetId: Id64String): BentleyStatus;\r\n public removeElementId(sourceId: Id64String): BentleyStatus;\r\n public findCodeSpecId(sourceId: Id64String): Id64String;\r\n public findElementId(sourceId: Id64String): Id64String;\r\n public cloneElement(sourceId: Id64String, cloneOptions?: CloneElementOptions): ElementProps;\r\n public importCodeSpec(sourceId: Id64String): Id64String;\r\n public importFont(sourceId: number): number;\r\n public hasSubCategoryFilter(): boolean;\r\n public isSubCategoryFiltered(sourceId: Id64String): boolean;\r\n public filterSubCategoryId(sourceId: Id64String): BentleyStatus;\r\n }\r\n\r\n interface CloneElementOptions {\r\n binaryGeometry?: boolean;\r\n }\r\n\r\n interface ChangedInstanceOpsProps {\r\n insert?: Id64String[];\r\n update?: Id64String[];\r\n delete?: Id64String[];\r\n }\r\n\r\n /** The *wire format* of the result returned by DgnDb.extractChangedInstanceIdsFromChangeSet */\r\n interface ChangedInstanceIdsProps {\r\n codeSpec?: ChangedInstanceOpsProps;\r\n model?: ChangedInstanceOpsProps;\r\n element?: ChangedInstanceOpsProps;\r\n aspect?: ChangedInstanceOpsProps;\r\n relationship?: ChangedInstanceOpsProps;\r\n font?: ChangedInstanceOpsProps;\r\n }\r\n\r\n /**\r\n * Temporary implementation to allow crashing the backend for testing purposes\r\n * @internal\r\n */\r\n class NativeDevTools {\r\n public static signal(signalType: number): boolean;\r\n }\r\n\r\n /**\r\n * Native API to get, add, replace, and delete passwords in system's keychain. On macOS the passwords are managed by the Keychain, and on Windows they are managed by Credential Vault.\r\n * Note: That the current implementation has only been setup on MacOS and Windows - platforms that support for Desktop/Electron applications.\r\n * On Linux, passwords are managed by the Secret Service API/libsecret, but support for that platform has NOT been added.\r\n * Code adapted from https://github.com/atom/node-keytar\r\n */\r\n class KeyTar {\r\n /**\r\n * Get the stored password for the service and account.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @returns A promise for the password string.\r\n */\r\n public static getPassword(service: string, account: string): Promise<string | null>;\r\n\r\n /**\r\n * Add the password for the service and account to the keychain.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @param password The string password.\r\n * @returns A promise for the set password completion.\r\n */\r\n public static setPassword(service: string, account: string, password: string): Promise<void>;\r\n\r\n /**\r\n * Delete the stored password for the service and account.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @returns A promise for the deletion status. True on success.\r\n */\r\n public static deletePassword(service: string, account: string): Promise<boolean>;\r\n\r\n /**\r\n * Find a password for the service in the keychain.\r\n * @param service The string service name.\r\n * @returns A promise for the password string.\r\n */\r\n public static findPassword(service: string): Promise<string | null>;\r\n\r\n /**\r\n * Find all accounts and passwords for `service` in the keychain.\r\n * @param service The string service name.\r\n * @returns A promise for the array of found credentials.\r\n */\r\n public static findCredentials(service: string): Promise<Array<{ account: string, password: string }>>;\r\n }\r\n\r\n /**\r\n * Utilities to encode/decode names to convert them to/from names that comply with EC naming rules\r\n */\r\n class ECNameValidation {\r\n /**\r\n * Encodes names to comply with EC naming rules\r\n * @param name Name to be encoded\r\n * @returns Encoded name\r\n * @param name\r\n */\r\n public static encodeToValidName(name: string): string;\r\n\r\n /**\r\n * Decodes names that were encoded to comply with EC naming rules\r\n * @param encodedName Encoded name\r\n * @returns Decoded name\r\n */\r\n public static decodeFromValidName(encodedName: string): string;\r\n }\r\n\r\n const enum TestWorkerState {\r\n NotQueued = 0,\r\n Queued = 1,\r\n Skipped = 2,\r\n Running = 3,\r\n Ok = 4,\r\n Error = 5,\r\n Aborted = 6,\r\n }\r\n\r\n class TestWorker {\r\n public constructor(db: DgnDb, callback: () => void);\r\n\r\n public queue(): void;\r\n public cancel(): void;\r\n public setReady(): void;\r\n public setThrow(): void;\r\n public isCanceled(): boolean;\r\n public wasExecuted(): boolean;\r\n public getState(): TestWorkerState;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"NativeLibrary.js","sourceRoot":"","sources":["../src/NativeLibrary.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,yBAAyB;AACzB,6BAA6B;AAc7B,+DAA+D;AAE/D,8KAA8K;AAC9K,8DAA8D;AAE9D;;GAEG;AACH,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;IACrB,+CAAuB,CAAA;IACvB,2CAAmB,CAAA;IACnB,qCAAa,CAAA;IACb,2DAAmC,CAAA;IACnC,mDAA2B,CAAA;AAC7B,CAAC,EARW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAQ/B;AAED,kDAAkD;AAClD,MAAa,aAAa;IACjB,MAAM,KAAK,QAAQ;QACxB,mDAAmD;QACnD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAChG,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,OAAO,YAAY,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IACM,MAAM,KAAK,aAAa,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvG,CAAC;IACM,MAAM,KAAK,eAAe;QAC/B,IAAI,OAAe,CAAC;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAY,CAAC;QACzC,QAAQ,QAAQ,EAAE;YAChB,KAAK,OAAO;gBACV,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACvC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,KAAK,SAAS,KAAK,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI;;QAChB,OAAO,MAAA,IAAI,CAAC,UAAU,mCAAI,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAA0B,CAAC,CAAC,CAAC,yDAAyD;IACtK,CAAC;CACF;AArCD,sCAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as os from \"os\";\r\nimport * as path from \"path\";\r\nimport {\r\n BentleyStatus, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger, OpenMode,\r\n RepositoryStatus, StatusCodeWithMessage,\r\n} from \"@bentley/bentleyjs-core\";\r\nimport { Range3dProps } from \"@bentley/geometry-core\";\r\nimport {\r\n ChangesetIndexAndId, CreateEmptyStandaloneIModelProps, ElementAspectProps, ElementGraphicsRequestProps, ElementLoadProps, ElementProps,\r\n FilePropertyProps, FontMapProps, FontProps, GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, GeometryContainmentResponseProps,\r\n IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelEncryptionProps, IModelProps, MassPropertiesResponseProps, ModelLoadProps,\r\n ModelProps, QueryLimit, QueryPriority, QueryQuota, RelationshipProps, SnapshotOpenOptions, TextureData, TextureLoadProps, TileVersionInfo, UpgradeOptions,\r\n} from \"@bentley/imodeljs-common\";\r\nimport { BlobDaemonCommandArg } from \"./BlobDaemon\";\r\n\r\n// *** NOTE: DO NOT add dependencies on any other packages! ***\r\n\r\n// cspell:ignore blocksize cachesize polltime bentleyjs imodeljs ecsql pollable polyface txns lzma uncompress changesets ruleset ulas oidc keychain libsecret rulesets struct\r\n/* eslint-disable @bentley/prefer-get, no-restricted-syntax */\r\n\r\n/** Logger categories used by the native addon\r\n * @internal\r\n */\r\nexport enum NativeLoggerCategory {\r\n BeSQLite = \"BeSQLite\",\r\n BRepCore = \"BRepCore\",\r\n Changeset = \"Changeset\",\r\n DgnCore = \"DgnCore\",\r\n ECDb = \"ECDb\",\r\n ECObjectsNative = \"ECObjectsNative\",\r\n UnitsNative = \"UnitsNative\",\r\n}\r\n\r\n/** Find and load the native node-addon library */\r\nexport class NativeLibrary {\r\n public static get archName() {\r\n // We make sure we are running in a known platform.\r\n if (typeof process === \"undefined\" || process.platform === undefined || process.arch === undefined)\r\n throw new Error(\"Error - unknown process\");\r\n return `imodeljs-${process.platform}-${process.arch}`;\r\n }\r\n public static get nodeAddonName() { return \"imodeljs.node\"; }\r\n public static get libraryName() {\r\n return path.join(\"@bentley\", \"imodeljs-native\", NativeLibrary.archName, NativeLibrary.nodeAddonName);\r\n }\r\n public static get defaultCacheDir(): string {\r\n let baseDir: string;\r\n const homedir = os.homedir();\r\n const platform = os.platform() as string;\r\n switch (platform) {\r\n case \"win32\":\r\n baseDir = path.join(homedir, \"AppData\", \"Local\");\r\n break;\r\n case \"darwin\":\r\n case \"ios\":\r\n baseDir = path.join(homedir, \"Library\", \"Caches\");\r\n break;\r\n case \"linux\":\r\n case \"android\":\r\n baseDir = path.join(homedir, \".cache\");\r\n break;\r\n default:\r\n throw new Error(\"Error - unknown platform\");\r\n }\r\n return path.join(baseDir, \"iModelJs\");\r\n }\r\n private static _nativeLib?: typeof IModelJsNative;\r\n public static get nativeLib() { return this.load(); }\r\n public static load() {\r\n return this._nativeLib ?? (this._nativeLib = require(NativeLibrary.libraryName) as typeof IModelJsNative); // eslint-disable-line @typescript-eslint/no-var-requires\r\n }\r\n}\r\n\r\n/** Possible outcomes of generateElementGraphics.\r\n* Must be kept in sync with Dgn::Tile::Graphics::TileGraphicsStatus.\r\n* @internal\r\n*/\r\nexport const enum ElementGraphicsStatus {\r\n Success = 0, // Non-null content as Uint8Array.\r\n Canceled = 1, // e.g., front-end explicitly canceled, iModel was closed while processing request, etc.\r\n NoGeometry = 2, // Not an error per se\r\n InvalidJson = 3,\r\n UnknownMajorFormatVersion = 4,\r\n ElementNotFound = 5,\r\n DuplicateRequestId = 6,\r\n}\r\n\r\n/** Possible outcomes of exportSchema[s] (and generally writing schemas)\r\n* Must be kept in sync with ECN::SchemaWriteStatus\r\n* @internal\r\n*/\r\nexport const enum SchemaWriteStatus {\r\n Success = 0,\r\n FailedToSaveXml = 1,\r\n FailedToCreateXml = 2,\r\n FailedToCreateJson = 3,\r\n FailedToWriteFile = 4,\r\n}\r\n\r\n\r\n/** Module that declares the IModelJs native code.\r\n * @internal\r\n */\r\nexport declare namespace IModelJsNative {\r\n interface NameValuePair {\r\n name: string;\r\n value: string;\r\n }\r\n\r\n /** A string that identifies a Txn. */\r\n type TxnIdString = string;\r\n\r\n interface NativeCrashReportingConfig {\r\n /** The directory to which *.dmp and/or iModelJsNativeCrash*.properties.txt files are written. */\r\n crashDir: string;\r\n /** Write .dmp files to crashDir? The default is false. Even if writeDumpsToCrashDir is false, the iModelJsNativeCrash*.properties.txt file will be written to crashDir. */\r\n enableCrashDumps?: boolean;\r\n /** max # .dmp files that may exist in crashDir */\r\n maxDumpsInDir?: number;\r\n /** If writeDumpsToCrashDir is true, do you want a full-memory dump? Defaults to false. */\r\n wantFullMemory?: boolean;\r\n /** Additional name, value pairs to add as meta data to a crash report. */\r\n params?: NameValuePair[];\r\n }\r\n\r\n const version: string;\r\n let logger: Logger;\r\n function setUseTileCache(useTileCache: boolean): void;\r\n function getTileVersionInfo(): TileVersionInfo;\r\n function setCrashReporting(cfg: NativeCrashReportingConfig): void;\r\n function setCrashReportProperty(name: string, value: string | undefined): void;\r\n function getCrashReportProperties(): NameValuePair[];\r\n function storeObjectInVault(obj: any, id: string): void;\r\n function getObjectFromVault(id: string): any;\r\n function dropObjectFromVault(id: string): void;\r\n function addReferenceToObjectInVault(id: string): void;\r\n function getObjectRefCountFromVault(id: string): number;\r\n function clearLogLevelCache(): void;\r\n function setNopBriefcaseManager(): void;\r\n function runDaemonCommand(command: string, args: any): any;\r\n function queryConcurrency(pool: \"io\" | \"cpu\"): number;\r\n\r\n /** The return type of synchronous functions that may return an error or a successful result. */\r\n interface ErrorStatusOrResult<ErrorCodeType, ResultType> {\r\n /** Error from the operation. This property is defined if and only if the operation failed. */\r\n error?: StatusCodeWithMessage<ErrorCodeType>;\r\n\r\n /** Result of the operation. This property is defined if the operation completed successfully */\r\n result?: ResultType;\r\n }\r\n\r\n namespace ConcurrentQuery {\r\n /** Configuration for concurrent query manager\r\n * @internal\r\n */\r\n interface Config {\r\n /** Time seconds after which any completed query result will be purged */\r\n autoExpireTimeForCompletedQuery?: number;\r\n /** Number of concurrent worker to use. By default set to available CPUs */\r\n concurrent?: number;\r\n /** Number of ECSQL cached statement held by a single worker */\r\n cachedStatementsPerThread?: number;\r\n /** Maximum size of query queue after which incoming queries are rejected */\r\n maxQueueSize?: number;\r\n /** Minimum time interval in seconds after which monitor starts. */\r\n minMonitorInterval?: number;\r\n /** idle period of time in seconds after which resources and caches are purged */\r\n idleCleanupTime?: number;\r\n /** Poll interval in milliseconds. */\r\n pollInterval?: number;\r\n /** Global restriction on query quota */\r\n quota?: QueryQuota;\r\n /** Use sqlite shared cache option */\r\n useSharedCache?: boolean;\r\n /** Read uncommitted read for better performance */\r\n useUncommittedRead?: boolean;\r\n }\r\n\r\n /** Post status for concurrent query manager\r\n * @internal\r\n */\r\n const enum PostStatus {\r\n NotInitialized = 0,\r\n Done = 1,\r\n QueueSizeExceeded = 2,\r\n }\r\n\r\n /** Poll status for concurrent query manager\r\n * @internal\r\n */\r\n const enum PollStatus {\r\n NotInitialized = 0,\r\n Done = 1,\r\n Pending = 2,\r\n Partial = 3,\r\n Timeout = 4,\r\n Error = 5,\r\n NotFound = 6,\r\n Cancelled = 7,\r\n }\r\n }\r\n interface IConcurrentQueryManager {\r\n cancelConcurrentQuery(taskId: number): boolean;\r\n captureConcurrentQueryStats(reset: boolean): string;\r\n concurrentQueryInit(config: ConcurrentQuery.Config): boolean;\r\n pollConcurrentQuery(taskId: number): { status: ConcurrentQuery.PollStatus, result: string, rowCount: number };\r\n postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string): { status: ConcurrentQuery.PostStatus, taskId: number };\r\n }\r\n interface TileContent {\r\n content: Uint8Array;\r\n elapsedSeconds: number;\r\n }\r\n /** Represents the current state of a pollable tile content request.\r\n * Note: lack of a \"completed\" state because polling a completed request returns the content as a Uint8Array.\r\n * @internal\r\n */\r\n const enum TileContentState {\r\n New = 0, // Request was just created and enqueued.\r\n Pending = 1, // Request is enqueued but not yet being processed.\r\n Loading = 2, // Request is being actively processed.\r\n }\r\n\r\n /** Result of generateElementGraphics conveying graphics as Uint8Array.\r\n * @internal\r\n */\r\n export interface ElementGraphicsContent {\r\n status: ElementGraphicsStatus.Success;\r\n content: Uint8Array;\r\n }\r\n\r\n /** Result of generateElementGraphics that produced no graphics.\r\n * @internal\r\n */\r\n export interface ElementGraphicsError {\r\n status: Exclude<ElementGraphicsStatus, ElementGraphicsStatus.Success>;\r\n }\r\n\r\n /** The result of generateElementGraphics.\r\n * @note generateElementGraphics produces a Promise<ElementGraphicsResult>. It only ever rejects if some unforeseen error like \"iModel not open\" or \"type error\" occurs.\r\n * @internal\r\n */\r\n export type ElementGraphicsResult = ElementGraphicsContent | ElementGraphicsError;\r\n\r\n /** Information returned by DgnDb.queryDefinitionElementUsage. */\r\n interface DefinitionElementUsageInfo {\r\n /** The subset of input Ids that are SpatialCategory definitions. */\r\n spatialCategoryIds?: Id64String[];\r\n /** The subset of input Ids that are DrawingCategory definitions. */\r\n drawingCategoryIds?: Id64String[];\r\n /** The subset of input Ids that are SubCategory definitions. */\r\n subCategoryIds?: Id64String[];\r\n /** The subset of input Ids that are CategorySelectors. */\r\n categorySelectorIds?: Id64String[];\r\n /** The subset of input Ids that are ModelSelectors. */\r\n modelSelectorIds?: Id64String[];\r\n /** The subset of input Ids that are DisplayStyles. */\r\n displayStyleIds?: Id64String[];\r\n /** The subset of input Ids that are ViewDefinitions. */\r\n viewDefinitionIds?: Id64String[];\r\n /** The subset of input Ids that are GeometryParts. */\r\n geometryPartIds?: Id64String[];\r\n /** The subset of input Ids that are RenderMaterials. */\r\n renderMaterialIds?: Id64String[];\r\n /** The subset of input Ids that are LineStyles. */\r\n lineStyleIds?: Id64String[];\r\n /** The subset of input Ids that are Textures. */\r\n textureIds?: Id64String[];\r\n /** Ids of *other* input DefinitionElements that were not checked for usage. */\r\n otherDefinitionElementIds?: Id64String[];\r\n /** Ids of input DefinitionElements where usage was detected. */\r\n usedIds?: Id64String[];\r\n }\r\n\r\n /** The options for how conflicts are to be handled during change-merging in an OptimisticConcurrencyControlPolicy.\r\n * The scenario is that the caller has made some changes to the *local* briefcase. Now, the caller is attempting to\r\n * merge in changes from iModelHub. The properties of this policy specify how to handle the *incoming* changes from iModelHub.\r\n */\r\n interface BriefcaseManagerOnConflictPolicy {\r\n /** What to do with the incoming change in the case where the same entity was updated locally and also would be updated by the incoming change. */\r\n updateVsUpdate: number;\r\n /** What to do with the incoming change in the case where an entity was updated locally and would be deleted by the incoming change. */\r\n updateVsDelete: number;\r\n /** What to do with the incoming change in the case where an entity was deleted locally and would be updated by the incoming change. */\r\n deleteVsUpdate: number;\r\n }\r\n\r\n /**\r\n * Represents all of the valid EC Specification Versions.\r\n */\r\n const enum ECVersion {\r\n V2_0 = (0x02 << 16),\r\n V3_1 = (0x03 << 16 | 0x01),\r\n V3_2 = (0x03 << 16 | 0x02),\r\n Latest = V3_2,\r\n }\r\n\r\n interface ChangesetFileProps {\r\n index: number;\r\n id: string;\r\n parentId: string;\r\n changesType: number;\r\n description: string;\r\n briefcaseId: number;\r\n pushDate: string;\r\n userCreated: string;\r\n size?: number;\r\n pathname: string;\r\n }\r\n\r\n /** The native object for a Briefcase. */\r\n class DgnDb implements IConcurrentQueryManager {\r\n constructor();\r\n public abandonChanges(): DbResult;\r\n public abandonCreateChangeset(): void;\r\n public addChildPropagatesChangesToParentRelationship(schemaName: string, relClassName: string): BentleyStatus;\r\n public applyChangeset(changeSet: ChangesetFileProps): void;\r\n public attachChangeCache(changeCachePath: string): DbResult;\r\n public beginMultiTxnOperation(): DbResult;\r\n public beginPurgeOperation(): IModelStatus;\r\n public cancelConcurrentQuery(taskId: number): boolean;\r\n public cancelElementGraphicsRequests(requestIds: string[]): void;\r\n public cancelTileContentRequests(treeId: string, contentIds: string[]): void;\r\n public cancelTo(txnId: TxnIdString): IModelStatus;\r\n public captureConcurrentQueryStats(reset: boolean): string;\r\n public classIdToName(idString: string): string;\r\n public classNameToId(className: string): Id64String;\r\n public closeIModel(): void;\r\n public completeCreateChangeset(arg: { index: number }): void;\r\n public computeProjectExtents(wantFullExtents: boolean, wantOutlierIds: boolean): { extents: Range3dProps, fullExtents?: Range3dProps, outliers?: Id64Array };\r\n public concurrentQueryInit(config: ConcurrentQuery.Config): boolean;\r\n public createBRepGeometry(createProps: any/* BRepGeometryCreate */): DbResult;\r\n public createChangeCache(changeCacheFile: ECDb, changeCachePath: string): DbResult;\r\n public createClassViewsInDb(): BentleyStatus;\r\n public createIModel(fileName: string, props: CreateEmptyStandaloneIModelProps): void;\r\n public deleteAllTxns(): void;\r\n public deleteElement(elemIdJson: string): void;\r\n public deleteElementAspect(aspectIdJson: string): void;\r\n public deleteLinkTableRelationship(props: RelationshipProps): DbResult;\r\n public deleteLocalValue(name: string): void;\r\n public deleteModel(modelIdJson: string): void;\r\n public detachChangeCache(): number;\r\n public dumpChangeset(changeSet: ChangesetFileProps): void;\r\n public embedFont(fontProps: FontProps): FontProps;\r\n public enableChangesetSizeStats(enabled: boolean): DbResult;\r\n public enableTxnTesting(): void;\r\n public endMultiTxnOperation(): DbResult;\r\n public endPurgeOperation(): IModelStatus;\r\n public executeTest(testName: string, params: string): string;\r\n public exportGraphics(exportProps: any/* ExportGraphicsProps */): DbResult;\r\n public exportPartGraphics(exportProps: any/* ExportPartGraphicsProps */): DbResult;\r\n public exportSchema(schemaName: string, exportDirectory: string): SchemaWriteStatus;\r\n public exportSchemas(exportDirectory: string): SchemaWriteStatus;\r\n public extractChangedInstanceIdsFromChangeSet(changeSetFileName: string): ErrorStatusOrResult<IModelStatus, string>; // see ChangedInstanceIdsProps\r\n public extractChangeSummary(changeCacheFile: ECDb, changesetFilePath: string): ErrorStatusOrResult<DbResult, string>;\r\n public findGeometryPartReferences(partIds: Id64String[], is2d: boolean): Id64String[];\r\n public generateElementGraphics(request: ElementGraphicsRequestProps): Promise<ElementGraphicsResult>;\r\n public getBriefcaseId(): number;\r\n public getChangesetSize(): number;\r\n public getChangeTrackingMemoryUsed(): number;\r\n public getCurrentChangeset(): ChangesetIndexAndId;\r\n public getCurrentTxnId(): TxnIdString;\r\n public getECClassMetaData(schema: string, className: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public getElement(opts: ElementLoadProps): ElementProps;\r\n public getFilePath(): string; // full path of the DgnDb file\r\n public getGeoCoordinatesFromIModelCoordinates(points: GeoCoordinatesRequestProps): GeoCoordinatesResponseProps;\r\n public getGeometryContainment(props: object): Promise<GeometryContainmentResponseProps>;\r\n public getIModelCoordinatesFromGeoCoordinates(points: IModelCoordinatesRequestProps): IModelCoordinatesResponseProps;\r\n public getIModelId(): GuidString;\r\n public getIModelProps(): IModelProps;\r\n public getITwinId(): GuidString;\r\n public getMassProperties(props: object): Promise<MassPropertiesResponseProps>;\r\n public getModel(opts: ModelLoadProps): ModelProps;\r\n public getMultiTxnOperationDepth(): number;\r\n public getRedoString(): string;\r\n public getSchema(name: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public getSchemaItem(schemaName: string, itemName: string): ErrorStatusOrResult<IModelStatus, string>;\r\n public queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;\r\n public getTempFileBaseName(): string;\r\n public getTileContent(treeId: string, tileId: string, callback: (result: ErrorStatusOrResult<IModelStatus, Uint8Array>) => void): void;\r\n public getTileTree(id: string, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;\r\n public getTxnDescription(txnId: TxnIdString): string;\r\n public getUndoString(): string;\r\n public hasFatalTxnError(): boolean;\r\n public hasPendingTxns(): boolean;\r\n public hasUnsavedChanges(): boolean;\r\n public importFunctionalSchema(): DbResult;\r\n public importSchemas(schemaFileNames: string[]): DbResult;\r\n public importXmlSchemas(serializedXmlSchemas: string[]): DbResult;\r\n public inBulkOperation(): boolean;\r\n public insertCodeSpec(name: string, jsonProperties:{spec: any, scopeSpec: any}): Id64String;\r\n public insertElement(elemProps: ElementProps): Id64String;\r\n public insertElementAspect(aspectProps: ElementAspectProps): void;\r\n public insertLinkTableRelationship(props: RelationshipProps): Id64String;\r\n public insertModel(modelProps: ModelProps): Id64String;\r\n public isChangeCacheAttached(): boolean;\r\n public isEncrypted(): boolean;\r\n public isGeometricModelTrackingSupported(): boolean;\r\n public isIndirectChanges(): boolean;\r\n public isLinkTableRelationship(classFullName: string): boolean | undefined;\r\n public isOpen(): boolean;\r\n public isProfilerPaused(): boolean;\r\n public isProfilerRunning(): boolean;\r\n public isReadonly(): boolean;\r\n public isRedoPossible(): boolean;\r\n public isTxnIdValid(txnId: TxnIdString): boolean;\r\n public isUndoPossible(): boolean;\r\n public logTxnError(fatal: boolean): void;\r\n public openIModel(dbName: string, mode: OpenMode, upgradeOptions?: UpgradeOptions, props?: SnapshotOpenOptions): void;\r\n public pauseProfiler(): DbResult;\r\n public pollConcurrentQuery(taskId: number): { status: ConcurrentQuery.PollStatus, result: string, rowCount: number };\r\n public pollTileContent(treeId: string, tileId: string): ErrorStatusOrResult<IModelStatus, TileContentState | TileContent>;\r\n public postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): { status: ConcurrentQuery.PostStatus, taskId: number };\r\n public processGeometryStream(requestProps: any/* ElementGeometryOptions */): DbResult;\r\n public purgeTileTrees(modelIds: Id64Array | undefined): void;\r\n public queryDefinitionElementUsage(definitionElementIds: Id64Array): DefinitionElementUsageInfo | undefined;\r\n public queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;\r\n public queryFirstTxnId(): TxnIdString;\r\n public queryLocalValue(name: string): string | undefined;\r\n public queryModelExtents(options: {id: Id64String}): { modelExtents: Range3dProps };\r\n public queryNextAvailableFileProperty(props: FilePropertyProps): number;\r\n public queryNextTxnId(txnId: TxnIdString): TxnIdString;\r\n public queryPreviousTxnId(txnId: TxnIdString): TxnIdString;\r\n public readFontMap(): FontMapProps;\r\n public reinstateTxn(): IModelStatus;\r\n public resetBriefcaseId(idValue: number): void;\r\n public restartTxnSession(): void;\r\n public resumeProfiler(): DbResult;\r\n public reverseAll(): IModelStatus;\r\n public reverseTo(txnId: TxnIdString): IModelStatus;\r\n public reverseTxns(numOperations: number): IModelStatus;\r\n public saveChanges(description?: string): DbResult;\r\n public saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): void;\r\n public saveLocalValue(name: string, value: string | undefined): void;\r\n public schemaToXmlString(schemaName: string, version?: ECVersion): string | undefined;\r\n public setBriefcaseManagerOptimisticConcurrencyControlPolicy(conflictPolicy: BriefcaseManagerOnConflictPolicy): RepositoryStatus;\r\n public setBriefcaseManagerPessimisticConcurrencyControlPolicy(): RepositoryStatus;\r\n /** Attempts to enable or disable tracking of changes to geometric models.\r\n * @returns ErrorStatusOrResult, with `result` as a boolean indicating whether tracking is now enabled as a result of this call; or with `error` as `IModelStatus.Readonly` or `IModelStatus.VersionTooOld` if tracking is not supported.\r\n * @see isGeometricModelTrackingSupported.\r\n */\r\n public setGeometricModelTrackingEnabled(enabled: boolean): ErrorStatusOrResult<IModelStatus, boolean>;\r\n public setIModelDb(iModelDb?: any/* IModelDb */): void;\r\n public setIModelId(guid: GuidString): DbResult;\r\n public setITwinId(guid: GuidString): DbResult;\r\n public simplifyElementGeometry(simplifyArgs: any): DbResult;\r\n public startCreateChangeset(): ChangesetFileProps;\r\n public startProfiler(scopeName?: string, scenarioName?: string, overrideFile?: boolean, computeExecutionPlan?: boolean): DbResult;\r\n public stopProfiler(): { rc: DbResult, elapsedTime?: number, scopeId?: number, fileName?: string };\r\n public updateElement(elemProps: ElementProps): void;\r\n public updateElementAspect(aspectProps: ElementAspectProps): void;\r\n public updateElementGeometryCache(props: object): Promise<any>;\r\n public elementGeometryCacheOperation(requestProps: any/* ElementGeometryCacheOperationRequestProps */): BentleyStatus;\r\n public updateGeometryStream(updateProps: any/* UpdateGeometryOptions */): DbResult;\r\n public updateIModelProps(props: IModelProps): void;\r\n public updateLinkTableRelationship(props: RelationshipProps): DbResult;\r\n public updateModel(modelProps: ModelProps): void;\r\n public updateModelGeometryGuid(modelId: Id64String): IModelStatus;\r\n public updateProjectExtents(newExtentsJson: string): void;\r\n public uploadDaemonBlobs(): DbResult;\r\n public writeAffectedElementDependencyGraphToFile(dotFileName: string, changedElems:Id64Array): BentleyStatus;\r\n public writeFullElementDependencyGraphToFile(dotFileName: string): BentleyStatus;\r\n\r\n public static enableSharedCache(enable: boolean): DbResult;\r\n public static encryptDb(dbFileName: string, encryptionProps: IModelEncryptionProps): void;\r\n public static getAssetsDir(): string;\r\n public static vacuum(dbName: string, pageSize?: number): void;\r\n public static flushLog():void;\r\n }\r\n\r\n /**\r\n * RevisionUtility help with debugging and testing\r\n * @internal\r\n */\r\n class RevisionUtility {\r\n constructor();\r\n public static assembleRevision(targetFile: string, rawChangesetFile: string, prefixFile?: string, lzmaPropsJson?: string): BentleyStatus;\r\n public static computeStatistics(sourceFile: string, addPrefix: boolean): string;\r\n public static disassembleRevision(sourceFile: string, targetDir: string): BentleyStatus;\r\n public static dumpChangesetToDb(sourceFile: string, dbFile: string, includeCols: boolean): BentleyStatus;\r\n public static getUncompressSize(sourceFile: string): string;\r\n public static normalizeLzmaParams(lzmaPropsJson?: string): string;\r\n public static recompressRevision(sourceFile: string, targetFile: string, lzmaPropsJson?: string): BentleyStatus;\r\n }\r\n\r\n class ECDb implements IDisposable, IConcurrentQueryManager {\r\n constructor();\r\n public abandonChanges(): DbResult;\r\n public cancelConcurrentQuery(taskId: number): boolean;\r\n public captureConcurrentQueryStats(reset: boolean): string;\r\n public closeDb(): void;\r\n public concurrentQueryInit(config: ConcurrentQuery.Config): boolean;\r\n public createDb(dbName: string): DbResult;\r\n public dispose(): void;\r\n public getFilePath(): string;\r\n public importSchema(schemaPathName: string): DbResult;\r\n public isOpen(): boolean;\r\n public openDb(dbName: string, mode: OpenMode, upgradeProfiles?: boolean): DbResult;\r\n public pollConcurrentQuery(taskId: number): { status: ConcurrentQuery.PollStatus, result: string, rowCount: number };\r\n public postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): { status: ConcurrentQuery.PostStatus, taskId: number };\r\n public saveChanges(changesetName?: string): DbResult;\r\n public static enableSharedCache(enable: boolean): DbResult;\r\n }\r\n\r\n class ChangedElementsECDb implements IDisposable {\r\n constructor();\r\n public dispose(): void;\r\n public createDb(db: DgnDb, dbName: string): DbResult;\r\n public openDb(dbName: string, mode: OpenMode, upgradeProfiles?: boolean): DbResult;\r\n public isOpen(): boolean;\r\n public closeDb(): void;\r\n public processChangesets(db: DgnDb, changesets: ChangesetFileProps[], rulesetId: string, filterSpatial?: boolean, wantParents?: boolean, wantPropertyChecksums?: boolean, rulesetDir?: string, tempDir?: string): DbResult;\r\n public processChangesetsAndRoll(dbFilename: string, dbGuid: string, changesets: ChangesetFileProps[], rulesetId: string, filterSpatial?: boolean, wantParents?: boolean, wantPropertyChecksums?: boolean, rulesetDir?: string, tempDir?: string): DbResult;\r\n public getChangedElements(startChangesetId: string, endChangesetId: string): ErrorStatusOrResult<IModelStatus, any>;\r\n public isProcessed(changesetId: string): boolean;\r\n public cleanCaches(): void;\r\n }\r\n\r\n class ECSqlStatement implements IDisposable {\r\n constructor();\r\n public clearBindings(): DbResult;\r\n public dispose(): void;\r\n public getBinder(param: number | string): ECSqlBinder;\r\n public getColumnCount(): number;\r\n public getValue(columnIndex: number): ECSqlValue;\r\n public prepare(db: DgnDb | ECDb, ecsql: string, logErrors?: boolean): StatusCodeWithMessage<DbResult>;\r\n public reset(): DbResult;\r\n public step(): DbResult;\r\n public stepAsync(callback: (result: DbResult) => void): void;\r\n public stepForInsert(): { status: DbResult, id: string };\r\n public stepForInsertAsync(callback: (result: { status: DbResult, id: string }) => void): void;\r\n public getNativeSql(): string;\r\n }\r\n\r\n class ECSqlBinder {\r\n constructor();\r\n public addArrayElement(): ECSqlBinder;\r\n public bindBlob(base64String: string | Uint8Array | ArrayBuffer | SharedArrayBuffer): DbResult;\r\n public bindBoolean(val: boolean): DbResult;\r\n public bindDateTime(isoString: string): DbResult;\r\n public bindDouble(val: number): DbResult;\r\n public bindGuid(guidStr: GuidString): DbResult;\r\n public bindId(hexStr: Id64String): DbResult;\r\n public bindIdSet(hexVector: Id64String[]): DbResult;\r\n public bindInteger(val: number | string): DbResult;\r\n public bindMember(memberName: string): ECSqlBinder;\r\n public bindNavigation(navIdHexStr: Id64String, relClassName?: string, relClassTableSpace?: string): DbResult;\r\n public bindNull(): DbResult;\r\n public bindPoint2d(x: number, y: number): DbResult;\r\n public bindPoint3d(x: number, y: number, z: number): DbResult;\r\n public bindString(val: string): DbResult;\r\n }\r\n\r\n class ECSqlColumnInfo {\r\n constructor();\r\n public getAccessString(): string;\r\n public getPropertyName(): string;\r\n public getRootClassAlias(): string;\r\n public getRootClassName(): string;\r\n public getRootClassTableSpace(): string;\r\n public getType(): number;\r\n public isEnum(): boolean;\r\n public isGeneratedProperty(): boolean;\r\n public isSystemProperty(): boolean;\r\n }\r\n\r\n class ECSqlValue {\r\n constructor();\r\n public getArrayIterator(): ECSqlValueIterator;\r\n public getBlob(): Uint8Array;\r\n public getBoolean(): boolean;\r\n public getClassNameForClassId(): string;\r\n public getColumnInfo(): ECSqlColumnInfo;\r\n public getDateTime(): string;\r\n public getDouble(): number;\r\n public getEnum(): Array<{ schema: string, name: string, key: string, value: number | string }> | undefined;\r\n public getGeometry(): string;\r\n public getGuid(): GuidString;\r\n public getId(): Id64String;\r\n public getInt(): number;\r\n public getInt64(): number;\r\n public getNavigation(): { id: Id64String, relClassName?: string };\r\n public getPoint2d(): { x: number, y: number };\r\n public getPoint3d(): { x: number, y: number, z: number };\r\n public getString(): string;\r\n public getStructIterator(): ECSqlValueIterator;\r\n public isNull(): boolean;\r\n }\r\n\r\n class ECSqlValueIterator {\r\n constructor();\r\n public getCurrent(): ECSqlValue;\r\n public moveNext(): boolean;\r\n }\r\n\r\n class SQLiteDb implements IDisposable {\r\n constructor();\r\n public abandonChanges(): void;\r\n public closeDb(): void;\r\n public createDb(dbName: string): void;\r\n public dispose(): void;\r\n public getFilePath(): string;\r\n public isOpen(): boolean;\r\n public openDb(dbName: string, mode: OpenMode): void;\r\n public saveChanges(): void;\r\n }\r\n\r\n class SqliteStatement implements IDisposable {\r\n constructor();\r\n public bindBlob(param: number | string, val: Uint8Array | ArrayBuffer | SharedArrayBuffer): DbResult;\r\n public bindDouble(param: number | string, val: number): DbResult;\r\n public bindGuid(param: number | string, guidStr: GuidString): DbResult;\r\n public bindId(param: number | string, hexStr: Id64String): DbResult;\r\n public bindInteger(param: number | string, val: number | string): DbResult;\r\n public bindNull(param: number | string): DbResult;\r\n public bindString(param: number | string, val: string): DbResult;\r\n public clearBindings(): DbResult;\r\n public dispose(): void;\r\n public getColumnCount(): number;\r\n public getColumnName(columnIndex: number): string;\r\n public getColumnType(columnIndex: number): number;\r\n public getValueBlob(columnIndex: number): Uint8Array;\r\n public getValueDouble(columnIndex: number): number;\r\n public getValueGuid(columnIndex: number): GuidString;\r\n public getValueId(columnIndex: number): Id64String;\r\n public getValueInteger(columnIndex: number): number;\r\n public getValueString(columnIndex: number): string;\r\n public isReadonly(): boolean;\r\n public isValueNull(columnIndex: number): boolean;\r\n public prepare(db: DgnDb | ECDb | SQLiteDb, sql: string, logErrors?: boolean): void;\r\n public reset(): DbResult;\r\n public step(): DbResult;\r\n public stepAsync(callback: (result: DbResult) => void): void;\r\n }\r\n\r\n const enum ECPresentationStatus {\r\n Success = 0,\r\n Canceled = 1,\r\n Pending = 2,\r\n Error = 0x10000,\r\n InvalidArgument = Error + 1,\r\n }\r\n\r\n const enum ECPresentationManagerMode {\r\n ReadOnly = \"ro\",\r\n ReadWrite = \"rw\",\r\n }\r\n\r\n interface ECPresentationMemoryHierarchyCacheConfig {\r\n mode: \"memory\";\r\n }\r\n\r\n interface ECPresentationDiskHierarchyCacheConfig {\r\n mode: \"disk\";\r\n directory: string;\r\n }\r\n\r\n interface ECPresentationHybridHierarchyCacheConfig {\r\n mode: \"hybrid\";\r\n disk?: ECPresentationDiskHierarchyCacheConfig;\r\n }\r\n\r\n type ECPresentationHierarchyCacheConfig = ECPresentationMemoryHierarchyCacheConfig | ECPresentationDiskHierarchyCacheConfig | ECPresentationHybridHierarchyCacheConfig;\r\n\r\n interface ECPresentationManagerResponse<TResult> extends ErrorStatusOrResult<ECPresentationStatus, TResult> {\r\n diagnostics?: any;\r\n }\r\n\r\n interface ECPresentationManagerProps {\r\n id: string;\r\n localeDirectories: string[];\r\n taskAllocationsMap: { [priority: number]: number };\r\n defaultFormats: {\r\n [phenomenon: string]: {\r\n unitSystems: string[];\r\n serializedFormat: string;\r\n };\r\n };\r\n mode: ECPresentationManagerMode;\r\n isChangeTrackingEnabled: boolean;\r\n cacheConfig: ECPresentationHierarchyCacheConfig;\r\n useMmap?: boolean | number;\r\n }\r\n\r\n class ECPresentationManager implements IDisposable {\r\n constructor(props: ECPresentationManagerProps);\r\n public forceLoadSchemas(db: DgnDb): Promise<ECPresentationManagerResponse<void>>;\r\n public setupRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;\r\n public setupSupplementalRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;\r\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: string, value: any): ECPresentationManagerResponse<void>;\r\n public unsetRulesetVariableValue(rulesetId: string, variableId: string): ECPresentationManagerResponse<void>;\r\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: string): ECPresentationManagerResponse<any>;\r\n public getRulesets(rulesetId: string): ECPresentationManagerResponse<string>;\r\n public addRuleset(serializedRuleset: string): ECPresentationManagerResponse<string>;\r\n public removeRuleset(rulesetId: string, hash: string): ECPresentationManagerResponse<boolean>;\r\n public clearRulesets(): ECPresentationManagerResponse<void>;\r\n public queueRequest(db: DgnDb, options: string): ECPresentationManagerResponse<string>;\r\n public pollResponse(requestGuid: string): ECPresentationManagerResponse<string>;\r\n public getUpdateInfo(): ECPresentationManagerResponse<any>;\r\n public updateHierarchyState(db: DgnDb, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string): ECPresentationManagerResponse<void>;\r\n public dispose(): void;\r\n }\r\n\r\n namespace ECSchemaXmlContext {\r\n interface SchemaKey {\r\n name: string;\r\n readVersion: number;\r\n writeVersion: number;\r\n minorVersion: number;\r\n }\r\n\r\n const enum SchemaMatchType {\r\n Identical = 0, // Find exact VersionRead, VersionWrite, VersionMinor match as well as Data\r\n Exact = 1, // Find exact VersionRead, VersionWrite, VersionMinor match.\r\n LatestWriteCompatible = 2, // Find latest version with matching VersionRead and VersionWrite\r\n Latest = 3, // Find latest version.\r\n LatestReadCompatible = 4, // Find latest version with matching VersionRead\r\n }\r\n\r\n type SchemaLocaterCallback = (key: SchemaKey, matchType: SchemaMatchType) => string | undefined | void;\r\n }\r\n\r\n class ECSchemaXmlContext {\r\n constructor();\r\n public addSchemaPath(path: string): void;\r\n public setSchemaLocater(locater: ECSchemaXmlContext.SchemaLocaterCallback): void;\r\n public setFirstSchemaLocater(locater: ECSchemaXmlContext.SchemaLocaterCallback): void;\r\n public readSchemaFromXmlFile(filePath: string): ErrorStatusOrResult<BentleyStatus, string>;\r\n }\r\n\r\n class SnapRequest {\r\n constructor();\r\n public doSnap(db: DgnDb, request: any): Promise<any>;\r\n public cancelSnap(): void;\r\n }\r\n\r\n class DownloadV2Checkpoint {\r\n constructor(args: BlobDaemonCommandArg);\r\n public cancelDownload(): void;\r\n public getProgress(): { loaded: number, total: number };\r\n public downloadPromise: Promise<void>;\r\n }\r\n\r\n interface FeatureUserDataKeyValuePair {\r\n key: string;\r\n value: string;\r\n }\r\n\r\n interface NativeUlasClientFeatureEvent {\r\n featureId: string;\r\n versionStr: string;\r\n projectId?: string;\r\n startDateZ?: string;\r\n endDateZ?: string;\r\n featureUserData?: FeatureUserDataKeyValuePair[];\r\n }\r\n\r\n const enum DbChangeStage {\r\n Old = 0,\r\n New = 1,\r\n }\r\n\r\n const enum DbValueType {\r\n IntegerVal = 1,\r\n FloatVal = 2,\r\n TextVal = 3,\r\n BlobVal = 4,\r\n NullVal = 5,\r\n }\r\n\r\n type ChangeValueType = Uint8Array | number| string | null | undefined;\r\n\r\n interface ChangedValue {\r\n new?: ChangeValueType;\r\n old?: ChangeValueType;\r\n }\r\n\r\n class ChangesetReader {\r\n close(): DbResult;\r\n getColumnCount(): number| undefined;\r\n getColumnValue(col: number, stage: DbChangeStage): ChangeValueType;\r\n getColumnValueType(col: number, stage: DbChangeStage): DbValueType | undefined;\r\n getFileName(): string | undefined;\r\n getOpCode(): DbOpcode | undefined;\r\n getRow(): ChangedValue[] | undefined;\r\n getDdlChanges(): string | undefined;\r\n getTableName(): string | undefined;\r\n isIndirectChange(): boolean | undefined;\r\n isPrimaryKeyColumn(col: number): boolean | undefined;\r\n open(fileName: string, invert: boolean): DbResult;\r\n reset(): DbResult;\r\n step(): DbResult;\r\n }\r\n\r\n class DisableNativeAssertions implements IDisposable {\r\n constructor();\r\n public dispose(): void;\r\n }\r\n\r\n class ImportContext implements IDisposable {\r\n constructor(sourceDb: DgnDb, targetDb: DgnDb);\r\n public dispose(): void;\r\n public dump(outputFileName: string): BentleyStatus;\r\n public addClass(sourceClassFullName: string, targetClassFullName: string): BentleyStatus;\r\n public addCodeSpecId(sourceId: Id64String, targetId: Id64String): BentleyStatus;\r\n public addElementId(sourceId: Id64String, targetId: Id64String): BentleyStatus;\r\n public removeElementId(sourceId: Id64String): BentleyStatus;\r\n public findCodeSpecId(sourceId: Id64String): Id64String;\r\n public findElementId(sourceId: Id64String): Id64String;\r\n public cloneElement(sourceId: Id64String, cloneOptions?: CloneElementOptions): ElementProps;\r\n public importCodeSpec(sourceId: Id64String): Id64String;\r\n public importFont(sourceId: number): number;\r\n public hasSubCategoryFilter(): boolean;\r\n public isSubCategoryFiltered(sourceId: Id64String): boolean;\r\n public filterSubCategoryId(sourceId: Id64String): BentleyStatus;\r\n }\r\n\r\n interface CloneElementOptions {\r\n binaryGeometry?: boolean;\r\n }\r\n\r\n interface ChangedInstanceOpsProps {\r\n insert?: Id64String[];\r\n update?: Id64String[];\r\n delete?: Id64String[];\r\n }\r\n\r\n /** The *wire format* of the result returned by DgnDb.extractChangedInstanceIdsFromChangeSet */\r\n interface ChangedInstanceIdsProps {\r\n codeSpec?: ChangedInstanceOpsProps;\r\n model?: ChangedInstanceOpsProps;\r\n element?: ChangedInstanceOpsProps;\r\n aspect?: ChangedInstanceOpsProps;\r\n relationship?: ChangedInstanceOpsProps;\r\n font?: ChangedInstanceOpsProps;\r\n }\r\n\r\n /**\r\n * Temporary implementation to allow crashing the backend for testing purposes\r\n * @internal\r\n */\r\n class NativeDevTools {\r\n public static signal(signalType: number): boolean;\r\n }\r\n\r\n /**\r\n * Native API to get, add, replace, and delete passwords in system's keychain. On macOS the passwords are managed by the Keychain, and on Windows they are managed by Credential Vault.\r\n * Note: That the current implementation has only been setup on MacOS and Windows - platforms that support for Desktop/Electron applications.\r\n * On Linux, passwords are managed by the Secret Service API/libsecret, but support for that platform has NOT been added.\r\n * Code adapted from https://github.com/atom/node-keytar\r\n */\r\n class KeyTar {\r\n /**\r\n * Get the stored password for the service and account.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @returns A promise for the password string.\r\n */\r\n public static getPassword(service: string, account: string): Promise<string | null>;\r\n\r\n /**\r\n * Add the password for the service and account to the keychain.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @param password The string password.\r\n * @returns A promise for the set password completion.\r\n */\r\n public static setPassword(service: string, account: string, password: string): Promise<void>;\r\n\r\n /**\r\n * Delete the stored password for the service and account.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @returns A promise for the deletion status. True on success.\r\n */\r\n public static deletePassword(service: string, account: string): Promise<boolean>;\r\n\r\n /**\r\n * Find a password for the service in the keychain.\r\n * @param service The string service name.\r\n * @returns A promise for the password string.\r\n */\r\n public static findPassword(service: string): Promise<string | null>;\r\n\r\n /**\r\n * Find all accounts and passwords for `service` in the keychain.\r\n * @param service The string service name.\r\n * @returns A promise for the array of found credentials.\r\n */\r\n public static findCredentials(service: string): Promise<Array<{ account: string, password: string }>>;\r\n }\r\n\r\n /**\r\n * Utilities to encode/decode names to convert them to/from names that comply with EC naming rules\r\n */\r\n class ECNameValidation {\r\n /**\r\n * Encodes names to comply with EC naming rules\r\n * @param name Name to be encoded\r\n * @returns Encoded name\r\n * @param name\r\n */\r\n public static encodeToValidName(name: string): string;\r\n\r\n /**\r\n * Decodes names that were encoded to comply with EC naming rules\r\n * @param encodedName Encoded name\r\n * @returns Decoded name\r\n */\r\n public static decodeFromValidName(encodedName: string): string;\r\n }\r\n\r\n const enum TestWorkerState {\r\n NotQueued = 0,\r\n Queued = 1,\r\n Skipped = 2,\r\n Running = 3,\r\n Ok = 4,\r\n Error = 5,\r\n Aborted = 6,\r\n }\r\n\r\n class TestWorker {\r\n public constructor(db: DgnDb);\r\n\r\n public queue(): Promise<void>;\r\n public cancel(): void;\r\n public setReady(): void;\r\n public setThrow(): void;\r\n public isCanceled(): boolean;\r\n public wasExecuted(): boolean;\r\n public getState(): TestWorkerState;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bentley/imodeljs-native",
3
3
  "license": "SEE LICENSE IN LICENSE.md",
4
- "version": "3.0.7",
4
+ "version": "3.0.11",
5
5
  "main": "imodeljs-native.js",
6
6
  "typings": "imodeljs-native",
7
7
  "keywords": [