@itwin/core-common 5.15.0-dev.9 → 5.15.0

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.
Files changed (60) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/lib/cjs/ConcurrentQuery.d.ts +26 -0
  3. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  4. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  5. package/lib/cjs/ECSqlReader.d.ts +1 -0
  6. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  7. package/lib/cjs/ECSqlReader.js +5 -0
  8. package/lib/cjs/ECSqlReader.js.map +1 -1
  9. package/lib/cjs/EntityProps.d.ts +12 -0
  10. package/lib/cjs/EntityProps.d.ts.map +1 -1
  11. package/lib/cjs/EntityProps.js +8 -0
  12. package/lib/cjs/EntityProps.js.map +1 -1
  13. package/lib/cjs/GeoCoordinateServices.d.ts +7 -0
  14. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  15. package/lib/cjs/GeoCoordinateServices.js +3 -0
  16. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  17. package/lib/cjs/TxnProps.d.ts +15 -13
  18. package/lib/cjs/TxnProps.d.ts.map +1 -1
  19. package/lib/cjs/TxnProps.js.map +1 -1
  20. package/lib/cjs/ViewProps.d.ts +5 -5
  21. package/lib/cjs/ViewProps.d.ts.map +1 -1
  22. package/lib/cjs/ViewProps.js.map +1 -1
  23. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +6 -6
  24. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  25. package/lib/cjs/rpc/IModelReadRpcInterface.js +1 -1
  26. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  27. package/lib/cjs/rpc/core/RpcInvocation.d.ts +4 -0
  28. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  29. package/lib/cjs/rpc/core/RpcInvocation.js +13 -3
  30. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  31. package/lib/esm/ConcurrentQuery.d.ts +26 -0
  32. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  33. package/lib/esm/ConcurrentQuery.js.map +1 -1
  34. package/lib/esm/ECSqlReader.d.ts +1 -0
  35. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  36. package/lib/esm/ECSqlReader.js +5 -0
  37. package/lib/esm/ECSqlReader.js.map +1 -1
  38. package/lib/esm/EntityProps.d.ts +12 -0
  39. package/lib/esm/EntityProps.d.ts.map +1 -1
  40. package/lib/esm/EntityProps.js +7 -0
  41. package/lib/esm/EntityProps.js.map +1 -1
  42. package/lib/esm/GeoCoordinateServices.d.ts +7 -0
  43. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  44. package/lib/esm/GeoCoordinateServices.js +3 -0
  45. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  46. package/lib/esm/TxnProps.d.ts +15 -13
  47. package/lib/esm/TxnProps.d.ts.map +1 -1
  48. package/lib/esm/TxnProps.js.map +1 -1
  49. package/lib/esm/ViewProps.d.ts +5 -5
  50. package/lib/esm/ViewProps.d.ts.map +1 -1
  51. package/lib/esm/ViewProps.js.map +1 -1
  52. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +6 -6
  53. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  54. package/lib/esm/rpc/IModelReadRpcInterface.js +1 -1
  55. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  56. package/lib/esm/rpc/core/RpcInvocation.d.ts +4 -0
  57. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  58. package/lib/esm/rpc/core/RpcInvocation.js +13 -3
  59. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  60. package/package.json +6 -6
@@ -6,6 +6,7 @@
6
6
  * @module iModels
7
7
  */
8
8
  import { DbQueryError, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptionsBuilder, QueryRowFormat, } from "./ConcurrentQuery";
9
+ import { Guid } from "@itwin/core-bentley";
9
10
  import { ECSqlReaderBase, PropertyMetaDataMap } from "./ECSqlReaderBase";
10
11
  /**
11
12
  * Execute ECSQL statements and read the results.
@@ -40,6 +41,7 @@ export class ECSqlReader extends ECSqlReaderBase {
40
41
  _globalDone = false;
41
42
  _param = new QueryBinder().serialize();
42
43
  _lockArgs = false;
44
+ _cursorId = "";
43
45
  _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };
44
46
  _options = new QueryOptionsBuilder().getOptions();
45
47
  /**
@@ -71,6 +73,7 @@ export class ECSqlReader extends ECSqlReaderBase {
71
73
  * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.
72
74
  */
73
75
  reset(options) {
76
+ this._cursorId = Guid.createValue();
74
77
  if (options) {
75
78
  this._options = options;
76
79
  }
@@ -95,6 +98,7 @@ export class ECSqlReader extends ECSqlReaderBase {
95
98
  * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.
96
99
  */
97
100
  resetBindings() {
101
+ this._cursorId = Guid.createValue();
98
102
  this._param = new QueryBinder().serialize();
99
103
  this._lockArgs = false;
100
104
  }
@@ -133,6 +137,7 @@ export class ECSqlReader extends ECSqlReaderBase {
133
137
  valueFormat,
134
138
  query: this.query,
135
139
  args: this._param,
140
+ cursorId: this._cursorId,
136
141
  };
137
142
  request.includeMetaData = this._props.length > 0 ? false : true;
138
143
  request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };
@@ -1 +1 @@
1
- {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.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\nimport {\r\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\r\n QueryPropertyMetaData, QueryRowFormat,\r\n} from \"./ConcurrentQuery\";\r\nimport { ECSqlReaderBase, PropertyMetaDataMap, QueryRowProxy } from \"./ECSqlReaderBase\";\r\n\r\n/**\r\n * Performance-related statistics for [[ECSqlReader]].\r\n * @public\r\n */\r\nexport interface QueryStats {\r\n /** Time spent running the query; not including time spent queued. Time is in microseconds */\r\n backendCpuTime: number;\r\n /** Total time it took the backend to run the query. Time is in milliseconds. */\r\n backendTotalTime: number;\r\n /** Estimated memory used for the query. */\r\n backendMemUsed: number;\r\n /** Total number of rows returned by the backend. */\r\n backendRowsReturned: number;\r\n /** The total round trip time from the client's perspective. Time is in milliseconds. */\r\n totalTime: number;\r\n /** The number of retries attempted to execute the query. */\r\n retryCount: number;\r\n /** Total time in millisecond to prepare ECSQL or grabing it from cache and binding parameters */\r\n prepareTime: number;\r\n}\r\n\r\n/**\r\n * Execute ECSQL statements and read the results.\r\n *\r\n * The query results are returned one row at a time. The format of the row is dictated by the\r\n * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to\r\n * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\r\n *\r\n * There are three primary ways to interact with and read the results:\r\n * - Stream them using ECSqlReader as an asynchronous iterator.\r\n * - Iterator over them manually using [[ECSqlReader.step]].\r\n * - Capture all of the results at once in an array using [[ECSqlReader.toArray]].\r\n *\r\n * @see\r\n * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)\r\n * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.\r\n * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each\r\n * of the above ways of interacting with ECSqlReader.\r\n *\r\n * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic\r\n * JavaScript object, call [[QueryRowProxy.toRow]] on it.\r\n * @public\r\n */\r\nexport class ECSqlReader extends ECSqlReaderBase implements AsyncIterableIterator<QueryRowProxy> {\r\n private static readonly _maxRetryCount = 10;\r\n\r\n private _localRows: any[] = [];\r\n private _localOffset: number = 0;\r\n private _globalOffset: number = -1;\r\n private _globalCount: number = -1;\r\n private _globalDone: boolean = false;\r\n private _param = new QueryBinder().serialize();\r\n private _lockArgs: boolean = false;\r\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };\r\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\r\n\r\n /**\r\n * @internal\r\n */\r\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\r\n super(options?.rowFormat);\r\n if (query.trim().length === 0) {\r\n throw new Error(\"expecting non-empty ecsql statement\");\r\n }\r\n if (param) {\r\n this._param = param.serialize();\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.reset(options);\r\n }\r\n\r\n /**\r\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.\r\n */\r\n public setParams(param: QueryBinder) {\r\n if (this._lockArgs) {\r\n throw new Error(\"call resetBindings() before setting or changing parameters\");\r\n }\r\n this._param = param.serialize();\r\n }\r\n /**\r\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.\r\n */\r\n public reset(options?: QueryOptions) {\r\n if (options) {\r\n this._options = options;\r\n }\r\n this._props = new PropertyMetaDataMap([]);\r\n this._localRows = [];\r\n this._globalDone = false;\r\n this._globalOffset = 0;\r\n this._globalCount = -1;\r\n if (typeof this._options.rowFormat === \"undefined\")\r\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\r\n this._rowFormat = this._options.rowFormat;\r\n if (this._options.limit) {\r\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\r\n this._globalOffset = this._options.limit.offset;\r\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\r\n this._globalCount = this._options.limit.count;\r\n }\r\n this._done = false;\r\n }\r\n\r\n /**\r\n * Clear all bindings.\r\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.\r\n */\r\n public resetBindings() {\r\n this._param = new QueryBinder().serialize();\r\n this._lockArgs = false;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override getRowInternal(): any[] {\r\n if (this._localRows.length <= this._localOffset)\r\n throw new Error(\"no current row\");\r\n return this._localRows[this._localOffset] as any[];\r\n }\r\n\r\n /**\r\n * Get performance-related statistics for the current query.\r\n */\r\n public get stats(): QueryStats {\r\n return this._stats;\r\n }\r\n\r\n /**\r\n *\r\n */\r\n private async readRows(): Promise<any[]> {\r\n if (this._globalDone) {\r\n return [];\r\n }\r\n this._lockArgs = true;\r\n this._globalOffset += this._localRows.length;\r\n this._globalCount -= this._localRows.length;\r\n if (this._globalCount === 0) {\r\n return [];\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\r\n const request: DbQueryRequest = {\r\n ... this._options,\r\n kind: DbRequestKind.ECSql,\r\n valueFormat,\r\n query: this.query,\r\n args: this._param,\r\n };\r\n request.includeMetaData = this._props.length > 0 ? false : true;\r\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\r\n const resp = await this.runWithRetry(request);\r\n this._globalDone = resp.status === DbResponseStatus.Done || resp.status === DbResponseStatus.NotOpen;\r\n if (this._props.length === 0 && resp.meta.length > 0) {\r\n this._props = new PropertyMetaDataMap(resp.meta);\r\n }\r\n for (const row of resp.data) {\r\n ECSqlReader.replaceBase64WithUint8Array(row);\r\n }\r\n return resp.data;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n protected async runWithRetry(request: DbQueryRequest) {\r\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);\r\n const updateStats = (rs: DbQueryResponse) => {\r\n this._stats.backendCpuTime += rs.stats.cpuTime;\r\n this._stats.backendTotalTime += rs.stats.totalTime;\r\n this._stats.backendMemUsed += rs.stats.memUsed;\r\n this._stats.prepareTime += rs.stats.prepareTime;\r\n this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;\r\n };\r\n const execQuery = async (req: DbQueryRequest) => {\r\n const startTime = Date.now();\r\n const rs = await this._executor.execute(req);\r\n this.stats.totalTime += (Date.now() - startTime);\r\n return rs;\r\n };\r\n let retry = ECSqlReader._maxRetryCount;\r\n let resp = await execQuery(request);\r\n DbQueryError.throwIfError(resp, request);\r\n while (--retry > 0 && needRetry(resp)) {\r\n resp = await execQuery(request);\r\n this._stats.retryCount += 1;\r\n if (needRetry(resp)) {\r\n updateStats(resp);\r\n }\r\n }\r\n if (retry === 0 && needRetry(resp)) {\r\n throw new Error(\"query too long to execute or server is too busy\");\r\n }\r\n updateStats(resp);\r\n return resp;\r\n }\r\n\r\n /**\r\n * Get the metadata for each column in the query result.\r\n *\r\n * @returns An array of [[QueryPropertyMetaData]].\r\n */\r\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\r\n if (this._props.length === 0) {\r\n await this.fetchRows();\r\n }\r\n return this._props.properties;\r\n }\r\n\r\n /**\r\n *\r\n */\r\n private async fetchRows() {\r\n this._localOffset = -1;\r\n this._localRows = await this.readRows();\r\n if (this._localRows.length === 0) {\r\n this._done = true;\r\n }\r\n }\r\n\r\n /**\r\n * Step to the next row of the query result.\r\n *\r\n * @returns `true` if a row can be read from `current`.<br/>\r\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\r\n */\r\n public async step(): Promise<boolean> {\r\n if (this._done) {\r\n return false;\r\n }\r\n const cachedRows = this._localRows.length;\r\n if (this._localOffset < cachedRows - 1) {\r\n ++this._localOffset;\r\n } else {\r\n await this.fetchRows();\r\n this._localOffset = 0;\r\n return !this._done;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Get all remaining rows from the query result.\r\n *\r\n * @returns An array of all remaining rows from the query result.\r\n */\r\n public async toArray(): Promise<any[]> {\r\n const rows = [];\r\n while (await this.step()) {\r\n rows.push(this.formatCurrentRow());\r\n }\r\n return rows;\r\n }\r\n\r\n /**\r\n * Accessor for using ECSqlReader as an asynchronous iterator.\r\n *\r\n * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.\r\n */\r\n public [Symbol.asyncIterator](): AsyncIterableIterator<QueryRowProxy> {\r\n return this;\r\n }\r\n\r\n /**\r\n * Calls step when called as an iterator.\r\n *\r\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\r\n *\r\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\r\n */\r\n public async next(): Promise<IteratorResult<QueryRowProxy, any>> {\r\n if (await this.step()) {\r\n return {\r\n done: false,\r\n value: this.current,\r\n };\r\n } else {\r\n return {\r\n done: true,\r\n value: this.current,\r\n };\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.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\nimport {\r\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\r\n QueryPropertyMetaData, QueryRowFormat,\r\n} from \"./ConcurrentQuery\";\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { ECSqlReaderBase, PropertyMetaDataMap, QueryRowProxy } from \"./ECSqlReaderBase\";\r\n\r\n/**\r\n * Performance-related statistics for [[ECSqlReader]].\r\n * @public\r\n */\r\nexport interface QueryStats {\r\n /** Time spent running the query; not including time spent queued. Time is in microseconds */\r\n backendCpuTime: number;\r\n /** Total time it took the backend to run the query. Time is in milliseconds. */\r\n backendTotalTime: number;\r\n /** Estimated memory used for the query. */\r\n backendMemUsed: number;\r\n /** Total number of rows returned by the backend. */\r\n backendRowsReturned: number;\r\n /** The total round trip time from the client's perspective. Time is in milliseconds. */\r\n totalTime: number;\r\n /** The number of retries attempted to execute the query. */\r\n retryCount: number;\r\n /** Total time in millisecond to prepare ECSQL or grabing it from cache and binding parameters */\r\n prepareTime: number;\r\n}\r\n\r\n/**\r\n * Execute ECSQL statements and read the results.\r\n *\r\n * The query results are returned one row at a time. The format of the row is dictated by the\r\n * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to\r\n * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\r\n *\r\n * There are three primary ways to interact with and read the results:\r\n * - Stream them using ECSqlReader as an asynchronous iterator.\r\n * - Iterator over them manually using [[ECSqlReader.step]].\r\n * - Capture all of the results at once in an array using [[ECSqlReader.toArray]].\r\n *\r\n * @see\r\n * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)\r\n * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.\r\n * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each\r\n * of the above ways of interacting with ECSqlReader.\r\n *\r\n * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic\r\n * JavaScript object, call [[QueryRowProxy.toRow]] on it.\r\n * @public\r\n */\r\nexport class ECSqlReader extends ECSqlReaderBase implements AsyncIterableIterator<QueryRowProxy> {\r\n private static readonly _maxRetryCount = 10;\r\n\r\n private _localRows: any[] = [];\r\n private _localOffset: number = 0;\r\n private _globalOffset: number = -1;\r\n private _globalCount: number = -1;\r\n private _globalDone: boolean = false;\r\n private _param = new QueryBinder().serialize();\r\n private _lockArgs: boolean = false;\r\n private _cursorId: string = \"\";\r\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };\r\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\r\n\r\n /**\r\n * @internal\r\n */\r\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\r\n super(options?.rowFormat);\r\n if (query.trim().length === 0) {\r\n throw new Error(\"expecting non-empty ecsql statement\");\r\n }\r\n if (param) {\r\n this._param = param.serialize();\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.reset(options);\r\n }\r\n\r\n /**\r\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.\r\n */\r\n public setParams(param: QueryBinder) {\r\n if (this._lockArgs) {\r\n throw new Error(\"call resetBindings() before setting or changing parameters\");\r\n }\r\n this._param = param.serialize();\r\n }\r\n /**\r\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.\r\n */\r\n public reset(options?: QueryOptions) {\r\n this._cursorId = Guid.createValue();\r\n if (options) {\r\n this._options = options;\r\n }\r\n this._props = new PropertyMetaDataMap([]);\r\n this._localRows = [];\r\n this._globalDone = false;\r\n this._globalOffset = 0;\r\n this._globalCount = -1;\r\n if (typeof this._options.rowFormat === \"undefined\")\r\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\r\n this._rowFormat = this._options.rowFormat;\r\n if (this._options.limit) {\r\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\r\n this._globalOffset = this._options.limit.offset;\r\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\r\n this._globalCount = this._options.limit.count;\r\n }\r\n this._done = false;\r\n }\r\n\r\n /**\r\n * Clear all bindings.\r\n * @deprecated in 5.6 - will not be removed until after 2027-04-02. Should not be used. Will be made private in a future release.\r\n */\r\n public resetBindings() {\r\n this._cursorId = Guid.createValue();\r\n this._param = new QueryBinder().serialize();\r\n this._lockArgs = false;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override getRowInternal(): any[] {\r\n if (this._localRows.length <= this._localOffset)\r\n throw new Error(\"no current row\");\r\n return this._localRows[this._localOffset] as any[];\r\n }\r\n\r\n /**\r\n * Get performance-related statistics for the current query.\r\n */\r\n public get stats(): QueryStats {\r\n return this._stats;\r\n }\r\n\r\n /**\r\n *\r\n */\r\n private async readRows(): Promise<any[]> {\r\n if (this._globalDone) {\r\n return [];\r\n }\r\n this._lockArgs = true;\r\n this._globalOffset += this._localRows.length;\r\n this._globalCount -= this._localRows.length;\r\n if (this._globalCount === 0) {\r\n return [];\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\r\n const request: DbQueryRequest = {\r\n ... this._options,\r\n kind: DbRequestKind.ECSql,\r\n valueFormat,\r\n query: this.query,\r\n args: this._param,\r\n cursorId: this._cursorId,\r\n };\r\n request.includeMetaData = this._props.length > 0 ? false : true;\r\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\r\n const resp = await this.runWithRetry(request);\r\n this._globalDone = resp.status === DbResponseStatus.Done || resp.status === DbResponseStatus.NotOpen;\r\n if (this._props.length === 0 && resp.meta.length > 0) {\r\n this._props = new PropertyMetaDataMap(resp.meta);\r\n }\r\n for (const row of resp.data) {\r\n ECSqlReader.replaceBase64WithUint8Array(row);\r\n }\r\n return resp.data;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n protected async runWithRetry(request: DbQueryRequest) {\r\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);\r\n const updateStats = (rs: DbQueryResponse) => {\r\n this._stats.backendCpuTime += rs.stats.cpuTime;\r\n this._stats.backendTotalTime += rs.stats.totalTime;\r\n this._stats.backendMemUsed += rs.stats.memUsed;\r\n this._stats.prepareTime += rs.stats.prepareTime;\r\n this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;\r\n };\r\n const execQuery = async (req: DbQueryRequest) => {\r\n const startTime = Date.now();\r\n const rs = await this._executor.execute(req);\r\n this.stats.totalTime += (Date.now() - startTime);\r\n return rs;\r\n };\r\n let retry = ECSqlReader._maxRetryCount;\r\n let resp = await execQuery(request);\r\n DbQueryError.throwIfError(resp, request);\r\n while (--retry > 0 && needRetry(resp)) {\r\n resp = await execQuery(request);\r\n this._stats.retryCount += 1;\r\n if (needRetry(resp)) {\r\n updateStats(resp);\r\n }\r\n }\r\n if (retry === 0 && needRetry(resp)) {\r\n throw new Error(\"query too long to execute or server is too busy\");\r\n }\r\n updateStats(resp);\r\n return resp;\r\n }\r\n\r\n /**\r\n * Get the metadata for each column in the query result.\r\n *\r\n * @returns An array of [[QueryPropertyMetaData]].\r\n */\r\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\r\n if (this._props.length === 0) {\r\n await this.fetchRows();\r\n }\r\n return this._props.properties;\r\n }\r\n\r\n /**\r\n *\r\n */\r\n private async fetchRows() {\r\n this._localOffset = -1;\r\n this._localRows = await this.readRows();\r\n if (this._localRows.length === 0) {\r\n this._done = true;\r\n }\r\n }\r\n\r\n /**\r\n * Step to the next row of the query result.\r\n *\r\n * @returns `true` if a row can be read from `current`.<br/>\r\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\r\n */\r\n public async step(): Promise<boolean> {\r\n if (this._done) {\r\n return false;\r\n }\r\n const cachedRows = this._localRows.length;\r\n if (this._localOffset < cachedRows - 1) {\r\n ++this._localOffset;\r\n } else {\r\n await this.fetchRows();\r\n this._localOffset = 0;\r\n return !this._done;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Get all remaining rows from the query result.\r\n *\r\n * @returns An array of all remaining rows from the query result.\r\n */\r\n public async toArray(): Promise<any[]> {\r\n const rows = [];\r\n while (await this.step()) {\r\n rows.push(this.formatCurrentRow());\r\n }\r\n return rows;\r\n }\r\n\r\n /**\r\n * Accessor for using ECSqlReader as an asynchronous iterator.\r\n *\r\n * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.\r\n */\r\n public [Symbol.asyncIterator](): AsyncIterableIterator<QueryRowProxy> {\r\n return this;\r\n }\r\n\r\n /**\r\n * Calls step when called as an iterator.\r\n *\r\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\r\n *\r\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\r\n */\r\n public async next(): Promise<IteratorResult<QueryRowProxy, any>> {\r\n if (await this.step()) {\r\n return {\r\n done: false,\r\n value: this.current,\r\n };\r\n } else {\r\n return {\r\n done: true,\r\n value: this.current,\r\n };\r\n }\r\n }\r\n}\r\n"]}
@@ -23,6 +23,18 @@ export interface EntityProps {
23
23
  [key: string]: any;
24
24
  };
25
25
  }
26
+ /** An [[EntityProps]] whose `id` is required, representing an entity that has been persisted.
27
+ * @public @preview
28
+ * @extensions
29
+ */
30
+ export type Persisted<T extends EntityProps> = T & {
31
+ id: Id64String;
32
+ };
33
+ /** Tests whether an [[EntityProps]] has a valid `id`, narrowing its type to [[Persisted]] if it does.
34
+ * @public @preview
35
+ * @extensions
36
+ */
37
+ export declare function isPersisted<T extends EntityProps>(entity: T): entity is Persisted<T>;
26
38
  /** Specifies the source and target elements of a [[Relationship]] instance.
27
39
  * @public @preview
28
40
  * @extensions
@@ -1 +1 @@
1
- {"version":3,"file":"EntityProps.d.ts","sourceRoot":"","sources":["../../src/EntityProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityProps.d.ts","sourceRoot":"","sources":["../../src/EntityProps.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,13 @@
8
8
  import { Id64 } from "@itwin/core-bentley";
9
9
  import { Point2d, Point3d } from "@itwin/core-geometry";
10
10
  import { RelatedElement } from "./ElementProps";
11
+ /** Tests whether an [[EntityProps]] has a valid `id`, narrowing its type to [[Persisted]] if it does.
12
+ * @public @preview
13
+ * @extensions
14
+ */
15
+ export function isPersisted(entity) {
16
+ return undefined !== entity.id && Id64.isValidId64(entity.id);
17
+ }
11
18
  /** The primitive types of an Entity property.
12
19
  * @beta
13
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EntityProps.js","sourceRoot":"","sources":["../../src/EntityProps.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 Entities\r\n */\r\n\r\nimport { Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d } from \"@itwin/core-geometry\";\r\nimport { RelatedElement } from \"./ElementProps\";\r\n\r\n/** The persistent format of an [Entity]($backend), also used as the \"wire format\" when transmitting information about entities\r\n * between the backend and frontend.\r\n * EntityProps and all of its sub-types like [[ElementProps]] are \"plain old Javascript objects\" - that is, objects containing\r\n * no methods and no properties of `class` type.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface EntityProps {\r\n /** A non-existent property used to discriminate between [[EntityProps]] and [Entity]($backend).\r\n * @see [Entity.isInstanceOfEntity]($backend).\r\n */\r\n readonly isInstanceOfEntity?: never;\r\n /** The full name of the [ECClass]($docs/bis/guide/references/glossary/#ecclass) for this entity, in the form \"Schema:ClassName\" */\r\n classFullName: string;\r\n /** The Id of the entity. Must be present for SELECT, UPDATE, or DELETE, ignored for INSERT. */\r\n id?: Id64String;\r\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this Entity. */\r\n jsonProperties?: { [key: string]: any };\r\n}\r\n\r\n/** Specifies the source and target elements of a [[Relationship]] instance.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface SourceAndTarget {\r\n sourceId: Id64String;\r\n targetId: Id64String;\r\n}\r\n\r\n/** Properties that are common to all types of link table ECRelationships\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface RelationshipProps extends EntityProps, SourceAndTarget {\r\n}\r\n\r\n/** Parameters for performing a query on [Entity]($backend) classes.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface EntityQueryParams {\r\n /** The sql className, in the form \"Schema.ClassName\", of the class to search. */\r\n from?: string;\r\n /** Set to true to limit results to *not* include sub-classes of \"from\" class */\r\n only?: boolean;\r\n /** Optional \"WHERE\" clause to filter entities. Note: do *not* include the \"WHERE\" keyword. */\r\n where?: string;\r\n /** Optional \"ORDERBY\" clause to sort results. Note: do *not* include the \"ORDERBY\" keyword. */\r\n orderBy?: string;\r\n /** Optional \"LIMIT\" clause to limit the number of rows returned. */\r\n limit?: number;\r\n /** Optional \"OFFSET\" clause. Only valid if Limit is also present. */\r\n offset?: number;\r\n /** Bindings for parameterized values.\r\n * @see [[ECSqlStatement.bindValues]]\r\n */\r\n bindings?: any[] | object;\r\n}\r\n\r\n/** The primitive types of an Entity property.\r\n * @beta\r\n */\r\nexport enum PrimitiveTypeCode {\r\n Uninitialized = 0x00,\r\n Binary = 0x101,\r\n Boolean = 0x201,\r\n DateTime = 0x301,\r\n Double = 0x401,\r\n Integer = 0x501,\r\n Long = 0x601,\r\n Point2d = 0x701, // eslint-disable-line @typescript-eslint/no-shadow\r\n Point3d = 0x801, // eslint-disable-line @typescript-eslint/no-shadow\r\n String = 0x901,\r\n IGeometry = 0xa01, // Used for Bentley.Geometry.Common.IGeometry types\r\n}\r\n\r\n/** A callback function to process properties of an Entity\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `PropertyHandler` from `@itwin/ecschema-metadata` instead.\r\n *\r\n * @example\r\n * ```typescript\r\n * // Current usage:\r\n * const callback: PropertyCallback = (name: string, propMetaData: PropertyMetaData) => {\r\n * console.log(`Property name: ${name}, Property type: ${propMetaData.primitiveType}`);\r\n * };\r\n *\r\n * // Replacement:\r\n * const callback: PropertyHandler = (propName: string, property: Property) => {\r\n * console.log(`Property name: ${propName}, Property type: ${property.propertyType}`);\r\n * };\r\n * ```\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport type PropertyCallback = (name: string, meta: PropertyMetaData) => void;\r\n\r\n/** A custom attribute instance\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `CustomAttribute` interface from `@itwin/ecschema-metadata` instead.\r\n */\r\nexport interface CustomAttribute {\r\n /** The class of the CustomAttribute */\r\n ecclass: string;\r\n /** An object whose properties correspond by name to the properties of this custom attribute instance. */\r\n properties: { [propName: string]: any };\r\n}\r\n\r\ntype FactoryFunc = (jsonObj: any) => any;\r\n\r\n/**\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `@itwin/ecschema-metadata` instead.\r\n */\r\nexport interface PropertyMetaDataProps {\r\n primitiveType?: number;\r\n structName?: string;\r\n extendedType?: string;\r\n description?: string;\r\n displayLabel?: string;\r\n minimumValue?: any;\r\n maximumValue?: any;\r\n minimumLength?: number;\r\n maximumLength?: number;\r\n readOnly?: boolean;\r\n kindOfQuantity?: string;\r\n isCustomHandled?: boolean;\r\n isCustomHandledOrphan?: boolean;\r\n minOccurs?: number;\r\n maxOccurs?: number;\r\n direction?: string;\r\n relationshipClass?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n customAttributes?: CustomAttribute[];\r\n}\r\n\r\n/** Metadata for a property.\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use the `Property` class from @itwin/ecschema-metadata` instead.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport class PropertyMetaData implements PropertyMetaDataProps {\r\n public primitiveType?: PrimitiveTypeCode;\r\n public structName?: string;\r\n public extendedType?: string;\r\n public description?: string;\r\n public displayLabel?: string;\r\n public minimumValue?: any;\r\n public maximumValue?: any;\r\n public minimumLength?: number;\r\n public maximumLength?: number;\r\n public readOnly?: boolean;\r\n public kindOfQuantity?: string;\r\n public isCustomHandled?: boolean;\r\n public isCustomHandledOrphan?: boolean;\r\n public minOccurs?: number;\r\n public maxOccurs?: number;\r\n public direction?: string;\r\n public relationshipClass?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public customAttributes?: CustomAttribute[];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public constructor(jsonObj: PropertyMetaDataProps) {\r\n this.primitiveType = jsonObj.primitiveType;\r\n if (jsonObj.structName)\r\n this.structName = jsonObj.structName;\r\n this.extendedType = jsonObj.extendedType;\r\n this.description = jsonObj.description;\r\n this.displayLabel = jsonObj.displayLabel;\r\n if (undefined !== jsonObj.minimumValue)\r\n this.minimumValue = jsonObj.minimumValue;\r\n if (undefined !== jsonObj.maximumValue)\r\n this.maximumValue = jsonObj.maximumValue;\r\n if (undefined !== jsonObj.minimumLength)\r\n this.minimumLength = jsonObj.minimumLength;\r\n if (undefined !== jsonObj.maximumLength)\r\n this.maximumLength = jsonObj.maximumLength;\r\n this.readOnly = jsonObj.readOnly;\r\n this.kindOfQuantity = jsonObj.kindOfQuantity;\r\n this.isCustomHandled = jsonObj.isCustomHandled;\r\n if (undefined !== jsonObj.minOccurs)\r\n this.minOccurs = jsonObj.minOccurs;\r\n if (undefined !== jsonObj.maxOccurs)\r\n this.maxOccurs = jsonObj.maxOccurs;\r\n this.direction = jsonObj.direction;\r\n this.relationshipClass = jsonObj.relationshipClass;\r\n this.customAttributes = jsonObj.customAttributes;\r\n }\r\n\r\n /** Create a typed value, or array of values, from a factory and an input object */\r\n private createValueOrArray(func: FactoryFunc, jsonObj: any) {\r\n if (undefined === this.minOccurs)\r\n return func(jsonObj); // not an array\r\n\r\n const val: any = [];\r\n jsonObj.forEach((element: any) => val.push(func(element)));\r\n return val;\r\n }\r\n\r\n /** construct a single property from an input object according to this metadata */\r\n public createProperty(jsonObj: any): any {\r\n if (jsonObj === undefined)\r\n return undefined;\r\n\r\n if (undefined !== this.primitiveType) {\r\n switch (this.primitiveType) {\r\n case PrimitiveTypeCode.Boolean:\r\n case PrimitiveTypeCode.Double:\r\n case PrimitiveTypeCode.Integer:\r\n case PrimitiveTypeCode.String:\r\n return jsonObj; // this works even for arrays or strings that are JSON because the parsed JSON is already the right type\r\n\r\n case PrimitiveTypeCode.Point2d:\r\n return this.createValueOrArray((obj) => Point2d.fromJSON(obj), jsonObj);\r\n\r\n case PrimitiveTypeCode.Point3d:\r\n return this.createValueOrArray((obj) => Point3d.fromJSON(obj), jsonObj);\r\n }\r\n }\r\n if (this.isNavigation)\r\n return jsonObj.id !== undefined ? new RelatedElement(jsonObj) : Id64.fromJSON(jsonObj);\r\n\r\n return jsonObj;\r\n }\r\n\r\n /** Return `true` if this property is a NavigationProperty. */\r\n public get isNavigation(): boolean {\r\n return (this.direction !== undefined); // the presence of `direction` means it is a navigation property\r\n }\r\n}\r\n\r\n/**\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `@itwin/ecschema-metadata` instead.\r\n */\r\nexport interface EntityMetaDataProps {\r\n classId: Id64String;\r\n ecclass: string;\r\n description?: string;\r\n modifier?: string;\r\n displayLabel?: string;\r\n /** The base classes from which this class derives. If more than one, the first is the super class and the others are [mixins]($docs/bis/ec/ec-mixin-class). */\r\n baseClasses: string[];\r\n /** The Custom Attributes for this class */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n customAttributes?: CustomAttribute[];\r\n /** An object whose properties correspond by name to the properties of this class. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n properties: { [propName: string]: PropertyMetaData };\r\n}\r\n\r\n/** Metadata for an Entity.\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `EntityClass` class from `@itwin/ecschema-metadata` instead.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport class EntityMetaData implements EntityMetaDataProps {\r\n /** The Id of the class in the [[IModelDb]] from which the metadata was obtained. */\r\n public readonly classId: Id64String;\r\n /** The Entity name */\r\n public readonly ecclass: string;\r\n public readonly description?: string;\r\n public readonly modifier?: string;\r\n public readonly displayLabel?: string;\r\n /** The base class that this class is derives from. If more than one, the first is the actual base class and the others are mixins. */\r\n public readonly baseClasses: string[];\r\n /** The Custom Attributes for this class */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public readonly customAttributes?: CustomAttribute[];\r\n /** An object whose properties correspond by name to the properties of this class. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public readonly properties: { [propName: string]: PropertyMetaData };\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public constructor(jsonObj: EntityMetaDataProps) {\r\n this.classId = jsonObj.classId;\r\n this.ecclass = jsonObj.ecclass;\r\n this.description = jsonObj.description;\r\n this.modifier = jsonObj.modifier;\r\n this.displayLabel = jsonObj.displayLabel;\r\n this.baseClasses = jsonObj.baseClasses;\r\n this.customAttributes = jsonObj.customAttributes;\r\n this.properties = {};\r\n\r\n for (const propName in jsonObj.properties) { // eslint-disable-line guard-for-in\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.properties[propName] = new PropertyMetaData(jsonObj.properties[propName]);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EntityProps.js","sourceRoot":"","sources":["../../src/EntityProps.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 Entities\r\n */\r\n\r\nimport { Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d } from \"@itwin/core-geometry\";\r\nimport { RelatedElement } from \"./ElementProps\";\r\n\r\n/** The persistent format of an [Entity]($backend), also used as the \"wire format\" when transmitting information about entities\r\n * between the backend and frontend.\r\n * EntityProps and all of its sub-types like [[ElementProps]] are \"plain old Javascript objects\" - that is, objects containing\r\n * no methods and no properties of `class` type.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface EntityProps {\r\n /** A non-existent property used to discriminate between [[EntityProps]] and [Entity]($backend).\r\n * @see [Entity.isInstanceOfEntity]($backend).\r\n */\r\n readonly isInstanceOfEntity?: never;\r\n /** The full name of the [ECClass]($docs/bis/guide/references/glossary/#ecclass) for this entity, in the form \"Schema:ClassName\" */\r\n classFullName: string;\r\n /** The Id of the entity. Must be present for SELECT, UPDATE, or DELETE, ignored for INSERT. */\r\n id?: Id64String;\r\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this Entity. */\r\n jsonProperties?: { [key: string]: any };\r\n}\r\n\r\n/** An [[EntityProps]] whose `id` is required, representing an entity that has been persisted.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport type Persisted<T extends EntityProps> = T & { id: Id64String };\r\n\r\n/** Tests whether an [[EntityProps]] has a valid `id`, narrowing its type to [[Persisted]] if it does.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport function isPersisted<T extends EntityProps>(entity: T): entity is Persisted<T> {\r\n return undefined !== entity.id && Id64.isValidId64(entity.id);\r\n}\r\n\r\n/** Specifies the source and target elements of a [[Relationship]] instance.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface SourceAndTarget {\r\n sourceId: Id64String;\r\n targetId: Id64String;\r\n}\r\n\r\n/** Properties that are common to all types of link table ECRelationships\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface RelationshipProps extends EntityProps, SourceAndTarget {\r\n}\r\n\r\n/** Parameters for performing a query on [Entity]($backend) classes.\r\n * @public @preview\r\n * @extensions\r\n */\r\nexport interface EntityQueryParams {\r\n /** The sql className, in the form \"Schema.ClassName\", of the class to search. */\r\n from?: string;\r\n /** Set to true to limit results to *not* include sub-classes of \"from\" class */\r\n only?: boolean;\r\n /** Optional \"WHERE\" clause to filter entities. Note: do *not* include the \"WHERE\" keyword. */\r\n where?: string;\r\n /** Optional \"ORDERBY\" clause to sort results. Note: do *not* include the \"ORDERBY\" keyword. */\r\n orderBy?: string;\r\n /** Optional \"LIMIT\" clause to limit the number of rows returned. */\r\n limit?: number;\r\n /** Optional \"OFFSET\" clause. Only valid if Limit is also present. */\r\n offset?: number;\r\n /** Bindings for parameterized values.\r\n * @see [[ECSqlStatement.bindValues]]\r\n */\r\n bindings?: any[] | object;\r\n}\r\n\r\n/** The primitive types of an Entity property.\r\n * @beta\r\n */\r\nexport enum PrimitiveTypeCode {\r\n Uninitialized = 0x00,\r\n Binary = 0x101,\r\n Boolean = 0x201,\r\n DateTime = 0x301,\r\n Double = 0x401,\r\n Integer = 0x501,\r\n Long = 0x601,\r\n Point2d = 0x701, // eslint-disable-line @typescript-eslint/no-shadow\r\n Point3d = 0x801, // eslint-disable-line @typescript-eslint/no-shadow\r\n String = 0x901,\r\n IGeometry = 0xa01, // Used for Bentley.Geometry.Common.IGeometry types\r\n}\r\n\r\n/** A callback function to process properties of an Entity\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `PropertyHandler` from `@itwin/ecschema-metadata` instead.\r\n *\r\n * @example\r\n * ```typescript\r\n * // Current usage:\r\n * const callback: PropertyCallback = (name: string, propMetaData: PropertyMetaData) => {\r\n * console.log(`Property name: ${name}, Property type: ${propMetaData.primitiveType}`);\r\n * };\r\n *\r\n * // Replacement:\r\n * const callback: PropertyHandler = (propName: string, property: Property) => {\r\n * console.log(`Property name: ${propName}, Property type: ${property.propertyType}`);\r\n * };\r\n * ```\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport type PropertyCallback = (name: string, meta: PropertyMetaData) => void;\r\n\r\n/** A custom attribute instance\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `CustomAttribute` interface from `@itwin/ecschema-metadata` instead.\r\n */\r\nexport interface CustomAttribute {\r\n /** The class of the CustomAttribute */\r\n ecclass: string;\r\n /** An object whose properties correspond by name to the properties of this custom attribute instance. */\r\n properties: { [propName: string]: any };\r\n}\r\n\r\ntype FactoryFunc = (jsonObj: any) => any;\r\n\r\n/**\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `@itwin/ecschema-metadata` instead.\r\n */\r\nexport interface PropertyMetaDataProps {\r\n primitiveType?: number;\r\n structName?: string;\r\n extendedType?: string;\r\n description?: string;\r\n displayLabel?: string;\r\n minimumValue?: any;\r\n maximumValue?: any;\r\n minimumLength?: number;\r\n maximumLength?: number;\r\n readOnly?: boolean;\r\n kindOfQuantity?: string;\r\n isCustomHandled?: boolean;\r\n isCustomHandledOrphan?: boolean;\r\n minOccurs?: number;\r\n maxOccurs?: number;\r\n direction?: string;\r\n relationshipClass?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n customAttributes?: CustomAttribute[];\r\n}\r\n\r\n/** Metadata for a property.\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use the `Property` class from @itwin/ecschema-metadata` instead.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport class PropertyMetaData implements PropertyMetaDataProps {\r\n public primitiveType?: PrimitiveTypeCode;\r\n public structName?: string;\r\n public extendedType?: string;\r\n public description?: string;\r\n public displayLabel?: string;\r\n public minimumValue?: any;\r\n public maximumValue?: any;\r\n public minimumLength?: number;\r\n public maximumLength?: number;\r\n public readOnly?: boolean;\r\n public kindOfQuantity?: string;\r\n public isCustomHandled?: boolean;\r\n public isCustomHandledOrphan?: boolean;\r\n public minOccurs?: number;\r\n public maxOccurs?: number;\r\n public direction?: string;\r\n public relationshipClass?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public customAttributes?: CustomAttribute[];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public constructor(jsonObj: PropertyMetaDataProps) {\r\n this.primitiveType = jsonObj.primitiveType;\r\n if (jsonObj.structName)\r\n this.structName = jsonObj.structName;\r\n this.extendedType = jsonObj.extendedType;\r\n this.description = jsonObj.description;\r\n this.displayLabel = jsonObj.displayLabel;\r\n if (undefined !== jsonObj.minimumValue)\r\n this.minimumValue = jsonObj.minimumValue;\r\n if (undefined !== jsonObj.maximumValue)\r\n this.maximumValue = jsonObj.maximumValue;\r\n if (undefined !== jsonObj.minimumLength)\r\n this.minimumLength = jsonObj.minimumLength;\r\n if (undefined !== jsonObj.maximumLength)\r\n this.maximumLength = jsonObj.maximumLength;\r\n this.readOnly = jsonObj.readOnly;\r\n this.kindOfQuantity = jsonObj.kindOfQuantity;\r\n this.isCustomHandled = jsonObj.isCustomHandled;\r\n if (undefined !== jsonObj.minOccurs)\r\n this.minOccurs = jsonObj.minOccurs;\r\n if (undefined !== jsonObj.maxOccurs)\r\n this.maxOccurs = jsonObj.maxOccurs;\r\n this.direction = jsonObj.direction;\r\n this.relationshipClass = jsonObj.relationshipClass;\r\n this.customAttributes = jsonObj.customAttributes;\r\n }\r\n\r\n /** Create a typed value, or array of values, from a factory and an input object */\r\n private createValueOrArray(func: FactoryFunc, jsonObj: any) {\r\n if (undefined === this.minOccurs)\r\n return func(jsonObj); // not an array\r\n\r\n const val: any = [];\r\n jsonObj.forEach((element: any) => val.push(func(element)));\r\n return val;\r\n }\r\n\r\n /** construct a single property from an input object according to this metadata */\r\n public createProperty(jsonObj: any): any {\r\n if (jsonObj === undefined)\r\n return undefined;\r\n\r\n if (undefined !== this.primitiveType) {\r\n switch (this.primitiveType) {\r\n case PrimitiveTypeCode.Boolean:\r\n case PrimitiveTypeCode.Double:\r\n case PrimitiveTypeCode.Integer:\r\n case PrimitiveTypeCode.String:\r\n return jsonObj; // this works even for arrays or strings that are JSON because the parsed JSON is already the right type\r\n\r\n case PrimitiveTypeCode.Point2d:\r\n return this.createValueOrArray((obj) => Point2d.fromJSON(obj), jsonObj);\r\n\r\n case PrimitiveTypeCode.Point3d:\r\n return this.createValueOrArray((obj) => Point3d.fromJSON(obj), jsonObj);\r\n }\r\n }\r\n if (this.isNavigation)\r\n return jsonObj.id !== undefined ? new RelatedElement(jsonObj) : Id64.fromJSON(jsonObj);\r\n\r\n return jsonObj;\r\n }\r\n\r\n /** Return `true` if this property is a NavigationProperty. */\r\n public get isNavigation(): boolean {\r\n return (this.direction !== undefined); // the presence of `direction` means it is a navigation property\r\n }\r\n}\r\n\r\n/**\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `@itwin/ecschema-metadata` instead.\r\n */\r\nexport interface EntityMetaDataProps {\r\n classId: Id64String;\r\n ecclass: string;\r\n description?: string;\r\n modifier?: string;\r\n displayLabel?: string;\r\n /** The base classes from which this class derives. If more than one, the first is the super class and the others are [mixins]($docs/bis/ec/ec-mixin-class). */\r\n baseClasses: string[];\r\n /** The Custom Attributes for this class */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n customAttributes?: CustomAttribute[];\r\n /** An object whose properties correspond by name to the properties of this class. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n properties: { [propName: string]: PropertyMetaData };\r\n}\r\n\r\n/** Metadata for an Entity.\r\n * @beta\r\n * @deprecated in 5.0 - might be removed in next major version. Use `EntityClass` class from `@itwin/ecschema-metadata` instead.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport class EntityMetaData implements EntityMetaDataProps {\r\n /** The Id of the class in the [[IModelDb]] from which the metadata was obtained. */\r\n public readonly classId: Id64String;\r\n /** The Entity name */\r\n public readonly ecclass: string;\r\n public readonly description?: string;\r\n public readonly modifier?: string;\r\n public readonly displayLabel?: string;\r\n /** The base class that this class is derives from. If more than one, the first is the actual base class and the others are mixins. */\r\n public readonly baseClasses: string[];\r\n /** The Custom Attributes for this class */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public readonly customAttributes?: CustomAttribute[];\r\n /** An object whose properties correspond by name to the properties of this class. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public readonly properties: { [propName: string]: PropertyMetaData };\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public constructor(jsonObj: EntityMetaDataProps) {\r\n this.classId = jsonObj.classId;\r\n this.ecclass = jsonObj.ecclass;\r\n this.description = jsonObj.description;\r\n this.modifier = jsonObj.modifier;\r\n this.displayLabel = jsonObj.displayLabel;\r\n this.baseClasses = jsonObj.baseClasses;\r\n this.customAttributes = jsonObj.customAttributes;\r\n this.properties = {};\r\n\r\n for (const propName in jsonObj.properties) { // eslint-disable-line guard-for-in\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.properties[propName] = new PropertyMetaData(jsonObj.properties[propName]);\r\n }\r\n }\r\n}\r\n"]}
@@ -44,6 +44,9 @@ export declare enum GeoCoordStatus {
44
44
  * Geoid separation data or vertical datum differential data (such as used by NGVD29 to NAVD88 conversion).
45
45
  * The horizontal coordinates returned are valid but the elevation ordinate will be returned unchanged or partially changed.
46
46
  * This status should be somehow reported so actions can be performed to provide the missing information.
47
+ * A finite elevation, including one equal to the input elevation, is not evidence that vertical conversion succeeded.
48
+ * Callers requiring converted elevations must reject this result. Horizontal-only callers may use XY while retaining
49
+ * and reporting this status. A visual fallback must not be presented as a successful vertical conversion.
47
50
  */
48
51
  VerticalDatumConvertError = 26,
49
52
  /** General inner conversion engine error. Coordinates returned are invalid and should be discarded */
@@ -68,6 +71,10 @@ export interface IModelCoordinatesRequestProps {
68
71
  }
69
72
  /** A point converted to iModel coordinates to geographic coordinates or vice-versa by a [[GeoConverter]].
70
73
  * The status [[s]] indicates the converted point [[p]]'s degree of accuracy.
74
+ * Always inspect the status before consuming coordinates. In particular, [[GeoCoordStatus.VerticalDatumConvertError]]
75
+ * permits horizontal use but does not provide a reliable converted elevation. Elevation-sensitive callers must reject it.
76
+ * Check required ordinates for finite values even when the status is [[GeoCoordStatus.Success]]; success is not a
77
+ * quantitative accuracy guarantee. Other warning statuses retain their separately documented accuracy limitations.
71
78
  * @public
72
79
  */
73
80
  export interface PointWithStatus {
@@ -1 +1 @@
1
- {"version":3,"file":"GeoCoordinateServices.d.ts","sourceRoot":"","sources":["../../src/GeoCoordinateServices.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E;;;;;;GAMG;AACH,oBAAY,cAAc;IACxB,kDAAkD;IAClD,OAAO,IAAI;IACX,sIAAsI;IACtI,YAAY,MAAM;IAClB;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI;IACpB;;;;OAIG;IACH,uBAAuB,IAAI;IAC3B;;;;OAIG;IACH,gBAAgB,KAAK;IACrB;;;;OAIG;IACH,yBAAyB,KAAK;IAC9B,sGAAsG;IACtG,UAAU,OAAO;IACjB;;;;OAIG;IACH,OAAO,SAAS;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAazE;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,CAAC,EAAE,QAAQ,CAAC;IACZ,0FAA0F;IAC1F,CAAC,EAAE,cAAc,CAAC;CACnB;AAED,YAAY;AACZ,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,6FAA6F;IAC7F,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB;;;;;MAKE;IACF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;MAGE;IACF,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC"}
1
+ {"version":3,"file":"GeoCoordinateServices.d.ts","sourceRoot":"","sources":["../../src/GeoCoordinateServices.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E;;;;;;GAMG;AACH,oBAAY,cAAc;IACxB,kDAAkD;IAClD,OAAO,IAAI;IACX,sIAAsI;IACtI,YAAY,MAAM;IAClB;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI;IACpB;;;;OAIG;IACH,uBAAuB,IAAI;IAC3B;;;;OAIG;IACH,gBAAgB,KAAK;IACrB;;;;;;;OAOG;IACH,yBAAyB,KAAK;IAC9B,sGAAsG;IACtG,UAAU,OAAO;IACjB;;;;OAIG;IACH,OAAO,SAAS;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAazE;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,CAAC,EAAE,QAAQ,CAAC;IACZ,0FAA0F;IAC1F,CAAC,EAAE,cAAc,CAAC;CACnB;AAED,YAAY;AACZ,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,6FAA6F;IAC7F,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB;;;;;MAKE;IACF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;MAGE;IACF,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC"}
@@ -48,6 +48,9 @@ export var GeoCoordStatus;
48
48
  * Geoid separation data or vertical datum differential data (such as used by NGVD29 to NAVD88 conversion).
49
49
  * The horizontal coordinates returned are valid but the elevation ordinate will be returned unchanged or partially changed.
50
50
  * This status should be somehow reported so actions can be performed to provide the missing information.
51
+ * A finite elevation, including one equal to the input elevation, is not evidence that vertical conversion succeeded.
52
+ * Callers requiring converted elevations must reject this result. Horizontal-only callers may use XY while retaining
53
+ * and reporting this status. A visual fallback must not be presented as a successful vertical conversion.
51
54
  */
52
55
  GeoCoordStatus[GeoCoordStatus["VerticalDatumConvertError"] = 26] = "VerticalDatumConvertError";
53
56
  /** General inner conversion engine error. Coordinates returned are invalid and should be discarded */
@@ -1 +1 @@
1
- {"version":3,"file":"GeoCoordinateServices.js","sourceRoot":"","sources":["../../src/GeoCoordinateServices.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,qDAAqD;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,cA2CX;AA3CD,WAAY,cAAc;IACxB,kDAAkD;IAClD,yDAAW,CAAA;IACX,sIAAsI;IACtI,qEAAkB,CAAA;IAClB;;;;;;;;;;OAUG;IACH,2EAAoB,CAAA;IACpB;;;;OAIG;IACH,yFAA2B,CAAA;IAC3B;;;;OAIG;IACH,4EAAqB,CAAA;IACrB;;;;OAIG;IACH,8FAA8B,CAAA;IAC9B,sGAAsG;IACtG,kEAAiB,CAAA;IACjB;;;;OAIG;IACH,8DAAgB,CAAA;AAClB,CAAC,EA3CW,cAAc,KAAd,cAAc,QA2CzB;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAiB;IACrD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;QAC7D,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,gBAAgB,CAAC,aAAa,CAAC;QACxE,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;QAC/E,KAAK,cAAc,CAAC,uBAAuB,CAAC,CAAC,OAAO,gBAAgB,CAAC,uBAAuB,CAAC;QAC7F,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;QAC/E,KAAK,cAAc,CAAC,yBAAyB,CAAC,CAAC,OAAO,gBAAgB,CAAC,yBAAyB,CAAC;QACjG,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC,UAAU,CAAC;QACnE,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,uDAAuD;QACrH;YACE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;AACH,CAAC","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\n// cspell:ignore NGVD, NAVD, COMPD_CS, PROJCS, GEOGCS\r\n\r\nimport { GeoServiceStatus } from \"@itwin/core-bentley\";\r\nimport { XYZProps } from \"@itwin/core-geometry\";\r\nimport { GeographicCRSProps } from \"./geometry/CoordinateReferenceSystem\";\r\n\r\n/** This enumeration lists all possible status as returned from a coordinate conversion to or from a\r\n * [[GeographicCRS]] and either another [[GeographicCRS]] or a [[GeodeticDatum]].\r\n * @see [[GeoConverter]] to perform coordinate conversions.\r\n * @see [[PointWithStatus]] for the result of a coordinate conversion, including its status code.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum GeoCoordStatus {\r\n /** Indicates successful coordinate conversion. */\r\n Success = 0,\r\n /** Indicates that the source or target of the conversion is not defined, usually the iModel Geographic Coordinate Reference System.*/\r\n NoGCSDefined = 100,\r\n /** This value indicates that the conversion was performed outside of the normal use of application of either Geographic Coordinate Reference Systems.\r\n * This return value can often be treated as a warning in specific cases. For example, global imagery extent spans the whole globe and\r\n * may extend far beyond the normal area of the iModel project extents and the extent of normal use of its Geographic Coordinate Reference System.\r\n * In such cases this value can be considered a warning as accuracy and precision is not expected in this specific case and approximate localization\r\n * of global imagery or other low accuracy context data is not essential far from the project.\r\n * If this status is returned for high accuracy data then it indicates that either Geographic Coordinate Reference Systems were inappropriately selected\r\n * for the iModel or other geolocated data. If this is the case the status should be somehow reported so action\r\n * can be performed to verify used geolocation parameters.\r\n * In either case the returned coordinates are to be considered valid though they may be inaccurate or result in some unexpected distortion of graphical\r\n * elements.\r\n */\r\n OutOfUsefulRange = 1,\r\n /** Indicates a hard error where conversions were requested outside of the area of the mathematical capacity of the conversion process for either\r\n * Geographic Coordinate Reference Systems involved. An example could be to attempt a conversion involving a Transverse Mercator more than 60 degrees\r\n * East or West of the projection central meridian.\r\n * The values returned may or may not be valid and should be discarded.\r\n */\r\n OutOfMathematicalDomain = 2,\r\n /** Indicates that datum transformation between the two Geographic Coordinate Reference Systems could not be performed.\r\n * This error is usually the result of a datum transformation path requiring use of latitude/longitude grid shift files that could not be obtained\r\n * or installed. In this case the latitude/longitude transformation is bypassed but the remainder of the conversion process is completed.\r\n * This error can be ignored for low accuracy data but should be somehow reported so actions can be performed to provide the missing files.\r\n */\r\n NoDatumConverter = 25,\r\n /** Indicates that a problem occurred during vertical datum conversion. This may the result of the inability to access the\r\n * Geoid separation data or vertical datum differential data (such as used by NGVD29 to NAVD88 conversion).\r\n * The horizontal coordinates returned are valid but the elevation ordinate will be returned unchanged or partially changed.\r\n * This status should be somehow reported so actions can be performed to provide the missing information.\r\n */\r\n VerticalDatumConvertError = 26,\r\n /** General inner conversion engine error. Coordinates returned are invalid and should be discarded */\r\n CSMapError = 4096,\r\n /** This temporary status is used to mark coordinates for which the conversion has not yet been processed by the backend\r\n * as opposed to other coordinate conversions that may have been resolved otherwise (typically a cache).\r\n * At the completion of the conversion promise no coordinates should have this status.\r\n * @deprecated in 5.0 - might be removed in next major version. Pending is no longer returned as a status for coordinate conversions.\r\n */\r\n Pending = -41556,\r\n}\r\n\r\n/** Maps a GeoCoordStatus to the equivalent GeoServiceStatus.\r\n * @public\r\n */\r\nexport function mapToGeoServiceStatus(s: GeoCoordStatus): GeoServiceStatus {\r\n switch (s) {\r\n case GeoCoordStatus.Success: return GeoServiceStatus.Success;\r\n case GeoCoordStatus.NoGCSDefined: return GeoServiceStatus.NoGeoLocation;\r\n case GeoCoordStatus.OutOfUsefulRange: return GeoServiceStatus.OutOfUsefulRange;\r\n case GeoCoordStatus.OutOfMathematicalDomain: return GeoServiceStatus.OutOfMathematicalDomain;\r\n case GeoCoordStatus.NoDatumConverter: return GeoServiceStatus.NoDatumConverter;\r\n case GeoCoordStatus.VerticalDatumConvertError: return GeoServiceStatus.VerticalDatumConvertError;\r\n case GeoCoordStatus.CSMapError: return GeoServiceStatus.CSMapError;\r\n case GeoCoordStatus.Pending: return GeoServiceStatus.Pending; // eslint-disable-line @typescript-eslint/no-deprecated\r\n default:\r\n throw new Error(\"GeoCoordStatus -> GeoServiceStatus - Missing enum conversion\");\r\n }\r\n}\r\n\r\n/** Information required to request conversion of an array of Geographic coordinates (Longitude/Latitude) to iModel coordinates\r\n * @beta\r\n */\r\nexport interface IModelCoordinatesRequestProps {\r\n source: string;\r\n geoCoords: XYZProps[];\r\n}\r\n\r\n/** A point converted to iModel coordinates to geographic coordinates or vice-versa by a [[GeoConverter]].\r\n * The status [[s]] indicates the converted point [[p]]'s degree of accuracy.\r\n * @public\r\n */\r\nexport interface PointWithStatus {\r\n /** A JSON representation of the converted point. */\r\n p: XYZProps;\r\n /** A status code indicating the degree of accuracy with the point [[p]] was converted. */\r\n s: GeoCoordStatus;\r\n}\r\n\r\n/** @beta */\r\nexport interface IModelCoordinatesResponseProps {\r\n iModelCoords: PointWithStatus[];\r\n fromCache: number; // the number that were read from the cache rather than calculated.\r\n}\r\n\r\n/** Information required to request conversion of an array of iModel coordinates to Geographic Coordinates (longitude and latitude)\r\n * @beta\r\n */\r\nexport interface GeoCoordinatesRequestProps {\r\n target: string;\r\n iModelCoords: XYZProps[];\r\n}\r\n\r\n/** Information returned from a request to convert an array of iModel coordinates to Geographic Coordinates (longitude and latitude)\r\n * @beta\r\n */\r\nexport interface GeoCoordinatesResponseProps {\r\n geoCoords: PointWithStatus[];\r\n fromCache: number; // the number that were read from the cache rather than calculated.\r\n}\r\n\r\n/** Information required to interpret or complete a Geographic CRS in the specified format.\r\n * The only currently supported formats are JSON (for completion) and WKT (OGC Well Known Text)\r\n * @beta\r\n */\r\nexport interface GeographicCRSInterpretRequestProps {\r\n /** The format of the geographic CRS definition provided in the geographicCRSDef property. */\r\n format: \"WKT\" | \"JSON\";\r\n /** The geographic CRS definition in the format specified in the format property.\r\n * Note that when the WKT is used the WKT fragment provided can start with a COMPD_CS clause\r\n * which should then contain both the horizontal CRS definition as well as the vertical CRS specification.\r\n * WKT fragments starting with PROJCS or GEOGCS are also supported but the vertical CRS will be assigned a\r\n * default value.\r\n */\r\n geographicCRSDef: string;\r\n}\r\n\r\n/** Information returned from a request to interpret or complete a Geographic CRS\r\n * @beta\r\n */\r\nexport interface GeographicCRSInterpretResponseProps {\r\n /** The result status of the interpret operation. A value of zero indicates successful interpretation.\r\n * Any value other than zero is to be considered a hard error and no valid result will\r\n * be returned in the geographicCRS property.\r\n */\r\n status: number;\r\n /** The property that receives the interpreted geographic CRS if the process was successful. */\r\n geographicCRS?: GeographicCRSProps;\r\n}\r\n"]}
1
+ {"version":3,"file":"GeoCoordinateServices.js","sourceRoot":"","sources":["../../src/GeoCoordinateServices.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,qDAAqD;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,cA8CX;AA9CD,WAAY,cAAc;IACxB,kDAAkD;IAClD,yDAAW,CAAA;IACX,sIAAsI;IACtI,qEAAkB,CAAA;IAClB;;;;;;;;;;OAUG;IACH,2EAAoB,CAAA;IACpB;;;;OAIG;IACH,yFAA2B,CAAA;IAC3B;;;;OAIG;IACH,4EAAqB,CAAA;IACrB;;;;;;;OAOG;IACH,8FAA8B,CAAA;IAC9B,sGAAsG;IACtG,kEAAiB,CAAA;IACjB;;;;OAIG;IACH,8DAAgB,CAAA;AAClB,CAAC,EA9CW,cAAc,KAAd,cAAc,QA8CzB;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAiB;IACrD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;QAC7D,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,gBAAgB,CAAC,aAAa,CAAC;QACxE,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;QAC/E,KAAK,cAAc,CAAC,uBAAuB,CAAC,CAAC,OAAO,gBAAgB,CAAC,uBAAuB,CAAC;QAC7F,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;QAC/E,KAAK,cAAc,CAAC,yBAAyB,CAAC,CAAC,OAAO,gBAAgB,CAAC,yBAAyB,CAAC;QACjG,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC,UAAU,CAAC;QACnE,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,uDAAuD;QACrH;YACE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;AACH,CAAC","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\n// cspell:ignore NGVD, NAVD, COMPD_CS, PROJCS, GEOGCS\r\n\r\nimport { GeoServiceStatus } from \"@itwin/core-bentley\";\r\nimport { XYZProps } from \"@itwin/core-geometry\";\r\nimport { GeographicCRSProps } from \"./geometry/CoordinateReferenceSystem\";\r\n\r\n/** This enumeration lists all possible status as returned from a coordinate conversion to or from a\r\n * [[GeographicCRS]] and either another [[GeographicCRS]] or a [[GeodeticDatum]].\r\n * @see [[GeoConverter]] to perform coordinate conversions.\r\n * @see [[PointWithStatus]] for the result of a coordinate conversion, including its status code.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum GeoCoordStatus {\r\n /** Indicates successful coordinate conversion. */\r\n Success = 0,\r\n /** Indicates that the source or target of the conversion is not defined, usually the iModel Geographic Coordinate Reference System.*/\r\n NoGCSDefined = 100,\r\n /** This value indicates that the conversion was performed outside of the normal use of application of either Geographic Coordinate Reference Systems.\r\n * This return value can often be treated as a warning in specific cases. For example, global imagery extent spans the whole globe and\r\n * may extend far beyond the normal area of the iModel project extents and the extent of normal use of its Geographic Coordinate Reference System.\r\n * In such cases this value can be considered a warning as accuracy and precision is not expected in this specific case and approximate localization\r\n * of global imagery or other low accuracy context data is not essential far from the project.\r\n * If this status is returned for high accuracy data then it indicates that either Geographic Coordinate Reference Systems were inappropriately selected\r\n * for the iModel or other geolocated data. If this is the case the status should be somehow reported so action\r\n * can be performed to verify used geolocation parameters.\r\n * In either case the returned coordinates are to be considered valid though they may be inaccurate or result in some unexpected distortion of graphical\r\n * elements.\r\n */\r\n OutOfUsefulRange = 1,\r\n /** Indicates a hard error where conversions were requested outside of the area of the mathematical capacity of the conversion process for either\r\n * Geographic Coordinate Reference Systems involved. An example could be to attempt a conversion involving a Transverse Mercator more than 60 degrees\r\n * East or West of the projection central meridian.\r\n * The values returned may or may not be valid and should be discarded.\r\n */\r\n OutOfMathematicalDomain = 2,\r\n /** Indicates that datum transformation between the two Geographic Coordinate Reference Systems could not be performed.\r\n * This error is usually the result of a datum transformation path requiring use of latitude/longitude grid shift files that could not be obtained\r\n * or installed. In this case the latitude/longitude transformation is bypassed but the remainder of the conversion process is completed.\r\n * This error can be ignored for low accuracy data but should be somehow reported so actions can be performed to provide the missing files.\r\n */\r\n NoDatumConverter = 25,\r\n /** Indicates that a problem occurred during vertical datum conversion. This may the result of the inability to access the\r\n * Geoid separation data or vertical datum differential data (such as used by NGVD29 to NAVD88 conversion).\r\n * The horizontal coordinates returned are valid but the elevation ordinate will be returned unchanged or partially changed.\r\n * This status should be somehow reported so actions can be performed to provide the missing information.\r\n * A finite elevation, including one equal to the input elevation, is not evidence that vertical conversion succeeded.\r\n * Callers requiring converted elevations must reject this result. Horizontal-only callers may use XY while retaining\r\n * and reporting this status. A visual fallback must not be presented as a successful vertical conversion.\r\n */\r\n VerticalDatumConvertError = 26,\r\n /** General inner conversion engine error. Coordinates returned are invalid and should be discarded */\r\n CSMapError = 4096,\r\n /** This temporary status is used to mark coordinates for which the conversion has not yet been processed by the backend\r\n * as opposed to other coordinate conversions that may have been resolved otherwise (typically a cache).\r\n * At the completion of the conversion promise no coordinates should have this status.\r\n * @deprecated in 5.0 - might be removed in next major version. Pending is no longer returned as a status for coordinate conversions.\r\n */\r\n Pending = -41556,\r\n}\r\n\r\n/** Maps a GeoCoordStatus to the equivalent GeoServiceStatus.\r\n * @public\r\n */\r\nexport function mapToGeoServiceStatus(s: GeoCoordStatus): GeoServiceStatus {\r\n switch (s) {\r\n case GeoCoordStatus.Success: return GeoServiceStatus.Success;\r\n case GeoCoordStatus.NoGCSDefined: return GeoServiceStatus.NoGeoLocation;\r\n case GeoCoordStatus.OutOfUsefulRange: return GeoServiceStatus.OutOfUsefulRange;\r\n case GeoCoordStatus.OutOfMathematicalDomain: return GeoServiceStatus.OutOfMathematicalDomain;\r\n case GeoCoordStatus.NoDatumConverter: return GeoServiceStatus.NoDatumConverter;\r\n case GeoCoordStatus.VerticalDatumConvertError: return GeoServiceStatus.VerticalDatumConvertError;\r\n case GeoCoordStatus.CSMapError: return GeoServiceStatus.CSMapError;\r\n case GeoCoordStatus.Pending: return GeoServiceStatus.Pending; // eslint-disable-line @typescript-eslint/no-deprecated\r\n default:\r\n throw new Error(\"GeoCoordStatus -> GeoServiceStatus - Missing enum conversion\");\r\n }\r\n}\r\n\r\n/** Information required to request conversion of an array of Geographic coordinates (Longitude/Latitude) to iModel coordinates\r\n * @beta\r\n */\r\nexport interface IModelCoordinatesRequestProps {\r\n source: string;\r\n geoCoords: XYZProps[];\r\n}\r\n\r\n/** A point converted to iModel coordinates to geographic coordinates or vice-versa by a [[GeoConverter]].\r\n * The status [[s]] indicates the converted point [[p]]'s degree of accuracy.\r\n * Always inspect the status before consuming coordinates. In particular, [[GeoCoordStatus.VerticalDatumConvertError]]\r\n * permits horizontal use but does not provide a reliable converted elevation. Elevation-sensitive callers must reject it.\r\n * Check required ordinates for finite values even when the status is [[GeoCoordStatus.Success]]; success is not a\r\n * quantitative accuracy guarantee. Other warning statuses retain their separately documented accuracy limitations.\r\n * @public\r\n */\r\nexport interface PointWithStatus {\r\n /** A JSON representation of the converted point. */\r\n p: XYZProps;\r\n /** A status code indicating the degree of accuracy with the point [[p]] was converted. */\r\n s: GeoCoordStatus;\r\n}\r\n\r\n/** @beta */\r\nexport interface IModelCoordinatesResponseProps {\r\n iModelCoords: PointWithStatus[];\r\n fromCache: number; // the number that were read from the cache rather than calculated.\r\n}\r\n\r\n/** Information required to request conversion of an array of iModel coordinates to Geographic Coordinates (longitude and latitude)\r\n * @beta\r\n */\r\nexport interface GeoCoordinatesRequestProps {\r\n target: string;\r\n iModelCoords: XYZProps[];\r\n}\r\n\r\n/** Information returned from a request to convert an array of iModel coordinates to Geographic Coordinates (longitude and latitude)\r\n * @beta\r\n */\r\nexport interface GeoCoordinatesResponseProps {\r\n geoCoords: PointWithStatus[];\r\n fromCache: number; // the number that were read from the cache rather than calculated.\r\n}\r\n\r\n/** Information required to interpret or complete a Geographic CRS in the specified format.\r\n * The only currently supported formats are JSON (for completion) and WKT (OGC Well Known Text)\r\n * @beta\r\n */\r\nexport interface GeographicCRSInterpretRequestProps {\r\n /** The format of the geographic CRS definition provided in the geographicCRSDef property. */\r\n format: \"WKT\" | \"JSON\";\r\n /** The geographic CRS definition in the format specified in the format property.\r\n * Note that when the WKT is used the WKT fragment provided can start with a COMPD_CS clause\r\n * which should then contain both the horizontal CRS definition as well as the vertical CRS specification.\r\n * WKT fragments starting with PROJCS or GEOGCS are also supported but the vertical CRS will be assigned a\r\n * default value.\r\n */\r\n geographicCRSDef: string;\r\n}\r\n\r\n/** Information returned from a request to interpret or complete a Geographic CRS\r\n * @beta\r\n */\r\nexport interface GeographicCRSInterpretResponseProps {\r\n /** The result status of the interpret operation. A value of zero indicates successful interpretation.\r\n * Any value other than zero is to be considered a hard error and no valid result will\r\n * be returned in the geographicCRS property.\r\n */\r\n status: number;\r\n /** The property that receives the interpreted geographic CRS if the process was successful. */\r\n geographicCRS?: GeographicCRSProps;\r\n}\r\n"]}
@@ -3,33 +3,35 @@
3
3
  */
4
4
  import { Id64String } from "@itwin/core-bentley";
5
5
  /**
6
- * @alpha
7
- * Transaction types
6
+ * The type of changes contained in a transaction.
7
+ * - `"Data"`: data changes only.
8
+ * - `"ECSchema"` or `"Schema"`: EC schema changes. Both values may be reported for schema transactions.
9
+ * - `"Ddl"`: database schema (DDL) changes.
10
+ * @beta
8
11
  */
9
12
  export type TxnType = "Data" | "ECSchema" | "Schema" | "Ddl";
10
13
  /**
11
- * @alpha
12
14
  * Represents the properties of a transaction within the transaction manager.
13
- *
14
- * @property id - The unique identifier for the transaction.
15
- * @property sessionId - The identifier of the session to which the transaction belongs.
16
- * @property nextId - (Optional) The identifier of the next transaction in the sequence.
17
- * @property prevId - (Optional) The identifier of the previous transaction in the sequence.
18
- * @property props - The arguments or properties associated with the save changes operation.
19
- * @property type - The type of transaction, which can be "Data", "ECSchema", or "Ddl".
20
- * @property reversed - Indicates whether the transaction has been reversed.
21
- * @property grouped - Indicates whether the transaction is grouped with others.
22
- * @property timestamp - The timestamp when the transaction was created.
15
+ * @beta
23
16
  */
24
17
  export interface TxnProps {
18
+ /** The unique identifier for the transaction. */
25
19
  id: Id64String;
20
+ /** The identifier of the session in which the transaction was created. */
26
21
  sessionId: number;
22
+ /** The identifier of the next transaction in the sequence, if any. */
27
23
  nextId?: Id64String;
24
+ /** The identifier of the previous transaction in the sequence, if any. */
28
25
  prevId?: Id64String;
26
+ /** The arguments supplied when the transaction's changes were saved. */
29
27
  props: SaveChangesArgs;
28
+ /** The type of changes contained in the transaction. */
30
29
  type: TxnType;
30
+ /** Whether the transaction has been reversed. */
31
31
  reversed: boolean;
32
+ /** Whether the transaction is grouped with others. */
32
33
  grouped: boolean;
34
+ /** The time at which the transaction was created. */
33
35
  timestamp: string;
34
36
  }
35
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TxnProps.d.ts","sourceRoot":"","sources":["../../src/TxnProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;oCACgC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;gHAC4G;IAC5G,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC"}
1
+ {"version":3,"file":"TxnProps.d.ts","sourceRoot":"","sources":["../../src/TxnProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,EAAE,EAAE,UAAU,CAAC;IACf,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,wEAAwE;IACxE,KAAK,EAAE,eAAe,CAAC;IACvB,wDAAwD;IACxD,IAAI,EAAE,OAAO,CAAC;IACd,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;oCACgC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;gHAC4G;IAC5G,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TxnProps.js","sourceRoot":"","sources":["../../src/TxnProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 { Id64String } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * @alpha\r\n * Transaction types\r\n */\r\nexport type TxnType = \"Data\" | \"ECSchema\" | \"Schema\" | \"Ddl\"; // TODO: Remove \"Schema\" in favor of \"ECSchema\". Currently thats a bug in native code....for schema txns we get txn type as \"Schema\" instead of \"ECSchema\".\r\n\r\n/**\r\n * @alpha\r\n * Represents the properties of a transaction within the transaction manager.\r\n *\r\n * @property id - The unique identifier for the transaction.\r\n * @property sessionId - The identifier of the session to which the transaction belongs.\r\n * @property nextId - (Optional) The identifier of the next transaction in the sequence.\r\n * @property prevId - (Optional) The identifier of the previous transaction in the sequence.\r\n * @property props - The arguments or properties associated with the save changes operation.\r\n * @property type - The type of transaction, which can be \"Data\", \"ECSchema\", or \"Ddl\".\r\n * @property reversed - Indicates whether the transaction has been reversed.\r\n * @property grouped - Indicates whether the transaction is grouped with others.\r\n * @property timestamp - The timestamp when the transaction was created.\r\n */\r\nexport interface TxnProps {\r\n id: Id64String;\r\n sessionId: number;\r\n nextId?: Id64String;\r\n prevId?: Id64String;\r\n props: SaveChangesArgs;\r\n type: TxnType;\r\n reversed: boolean;\r\n grouped: boolean;\r\n timestamp: string;\r\n}\r\n\r\n/**\r\n * Arguments for saving changes to the iModel.\r\n * @beta\r\n */\r\nexport interface SaveChangesArgs {\r\n /**\r\n * Optional description of the changes being saved.\r\n */\r\n description?: string;\r\n /**\r\n * Optional source of the changes being saved.\r\n */\r\n source?: string;\r\n /**\r\n * Optional application-specific data to include with the changes.\r\n */\r\n appData?: { [key: string]: any };\r\n}\r\n\r\n/** Arguments to [[TxnManager]]'s async reverse and cancel methods.\r\n * @beta\r\n */\r\nexport interface ReverseTxnArgs {\r\n /** If `true`, locks acquired when the reversed Txns were originally created are retained. If `false` or not specified,\r\n * these locks are abandoned. */\r\n readonly retainLocks?: boolean;\r\n}\r\n\r\n/** Arguments to [[TxnManager]]'s async reinstate methods.\r\n * @beta\r\n */\r\nexport interface ReinstateTxnArgs {\r\n /** If `true`, locks acquired during the current, unsaved Txn are retained, even while the unsaved changes\r\n * themselves are abandoned. If `false` or not specified, the locks are abandoned along with the changes. */\r\n readonly retainLocks?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"TxnProps.js","sourceRoot":"","sources":["../../src/TxnProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 { Id64String } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * The type of changes contained in a transaction.\r\n * - `\"Data\"`: data changes only.\r\n * - `\"ECSchema\"` or `\"Schema\"`: EC schema changes. Both values may be reported for schema transactions.\r\n * - `\"Ddl\"`: database schema (DDL) changes.\r\n * @beta\r\n */\r\nexport type TxnType = \"Data\" | \"ECSchema\" | \"Schema\" | \"Ddl\"; // TODO: Remove \"Schema\" in favor of \"ECSchema\". Currently thats a bug in native code....for schema txns we get txn type as \"Schema\" instead of \"ECSchema\".\r\n\r\n/**\r\n * Represents the properties of a transaction within the transaction manager.\r\n * @beta\r\n */\r\nexport interface TxnProps {\r\n /** The unique identifier for the transaction. */\r\n id: Id64String;\r\n /** The identifier of the session in which the transaction was created. */\r\n sessionId: number;\r\n /** The identifier of the next transaction in the sequence, if any. */\r\n nextId?: Id64String;\r\n /** The identifier of the previous transaction in the sequence, if any. */\r\n prevId?: Id64String;\r\n /** The arguments supplied when the transaction's changes were saved. */\r\n props: SaveChangesArgs;\r\n /** The type of changes contained in the transaction. */\r\n type: TxnType;\r\n /** Whether the transaction has been reversed. */\r\n reversed: boolean;\r\n /** Whether the transaction is grouped with others. */\r\n grouped: boolean;\r\n /** The time at which the transaction was created. */\r\n timestamp: string;\r\n}\r\n\r\n/**\r\n * Arguments for saving changes to the iModel.\r\n * @beta\r\n */\r\nexport interface SaveChangesArgs {\r\n /**\r\n * Optional description of the changes being saved.\r\n */\r\n description?: string;\r\n /**\r\n * Optional source of the changes being saved.\r\n */\r\n source?: string;\r\n /**\r\n * Optional application-specific data to include with the changes.\r\n */\r\n appData?: { [key: string]: any };\r\n}\r\n\r\n/** Arguments to [[TxnManager]]'s async reverse and cancel methods.\r\n * @beta\r\n */\r\nexport interface ReverseTxnArgs {\r\n /** If `true`, locks acquired when the reversed Txns were originally created are retained. If `false` or not specified,\r\n * these locks are abandoned. */\r\n readonly retainLocks?: boolean;\r\n}\r\n\r\n/** Arguments to [[TxnManager]]'s async reinstate methods.\r\n * @beta\r\n */\r\nexport interface ReinstateTxnArgs {\r\n /** If `true`, locks acquired during the current, unsaved Txn are retained, even while the unsaved changes\r\n * themselves are abandoned. If `false` or not specified, the locks are abandoned along with the changes. */\r\n readonly retainLocks?: boolean;\r\n}\r\n"]}
@@ -6,7 +6,7 @@ import { AngleProps, Range3dProps, TransformProps, XYProps, XYZProps, YawPitchRo
6
6
  import { CameraProps } from "./Camera";
7
7
  import { DisplayStyleProps, DisplayStyleSettingsProps } from "./DisplayStyleSettings";
8
8
  import { DefinitionElementProps, DisplayStyleLoadProps, ElementProps, RelatedElementProps, RenderTimelineProps, SheetProps, ViewAttachmentProps } from "./ElementProps";
9
- import { EntityQueryParams } from "./EntityProps";
9
+ import { EntityQueryParams, Persisted } from "./EntityProps";
10
10
  import { ModelProps } from "./ModelProps";
11
11
  import { SubCategoryAppearance } from "./SubCategoryAppearance";
12
12
  import { ViewDetails3dProps, ViewDetailsProps } from "./ViewDetails";
@@ -69,11 +69,11 @@ export interface HydrateViewStateRequestProps {
69
69
  * @internal
70
70
  */
71
71
  export interface HydrateViewStateResponseProps {
72
- acsElementProps?: ElementProps;
73
- modelSelectorStateModels?: ModelProps[];
74
- sheetViewAttachmentProps?: ViewAttachmentProps[];
72
+ acsElementProps?: Persisted<ElementProps>;
73
+ modelSelectorStateModels?: Persisted<ModelProps>[];
74
+ sheetViewAttachmentProps?: Persisted<ViewAttachmentProps>[];
75
75
  sheetViewViews?: (ViewStateProps | undefined)[];
76
- baseModelProps?: ModelProps;
76
+ baseModelProps?: Persisted<ModelProps>;
77
77
  spatialViewProps?: ViewStateProps;
78
78
  }
79
79
  /** Returned from [IModelDb.Views.getViewStateProps]($backend).
@@ -1 +1 @@
1
- {"version":3,"file":"ViewProps.d.ts","sourceRoot":"","sources":["../../src/ViewProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewProps.d.ts","sourceRoot":"","sources":["../../src/ViewProps.ts"],"names":[],"mappings":"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"}