@itwin/presentation-frontend 5.10.2 → 5.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/presentation-frontend/Presentation.d.ts +2 -2
  3. package/lib/cjs/presentation-frontend/Presentation.js +1 -1
  4. package/lib/cjs/presentation-frontend/Presentation.js.map +1 -1
  5. package/lib/cjs/presentation-frontend/PresentationManager.d.ts +9 -9
  6. package/lib/cjs/presentation-frontend/PresentationManager.d.ts.map +1 -1
  7. package/lib/cjs/presentation-frontend/PresentationManager.js +8 -8
  8. package/lib/cjs/presentation-frontend/PresentationManager.js.map +1 -1
  9. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +4 -4
  10. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
  11. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +4 -4
  12. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
  13. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.d.ts +3 -3
  14. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js +1 -1
  15. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
  16. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.d.ts +1 -1
  17. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
  18. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.d.ts +4 -4
  19. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js +2 -2
  20. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
  21. package/lib/cjs/presentation-frontend/selection/SelectionHandler.d.ts +3 -3
  22. package/lib/cjs/presentation-frontend/selection/SelectionHandler.d.ts.map +1 -1
  23. package/lib/cjs/presentation-frontend/selection/SelectionHandler.js +2 -2
  24. package/lib/cjs/presentation-frontend/selection/SelectionHandler.js.map +1 -1
  25. package/lib/cjs/presentation-frontend/selection/SelectionHelper.d.ts +1 -1
  26. package/lib/cjs/presentation-frontend/selection/SelectionHelper.js +1 -1
  27. package/lib/cjs/presentation-frontend/selection/SelectionHelper.js.map +1 -1
  28. package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts +3 -3
  29. package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts.map +1 -1
  30. package/lib/cjs/presentation-frontend/selection/SelectionManager.js +2 -2
  31. package/lib/cjs/presentation-frontend/selection/SelectionManager.js.map +1 -1
  32. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts +3 -3
  33. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js +2 -2
  34. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
  35. package/lib/esm/presentation-frontend/Presentation.d.ts +2 -2
  36. package/lib/esm/presentation-frontend/Presentation.js +1 -1
  37. package/lib/esm/presentation-frontend/Presentation.js.map +1 -1
  38. package/lib/esm/presentation-frontend/PresentationManager.d.ts +9 -9
  39. package/lib/esm/presentation-frontend/PresentationManager.d.ts.map +1 -1
  40. package/lib/esm/presentation-frontend/PresentationManager.js +8 -8
  41. package/lib/esm/presentation-frontend/PresentationManager.js.map +1 -1
  42. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +4 -4
  43. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
  44. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +4 -4
  45. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
  46. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.d.ts +3 -3
  47. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js +1 -1
  48. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
  49. package/lib/esm/presentation-frontend/selection/ISelectionProvider.d.ts +1 -1
  50. package/lib/esm/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
  51. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.d.ts +4 -4
  52. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js +2 -2
  53. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
  54. package/lib/esm/presentation-frontend/selection/SelectionHandler.d.ts +3 -3
  55. package/lib/esm/presentation-frontend/selection/SelectionHandler.d.ts.map +1 -1
  56. package/lib/esm/presentation-frontend/selection/SelectionHandler.js +2 -2
  57. package/lib/esm/presentation-frontend/selection/SelectionHandler.js.map +1 -1
  58. package/lib/esm/presentation-frontend/selection/SelectionHelper.d.ts +1 -1
  59. package/lib/esm/presentation-frontend/selection/SelectionHelper.js +1 -1
  60. package/lib/esm/presentation-frontend/selection/SelectionHelper.js.map +1 -1
  61. package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts +3 -3
  62. package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts.map +1 -1
  63. package/lib/esm/presentation-frontend/selection/SelectionManager.js +2 -2
  64. package/lib/esm/presentation-frontend/selection/SelectionManager.js.map +1 -1
  65. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts +3 -3
  66. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js +2 -2
  67. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
  68. package/package.json +15 -15
@@ -87,7 +87,7 @@ export interface PresentationManagerProps {
87
87
  * overriden for each request through request parameters. If not set, `IModelApp.quantityFormatter.activeUnitSystem`
88
88
  * is used by default.
89
89
  *
90
- * @deprecated in 4.0 - will not be removed until after 2026-06-13. Use [IModelApp.quantityFormatter]($core-frontend) to set the active unit system.
90
+ * @deprecated in 4.0 - might be removed in next major version. Use [IModelApp.quantityFormatter]($core-frontend) to set the active unit system.
91
91
  */
92
92
  activeUnitSystem?: UnitSystemKey;
93
93
  /**
@@ -153,7 +153,7 @@ export declare class PresentationManager implements Disposable {
153
153
  /**
154
154
  * Get / set active unit system used to format property values with units.
155
155
  *
156
- * @deprecated in 4.0 - will not be removed until after 2026-06-13. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment
156
+ * @deprecated in 4.0 - might be removed in next major version. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment
157
157
  * [[PresentationManager]] allows overriding it, but returns `IModelApp.quantityFormatter.activeUnitSystem` if override
158
158
  * is not set.
159
159
  */
@@ -164,7 +164,7 @@ export declare class PresentationManager implements Disposable {
164
164
  get activeLocale(): string | undefined;
165
165
  set activeLocale(locale: string | undefined);
166
166
  [Symbol.dispose](): void;
167
- /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
167
+ /** @deprecated in 5.0 - might be removed in next major version. Use [Symbol.dispose] instead. */
168
168
  dispose(): void;
169
169
  private onUpdate;
170
170
  /** @note This is only called in native apps after changes in iModels */
@@ -200,7 +200,7 @@ export declare class PresentationManager implements Disposable {
200
200
  }>;
201
201
  /**
202
202
  * Retrieves nodes.
203
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getNodesIterator]] instead.
203
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getNodesIterator]] instead.
204
204
  */
205
205
  getNodes(requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions): Promise<Node[]>;
206
206
  /**
@@ -211,7 +211,7 @@ export declare class PresentationManager implements Disposable {
211
211
  getNodesCount(requestOptions: GetNodesRequestOptions): Promise<number>;
212
212
  /**
213
213
  * Retrieves total nodes count and a single page of nodes.
214
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getNodesIterator]] instead.
214
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getNodesIterator]] instead.
215
215
  */
216
216
  getNodesAndCount(requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions): Promise<{
217
217
  count: number;
@@ -255,12 +255,12 @@ export declare class PresentationManager implements Disposable {
255
255
  } | undefined>;
256
256
  /**
257
257
  * Retrieves content which consists of a content descriptor and a page of records.
258
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getContentIterator]] instead.
258
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getContentIterator]] instead.
259
259
  */
260
260
  getContent(requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions): Promise<Content | undefined>;
261
261
  /**
262
262
  * Retrieves content set size and content which consists of a content descriptor and a page of records.
263
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getContentIterator]] instead.
263
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getContentIterator]] instead.
264
264
  */
265
265
  getContentAndSize(requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions): Promise<{
266
266
  content: Content;
@@ -273,7 +273,7 @@ export declare class PresentationManager implements Disposable {
273
273
  }>;
274
274
  /**
275
275
  * Retrieves distinct values of specific field from the content.
276
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getDistinctValuesIterator]] instead.
276
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getDistinctValuesIterator]] instead.
277
277
  */
278
278
  getPagedDistinctValues(requestOptions: GetDistinctValuesRequestOptions & MultipleValuesRequestOptions): Promise<PagedResponse<DisplayValueGroup>>;
279
279
  /**
@@ -298,7 +298,7 @@ export declare class PresentationManager implements Disposable {
298
298
  }>;
299
299
  /**
300
300
  * Retrieves display label definition of specific items.
301
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getDisplayLabelDefinitionsIterator]] instead.
301
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getDisplayLabelDefinitionsIterator]] instead.
302
302
  */
303
303
  getDisplayLabelDefinitions(requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions): Promise<LabelDefinition[]>;
304
304
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export class PresentationManager {
49
49
  /**
50
50
  * Get / set active unit system used to format property values with units.
51
51
  *
52
- * @deprecated in 4.0 - will not be removed until after 2026-06-13. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment
52
+ * @deprecated in 4.0 - might be removed in next major version. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment
53
53
  * [[PresentationManager]] allows overriding it, but returns `IModelApp.quantityFormatter.activeUnitSystem` if override
54
54
  * is not set.
55
55
  */
@@ -93,7 +93,7 @@ export class PresentationManager {
93
93
  this._clearEventListener = undefined;
94
94
  }
95
95
  }
96
- /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
96
+ /** @deprecated in 5.0 - might be removed in next major version. Use [Symbol.dispose] instead. */
97
97
  /* c8 ignore next 3 */
98
98
  dispose() {
99
99
  this[Symbol.dispose]();
@@ -227,7 +227,7 @@ export class PresentationManager {
227
227
  }
228
228
  /**
229
229
  * Retrieves nodes.
230
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getNodesIterator]] instead.
230
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getNodesIterator]] instead.
231
231
  */
232
232
  async getNodes(requestOptions) {
233
233
  const result = await this.getNodesIterator(requestOptions);
@@ -246,7 +246,7 @@ export class PresentationManager {
246
246
  }
247
247
  /**
248
248
  * Retrieves total nodes count and a single page of nodes.
249
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getNodesIterator]] instead.
249
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getNodesIterator]] instead.
250
250
  */
251
251
  async getNodesAndCount(requestOptions) {
252
252
  const result = await this.getNodesIterator(requestOptions);
@@ -407,7 +407,7 @@ export class PresentationManager {
407
407
  }
408
408
  /**
409
409
  * Retrieves content which consists of a content descriptor and a page of records.
410
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getContentIterator]] instead.
410
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getContentIterator]] instead.
411
411
  */
412
412
  async getContent(requestOptions) {
413
413
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -415,7 +415,7 @@ export class PresentationManager {
415
415
  }
416
416
  /**
417
417
  * Retrieves content set size and content which consists of a content descriptor and a page of records.
418
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getContentIterator]] instead.
418
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getContentIterator]] instead.
419
419
  */
420
420
  async getContentAndSize(requestOptions) {
421
421
  const response = await this.getContentIterator(requestOptions);
@@ -452,7 +452,7 @@ export class PresentationManager {
452
452
  }
453
453
  /**
454
454
  * Retrieves distinct values of specific field from the content.
455
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getDistinctValuesIterator]] instead.
455
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getDistinctValuesIterator]] instead.
456
456
  */
457
457
  async getPagedDistinctValues(requestOptions) {
458
458
  const result = await this.getDistinctValuesIterator(requestOptions);
@@ -541,7 +541,7 @@ export class PresentationManager {
541
541
  }
542
542
  /**
543
543
  * Retrieves display label definition of specific items.
544
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getDisplayLabelDefinitionsIterator]] instead.
544
+ * @deprecated in 4.5 - might be removed in next major version. Use [[getDisplayLabelDefinitionsIterator]] instead.
545
545
  */
546
546
  async getDisplayLabelDefinitions(requestOptions) {
547
547
  const { items } = await this.getDisplayLabelDefinitionsIterator(requestOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationManager.js","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { BeEvent, CompressedId64Set, OrderedId64Iterable } from \"@itwin/core-bentley\";\nimport { IModelApp, IModelConnection, IpcApp } from \"@itwin/core-frontend\";\nimport { UnitSystemKey } from \"@itwin/core-quantity\";\nimport { SchemaContext } from \"@itwin/ecschema-metadata\";\nimport {\n ClientDiagnosticsAttribute,\n Content,\n ContentDescriptorRequestOptions,\n ContentFlags,\n ContentInstanceKeysRequestOptions,\n ContentRequestOptions,\n ContentSourcesRequestOptions,\n ContentUpdateInfo,\n createContentFormatter,\n DefaultContentDisplayTypes,\n Descriptor,\n DescriptorOverrides,\n DisplayLabelRequestOptions,\n DisplayLabelsRequestOptions,\n DisplayValueGroup,\n DistinctValuesRequestOptions,\n ElementProperties,\n FilterByInstancePathsHierarchyRequestOptions,\n FilterByTextHierarchyRequestOptions,\n FormatsMap,\n HierarchyLevelDescriptorRequestOptions,\n HierarchyRequestOptions,\n HierarchyUpdateInfo,\n InstanceKey,\n Item,\n ItemJSON,\n Key,\n KeySet,\n KoqPropertyValueFormatter,\n LabelDefinition,\n Node,\n NodeKey,\n NodePathElement,\n Paged,\n PagedResponse,\n PageOptions,\n Ruleset,\n RulesetVariable,\n SelectClassInfo,\n SingleElementPropertiesRequestOptions,\n UpdateInfo,\n VariableValueTypes,\n} from \"@itwin/presentation-common\";\nimport { createElementPropertiesBuilder, PresentationIpcEvents, RpcRequestsHandler } from \"@itwin/presentation-common/internal\";\nimport { TRANSIENT_ELEMENT_CLASSNAME } from \"@itwin/unified-selection\";\nimport { ensureIModelInitialized, startIModelInitialization } from \"./IModelConnectionInitialization.js\";\nimport { _presentation_manager_ipcRequestsHandler, _presentation_manager_rpcRequestsHandler } from \"./InternalSymbols.js\";\nimport { IpcRequestsHandler } from \"./IpcRequestsHandler.js\";\nimport { FrontendLocalizationHelper } from \"./LocalizationHelper.js\";\nimport { RulesetManager, RulesetManagerImpl } from \"./RulesetManager.js\";\nimport { RulesetVariablesManager, RulesetVariablesManagerImpl } from \"./RulesetVariablesManager.js\";\nimport { StreamedResponseGenerator } from \"./StreamedResponseGenerator.js\";\n\n/**\n * Data structure that describes IModel hierarchy change event arguments.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface IModelHierarchyChangeEventArgs {\n /** Id of ruleset that was used to create hierarchy. */\n rulesetId: string;\n /** Hierarchy changes info. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n updateInfo: HierarchyUpdateInfo;\n /** Key of iModel that was used to create hierarchy. It matches [[IModelConnection.key]] property. */\n imodelKey: string;\n}\n\n/**\n * Data structure that describes iModel content change event arguments.\n * @public\n */\nexport interface IModelContentChangeEventArgs {\n /** Id of ruleset that was used to create content. */\n rulesetId: string;\n /** Content changes info. */\n updateInfo: ContentUpdateInfo;\n /** Key of iModel that was used to create content. It matches [[IModelConnection.key]] property. */\n imodelKey: string;\n}\n\n/**\n * Options for requests that can return multiple pages of items concurrently.\n * @public\n */\nexport type MultipleValuesRequestOptions = Paged<{\n /**\n * Max number of requests that should be made to the backend to fulfill the whole request.\n * `undefined` means no limit, so in that case all requests are sent at once.\n */\n maxParallelRequests?: number;\n\n /**\n * Size of a single batch when fetching data through multiple requests. If not set,\n * the fall back is requested page size. If the page size is not set, the backend\n * decides how many items to return.\n */\n batchSize?: number;\n}>;\n\n/**\n * Options for requests that retrieve nodes.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport type GetNodesRequestOptions = HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute;\n\n/**\n * Options for requests that retrieve content.\n * @public\n */\nexport type GetContentRequestOptions = ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> &\n ClientDiagnosticsAttribute;\n\n/**\n * Options for requests that retrieve distinct values.\n * @public\n */\nexport type GetDistinctValuesRequestOptions = DistinctValuesRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> &\n ClientDiagnosticsAttribute;\n\n/**\n * Properties used to configure [[PresentationManager]]\n * @public\n */\nexport interface PresentationManagerProps {\n /**\n * Sets the active locale to use when localizing presentation-related\n * strings. It can later be changed through [[PresentationManager]].\n */\n activeLocale?: string;\n\n /**\n * Sets the active unit system to use for formatting property values with\n * units. The value can later be changed through [[PresentationManager.activeUnitSystem]] setter or\n * overriden for each request through request parameters. If not set, `IModelApp.quantityFormatter.activeUnitSystem`\n * is used by default.\n *\n * @deprecated in 4.0 - will not be removed until after 2026-06-13. Use [IModelApp.quantityFormatter]($core-frontend) to set the active unit system.\n */\n activeUnitSystem?: UnitSystemKey;\n\n /**\n * ID used to identify client that requests data. Generally, clients should\n * store this ID in their local storage so the ID can be reused across\n * sessions - this allows reusing some caches.\n *\n * Defaults to a unique GUID as a client id.\n */\n clientId?: string;\n\n /**\n * Timeout (in milliseconds) for how long we're going to wait for RPC request to be fulfilled before throwing\n * a timeout error.\n *\n * Defaults to 10 minutes.\n */\n requestTimeout?: number;\n\n /**\n * Callback that provides [SchemaContext]($ecschema-metadata) for supplied [IModelConnection]($core-frontend).\n * [SchemaContext]($ecschema-metadata) is used for getting metadata required for values formatting.\n *\n * @deprecated in 5.1 - will not be removed until after 2026-08-08. By default [IModelConnection.schemaContext]($core-frontend) is now used instead.\n */\n schemaContextProvider?: (imodel: IModelConnection) => SchemaContext;\n\n /**\n * A map of default unit formats to use for formatting properties that don't have a presentation format\n * in requested unit system.\n *\n * @note Only has effect when frontend value formatting is enabled by supplying the `schemaContextProvider` prop.\n *\n * @deprecated in 5.1 - will not be removed until after 2026-08-08. All formats' logic is now handled by [IModelApp.formatsProvider]($core-frontend). Until the prop is removed, when\n * supplied, this map will be used as a fallback if IModelApp's formats provider doesn't return anything for requested format.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n defaultFormats?: FormatsMap;\n}\n\n/** @internal */\ninterface PresentationManagerInternalProps {\n rpcRequestsHandler?: RpcRequestsHandler;\n ipcRequestsHandler?: IpcRequestsHandler;\n}\n\n/**\n * Frontend Presentation manager which basically just forwards all calls to\n * the backend implementation.\n *\n * @public\n */\nexport class PresentationManager implements Disposable {\n private _requestsHandler: RpcRequestsHandler;\n private _rulesets: RulesetManager;\n private _localizationHelper: FrontendLocalizationHelper;\n private _explicitActiveUnitSystem: UnitSystemKey | undefined;\n private _rulesetVars: Map<string, RulesetVariablesManager>;\n private _clearEventListener?: () => void;\n private _schemaContextProvider: (imodel: IModelConnection) => SchemaContext;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _defaultFormats?: FormatsMap;\n private _ipcRequestsHandler?: IpcRequestsHandler;\n\n /**\n * An event raised when hierarchies created using specific ruleset change.\n *\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public onIModelHierarchyChanged = new BeEvent<(args: IModelHierarchyChangeEventArgs) => void>();\n\n /**\n * An event raised when content created using specific ruleset changes\n */\n public onIModelContentChanged = new BeEvent<(args: IModelContentChangeEventArgs) => void>();\n\n /**\n * Get / set active unit system used to format property values with units.\n *\n * @deprecated in 4.0 - will not be removed until after 2026-06-13. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment\n * [[PresentationManager]] allows overriding it, but returns `IModelApp.quantityFormatter.activeUnitSystem` if override\n * is not set.\n */\n public get activeUnitSystem(): UnitSystemKey {\n return this._explicitActiveUnitSystem ?? IModelApp.quantityFormatter.activeUnitSystem;\n }\n public set activeUnitSystem(value: UnitSystemKey | undefined) {\n this._explicitActiveUnitSystem = value;\n }\n\n private constructor(props?: PresentationManagerProps) {\n if (props) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._explicitActiveUnitSystem = props.activeUnitSystem;\n }\n\n this._requestsHandler =\n (props as PresentationManagerInternalProps)?.rpcRequestsHandler ??\n new RpcRequestsHandler(props ? { clientId: props.clientId, timeout: props.requestTimeout } : undefined);\n this._rulesetVars = new Map<string, RulesetVariablesManager>();\n this._rulesets = RulesetManagerImpl.create();\n this._localizationHelper = new FrontendLocalizationHelper(props?.activeLocale);\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._schemaContextProvider = props?.schemaContextProvider ?? ((imodel: IModelConnection) => imodel.schemaContext);\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._defaultFormats = props?.defaultFormats;\n\n if (IpcApp.isValid) {\n // Ipc only works in ipc apps, so the `onUpdate` callback will only be called there.\n this._clearEventListener = IpcApp.addListener(PresentationIpcEvents.Update, this.onUpdate);\n this._ipcRequestsHandler = (props as PresentationManagerInternalProps)?.ipcRequestsHandler ?? new IpcRequestsHandler(this._requestsHandler.clientId);\n }\n }\n\n /** Get / set active locale used for localizing presentation data */\n public get activeLocale(): string | undefined {\n return this._localizationHelper.locale;\n }\n public set activeLocale(locale: string | undefined) {\n this._localizationHelper.locale = locale;\n }\n\n public [Symbol.dispose]() {\n if (this._clearEventListener) {\n this._clearEventListener();\n this._clearEventListener = undefined;\n }\n }\n\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\n /* c8 ignore next 3 */\n public dispose() {\n this[Symbol.dispose]();\n }\n\n private onUpdate = (_evt: Event, report: UpdateInfo) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.handleUpdateAsync(report);\n };\n\n /** @note This is only called in native apps after changes in iModels */\n private async handleUpdateAsync(report: UpdateInfo) {\n for (const imodelKey in report) {\n /* c8 ignore next 3 */\n if (!report.hasOwnProperty(imodelKey)) {\n continue;\n }\n\n const imodelReport = report[imodelKey];\n for (const rulesetId in imodelReport) {\n /* c8 ignore next 3 */\n if (!imodelReport.hasOwnProperty(rulesetId)) {\n continue;\n }\n\n const updateInfo = imodelReport[rulesetId];\n if (updateInfo.content) {\n this.onIModelContentChanged.raiseEvent({ rulesetId, updateInfo: updateInfo.content, imodelKey });\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (updateInfo.hierarchy) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.onIModelHierarchyChanged.raiseEvent({ rulesetId, updateInfo: updateInfo.hierarchy, imodelKey });\n }\n }\n }\n }\n\n /**\n * Create a new PresentationManager instance\n * @param props Optional properties used to configure the manager\n */\n public static create(props?: PresentationManagerProps) {\n return new PresentationManager(props);\n }\n\n /** @internal */\n public get [_presentation_manager_rpcRequestsHandler]() {\n return this._requestsHandler;\n }\n\n /** @internal */\n public get [_presentation_manager_ipcRequestsHandler]() {\n return this._ipcRequestsHandler;\n }\n\n /**\n * Get rulesets manager\n */\n public rulesets() {\n return this._rulesets;\n }\n\n /**\n * Get ruleset variables manager for specific ruleset\n * @param rulesetId Id of the ruleset to get the vars manager for\n */\n public vars(rulesetId: string) {\n if (!this._rulesetVars.has(rulesetId)) {\n const varsManager = new RulesetVariablesManagerImpl(rulesetId, this._ipcRequestsHandler);\n this._rulesetVars.set(rulesetId, varsManager);\n }\n return this._rulesetVars.get(rulesetId)!;\n }\n\n private toRpcTokenOptions<TOptions extends { imodel: IModelConnection; locale?: string; unitSystem?: UnitSystemKey; rulesetVariables?: RulesetVariable[] }>(\n requestOptions: TOptions,\n ) {\n // 1. put default `locale` and `unitSystem`\n // 2. put all `requestOptions` members (if `locale` or `unitSystem` are set, they'll override the defaults put at #1)\n // 3. put `imodel` of type `IModelRpcProps` which overwrites the `imodel` from `requestOptions` put at #2\n const defaultOptions: Pick<TOptions, \"locale\" | \"unitSystem\"> = {};\n if (this.activeLocale) {\n defaultOptions.locale = this.activeLocale;\n }\n defaultOptions.unitSystem = this.activeUnitSystem; // eslint-disable-line @typescript-eslint/no-deprecated\n\n const { imodel, rulesetVariables, ...rpcRequestOptions } = requestOptions;\n return {\n ...defaultOptions,\n ...rpcRequestOptions,\n ...(rulesetVariables ? { rulesetVariables: rulesetVariables.map(RulesetVariable.toJSON) } : {}),\n imodel: imodel.getRpcProps(),\n };\n }\n\n private async addRulesetAndVariablesToOptions<TOptions extends { rulesetOrId: Ruleset | string; rulesetVariables?: RulesetVariable[] }>(options: TOptions) {\n const { rulesetOrId, rulesetVariables } = options;\n let foundRulesetOrId: Ruleset | string;\n if (typeof rulesetOrId === \"object\") {\n foundRulesetOrId = rulesetOrId;\n } else {\n const foundRuleset = await this._rulesets.get(rulesetOrId);\n foundRulesetOrId = foundRuleset ? foundRuleset.toJSON() : rulesetOrId;\n }\n const rulesetId = typeof foundRulesetOrId === \"object\" ? foundRulesetOrId.id : foundRulesetOrId;\n\n // All Id64Array variable values must be sorted for serialization to JSON to work. RulesetVariablesManager\n // sorts them before storing, so that part is taken care of, but we need to ensure that variables coming from\n // request options are also sorted.\n const variables = (rulesetVariables ?? []).map((variable) => {\n if (variable.type === VariableValueTypes.Id64Array) {\n return { ...variable, value: OrderedId64Iterable.sortArray(variable.value) };\n }\n return variable;\n });\n if (!this._ipcRequestsHandler) {\n // only need to add variables from variables manager if there's no IPC\n // handler - if there is one, the variables are already known by the backend\n variables.push(...this.vars(rulesetId).getAllVariables());\n }\n\n return { ...options, rulesetOrId: foundRulesetOrId, rulesetVariables: variables };\n }\n\n /* eslint-disable @typescript-eslint/no-deprecated */\n\n /**\n * Returns an iterator that polls nodes asynchronously.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodesIterator(\n requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: AsyncIterableIterator<Node> }> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (paging) => {\n const result = await this._requestsHandler.getPagedNodes({ ...rpcOptions, paging });\n return {\n total: result.total,\n items: this._localizationHelper.getLocalizedNodes(result.items),\n };\n },\n });\n\n return generator.createAsyncIteratorResponse();\n }\n\n /**\n * Retrieves nodes.\n * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getNodesIterator]] instead.\n */\n public async getNodes(requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions): Promise<Node[]> {\n const result = await this.getNodesIterator(requestOptions);\n return collect(result.items);\n }\n\n /**\n * Retrieves nodes count.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodesCount(requestOptions: GetNodesRequestOptions): Promise<number> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n return this._requestsHandler.getNodesCount(rpcOptions);\n }\n\n /**\n * Retrieves total nodes count and a single page of nodes.\n * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getNodesIterator]] instead.\n */\n public async getNodesAndCount(requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions): Promise<{ count: number; nodes: Node[] }> {\n const result = await this.getNodesIterator(requestOptions);\n return {\n count: result.total,\n nodes: await collect(result.items),\n };\n }\n\n /**\n * Retrieves hierarchy level descriptor.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodesDescriptor(\n requestOptions: HierarchyLevelDescriptorRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<Descriptor | undefined> {\n startIModelInitialization(requestOptions.imodel);\n try {\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n const result = await this._requestsHandler.getNodesDescriptor(rpcOptions);\n const descriptor = Descriptor.fromJSON(result);\n return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;\n } finally {\n await ensureIModelInitialized(requestOptions.imodel);\n }\n }\n\n /**\n * Retrieves paths from root nodes to children nodes according to specified keys. Intersecting paths will be merged.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodePaths(\n requestOptions: FilterByInstancePathsHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<NodePathElement[]> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n const result = await this._requestsHandler.getNodePaths(rpcOptions);\n return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));\n }\n\n /**\n * Retrieves paths from root nodes to nodes containing filter text in their label.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getFilteredNodePaths(\n requestOptions: FilterByTextHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<NodePathElement[]> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const result = await this._requestsHandler.getFilteredNodePaths(this.toRpcTokenOptions(options));\n return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));\n }\n\n /* eslint-enable @typescript-eslint/no-deprecated */\n\n /**\n * Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,\n * its related instances for loading related and navigation properties.\n * @public\n */\n public async getContentSources(requestOptions: ContentSourcesRequestOptions<IModelConnection> & ClientDiagnosticsAttribute): Promise<SelectClassInfo[]> {\n startIModelInitialization(requestOptions.imodel);\n const rpcOptions = this.toRpcTokenOptions(requestOptions);\n const result = await this._requestsHandler.getContentSources(rpcOptions);\n return result.sources.map((sourceJson) => SelectClassInfo.fromCompressedJSON(sourceJson, result.classesMap));\n }\n\n /** Retrieves the content descriptor which describes the content and can be used to customize it. */\n public async getContentDescriptor(\n requestOptions: ContentDescriptorRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<Descriptor | undefined> {\n startIModelInitialization(requestOptions.imodel);\n try {\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({\n ...options,\n keys: stripTransientElementKeys(options.keys).toJSON(),\n });\n const result = await this._requestsHandler.getContentDescriptor(rpcOptions);\n const descriptor = Descriptor.fromJSON(result);\n return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;\n } finally {\n await ensureIModelInitialized(requestOptions.imodel);\n }\n }\n\n /** Retrieves overall content set size. */\n public async getContentSetSize(requestOptions: GetContentRequestOptions): Promise<number> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({\n ...options,\n descriptor: getDescriptorOverrides(requestOptions.descriptor),\n keys: stripTransientElementKeys(requestOptions.keys).toJSON(),\n });\n return this._requestsHandler.getContentSetSize(rpcOptions);\n }\n\n private async getContentIteratorInternal(\n requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ descriptor: Descriptor; total: number; items: AsyncIterableIterator<Item> } | undefined> {\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const firstPageSize = options.batchSize ?? requestOptions.paging?.size;\n const rpcOptions = this.toRpcTokenOptions({\n ...options,\n descriptor: getDescriptorOverrides(requestOptions.descriptor),\n keys: stripTransientElementKeys(requestOptions.keys).toJSON(),\n omitFormattedValues: true,\n ...(firstPageSize ? { paging: { ...requestOptions.paging, size: firstPageSize } } : undefined),\n });\n\n let contentFormatter: ReturnType<typeof createContentFormatter> | undefined;\n if (!requestOptions.omitFormattedValues) {\n const schemaContext = this._schemaContextProvider(requestOptions.imodel);\n const unitSystem = requestOptions.unitSystem ?? this._explicitActiveUnitSystem ?? IModelApp.quantityFormatter.activeUnitSystem;\n const koqPropertyFormatter = new KoqPropertyValueFormatter({\n schemaContext,\n formatsProvider: IModelApp.formatsProvider,\n });\n koqPropertyFormatter.defaultFormats = this._defaultFormats;\n contentFormatter = createContentFormatter({ propertyValueFormatter: koqPropertyFormatter, unitSystem });\n }\n\n let descriptor = requestOptions.descriptor instanceof Descriptor ? requestOptions.descriptor : undefined;\n let firstPage: PagedResponse<ItemJSON> | undefined;\n if (!descriptor) {\n const firstPageResponse = await this._requestsHandler.getPagedContent(rpcOptions);\n if (!firstPageResponse?.descriptor || !firstPageResponse.contentSet) {\n return undefined;\n }\n descriptor = Descriptor.fromJSON(firstPageResponse?.descriptor);\n firstPage = firstPageResponse?.contentSet;\n }\n\n /* c8 ignore next 3 */\n if (!descriptor) {\n return undefined;\n }\n\n descriptor = this._localizationHelper.getLocalizedContentDescriptor(descriptor);\n\n const getPage = async (paging: Required<PageOptions>, requestIndex: number) => {\n let contentSet = requestIndex === 0 ? firstPage : undefined;\n contentSet ??= await this._requestsHandler.getPagedContentSet({ ...rpcOptions, paging });\n\n let items = contentSet.items.map((x) => Item.fromJSON(x)).filter((x): x is Item => x !== undefined);\n if (contentFormatter) {\n items = await contentFormatter.formatContentItems(items, descriptor);\n }\n\n items = this._localizationHelper.getLocalizedContentItems(items);\n return {\n total: contentSet.total,\n items,\n };\n };\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: getPage,\n });\n\n return {\n ...(await generator.createAsyncIteratorResponse()),\n descriptor,\n };\n }\n\n /** Retrieves a content descriptor, item count and async generator for the items themselves. */\n public async getContentIterator(\n requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ descriptor: Descriptor; total: number; items: AsyncIterableIterator<Item> } | undefined> {\n startIModelInitialization(requestOptions.imodel);\n const response = await this.getContentIteratorInternal(requestOptions);\n if (!response) {\n return undefined;\n }\n\n await ensureIModelInitialized(requestOptions.imodel);\n return response;\n }\n\n /**\n * Retrieves content which consists of a content descriptor and a page of records.\n * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getContentIterator]] instead.\n */\n public async getContent(requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions): Promise<Content | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return (await this.getContentAndSize(requestOptions))?.content;\n }\n\n /**\n * Retrieves content set size and content which consists of a content descriptor and a page of records.\n * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getContentIterator]] instead.\n */\n public async getContentAndSize(\n requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ content: Content; size: number } | undefined> {\n const response = await this.getContentIterator(requestOptions);\n if (!response) {\n return undefined;\n }\n\n const { descriptor, total } = response;\n const items = await collect(response.items);\n return {\n content: new Content(descriptor, items),\n size: total,\n };\n }\n\n /** Returns an iterator that asynchronously polls distinct values of specific field from the content. */\n public async getDistinctValuesIterator(\n requestOptions: GetDistinctValuesRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: AsyncIterableIterator<DisplayValueGroup> }> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = {\n ...this.toRpcTokenOptions(options),\n descriptor: getDescriptorOverrides(options.descriptor),\n keys: stripTransientElementKeys(options.keys).toJSON(),\n };\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (paging) => {\n const response = await this._requestsHandler.getPagedDistinctValues({ ...rpcOptions, paging });\n return {\n total: response.total,\n items: response.items.map((x) => this._localizationHelper.getLocalizedDisplayValueGroup(x)),\n };\n },\n });\n\n return generator.createAsyncIteratorResponse();\n }\n\n /**\n * Retrieves distinct values of specific field from the content.\n * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getDistinctValuesIterator]] instead.\n */\n public async getPagedDistinctValues(\n requestOptions: GetDistinctValuesRequestOptions & MultipleValuesRequestOptions,\n ): Promise<PagedResponse<DisplayValueGroup>> {\n const result = await this.getDistinctValuesIterator(requestOptions);\n return {\n total: result.total,\n items: await collect(result.items),\n };\n }\n\n /**\n * Retrieves property data in a simplified format for a single element specified by ID.\n * @public\n */\n public async getElementProperties<TParsedContent = ElementProperties>(\n requestOptions: SingleElementPropertiesRequestOptions<IModelConnection, TParsedContent> & ClientDiagnosticsAttribute,\n ): Promise<TParsedContent | undefined> {\n startIModelInitialization(requestOptions.imodel);\n type TParser = Required<typeof requestOptions>[\"contentParser\"];\n const { elementId, contentParser, ...optionsNoElementId } = requestOptions;\n const parser: TParser = contentParser ?? (createElementPropertiesBuilder() as TParser);\n const iter = await this.getContentIterator({\n ...optionsNoElementId,\n descriptor: {\n displayType: DefaultContentDisplayTypes.PropertyPane,\n contentFlags: ContentFlags.ShowLabels,\n },\n rulesetOrId: \"ElementProperties\",\n keys: new KeySet([{ className: \"BisCore:Element\", id: elementId }]),\n });\n if (!iter || iter.total === 0) {\n return undefined;\n }\n return parser(iter.descriptor, (await iter.items.next()).value);\n }\n\n /**\n * Retrieves content item instance keys.\n * @public\n */\n public async getContentInstanceKeys(\n requestOptions: ContentInstanceKeysRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: () => AsyncGenerator<InstanceKey> }> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = {\n ...this.toRpcTokenOptions(options),\n keys: stripTransientElementKeys(options.keys).toJSON(),\n };\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (page) => {\n const keys = await this._requestsHandler.getContentInstanceKeys({ ...rpcOptions, paging: page });\n return {\n total: keys.total,\n items: keys.items.instanceKeys.reduce((instanceKeys, entry) => {\n for (const id of CompressedId64Set.iterable(entry[1])) {\n instanceKeys.push({ className: entry[0], id });\n }\n return instanceKeys;\n }, new Array<InstanceKey>()),\n };\n },\n });\n\n const { total, items } = await generator.createAsyncIteratorResponse();\n return {\n total,\n async *items() {\n yield* items;\n },\n };\n }\n\n /** Retrieves display label definition of specific item. */\n public async getDisplayLabelDefinition(\n requestOptions: DisplayLabelRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute,\n ): Promise<LabelDefinition> {\n startIModelInitialization(requestOptions.imodel);\n const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });\n const result = await this._requestsHandler.getDisplayLabelDefinition(rpcOptions);\n return this._localizationHelper.getLocalizedLabelDefinition(result);\n }\n\n /** Retrieves display label definition of specific items. */\n public async getDisplayLabelDefinitionsIterator(\n requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: AsyncIterableIterator<LabelDefinition> }> {\n startIModelInitialization(requestOptions.imodel);\n const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (page) => {\n const partialKeys = !page.start ? rpcOptions.keys : rpcOptions.keys.slice(page.start);\n const result = await this._requestsHandler.getPagedDisplayLabelDefinitions({ ...rpcOptions, keys: partialKeys });\n result.items = this._localizationHelper.getLocalizedLabelDefinitions(result.items);\n return result;\n },\n });\n\n return generator.createAsyncIteratorResponse();\n }\n\n /**\n * Retrieves display label definition of specific items.\n * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[getDisplayLabelDefinitionsIterator]] instead.\n */\n public async getDisplayLabelDefinitions(\n requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions,\n ): Promise<LabelDefinition[]> {\n const { items } = await this.getDisplayLabelDefinitionsIterator(requestOptions);\n return collect(items);\n }\n}\n\nconst getDescriptorOverrides = (descriptorOrOverrides: Descriptor | DescriptorOverrides): DescriptorOverrides => {\n if (descriptorOrOverrides instanceof Descriptor) {\n return descriptorOrOverrides.createDescriptorOverrides();\n }\n return descriptorOrOverrides;\n};\n\nconst stripTransientElementKeys = (keys: KeySet) => {\n if (!keys.some((key) => Key.isInstanceKey(key) && key.className === TRANSIENT_ELEMENT_CLASSNAME)) {\n return keys;\n }\n\n const copy = new KeySet();\n copy.add(keys, (key) => {\n // the callback is not going to be called with EntityProps as KeySet converts them\n // to InstanceKeys, but we want to keep the EntityProps case for correctness\n /* c8 ignore next 3 */\n const isTransient =\n (Key.isInstanceKey(key) && key.className === TRANSIENT_ELEMENT_CLASSNAME) ||\n (Key.isEntityProps(key) && key.classFullName === TRANSIENT_ELEMENT_CLASSNAME);\n return !isTransient;\n });\n return copy;\n};\n\nasync function collect<T>(iter: AsyncIterable<T>): Promise<T[]> {\n const result = new Array<T>();\n for await (const value of iter) {\n result.push(value);\n }\n return result;\n}\n"]}
1
+ {"version":3,"file":"PresentationManager.js","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { BeEvent, CompressedId64Set, OrderedId64Iterable } from \"@itwin/core-bentley\";\nimport { IModelApp, IModelConnection, IpcApp } from \"@itwin/core-frontend\";\nimport { UnitSystemKey } from \"@itwin/core-quantity\";\nimport { SchemaContext } from \"@itwin/ecschema-metadata\";\nimport {\n ClientDiagnosticsAttribute,\n Content,\n ContentDescriptorRequestOptions,\n ContentFlags,\n ContentInstanceKeysRequestOptions,\n ContentRequestOptions,\n ContentSourcesRequestOptions,\n ContentUpdateInfo,\n createContentFormatter,\n DefaultContentDisplayTypes,\n Descriptor,\n DescriptorOverrides,\n DisplayLabelRequestOptions,\n DisplayLabelsRequestOptions,\n DisplayValueGroup,\n DistinctValuesRequestOptions,\n ElementProperties,\n FilterByInstancePathsHierarchyRequestOptions,\n FilterByTextHierarchyRequestOptions,\n FormatsMap,\n HierarchyLevelDescriptorRequestOptions,\n HierarchyRequestOptions,\n HierarchyUpdateInfo,\n InstanceKey,\n Item,\n ItemJSON,\n Key,\n KeySet,\n KoqPropertyValueFormatter,\n LabelDefinition,\n Node,\n NodeKey,\n NodePathElement,\n Paged,\n PagedResponse,\n PageOptions,\n Ruleset,\n RulesetVariable,\n SelectClassInfo,\n SingleElementPropertiesRequestOptions,\n UpdateInfo,\n VariableValueTypes,\n} from \"@itwin/presentation-common\";\nimport { createElementPropertiesBuilder, PresentationIpcEvents, RpcRequestsHandler } from \"@itwin/presentation-common/internal\";\nimport { TRANSIENT_ELEMENT_CLASSNAME } from \"@itwin/unified-selection\";\nimport { ensureIModelInitialized, startIModelInitialization } from \"./IModelConnectionInitialization.js\";\nimport { _presentation_manager_ipcRequestsHandler, _presentation_manager_rpcRequestsHandler } from \"./InternalSymbols.js\";\nimport { IpcRequestsHandler } from \"./IpcRequestsHandler.js\";\nimport { FrontendLocalizationHelper } from \"./LocalizationHelper.js\";\nimport { RulesetManager, RulesetManagerImpl } from \"./RulesetManager.js\";\nimport { RulesetVariablesManager, RulesetVariablesManagerImpl } from \"./RulesetVariablesManager.js\";\nimport { StreamedResponseGenerator } from \"./StreamedResponseGenerator.js\";\n\n/**\n * Data structure that describes IModel hierarchy change event arguments.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface IModelHierarchyChangeEventArgs {\n /** Id of ruleset that was used to create hierarchy. */\n rulesetId: string;\n /** Hierarchy changes info. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n updateInfo: HierarchyUpdateInfo;\n /** Key of iModel that was used to create hierarchy. It matches [[IModelConnection.key]] property. */\n imodelKey: string;\n}\n\n/**\n * Data structure that describes iModel content change event arguments.\n * @public\n */\nexport interface IModelContentChangeEventArgs {\n /** Id of ruleset that was used to create content. */\n rulesetId: string;\n /** Content changes info. */\n updateInfo: ContentUpdateInfo;\n /** Key of iModel that was used to create content. It matches [[IModelConnection.key]] property. */\n imodelKey: string;\n}\n\n/**\n * Options for requests that can return multiple pages of items concurrently.\n * @public\n */\nexport type MultipleValuesRequestOptions = Paged<{\n /**\n * Max number of requests that should be made to the backend to fulfill the whole request.\n * `undefined` means no limit, so in that case all requests are sent at once.\n */\n maxParallelRequests?: number;\n\n /**\n * Size of a single batch when fetching data through multiple requests. If not set,\n * the fall back is requested page size. If the page size is not set, the backend\n * decides how many items to return.\n */\n batchSize?: number;\n}>;\n\n/**\n * Options for requests that retrieve nodes.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport type GetNodesRequestOptions = HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute;\n\n/**\n * Options for requests that retrieve content.\n * @public\n */\nexport type GetContentRequestOptions = ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> &\n ClientDiagnosticsAttribute;\n\n/**\n * Options for requests that retrieve distinct values.\n * @public\n */\nexport type GetDistinctValuesRequestOptions = DistinctValuesRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> &\n ClientDiagnosticsAttribute;\n\n/**\n * Properties used to configure [[PresentationManager]]\n * @public\n */\nexport interface PresentationManagerProps {\n /**\n * Sets the active locale to use when localizing presentation-related\n * strings. It can later be changed through [[PresentationManager]].\n */\n activeLocale?: string;\n\n /**\n * Sets the active unit system to use for formatting property values with\n * units. The value can later be changed through [[PresentationManager.activeUnitSystem]] setter or\n * overriden for each request through request parameters. If not set, `IModelApp.quantityFormatter.activeUnitSystem`\n * is used by default.\n *\n * @deprecated in 4.0 - might be removed in next major version. Use [IModelApp.quantityFormatter]($core-frontend) to set the active unit system.\n */\n activeUnitSystem?: UnitSystemKey;\n\n /**\n * ID used to identify client that requests data. Generally, clients should\n * store this ID in their local storage so the ID can be reused across\n * sessions - this allows reusing some caches.\n *\n * Defaults to a unique GUID as a client id.\n */\n clientId?: string;\n\n /**\n * Timeout (in milliseconds) for how long we're going to wait for RPC request to be fulfilled before throwing\n * a timeout error.\n *\n * Defaults to 10 minutes.\n */\n requestTimeout?: number;\n\n /**\n * Callback that provides [SchemaContext]($ecschema-metadata) for supplied [IModelConnection]($core-frontend).\n * [SchemaContext]($ecschema-metadata) is used for getting metadata required for values formatting.\n *\n * @deprecated in 5.1 - will not be removed until after 2026-08-08. By default [IModelConnection.schemaContext]($core-frontend) is now used instead.\n */\n schemaContextProvider?: (imodel: IModelConnection) => SchemaContext;\n\n /**\n * A map of default unit formats to use for formatting properties that don't have a presentation format\n * in requested unit system.\n *\n * @note Only has effect when frontend value formatting is enabled by supplying the `schemaContextProvider` prop.\n *\n * @deprecated in 5.1 - will not be removed until after 2026-08-08. All formats' logic is now handled by [IModelApp.formatsProvider]($core-frontend). Until the prop is removed, when\n * supplied, this map will be used as a fallback if IModelApp's formats provider doesn't return anything for requested format.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n defaultFormats?: FormatsMap;\n}\n\n/** @internal */\ninterface PresentationManagerInternalProps {\n rpcRequestsHandler?: RpcRequestsHandler;\n ipcRequestsHandler?: IpcRequestsHandler;\n}\n\n/**\n * Frontend Presentation manager which basically just forwards all calls to\n * the backend implementation.\n *\n * @public\n */\nexport class PresentationManager implements Disposable {\n private _requestsHandler: RpcRequestsHandler;\n private _rulesets: RulesetManager;\n private _localizationHelper: FrontendLocalizationHelper;\n private _explicitActiveUnitSystem: UnitSystemKey | undefined;\n private _rulesetVars: Map<string, RulesetVariablesManager>;\n private _clearEventListener?: () => void;\n private _schemaContextProvider: (imodel: IModelConnection) => SchemaContext;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _defaultFormats?: FormatsMap;\n private _ipcRequestsHandler?: IpcRequestsHandler;\n\n /**\n * An event raised when hierarchies created using specific ruleset change.\n *\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public onIModelHierarchyChanged = new BeEvent<(args: IModelHierarchyChangeEventArgs) => void>();\n\n /**\n * An event raised when content created using specific ruleset changes\n */\n public onIModelContentChanged = new BeEvent<(args: IModelContentChangeEventArgs) => void>();\n\n /**\n * Get / set active unit system used to format property values with units.\n *\n * @deprecated in 4.0 - might be removed in next major version. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment\n * [[PresentationManager]] allows overriding it, but returns `IModelApp.quantityFormatter.activeUnitSystem` if override\n * is not set.\n */\n public get activeUnitSystem(): UnitSystemKey {\n return this._explicitActiveUnitSystem ?? IModelApp.quantityFormatter.activeUnitSystem;\n }\n public set activeUnitSystem(value: UnitSystemKey | undefined) {\n this._explicitActiveUnitSystem = value;\n }\n\n private constructor(props?: PresentationManagerProps) {\n if (props) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._explicitActiveUnitSystem = props.activeUnitSystem;\n }\n\n this._requestsHandler =\n (props as PresentationManagerInternalProps)?.rpcRequestsHandler ??\n new RpcRequestsHandler(props ? { clientId: props.clientId, timeout: props.requestTimeout } : undefined);\n this._rulesetVars = new Map<string, RulesetVariablesManager>();\n this._rulesets = RulesetManagerImpl.create();\n this._localizationHelper = new FrontendLocalizationHelper(props?.activeLocale);\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._schemaContextProvider = props?.schemaContextProvider ?? ((imodel: IModelConnection) => imodel.schemaContext);\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._defaultFormats = props?.defaultFormats;\n\n if (IpcApp.isValid) {\n // Ipc only works in ipc apps, so the `onUpdate` callback will only be called there.\n this._clearEventListener = IpcApp.addListener(PresentationIpcEvents.Update, this.onUpdate);\n this._ipcRequestsHandler = (props as PresentationManagerInternalProps)?.ipcRequestsHandler ?? new IpcRequestsHandler(this._requestsHandler.clientId);\n }\n }\n\n /** Get / set active locale used for localizing presentation data */\n public get activeLocale(): string | undefined {\n return this._localizationHelper.locale;\n }\n public set activeLocale(locale: string | undefined) {\n this._localizationHelper.locale = locale;\n }\n\n public [Symbol.dispose]() {\n if (this._clearEventListener) {\n this._clearEventListener();\n this._clearEventListener = undefined;\n }\n }\n\n /** @deprecated in 5.0 - might be removed in next major version. Use [Symbol.dispose] instead. */\n /* c8 ignore next 3 */\n public dispose() {\n this[Symbol.dispose]();\n }\n\n private onUpdate = (_evt: Event, report: UpdateInfo) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.handleUpdateAsync(report);\n };\n\n /** @note This is only called in native apps after changes in iModels */\n private async handleUpdateAsync(report: UpdateInfo) {\n for (const imodelKey in report) {\n /* c8 ignore next 3 */\n if (!report.hasOwnProperty(imodelKey)) {\n continue;\n }\n\n const imodelReport = report[imodelKey];\n for (const rulesetId in imodelReport) {\n /* c8 ignore next 3 */\n if (!imodelReport.hasOwnProperty(rulesetId)) {\n continue;\n }\n\n const updateInfo = imodelReport[rulesetId];\n if (updateInfo.content) {\n this.onIModelContentChanged.raiseEvent({ rulesetId, updateInfo: updateInfo.content, imodelKey });\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (updateInfo.hierarchy) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.onIModelHierarchyChanged.raiseEvent({ rulesetId, updateInfo: updateInfo.hierarchy, imodelKey });\n }\n }\n }\n }\n\n /**\n * Create a new PresentationManager instance\n * @param props Optional properties used to configure the manager\n */\n public static create(props?: PresentationManagerProps) {\n return new PresentationManager(props);\n }\n\n /** @internal */\n public get [_presentation_manager_rpcRequestsHandler]() {\n return this._requestsHandler;\n }\n\n /** @internal */\n public get [_presentation_manager_ipcRequestsHandler]() {\n return this._ipcRequestsHandler;\n }\n\n /**\n * Get rulesets manager\n */\n public rulesets() {\n return this._rulesets;\n }\n\n /**\n * Get ruleset variables manager for specific ruleset\n * @param rulesetId Id of the ruleset to get the vars manager for\n */\n public vars(rulesetId: string) {\n if (!this._rulesetVars.has(rulesetId)) {\n const varsManager = new RulesetVariablesManagerImpl(rulesetId, this._ipcRequestsHandler);\n this._rulesetVars.set(rulesetId, varsManager);\n }\n return this._rulesetVars.get(rulesetId)!;\n }\n\n private toRpcTokenOptions<TOptions extends { imodel: IModelConnection; locale?: string; unitSystem?: UnitSystemKey; rulesetVariables?: RulesetVariable[] }>(\n requestOptions: TOptions,\n ) {\n // 1. put default `locale` and `unitSystem`\n // 2. put all `requestOptions` members (if `locale` or `unitSystem` are set, they'll override the defaults put at #1)\n // 3. put `imodel` of type `IModelRpcProps` which overwrites the `imodel` from `requestOptions` put at #2\n const defaultOptions: Pick<TOptions, \"locale\" | \"unitSystem\"> = {};\n if (this.activeLocale) {\n defaultOptions.locale = this.activeLocale;\n }\n defaultOptions.unitSystem = this.activeUnitSystem; // eslint-disable-line @typescript-eslint/no-deprecated\n\n const { imodel, rulesetVariables, ...rpcRequestOptions } = requestOptions;\n return {\n ...defaultOptions,\n ...rpcRequestOptions,\n ...(rulesetVariables ? { rulesetVariables: rulesetVariables.map(RulesetVariable.toJSON) } : {}),\n imodel: imodel.getRpcProps(),\n };\n }\n\n private async addRulesetAndVariablesToOptions<TOptions extends { rulesetOrId: Ruleset | string; rulesetVariables?: RulesetVariable[] }>(options: TOptions) {\n const { rulesetOrId, rulesetVariables } = options;\n let foundRulesetOrId: Ruleset | string;\n if (typeof rulesetOrId === \"object\") {\n foundRulesetOrId = rulesetOrId;\n } else {\n const foundRuleset = await this._rulesets.get(rulesetOrId);\n foundRulesetOrId = foundRuleset ? foundRuleset.toJSON() : rulesetOrId;\n }\n const rulesetId = typeof foundRulesetOrId === \"object\" ? foundRulesetOrId.id : foundRulesetOrId;\n\n // All Id64Array variable values must be sorted for serialization to JSON to work. RulesetVariablesManager\n // sorts them before storing, so that part is taken care of, but we need to ensure that variables coming from\n // request options are also sorted.\n const variables = (rulesetVariables ?? []).map((variable) => {\n if (variable.type === VariableValueTypes.Id64Array) {\n return { ...variable, value: OrderedId64Iterable.sortArray(variable.value) };\n }\n return variable;\n });\n if (!this._ipcRequestsHandler) {\n // only need to add variables from variables manager if there's no IPC\n // handler - if there is one, the variables are already known by the backend\n variables.push(...this.vars(rulesetId).getAllVariables());\n }\n\n return { ...options, rulesetOrId: foundRulesetOrId, rulesetVariables: variables };\n }\n\n /* eslint-disable @typescript-eslint/no-deprecated */\n\n /**\n * Returns an iterator that polls nodes asynchronously.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodesIterator(\n requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: AsyncIterableIterator<Node> }> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (paging) => {\n const result = await this._requestsHandler.getPagedNodes({ ...rpcOptions, paging });\n return {\n total: result.total,\n items: this._localizationHelper.getLocalizedNodes(result.items),\n };\n },\n });\n\n return generator.createAsyncIteratorResponse();\n }\n\n /**\n * Retrieves nodes.\n * @deprecated in 4.5 - might be removed in next major version. Use [[getNodesIterator]] instead.\n */\n public async getNodes(requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions): Promise<Node[]> {\n const result = await this.getNodesIterator(requestOptions);\n return collect(result.items);\n }\n\n /**\n * Retrieves nodes count.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodesCount(requestOptions: GetNodesRequestOptions): Promise<number> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n return this._requestsHandler.getNodesCount(rpcOptions);\n }\n\n /**\n * Retrieves total nodes count and a single page of nodes.\n * @deprecated in 4.5 - might be removed in next major version. Use [[getNodesIterator]] instead.\n */\n public async getNodesAndCount(requestOptions: GetNodesRequestOptions & MultipleValuesRequestOptions): Promise<{ count: number; nodes: Node[] }> {\n const result = await this.getNodesIterator(requestOptions);\n return {\n count: result.total,\n nodes: await collect(result.items),\n };\n }\n\n /**\n * Retrieves hierarchy level descriptor.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodesDescriptor(\n requestOptions: HierarchyLevelDescriptorRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<Descriptor | undefined> {\n startIModelInitialization(requestOptions.imodel);\n try {\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n const result = await this._requestsHandler.getNodesDescriptor(rpcOptions);\n const descriptor = Descriptor.fromJSON(result);\n return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;\n } finally {\n await ensureIModelInitialized(requestOptions.imodel);\n }\n }\n\n /**\n * Retrieves paths from root nodes to children nodes according to specified keys. Intersecting paths will be merged.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getNodePaths(\n requestOptions: FilterByInstancePathsHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<NodePathElement[]> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({ ...options });\n const result = await this._requestsHandler.getNodePaths(rpcOptions);\n return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));\n }\n\n /**\n * Retrieves paths from root nodes to nodes containing filter text in their label.\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n public async getFilteredNodePaths(\n requestOptions: FilterByTextHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<NodePathElement[]> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const result = await this._requestsHandler.getFilteredNodePaths(this.toRpcTokenOptions(options));\n return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));\n }\n\n /* eslint-enable @typescript-eslint/no-deprecated */\n\n /**\n * Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,\n * its related instances for loading related and navigation properties.\n * @public\n */\n public async getContentSources(requestOptions: ContentSourcesRequestOptions<IModelConnection> & ClientDiagnosticsAttribute): Promise<SelectClassInfo[]> {\n startIModelInitialization(requestOptions.imodel);\n const rpcOptions = this.toRpcTokenOptions(requestOptions);\n const result = await this._requestsHandler.getContentSources(rpcOptions);\n return result.sources.map((sourceJson) => SelectClassInfo.fromCompressedJSON(sourceJson, result.classesMap));\n }\n\n /** Retrieves the content descriptor which describes the content and can be used to customize it. */\n public async getContentDescriptor(\n requestOptions: ContentDescriptorRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute,\n ): Promise<Descriptor | undefined> {\n startIModelInitialization(requestOptions.imodel);\n try {\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({\n ...options,\n keys: stripTransientElementKeys(options.keys).toJSON(),\n });\n const result = await this._requestsHandler.getContentDescriptor(rpcOptions);\n const descriptor = Descriptor.fromJSON(result);\n return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;\n } finally {\n await ensureIModelInitialized(requestOptions.imodel);\n }\n }\n\n /** Retrieves overall content set size. */\n public async getContentSetSize(requestOptions: GetContentRequestOptions): Promise<number> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = this.toRpcTokenOptions({\n ...options,\n descriptor: getDescriptorOverrides(requestOptions.descriptor),\n keys: stripTransientElementKeys(requestOptions.keys).toJSON(),\n });\n return this._requestsHandler.getContentSetSize(rpcOptions);\n }\n\n private async getContentIteratorInternal(\n requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ descriptor: Descriptor; total: number; items: AsyncIterableIterator<Item> } | undefined> {\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const firstPageSize = options.batchSize ?? requestOptions.paging?.size;\n const rpcOptions = this.toRpcTokenOptions({\n ...options,\n descriptor: getDescriptorOverrides(requestOptions.descriptor),\n keys: stripTransientElementKeys(requestOptions.keys).toJSON(),\n omitFormattedValues: true,\n ...(firstPageSize ? { paging: { ...requestOptions.paging, size: firstPageSize } } : undefined),\n });\n\n let contentFormatter: ReturnType<typeof createContentFormatter> | undefined;\n if (!requestOptions.omitFormattedValues) {\n const schemaContext = this._schemaContextProvider(requestOptions.imodel);\n const unitSystem = requestOptions.unitSystem ?? this._explicitActiveUnitSystem ?? IModelApp.quantityFormatter.activeUnitSystem;\n const koqPropertyFormatter = new KoqPropertyValueFormatter({\n schemaContext,\n formatsProvider: IModelApp.formatsProvider,\n });\n koqPropertyFormatter.defaultFormats = this._defaultFormats;\n contentFormatter = createContentFormatter({ propertyValueFormatter: koqPropertyFormatter, unitSystem });\n }\n\n let descriptor = requestOptions.descriptor instanceof Descriptor ? requestOptions.descriptor : undefined;\n let firstPage: PagedResponse<ItemJSON> | undefined;\n if (!descriptor) {\n const firstPageResponse = await this._requestsHandler.getPagedContent(rpcOptions);\n if (!firstPageResponse?.descriptor || !firstPageResponse.contentSet) {\n return undefined;\n }\n descriptor = Descriptor.fromJSON(firstPageResponse?.descriptor);\n firstPage = firstPageResponse?.contentSet;\n }\n\n /* c8 ignore next 3 */\n if (!descriptor) {\n return undefined;\n }\n\n descriptor = this._localizationHelper.getLocalizedContentDescriptor(descriptor);\n\n const getPage = async (paging: Required<PageOptions>, requestIndex: number) => {\n let contentSet = requestIndex === 0 ? firstPage : undefined;\n contentSet ??= await this._requestsHandler.getPagedContentSet({ ...rpcOptions, paging });\n\n let items = contentSet.items.map((x) => Item.fromJSON(x)).filter((x): x is Item => x !== undefined);\n if (contentFormatter) {\n items = await contentFormatter.formatContentItems(items, descriptor);\n }\n\n items = this._localizationHelper.getLocalizedContentItems(items);\n return {\n total: contentSet.total,\n items,\n };\n };\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: getPage,\n });\n\n return {\n ...(await generator.createAsyncIteratorResponse()),\n descriptor,\n };\n }\n\n /** Retrieves a content descriptor, item count and async generator for the items themselves. */\n public async getContentIterator(\n requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ descriptor: Descriptor; total: number; items: AsyncIterableIterator<Item> } | undefined> {\n startIModelInitialization(requestOptions.imodel);\n const response = await this.getContentIteratorInternal(requestOptions);\n if (!response) {\n return undefined;\n }\n\n await ensureIModelInitialized(requestOptions.imodel);\n return response;\n }\n\n /**\n * Retrieves content which consists of a content descriptor and a page of records.\n * @deprecated in 4.5 - might be removed in next major version. Use [[getContentIterator]] instead.\n */\n public async getContent(requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions): Promise<Content | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return (await this.getContentAndSize(requestOptions))?.content;\n }\n\n /**\n * Retrieves content set size and content which consists of a content descriptor and a page of records.\n * @deprecated in 4.5 - might be removed in next major version. Use [[getContentIterator]] instead.\n */\n public async getContentAndSize(\n requestOptions: GetContentRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ content: Content; size: number } | undefined> {\n const response = await this.getContentIterator(requestOptions);\n if (!response) {\n return undefined;\n }\n\n const { descriptor, total } = response;\n const items = await collect(response.items);\n return {\n content: new Content(descriptor, items),\n size: total,\n };\n }\n\n /** Returns an iterator that asynchronously polls distinct values of specific field from the content. */\n public async getDistinctValuesIterator(\n requestOptions: GetDistinctValuesRequestOptions & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: AsyncIterableIterator<DisplayValueGroup> }> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = {\n ...this.toRpcTokenOptions(options),\n descriptor: getDescriptorOverrides(options.descriptor),\n keys: stripTransientElementKeys(options.keys).toJSON(),\n };\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (paging) => {\n const response = await this._requestsHandler.getPagedDistinctValues({ ...rpcOptions, paging });\n return {\n total: response.total,\n items: response.items.map((x) => this._localizationHelper.getLocalizedDisplayValueGroup(x)),\n };\n },\n });\n\n return generator.createAsyncIteratorResponse();\n }\n\n /**\n * Retrieves distinct values of specific field from the content.\n * @deprecated in 4.5 - might be removed in next major version. Use [[getDistinctValuesIterator]] instead.\n */\n public async getPagedDistinctValues(\n requestOptions: GetDistinctValuesRequestOptions & MultipleValuesRequestOptions,\n ): Promise<PagedResponse<DisplayValueGroup>> {\n const result = await this.getDistinctValuesIterator(requestOptions);\n return {\n total: result.total,\n items: await collect(result.items),\n };\n }\n\n /**\n * Retrieves property data in a simplified format for a single element specified by ID.\n * @public\n */\n public async getElementProperties<TParsedContent = ElementProperties>(\n requestOptions: SingleElementPropertiesRequestOptions<IModelConnection, TParsedContent> & ClientDiagnosticsAttribute,\n ): Promise<TParsedContent | undefined> {\n startIModelInitialization(requestOptions.imodel);\n type TParser = Required<typeof requestOptions>[\"contentParser\"];\n const { elementId, contentParser, ...optionsNoElementId } = requestOptions;\n const parser: TParser = contentParser ?? (createElementPropertiesBuilder() as TParser);\n const iter = await this.getContentIterator({\n ...optionsNoElementId,\n descriptor: {\n displayType: DefaultContentDisplayTypes.PropertyPane,\n contentFlags: ContentFlags.ShowLabels,\n },\n rulesetOrId: \"ElementProperties\",\n keys: new KeySet([{ className: \"BisCore:Element\", id: elementId }]),\n });\n if (!iter || iter.total === 0) {\n return undefined;\n }\n return parser(iter.descriptor, (await iter.items.next()).value);\n }\n\n /**\n * Retrieves content item instance keys.\n * @public\n */\n public async getContentInstanceKeys(\n requestOptions: ContentInstanceKeysRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: () => AsyncGenerator<InstanceKey> }> {\n startIModelInitialization(requestOptions.imodel);\n const options = await this.addRulesetAndVariablesToOptions(requestOptions);\n const rpcOptions = {\n ...this.toRpcTokenOptions(options),\n keys: stripTransientElementKeys(options.keys).toJSON(),\n };\n\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (page) => {\n const keys = await this._requestsHandler.getContentInstanceKeys({ ...rpcOptions, paging: page });\n return {\n total: keys.total,\n items: keys.items.instanceKeys.reduce((instanceKeys, entry) => {\n for (const id of CompressedId64Set.iterable(entry[1])) {\n instanceKeys.push({ className: entry[0], id });\n }\n return instanceKeys;\n }, new Array<InstanceKey>()),\n };\n },\n });\n\n const { total, items } = await generator.createAsyncIteratorResponse();\n return {\n total,\n async *items() {\n yield* items;\n },\n };\n }\n\n /** Retrieves display label definition of specific item. */\n public async getDisplayLabelDefinition(\n requestOptions: DisplayLabelRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute,\n ): Promise<LabelDefinition> {\n startIModelInitialization(requestOptions.imodel);\n const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });\n const result = await this._requestsHandler.getDisplayLabelDefinition(rpcOptions);\n return this._localizationHelper.getLocalizedLabelDefinition(result);\n }\n\n /** Retrieves display label definition of specific items. */\n public async getDisplayLabelDefinitionsIterator(\n requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions,\n ): Promise<{ total: number; items: AsyncIterableIterator<LabelDefinition> }> {\n startIModelInitialization(requestOptions.imodel);\n const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });\n const generator = new StreamedResponseGenerator({\n ...requestOptions,\n getBatch: async (page) => {\n const partialKeys = !page.start ? rpcOptions.keys : rpcOptions.keys.slice(page.start);\n const result = await this._requestsHandler.getPagedDisplayLabelDefinitions({ ...rpcOptions, keys: partialKeys });\n result.items = this._localizationHelper.getLocalizedLabelDefinitions(result.items);\n return result;\n },\n });\n\n return generator.createAsyncIteratorResponse();\n }\n\n /**\n * Retrieves display label definition of specific items.\n * @deprecated in 4.5 - might be removed in next major version. Use [[getDisplayLabelDefinitionsIterator]] instead.\n */\n public async getDisplayLabelDefinitions(\n requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute & MultipleValuesRequestOptions,\n ): Promise<LabelDefinition[]> {\n const { items } = await this.getDisplayLabelDefinitionsIterator(requestOptions);\n return collect(items);\n }\n}\n\nconst getDescriptorOverrides = (descriptorOrOverrides: Descriptor | DescriptorOverrides): DescriptorOverrides => {\n if (descriptorOrOverrides instanceof Descriptor) {\n return descriptorOrOverrides.createDescriptorOverrides();\n }\n return descriptorOrOverrides;\n};\n\nconst stripTransientElementKeys = (keys: KeySet) => {\n if (!keys.some((key) => Key.isInstanceKey(key) && key.className === TRANSIENT_ELEMENT_CLASSNAME)) {\n return keys;\n }\n\n const copy = new KeySet();\n copy.add(keys, (key) => {\n // the callback is not going to be called with EntityProps as KeySet converts them\n // to InstanceKeys, but we want to keep the EntityProps case for correctness\n /* c8 ignore next 3 */\n const isTransient =\n (Key.isInstanceKey(key) && key.className === TRANSIENT_ELEMENT_CLASSNAME) ||\n (Key.isEntityProps(key) && key.classFullName === TRANSIENT_ELEMENT_CLASSNAME);\n return !isTransient;\n });\n return copy;\n};\n\nasync function collect<T>(iter: AsyncIterable<T>): Promise<T[]> {\n const result = new Array<T>();\n for await (const value of iter) {\n result.push(value);\n }\n return result;\n}\n"]}
@@ -63,11 +63,11 @@ export declare class FavoritePropertiesManager implements Disposable {
63
63
  private _propertiesOrder;
64
64
  constructor(props: FavoritePropertiesManagerProps);
65
65
  [Symbol.dispose](): void;
66
- /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
66
+ /** @deprecated in 5.0 - might be removed in next major version. Use [Symbol.dispose] instead. */
67
67
  dispose(): void;
68
68
  /**
69
69
  * Initialize favorite properties for the provided IModelConnection.
70
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Initialization is performed automatically by all async methods and only needed for deprecated [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]].
70
+ * @deprecated in 4.5 - might be removed in next major version. Initialization is performed automatically by all async methods and only needed for deprecated [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]].
71
71
  */
72
72
  initializeConnection: (imodel: IModelConnection) => Promise<void>;
73
73
  /**
@@ -109,7 +109,7 @@ export declare class FavoritePropertiesManager implements Disposable {
109
109
  * @param imodel IModelConnection.
110
110
  * @param scope FavoritePropertiesScope to check for favorite properties. It also checks the more general scopes.
111
111
  * @note `initializeConnection` must be called with the `imodel` before calling this function.
112
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[FavoritePropertiesManager.hasAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
112
+ * @deprecated in 4.5 - might be removed in next major version. Use [[FavoritePropertiesManager.hasAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
113
113
  */
114
114
  has(field: Field, imodel: IModelConnection, scope: FavoritePropertiesScope): boolean;
115
115
  /**
@@ -125,7 +125,7 @@ export declare class FavoritePropertiesManager implements Disposable {
125
125
  * @param imodel IModelConnection.
126
126
  * @param fields Array of Field's that needs to be sorted.
127
127
  * @note `initializeConnection` must be called with the `imodel` before calling this function.
128
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[FavoritePropertiesManager.sortFieldsAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
128
+ * @deprecated in 4.5 - might be removed in next major version. Use [[FavoritePropertiesManager.sortFieldsAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
129
129
  */
130
130
  sortFields: (imodel: IModelConnection, fields: Field[]) => Field[];
131
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritePropertiesManager.d.ts","sourceRoot":"","sources":["../../../../src/presentation-frontend/favorite-properties/FavoritePropertiesManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FavoritePropertiesManager.d.ts","sourceRoot":"","sources":["../../../../src/presentation-frontend/favorite-properties/FavoritePropertiesManager.ts"],"names":[],"mappings":"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"}
@@ -58,14 +58,14 @@ export class FavoritePropertiesManager {
58
58
  this.storage.dispose();
59
59
  }
60
60
  }
61
- /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
61
+ /** @deprecated in 5.0 - might be removed in next major version. Use [Symbol.dispose] instead. */
62
62
  /* c8 ignore next 3 */
63
63
  dispose() {
64
64
  this[Symbol.dispose]();
65
65
  }
66
66
  /**
67
67
  * Initialize favorite properties for the provided IModelConnection.
68
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Initialization is performed automatically by all async methods and only needed for deprecated [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]].
68
+ * @deprecated in 4.5 - might be removed in next major version. Initialization is performed automatically by all async methods and only needed for deprecated [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]].
69
69
  */
70
70
  initializeConnection = async (imodel) => {
71
71
  const imodelId = imodel.iModelId;
@@ -275,7 +275,7 @@ export class FavoritePropertiesManager {
275
275
  * @param imodel IModelConnection.
276
276
  * @param scope FavoritePropertiesScope to check for favorite properties. It also checks the more general scopes.
277
277
  * @note `initializeConnection` must be called with the `imodel` before calling this function.
278
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[FavoritePropertiesManager.hasAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
278
+ * @deprecated in 4.5 - might be removed in next major version. Use [[FavoritePropertiesManager.hasAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
279
279
  */
280
280
  has(field, imodel, scope) {
281
281
  this.validateInitialization(imodel);
@@ -303,7 +303,7 @@ export class FavoritePropertiesManager {
303
303
  * @param imodel IModelConnection.
304
304
  * @param fields Array of Field's that needs to be sorted.
305
305
  * @note `initializeConnection` must be called with the `imodel` before calling this function.
306
- * @deprecated in 4.5 - will not be removed until after 2026-06-13. Use [[FavoritePropertiesManager.sortFieldsAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
306
+ * @deprecated in 4.5 - might be removed in next major version. Use [[FavoritePropertiesManager.sortFieldsAsync]] instead. This method is not async, therefore it requires early initialization by calling [[FavoritePropertiesManager.initializeConnection]].
307
307
  */
308
308
  sortFields = (imodel, fields) => {
309
309
  this.validateInitialization(imodel);