@bentley/imodeljs-native 3.0.12 → 3.0.18
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.d.ts +3 -2
- package/BlobDaemon.d.ts.map +1 -1
- package/BlobDaemon.js.map +1 -1
- package/NativeLibrary.d.ts +76 -101
- package/NativeLibrary.d.ts.map +1 -1
- package/NativeLibrary.js +5 -9
- package/NativeLibrary.js.map +1 -1
- package/package.json +1 -1
package/BlobDaemon.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/// <reference types="node" />
|
|
5
5
|
import * as child_process from "child_process";
|
|
6
|
-
import { DbResult } from "@
|
|
6
|
+
import { DbResult } from "@itwin/core-bentley";
|
|
7
7
|
/** Error values for negative numbers returned by the BlobDaemon `attach` command. */
|
|
8
8
|
export declare const enum DaemonAttachError {
|
|
9
9
|
INVALID_DAEMON_DIRECTORY = -1,
|
|
@@ -11,7 +11,7 @@ export declare const enum DaemonAttachError {
|
|
|
11
11
|
SOCKET_ERROR = -3
|
|
12
12
|
}
|
|
13
13
|
/** Possible values for `command` argument of `BlobDaemon.command` method. */
|
|
14
|
-
export declare type BlobDaemonCommand = "attach" | "detach" | "create" | "destroy" | "upload" | "download" | "delete" | "copy";
|
|
14
|
+
export declare type BlobDaemonCommand = "attach" | "detach" | "create" | "destroy" | "upload" | "download" | "delete" | "copy" | "queryManifestETag";
|
|
15
15
|
/** Properties for accessing BlockCache directory and cloud storage. */
|
|
16
16
|
export interface BlobCacheProps {
|
|
17
17
|
/** blob storage module: e.g. "azure", "google", "aws". May also include URI style parameters. */
|
|
@@ -107,6 +107,7 @@ export declare class BlobDaemon {
|
|
|
107
107
|
static command(command: BlobDaemonCommand, args: BlobDaemonCommandArg): Promise<{
|
|
108
108
|
result: DaemonAttachError | DbResult | number;
|
|
109
109
|
errMsg: string;
|
|
110
|
+
eTag?: string;
|
|
110
111
|
}>;
|
|
111
112
|
}
|
|
112
113
|
//# sourceMappingURL=BlobDaemon.d.ts.map
|
package/BlobDaemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlobDaemon.d.ts","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"BlobDaemon.d.ts","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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"}
|
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 /** If specified, containers are automatically detached from the daemon process if there have been no connected clients for at least autodetach seconds. \r\n * If set to 0, then containers are never automatically detached. Default=0.\r\n */\r\n autodetach?: number; \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 if (props.autodetach !== undefined)\r\n args.push(`-autodetach`, `${props.autodetach}`)\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":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+CAA+C;AAC/C,yBAAyB;AACzB,yBAAyB;AACzB,6BAA6B;AAE7B,mDAAgD;AAiGhD,MAAa,UAAU;IACb,MAAM,CAAC,OAAO,CAAC,KAAkB;;QACvC,OAAO,MAAA,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,6BAAa,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC/J,CAAC;IACM,MAAM,CAAC,SAAS,CAAC,KAAqB;;QAC3C,OAAO,MAAA,KAAK,CAAC,SAAS,mCAAI,IAAI,CAAC,IAAI,CAAC,6BAAa,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACpF,CAAC;IAED,yHAAyH;IAClH,MAAM,CAAC,KAAK,CAAC,KAAmC;;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,4DAA4D;QAEpG,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,EAAE,EAAE,CAAC,CAAC;QACrJ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,YAAY;YACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,GAAG;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,YAAY;YACpB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,qBAAqB;YAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI;YACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;QACjD,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,kCAAO,KAAK,CAAC,YAAY,KAAE,wBAAwB,EAAE,IAAI,IAAG,CAAC;IACnH,CAAC;IAED,+IAA+I;IACxI,MAAM,CAAC,aAAa,CAAC,KAA2B;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAA0B,EAAE,IAA0B;;QAChF,MAAM,QAAQ,qBAAQ,IAAI,CAAE,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,6BAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;CACF;AA9DD,gCA8DC","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 \"@itwin/core-bentley\";\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\" | \"queryManifestETag\";\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 /** If specified, containers are automatically detached from the daemon process if there have been no connected clients for at least autodetach seconds. \r\n * If set to 0, then containers are never automatically detached. Default=0.\r\n */\r\n autodetach?: number; \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 if (props.autodetach !== undefined)\r\n args.push(`-autodetach`, `${props.autodetach}`)\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, eTag?: 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"]}
|
package/NativeLibrary.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BentleyStatus, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger, OpenMode, RepositoryStatus, StatusCodeWithMessage } from "@
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { BentleyStatus, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger, OpenMode, RepositoryStatus, StatusCodeWithMessage } from "@itwin/core-bentley";
|
|
2
|
+
import { ChangesetIndexAndId, CreateEmptyStandaloneIModelProps, ElementAspectProps, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, FilePropertyProps, FontMapProps, FontProps, GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, GeometryContainmentResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelEncryptionProps, IModelProps, MassPropertiesResponseProps, ModelLoadProps, ModelProps, RelationshipProps, SnapshotOpenOptions, TextureData, TextureLoadProps, TileVersionInfo, UpgradeOptions } from "@itwin/core-common";
|
|
3
|
+
import { Range3dProps } from "@itwin/core-geometry";
|
|
4
4
|
import { BlobDaemonCommandArg } from "./BlobDaemon";
|
|
5
5
|
/** Logger categories used by the native addon
|
|
6
6
|
* @internal
|
|
@@ -19,6 +19,7 @@ export declare class NativeLibrary {
|
|
|
19
19
|
static get archName(): string;
|
|
20
20
|
static get nodeAddonName(): string;
|
|
21
21
|
static get libraryName(): string;
|
|
22
|
+
static get defaultLocalDir(): string;
|
|
22
23
|
static get defaultCacheDir(): string;
|
|
23
24
|
private static _nativeLib?;
|
|
24
25
|
static get nativeLib(): typeof IModelJsNative;
|
|
@@ -87,73 +88,27 @@ export declare namespace IModelJsNative {
|
|
|
87
88
|
function runDaemonCommand(command: string, args: any): any;
|
|
88
89
|
function queryConcurrency(pool: "io" | "cpu"): number;
|
|
89
90
|
/** The return type of synchronous functions that may return an error or a successful result. */
|
|
90
|
-
|
|
91
|
+
type ErrorStatusOrResult<ErrorCodeType, ResultType> = {
|
|
91
92
|
/** Error from the operation. This property is defined if and only if the operation failed. */
|
|
92
|
-
error
|
|
93
|
+
error: StatusCodeWithMessage<ErrorCodeType>;
|
|
94
|
+
result?: never;
|
|
95
|
+
} | {
|
|
96
|
+
error?: never;
|
|
93
97
|
/** Result of the operation. This property is defined if the operation completed successfully */
|
|
94
|
-
result
|
|
95
|
-
}
|
|
98
|
+
result: ResultType;
|
|
99
|
+
};
|
|
96
100
|
namespace ConcurrentQuery {
|
|
97
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* note: the any type in following with replace with actual type once common package is published with changes.
|
|
98
103
|
* @internal
|
|
99
104
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
/** Number of concurrent worker to use. By default set to available CPUs */
|
|
104
|
-
concurrent?: number;
|
|
105
|
-
/** Number of ECSQL cached statement held by a single worker */
|
|
106
|
-
cachedStatementsPerThread?: number;
|
|
107
|
-
/** Maximum size of query queue after which incoming queries are rejected */
|
|
108
|
-
maxQueueSize?: number;
|
|
109
|
-
/** Minimum time interval in seconds after which monitor starts. */
|
|
110
|
-
minMonitorInterval?: number;
|
|
111
|
-
/** idle period of time in seconds after which resources and caches are purged */
|
|
112
|
-
idleCleanupTime?: number;
|
|
113
|
-
/** Poll interval in milliseconds. */
|
|
114
|
-
pollInterval?: number;
|
|
115
|
-
/** Global restriction on query quota */
|
|
116
|
-
quota?: QueryQuota;
|
|
117
|
-
/** Use sqlite shared cache option */
|
|
118
|
-
useSharedCache?: boolean;
|
|
119
|
-
/** Read uncommitted read for better performance */
|
|
120
|
-
useUncommittedRead?: boolean;
|
|
121
|
-
}
|
|
122
|
-
/** Post status for concurrent query manager
|
|
123
|
-
* @internal
|
|
124
|
-
*/
|
|
125
|
-
const enum PostStatus {
|
|
126
|
-
NotInitialized = 0,
|
|
127
|
-
Done = 1,
|
|
128
|
-
QueueSizeExceeded = 2
|
|
129
|
-
}
|
|
130
|
-
/** Poll status for concurrent query manager
|
|
131
|
-
* @internal
|
|
105
|
+
type OnResponse = (response: any) => void;
|
|
106
|
+
/** Configuration for concurrent query manager
|
|
107
|
+
* @internal
|
|
132
108
|
*/
|
|
133
|
-
const enum PollStatus {
|
|
134
|
-
NotInitialized = 0,
|
|
135
|
-
Done = 1,
|
|
136
|
-
Pending = 2,
|
|
137
|
-
Partial = 3,
|
|
138
|
-
Timeout = 4,
|
|
139
|
-
Error = 5,
|
|
140
|
-
NotFound = 6,
|
|
141
|
-
Cancelled = 7
|
|
142
|
-
}
|
|
143
109
|
}
|
|
144
110
|
interface IConcurrentQueryManager {
|
|
145
|
-
|
|
146
|
-
captureConcurrentQueryStats(reset: boolean): string;
|
|
147
|
-
concurrentQueryInit(config: ConcurrentQuery.Config): boolean;
|
|
148
|
-
pollConcurrentQuery(taskId: number): {
|
|
149
|
-
status: ConcurrentQuery.PollStatus;
|
|
150
|
-
result: string;
|
|
151
|
-
rowCount: number;
|
|
152
|
-
};
|
|
153
|
-
postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string): {
|
|
154
|
-
status: ConcurrentQuery.PostStatus;
|
|
155
|
-
taskId: number;
|
|
156
|
-
};
|
|
111
|
+
concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse): void;
|
|
157
112
|
}
|
|
158
113
|
interface TileContent {
|
|
159
114
|
content: Uint8Array;
|
|
@@ -248,8 +203,36 @@ export declare namespace IModelJsNative {
|
|
|
248
203
|
size?: number;
|
|
249
204
|
pathname: string;
|
|
250
205
|
}
|
|
206
|
+
interface EmbeddedFileProps {
|
|
207
|
+
name: string;
|
|
208
|
+
localFileName: string;
|
|
209
|
+
}
|
|
210
|
+
interface EmbedFileArg extends EmbeddedFileProps {
|
|
211
|
+
date: number;
|
|
212
|
+
fileExt?: string;
|
|
213
|
+
compress?: boolean;
|
|
214
|
+
}
|
|
215
|
+
interface EmbedFileQuery {
|
|
216
|
+
size: number;
|
|
217
|
+
date: number;
|
|
218
|
+
fileExt: string;
|
|
219
|
+
}
|
|
220
|
+
interface SQLiteOps {
|
|
221
|
+
embedFile(arg: EmbedFileArg): void;
|
|
222
|
+
extractEmbeddedFile(arg: EmbeddedFileProps): void;
|
|
223
|
+
getFilePath(): string;
|
|
224
|
+
isOpen(): boolean;
|
|
225
|
+
isReadonly(): boolean;
|
|
226
|
+
queryEmbeddedFile(name: string): EmbedFileQuery | undefined;
|
|
227
|
+
queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;
|
|
228
|
+
queryNextAvailableFileProperty(props: FilePropertyProps): number;
|
|
229
|
+
removeEmbeddedFile(name: string): void;
|
|
230
|
+
replaceEmbeddedFile(arg: EmbedFileArg): void;
|
|
231
|
+
saveChanges(): void;
|
|
232
|
+
saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): void;
|
|
233
|
+
}
|
|
251
234
|
/** The native object for a Briefcase. */
|
|
252
|
-
class DgnDb implements IConcurrentQueryManager {
|
|
235
|
+
class DgnDb implements IConcurrentQueryManager, SQLiteOps {
|
|
253
236
|
constructor();
|
|
254
237
|
abandonChanges(): DbResult;
|
|
255
238
|
abandonCreateChangeset(): void;
|
|
@@ -258,11 +241,9 @@ export declare namespace IModelJsNative {
|
|
|
258
241
|
attachChangeCache(changeCachePath: string): DbResult;
|
|
259
242
|
beginMultiTxnOperation(): DbResult;
|
|
260
243
|
beginPurgeOperation(): IModelStatus;
|
|
261
|
-
cancelConcurrentQuery(taskId: number): boolean;
|
|
262
244
|
cancelElementGraphicsRequests(requestIds: string[]): void;
|
|
263
245
|
cancelTileContentRequests(treeId: string, contentIds: string[]): void;
|
|
264
246
|
cancelTo(txnId: TxnIdString): IModelStatus;
|
|
265
|
-
captureConcurrentQueryStats(reset: boolean): string;
|
|
266
247
|
classIdToName(idString: string): string;
|
|
267
248
|
classNameToId(className: string): Id64String;
|
|
268
249
|
closeIModel(): void;
|
|
@@ -274,7 +255,7 @@ export declare namespace IModelJsNative {
|
|
|
274
255
|
fullExtents?: Range3dProps;
|
|
275
256
|
outliers?: Id64Array;
|
|
276
257
|
};
|
|
277
|
-
|
|
258
|
+
concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse): void;
|
|
278
259
|
createBRepGeometry(createProps: any): DbResult;
|
|
279
260
|
createChangeCache(changeCacheFile: ECDb, changeCachePath: string): DbResult;
|
|
280
261
|
createClassViewsInDb(): BentleyStatus;
|
|
@@ -287,6 +268,8 @@ export declare namespace IModelJsNative {
|
|
|
287
268
|
deleteModel(modelIdJson: string): void;
|
|
288
269
|
detachChangeCache(): number;
|
|
289
270
|
dumpChangeset(changeSet: ChangesetFileProps): void;
|
|
271
|
+
elementGeometryCacheOperation(requestProps: any): BentleyStatus;
|
|
272
|
+
embedFile(arg: EmbedFileArg): void;
|
|
290
273
|
embedFont(fontProps: FontProps): FontProps;
|
|
291
274
|
enableChangesetSizeStats(enabled: boolean): DbResult;
|
|
292
275
|
enableTxnTesting(): void;
|
|
@@ -299,6 +282,7 @@ export declare namespace IModelJsNative {
|
|
|
299
282
|
exportSchemas(exportDirectory: string): SchemaWriteStatus;
|
|
300
283
|
extractChangedInstanceIdsFromChangeSet(changeSetFileName: string): ErrorStatusOrResult<IModelStatus, string>;
|
|
301
284
|
extractChangeSummary(changeCacheFile: ECDb, changesetFilePath: string): ErrorStatusOrResult<DbResult, string>;
|
|
285
|
+
extractEmbeddedFile(arg: EmbeddedFileProps): void;
|
|
302
286
|
findGeometryPartReferences(partIds: Id64String[], is2d: boolean): Id64String[];
|
|
303
287
|
generateElementGraphics(request: ElementGraphicsRequestProps): Promise<ElementGraphicsResult>;
|
|
304
288
|
getBriefcaseId(): number;
|
|
@@ -321,7 +305,6 @@ export declare namespace IModelJsNative {
|
|
|
321
305
|
getRedoString(): string;
|
|
322
306
|
getSchema(name: string): ErrorStatusOrResult<IModelStatus, string>;
|
|
323
307
|
getSchemaItem(schemaName: string, itemName: string): ErrorStatusOrResult<IModelStatus, string>;
|
|
324
|
-
queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;
|
|
325
308
|
getTempFileBaseName(): string;
|
|
326
309
|
getTileContent(treeId: string, tileId: string, callback: (result: ErrorStatusOrResult<IModelStatus, Uint8Array>) => void): void;
|
|
327
310
|
getTileTree(id: string, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;
|
|
@@ -357,19 +340,11 @@ export declare namespace IModelJsNative {
|
|
|
357
340
|
logTxnError(fatal: boolean): void;
|
|
358
341
|
openIModel(dbName: string, mode: OpenMode, upgradeOptions?: UpgradeOptions, props?: SnapshotOpenOptions): void;
|
|
359
342
|
pauseProfiler(): DbResult;
|
|
360
|
-
pollConcurrentQuery(taskId: number): {
|
|
361
|
-
status: ConcurrentQuery.PollStatus;
|
|
362
|
-
result: string;
|
|
363
|
-
rowCount: number;
|
|
364
|
-
};
|
|
365
343
|
pollTileContent(treeId: string, tileId: string): ErrorStatusOrResult<IModelStatus, TileContentState | TileContent>;
|
|
366
|
-
postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): {
|
|
367
|
-
status: ConcurrentQuery.PostStatus;
|
|
368
|
-
taskId: number;
|
|
369
|
-
};
|
|
370
344
|
processGeometryStream(requestProps: any): DbResult;
|
|
371
345
|
purgeTileTrees(modelIds: Id64Array | undefined): void;
|
|
372
346
|
queryDefinitionElementUsage(definitionElementIds: Id64Array): DefinitionElementUsageInfo | undefined;
|
|
347
|
+
queryEmbeddedFile(name: string): EmbedFileQuery | undefined;
|
|
373
348
|
queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;
|
|
374
349
|
queryFirstTxnId(): TxnIdString;
|
|
375
350
|
queryLocalValue(name: string): string | undefined;
|
|
@@ -381,8 +356,11 @@ export declare namespace IModelJsNative {
|
|
|
381
356
|
queryNextAvailableFileProperty(props: FilePropertyProps): number;
|
|
382
357
|
queryNextTxnId(txnId: TxnIdString): TxnIdString;
|
|
383
358
|
queryPreviousTxnId(txnId: TxnIdString): TxnIdString;
|
|
359
|
+
queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;
|
|
384
360
|
readFontMap(): FontMapProps;
|
|
385
361
|
reinstateTxn(): IModelStatus;
|
|
362
|
+
removeEmbeddedFile(name: string): void;
|
|
363
|
+
replaceEmbeddedFile(arg: EmbedFileArg): void;
|
|
386
364
|
resetBriefcaseId(idValue: number): void;
|
|
387
365
|
restartTxnSession(): void;
|
|
388
366
|
resumeProfiler(): DbResult;
|
|
@@ -395,10 +373,6 @@ export declare namespace IModelJsNative {
|
|
|
395
373
|
schemaToXmlString(schemaName: string, version?: ECVersion): string | undefined;
|
|
396
374
|
setBriefcaseManagerOptimisticConcurrencyControlPolicy(conflictPolicy: BriefcaseManagerOnConflictPolicy): RepositoryStatus;
|
|
397
375
|
setBriefcaseManagerPessimisticConcurrencyControlPolicy(): RepositoryStatus;
|
|
398
|
-
/** Attempts to enable or disable tracking of changes to geometric models.
|
|
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.
|
|
400
|
-
* @see isGeometricModelTrackingSupported.
|
|
401
|
-
*/
|
|
402
376
|
setGeometricModelTrackingEnabled(enabled: boolean): ErrorStatusOrResult<IModelStatus, boolean>;
|
|
403
377
|
setIModelDb(iModelDb?: any): void;
|
|
404
378
|
setIModelId(guid: GuidString): DbResult;
|
|
@@ -415,7 +389,6 @@ export declare namespace IModelJsNative {
|
|
|
415
389
|
updateElement(elemProps: ElementProps): void;
|
|
416
390
|
updateElementAspect(aspectProps: ElementAspectProps): void;
|
|
417
391
|
updateElementGeometryCache(props: object): Promise<any>;
|
|
418
|
-
elementGeometryCacheOperation(requestProps: any): BentleyStatus;
|
|
419
392
|
updateGeometryStream(updateProps: any): DbResult;
|
|
420
393
|
updateIModelProps(props: IModelProps): void;
|
|
421
394
|
updateLinkTableRelationship(props: RelationshipProps): DbResult;
|
|
@@ -427,9 +400,9 @@ export declare namespace IModelJsNative {
|
|
|
427
400
|
writeFullElementDependencyGraphToFile(dotFileName: string): BentleyStatus;
|
|
428
401
|
static enableSharedCache(enable: boolean): DbResult;
|
|
429
402
|
static encryptDb(dbFileName: string, encryptionProps: IModelEncryptionProps): void;
|
|
403
|
+
static flushLog(): void;
|
|
430
404
|
static getAssetsDir(): string;
|
|
431
405
|
static vacuum(dbName: string, pageSize?: number): void;
|
|
432
|
-
static flushLog(): void;
|
|
433
406
|
}
|
|
434
407
|
/**
|
|
435
408
|
* RevisionUtility help with debugging and testing
|
|
@@ -448,27 +421,16 @@ export declare namespace IModelJsNative {
|
|
|
448
421
|
class ECDb implements IDisposable, IConcurrentQueryManager {
|
|
449
422
|
constructor();
|
|
450
423
|
abandonChanges(): DbResult;
|
|
451
|
-
cancelConcurrentQuery(taskId: number): boolean;
|
|
452
|
-
captureConcurrentQueryStats(reset: boolean): string;
|
|
453
424
|
closeDb(): void;
|
|
454
|
-
concurrentQueryInit(config: ConcurrentQuery.Config): boolean;
|
|
455
425
|
createDb(dbName: string): DbResult;
|
|
456
426
|
dispose(): void;
|
|
457
427
|
getFilePath(): string;
|
|
458
428
|
importSchema(schemaPathName: string): DbResult;
|
|
459
429
|
isOpen(): boolean;
|
|
460
430
|
openDb(dbName: string, mode: OpenMode, upgradeProfiles?: boolean): DbResult;
|
|
461
|
-
pollConcurrentQuery(taskId: number): {
|
|
462
|
-
status: ConcurrentQuery.PollStatus;
|
|
463
|
-
result: string;
|
|
464
|
-
rowCount: number;
|
|
465
|
-
};
|
|
466
|
-
postConcurrentQuery(ecsql: string, bindings: string, limit: QueryLimit, quota: QueryQuota, priority: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): {
|
|
467
|
-
status: ConcurrentQuery.PostStatus;
|
|
468
|
-
taskId: number;
|
|
469
|
-
};
|
|
470
431
|
saveChanges(changesetName?: string): DbResult;
|
|
471
432
|
static enableSharedCache(enable: boolean): DbResult;
|
|
433
|
+
concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse): void;
|
|
472
434
|
}
|
|
473
435
|
class ChangedElementsECDb implements IDisposable {
|
|
474
436
|
constructor();
|
|
@@ -576,16 +538,26 @@ export declare namespace IModelJsNative {
|
|
|
576
538
|
getCurrent(): ECSqlValue;
|
|
577
539
|
moveNext(): boolean;
|
|
578
540
|
}
|
|
579
|
-
class SQLiteDb implements IDisposable {
|
|
541
|
+
class SQLiteDb implements SQLiteOps, IDisposable {
|
|
580
542
|
constructor();
|
|
581
543
|
abandonChanges(): void;
|
|
582
544
|
closeDb(): void;
|
|
583
545
|
createDb(dbName: string): void;
|
|
584
546
|
dispose(): void;
|
|
547
|
+
embedFile(arg: EmbedFileArg): void;
|
|
548
|
+
extractEmbeddedFile(arg: EmbeddedFileProps): void;
|
|
549
|
+
flushCloudUpload(): DbResult;
|
|
585
550
|
getFilePath(): string;
|
|
586
551
|
isOpen(): boolean;
|
|
552
|
+
isReadonly(): boolean;
|
|
587
553
|
openDb(dbName: string, mode: OpenMode): void;
|
|
554
|
+
queryEmbeddedFile(name: string): EmbedFileQuery | undefined;
|
|
555
|
+
queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;
|
|
556
|
+
queryNextAvailableFileProperty(props: FilePropertyProps): number;
|
|
557
|
+
removeEmbeddedFile(name: string): void;
|
|
558
|
+
replaceEmbeddedFile(arg: EmbedFileArg): void;
|
|
588
559
|
saveChanges(): void;
|
|
560
|
+
saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): void;
|
|
589
561
|
}
|
|
590
562
|
class SqliteStatement implements IDisposable {
|
|
591
563
|
constructor();
|
|
@@ -637,9 +609,9 @@ export declare namespace IModelJsNative {
|
|
|
637
609
|
disk?: ECPresentationDiskHierarchyCacheConfig;
|
|
638
610
|
}
|
|
639
611
|
type ECPresentationHierarchyCacheConfig = ECPresentationMemoryHierarchyCacheConfig | ECPresentationDiskHierarchyCacheConfig | ECPresentationHybridHierarchyCacheConfig;
|
|
640
|
-
|
|
612
|
+
type ECPresentationManagerResponse<TResult> = ErrorStatusOrResult<ECPresentationStatus, TResult> & {
|
|
641
613
|
diagnostics?: any;
|
|
642
|
-
}
|
|
614
|
+
};
|
|
643
615
|
interface ECPresentationManagerProps {
|
|
644
616
|
id: string;
|
|
645
617
|
localeDirectories: string[];
|
|
@@ -703,14 +675,17 @@ export declare namespace IModelJsNative {
|
|
|
703
675
|
doSnap(db: DgnDb, request: any): Promise<any>;
|
|
704
676
|
cancelSnap(): void;
|
|
705
677
|
}
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
678
|
+
type CloudDbTransferArg = BlobDaemonCommandArg & {
|
|
679
|
+
direction: "upload" | "download";
|
|
680
|
+
};
|
|
681
|
+
class CloudDbTransfer {
|
|
682
|
+
constructor(args: CloudDbTransferArg);
|
|
683
|
+
cancelTransfer(): void;
|
|
709
684
|
getProgress(): {
|
|
710
685
|
loaded: number;
|
|
711
686
|
total: number;
|
|
712
687
|
};
|
|
713
|
-
|
|
688
|
+
promise: Promise<void>;
|
|
714
689
|
}
|
|
715
690
|
interface FeatureUserDataKeyValuePair {
|
|
716
691
|
key: string;
|
package/NativeLibrary.d.ts.map
CHANGED
|
@@ -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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"}
|
package/NativeLibrary.js
CHANGED
|
@@ -35,27 +35,23 @@ class NativeLibrary {
|
|
|
35
35
|
static get libraryName() {
|
|
36
36
|
return path.join("@bentley", "imodeljs-native", NativeLibrary.archName, NativeLibrary.nodeAddonName);
|
|
37
37
|
}
|
|
38
|
-
static get
|
|
39
|
-
let baseDir;
|
|
38
|
+
static get defaultLocalDir() {
|
|
40
39
|
const homedir = os.homedir();
|
|
41
40
|
const platform = os.platform();
|
|
42
41
|
switch (platform) {
|
|
43
42
|
case "win32":
|
|
44
|
-
|
|
45
|
-
break;
|
|
43
|
+
return path.join(homedir, "AppData", "Local");
|
|
46
44
|
case "darwin":
|
|
47
45
|
case "ios":
|
|
48
|
-
|
|
49
|
-
break;
|
|
46
|
+
return path.join(homedir, "Library", "Caches");
|
|
50
47
|
case "linux":
|
|
51
48
|
case "android":
|
|
52
|
-
|
|
53
|
-
break;
|
|
49
|
+
return path.join(homedir, ".cache");
|
|
54
50
|
default:
|
|
55
51
|
throw new Error("Error - unknown platform");
|
|
56
52
|
}
|
|
57
|
-
return path.join(baseDir, "iModelJs");
|
|
58
53
|
}
|
|
54
|
+
static get defaultCacheDir() { return path.join(this.defaultLocalDir, "iModelJs"); }
|
|
59
55
|
static get nativeLib() { return this.load(); }
|
|
60
56
|
static load() {
|
|
61
57
|
var _a;
|
package/NativeLibrary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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,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,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAChD,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtC;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;IACH,CAAC;IACM,MAAM,KAAK,eAAe,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE5F,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;AAjCD,sCAiCC","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, RepositoryStatus,\r\n StatusCodeWithMessage,\r\n} from \"@itwin/core-bentley\";\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, RelationshipProps, SnapshotOpenOptions, TextureData, TextureLoadProps, TileVersionInfo, UpgradeOptions,\r\n} from \"@itwin/core-common\";\r\nimport { Range3dProps } from \"@itwin/core-geometry\";\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 defaultLocalDir(): 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 return path.join(homedir, \"AppData\", \"Local\");\r\n case \"darwin\":\r\n case \"ios\":\r\n return path.join(homedir, \"Library\", \"Caches\");\r\n case \"linux\":\r\n case \"android\":\r\n return path.join(homedir, \".cache\");\r\n default:\r\n throw new Error(\"Error - unknown platform\");\r\n }\r\n }\r\n public static get defaultCacheDir(): string { return path.join(this.defaultLocalDir, \"iModelJs\"); }\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 type 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 result?: never;\r\n } | {\r\n error?:never\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 /**\r\n * note: the any type in following with replace with actual type once common package is published with changes.\r\n * @internal\r\n */\r\n type OnResponse = (response: any)=>void;\r\n /** Configuration for concurrent query manager\r\n * @internal\r\n */\r\n }\r\n interface IConcurrentQueryManager {\r\n concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse):void;\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 interface EmbeddedFileProps {\r\n name: string,\r\n localFileName: string,\r\n }\r\n\r\n interface EmbedFileArg extends EmbeddedFileProps {\r\n date: number,\r\n fileExt?: string,\r\n compress?: boolean;\r\n }\r\n\r\n interface EmbedFileQuery {\r\n size: number,\r\n date: number,\r\n fileExt: string\r\n }\r\n\r\n interface SQLiteOps {\r\n embedFile(arg: EmbedFileArg): void;\r\n extractEmbeddedFile(arg: EmbeddedFileProps): void;\r\n getFilePath(): string;\r\n isOpen(): boolean;\r\n isReadonly(): boolean;\r\n queryEmbeddedFile(name: string): EmbedFileQuery | undefined;\r\n queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;\r\n queryNextAvailableFileProperty(props: FilePropertyProps): number;\r\n removeEmbeddedFile(name: string): void;\r\n replaceEmbeddedFile(arg: EmbedFileArg): void;\r\n saveChanges(): void;\r\n saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): void;\r\n }\r\n\r\n /** The native object for a Briefcase. */\r\n class DgnDb implements IConcurrentQueryManager, SQLiteOps {\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 cancelElementGraphicsRequests(requestIds: string[]): void;\r\n public cancelTileContentRequests(treeId: string, contentIds: string[]): void;\r\n public cancelTo(txnId: TxnIdString): IModelStatus;\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 concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse):void;\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 elementGeometryCacheOperation(requestProps: any/* ElementGeometryCacheOperationRequestProps */): BentleyStatus;\r\n public embedFile(arg: EmbedFileArg): 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 extractEmbeddedFile(arg: EmbeddedFileProps): void;\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 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 pollTileContent(treeId: string, tileId: string): ErrorStatusOrResult<IModelStatus, TileContentState | TileContent>;\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 queryEmbeddedFile(name: string): EmbedFileQuery | 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 queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;\r\n public readFontMap(): FontMapProps;\r\n public reinstateTxn(): IModelStatus;\r\n public removeEmbeddedFile( name: string): void;\r\n public replaceEmbeddedFile(arg: EmbedFileArg): void;\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 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 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 flushLog():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 closeDb(): void;\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 saveChanges(changesetName?: string): DbResult;\r\n public static enableSharedCache(enable: boolean): DbResult;\r\n public concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse):void;\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 SQLiteOps, 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 embedFile(arg: EmbedFileArg): void;\r\n public extractEmbeddedFile(arg: EmbeddedFileProps): void;\r\n public flushCloudUpload(): DbResult;\r\n public getFilePath(): string;\r\n public isOpen(): boolean;\r\n public isReadonly(): boolean;\r\n public openDb(dbName: string, mode: OpenMode): void;\r\n public queryEmbeddedFile(name: string): EmbedFileQuery | undefined;\r\n public queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;\r\n public queryNextAvailableFileProperty(props: FilePropertyProps): number;\r\n public removeEmbeddedFile( name: string): void;\r\n public replaceEmbeddedFile(arg: EmbedFileArg): void;\r\n public saveChanges(): void;\r\n public saveFileProperty(props: FilePropertyProps, strValue: string | undefined, blobVal: Uint8Array | undefined): 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 type ECPresentationManagerResponse<TResult> = 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 type CloudDbTransferArg = BlobDaemonCommandArg & { direction: \"upload\" | \"download\" }\r\n\r\n class CloudDbTransfer {\r\n constructor(args: CloudDbTransferArg);\r\n public cancelTransfer(): void;\r\n public getProgress(): { loaded: number, total: number };\r\n public promise: 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"]}
|