@itwin/core-common 5.9.0-dev.1 → 5.9.0-dev.3

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/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # Change Log - @itwin/core-common
2
2
 
3
- This log was last generated on Tue, 24 Mar 2026 14:30:44 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 02 Apr 2026 18:28:44 GMT and should not be manually modified.
4
+
5
+ ## 5.8.0
6
+ Thu, 02 Apr 2026 18:19:33 GMT
7
+
8
+ ### Updates
9
+
10
+ - Optimize `DisplayStyleSettings` performance, when modifying sub-category and model appearance overrides, reality model display settings and planar clip masks.
11
+ - Support for binding range3d
12
+ - QueryBinder should not fail on bind empty array
13
+ - Minor bump on `IModelReadRpcInterface.interfaceVersion`.
14
+ - Add common DbCloudContainerInfo interface for metadata display
15
+ - Added ECSqlReaderBase api which will act as a base point for both the async and sync version of ECSqlReader
4
16
 
5
17
  ## 5.7.3
6
18
  Tue, 24 Mar 2026 14:29:17 GMT
@@ -63,16 +63,16 @@ export declare class ECSqlReader extends ECSqlReaderBase implements AsyncIterabl
63
63
  */
64
64
  constructor(_executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, query: string, param?: QueryBinder, options?: QueryOptions);
65
65
  /**
66
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
66
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
67
67
  */
68
68
  setParams(param: QueryBinder): void;
69
69
  /**
70
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
70
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
71
71
  */
72
72
  reset(options?: QueryOptions): void;
73
73
  /**
74
74
  * Clear all bindings.
75
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
75
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
76
76
  */
77
77
  resetBindings(): void;
78
78
  /**
@@ -62,7 +62,7 @@ class ECSqlReader extends ECSqlReaderBase_1.ECSqlReaderBase {
62
62
  this.reset(options);
63
63
  }
64
64
  /**
65
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
65
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
66
66
  */
67
67
  setParams(param) {
68
68
  if (this._lockArgs) {
@@ -71,7 +71,7 @@ class ECSqlReader extends ECSqlReaderBase_1.ECSqlReaderBase {
71
71
  this._param = param.serialize();
72
72
  }
73
73
  /**
74
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
74
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
75
75
  */
76
76
  reset(options) {
77
77
  if (options) {
@@ -95,7 +95,7 @@ class ECSqlReader extends ECSqlReaderBase_1.ECSqlReaderBase {
95
95
  }
96
96
  /**
97
97
  * Clear all bindings.
98
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
98
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
99
99
  */
100
100
  resetBindings() {
101
101
  this._param = new ConcurrentQuery_1.QueryBinder().serialize();
@@ -1 +1 @@
1
- {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\nimport {\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\n QueryPropertyMetaData, QueryRowFormat,\n} from \"./ConcurrentQuery\";\nimport { ECSqlReaderBase, PropertyMetaDataMap, QueryRowProxy } from \"./ECSqlReaderBase\";\n\n/**\n * Performance-related statistics for [[ECSqlReader]].\n * @public\n */\nexport interface QueryStats {\n /** Time spent running the query; not including time spent queued. Time is in microseconds */\n backendCpuTime: number;\n /** Total time it took the backend to run the query. Time is in milliseconds. */\n backendTotalTime: number;\n /** Estimated memory used for the query. */\n backendMemUsed: number;\n /** Total number of rows returned by the backend. */\n backendRowsReturned: number;\n /** The total round trip time from the client's perspective. Time is in milliseconds. */\n totalTime: number;\n /** The number of retries attempted to execute the query. */\n retryCount: number;\n /** Total time in millisecond to prepare ECSQL or grabing it from cache and binding parameters */\n prepareTime: number;\n}\n\n/**\n * Execute ECSQL statements and read the results.\n *\n * The query results are returned one row at a time. The format of the row is dictated by the\n * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to\n * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\n *\n * There are three primary ways to interact with and read the results:\n * - Stream them using ECSqlReader as an asynchronous iterator.\n * - Iterator over them manually using [[ECSqlReader.step]].\n * - Capture all of the results at once in an array using [[QueryRowProxy.toArray]].\n *\n * @see\n * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)\n * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.\n * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each\n * of the above ways of interacting with ECSqlReader.\n *\n * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic\n * JavaScript object, call [[QueryRowProxy.toRow]] on it.\n * @public\n */\nexport class ECSqlReader extends ECSqlReaderBase implements AsyncIterableIterator<QueryRowProxy> {\n private static readonly _maxRetryCount = 10;\n\n private _localRows: any[] = [];\n private _localOffset: number = 0;\n private _globalOffset: number = -1;\n private _globalCount: number = -1;\n private _globalDone: boolean = false;\n private _param = new QueryBinder().serialize();\n private _lockArgs: boolean = false;\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\n\n /**\n * @internal\n */\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\n super(options?.rowFormat);\n if (query.trim().length === 0) {\n throw new Error(\"expecting non-empty ecsql statement\");\n }\n if (param) {\n this._param = param.serialize();\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.reset(options);\n }\n\n /**\n * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public setParams(param: QueryBinder) {\n if (this._lockArgs) {\n throw new Error(\"call resetBindings() before setting or changing parameters\");\n }\n this._param = param.serialize();\n }\n /**\n * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public reset(options?: QueryOptions) {\n if (options) {\n this._options = options;\n }\n this._props = new PropertyMetaDataMap([]);\n this._localRows = [];\n this._globalDone = false;\n this._globalOffset = 0;\n this._globalCount = -1;\n if (typeof this._options.rowFormat === \"undefined\")\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\n this._rowFormat = this._options.rowFormat;\n if (this._options.limit) {\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\n this._globalOffset = this._options.limit.offset;\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\n this._globalCount = this._options.limit.count;\n }\n this._done = false;\n }\n\n /**\n * Clear all bindings.\n * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public resetBindings() {\n this._param = new QueryBinder().serialize();\n this._lockArgs = false;\n }\n\n /**\n * @internal\n */\n public override getRowInternal(): any[] {\n if (this._localRows.length <= this._localOffset)\n throw new Error(\"no current row\");\n return this._localRows[this._localOffset] as any[];\n }\n\n /**\n * Get performance-related statistics for the current query.\n */\n public get stats(): QueryStats {\n return this._stats;\n }\n\n /**\n *\n */\n private async readRows(): Promise<any[]> {\n if (this._globalDone) {\n return [];\n }\n this._lockArgs = true;\n this._globalOffset += this._localRows.length;\n this._globalCount -= this._localRows.length;\n if (this._globalCount === 0) {\n return [];\n }\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\n const request: DbQueryRequest = {\n ... this._options,\n kind: DbRequestKind.ECSql,\n valueFormat,\n query: this.query,\n args: this._param,\n };\n request.includeMetaData = this._props.length > 0 ? false : true;\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\n const resp = await this.runWithRetry(request);\n this._globalDone = resp.status === DbResponseStatus.Done;\n if (this._props.length === 0 && resp.meta.length > 0) {\n this._props = new PropertyMetaDataMap(resp.meta);\n }\n for (const row of resp.data) {\n ECSqlReader.replaceBase64WithUint8Array(row);\n }\n return resp.data;\n }\n\n /**\n * @internal\n */\n protected async runWithRetry(request: DbQueryRequest) {\n const needRetry = (rs: DbQueryResponse) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout || rs.status === DbResponseStatus.ShuttingDown) && (rs.data === undefined || rs.data.length === 0);\n const updateStats = (rs: DbQueryResponse) => {\n this._stats.backendCpuTime += rs.stats.cpuTime;\n this._stats.backendTotalTime += rs.stats.totalTime;\n this._stats.backendMemUsed += rs.stats.memUsed;\n this._stats.prepareTime += rs.stats.prepareTime;\n this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;\n };\n const execQuery = async (req: DbQueryRequest) => {\n const startTime = Date.now();\n const rs = await this._executor.execute(req);\n this.stats.totalTime += (Date.now() - startTime);\n return rs;\n };\n let retry = ECSqlReader._maxRetryCount;\n let resp = await execQuery(request);\n DbQueryError.throwIfError(resp, request);\n while (--retry > 0 && needRetry(resp)) {\n resp = await execQuery(request);\n this._stats.retryCount += 1;\n if (needRetry(resp)) {\n updateStats(resp);\n }\n }\n if (retry === 0 && needRetry(resp)) {\n throw new Error(\"query too long to execute or server is too busy\");\n }\n updateStats(resp);\n return resp;\n }\n\n /**\n * Get the metadata for each column in the query result.\n *\n * @returns An array of [[QueryPropertyMetaData]].\n */\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\n if (this._props.length === 0) {\n await this.fetchRows();\n }\n return this._props.properties;\n }\n\n /**\n *\n */\n private async fetchRows() {\n this._localOffset = -1;\n this._localRows = await this.readRows();\n if (this._localRows.length === 0) {\n this._done = true;\n }\n }\n\n /**\n * Step to the next row of the query result.\n *\n * @returns `true` if a row can be read from `current`.<br/>\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\n */\n public async step(): Promise<boolean> {\n if (this._done) {\n return false;\n }\n const cachedRows = this._localRows.length;\n if (this._localOffset < cachedRows - 1) {\n ++this._localOffset;\n } else {\n await this.fetchRows();\n this._localOffset = 0;\n return !this._done;\n }\n return true;\n }\n\n /**\n * Get all remaining rows from the query result.\n *\n * @returns An array of all remaining rows from the query result.\n */\n public async toArray(): Promise<any[]> {\n const rows = [];\n while (await this.step()) {\n rows.push(this.formatCurrentRow());\n }\n return rows;\n }\n\n /**\n * Accessor for using ECSqlReader as an asynchronous iterator.\n *\n * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.\n */\n public [Symbol.asyncIterator](): AsyncIterableIterator<QueryRowProxy> {\n return this;\n }\n\n /**\n * Calls step when called as an iterator.\n *\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\n *\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\n */\n public async next(): Promise<IteratorResult<QueryRowProxy, any>> {\n if (await this.step()) {\n return {\n done: false,\n value: this.current,\n };\n } else {\n return {\n done: true,\n value: this.current,\n };\n }\n }\n}\n\n"]}
1
+ {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\nimport {\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\n QueryPropertyMetaData, QueryRowFormat,\n} from \"./ConcurrentQuery\";\nimport { ECSqlReaderBase, PropertyMetaDataMap, QueryRowProxy } from \"./ECSqlReaderBase\";\n\n/**\n * Performance-related statistics for [[ECSqlReader]].\n * @public\n */\nexport interface QueryStats {\n /** Time spent running the query; not including time spent queued. Time is in microseconds */\n backendCpuTime: number;\n /** Total time it took the backend to run the query. Time is in milliseconds. */\n backendTotalTime: number;\n /** Estimated memory used for the query. */\n backendMemUsed: number;\n /** Total number of rows returned by the backend. */\n backendRowsReturned: number;\n /** The total round trip time from the client's perspective. Time is in milliseconds. */\n totalTime: number;\n /** The number of retries attempted to execute the query. */\n retryCount: number;\n /** Total time in millisecond to prepare ECSQL or grabing it from cache and binding parameters */\n prepareTime: number;\n}\n\n/**\n * Execute ECSQL statements and read the results.\n *\n * The query results are returned one row at a time. The format of the row is dictated by the\n * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to\n * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\n *\n * There are three primary ways to interact with and read the results:\n * - Stream them using ECSqlReader as an asynchronous iterator.\n * - Iterator over them manually using [[ECSqlReader.step]].\n * - Capture all of the results at once in an array using [[QueryRowProxy.toArray]].\n *\n * @see\n * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)\n * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.\n * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each\n * of the above ways of interacting with ECSqlReader.\n *\n * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic\n * JavaScript object, call [[QueryRowProxy.toRow]] on it.\n * @public\n */\nexport class ECSqlReader extends ECSqlReaderBase implements AsyncIterableIterator<QueryRowProxy> {\n private static readonly _maxRetryCount = 10;\n\n private _localRows: any[] = [];\n private _localOffset: number = 0;\n private _globalOffset: number = -1;\n private _globalCount: number = -1;\n private _globalDone: boolean = false;\n private _param = new QueryBinder().serialize();\n private _lockArgs: boolean = false;\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\n\n /**\n * @internal\n */\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\n super(options?.rowFormat);\n if (query.trim().length === 0) {\n throw new Error(\"expecting non-empty ecsql statement\");\n }\n if (param) {\n this._param = param.serialize();\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.reset(options);\n }\n\n /**\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public setParams(param: QueryBinder) {\n if (this._lockArgs) {\n throw new Error(\"call resetBindings() before setting or changing parameters\");\n }\n this._param = param.serialize();\n }\n /**\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public reset(options?: QueryOptions) {\n if (options) {\n this._options = options;\n }\n this._props = new PropertyMetaDataMap([]);\n this._localRows = [];\n this._globalDone = false;\n this._globalOffset = 0;\n this._globalCount = -1;\n if (typeof this._options.rowFormat === \"undefined\")\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\n this._rowFormat = this._options.rowFormat;\n if (this._options.limit) {\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\n this._globalOffset = this._options.limit.offset;\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\n this._globalCount = this._options.limit.count;\n }\n this._done = false;\n }\n\n /**\n * Clear all bindings.\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public resetBindings() {\n this._param = new QueryBinder().serialize();\n this._lockArgs = false;\n }\n\n /**\n * @internal\n */\n public override getRowInternal(): any[] {\n if (this._localRows.length <= this._localOffset)\n throw new Error(\"no current row\");\n return this._localRows[this._localOffset] as any[];\n }\n\n /**\n * Get performance-related statistics for the current query.\n */\n public get stats(): QueryStats {\n return this._stats;\n }\n\n /**\n *\n */\n private async readRows(): Promise<any[]> {\n if (this._globalDone) {\n return [];\n }\n this._lockArgs = true;\n this._globalOffset += this._localRows.length;\n this._globalCount -= this._localRows.length;\n if (this._globalCount === 0) {\n return [];\n }\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\n const request: DbQueryRequest = {\n ... this._options,\n kind: DbRequestKind.ECSql,\n valueFormat,\n query: this.query,\n args: this._param,\n };\n request.includeMetaData = this._props.length > 0 ? false : true;\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\n const resp = await this.runWithRetry(request);\n this._globalDone = resp.status === DbResponseStatus.Done;\n if (this._props.length === 0 && resp.meta.length > 0) {\n this._props = new PropertyMetaDataMap(resp.meta);\n }\n for (const row of resp.data) {\n ECSqlReader.replaceBase64WithUint8Array(row);\n }\n return resp.data;\n }\n\n /**\n * @internal\n */\n protected async runWithRetry(request: DbQueryRequest) {\n const needRetry = (rs: DbQueryResponse) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout || rs.status === DbResponseStatus.ShuttingDown) && (rs.data === undefined || rs.data.length === 0);\n const updateStats = (rs: DbQueryResponse) => {\n this._stats.backendCpuTime += rs.stats.cpuTime;\n this._stats.backendTotalTime += rs.stats.totalTime;\n this._stats.backendMemUsed += rs.stats.memUsed;\n this._stats.prepareTime += rs.stats.prepareTime;\n this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;\n };\n const execQuery = async (req: DbQueryRequest) => {\n const startTime = Date.now();\n const rs = await this._executor.execute(req);\n this.stats.totalTime += (Date.now() - startTime);\n return rs;\n };\n let retry = ECSqlReader._maxRetryCount;\n let resp = await execQuery(request);\n DbQueryError.throwIfError(resp, request);\n while (--retry > 0 && needRetry(resp)) {\n resp = await execQuery(request);\n this._stats.retryCount += 1;\n if (needRetry(resp)) {\n updateStats(resp);\n }\n }\n if (retry === 0 && needRetry(resp)) {\n throw new Error(\"query too long to execute or server is too busy\");\n }\n updateStats(resp);\n return resp;\n }\n\n /**\n * Get the metadata for each column in the query result.\n *\n * @returns An array of [[QueryPropertyMetaData]].\n */\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\n if (this._props.length === 0) {\n await this.fetchRows();\n }\n return this._props.properties;\n }\n\n /**\n *\n */\n private async fetchRows() {\n this._localOffset = -1;\n this._localRows = await this.readRows();\n if (this._localRows.length === 0) {\n this._done = true;\n }\n }\n\n /**\n * Step to the next row of the query result.\n *\n * @returns `true` if a row can be read from `current`.<br/>\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\n */\n public async step(): Promise<boolean> {\n if (this._done) {\n return false;\n }\n const cachedRows = this._localRows.length;\n if (this._localOffset < cachedRows - 1) {\n ++this._localOffset;\n } else {\n await this.fetchRows();\n this._localOffset = 0;\n return !this._done;\n }\n return true;\n }\n\n /**\n * Get all remaining rows from the query result.\n *\n * @returns An array of all remaining rows from the query result.\n */\n public async toArray(): Promise<any[]> {\n const rows = [];\n while (await this.step()) {\n rows.push(this.formatCurrentRow());\n }\n return rows;\n }\n\n /**\n * Accessor for using ECSqlReader as an asynchronous iterator.\n *\n * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.\n */\n public [Symbol.asyncIterator](): AsyncIterableIterator<QueryRowProxy> {\n return this;\n }\n\n /**\n * Calls step when called as an iterator.\n *\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\n *\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\n */\n public async next(): Promise<IteratorResult<QueryRowProxy, any>> {\n if (await this.step()) {\n return {\n done: false,\n value: this.current,\n };\n } else {\n return {\n done: true,\n value: this.current,\n };\n }\n }\n}\n\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module iModels
3
3
  */
4
- import { ITwinError } from "@itwin/core-bentley";
4
+ import { GuidString, ITwinError } from "@itwin/core-bentley";
5
5
  /**
6
6
  * An error originating from the [SQLiteDb]($backend) API.
7
7
  * @beta
@@ -80,6 +80,25 @@ export declare namespace WorkspaceError {
80
80
  function isError<T extends ITwinError>(error: unknown, key?: Key): error is T;
81
81
  function throwError<T extends ITwinError>(key: Key, e: Omit<T, "name" | "iTwinErrorId">): never;
82
82
  }
83
+ /**
84
+ * Errors thrown by iTwin settings container APIs.
85
+ * @beta
86
+ */
87
+ export interface ITwinSettingsError extends ITwinError {
88
+ /** The iTwin associated with this settings error, when available. */
89
+ readonly iTwinId?: GuidString;
90
+ /** The priority associated with this settings error, when available. */
91
+ readonly priority?: number;
92
+ }
93
+ /** @beta */
94
+ export declare namespace ITwinSettingsError {
95
+ const scope = "itwin-settings";
96
+ type Key = "failed-to-obtain-container-token" | "multiple-itwin-settings-containers" | "no-cloud-container" | "blob-service-unavailable" | "invalid-priority" | "unknown-setting";
97
+ /** Determine whether an error object is an ITwinSettingsError. */
98
+ function isError(error: unknown, key?: Key): error is ITwinSettingsError;
99
+ /** Instantiate and throw an ITwinSettingsError. */
100
+ function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, "name" | "iTwinErrorId">): never;
101
+ }
83
102
  /** Errors originating from the [ChannelControl]($backend) interface.
84
103
  * @beta
85
104
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,YAAY;AACZ,yBAAiB,WAAW,CAAC;IACpB,MAAM,KAAK,iBAAiB,CAAC;IACpC,KAAY,GAAG,GACb,cAAc,GACd,sBAAsB,GACtB,2BAA2B,GAC3B,UAAU,CAAC;IAEb,yDAAyD;IACzD,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,WAAW,CAEvE;IAED,0CAA0C;IAC1C,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAE3E;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,YAAY;AACZ,yBAAiB,gBAAgB,CAAC;IACzB,MAAM,KAAK,sBAAsB,CAAC;IACzC,KAAY,GAAG,GACb,mBAAmB,GACnB,YAAY,GACZ,cAAc,GACd,sBAAsB,GACtB,gBAAgB,GAChB,uBAAuB;IACvB;;OAEG;IACH,iBAAiB;IACjB,oFAAoF;IACpF,qBAAqB,CAAC;IAExB,qJAAqJ;IACrJ,UAAiB,aAAc,SAAQ,gBAAgB;QACrD,gBAAgB;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,yDAAyD;QACzD,QAAQ,EAAE,MAAM,CAAC;QACjB,4BAA4B;QAC5B,OAAO,EAAE,MAAM,CAAC;KACjB;IAED,8DAA8D;IAC9D,SAAgB,OAAO,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAEzF;IAED,+CAA+C;IAC/C,SAAgB,UAAU,CAAC,CAAC,SAAS,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAE3G;CACF;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,YAAY;AACZ,yBAAiB,cAAc,CAAC;IACvB,MAAM,KAAK,oBAAoB,CAAC;IACvC,KAAY,GAAG,GACb,eAAe,GACf,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,YAAY,GACZ,cAAc,GACd,aAAa,CAAC;IAEhB,4DAA4D;IAC5D,SAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAEvF;IAED,6CAA6C;IAC7C,SAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAEzG;CACF;AAED;;;GAGG;AACH,yBAAiB,cAAc,CAAC;IACvB,MAAM,KAAK,oBAAoB,CAAC;IACvC,KAAY,GAAG,GACb,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,WAAW,GACX,aAAa,CAAC;IAEhB,4DAA4D;IAC5D,SAAgB,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAEnF;IAED,SAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAErG;CACF;AAGD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,YAAY;AACZ,yBAAiB,mBAAmB,CAAC;IACnC,uDAAuD;IAChD,MAAM,KAAK,yBAAyB,CAAC;IAE5C,gDAAgD;IAChD,KAAY,GAAG;IACb,gEAAgE;IAChE,cAAc;IACd,yDAAyD;IACzD,aAAa;IACb,sCAAsC;IACtC,aAAa,CAAC;IAEhB,kDAAkD;IAClD,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAE/E;IACD,iEAAiE;IACjE,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,mBAAmB,CAE/E;CACF"}
1
+ {"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @module iModels
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ChannelControlError = exports.WorkspaceError = exports.ViewStoreError = exports.CloudSqliteError = exports.SqliteError = void 0;
10
+ exports.ChannelControlError = exports.ITwinSettingsError = exports.WorkspaceError = exports.ViewStoreError = exports.CloudSqliteError = exports.SqliteError = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  /** @beta */
13
13
  var SqliteError;
@@ -72,6 +72,21 @@ var WorkspaceError;
72
72
  WorkspaceError.throwError = throwError;
73
73
  })(WorkspaceError || (exports.WorkspaceError = WorkspaceError = {}));
74
74
  /** @beta */
75
+ var ITwinSettingsError;
76
+ (function (ITwinSettingsError) {
77
+ ITwinSettingsError.scope = "itwin-settings";
78
+ /** Determine whether an error object is an ITwinSettingsError. */
79
+ function isError(error, key) {
80
+ return core_bentley_1.ITwinError.isError(error, ITwinSettingsError.scope, key);
81
+ }
82
+ ITwinSettingsError.isError = isError;
83
+ /** Instantiate and throw an ITwinSettingsError. */
84
+ function throwError(key, e) {
85
+ core_bentley_1.ITwinError.throwError({ ...e, iTwinErrorId: { scope: ITwinSettingsError.scope, key } });
86
+ }
87
+ ITwinSettingsError.throwError = throwError;
88
+ })(ITwinSettingsError || (exports.ITwinSettingsError = ITwinSettingsError = {}));
89
+ /** @beta */
75
90
  var ChannelControlError;
76
91
  (function (ChannelControlError) {
77
92
  /** the ITwinError scope for `ChannelControlError`s. */
@@ -1 +1 @@
1
- {"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\n\nimport { ITwinError } from \"@itwin/core-bentley\";\n\n/**\n * An error originating from the [SQLiteDb]($backend) API.\n * @beta\n */\nexport interface SqliteError extends ITwinError {\n /** The name of the database for this problem. */\n dbName: string;\n}\n\n/** @beta */\nexport namespace SqliteError {\n export const scope = \"itwin-Sqlite\";\n export type Key =\n \"already-open\" |\n \"incompatible-version\" |\n \"invalid-versions-property\" |\n \"readonly\";\n\n /** Determine whether an error object is a SqliteError */\n export function isError(error: unknown, key?: Key): error is SqliteError {\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\n }\n\n /** Instantiate and throw a SqliteError */\n export function throwError(key: Key, message: string, dbName: string): never {\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\n }\n}\n\n/**\n * An error originating from the [CloudSqlite]($backend) API.\n * @beta\n */\nexport interface CloudSqliteError extends ITwinError {\n /** The name of the database that generated the error */\n readonly dbName?: string;\n /** The name of the container associated with the error */\n readonly containerId?: string;\n}\n\n/** @beta */\nexport namespace CloudSqliteError {\n export const scope = \"itwin-CloudSqlite\";\n export type Key =\n \"already-published\" |\n \"copy-error\" |\n \"invalid-name\" |\n \"no-version-available\" |\n \"not-a-function\" |\n \"service-not-available\" |\n /** The write lock cannot be acquired because it is currently held by somebody else.\n * @see WriteLockHeld for details\n */\n \"write-lock-held\" |\n /** The write lock on a container is not held, but is required for this operation */\n \"write-lock-not-held\";\n\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\n export interface WriteLockHeld extends CloudSqliteError {\n /** @internal */\n errorNumber: number;\n /** moniker of user currently holding container's lock */\n lockedBy: string;\n /** time the lock expires */\n expires: string;\n }\n\n /** Determine whether an error object is a CloudSqliteError */\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a CloudSqliteError */\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/** Errors thrown by the [ViewStore]($backend) API.\n * @beta\n */\nexport interface ViewStoreError extends ITwinError {\n /** The name of the ViewStore that generated the error */\n viewStoreName?: string;\n}\n\n/** @beta */\nexport namespace ViewStoreError {\n export const scope = \"itwin-ViewStore\";\n export type Key =\n \"invalid-value\" |\n \"invalid-member\" |\n \"no-owner\" |\n \"not-found\" |\n \"not-unique\" |\n \"no-viewstore\" |\n \"group-error\";\n\n /** Determine whether an error object is a ViewStoreError */\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a ViewStoreError */\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/**\n * Errors thrown by the [Workspace]($backend) APIs.\n * @beta\n */\nexport namespace WorkspaceError {\n export const scope = \"itwin-Workspace\";\n export type Key =\n \"already-exists\" |\n \"container-exists\" |\n \"does-not-exist\" |\n \"invalid-name\" |\n \"no-cloud-container\" |\n \"load-error\" |\n \"load-errors\" |\n \"resource-exists\" |\n \"too-large\" |\n \"write-error\";\n\n /** Determine whether an error object is a WorkspaceError */\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\n }\n}\n\n\n/** Errors originating from the [ChannelControl]($backend) interface.\n * @beta\n */\nexport interface ChannelControlError extends ITwinError {\n /** The channel key that caused the error. */\n readonly channelKey: string;\n}\n\n/** @beta */\nexport namespace ChannelControlError {\n /** the ITwinError scope for `ChannelControlError`s. */\n export const scope = \"itwin-ChannelControl\";\n\n /** Keys that identify `ChannelControlError`s */\n export type Key =\n /** an attempt to create a channel within an existing channel */\n \"may-not-nest\" |\n /** an attempt to use a channel that was not \"allowed\" */\n \"not-allowed\" |\n /** the root channel already exists */\n \"root-exists\";\n\n /** Instantiate and throw a ChannelControlError */\n export function throwError(key: Key, message: string, channelKey: string): never {\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\n }\n /** Determine whether an error object is a ChannelControlError */\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\n }\n}\n"]}
1
+ {"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\n\nimport { GuidString, ITwinError } from \"@itwin/core-bentley\";\n\n/**\n * An error originating from the [SQLiteDb]($backend) API.\n * @beta\n */\nexport interface SqliteError extends ITwinError {\n /** The name of the database for this problem. */\n dbName: string;\n}\n\n/** @beta */\nexport namespace SqliteError {\n export const scope = \"itwin-Sqlite\";\n export type Key =\n \"already-open\" |\n \"incompatible-version\" |\n \"invalid-versions-property\" |\n \"readonly\";\n\n /** Determine whether an error object is a SqliteError */\n export function isError(error: unknown, key?: Key): error is SqliteError {\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\n }\n\n /** Instantiate and throw a SqliteError */\n export function throwError(key: Key, message: string, dbName: string): never {\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\n }\n}\n\n/**\n * An error originating from the [CloudSqlite]($backend) API.\n * @beta\n */\nexport interface CloudSqliteError extends ITwinError {\n /** The name of the database that generated the error */\n readonly dbName?: string;\n /** The name of the container associated with the error */\n readonly containerId?: string;\n}\n\n/** @beta */\nexport namespace CloudSqliteError {\n export const scope = \"itwin-CloudSqlite\";\n export type Key =\n \"already-published\" |\n \"copy-error\" |\n \"invalid-name\" |\n \"no-version-available\" |\n \"not-a-function\" |\n \"service-not-available\" |\n /** The write lock cannot be acquired because it is currently held by somebody else.\n * @see WriteLockHeld for details\n */\n \"write-lock-held\" |\n /** The write lock on a container is not held, but is required for this operation */\n \"write-lock-not-held\";\n\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\n export interface WriteLockHeld extends CloudSqliteError {\n /** @internal */\n errorNumber: number;\n /** moniker of user currently holding container's lock */\n lockedBy: string;\n /** time the lock expires */\n expires: string;\n }\n\n /** Determine whether an error object is a CloudSqliteError */\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a CloudSqliteError */\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/** Errors thrown by the [ViewStore]($backend) API.\n * @beta\n */\nexport interface ViewStoreError extends ITwinError {\n /** The name of the ViewStore that generated the error */\n viewStoreName?: string;\n}\n\n/** @beta */\nexport namespace ViewStoreError {\n export const scope = \"itwin-ViewStore\";\n export type Key =\n \"invalid-value\" |\n \"invalid-member\" |\n \"no-owner\" |\n \"not-found\" |\n \"not-unique\" |\n \"no-viewstore\" |\n \"group-error\";\n\n /** Determine whether an error object is a ViewStoreError */\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a ViewStoreError */\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/**\n * Errors thrown by the [Workspace]($backend) APIs.\n * @beta\n */\nexport namespace WorkspaceError {\n export const scope = \"itwin-Workspace\";\n export type Key =\n \"already-exists\" |\n \"container-exists\" |\n \"does-not-exist\" |\n \"invalid-name\" |\n \"no-cloud-container\" |\n \"load-error\" |\n \"load-errors\" |\n \"resource-exists\" |\n \"too-large\" |\n \"write-error\";\n\n /** Determine whether an error object is a WorkspaceError */\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\n }\n}\n\n/**\n * Errors thrown by iTwin settings container APIs.\n * @beta\n */\nexport interface ITwinSettingsError extends ITwinError {\n /** The iTwin associated with this settings error, when available. */\n readonly iTwinId?: GuidString;\n /** The priority associated with this settings error, when available. */\n readonly priority?: number;\n}\n\n/** @beta */\nexport namespace ITwinSettingsError {\n export const scope = \"itwin-settings\";\n export type Key =\n \"failed-to-obtain-container-token\" |\n \"multiple-itwin-settings-containers\" |\n \"no-cloud-container\" |\n \"blob-service-unavailable\" |\n \"invalid-priority\" |\n \"unknown-setting\";\n\n /** Determine whether an error object is an ITwinSettingsError. */\n export function isError(error: unknown, key?: Key): error is ITwinSettingsError {\n return ITwinError.isError<ITwinSettingsError>(error, scope, key);\n }\n\n /** Instantiate and throw an ITwinSettingsError. */\n export function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ITwinSettingsError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n\n/** Errors originating from the [ChannelControl]($backend) interface.\n * @beta\n */\nexport interface ChannelControlError extends ITwinError {\n /** The channel key that caused the error. */\n readonly channelKey: string;\n}\n\n/** @beta */\nexport namespace ChannelControlError {\n /** the ITwinError scope for `ChannelControlError`s. */\n export const scope = \"itwin-ChannelControl\";\n\n /** Keys that identify `ChannelControlError`s */\n export type Key =\n /** an attempt to create a channel within an existing channel */\n \"may-not-nest\" |\n /** an attempt to use a channel that was not \"allowed\" */\n \"not-allowed\" |\n /** the root channel already exists */\n \"root-exists\";\n\n /** Instantiate and throw a ChannelControlError */\n export function throwError(key: Key, message: string, channelKey: string): never {\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\n }\n /** Determine whether an error object is a ChannelControlError */\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\n }\n}\n"]}
@@ -63,16 +63,16 @@ export declare class ECSqlReader extends ECSqlReaderBase implements AsyncIterabl
63
63
  */
64
64
  constructor(_executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, query: string, param?: QueryBinder, options?: QueryOptions);
65
65
  /**
66
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
66
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
67
67
  */
68
68
  setParams(param: QueryBinder): void;
69
69
  /**
70
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
70
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
71
71
  */
72
72
  reset(options?: QueryOptions): void;
73
73
  /**
74
74
  * Clear all bindings.
75
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
75
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
76
76
  */
77
77
  resetBindings(): void;
78
78
  /**
@@ -59,7 +59,7 @@ export class ECSqlReader extends ECSqlReaderBase {
59
59
  this.reset(options);
60
60
  }
61
61
  /**
62
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
62
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
63
63
  */
64
64
  setParams(param) {
65
65
  if (this._lockArgs) {
@@ -68,7 +68,7 @@ export class ECSqlReader extends ECSqlReaderBase {
68
68
  this._param = param.serialize();
69
69
  }
70
70
  /**
71
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
71
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
72
72
  */
73
73
  reset(options) {
74
74
  if (options) {
@@ -92,7 +92,7 @@ export class ECSqlReader extends ECSqlReaderBase {
92
92
  }
93
93
  /**
94
94
  * Clear all bindings.
95
- * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
95
+ * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.
96
96
  */
97
97
  resetBindings() {
98
98
  this._param = new QueryBinder().serialize();
@@ -1 +1 @@
1
- {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\nimport {\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\n QueryPropertyMetaData, QueryRowFormat,\n} from \"./ConcurrentQuery\";\nimport { ECSqlReaderBase, PropertyMetaDataMap, QueryRowProxy } from \"./ECSqlReaderBase\";\n\n/**\n * Performance-related statistics for [[ECSqlReader]].\n * @public\n */\nexport interface QueryStats {\n /** Time spent running the query; not including time spent queued. Time is in microseconds */\n backendCpuTime: number;\n /** Total time it took the backend to run the query. Time is in milliseconds. */\n backendTotalTime: number;\n /** Estimated memory used for the query. */\n backendMemUsed: number;\n /** Total number of rows returned by the backend. */\n backendRowsReturned: number;\n /** The total round trip time from the client's perspective. Time is in milliseconds. */\n totalTime: number;\n /** The number of retries attempted to execute the query. */\n retryCount: number;\n /** Total time in millisecond to prepare ECSQL or grabing it from cache and binding parameters */\n prepareTime: number;\n}\n\n/**\n * Execute ECSQL statements and read the results.\n *\n * The query results are returned one row at a time. The format of the row is dictated by the\n * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to\n * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\n *\n * There are three primary ways to interact with and read the results:\n * - Stream them using ECSqlReader as an asynchronous iterator.\n * - Iterator over them manually using [[ECSqlReader.step]].\n * - Capture all of the results at once in an array using [[QueryRowProxy.toArray]].\n *\n * @see\n * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)\n * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.\n * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each\n * of the above ways of interacting with ECSqlReader.\n *\n * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic\n * JavaScript object, call [[QueryRowProxy.toRow]] on it.\n * @public\n */\nexport class ECSqlReader extends ECSqlReaderBase implements AsyncIterableIterator<QueryRowProxy> {\n private static readonly _maxRetryCount = 10;\n\n private _localRows: any[] = [];\n private _localOffset: number = 0;\n private _globalOffset: number = -1;\n private _globalCount: number = -1;\n private _globalDone: boolean = false;\n private _param = new QueryBinder().serialize();\n private _lockArgs: boolean = false;\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\n\n /**\n * @internal\n */\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\n super(options?.rowFormat);\n if (query.trim().length === 0) {\n throw new Error(\"expecting non-empty ecsql statement\");\n }\n if (param) {\n this._param = param.serialize();\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.reset(options);\n }\n\n /**\n * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public setParams(param: QueryBinder) {\n if (this._lockArgs) {\n throw new Error(\"call resetBindings() before setting or changing parameters\");\n }\n this._param = param.serialize();\n }\n /**\n * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public reset(options?: QueryOptions) {\n if (options) {\n this._options = options;\n }\n this._props = new PropertyMetaDataMap([]);\n this._localRows = [];\n this._globalDone = false;\n this._globalOffset = 0;\n this._globalCount = -1;\n if (typeof this._options.rowFormat === \"undefined\")\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\n this._rowFormat = this._options.rowFormat;\n if (this._options.limit) {\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\n this._globalOffset = this._options.limit.offset;\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\n this._globalCount = this._options.limit.count;\n }\n this._done = false;\n }\n\n /**\n * Clear all bindings.\n * @deprecated in 5.6. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public resetBindings() {\n this._param = new QueryBinder().serialize();\n this._lockArgs = false;\n }\n\n /**\n * @internal\n */\n public override getRowInternal(): any[] {\n if (this._localRows.length <= this._localOffset)\n throw new Error(\"no current row\");\n return this._localRows[this._localOffset] as any[];\n }\n\n /**\n * Get performance-related statistics for the current query.\n */\n public get stats(): QueryStats {\n return this._stats;\n }\n\n /**\n *\n */\n private async readRows(): Promise<any[]> {\n if (this._globalDone) {\n return [];\n }\n this._lockArgs = true;\n this._globalOffset += this._localRows.length;\n this._globalCount -= this._localRows.length;\n if (this._globalCount === 0) {\n return [];\n }\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\n const request: DbQueryRequest = {\n ... this._options,\n kind: DbRequestKind.ECSql,\n valueFormat,\n query: this.query,\n args: this._param,\n };\n request.includeMetaData = this._props.length > 0 ? false : true;\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\n const resp = await this.runWithRetry(request);\n this._globalDone = resp.status === DbResponseStatus.Done;\n if (this._props.length === 0 && resp.meta.length > 0) {\n this._props = new PropertyMetaDataMap(resp.meta);\n }\n for (const row of resp.data) {\n ECSqlReader.replaceBase64WithUint8Array(row);\n }\n return resp.data;\n }\n\n /**\n * @internal\n */\n protected async runWithRetry(request: DbQueryRequest) {\n const needRetry = (rs: DbQueryResponse) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout || rs.status === DbResponseStatus.ShuttingDown) && (rs.data === undefined || rs.data.length === 0);\n const updateStats = (rs: DbQueryResponse) => {\n this._stats.backendCpuTime += rs.stats.cpuTime;\n this._stats.backendTotalTime += rs.stats.totalTime;\n this._stats.backendMemUsed += rs.stats.memUsed;\n this._stats.prepareTime += rs.stats.prepareTime;\n this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;\n };\n const execQuery = async (req: DbQueryRequest) => {\n const startTime = Date.now();\n const rs = await this._executor.execute(req);\n this.stats.totalTime += (Date.now() - startTime);\n return rs;\n };\n let retry = ECSqlReader._maxRetryCount;\n let resp = await execQuery(request);\n DbQueryError.throwIfError(resp, request);\n while (--retry > 0 && needRetry(resp)) {\n resp = await execQuery(request);\n this._stats.retryCount += 1;\n if (needRetry(resp)) {\n updateStats(resp);\n }\n }\n if (retry === 0 && needRetry(resp)) {\n throw new Error(\"query too long to execute or server is too busy\");\n }\n updateStats(resp);\n return resp;\n }\n\n /**\n * Get the metadata for each column in the query result.\n *\n * @returns An array of [[QueryPropertyMetaData]].\n */\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\n if (this._props.length === 0) {\n await this.fetchRows();\n }\n return this._props.properties;\n }\n\n /**\n *\n */\n private async fetchRows() {\n this._localOffset = -1;\n this._localRows = await this.readRows();\n if (this._localRows.length === 0) {\n this._done = true;\n }\n }\n\n /**\n * Step to the next row of the query result.\n *\n * @returns `true` if a row can be read from `current`.<br/>\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\n */\n public async step(): Promise<boolean> {\n if (this._done) {\n return false;\n }\n const cachedRows = this._localRows.length;\n if (this._localOffset < cachedRows - 1) {\n ++this._localOffset;\n } else {\n await this.fetchRows();\n this._localOffset = 0;\n return !this._done;\n }\n return true;\n }\n\n /**\n * Get all remaining rows from the query result.\n *\n * @returns An array of all remaining rows from the query result.\n */\n public async toArray(): Promise<any[]> {\n const rows = [];\n while (await this.step()) {\n rows.push(this.formatCurrentRow());\n }\n return rows;\n }\n\n /**\n * Accessor for using ECSqlReader as an asynchronous iterator.\n *\n * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.\n */\n public [Symbol.asyncIterator](): AsyncIterableIterator<QueryRowProxy> {\n return this;\n }\n\n /**\n * Calls step when called as an iterator.\n *\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\n *\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\n */\n public async next(): Promise<IteratorResult<QueryRowProxy, any>> {\n if (await this.step()) {\n return {\n done: false,\n value: this.current,\n };\n } else {\n return {\n done: true,\n value: this.current,\n };\n }\n }\n}\n\n"]}
1
+ {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\nimport {\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\n QueryPropertyMetaData, QueryRowFormat,\n} from \"./ConcurrentQuery\";\nimport { ECSqlReaderBase, PropertyMetaDataMap, QueryRowProxy } from \"./ECSqlReaderBase\";\n\n/**\n * Performance-related statistics for [[ECSqlReader]].\n * @public\n */\nexport interface QueryStats {\n /** Time spent running the query; not including time spent queued. Time is in microseconds */\n backendCpuTime: number;\n /** Total time it took the backend to run the query. Time is in milliseconds. */\n backendTotalTime: number;\n /** Estimated memory used for the query. */\n backendMemUsed: number;\n /** Total number of rows returned by the backend. */\n backendRowsReturned: number;\n /** The total round trip time from the client's perspective. Time is in milliseconds. */\n totalTime: number;\n /** The number of retries attempted to execute the query. */\n retryCount: number;\n /** Total time in millisecond to prepare ECSQL or grabing it from cache and binding parameters */\n prepareTime: number;\n}\n\n/**\n * Execute ECSQL statements and read the results.\n *\n * The query results are returned one row at a time. The format of the row is dictated by the\n * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to\n * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\n *\n * There are three primary ways to interact with and read the results:\n * - Stream them using ECSqlReader as an asynchronous iterator.\n * - Iterator over them manually using [[ECSqlReader.step]].\n * - Capture all of the results at once in an array using [[QueryRowProxy.toArray]].\n *\n * @see\n * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)\n * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.\n * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each\n * of the above ways of interacting with ECSqlReader.\n *\n * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic\n * JavaScript object, call [[QueryRowProxy.toRow]] on it.\n * @public\n */\nexport class ECSqlReader extends ECSqlReaderBase implements AsyncIterableIterator<QueryRowProxy> {\n private static readonly _maxRetryCount = 10;\n\n private _localRows: any[] = [];\n private _localOffset: number = 0;\n private _globalOffset: number = -1;\n private _globalCount: number = -1;\n private _globalDone: boolean = false;\n private _param = new QueryBinder().serialize();\n private _lockArgs: boolean = false;\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\n\n /**\n * @internal\n */\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\n super(options?.rowFormat);\n if (query.trim().length === 0) {\n throw new Error(\"expecting non-empty ecsql statement\");\n }\n if (param) {\n this._param = param.serialize();\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.reset(options);\n }\n\n /**\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public setParams(param: QueryBinder) {\n if (this._lockArgs) {\n throw new Error(\"call resetBindings() before setting or changing parameters\");\n }\n this._param = param.serialize();\n }\n /**\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public reset(options?: QueryOptions) {\n if (options) {\n this._options = options;\n }\n this._props = new PropertyMetaDataMap([]);\n this._localRows = [];\n this._globalDone = false;\n this._globalOffset = 0;\n this._globalCount = -1;\n if (typeof this._options.rowFormat === \"undefined\")\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\n this._rowFormat = this._options.rowFormat;\n if (this._options.limit) {\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\n this._globalOffset = this._options.limit.offset;\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\n this._globalCount = this._options.limit.count;\n }\n this._done = false;\n }\n\n /**\n * Clear all bindings.\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Will not be removed until 2027-02-18. Should not be used. Will be made private in a future release.\n */\n public resetBindings() {\n this._param = new QueryBinder().serialize();\n this._lockArgs = false;\n }\n\n /**\n * @internal\n */\n public override getRowInternal(): any[] {\n if (this._localRows.length <= this._localOffset)\n throw new Error(\"no current row\");\n return this._localRows[this._localOffset] as any[];\n }\n\n /**\n * Get performance-related statistics for the current query.\n */\n public get stats(): QueryStats {\n return this._stats;\n }\n\n /**\n *\n */\n private async readRows(): Promise<any[]> {\n if (this._globalDone) {\n return [];\n }\n this._lockArgs = true;\n this._globalOffset += this._localRows.length;\n this._globalCount -= this._localRows.length;\n if (this._globalCount === 0) {\n return [];\n }\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\n const request: DbQueryRequest = {\n ... this._options,\n kind: DbRequestKind.ECSql,\n valueFormat,\n query: this.query,\n args: this._param,\n };\n request.includeMetaData = this._props.length > 0 ? false : true;\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\n const resp = await this.runWithRetry(request);\n this._globalDone = resp.status === DbResponseStatus.Done;\n if (this._props.length === 0 && resp.meta.length > 0) {\n this._props = new PropertyMetaDataMap(resp.meta);\n }\n for (const row of resp.data) {\n ECSqlReader.replaceBase64WithUint8Array(row);\n }\n return resp.data;\n }\n\n /**\n * @internal\n */\n protected async runWithRetry(request: DbQueryRequest) {\n const needRetry = (rs: DbQueryResponse) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout || rs.status === DbResponseStatus.ShuttingDown) && (rs.data === undefined || rs.data.length === 0);\n const updateStats = (rs: DbQueryResponse) => {\n this._stats.backendCpuTime += rs.stats.cpuTime;\n this._stats.backendTotalTime += rs.stats.totalTime;\n this._stats.backendMemUsed += rs.stats.memUsed;\n this._stats.prepareTime += rs.stats.prepareTime;\n this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;\n };\n const execQuery = async (req: DbQueryRequest) => {\n const startTime = Date.now();\n const rs = await this._executor.execute(req);\n this.stats.totalTime += (Date.now() - startTime);\n return rs;\n };\n let retry = ECSqlReader._maxRetryCount;\n let resp = await execQuery(request);\n DbQueryError.throwIfError(resp, request);\n while (--retry > 0 && needRetry(resp)) {\n resp = await execQuery(request);\n this._stats.retryCount += 1;\n if (needRetry(resp)) {\n updateStats(resp);\n }\n }\n if (retry === 0 && needRetry(resp)) {\n throw new Error(\"query too long to execute or server is too busy\");\n }\n updateStats(resp);\n return resp;\n }\n\n /**\n * Get the metadata for each column in the query result.\n *\n * @returns An array of [[QueryPropertyMetaData]].\n */\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\n if (this._props.length === 0) {\n await this.fetchRows();\n }\n return this._props.properties;\n }\n\n /**\n *\n */\n private async fetchRows() {\n this._localOffset = -1;\n this._localRows = await this.readRows();\n if (this._localRows.length === 0) {\n this._done = true;\n }\n }\n\n /**\n * Step to the next row of the query result.\n *\n * @returns `true` if a row can be read from `current`.<br/>\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\n */\n public async step(): Promise<boolean> {\n if (this._done) {\n return false;\n }\n const cachedRows = this._localRows.length;\n if (this._localOffset < cachedRows - 1) {\n ++this._localOffset;\n } else {\n await this.fetchRows();\n this._localOffset = 0;\n return !this._done;\n }\n return true;\n }\n\n /**\n * Get all remaining rows from the query result.\n *\n * @returns An array of all remaining rows from the query result.\n */\n public async toArray(): Promise<any[]> {\n const rows = [];\n while (await this.step()) {\n rows.push(this.formatCurrentRow());\n }\n return rows;\n }\n\n /**\n * Accessor for using ECSqlReader as an asynchronous iterator.\n *\n * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.\n */\n public [Symbol.asyncIterator](): AsyncIterableIterator<QueryRowProxy> {\n return this;\n }\n\n /**\n * Calls step when called as an iterator.\n *\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\n *\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\n */\n public async next(): Promise<IteratorResult<QueryRowProxy, any>> {\n if (await this.step()) {\n return {\n done: false,\n value: this.current,\n };\n } else {\n return {\n done: true,\n value: this.current,\n };\n }\n }\n}\n\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module iModels
3
3
  */
4
- import { ITwinError } from "@itwin/core-bentley";
4
+ import { GuidString, ITwinError } from "@itwin/core-bentley";
5
5
  /**
6
6
  * An error originating from the [SQLiteDb]($backend) API.
7
7
  * @beta
@@ -80,6 +80,25 @@ export declare namespace WorkspaceError {
80
80
  function isError<T extends ITwinError>(error: unknown, key?: Key): error is T;
81
81
  function throwError<T extends ITwinError>(key: Key, e: Omit<T, "name" | "iTwinErrorId">): never;
82
82
  }
83
+ /**
84
+ * Errors thrown by iTwin settings container APIs.
85
+ * @beta
86
+ */
87
+ export interface ITwinSettingsError extends ITwinError {
88
+ /** The iTwin associated with this settings error, when available. */
89
+ readonly iTwinId?: GuidString;
90
+ /** The priority associated with this settings error, when available. */
91
+ readonly priority?: number;
92
+ }
93
+ /** @beta */
94
+ export declare namespace ITwinSettingsError {
95
+ const scope = "itwin-settings";
96
+ type Key = "failed-to-obtain-container-token" | "multiple-itwin-settings-containers" | "no-cloud-container" | "blob-service-unavailable" | "invalid-priority" | "unknown-setting";
97
+ /** Determine whether an error object is an ITwinSettingsError. */
98
+ function isError(error: unknown, key?: Key): error is ITwinSettingsError;
99
+ /** Instantiate and throw an ITwinSettingsError. */
100
+ function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, "name" | "iTwinErrorId">): never;
101
+ }
83
102
  /** Errors originating from the [ChannelControl]($backend) interface.
84
103
  * @beta
85
104
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,21 @@ export var WorkspaceError;
69
69
  WorkspaceError.throwError = throwError;
70
70
  })(WorkspaceError || (WorkspaceError = {}));
71
71
  /** @beta */
72
+ export var ITwinSettingsError;
73
+ (function (ITwinSettingsError) {
74
+ ITwinSettingsError.scope = "itwin-settings";
75
+ /** Determine whether an error object is an ITwinSettingsError. */
76
+ function isError(error, key) {
77
+ return ITwinError.isError(error, ITwinSettingsError.scope, key);
78
+ }
79
+ ITwinSettingsError.isError = isError;
80
+ /** Instantiate and throw an ITwinSettingsError. */
81
+ function throwError(key, e) {
82
+ ITwinError.throwError({ ...e, iTwinErrorId: { scope: ITwinSettingsError.scope, key } });
83
+ }
84
+ ITwinSettingsError.throwError = throwError;
85
+ })(ITwinSettingsError || (ITwinSettingsError = {}));
86
+ /** @beta */
72
87
  export var ChannelControlError;
73
88
  (function (ChannelControlError) {
74
89
  /** the ITwinError scope for `ChannelControlError`s. */
@@ -1 +1 @@
1
- {"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\n\nimport { ITwinError } from \"@itwin/core-bentley\";\n\n/**\n * An error originating from the [SQLiteDb]($backend) API.\n * @beta\n */\nexport interface SqliteError extends ITwinError {\n /** The name of the database for this problem. */\n dbName: string;\n}\n\n/** @beta */\nexport namespace SqliteError {\n export const scope = \"itwin-Sqlite\";\n export type Key =\n \"already-open\" |\n \"incompatible-version\" |\n \"invalid-versions-property\" |\n \"readonly\";\n\n /** Determine whether an error object is a SqliteError */\n export function isError(error: unknown, key?: Key): error is SqliteError {\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\n }\n\n /** Instantiate and throw a SqliteError */\n export function throwError(key: Key, message: string, dbName: string): never {\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\n }\n}\n\n/**\n * An error originating from the [CloudSqlite]($backend) API.\n * @beta\n */\nexport interface CloudSqliteError extends ITwinError {\n /** The name of the database that generated the error */\n readonly dbName?: string;\n /** The name of the container associated with the error */\n readonly containerId?: string;\n}\n\n/** @beta */\nexport namespace CloudSqliteError {\n export const scope = \"itwin-CloudSqlite\";\n export type Key =\n \"already-published\" |\n \"copy-error\" |\n \"invalid-name\" |\n \"no-version-available\" |\n \"not-a-function\" |\n \"service-not-available\" |\n /** The write lock cannot be acquired because it is currently held by somebody else.\n * @see WriteLockHeld for details\n */\n \"write-lock-held\" |\n /** The write lock on a container is not held, but is required for this operation */\n \"write-lock-not-held\";\n\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\n export interface WriteLockHeld extends CloudSqliteError {\n /** @internal */\n errorNumber: number;\n /** moniker of user currently holding container's lock */\n lockedBy: string;\n /** time the lock expires */\n expires: string;\n }\n\n /** Determine whether an error object is a CloudSqliteError */\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a CloudSqliteError */\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/** Errors thrown by the [ViewStore]($backend) API.\n * @beta\n */\nexport interface ViewStoreError extends ITwinError {\n /** The name of the ViewStore that generated the error */\n viewStoreName?: string;\n}\n\n/** @beta */\nexport namespace ViewStoreError {\n export const scope = \"itwin-ViewStore\";\n export type Key =\n \"invalid-value\" |\n \"invalid-member\" |\n \"no-owner\" |\n \"not-found\" |\n \"not-unique\" |\n \"no-viewstore\" |\n \"group-error\";\n\n /** Determine whether an error object is a ViewStoreError */\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a ViewStoreError */\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/**\n * Errors thrown by the [Workspace]($backend) APIs.\n * @beta\n */\nexport namespace WorkspaceError {\n export const scope = \"itwin-Workspace\";\n export type Key =\n \"already-exists\" |\n \"container-exists\" |\n \"does-not-exist\" |\n \"invalid-name\" |\n \"no-cloud-container\" |\n \"load-error\" |\n \"load-errors\" |\n \"resource-exists\" |\n \"too-large\" |\n \"write-error\";\n\n /** Determine whether an error object is a WorkspaceError */\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\n }\n}\n\n\n/** Errors originating from the [ChannelControl]($backend) interface.\n * @beta\n */\nexport interface ChannelControlError extends ITwinError {\n /** The channel key that caused the error. */\n readonly channelKey: string;\n}\n\n/** @beta */\nexport namespace ChannelControlError {\n /** the ITwinError scope for `ChannelControlError`s. */\n export const scope = \"itwin-ChannelControl\";\n\n /** Keys that identify `ChannelControlError`s */\n export type Key =\n /** an attempt to create a channel within an existing channel */\n \"may-not-nest\" |\n /** an attempt to use a channel that was not \"allowed\" */\n \"not-allowed\" |\n /** the root channel already exists */\n \"root-exists\";\n\n /** Instantiate and throw a ChannelControlError */\n export function throwError(key: Key, message: string, channelKey: string): never {\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\n }\n /** Determine whether an error object is a ChannelControlError */\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\n }\n}\n"]}
1
+ {"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\n\nimport { GuidString, ITwinError } from \"@itwin/core-bentley\";\n\n/**\n * An error originating from the [SQLiteDb]($backend) API.\n * @beta\n */\nexport interface SqliteError extends ITwinError {\n /** The name of the database for this problem. */\n dbName: string;\n}\n\n/** @beta */\nexport namespace SqliteError {\n export const scope = \"itwin-Sqlite\";\n export type Key =\n \"already-open\" |\n \"incompatible-version\" |\n \"invalid-versions-property\" |\n \"readonly\";\n\n /** Determine whether an error object is a SqliteError */\n export function isError(error: unknown, key?: Key): error is SqliteError {\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\n }\n\n /** Instantiate and throw a SqliteError */\n export function throwError(key: Key, message: string, dbName: string): never {\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\n }\n}\n\n/**\n * An error originating from the [CloudSqlite]($backend) API.\n * @beta\n */\nexport interface CloudSqliteError extends ITwinError {\n /** The name of the database that generated the error */\n readonly dbName?: string;\n /** The name of the container associated with the error */\n readonly containerId?: string;\n}\n\n/** @beta */\nexport namespace CloudSqliteError {\n export const scope = \"itwin-CloudSqlite\";\n export type Key =\n \"already-published\" |\n \"copy-error\" |\n \"invalid-name\" |\n \"no-version-available\" |\n \"not-a-function\" |\n \"service-not-available\" |\n /** The write lock cannot be acquired because it is currently held by somebody else.\n * @see WriteLockHeld for details\n */\n \"write-lock-held\" |\n /** The write lock on a container is not held, but is required for this operation */\n \"write-lock-not-held\";\n\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\n export interface WriteLockHeld extends CloudSqliteError {\n /** @internal */\n errorNumber: number;\n /** moniker of user currently holding container's lock */\n lockedBy: string;\n /** time the lock expires */\n expires: string;\n }\n\n /** Determine whether an error object is a CloudSqliteError */\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a CloudSqliteError */\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/** Errors thrown by the [ViewStore]($backend) API.\n * @beta\n */\nexport interface ViewStoreError extends ITwinError {\n /** The name of the ViewStore that generated the error */\n viewStoreName?: string;\n}\n\n/** @beta */\nexport namespace ViewStoreError {\n export const scope = \"itwin-ViewStore\";\n export type Key =\n \"invalid-value\" |\n \"invalid-member\" |\n \"no-owner\" |\n \"not-found\" |\n \"not-unique\" |\n \"no-viewstore\" |\n \"group-error\";\n\n /** Determine whether an error object is a ViewStoreError */\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n /** Instantiate and throw a ViewStoreError */\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n/**\n * Errors thrown by the [Workspace]($backend) APIs.\n * @beta\n */\nexport namespace WorkspaceError {\n export const scope = \"itwin-Workspace\";\n export type Key =\n \"already-exists\" |\n \"container-exists\" |\n \"does-not-exist\" |\n \"invalid-name\" |\n \"no-cloud-container\" |\n \"load-error\" |\n \"load-errors\" |\n \"resource-exists\" |\n \"too-large\" |\n \"write-error\";\n\n /** Determine whether an error object is a WorkspaceError */\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\n return ITwinError.isError<T>(error, scope, key);\n }\n\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\n }\n}\n\n/**\n * Errors thrown by iTwin settings container APIs.\n * @beta\n */\nexport interface ITwinSettingsError extends ITwinError {\n /** The iTwin associated with this settings error, when available. */\n readonly iTwinId?: GuidString;\n /** The priority associated with this settings error, when available. */\n readonly priority?: number;\n}\n\n/** @beta */\nexport namespace ITwinSettingsError {\n export const scope = \"itwin-settings\";\n export type Key =\n \"failed-to-obtain-container-token\" |\n \"multiple-itwin-settings-containers\" |\n \"no-cloud-container\" |\n \"blob-service-unavailable\" |\n \"invalid-priority\" |\n \"unknown-setting\";\n\n /** Determine whether an error object is an ITwinSettingsError. */\n export function isError(error: unknown, key?: Key): error is ITwinSettingsError {\n return ITwinError.isError<ITwinSettingsError>(error, scope, key);\n }\n\n /** Instantiate and throw an ITwinSettingsError. */\n export function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\n ITwinError.throwError<ITwinSettingsError>({ ...e, iTwinErrorId: { scope, key } });\n }\n}\n\n\n/** Errors originating from the [ChannelControl]($backend) interface.\n * @beta\n */\nexport interface ChannelControlError extends ITwinError {\n /** The channel key that caused the error. */\n readonly channelKey: string;\n}\n\n/** @beta */\nexport namespace ChannelControlError {\n /** the ITwinError scope for `ChannelControlError`s. */\n export const scope = \"itwin-ChannelControl\";\n\n /** Keys that identify `ChannelControlError`s */\n export type Key =\n /** an attempt to create a channel within an existing channel */\n \"may-not-nest\" |\n /** an attempt to use a channel that was not \"allowed\" */\n \"not-allowed\" |\n /** the root channel already exists */\n \"root-exists\";\n\n /** Instantiate and throw a ChannelControlError */\n export function throwError(key: Key, message: string, channelKey: string): never {\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\n }\n /** Determine whether an error object is a ChannelControlError */\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/core-common",
3
- "version": "5.9.0-dev.1",
3
+ "version": "5.9.0-dev.3",
4
4
  "description": "iTwin.js components common to frontend and backend",
5
5
  "main": "lib/cjs/core-common.js",
6
6
  "module": "lib/esm/core-common.js",
@@ -27,8 +27,8 @@
27
27
  "js-base64": "^3.6.1"
28
28
  },
29
29
  "peerDependencies": {
30
- "@itwin/core-bentley": "5.9.0-dev.1",
31
- "@itwin/core-geometry": "5.9.0-dev.1"
30
+ "@itwin/core-bentley": "5.9.0-dev.3",
31
+ "@itwin/core-geometry": "5.9.0-dev.3"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@itwin/eslint-plugin": "^6.0.0",
@@ -42,9 +42,9 @@
42
42
  "rimraf": "^6.0.1",
43
43
  "typescript": "~5.6.2",
44
44
  "vitest": "^3.0.6",
45
- "@itwin/core-geometry": "5.9.0-dev.1",
46
- "@itwin/build-tools": "5.9.0-dev.1",
47
- "@itwin/core-bentley": "5.9.0-dev.1"
45
+ "@itwin/build-tools": "5.9.0-dev.3",
46
+ "@itwin/core-geometry": "5.9.0-dev.3",
47
+ "@itwin/core-bentley": "5.9.0-dev.3"
48
48
  },
49
49
  "nyc": {
50
50
  "extends": "./node_modules/@itwin/build-tools/.nycrc",