@bentley/imodeljs-native 3.0.11 → 3.0.17

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 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 "@bentley/bentleyjs-core";
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,
@@ -55,6 +55,10 @@ export interface DaemonProps {
55
55
  lazy?: boolean;
56
56
  /** if true, extra space for nonces is not reserved and no nonce values are used for encrypted pages. Default=false. */
57
57
  noNonce?: boolean;
58
+ /** If specified, containers are automatically detached from the daemon process if there have been no connected clients for at least autodetach seconds.
59
+ * If set to 0, then containers are never automatically detached. Default=0.
60
+ */
61
+ autodetach?: number;
58
62
  /** options for spawn */
59
63
  spawnOptions?: child_process.SpawnOptions;
60
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BlobDaemon.d.ts","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlobDaemon.d.ts","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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"}
package/BlobDaemon.js CHANGED
@@ -54,6 +54,8 @@ class BlobDaemon {
54
54
  args.push(`-lazy`);
55
55
  if (props.noNonce)
56
56
  args.push(`-nononce`);
57
+ if (props.autodetach !== undefined)
58
+ args.push(`-autodetach`, `${props.autodetach}`);
57
59
  return child_process.spawn(this.exeName(props), args, Object.assign(Object.assign({}, props.spawnOptions), { windowsVerbatimArguments: true }));
58
60
  }
59
61
  /** 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. */
package/BlobDaemon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"BlobDaemon.js","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport * as child_process from \"child_process\";\r\nimport * as fs from \"fs\";\r\nimport * as os from \"os\";\r\nimport * as path from \"path\";\r\nimport { DbResult } from \"@bentley/bentleyjs-core\";\r\nimport { NativeLibrary } from \"./NativeLibrary\";\r\n\r\n// cspell:ignore polltime blocksize cachesize notimestamps deletetime gctime retrytime nwrite ndelete\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** Error values for negative numbers returned by the BlobDaemon `attach` command. */\r\nexport const enum DaemonAttachError {\r\n INVALID_DAEMON_DIRECTORY = -1, DAEMON_NOT_ACTIVE = -2, SOCKET_ERROR = -3,\r\n}\r\n\r\n/** Possible values for `command` argument of `BlobDaemon.command` method. */\r\nexport type BlobDaemonCommand = \"attach\" | \"detach\" | \"create\" | \"destroy\" | \"upload\" | \"download\" | \"delete\" | \"copy\";\r\n\r\n/** Properties for accessing BlockCache directory and cloud storage. */\r\nexport interface BlobCacheProps {\r\n /** blob storage module: e.g. \"azure\", \"google\", \"aws\". May also include URI style parameters. */\r\n storageType: string;\r\n /** blob store account name. */\r\n user: string;\r\n /** full path of directory for daemon to store its files. Must be on fast local drive. */\r\n daemonDir?: string;\r\n /** block size, in megabytes used by CREATE command. Default is 4MB. */\r\n blockSizeMb?: number;\r\n}\r\n\r\n/** Properties for creating a new instance of the BlockCache daemon process. */\r\nexport interface DaemonProps {\r\n /** full path name of daemon.exe file. Default is to find \"BeBlobDaemon.exe\" in the same directory as this library. */\r\n exePath?: string;\r\n /** daemon connection address. Default is \"127.0.0.1\" */\r\n addr?: string;\r\n /** port number. Default 22002 */\r\n portNumber?: number;\r\n /** maximum cache Size. Must be a number followed by either M (for megabytes) or G (for gigabytes.) Default is 1G */\r\n maxCacheSize?: string;\r\n /** How often cloud storage is polled for database changes made by other daemon processes, in seconds. Default is 60. */\r\n pollTime?: number;\r\n /** How long an overwritten block is allowed to persist before it is permanently deleted, in seconds. Default is 3600. */\r\n deleteTime?: number;\r\n /** How often each daemon process scans for and deletes such garbage files, in seconds. Default is 3600. */\r\n gcTime?: number;\r\n /** How long after a failed checkpoint-to-upload operation the daemon process waits before retrying, in seconds. Default=10. */\r\n retryTime?: number;\r\n /** The maximum number of concurrent uploads (PUT requests) the daemon will make when uploading a new version of a database to cloud storage. Default=10. */\r\n nWrites?: number;\r\n /** The maximum number of concurrent deletes (DELETE requests) the daemon will make when uploading a new version of a database. Default=10. */\r\n nDeletes?: number;\r\n /** If true, unmodified cache entries are retained across runs of the daemon. Default=false. */\r\n persistAcrossSessions?: boolean;\r\n /** logging options */\r\n log?: string;\r\n /** if true, don't include timestamps in log messages */\r\n noTimeStamps?: boolean;\r\n /** if true, create local files only when first accessed. Default=false. */\r\n lazy?: boolean;\r\n /** if true, extra space for nonces is not reserved and no nonce values are used for encrypted pages. Default=false. */\r\n noNonce?: boolean;\r\n /** options for spawn */\r\n spawnOptions?: child_process.SpawnOptions;\r\n}\r\n\r\n/** The name and key for a blob container */\r\nexport interface BlobContainerProps {\r\n /** the name of the container. */\r\n container: string;\r\n /** SAS key that grants access to the container. */\r\n auth: string;\r\n /** if true, container is attached with write permissions. */\r\n writeable?: boolean;\r\n /** if true, container is attached in \"secure\" mode (encrypts blocks in cachefile). */\r\n secure?: boolean;\r\n}\r\n\r\n/** Properties for uploading, downloading, copying, or deleting a database, by its alias, within a BlobContainer. */\r\nexport interface BlobDbProps {\r\n /** The alias of the database within the container */\r\n dbAlias: string;\r\n /** local file name. Applies only to `upload` and `download` commands. */\r\n localFile?: string;\r\n /** A new alias, used only for the `copy` command */\r\n toAlias?: string;\r\n /** progress callback for `upload` and `download` commands. Return non-zero to abort operation. */\r\n onProgress?: (nDone: number, nTotal: number) => number;\r\n}\r\n\r\n/** Optional arguments for Db upload and download commands. */\r\nexport interface UploadDownloadArgs {\r\n /** The number of simultaneous HTTP requests. */\r\n nRequests?: number;\r\n}\r\n\r\nexport type BlobDaemonCommandArg = BlobDbProps & BlobCacheProps & BlobContainerProps & UploadDownloadArgs;\r\n\r\nexport class BlobDaemon {\r\n private static exeName(props: DaemonProps) {\r\n return props.exePath ?? path.join(path.dirname(require.resolve(NativeLibrary.libraryName)), os.platform() === \"win32\" ? \"BeBlobDaemon.exe\" : \"BeBlobDaemon\");\r\n }\r\n public static daemonDir(props: BlobCacheProps) {\r\n return props.daemonDir ?? path.join(NativeLibrary.defaultCacheDir, \"blob-daemon\");\r\n }\r\n\r\n /** Start the BlobDaemon process using the supplied properties. The process will be detached from the current process. */\r\n public static start(props: DaemonProps & BlobCacheProps): child_process.ChildProcess {\r\n const dir = this.daemonDir(props);\r\n fs.mkdirSync(dir, { recursive: true }); // make sure the directory exists before starting the daemon\r\n\r\n const args = [`daemon`, `-module`, `${props.storageType}`, `-user`, `${props.user}`, `-directory`, `${dir}`, `-polltime`, `${props.pollTime ?? 60}`];\r\n if (props.addr !== undefined)\r\n args.push(`-addr`, `${props.addr}`);\r\n if (props.portNumber !== undefined)\r\n args.push(`-port`, `${props.portNumber}`);\r\n if (props.maxCacheSize)\r\n args.push(`-cachesize`, `${props.maxCacheSize}`);\r\n if (props.log)\r\n args.push(`-log`, `${props.log}`);\r\n if (props.deleteTime !== undefined)\r\n args.push(`-deletetime`, `${props.deleteTime}`);\r\n if (props.gcTime !== undefined)\r\n args.push(`-gctime`, `${props.gcTime}`);\r\n if (props.retryTime !== undefined)\r\n args.push(`-retrytime`, `${props.retryTime}`);\r\n if (props.nWrites !== undefined)\r\n args.push(`-nwrite`, `${props.nWrites}`);\r\n if (props.nDeletes !== undefined)\r\n args.push(`-ndelete`, `${props.nDeletes}`);\r\n if (props.noTimeStamps)\r\n args.push(`-notimestamps`);\r\n if (props.persistAcrossSessions)\r\n args.push(`-persistent`);\r\n if (props.lazy)\r\n args.push(`-lazy`);\r\n if (props.noNonce)\r\n args.push(`-nononce`);\r\n return child_process.spawn(this.exeName(props), args, { ...props.spawnOptions, windowsVerbatimArguments: true });\r\n }\r\n\r\n /** Get the full path to the local file that can be used to open a BlobDb. For the file to exist, you must first issue the \"attach\" command. */\r\n public static getDbFileName(props: BlobDaemonCommandArg) {\r\n return path.join(this.daemonDir(props), props.container, props.dbAlias);\r\n }\r\n\r\n /** Perform one of the BlobDaemon commands.\r\n * @param command The BlobDaemon command to run.\r\n * @param args arguments to the command.\r\n * @return `Promise<{ result, errMsg }>` the meaning of result varies by command, but 0 always means success. For `attach`, negative values are\r\n * `DaemonAttachError`, positive numbers below 400 are `SQLITE_xxx` errors, and values 400 and above are HTTP errors.\r\n * `errMsg` is blank on success, but an english message useful for diagnostics otherwise.\r\n */\r\n public static async command(command: BlobDaemonCommand, args: BlobDaemonCommandArg): Promise<{ result: DaemonAttachError | DbResult | number, errMsg: string }> {\r\n const fullArgs = { ...args };\r\n fullArgs.daemonDir = fullArgs.daemonDir ?? this.daemonDir(args);\r\n return NativeLibrary.nativeLib.runDaemonCommand(command, fullArgs);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BlobDaemon.js","sourceRoot":"","sources":["../src/BlobDaemon.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport * as child_process from \"child_process\";\r\nimport * as fs from \"fs\";\r\nimport * as os from \"os\";\r\nimport * as path from \"path\";\r\nimport { DbResult } from \"@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\";\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,6 +1,6 @@
1
- import { BentleyStatus, DbOpcode, DbResult, GuidString, Id64Array, Id64String, IDisposable, IModelStatus, Logger, OpenMode, RepositoryStatus, StatusCodeWithMessage } from "@bentley/bentleyjs-core";
2
- import { Range3dProps } from "@bentley/geometry-core";
3
- import { ChangesetIndexAndId, CreateEmptyStandaloneIModelProps, ElementAspectProps, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, FilePropertyProps, FontMapProps, FontProps, GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, GeometryContainmentResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelEncryptionProps, IModelProps, MassPropertiesResponseProps, ModelLoadProps, ModelProps, QueryLimit, QueryPriority, QueryQuota, RelationshipProps, SnapshotOpenOptions, TextureData, TextureLoadProps, TileVersionInfo, UpgradeOptions } from "@bentley/imodeljs-common";
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;
@@ -94,66 +95,17 @@ export declare namespace IModelJsNative {
94
95
  result?: ResultType;
95
96
  }
96
97
  namespace ConcurrentQuery {
97
- /** Configuration for concurrent query manager
98
+ /**
99
+ * note: the any type in following with replace with actual type once common package is published with changes.
98
100
  * @internal
99
101
  */
100
- interface Config {
101
- /** Time seconds after which any completed query result will be purged */
102
- autoExpireTimeForCompletedQuery?: number;
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
102
+ type OnResponse = (response: any) => void;
103
+ /** Configuration for concurrent query manager
104
+ * @internal
132
105
  */
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
106
  }
144
107
  interface IConcurrentQueryManager {
145
- cancelConcurrentQuery(taskId: number): boolean;
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
- };
108
+ concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse): void;
157
109
  }
158
110
  interface TileContent {
159
111
  content: Uint8Array;
@@ -248,6 +200,20 @@ export declare namespace IModelJsNative {
248
200
  size?: number;
249
201
  pathname: string;
250
202
  }
203
+ interface EmbeddedFileProps {
204
+ name: string;
205
+ localFileName: string;
206
+ }
207
+ interface EmbedFileArg extends EmbeddedFileProps {
208
+ date: number;
209
+ fileExt?: string;
210
+ compress?: boolean;
211
+ }
212
+ interface EmbedFileQuery {
213
+ size: number;
214
+ date: number;
215
+ fileExt: string;
216
+ }
251
217
  /** The native object for a Briefcase. */
252
218
  class DgnDb implements IConcurrentQueryManager {
253
219
  constructor();
@@ -258,11 +224,9 @@ export declare namespace IModelJsNative {
258
224
  attachChangeCache(changeCachePath: string): DbResult;
259
225
  beginMultiTxnOperation(): DbResult;
260
226
  beginPurgeOperation(): IModelStatus;
261
- cancelConcurrentQuery(taskId: number): boolean;
262
227
  cancelElementGraphicsRequests(requestIds: string[]): void;
263
228
  cancelTileContentRequests(treeId: string, contentIds: string[]): void;
264
229
  cancelTo(txnId: TxnIdString): IModelStatus;
265
- captureConcurrentQueryStats(reset: boolean): string;
266
230
  classIdToName(idString: string): string;
267
231
  classNameToId(className: string): Id64String;
268
232
  closeIModel(): void;
@@ -274,7 +238,7 @@ export declare namespace IModelJsNative {
274
238
  fullExtents?: Range3dProps;
275
239
  outliers?: Id64Array;
276
240
  };
277
- concurrentQueryInit(config: ConcurrentQuery.Config): boolean;
241
+ concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse): void;
278
242
  createBRepGeometry(createProps: any): DbResult;
279
243
  createChangeCache(changeCacheFile: ECDb, changeCachePath: string): DbResult;
280
244
  createClassViewsInDb(): BentleyStatus;
@@ -287,6 +251,8 @@ export declare namespace IModelJsNative {
287
251
  deleteModel(modelIdJson: string): void;
288
252
  detachChangeCache(): number;
289
253
  dumpChangeset(changeSet: ChangesetFileProps): void;
254
+ elementGeometryCacheOperation(requestProps: any): BentleyStatus;
255
+ embedFile(arg: EmbedFileArg): void;
290
256
  embedFont(fontProps: FontProps): FontProps;
291
257
  enableChangesetSizeStats(enabled: boolean): DbResult;
292
258
  enableTxnTesting(): void;
@@ -299,6 +265,7 @@ export declare namespace IModelJsNative {
299
265
  exportSchemas(exportDirectory: string): SchemaWriteStatus;
300
266
  extractChangedInstanceIdsFromChangeSet(changeSetFileName: string): ErrorStatusOrResult<IModelStatus, string>;
301
267
  extractChangeSummary(changeCacheFile: ECDb, changesetFilePath: string): ErrorStatusOrResult<DbResult, string>;
268
+ extractEmbeddedFile(arg: EmbeddedFileProps): void;
302
269
  findGeometryPartReferences(partIds: Id64String[], is2d: boolean): Id64String[];
303
270
  generateElementGraphics(request: ElementGraphicsRequestProps): Promise<ElementGraphicsResult>;
304
271
  getBriefcaseId(): number;
@@ -321,7 +288,6 @@ export declare namespace IModelJsNative {
321
288
  getRedoString(): string;
322
289
  getSchema(name: string): ErrorStatusOrResult<IModelStatus, string>;
323
290
  getSchemaItem(schemaName: string, itemName: string): ErrorStatusOrResult<IModelStatus, string>;
324
- queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;
325
291
  getTempFileBaseName(): string;
326
292
  getTileContent(treeId: string, tileId: string, callback: (result: ErrorStatusOrResult<IModelStatus, Uint8Array>) => void): void;
327
293
  getTileTree(id: string, callback: (result: ErrorStatusOrResult<IModelStatus, any>) => void): void;
@@ -357,19 +323,11 @@ export declare namespace IModelJsNative {
357
323
  logTxnError(fatal: boolean): void;
358
324
  openIModel(dbName: string, mode: OpenMode, upgradeOptions?: UpgradeOptions, props?: SnapshotOpenOptions): void;
359
325
  pauseProfiler(): DbResult;
360
- pollConcurrentQuery(taskId: number): {
361
- status: ConcurrentQuery.PollStatus;
362
- result: string;
363
- rowCount: number;
364
- };
365
326
  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
327
  processGeometryStream(requestProps: any): DbResult;
371
328
  purgeTileTrees(modelIds: Id64Array | undefined): void;
372
329
  queryDefinitionElementUsage(definitionElementIds: Id64Array): DefinitionElementUsageInfo | undefined;
330
+ queryEmbeddedFile(name: string): EmbedFileQuery | undefined;
373
331
  queryFileProperty(props: FilePropertyProps, wantString: boolean): string | Uint8Array | undefined;
374
332
  queryFirstTxnId(): TxnIdString;
375
333
  queryLocalValue(name: string): string | undefined;
@@ -381,8 +339,11 @@ export declare namespace IModelJsNative {
381
339
  queryNextAvailableFileProperty(props: FilePropertyProps): number;
382
340
  queryNextTxnId(txnId: TxnIdString): TxnIdString;
383
341
  queryPreviousTxnId(txnId: TxnIdString): TxnIdString;
342
+ queryTextureData(opts: TextureLoadProps): Promise<TextureData | undefined>;
384
343
  readFontMap(): FontMapProps;
385
344
  reinstateTxn(): IModelStatus;
345
+ removeEmbeddedFile(name: string): void;
346
+ replaceEmbeddedFile(arg: EmbedFileArg): void;
386
347
  resetBriefcaseId(idValue: number): void;
387
348
  restartTxnSession(): void;
388
349
  resumeProfiler(): DbResult;
@@ -395,10 +356,6 @@ export declare namespace IModelJsNative {
395
356
  schemaToXmlString(schemaName: string, version?: ECVersion): string | undefined;
396
357
  setBriefcaseManagerOptimisticConcurrencyControlPolicy(conflictPolicy: BriefcaseManagerOnConflictPolicy): RepositoryStatus;
397
358
  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
359
  setGeometricModelTrackingEnabled(enabled: boolean): ErrorStatusOrResult<IModelStatus, boolean>;
403
360
  setIModelDb(iModelDb?: any): void;
404
361
  setIModelId(guid: GuidString): DbResult;
@@ -415,7 +372,6 @@ export declare namespace IModelJsNative {
415
372
  updateElement(elemProps: ElementProps): void;
416
373
  updateElementAspect(aspectProps: ElementAspectProps): void;
417
374
  updateElementGeometryCache(props: object): Promise<any>;
418
- elementGeometryCacheOperation(requestProps: any): BentleyStatus;
419
375
  updateGeometryStream(updateProps: any): DbResult;
420
376
  updateIModelProps(props: IModelProps): void;
421
377
  updateLinkTableRelationship(props: RelationshipProps): DbResult;
@@ -427,9 +383,9 @@ export declare namespace IModelJsNative {
427
383
  writeFullElementDependencyGraphToFile(dotFileName: string): BentleyStatus;
428
384
  static enableSharedCache(enable: boolean): DbResult;
429
385
  static encryptDb(dbFileName: string, encryptionProps: IModelEncryptionProps): void;
386
+ static flushLog(): void;
430
387
  static getAssetsDir(): string;
431
388
  static vacuum(dbName: string, pageSize?: number): void;
432
- static flushLog(): void;
433
389
  }
434
390
  /**
435
391
  * RevisionUtility help with debugging and testing
@@ -448,27 +404,16 @@ export declare namespace IModelJsNative {
448
404
  class ECDb implements IDisposable, IConcurrentQueryManager {
449
405
  constructor();
450
406
  abandonChanges(): DbResult;
451
- cancelConcurrentQuery(taskId: number): boolean;
452
- captureConcurrentQueryStats(reset: boolean): string;
453
407
  closeDb(): void;
454
- concurrentQueryInit(config: ConcurrentQuery.Config): boolean;
455
408
  createDb(dbName: string): DbResult;
456
409
  dispose(): void;
457
410
  getFilePath(): string;
458
411
  importSchema(schemaPathName: string): DbResult;
459
412
  isOpen(): boolean;
460
413
  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
414
  saveChanges(changesetName?: string): DbResult;
471
415
  static enableSharedCache(enable: boolean): DbResult;
416
+ concurrentQueryExecute(request: any, onResponse: ConcurrentQuery.OnResponse): void;
472
417
  }
473
418
  class ChangedElementsECDb implements IDisposable {
474
419
  constructor();
@@ -582,9 +527,15 @@ export declare namespace IModelJsNative {
582
527
  closeDb(): void;
583
528
  createDb(dbName: string): void;
584
529
  dispose(): void;
530
+ embedFile(arg: EmbedFileArg): void;
531
+ extractEmbeddedFile(arg: EmbeddedFileProps): void;
585
532
  getFilePath(): string;
586
533
  isOpen(): boolean;
534
+ isReadonly(): boolean;
587
535
  openDb(dbName: string, mode: OpenMode): void;
536
+ queryEmbeddedFile(name: string): EmbedFileQuery | undefined;
537
+ removeEmbeddedFile(name: string): void;
538
+ replaceEmbeddedFile(arg: EmbedFileArg): void;
588
539
  saveChanges(): void;
589
540
  }
590
541
  class SqliteStatement implements IDisposable {
@@ -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":"AAOA,OAAO,EACL,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EACnI,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,YAAY,EACtI,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,gCAAgC,EACrI,6BAA6B,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,WAAW,EAAE,2BAA2B,EAAE,cAAc,EAC9I,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EACnH,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;CAC5B;AAED,kDAAkD;AAClD,qBAAa,aAAa;IACxB,WAAkB,QAAQ,WAKzB;IACD,WAAkB,aAAa,WAA8B;IAC7D,WAAkB,WAAW,WAE5B;IACD,WAAkB,eAAe,IAAI,MAAM,CAe1C;IACD,WAAkB,eAAe,IAAI,MAAM,CAAwD;IACnG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAwB;IAClD,WAAkB,SAAS,0BAA0B;WACvC,IAAI;CAGnB;AAED;;;EAGE;AACF,0BAAkB,qBAAqB;IACrC,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,WAAW,IAAI;IACf,yBAAyB,IAAI;IAC7B,eAAe,IAAI;IACnB,kBAAkB,IAAI;CACvB;AAED;;;EAGE;AACF,0BAAkB,iBAAiB;IACjC,OAAO,IAAI;IACX,eAAe,IAAI;IACnB,iBAAiB,IAAI;IACrB,kBAAkB,IAAI;IACtB,iBAAiB,IAAI;CACtB;AAGD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,UAAU,aAAa;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf;IAED,sCAAsC;IACtC,KAAK,WAAW,GAAG,MAAM,CAAC;IAE1B,UAAU,0BAA0B;QAClC,iGAAiG;QACjG,QAAQ,EAAE,MAAM,CAAC;QACjB,2KAA2K;QAC3K,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kDAAkD;QAClD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,0FAA0F;QAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,0EAA0E;QAC1E,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;KAC1B;IAED,MAAM,OAAO,EAAE,MAAM,CAAC;IACtB,IAAI,MAAM,EAAE,MAAM,CAAC;IACnB,SAAS,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IACtD,SAAS,kBAAkB,IAAI,eAAe,CAAC;IAC/C,SAAS,iBAAiB,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAClE,SAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,SAAS,wBAAwB,IAAI,aAAa,EAAE,CAAC;IACrD,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,SAAS,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC;IAC7C,SAAS,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,SAAS,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,SAAS,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACxD,SAAS,kBAAkB,IAAI,IAAI,CAAC;IACpC,SAAS,sBAAsB,IAAI,IAAI,CAAC;IACxC,SAAS,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAC3D,SAAS,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAEtD,gGAAgG;IAChG,UAAU,mBAAmB,CAAC,aAAa,EAAE,UAAU;QACrD,8FAA8F;QAC9F,KAAK,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE7C,gGAAgG;QAChG,MAAM,CAAC,EAAE,UAAU,CAAC;KACrB;IAED,UAAU,eAAe,CAAC;QACxB;;;WAGG;QACH,KAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAG,IAAI,CAAC;QACxC;;WAEG;KACJ;IACD,UAAU,uBAAuB;QAC/B,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,GAAE,IAAI,CAAC;KACnF;IACD,UAAU,WAAW;QACnB,OAAO,EAAE,UAAU,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IACD;;;OAGG;IACH,WAAW,gBAAgB;QACzB,GAAG,IAAI;QACP,OAAO,IAAI;QACX,OAAO,IAAI;KACZ;IAED;;OAEG;IACH,UAAiB,sBAAsB;QACrC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC;QACtC,OAAO,EAAE,UAAU,CAAC;KACrB;IAED;;OAEG;IACH,UAAiB,oBAAoB;QACnC,MAAM,EAAE,OAAO,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACvE;IAED;;;OAGG;IACH,KAAY,qBAAqB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;IAElF,iEAAiE;IACjE,UAAU,0BAA0B;QAClC,oEAAoE;QACpE,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;QAClC,oEAAoE;QACpE,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;QAClC,gEAAgE;QAChE,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;QAC9B,0DAA0D;QAC1D,mBAAmB,CAAC,EAAE,UAAU,EAAE,CAAC;QACnC,uDAAuD;QACvD,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;QAChC,sDAAsD;QACtD,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;QAC/B,wDAAwD;QACxD,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;QACjC,sDAAsD;QACtD,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;QAC/B,wDAAwD;QACxD,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;QACjC,mDAAmD;QACnD,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;QAC5B,iDAAiD;QACjD,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;QAC1B,+EAA+E;QAC/E,yBAAyB,CAAC,EAAE,UAAU,EAAE,CAAC;QACzC,gEAAgE;QAChE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;KACxB;IAED;;;OAGG;IACH,UAAU,gCAAgC;QACxC,kJAAkJ;QAClJ,cAAc,EAAE,MAAM,CAAC;QACvB,uIAAuI;QACvI,cAAc,EAAE,MAAM,CAAC;QACvB,uIAAuI;QACvI,cAAc,EAAE,MAAM,CAAC;KACxB;IAED;;OAEG;IACH,WAAW,SAAS;QAClB,IAAI,SAAe;QACnB,IAAI,SAAsB;QAC1B,IAAI,SAAsB;QAC1B,MAAM,SAAO;KACd;IAED,UAAU,kBAAkB;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB;IAED,UAAU,iBAAiB;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB;IAED,UAAU,YAAa,SAAQ,iBAAiB;QAC9C,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;IAED,UAAU,cAAc;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAA;KAChB;IAED,yCAAyC;IACzC,MAAM,KAAM,YAAW,uBAAuB;;QAErC,cAAc,IAAI,QAAQ;QAC1B,sBAAsB,IAAI,IAAI;QAC9B,6CAA6C,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa;QACtG,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;QACnD,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ;QACpD,sBAAsB,IAAI,QAAQ;QAClC,mBAAmB,IAAI,YAAY;QACnC,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;QACzD,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;QACrE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY;QAC1C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;QACvC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;QAC5C,WAAW,IAAI,IAAI;QACnB,uBAAuB,CAAC,GAAG,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI;QACrD,qBAAqB,CAAC,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG;YAAE,OAAO,EAAE,YAAY,CAAC;YAAC,WAAW,CAAC,EAAE,YAAY,CAAC;YAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;SAAE;QACrJ,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,GAAE,IAAI;QACjF,kBAAkB,CAAC,WAAW,EAAE,GAAG,GAA2B,QAAQ;QACtE,iBAAiB,CAAC,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,QAAQ;QAC3E,oBAAoB,IAAI,aAAa;QACrC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gCAAgC,GAAG,IAAI;QAC7E,aAAa,IAAI,IAAI;QACrB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;QACvC,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;QAC/C,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,QAAQ;QAC/D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;QACpC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;QACtC,iBAAiB,IAAI,MAAM;QAC3B,aAAa,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;QAClD,6BAA6B,CAAC,YAAY,EAAE,GAAG,GAAkD,aAAa;QAC9G,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;QAClC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;QAC1C,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ;QACpD,gBAAgB,IAAI,IAAI;QACxB,oBAAoB,IAAI,QAAQ;QAChC,iBAAiB,IAAI,YAAY;QACjC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;QACrD,cAAc,CAAC,WAAW,EAAE,GAAG,GAA4B,QAAQ;QACnE,kBAAkB,CAAC,WAAW,EAAE,GAAG,GAAgC,QAAQ;QAC3E,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,iBAAiB;QAC5E,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,iBAAiB;QACzD,sCAAsC,CAAC,iBAAiB,EAAE,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC;QAC5G,oBAAoB,CAAC,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC7G,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;QACjD,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE;QAC9E,uBAAuB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC7F,cAAc,IAAI,MAAM;QACxB,gBAAgB,IAAI,MAAM;QAC1B,2BAA2B,IAAI,MAAM;QACrC,mBAAmB,IAAI,mBAAmB;QAC1C,eAAe,IAAI,WAAW;QAC9B,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC;QAChG,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY;QAChD,WAAW,IAAI,MAAM;QACrB,sCAAsC,CAAC,MAAM,EAAE,0BAA0B,GAAG,2BAA2B;QACvG,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC;QAChF,sCAAsC,CAAC,MAAM,EAAE,6BAA6B,GAAG,8BAA8B;QAC7G,WAAW,IAAI,UAAU;QACzB,cAAc,IAAI,WAAW;QAC7B,UAAU,IAAI,UAAU;QACxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;QACtE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU;QAC1C,yBAAyB,IAAI,MAAM;QACnC,aAAa,IAAI,MAAM;QACvB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC;QAClE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9F,mBAAmB,IAAI,MAAM;QAC7B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,KAAK,IAAI,GAAG,IAAI;QAC/H,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,IAAI;QACjG,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;QAC7C,aAAa,IAAI,MAAM;QACvB,gBAAgB,IAAI,OAAO;QAC3B,cAAc,IAAI,OAAO;QACzB,iBAAiB,IAAI,OAAO;QAC5B,sBAAsB,IAAI,QAAQ;QAClC,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,QAAQ;QAClD,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,QAAQ;QAC1D,eAAe,IAAI,OAAO;QAC1B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAC;YAAC,IAAI,EAAE,GAAG,CAAC;YAAC,SAAS,EAAE,GAAG,CAAA;SAAC,GAAG,UAAU;QACpF,aAAa,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU;QAClD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;QAC1D,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU;QACjE,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;QAC/C,qBAAqB,IAAI,OAAO;QAChC,WAAW,IAAI,OAAO;QACtB,iCAAiC,IAAI,OAAO;QAC5C,iBAAiB,IAAI,OAAO;QAC5B,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;QACnE,MAAM,IAAI,OAAO;QACjB,gBAAgB,IAAI,OAAO;QAC3B,iBAAiB,IAAI,OAAO;QAC5B,UAAU,IAAI,OAAO;QACrB,cAAc,IAAI,OAAO;QACzB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;QACzC,cAAc,IAAI,OAAO;QACzB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;QACjC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI;QAC9G,aAAa,IAAI,QAAQ;QACzB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,GAAG,WAAW,CAAC;QAClH,qBAAqB,CAAC,YAAY,EAAE,GAAG,GAA+B,QAAQ;QAC9E,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;QACrD,2BAA2B,CAAC,oBAAoB,EAAE,SAAS,GAAG,0BAA0B,GAAG,SAAS;QACpG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;QAC3D,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS;QACjG,eAAe,IAAI,WAAW;QAC9B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;QACjD,iBAAiB,CAAC,OAAO,EAAE;YAAC,EAAE,EAAE,UAAU,CAAA;SAAC,GAAI;YAAE,YAAY,EAAE,YAAY,CAAA;SAAE;QAC7E,8BAA8B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;QAChE,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;QAC/C,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;QACnD,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAC1E,WAAW,IAAI,YAAY;QAC3B,YAAY,IAAI,YAAY;QAC5B,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QACvC,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;QAC5C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;QACvC,iBAAiB,IAAI,IAAI;QACzB,cAAc,IAAI,QAAQ;QAC1B,UAAU,IAAI,YAAY;QAC1B,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY;QAC3C,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY;QAChD,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ;QAC3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;QAC/G,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;QAC7D,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;QAC9E,qDAAqD,CAAC,cAAc,EAAE,gCAAgC,GAAG,gBAAgB;QACzH,sDAAsD,IAAI,gBAAgB;QAC1E,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9F,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAiB,IAAI;QAC/C,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;QACvC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;QACtC,uBAAuB,CAAC,YAAY,EAAE,GAAG,GAAG,QAAQ;QACpD,oBAAoB,IAAI,kBAAkB;QAC1C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,GAAG,QAAQ;QAC1H,YAAY,IAAI;YAAE,EAAE,EAAE,QAAQ,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;QAC3F,aAAa,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;QAC5C,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;QAC1D,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACvD,oBAAoB,CAAC,WAAW,EAAE,GAAG,GAA8B,QAAQ;QAC3E,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;QAC3C,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,QAAQ;QAC/D,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;QACzC,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,YAAY;QAC1D,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;QAClD,iBAAiB,IAAI,QAAQ;QAC7B,yCAAyC,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAC,SAAS,GAAG,aAAa;QACrG,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;eAElE,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ;eAC5C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,qBAAqB,GAAG,IAAI;eAC3E,QAAQ,IAAG,IAAI;eACf,YAAY,IAAI,MAAM;eACtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;KAC9D;IAED;;;OAGG;IACH,MAAM,eAAe;;eAEL,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa;eAC1H,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;eACjE,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa;eACzE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,aAAa;eAC1F,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;eAC7C,mBAAmB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;eACnD,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa;KAChH;IAED,MAAM,IAAK,YAAW,WAAW,EAAE,uBAAuB;;QAEjD,cAAc,IAAI,QAAQ;QAC1B,OAAO,IAAI,IAAI;QACf,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;QAClC,OAAO,IAAI,IAAI;QACf,WAAW,IAAI,MAAM;QACrB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ;QAC9C,MAAM,IAAI,OAAO;QACjB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ;QAC3E,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ;eACtC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ;QACnD,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,GAAE,IAAI;KACzF;IAED,MAAM,mBAAoB,YAAW,WAAW;;QAEvC,OAAO,IAAI,IAAI;QACf,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;QAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ;QAC3E,MAAM,IAAI,OAAO;QACjB,OAAO,IAAI,IAAI;QACf,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ;QACnN,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ;QACnP,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC;QAC5G,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;QACzC,WAAW,IAAI,IAAI;KAC3B;IAED,MAAM,cAAe,YAAW,WAAW;;QAElC,aAAa,IAAI,QAAQ;QACzB,OAAO,IAAI,IAAI;QACf,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;QAC9C,cAAc,IAAI,MAAM;QACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;QACzC,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC;QAC9F,KAAK,IAAI,QAAQ;QACjB,IAAI,IAAI,QAAQ;QAChB,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;QACrD,aAAa,IAAI;YAAE,MAAM,EAAE,QAAQ,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE;QACjD,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,QAAQ,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,GAAG,IAAI;QACtF,YAAY,IAAI,MAAM;KAC9B;IAED,MAAM,WAAW;;QAER,eAAe,IAAI,WAAW;QAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,QAAQ;QACvF,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;QACnC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;QACzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;QACjC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ;QACvC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ;QACpC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ;QAC5C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;QAC3C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;QAC3C,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,QAAQ;QACrG,QAAQ,IAAI,QAAQ;QACpB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ;QAC3C,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ;QACtD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;KACzC;IAED,MAAM,eAAe;;QAEZ,eAAe,IAAI,MAAM;QACzB,eAAe,IAAI,MAAM;QACzB,iBAAiB,IAAI,MAAM;QAC3B,gBAAgB,IAAI,MAAM;QAC1B,sBAAsB,IAAI,MAAM;QAChC,OAAO,IAAI,MAAM;QACjB,MAAM,IAAI,OAAO;QACjB,mBAAmB,IAAI,OAAO;QAC9B,gBAAgB,IAAI,OAAO;KACnC;IAED,MAAM,UAAU;;QAEP,gBAAgB,IAAI,kBAAkB;QACtC,OAAO,IAAI,UAAU;QACrB,UAAU,IAAI,OAAO;QACrB,sBAAsB,IAAI,MAAM;QAChC,aAAa,IAAI,eAAe;QAChC,WAAW,IAAI,MAAM;QACrB,SAAS,IAAI,MAAM;QACnB,OAAO,IAAI,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC,GAAG,SAAS;QACnG,WAAW,IAAI,MAAM;QACrB,OAAO,IAAI,UAAU;QACrB,KAAK,IAAI,UAAU;QACnB,MAAM,IAAI,MAAM;QAChB,QAAQ,IAAI,MAAM;QAClB,aAAa,IAAI;YAAE,EAAE,EAAE,UAAU,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE;QAC1D,UAAU,IAAI;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE;QACtC,UAAU,IAAI;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE;QACjD,SAAS,IAAI,MAAM;QACnB,iBAAiB,IAAI,kBAAkB;QACvC,MAAM,IAAI,OAAO;KACzB;IAED,MAAM,kBAAkB;;QAEf,UAAU,IAAI,UAAU;QACxB,QAAQ,IAAI,OAAO;KAC3B;IAED,MAAM,QAAS,YAAW,WAAW;;QAE5B,cAAc,IAAI,IAAI;QACtB,OAAO,IAAI,IAAI;QACf,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;QAC9B,OAAO,IAAI,IAAI;QACf,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;QAClC,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;QACjD,WAAW,IAAI,MAAM;QACrB,MAAM,IAAI,OAAO;QACjB,UAAU,IAAI,OAAO;QACrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;QAC5C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;QAC3D,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QACvC,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;QAC5C,WAAW,IAAI,IAAI;KAC3B;IAED,MAAM,eAAgB,YAAW,WAAW;;QAEnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,QAAQ;QAC7F,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ;QACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ;QAC/D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,QAAQ;QAC5D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;QACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;QAC1C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ;QACzD,aAAa,IAAI,QAAQ;QACzB,OAAO,IAAI,IAAI;QACf,cAAc,IAAI,MAAM;QACxB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;QAC1C,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;QAC1C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;QAC7C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;QAC3C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;QAC7C,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;QAC3C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;QAC5C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;QAC3C,UAAU,IAAI,OAAO;QACrB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;QACzC,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI;QAC5E,KAAK,IAAI,QAAQ;QACjB,IAAI,IAAI,QAAQ;QAChB,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;KAC7D;IAED,WAAW,oBAAoB;QAC7B,OAAO,IAAI;QACX,QAAQ,IAAI;QACZ,OAAO,IAAI;QACX,KAAK,QAAU;QACf,eAAe,QAAY;KAC5B;IAED,WAAW,yBAAyB;QAClC,QAAQ,OAAO;QACf,SAAS,OAAO;KACjB;IAED,UAAU,wCAAwC;QAChD,IAAI,EAAE,QAAQ,CAAC;KAChB;IAED,UAAU,sCAAsC;QAC9C,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB;IAED,UAAU,wCAAwC;QAChD,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,CAAC,EAAE,sCAAsC,CAAC;KAC/C;IAED,KAAK,kCAAkC,GAAG,wCAAwC,GAAG,sCAAsC,GAAG,wCAAwC,CAAC;IAEvK,UAAU,6BAA6B,CAAC,OAAO,CAAE,SAAQ,mBAAmB,CAAC,oBAAoB,EAAE,OAAO,CAAC;QACzG,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB;IAED,UAAU,0BAA0B;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,kBAAkB,EAAE;YAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACnD,cAAc,EAAE;YACd,CAAC,UAAU,EAAE,MAAM,GAAG;gBACpB,WAAW,EAAE,MAAM,EAAE,CAAC;gBACtB,gBAAgB,EAAE,MAAM,CAAC;aAC1B,CAAC;SACH,CAAC;QACF,IAAI,EAAE,yBAAyB,CAAC;QAChC,uBAAuB,EAAE,OAAO,CAAC;QACjC,WAAW,EAAE,kCAAkC,CAAC;QAChD,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;KAC5B;IAED,MAAM,qBAAsB,YAAW,WAAW;oBACpC,KAAK,EAAE,0BAA0B;QACtC,gBAAgB,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACzE,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,6BAA6B,CAAC,IAAI,CAAC;QACnF,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,6BAA6B,CAAC,IAAI,CAAC;QAC/F,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,6BAA6B,CAAC,IAAI,CAAC;QAC7H,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,6BAA6B,CAAC,IAAI,CAAC;QACrG,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC;QAChH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,6BAA6B,CAAC,MAAM,CAAC;QACrE,UAAU,CAAC,iBAAiB,EAAE,MAAM,GAAG,6BAA6B,CAAC,MAAM,CAAC;QAC5E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC;QACtF,aAAa,IAAI,6BAA6B,CAAC,IAAI,CAAC;QACpD,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,6BAA6B,CAAC,MAAM,CAAC;QAC/E,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,6BAA6B,CAAC,MAAM,CAAC;QACxE,aAAa,IAAI,6BAA6B,CAAC,GAAG,CAAC;QACnD,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG,6BAA6B,CAAC,IAAI,CAAC;QAC/J,OAAO,IAAI,IAAI;KACvB;IAED,UAAU,kBAAkB,CAAC;QAC3B,UAAU,SAAS;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,YAAY,EAAE,MAAM,CAAC;SACtB;QAED,WAAW,eAAe;YACxB,SAAS,IAAI;YACb,KAAK,IAAI;YACT,qBAAqB,IAAI;YACzB,MAAM,IAAI;YACV,oBAAoB,IAAI;SACzB;QAED,KAAK,qBAAqB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;KACxG;IAED,MAAM,kBAAkB;;QAEf,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;QACjC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,qBAAqB,GAAG,IAAI;QACzE,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,qBAAqB,GAAG,IAAI;QAC9E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC;KAC3F;IAED,MAAM,WAAW;;QAER,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC7C,UAAU,IAAI,IAAI;KAC1B;IAED,MAAM,oBAAoB;oBACZ,IAAI,EAAE,oBAAoB;QAC/B,cAAc,IAAI,IAAI;QACtB,WAAW,IAAI;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAChD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACvC;IAED,UAAU,2BAA2B;QACnC,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf;IAED,UAAU,4BAA4B;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;KACjD;IAED,WAAW,aAAa;QACtB,GAAG,IAAI;QACP,GAAG,IAAI;KACR;IAED,WAAW,WAAW;QACpB,UAAU,IAAK;QACf,QAAQ,IAAO;QACf,OAAO,IAAQ;QACf,OAAO,IAAQ;QACf,OAAO,IAAQ;KAChB;IAED,KAAK,eAAe,GAAG,UAAU,GAAG,MAAM,GAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEtE,UAAU,YAAY;QACpB,GAAG,CAAC,EAAE,eAAe,CAAC;QACtB,GAAG,CAAC,EAAE,eAAe,CAAC;KACvB;IAED,MAAM,eAAe;QACnB,KAAK,IAAI,QAAQ;QACjB,cAAc,IAAI,MAAM,GAAE,SAAS;QACnC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,eAAe;QAClE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,WAAW,GAAG,SAAS;QAC9E,WAAW,IAAI,MAAM,GAAG,SAAS;QACjC,SAAS,IAAI,QAAQ,GAAG,SAAS;QACjC,MAAM,IAAI,YAAY,EAAE,GAAG,SAAS;QACpC,aAAa,IAAI,MAAM,GAAG,SAAS;QACnC,YAAY,IAAI,MAAM,GAAG,SAAS;QAClC,gBAAgB,IAAI,OAAO,GAAG,SAAS;QACvC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;QACpD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ;QACjD,KAAK,IAAI,QAAQ;QACjB,IAAI,IAAI,QAAQ;KACjB;IAED,MAAM,uBAAwB,YAAW,WAAW;;QAE3C,OAAO,IAAI,IAAI;KACvB;IAED,MAAM,aAAc,YAAW,WAAW;oBAC5B,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK;QACrC,OAAO,IAAI,IAAI;QACf,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa;QAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,aAAa;QACjF,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,aAAa;QACxE,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,aAAa;QACvE,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,aAAa;QACpD,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU;QAChD,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU;QAC/C,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,mBAAmB,GAAG,YAAY;QACpF,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU;QAChD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;QACpC,oBAAoB,IAAI,OAAO;QAC/B,qBAAqB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO;QACpD,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,aAAa;KAChE;IAED,UAAU,mBAAmB;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;IAED,UAAU,uBAAuB;QAC/B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;KACvB;IAED,+FAA+F;IAC/F,UAAU,uBAAuB;QAC/B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QACnC,KAAK,CAAC,EAAE,uBAAuB,CAAC;QAChC,OAAO,CAAC,EAAE,uBAAuB,CAAC;QAClC,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,YAAY,CAAC,EAAE,uBAAuB,CAAC;QACvC,IAAI,CAAC,EAAE,uBAAuB,CAAC;KAChC;IAED;;;OAGG;IACH,MAAM,cAAc;eACJ,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;KAClD;IAED;;;;;OAKG;IACH,MAAM,MAAM;QACV;;;;;WAKG;eACW,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnF;;;;;;WAMG;eACW,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAE5F;;;;;WAKG;eACW,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhF;;;;WAIG;eACW,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnE;;;;WAIG;eACW,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACtG;IAED;;OAEG;IACH,MAAM,gBAAgB;QACpB;;;;;WAKG;eACW,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;QAErD;;;;UAIE;eACY,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;KAC/D;IAED,WAAW,eAAe;QACxB,SAAS,IAAI;QACb,MAAM,IAAI;QACV,OAAO,IAAI;QACX,OAAO,IAAI;QACX,EAAE,IAAI;QACN,KAAK,IAAI;QACT,OAAO,IAAI;KACZ;IAED,MAAM,UAAU;oBACK,EAAE,EAAE,KAAK;QAErB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;QACtB,MAAM,IAAI,IAAI;QACd,QAAQ,IAAI,IAAI;QAChB,QAAQ,IAAI,IAAI;QAChB,UAAU,IAAI,OAAO;QACrB,WAAW,IAAI,OAAO;QACtB,QAAQ,IAAI,eAAe;KACnC;CACF"}
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 defaultCacheDir() {
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
- baseDir = path.join(homedir, "AppData", "Local");
45
- break;
43
+ return path.join(homedir, "AppData", "Local");
46
44
  case "darwin":
47
45
  case "ios":
48
- baseDir = path.join(homedir, "Library", "Caches");
49
- break;
46
+ return path.join(homedir, "Library", "Caches");
50
47
  case "linux":
51
48
  case "android":
52
- baseDir = path.join(homedir, ".cache");
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;
@@ -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 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 /**\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 /** 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 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 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 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 removeEmbeddedFile( name: string): void;\r\n public replaceEmbeddedFile(arg: EmbedFileArg): void;\r\n public saveChanges(): void;\r\n }\r\n\r\n class SqliteStatement implements IDisposable {\r\n constructor();\r\n public bindBlob(param: number | string, val: Uint8Array | ArrayBuffer | SharedArrayBuffer): DbResult;\r\n public bindDouble(param: number | string, val: number): DbResult;\r\n public bindGuid(param: number | string, guidStr: GuidString): DbResult;\r\n public bindId(param: number | string, hexStr: Id64String): DbResult;\r\n public bindInteger(param: number | string, val: number | string): DbResult;\r\n public bindNull(param: number | string): DbResult;\r\n public bindString(param: number | string, val: string): DbResult;\r\n public clearBindings(): DbResult;\r\n public dispose(): void;\r\n public getColumnCount(): number;\r\n public getColumnName(columnIndex: number): string;\r\n public getColumnType(columnIndex: number): number;\r\n public getValueBlob(columnIndex: number): Uint8Array;\r\n public getValueDouble(columnIndex: number): number;\r\n public getValueGuid(columnIndex: number): GuidString;\r\n public getValueId(columnIndex: number): Id64String;\r\n public getValueInteger(columnIndex: number): number;\r\n public getValueString(columnIndex: number): string;\r\n public isReadonly(): boolean;\r\n public isValueNull(columnIndex: number): boolean;\r\n public prepare(db: DgnDb | ECDb | SQLiteDb, sql: string, logErrors?: boolean): void;\r\n public reset(): DbResult;\r\n public step(): DbResult;\r\n public stepAsync(callback: (result: DbResult) => void): void;\r\n }\r\n\r\n const enum ECPresentationStatus {\r\n Success = 0,\r\n Canceled = 1,\r\n Pending = 2,\r\n Error = 0x10000,\r\n InvalidArgument = Error + 1,\r\n }\r\n\r\n const enum ECPresentationManagerMode {\r\n ReadOnly = \"ro\",\r\n ReadWrite = \"rw\",\r\n }\r\n\r\n interface ECPresentationMemoryHierarchyCacheConfig {\r\n mode: \"memory\";\r\n }\r\n\r\n interface ECPresentationDiskHierarchyCacheConfig {\r\n mode: \"disk\";\r\n directory: string;\r\n }\r\n\r\n interface ECPresentationHybridHierarchyCacheConfig {\r\n mode: \"hybrid\";\r\n disk?: ECPresentationDiskHierarchyCacheConfig;\r\n }\r\n\r\n type ECPresentationHierarchyCacheConfig = ECPresentationMemoryHierarchyCacheConfig | ECPresentationDiskHierarchyCacheConfig | ECPresentationHybridHierarchyCacheConfig;\r\n\r\n interface ECPresentationManagerResponse<TResult> extends ErrorStatusOrResult<ECPresentationStatus, TResult> {\r\n diagnostics?: any;\r\n }\r\n\r\n interface ECPresentationManagerProps {\r\n id: string;\r\n localeDirectories: string[];\r\n taskAllocationsMap: { [priority: number]: number };\r\n defaultFormats: {\r\n [phenomenon: string]: {\r\n unitSystems: string[];\r\n serializedFormat: string;\r\n };\r\n };\r\n mode: ECPresentationManagerMode;\r\n isChangeTrackingEnabled: boolean;\r\n cacheConfig: ECPresentationHierarchyCacheConfig;\r\n useMmap?: boolean | number;\r\n }\r\n\r\n class ECPresentationManager implements IDisposable {\r\n constructor(props: ECPresentationManagerProps);\r\n public forceLoadSchemas(db: DgnDb): Promise<ECPresentationManagerResponse<void>>;\r\n public setupRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;\r\n public setupSupplementalRulesetDirectories(directories: string[]): ECPresentationManagerResponse<void>;\r\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: string, value: any): ECPresentationManagerResponse<void>;\r\n public unsetRulesetVariableValue(rulesetId: string, variableId: string): ECPresentationManagerResponse<void>;\r\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: string): ECPresentationManagerResponse<any>;\r\n public getRulesets(rulesetId: string): ECPresentationManagerResponse<string>;\r\n public addRuleset(serializedRuleset: string): ECPresentationManagerResponse<string>;\r\n public removeRuleset(rulesetId: string, hash: string): ECPresentationManagerResponse<boolean>;\r\n public clearRulesets(): ECPresentationManagerResponse<void>;\r\n public queueRequest(db: DgnDb, options: string): ECPresentationManagerResponse<string>;\r\n public pollResponse(requestGuid: string): ECPresentationManagerResponse<string>;\r\n public getUpdateInfo(): ECPresentationManagerResponse<any>;\r\n public updateHierarchyState(db: DgnDb, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string): ECPresentationManagerResponse<void>;\r\n public dispose(): void;\r\n }\r\n\r\n namespace ECSchemaXmlContext {\r\n interface SchemaKey {\r\n name: string;\r\n readVersion: number;\r\n writeVersion: number;\r\n minorVersion: number;\r\n }\r\n\r\n const enum SchemaMatchType {\r\n Identical = 0, // Find exact VersionRead, VersionWrite, VersionMinor match as well as Data\r\n Exact = 1, // Find exact VersionRead, VersionWrite, VersionMinor match.\r\n LatestWriteCompatible = 2, // Find latest version with matching VersionRead and VersionWrite\r\n Latest = 3, // Find latest version.\r\n LatestReadCompatible = 4, // Find latest version with matching VersionRead\r\n }\r\n\r\n type SchemaLocaterCallback = (key: SchemaKey, matchType: SchemaMatchType) => string | undefined | void;\r\n }\r\n\r\n class ECSchemaXmlContext {\r\n constructor();\r\n public addSchemaPath(path: string): void;\r\n public setSchemaLocater(locater: ECSchemaXmlContext.SchemaLocaterCallback): void;\r\n public setFirstSchemaLocater(locater: ECSchemaXmlContext.SchemaLocaterCallback): void;\r\n public readSchemaFromXmlFile(filePath: string): ErrorStatusOrResult<BentleyStatus, string>;\r\n }\r\n\r\n class SnapRequest {\r\n constructor();\r\n public doSnap(db: DgnDb, request: any): Promise<any>;\r\n public cancelSnap(): void;\r\n }\r\n\r\n class DownloadV2Checkpoint {\r\n constructor(args: BlobDaemonCommandArg);\r\n public cancelDownload(): void;\r\n public getProgress(): { loaded: number, total: number };\r\n public downloadPromise: Promise<void>;\r\n }\r\n\r\n interface FeatureUserDataKeyValuePair {\r\n key: string;\r\n value: string;\r\n }\r\n\r\n interface NativeUlasClientFeatureEvent {\r\n featureId: string;\r\n versionStr: string;\r\n projectId?: string;\r\n startDateZ?: string;\r\n endDateZ?: string;\r\n featureUserData?: FeatureUserDataKeyValuePair[];\r\n }\r\n\r\n const enum DbChangeStage {\r\n Old = 0,\r\n New = 1,\r\n }\r\n\r\n const enum DbValueType {\r\n IntegerVal = 1,\r\n FloatVal = 2,\r\n TextVal = 3,\r\n BlobVal = 4,\r\n NullVal = 5,\r\n }\r\n\r\n type ChangeValueType = Uint8Array | number| string | null | undefined;\r\n\r\n interface ChangedValue {\r\n new?: ChangeValueType;\r\n old?: ChangeValueType;\r\n }\r\n\r\n class ChangesetReader {\r\n close(): DbResult;\r\n getColumnCount(): number| undefined;\r\n getColumnValue(col: number, stage: DbChangeStage): ChangeValueType;\r\n getColumnValueType(col: number, stage: DbChangeStage): DbValueType | undefined;\r\n getFileName(): string | undefined;\r\n getOpCode(): DbOpcode | undefined;\r\n getRow(): ChangedValue[] | undefined;\r\n getDdlChanges(): string | undefined;\r\n getTableName(): string | undefined;\r\n isIndirectChange(): boolean | undefined;\r\n isPrimaryKeyColumn(col: number): boolean | undefined;\r\n open(fileName: string, invert: boolean): DbResult;\r\n reset(): DbResult;\r\n step(): DbResult;\r\n }\r\n\r\n class DisableNativeAssertions implements IDisposable {\r\n constructor();\r\n public dispose(): void;\r\n }\r\n\r\n class ImportContext implements IDisposable {\r\n constructor(sourceDb: DgnDb, targetDb: DgnDb);\r\n public dispose(): void;\r\n public dump(outputFileName: string): BentleyStatus;\r\n public addClass(sourceClassFullName: string, targetClassFullName: string): BentleyStatus;\r\n public addCodeSpecId(sourceId: Id64String, targetId: Id64String): BentleyStatus;\r\n public addElementId(sourceId: Id64String, targetId: Id64String): BentleyStatus;\r\n public removeElementId(sourceId: Id64String): BentleyStatus;\r\n public findCodeSpecId(sourceId: Id64String): Id64String;\r\n public findElementId(sourceId: Id64String): Id64String;\r\n public cloneElement(sourceId: Id64String, cloneOptions?: CloneElementOptions): ElementProps;\r\n public importCodeSpec(sourceId: Id64String): Id64String;\r\n public importFont(sourceId: number): number;\r\n public hasSubCategoryFilter(): boolean;\r\n public isSubCategoryFiltered(sourceId: Id64String): boolean;\r\n public filterSubCategoryId(sourceId: Id64String): BentleyStatus;\r\n }\r\n\r\n interface CloneElementOptions {\r\n binaryGeometry?: boolean;\r\n }\r\n\r\n interface ChangedInstanceOpsProps {\r\n insert?: Id64String[];\r\n update?: Id64String[];\r\n delete?: Id64String[];\r\n }\r\n\r\n /** The *wire format* of the result returned by DgnDb.extractChangedInstanceIdsFromChangeSet */\r\n interface ChangedInstanceIdsProps {\r\n codeSpec?: ChangedInstanceOpsProps;\r\n model?: ChangedInstanceOpsProps;\r\n element?: ChangedInstanceOpsProps;\r\n aspect?: ChangedInstanceOpsProps;\r\n relationship?: ChangedInstanceOpsProps;\r\n font?: ChangedInstanceOpsProps;\r\n }\r\n\r\n /**\r\n * Temporary implementation to allow crashing the backend for testing purposes\r\n * @internal\r\n */\r\n class NativeDevTools {\r\n public static signal(signalType: number): boolean;\r\n }\r\n\r\n /**\r\n * Native API to get, add, replace, and delete passwords in system's keychain. On macOS the passwords are managed by the Keychain, and on Windows they are managed by Credential Vault.\r\n * Note: That the current implementation has only been setup on MacOS and Windows - platforms that support for Desktop/Electron applications.\r\n * On Linux, passwords are managed by the Secret Service API/libsecret, but support for that platform has NOT been added.\r\n * Code adapted from https://github.com/atom/node-keytar\r\n */\r\n class KeyTar {\r\n /**\r\n * Get the stored password for the service and account.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @returns A promise for the password string.\r\n */\r\n public static getPassword(service: string, account: string): Promise<string | null>;\r\n\r\n /**\r\n * Add the password for the service and account to the keychain.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @param password The string password.\r\n * @returns A promise for the set password completion.\r\n */\r\n public static setPassword(service: string, account: string, password: string): Promise<void>;\r\n\r\n /**\r\n * Delete the stored password for the service and account.\r\n * @param service The string service name.\r\n * @param account The string account name.\r\n * @returns A promise for the deletion status. True on success.\r\n */\r\n public static deletePassword(service: string, account: string): Promise<boolean>;\r\n\r\n /**\r\n * Find a password for the service in the keychain.\r\n * @param service The string service name.\r\n * @returns A promise for the password string.\r\n */\r\n public static findPassword(service: string): Promise<string | null>;\r\n\r\n /**\r\n * Find all accounts and passwords for `service` in the keychain.\r\n * @param service The string service name.\r\n * @returns A promise for the array of found credentials.\r\n */\r\n public static findCredentials(service: string): Promise<Array<{ account: string, password: string }>>;\r\n }\r\n\r\n /**\r\n * Utilities to encode/decode names to convert them to/from names that comply with EC naming rules\r\n */\r\n class ECNameValidation {\r\n /**\r\n * Encodes names to comply with EC naming rules\r\n * @param name Name to be encoded\r\n * @returns Encoded name\r\n * @param name\r\n */\r\n public static encodeToValidName(name: string): string;\r\n\r\n /**\r\n * Decodes names that were encoded to comply with EC naming rules\r\n * @param encodedName Encoded name\r\n * @returns Decoded name\r\n */\r\n public static decodeFromValidName(encodedName: string): string;\r\n }\r\n\r\n const enum TestWorkerState {\r\n NotQueued = 0,\r\n Queued = 1,\r\n Skipped = 2,\r\n Running = 3,\r\n Ok = 4,\r\n Error = 5,\r\n Aborted = 6,\r\n }\r\n\r\n class TestWorker {\r\n public constructor(db: DgnDb);\r\n\r\n public queue(): Promise<void>;\r\n public cancel(): void;\r\n public setReady(): void;\r\n public setThrow(): void;\r\n public isCanceled(): boolean;\r\n public wasExecuted(): boolean;\r\n public getState(): TestWorkerState;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bentley/imodeljs-native",
3
3
  "license": "SEE LICENSE IN LICENSE.md",
4
- "version": "3.0.11",
4
+ "version": "3.0.17",
5
5
  "main": "imodeljs-native.js",
6
6
  "typings": "imodeljs-native",
7
7
  "keywords": [