@itwin/presentation-backend 4.4.0-dev.9 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/lib/cjs/presentation-backend/BackendLoggerCategory.js.map +1 -1
  3. package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts +12 -3
  4. package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts.map +1 -1
  5. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js +81 -79
  6. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js.map +1 -1
  7. package/lib/cjs/presentation-backend/NativePlatform.d.ts +2 -2
  8. package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -1
  9. package/lib/cjs/presentation-backend/NativePlatform.js +1 -3
  10. package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -1
  11. package/lib/cjs/presentation-backend/Presentation.js.map +1 -1
  12. package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -1
  13. package/lib/cjs/presentation-backend/PresentationManager.d.ts +10 -4
  14. package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -1
  15. package/lib/cjs/presentation-backend/PresentationManager.js +107 -40
  16. package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -1
  17. package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts +6 -2
  18. package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts.map +1 -1
  19. package/lib/cjs/presentation-backend/PresentationManagerDetail.js +54 -23
  20. package/lib/cjs/presentation-backend/PresentationManagerDetail.js.map +1 -1
  21. package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -1
  22. package/lib/cjs/presentation-backend/PresentationRpcImpl.js +4 -3
  23. package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -1
  24. package/lib/cjs/presentation-backend/RulesetEmbedder.js +3 -3
  25. package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -1
  26. package/lib/cjs/presentation-backend/RulesetManager.js.map +1 -1
  27. package/lib/cjs/presentation-backend/RulesetVariablesManager.js.map +1 -1
  28. package/lib/cjs/presentation-backend/SelectionScopesHelper.js +16 -16
  29. package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -1
  30. package/lib/cjs/presentation-backend/TemporaryStorage.js.map +1 -1
  31. package/lib/cjs/presentation-backend/Utils.js.map +1 -1
  32. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js.map +1 -1
  33. package/lib/cjs/presentation-backend/domain/RulesetElements.js.map +1 -1
  34. package/lib/cjs/presentation-backend.js.map +1 -1
  35. package/package.json +16 -14
  36. package/lib/cjs/presentation-backend/UpdatesTracker.d.ts +0 -28
  37. package/lib/cjs/presentation-backend/UpdatesTracker.d.ts.map +0 -1
  38. package/lib/cjs/presentation-backend/UpdatesTracker.js +0 -55
  39. package/lib/cjs/presentation-backend/UpdatesTracker.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { IModelDb } from "@itwin/core-backend";
2
2
  import { BeEvent, IDisposable } from "@itwin/core-bentley";
3
3
  import { UnitSystemKey } from "@itwin/core-quantity";
4
- import { Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, KeySet, LabelDefinition, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions, WithCancelEvent } from "@itwin/presentation-common";
4
+ import { Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, Item, KeySet, LabelDefinition, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions, UpdateInfo, WithCancelEvent } from "@itwin/presentation-common";
5
5
  import { NativePlatformDefinition, NativePresentationKeySetJSON } from "./NativePlatform";
6
6
  import { PresentationManagerProps } from "./PresentationManager";
7
7
  import { RulesetManager } from "./RulesetManager";
@@ -10,7 +10,6 @@ import { BackendDiagnosticsAttribute, BackendDiagnosticsOptions } from "./Utils"
10
10
  export declare class PresentationManagerDetail implements IDisposable {
11
11
  private _disposed;
12
12
  private _nativePlatform;
13
- private _updatesTracker;
14
13
  private _onManagerUsed;
15
14
  private _diagnosticsOptions;
16
15
  rulesets: RulesetManager;
@@ -27,6 +26,7 @@ export declare class PresentationManagerDetail implements IDisposable {
27
26
  getContentDescriptor(requestOptions: WithCancelEvent<Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet>>>): Promise<string>;
28
27
  getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]>;
29
28
  getContentSetSize(requestOptions: WithCancelEvent<Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
29
+ getContentSet(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Item[]>;
30
30
  getContent(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Content | undefined>;
31
31
  getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
32
32
  getDisplayLabelDefinition(requestOptions: WithCancelEvent<Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition>;
@@ -58,5 +58,9 @@ export declare function getRulesetIdObject(rulesetOrId: Ruleset | string): Rules
58
58
  export declare function getKeysForContentRequest(keys: Readonly<KeySet>, classInstanceKeysProcessor?: (keys: Map<string, Set<string>>) => void): NativePresentationKeySetJSON;
59
59
  /** @internal */
60
60
  export declare function bisElementInstanceKeysProcessor(imodel: IModelDb, classInstancesMap: Map<string, Set<string>>): void;
61
+ /** @internal */
62
+ export declare function ipcUpdatesHandler(info: UpdateInfo | undefined): void;
63
+ /** @internal */
64
+ export declare function noopUpdatesHandler(_info: UpdateInfo | undefined): void;
61
65
  export {};
62
66
  //# sourceMappingURL=PresentationManagerDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationManagerDetail.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManagerDetail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresentationManagerDetail.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManagerDetail.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.bisElementInstanceKeysProcessor = exports.getKeysForContentRequest = exports.getRulesetIdObject = exports.PresentationManagerDetail = void 0;
26
+ exports.noopUpdatesHandler = exports.ipcUpdatesHandler = exports.bisElementInstanceKeysProcessor = exports.getKeysForContentRequest = exports.getRulesetIdObject = exports.PresentationManagerDetail = void 0;
27
27
  /*---------------------------------------------------------------------------------------------
28
28
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
29
29
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -31,33 +31,23 @@ exports.bisElementInstanceKeysProcessor = exports.getKeysForContentRequest = exp
31
31
  const hash = __importStar(require("object-hash"));
32
32
  const path = __importStar(require("path"));
33
33
  const core_backend_1 = require("@itwin/core-backend");
34
+ const core_bentley_1 = require("@itwin/core-bentley");
34
35
  const presentation_common_1 = require("@itwin/presentation-common");
35
36
  const ElementPropertiesHelper_1 = require("./ElementPropertiesHelper");
36
37
  const NativePlatform_1 = require("./NativePlatform");
37
38
  const PresentationManager_1 = require("./PresentationManager");
38
39
  const RulesetManager_1 = require("./RulesetManager");
39
- const UpdatesTracker_1 = require("./UpdatesTracker");
40
40
  const Utils_1 = require("./Utils");
41
+ const BackendLoggerCategory_1 = require("./BackendLoggerCategory");
41
42
  /** @internal */
42
43
  class PresentationManagerDetail {
43
44
  constructor(params) {
44
45
  this._disposed = false;
45
- const changeTrackingEnabled = !!params.updatesPollInterval;
46
- this._nativePlatform = params.addon ?? createNativePlatform(params.id ?? "", params.workerThreadsCount ?? 2, changeTrackingEnabled, params.caching, params.defaultFormats, params.useMmap);
47
- const getNativePlatform = () => this.getNativePlatform();
48
- if (core_backend_1.IpcHost.isValid && changeTrackingEnabled) {
49
- this._updatesTracker = UpdatesTracker_1.UpdatesTracker.create({
50
- nativePlatformGetter: getNativePlatform,
51
- pollInterval: params.updatesPollInterval,
52
- });
53
- }
54
- else {
55
- this._updatesTracker = undefined;
56
- }
46
+ this._nativePlatform = params.addon ?? createNativePlatform(params.id ?? "", params.workerThreadsCount ?? 2, core_backend_1.IpcHost.isValid ? ipcUpdatesHandler : noopUpdatesHandler, params.caching, params.defaultFormats, params.useMmap);
57
47
  setupRulesets(this._nativePlatform, params.supplementalRulesetDirectories ?? [], params.rulesetDirectories ?? []);
58
48
  this.activeUnitSystem = params.defaultUnitSystem;
59
49
  this._onManagerUsed = undefined;
60
- this.rulesets = new RulesetManager_1.RulesetManagerImpl(getNativePlatform);
50
+ this.rulesets = new RulesetManager_1.RulesetManagerImpl(() => this.getNativePlatform());
61
51
  this._diagnosticsOptions = params.diagnostics;
62
52
  }
63
53
  dispose() {
@@ -66,8 +56,6 @@ class PresentationManagerDetail {
66
56
  }
67
57
  this.getNativePlatform().dispose();
68
58
  this._nativePlatform = undefined;
69
- this._updatesTracker?.dispose();
70
- this._updatesTracker = undefined;
71
59
  this._disposed = true;
72
60
  }
73
61
  getNativePlatform() {
@@ -129,12 +117,12 @@ class PresentationManagerDetail {
129
117
  return JSON.parse(await this.request(params), presentation_common_1.NodePathElement.listReviver);
130
118
  }
131
119
  async getContentDescriptor(requestOptions) {
132
- const { rulesetOrId, ...strippedOptions } = requestOptions;
120
+ const { rulesetOrId, contentFlags, ...strippedOptions } = requestOptions;
133
121
  const params = {
134
122
  requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentDescriptor,
135
123
  rulesetId: this.registerRuleset(rulesetOrId),
136
124
  ...strippedOptions,
137
- contentFlags: presentation_common_1.ContentFlags.DescriptorOnly,
125
+ contentFlags: contentFlags ?? presentation_common_1.ContentFlags.DescriptorOnly,
138
126
  keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
139
127
  };
140
128
  return this.request(params);
@@ -161,6 +149,18 @@ class PresentationManagerDetail {
161
149
  };
162
150
  return JSON.parse(await this.request(params));
163
151
  }
152
+ async getContentSet(requestOptions) {
153
+ const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;
154
+ const params = {
155
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSet,
156
+ rulesetId: this.registerRuleset(rulesetOrId),
157
+ ...strippedOptions,
158
+ keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
159
+ descriptorOverrides: createContentDescriptorOverrides(descriptor),
160
+ };
161
+ // eslint-disable-next-line @typescript-eslint/unbound-method
162
+ return JSON.parse(await this.request(params), presentation_common_1.Item.listReviver);
163
+ }
164
164
  async getContent(requestOptions) {
165
165
  const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;
166
166
  const params = {
@@ -232,8 +232,10 @@ class PresentationManagerDetail {
232
232
  rulesetOrId: "ElementProperties",
233
233
  keys: new presentation_common_1.KeySet([{ className: "BisCore:Element", id: elementId }]),
234
234
  });
235
- const properties = (0, ElementPropertiesHelper_1.buildElementsProperties)(content);
236
- return properties[0];
235
+ if (!content || content.contentSet.length === 0) {
236
+ return undefined;
237
+ }
238
+ return (0, ElementPropertiesHelper_1.buildElementProperties)(content.descriptor, content.contentSet[0]);
237
239
  }
238
240
  /** Registers given ruleset and replaces the ruleset with its ID in the resulting object */
239
241
  registerRuleset(rulesetOrId) {
@@ -380,11 +382,11 @@ function addInstanceKey(classInstancesMap, key) {
380
382
  }
381
383
  set.add(key.id);
382
384
  }
383
- function createNativePlatform(id, workerThreadsCount, changeTrackingEnabled, caching, defaultFormats, useMmap) {
385
+ function createNativePlatform(id, workerThreadsCount, updateCallback, caching, defaultFormats, useMmap) {
384
386
  return new ((0, NativePlatform_1.createDefaultNativePlatform)({
385
387
  id,
386
388
  taskAllocationsMap: { [Number.MAX_SAFE_INTEGER]: workerThreadsCount },
387
- isChangeTrackingEnabled: changeTrackingEnabled,
389
+ updateCallback,
388
390
  cacheConfig: createCacheConfig(caching?.hierarchies),
389
391
  contentCacheSize: caching?.content?.size,
390
392
  workerConnectionCacheSize: caching?.workerConnectionCacheSize,
@@ -442,4 +444,33 @@ const createContentDescriptorOverrides = (descriptorOrOverrides) => {
442
444
  return descriptorOrOverrides.createDescriptorOverrides();
443
445
  return descriptorOrOverrides;
444
446
  };
447
+ function parseUpdateInfo(info) {
448
+ if (info === undefined)
449
+ return undefined;
450
+ const parsedInfo = {};
451
+ for (const fileName in info) {
452
+ // istanbul ignore if
453
+ if (!info.hasOwnProperty(fileName))
454
+ continue;
455
+ const imodelDb = core_backend_1.IModelDb.findByFilename(fileName);
456
+ if (!imodelDb) {
457
+ core_bentley_1.Logger.logError(BackendLoggerCategory_1.PresentationBackendLoggerCategory.PresentationManager, `Update records IModelDb not found with path ${fileName}`);
458
+ continue;
459
+ }
460
+ parsedInfo[imodelDb.getRpcProps().key] = info[fileName];
461
+ }
462
+ return Object.keys(parsedInfo).length > 0 ? parsedInfo : undefined;
463
+ }
464
+ /** @internal */
465
+ function ipcUpdatesHandler(info) {
466
+ const parsed = parseUpdateInfo(info);
467
+ if (parsed)
468
+ core_backend_1.IpcHost.send(presentation_common_1.PresentationIpcEvents.Update, parsed);
469
+ }
470
+ exports.ipcUpdatesHandler = ipcUpdatesHandler;
471
+ /** @internal */
472
+ // istanbul ignore next
473
+ function noopUpdatesHandler(_info) {
474
+ }
475
+ exports.noopUpdatesHandler = noopUpdatesHandler;
445
476
  //# sourceMappingURL=PresentationManagerDetail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationManagerDetail.js","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManagerDetail.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport * as hash from \"object-hash\";\r\nimport * as path from \"path\";\r\nimport { IModelDb, IModelJsNative, IpcHost } from \"@itwin/core-backend\";\r\nimport { BeEvent, IDisposable } from \"@itwin/core-bentley\";\r\nimport { UnitSystemKey } from \"@itwin/core-quantity\";\r\nimport {\r\n Content, ContentDescriptorRequestOptions, ContentFlags, ContentRequestOptions, ContentSourcesRequestOptions, DefaultContentDisplayTypes, Descriptor,\r\n DescriptorOverrides, DiagnosticsOptions, DiagnosticsScopeLogs, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup,\r\n DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions,\r\n FormatsMap,\r\n HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, Key, KeySet, LabelDefinition, NodeKey, NodePathElement, Paged,\r\n PagedResponse, PresentationError, PresentationStatus, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions,\r\n WithCancelEvent,\r\n} from \"@itwin/presentation-common\";\r\nimport { buildElementsProperties } from \"./ElementPropertiesHelper\";\r\nimport {\r\n createDefaultNativePlatform, NativePlatformDefinition, NativePlatformRequestTypes, NativePlatformResponse, NativePresentationDefaultUnitFormats,\r\n NativePresentationKeySetJSON, NativePresentationUnitSystem, PresentationNativePlatformResponseError,\r\n} from \"./NativePlatform\";\r\nimport { HierarchyCacheConfig, HierarchyCacheMode, PresentationManagerProps } from \"./PresentationManager\";\r\nimport { RulesetManager, RulesetManagerImpl } from \"./RulesetManager\";\r\nimport { UpdatesTracker } from \"./UpdatesTracker\";\r\nimport { BackendDiagnosticsAttribute, BackendDiagnosticsOptions, combineDiagnosticsOptions, getElementKey, reportDiagnostics } from \"./Utils\";\r\n\r\n/** @internal */\r\nexport class PresentationManagerDetail implements IDisposable {\r\n private _disposed: boolean;\r\n private _nativePlatform: NativePlatformDefinition | undefined;\r\n private _updatesTracker: UpdatesTracker | undefined;\r\n private _onManagerUsed: (() => void) | undefined;\r\n private _diagnosticsOptions: BackendDiagnosticsOptions | undefined;\r\n\r\n public rulesets: RulesetManager;\r\n public activeUnitSystem: UnitSystemKey | undefined;\r\n\r\n constructor(params: PresentationManagerProps) {\r\n this._disposed = false;\r\n\r\n const changeTrackingEnabled = !!params.updatesPollInterval;\r\n this._nativePlatform = params.addon ?? createNativePlatform(\r\n params.id ?? \"\",\r\n params.workerThreadsCount ?? 2,\r\n changeTrackingEnabled,\r\n params.caching,\r\n params.defaultFormats,\r\n params.useMmap,\r\n );\r\n\r\n const getNativePlatform = () => this.getNativePlatform();\r\n if (IpcHost.isValid && changeTrackingEnabled) {\r\n this._updatesTracker = UpdatesTracker.create({\r\n nativePlatformGetter: getNativePlatform,\r\n pollInterval: params.updatesPollInterval!,\r\n });\r\n } else {\r\n this._updatesTracker = undefined;\r\n }\r\n\r\n setupRulesets(\r\n this._nativePlatform,\r\n params.supplementalRulesetDirectories ?? [],\r\n params.rulesetDirectories ?? [],\r\n );\r\n this.activeUnitSystem = params.defaultUnitSystem;\r\n\r\n this._onManagerUsed = undefined;\r\n this.rulesets = new RulesetManagerImpl(getNativePlatform);\r\n this._diagnosticsOptions = params.diagnostics;\r\n }\r\n\r\n public dispose(): void {\r\n if (this._disposed) {\r\n return;\r\n }\r\n\r\n this.getNativePlatform().dispose();\r\n this._nativePlatform = undefined;\r\n\r\n this._updatesTracker?.dispose();\r\n this._updatesTracker = undefined;\r\n\r\n this._disposed = true;\r\n }\r\n\r\n public getNativePlatform(): NativePlatformDefinition {\r\n if (this._disposed) {\r\n throw new PresentationError(\r\n PresentationStatus.NotInitialized,\r\n \"Attempting to use Presentation manager after disposal\",\r\n );\r\n }\r\n\r\n return this._nativePlatform!;\r\n }\r\n\r\n public setOnManagerUsedHandler(handler: () => void) {\r\n this._onManagerUsed = handler;\r\n }\r\n\r\n public async getNodes(requestOptions: WithCancelEvent<Prioritized<Paged<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<string> {\r\n const { rulesetOrId, parentKey, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: parentKey ? NativePlatformRequestTypes.GetChildren : NativePlatformRequestTypes.GetRootNodes,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n nodeKey: parentKey,\r\n };\r\n return this.request(params);\r\n }\r\n\r\n public async getNodesCount(requestOptions: WithCancelEvent<Prioritized<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number> {\r\n const { rulesetOrId, parentKey, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: parentKey ? NativePlatformRequestTypes.GetChildrenCount : NativePlatformRequestTypes.GetRootNodesCount,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n nodeKey: parentKey,\r\n };\r\n return JSON.parse(await this.request(params));\r\n }\r\n\r\n public async getNodesDescriptor(requestOptions: WithCancelEvent<Prioritized<HierarchyLevelDescriptorRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<string> {\r\n const { rulesetOrId, parentKey, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetNodesDescriptor,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n nodeKey: parentKey,\r\n };\r\n return this.request(params);\r\n }\r\n\r\n public async getNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByInstancePathsHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]> {\r\n const { rulesetOrId, instancePaths, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetNodePaths,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n paths: instancePaths,\r\n };\r\n return JSON.parse(await this.request(params), NodePathElement.listReviver);\r\n }\r\n\r\n public async getFilteredNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByTextHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]> {\r\n const { rulesetOrId, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetFilteredNodePaths,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n };\r\n return JSON.parse(await this.request(params), NodePathElement.listReviver);\r\n }\r\n\r\n public async getContentDescriptor(requestOptions: WithCancelEvent<Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet>>>): Promise<string> {\r\n const { rulesetOrId, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetContentDescriptor,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n contentFlags: ContentFlags.DescriptorOnly,\r\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\r\n };\r\n return this.request(params);\r\n }\r\n\r\n public async getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]> {\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetContentSources,\r\n rulesetId: \"ElementProperties\",\r\n ...requestOptions,\r\n };\r\n const reviver = (key: string, value: any) => {\r\n return key === \"\" ? SelectClassInfo.listFromCompressedJSON(value.sources, value.classesMap) : value;\r\n };\r\n return JSON.parse(await this.request(params), reviver);\r\n }\r\n\r\n public async getContentSetSize(requestOptions: WithCancelEvent<Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number> {\r\n const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetContentSetSize,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\r\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\r\n };\r\n return JSON.parse(await this.request(params));\r\n }\r\n\r\n public async getContent(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Content | undefined> {\r\n const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetContent,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptions,\r\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\r\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\r\n };\r\n return JSON.parse(await this.request(params), (key, value) => Content.reviver(key, value));\r\n }\r\n\r\n public async getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>> {\r\n const { rulesetOrId, ...strippedOptions } = requestOptions;\r\n const { descriptor, keys, ...strippedOptionsNoDescriptorAndKeys } = strippedOptions;\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetPagedDistinctValues,\r\n rulesetId: this.registerRuleset(rulesetOrId),\r\n ...strippedOptionsNoDescriptorAndKeys,\r\n keys: getKeysForContentRequest(keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\r\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\r\n };\r\n const reviver = (key: string, value: any) => {\r\n return key === \"\" ? {\r\n total: value.total,\r\n // eslint-disable-next-line deprecation/deprecation\r\n items: value.items.map(DisplayValueGroup.fromJSON),\r\n } : value;\r\n };\r\n return JSON.parse(await this.request(params), reviver);\r\n }\r\n\r\n public async getDisplayLabelDefinition(requestOptions: WithCancelEvent<Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition> {\r\n const params = {\r\n requestId: NativePlatformRequestTypes.GetDisplayLabel,\r\n ...requestOptions,\r\n };\r\n return JSON.parse(await this.request(params));\r\n }\r\n\r\n public async getDisplayLabelDefinitions(requestOptions: WithCancelEvent<Prioritized<Paged<DisplayLabelsRequestOptions<IModelDb, InstanceKey>>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition[]> {\r\n const concreteKeys = requestOptions.keys.map((k) => {\r\n if (k.className === \"BisCore:Element\")\r\n return getElementKey(requestOptions.imodel, k.id);\r\n return k;\r\n }).filter<InstanceKey>((k): k is InstanceKey => !!k);\r\n const contentRequestOptions: ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet> = {\r\n ...requestOptions,\r\n rulesetOrId: \"RulesDrivenECPresentationManager_RulesetId_DisplayLabel\",\r\n descriptor: {\r\n displayType: DefaultContentDisplayTypes.List,\r\n contentFlags: ContentFlags.ShowLabels | ContentFlags.NoFields,\r\n },\r\n keys: new KeySet(concreteKeys),\r\n };\r\n const content = await this.getContent(contentRequestOptions);\r\n return concreteKeys.map((key) => {\r\n const item = content ? content.contentSet.find((it) => it.primaryKeys.length > 0 && InstanceKey.compare(it.primaryKeys[0], key) === 0) : undefined;\r\n if (!item)\r\n return { displayValue: \"\", rawValue: \"\", typeName: \"\" };\r\n return item.label;\r\n });\r\n }\r\n\r\n public async getElementProperties(requestOptions: WithCancelEvent<Prioritized<SingleElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<ElementProperties | undefined> {\r\n const { elementId, ...optionsNoElementId } = requestOptions;\r\n const content = await this.getContent({\r\n ...optionsNoElementId,\r\n descriptor: {\r\n displayType: DefaultContentDisplayTypes.PropertyPane,\r\n contentFlags: ContentFlags.ShowLabels,\r\n },\r\n rulesetOrId: \"ElementProperties\",\r\n keys: new KeySet([{ className: \"BisCore:Element\", id: elementId }]),\r\n });\r\n const properties = buildElementsProperties(content);\r\n return properties[0];\r\n }\r\n\r\n /** Registers given ruleset and replaces the ruleset with its ID in the resulting object */\r\n public registerRuleset(rulesetOrId: Ruleset | string): string {\r\n if (typeof rulesetOrId === \"object\") {\r\n const rulesetWithNativeId = { ...rulesetOrId, id: this.getRulesetId(rulesetOrId) };\r\n return this.rulesets.add(rulesetWithNativeId).id;\r\n }\r\n\r\n return rulesetOrId;\r\n }\r\n\r\n /** @internal */\r\n public getRulesetId(rulesetOrId: Ruleset | string): string {\r\n return getRulesetIdObject(rulesetOrId).uniqueId;\r\n }\r\n\r\n public async request(params: RequestParams): Promise<string> {\r\n this._onManagerUsed?.();\r\n const { requestId, imodel, unitSystem, diagnostics: requestDiagnostics, cancelEvent, ...strippedParams } = params;\r\n const imodelAddon = this.getNativePlatform().getImodelAddon(imodel);\r\n const response = await withOptionalDiagnostics(\r\n [this._diagnosticsOptions, requestDiagnostics],\r\n async (diagnosticsOptions) => {\r\n const nativeRequestParams: any = {\r\n requestId,\r\n params: {\r\n unitSystem: toOptionalNativeUnitSystem(unitSystem ?? this.activeUnitSystem),\r\n ...strippedParams,\r\n ...(diagnosticsOptions ? { diagnostics: diagnosticsOptions } : undefined),\r\n },\r\n };\r\n return this.getNativePlatform().handleRequest(imodelAddon, JSON.stringify(nativeRequestParams), cancelEvent);\r\n },\r\n );\r\n return response.result;\r\n }\r\n}\r\n\r\nasync function withOptionalDiagnostics(\r\n diagnosticsOptions: Array<BackendDiagnosticsOptions | undefined>,\r\n nativePlatformRequestHandler: (combinedDiagnosticsOptions: DiagnosticsOptions | undefined) => Promise<NativePlatformResponse<string>>,\r\n): Promise<NativePlatformResponse<string>> {\r\n const contexts = diagnosticsOptions.map((d) => d?.requestContextSupplier?.());\r\n const combinedOptions = combineDiagnosticsOptions(...diagnosticsOptions);\r\n let responseDiagnostics: DiagnosticsScopeLogs | undefined;\r\n try {\r\n const response = await nativePlatformRequestHandler(combinedOptions);\r\n responseDiagnostics = response.diagnostics;\r\n return response;\r\n } catch (e) {\r\n if (e instanceof PresentationNativePlatformResponseError) {\r\n responseDiagnostics = e.diagnostics;\r\n }\r\n throw e;\r\n } finally {\r\n if (responseDiagnostics) {\r\n const diagnostics = { logs: [responseDiagnostics] };\r\n diagnosticsOptions.forEach((options, i) => {\r\n options && reportDiagnostics(diagnostics, options, contexts[i]);\r\n });\r\n }\r\n }\r\n}\r\n\r\ninterface RequestParams {\r\n diagnostics?: BackendDiagnosticsOptions;\r\n requestId: string;\r\n imodel: IModelDb;\r\n unitSystem?: UnitSystemKey;\r\n cancelEvent?: BeEvent<() => void>;\r\n}\r\n\r\nfunction setupRulesets(\r\n nativePlatform: NativePlatformDefinition,\r\n supplementalRulesetDirectories: string[],\r\n primaryRulesetDirectories: string[],\r\n): void {\r\n // eslint-disable-next-line @typescript-eslint/no-var-requires\r\n const elementPropertiesRuleset: Ruleset = require(\"./primary-presentation-rules/ElementProperties.PresentationRuleSet.json\");\r\n nativePlatform.addRuleset(JSON.stringify(elementPropertiesRuleset));\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-var-requires\r\n const bisSupplementalRuleset: Ruleset = require(\"./supplemental-presentation-rules/BisCore.PresentationRuleSet.json\");\r\n nativePlatform.registerSupplementalRuleset(JSON.stringify(bisSupplementalRuleset));\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-var-requires\r\n const funcSupplementalRuleset: Ruleset = require(\"./supplemental-presentation-rules/Functional.PresentationRuleSet.json\");\r\n nativePlatform.registerSupplementalRuleset(JSON.stringify(funcSupplementalRuleset));\r\n\r\n nativePlatform.setupSupplementalRulesetDirectories(collateAssetDirectories(supplementalRulesetDirectories));\r\n nativePlatform.setupRulesetDirectories(collateAssetDirectories(primaryRulesetDirectories));\r\n}\r\n\r\ninterface RulesetIdObject {\r\n uniqueId: string;\r\n parts: {\r\n id: string;\r\n hash?: string;\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getRulesetIdObject(rulesetOrId: Ruleset | string): RulesetIdObject {\r\n if (typeof rulesetOrId === \"object\") {\r\n if (IpcHost.isValid) {\r\n // in case of native apps we don't want to enforce ruleset id uniqueness as ruleset variables\r\n // are stored on a backend and creating new id will lose those variables\r\n return {\r\n uniqueId: rulesetOrId.id,\r\n parts: { id: rulesetOrId.id },\r\n };\r\n }\r\n\r\n const hashedId = hash.MD5(rulesetOrId);\r\n return {\r\n uniqueId: `${rulesetOrId.id}-${hashedId}`,\r\n parts: {\r\n id: rulesetOrId.id,\r\n hash: hashedId,\r\n },\r\n };\r\n }\r\n\r\n return { uniqueId: rulesetOrId, parts: { id: rulesetOrId } };\r\n}\r\n\r\n/** @internal */\r\nexport function getKeysForContentRequest(\r\n keys: Readonly<KeySet>,\r\n classInstanceKeysProcessor?: (keys: Map<string, Set<string>>) => void,\r\n): NativePresentationKeySetJSON {\r\n const result: NativePresentationKeySetJSON = {\r\n instanceKeys: [],\r\n nodeKeys: [],\r\n };\r\n const classInstancesMap = new Map<string, Set<string>>();\r\n keys.forEach((key) => {\r\n if (Key.isNodeKey(key)) {\r\n result.nodeKeys.push(key);\r\n }\r\n\r\n if (Key.isInstanceKey(key)) {\r\n addInstanceKey(classInstancesMap, key);\r\n }\r\n });\r\n\r\n if (classInstanceKeysProcessor) {\r\n classInstanceKeysProcessor(classInstancesMap);\r\n }\r\n\r\n for (const entry of classInstancesMap) {\r\n if (entry[1].size > 0) {\r\n result.instanceKeys.push([entry[\"0\"], [...entry[1]]]);\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function bisElementInstanceKeysProcessor(imodel: IModelDb, classInstancesMap: Map<string, Set<string>>) {\r\n const elementClassName = \"BisCore:Element\";\r\n const elementIds = classInstancesMap.get(elementClassName);\r\n if (elementIds) {\r\n const deleteElementIds = new Array<string>();\r\n elementIds.forEach((elementId) => {\r\n const concreteKey = getElementKey(imodel, elementId);\r\n if (concreteKey && concreteKey.className !== elementClassName) {\r\n deleteElementIds.push(elementId);\r\n addInstanceKey(classInstancesMap, { className: concreteKey.className, id: elementId });\r\n }\r\n });\r\n for (const id of deleteElementIds) {\r\n elementIds.delete(id);\r\n }\r\n }\r\n}\r\n\r\nfunction addInstanceKey(classInstancesMap: Map<string, Set<string>>, key: InstanceKey): void {\r\n let set = classInstancesMap.get(key.className);\r\n // istanbul ignore else\r\n if (!set) {\r\n set = new Set();\r\n classInstancesMap.set(key.className, set);\r\n }\r\n set.add(key.id);\r\n}\r\n\r\nfunction createNativePlatform(\r\n id: string,\r\n workerThreadsCount: number,\r\n changeTrackingEnabled: boolean,\r\n caching: PresentationManagerProps[\"caching\"],\r\n defaultFormats: FormatsMap | undefined,\r\n useMmap: boolean | number | undefined,\r\n): NativePlatformDefinition {\r\n return new (createDefaultNativePlatform({\r\n id,\r\n taskAllocationsMap: { [Number.MAX_SAFE_INTEGER]: workerThreadsCount },\r\n isChangeTrackingEnabled: changeTrackingEnabled,\r\n cacheConfig: createCacheConfig(caching?.hierarchies),\r\n contentCacheSize: caching?.content?.size,\r\n workerConnectionCacheSize: caching?.workerConnectionCacheSize,\r\n defaultFormats: toNativeUnitFormatsMap(defaultFormats),\r\n useMmap,\r\n }))();\r\n\r\n function createCacheConfig(config?: HierarchyCacheConfig): IModelJsNative.ECPresentationHierarchyCacheConfig {\r\n switch (config?.mode) {\r\n case HierarchyCacheMode.Disk:\r\n return { ...config, directory: normalizeDirectory(config.directory) };\r\n\r\n case HierarchyCacheMode.Hybrid:\r\n return {\r\n ...config,\r\n disk: config.disk ? { ...config.disk, directory: normalizeDirectory(config.disk.directory) } : undefined,\r\n };\r\n\r\n case HierarchyCacheMode.Memory:\r\n return config;\r\n\r\n default:\r\n return { mode: HierarchyCacheMode.Disk, directory: \"\" };\r\n }\r\n }\r\n\r\n function normalizeDirectory(directory?: string): string {\r\n return directory ? path.resolve(directory) : \"\";\r\n }\r\n\r\n function toNativeUnitFormatsMap(map: FormatsMap | undefined): NativePresentationDefaultUnitFormats | undefined {\r\n if (!map) {\r\n return undefined;\r\n }\r\n\r\n const nativeFormatsMap: NativePresentationDefaultUnitFormats = {};\r\n Object.entries(map).forEach(([phenomenon, formats]) => {\r\n nativeFormatsMap[phenomenon] = (Array.isArray(formats) ? formats : [formats]).map((unitSystemsFormat) => ({\r\n unitSystems: unitSystemsFormat.unitSystems.map(toNativeUnitSystem),\r\n format: unitSystemsFormat.format,\r\n }));\r\n });\r\n return nativeFormatsMap;\r\n }\r\n}\r\n\r\nfunction toOptionalNativeUnitSystem(unitSystem: UnitSystemKey | undefined): NativePresentationUnitSystem | undefined {\r\n return unitSystem ? toNativeUnitSystem(unitSystem) : undefined;\r\n}\r\n\r\nfunction toNativeUnitSystem(unitSystem: UnitSystemKey): NativePresentationUnitSystem {\r\n switch (unitSystem) {\r\n case \"imperial\": return NativePresentationUnitSystem.BritishImperial;\r\n case \"metric\": return NativePresentationUnitSystem.Metric;\r\n case \"usCustomary\": return NativePresentationUnitSystem.UsCustomary;\r\n case \"usSurvey\": return NativePresentationUnitSystem.UsSurvey;\r\n }\r\n}\r\n\r\nfunction collateAssetDirectories(dirs: string[]): string[] {\r\n return [...new Set(dirs)];\r\n}\r\nconst createContentDescriptorOverrides = (descriptorOrOverrides: Descriptor | DescriptorOverrides): DescriptorOverrides => {\r\n if (descriptorOrOverrides instanceof Descriptor)\r\n return descriptorOrOverrides.createDescriptorOverrides();\r\n return descriptorOrOverrides;\r\n};\r\n"]}
1
+ {"version":3,"file":"PresentationManagerDetail.js","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManagerDetail.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*--------------------------------------------------------------------------------------------*/\nimport * as hash from \"object-hash\";\nimport * as path from \"path\";\nimport { IModelDb, IModelJsNative, IpcHost } from \"@itwin/core-backend\";\nimport { BeEvent, IDisposable, Logger } from \"@itwin/core-bentley\";\nimport { UnitSystemKey } from \"@itwin/core-quantity\";\nimport {\n Content, ContentDescriptorRequestOptions, ContentFlags, ContentRequestOptions, ContentSourcesRequestOptions, DefaultContentDisplayTypes, Descriptor,\n DescriptorOverrides, DiagnosticsOptions, DiagnosticsScopeLogs, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup,\n DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions,\n FormatsMap,\n HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, Item, Key, KeySet, LabelDefinition, NodeKey, NodePathElement, Paged,\n PagedResponse, PresentationError, PresentationIpcEvents, PresentationStatus, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions,\n UpdateInfo,\n WithCancelEvent,\n} from \"@itwin/presentation-common\";\nimport { buildElementProperties } from \"./ElementPropertiesHelper\";\nimport {\n createDefaultNativePlatform, NativePlatformDefinition, NativePlatformRequestTypes, NativePlatformResponse, NativePresentationDefaultUnitFormats,\n NativePresentationKeySetJSON, NativePresentationUnitSystem, PresentationNativePlatformResponseError,\n} from \"./NativePlatform\";\nimport { HierarchyCacheConfig, HierarchyCacheMode, PresentationManagerProps } from \"./PresentationManager\";\nimport { RulesetManager, RulesetManagerImpl } from \"./RulesetManager\";\nimport { BackendDiagnosticsAttribute, BackendDiagnosticsOptions, combineDiagnosticsOptions, getElementKey, reportDiagnostics } from \"./Utils\";\nimport { PresentationBackendLoggerCategory } from \"./BackendLoggerCategory\";\n\n/** @internal */\nexport class PresentationManagerDetail implements IDisposable {\n private _disposed: boolean;\n private _nativePlatform: NativePlatformDefinition | undefined;\n private _onManagerUsed: (() => void) | undefined;\n private _diagnosticsOptions: BackendDiagnosticsOptions | undefined;\n\n public rulesets: RulesetManager;\n public activeUnitSystem: UnitSystemKey | undefined;\n\n constructor(params: PresentationManagerProps) {\n this._disposed = false;\n\n this._nativePlatform = params.addon ?? createNativePlatform(\n params.id ?? \"\",\n params.workerThreadsCount ?? 2,\n IpcHost.isValid ? ipcUpdatesHandler : noopUpdatesHandler,\n params.caching,\n params.defaultFormats,\n params.useMmap,\n );\n\n setupRulesets(\n this._nativePlatform,\n params.supplementalRulesetDirectories ?? [],\n params.rulesetDirectories ?? [],\n );\n this.activeUnitSystem = params.defaultUnitSystem;\n\n this._onManagerUsed = undefined;\n this.rulesets = new RulesetManagerImpl(() => this.getNativePlatform());\n this._diagnosticsOptions = params.diagnostics;\n }\n\n public dispose(): void {\n if (this._disposed) {\n return;\n }\n\n this.getNativePlatform().dispose();\n this._nativePlatform = undefined;\n\n this._disposed = true;\n }\n\n public getNativePlatform(): NativePlatformDefinition {\n if (this._disposed) {\n throw new PresentationError(\n PresentationStatus.NotInitialized,\n \"Attempting to use Presentation manager after disposal\",\n );\n }\n\n return this._nativePlatform!;\n }\n\n public setOnManagerUsedHandler(handler: () => void) {\n this._onManagerUsed = handler;\n }\n\n public async getNodes(requestOptions: WithCancelEvent<Prioritized<Paged<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<string> {\n const { rulesetOrId, parentKey, ...strippedOptions } = requestOptions;\n const params = {\n requestId: parentKey ? NativePlatformRequestTypes.GetChildren : NativePlatformRequestTypes.GetRootNodes,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n nodeKey: parentKey,\n };\n return this.request(params);\n }\n\n public async getNodesCount(requestOptions: WithCancelEvent<Prioritized<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number> {\n const { rulesetOrId, parentKey, ...strippedOptions } = requestOptions;\n const params = {\n requestId: parentKey ? NativePlatformRequestTypes.GetChildrenCount : NativePlatformRequestTypes.GetRootNodesCount,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n nodeKey: parentKey,\n };\n return JSON.parse(await this.request(params));\n }\n\n public async getNodesDescriptor(requestOptions: WithCancelEvent<Prioritized<HierarchyLevelDescriptorRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<string> {\n const { rulesetOrId, parentKey, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetNodesDescriptor,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n nodeKey: parentKey,\n };\n return this.request(params);\n }\n\n public async getNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByInstancePathsHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]> {\n const { rulesetOrId, instancePaths, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetNodePaths,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n paths: instancePaths,\n };\n return JSON.parse(await this.request(params), NodePathElement.listReviver);\n }\n\n public async getFilteredNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByTextHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]> {\n const { rulesetOrId, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetFilteredNodePaths,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n };\n return JSON.parse(await this.request(params), NodePathElement.listReviver);\n }\n\n public async getContentDescriptor(requestOptions: WithCancelEvent<Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet>>>): Promise<string> {\n const { rulesetOrId, contentFlags, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetContentDescriptor,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n contentFlags: contentFlags ?? ContentFlags.DescriptorOnly, // only set \"descriptor only\" flag if there are no flags provided\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\n };\n return this.request(params);\n }\n\n public async getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]> {\n const params = {\n requestId: NativePlatformRequestTypes.GetContentSources,\n rulesetId: \"ElementProperties\",\n ...requestOptions,\n };\n const reviver = (key: string, value: any) => {\n return key === \"\" ? SelectClassInfo.listFromCompressedJSON(value.sources, value.classesMap) : value;\n };\n return JSON.parse(await this.request(params), reviver);\n }\n\n public async getContentSetSize(requestOptions: WithCancelEvent<Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number> {\n const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetContentSetSize,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\n };\n return JSON.parse(await this.request(params));\n }\n\n public async getContentSet(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Item[]> {\n const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetContentSet,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\n };\n // eslint-disable-next-line @typescript-eslint/unbound-method\n return JSON.parse(await this.request(params), Item.listReviver);\n }\n\n public async getContent(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Content | undefined> {\n const { rulesetOrId, descriptor, ...strippedOptions } = requestOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetContent,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptions,\n keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\n };\n return JSON.parse(await this.request(params), (key, value) => Content.reviver(key, value));\n }\n\n public async getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>> {\n const { rulesetOrId, ...strippedOptions } = requestOptions;\n const { descriptor, keys, ...strippedOptionsNoDescriptorAndKeys } = strippedOptions;\n const params = {\n requestId: NativePlatformRequestTypes.GetPagedDistinctValues,\n rulesetId: this.registerRuleset(rulesetOrId),\n ...strippedOptionsNoDescriptorAndKeys,\n keys: getKeysForContentRequest(keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),\n descriptorOverrides: createContentDescriptorOverrides(descriptor),\n };\n const reviver = (key: string, value: any) => {\n return key === \"\" ? {\n total: value.total,\n // eslint-disable-next-line deprecation/deprecation\n items: value.items.map(DisplayValueGroup.fromJSON),\n } : value;\n };\n return JSON.parse(await this.request(params), reviver);\n }\n\n public async getDisplayLabelDefinition(requestOptions: WithCancelEvent<Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition> {\n const params = {\n requestId: NativePlatformRequestTypes.GetDisplayLabel,\n ...requestOptions,\n };\n return JSON.parse(await this.request(params));\n }\n\n public async getDisplayLabelDefinitions(requestOptions: WithCancelEvent<Prioritized<Paged<DisplayLabelsRequestOptions<IModelDb, InstanceKey>>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition[]> {\n const concreteKeys = requestOptions.keys.map((k) => {\n if (k.className === \"BisCore:Element\")\n return getElementKey(requestOptions.imodel, k.id);\n return k;\n }).filter<InstanceKey>((k): k is InstanceKey => !!k);\n const contentRequestOptions: ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet> = {\n ...requestOptions,\n rulesetOrId: \"RulesDrivenECPresentationManager_RulesetId_DisplayLabel\",\n descriptor: {\n displayType: DefaultContentDisplayTypes.List,\n contentFlags: ContentFlags.ShowLabels | ContentFlags.NoFields,\n },\n keys: new KeySet(concreteKeys),\n };\n const content = await this.getContent(contentRequestOptions);\n return concreteKeys.map((key) => {\n const item = content ? content.contentSet.find((it) => it.primaryKeys.length > 0 && InstanceKey.compare(it.primaryKeys[0], key) === 0) : undefined;\n if (!item)\n return { displayValue: \"\", rawValue: \"\", typeName: \"\" };\n return item.label;\n });\n }\n\n public async getElementProperties(requestOptions: WithCancelEvent<Prioritized<SingleElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<ElementProperties | undefined> {\n const { elementId, ...optionsNoElementId } = requestOptions;\n const content = await this.getContent({\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 (!content || content.contentSet.length === 0) {\n return undefined;\n }\n return buildElementProperties(content.descriptor, content.contentSet[0]);\n }\n\n /** Registers given ruleset and replaces the ruleset with its ID in the resulting object */\n public registerRuleset(rulesetOrId: Ruleset | string): string {\n if (typeof rulesetOrId === \"object\") {\n const rulesetWithNativeId = { ...rulesetOrId, id: this.getRulesetId(rulesetOrId) };\n return this.rulesets.add(rulesetWithNativeId).id;\n }\n\n return rulesetOrId;\n }\n\n /** @internal */\n public getRulesetId(rulesetOrId: Ruleset | string): string {\n return getRulesetIdObject(rulesetOrId).uniqueId;\n }\n\n public async request(params: RequestParams): Promise<string> {\n this._onManagerUsed?.();\n const { requestId, imodel, unitSystem, diagnostics: requestDiagnostics, cancelEvent, ...strippedParams } = params;\n const imodelAddon = this.getNativePlatform().getImodelAddon(imodel);\n const response = await withOptionalDiagnostics(\n [this._diagnosticsOptions, requestDiagnostics],\n async (diagnosticsOptions) => {\n const nativeRequestParams: any = {\n requestId,\n params: {\n unitSystem: toOptionalNativeUnitSystem(unitSystem ?? this.activeUnitSystem),\n ...strippedParams,\n ...(diagnosticsOptions ? { diagnostics: diagnosticsOptions } : undefined),\n },\n };\n return this.getNativePlatform().handleRequest(imodelAddon, JSON.stringify(nativeRequestParams), cancelEvent);\n },\n );\n return response.result;\n }\n}\n\nasync function withOptionalDiagnostics(\n diagnosticsOptions: Array<BackendDiagnosticsOptions | undefined>,\n nativePlatformRequestHandler: (combinedDiagnosticsOptions: DiagnosticsOptions | undefined) => Promise<NativePlatformResponse<string>>,\n): Promise<NativePlatformResponse<string>> {\n const contexts = diagnosticsOptions.map((d) => d?.requestContextSupplier?.());\n const combinedOptions = combineDiagnosticsOptions(...diagnosticsOptions);\n let responseDiagnostics: DiagnosticsScopeLogs | undefined;\n try {\n const response = await nativePlatformRequestHandler(combinedOptions);\n responseDiagnostics = response.diagnostics;\n return response;\n } catch (e) {\n if (e instanceof PresentationNativePlatformResponseError) {\n responseDiagnostics = e.diagnostics;\n }\n throw e;\n } finally {\n if (responseDiagnostics) {\n const diagnostics = { logs: [responseDiagnostics] };\n diagnosticsOptions.forEach((options, i) => {\n options && reportDiagnostics(diagnostics, options, contexts[i]);\n });\n }\n }\n}\n\ninterface RequestParams {\n diagnostics?: BackendDiagnosticsOptions;\n requestId: string;\n imodel: IModelDb;\n unitSystem?: UnitSystemKey;\n cancelEvent?: BeEvent<() => void>;\n}\n\nfunction setupRulesets(\n nativePlatform: NativePlatformDefinition,\n supplementalRulesetDirectories: string[],\n primaryRulesetDirectories: string[],\n): void {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const elementPropertiesRuleset: Ruleset = require(\"./primary-presentation-rules/ElementProperties.PresentationRuleSet.json\");\n nativePlatform.addRuleset(JSON.stringify(elementPropertiesRuleset));\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const bisSupplementalRuleset: Ruleset = require(\"./supplemental-presentation-rules/BisCore.PresentationRuleSet.json\");\n nativePlatform.registerSupplementalRuleset(JSON.stringify(bisSupplementalRuleset));\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const funcSupplementalRuleset: Ruleset = require(\"./supplemental-presentation-rules/Functional.PresentationRuleSet.json\");\n nativePlatform.registerSupplementalRuleset(JSON.stringify(funcSupplementalRuleset));\n\n nativePlatform.setupSupplementalRulesetDirectories(collateAssetDirectories(supplementalRulesetDirectories));\n nativePlatform.setupRulesetDirectories(collateAssetDirectories(primaryRulesetDirectories));\n}\n\ninterface RulesetIdObject {\n uniqueId: string;\n parts: {\n id: string;\n hash?: string;\n };\n}\n\n/** @internal */\nexport function getRulesetIdObject(rulesetOrId: Ruleset | string): RulesetIdObject {\n if (typeof rulesetOrId === \"object\") {\n if (IpcHost.isValid) {\n // in case of native apps we don't want to enforce ruleset id uniqueness as ruleset variables\n // are stored on a backend and creating new id will lose those variables\n return {\n uniqueId: rulesetOrId.id,\n parts: { id: rulesetOrId.id },\n };\n }\n\n const hashedId = hash.MD5(rulesetOrId);\n return {\n uniqueId: `${rulesetOrId.id}-${hashedId}`,\n parts: {\n id: rulesetOrId.id,\n hash: hashedId,\n },\n };\n }\n\n return { uniqueId: rulesetOrId, parts: { id: rulesetOrId } };\n}\n\n/** @internal */\nexport function getKeysForContentRequest(\n keys: Readonly<KeySet>,\n classInstanceKeysProcessor?: (keys: Map<string, Set<string>>) => void,\n): NativePresentationKeySetJSON {\n const result: NativePresentationKeySetJSON = {\n instanceKeys: [],\n nodeKeys: [],\n };\n const classInstancesMap = new Map<string, Set<string>>();\n keys.forEach((key) => {\n if (Key.isNodeKey(key)) {\n result.nodeKeys.push(key);\n }\n\n if (Key.isInstanceKey(key)) {\n addInstanceKey(classInstancesMap, key);\n }\n });\n\n if (classInstanceKeysProcessor) {\n classInstanceKeysProcessor(classInstancesMap);\n }\n\n for (const entry of classInstancesMap) {\n if (entry[1].size > 0) {\n result.instanceKeys.push([entry[\"0\"], [...entry[1]]]);\n }\n }\n\n return result;\n}\n\n/** @internal */\nexport function bisElementInstanceKeysProcessor(imodel: IModelDb, classInstancesMap: Map<string, Set<string>>) {\n const elementClassName = \"BisCore:Element\";\n const elementIds = classInstancesMap.get(elementClassName);\n if (elementIds) {\n const deleteElementIds = new Array<string>();\n elementIds.forEach((elementId) => {\n const concreteKey = getElementKey(imodel, elementId);\n if (concreteKey && concreteKey.className !== elementClassName) {\n deleteElementIds.push(elementId);\n addInstanceKey(classInstancesMap, { className: concreteKey.className, id: elementId });\n }\n });\n for (const id of deleteElementIds) {\n elementIds.delete(id);\n }\n }\n}\n\nfunction addInstanceKey(classInstancesMap: Map<string, Set<string>>, key: InstanceKey): void {\n let set = classInstancesMap.get(key.className);\n // istanbul ignore else\n if (!set) {\n set = new Set();\n classInstancesMap.set(key.className, set);\n }\n set.add(key.id);\n}\n\nfunction createNativePlatform(\n id: string,\n workerThreadsCount: number,\n updateCallback: (updateInfo: UpdateInfo | undefined) => void,\n caching: PresentationManagerProps[\"caching\"],\n defaultFormats: FormatsMap | undefined,\n useMmap: boolean | number | undefined,\n): NativePlatformDefinition {\n return new (createDefaultNativePlatform({\n id,\n taskAllocationsMap: { [Number.MAX_SAFE_INTEGER]: workerThreadsCount },\n updateCallback,\n cacheConfig: createCacheConfig(caching?.hierarchies),\n contentCacheSize: caching?.content?.size,\n workerConnectionCacheSize: caching?.workerConnectionCacheSize,\n defaultFormats: toNativeUnitFormatsMap(defaultFormats),\n useMmap,\n }))();\n\n function createCacheConfig(config?: HierarchyCacheConfig): IModelJsNative.ECPresentationHierarchyCacheConfig {\n switch (config?.mode) {\n case HierarchyCacheMode.Disk:\n return { ...config, directory: normalizeDirectory(config.directory) };\n\n case HierarchyCacheMode.Hybrid:\n return {\n ...config,\n disk: config.disk ? { ...config.disk, directory: normalizeDirectory(config.disk.directory) } : undefined,\n };\n\n case HierarchyCacheMode.Memory:\n return config;\n\n default:\n return { mode: HierarchyCacheMode.Disk, directory: \"\" };\n }\n }\n\n function normalizeDirectory(directory?: string): string {\n return directory ? path.resolve(directory) : \"\";\n }\n\n function toNativeUnitFormatsMap(map: FormatsMap | undefined): NativePresentationDefaultUnitFormats | undefined {\n if (!map) {\n return undefined;\n }\n\n const nativeFormatsMap: NativePresentationDefaultUnitFormats = {};\n Object.entries(map).forEach(([phenomenon, formats]) => {\n nativeFormatsMap[phenomenon] = (Array.isArray(formats) ? formats : [formats]).map((unitSystemsFormat) => ({\n unitSystems: unitSystemsFormat.unitSystems.map(toNativeUnitSystem),\n format: unitSystemsFormat.format,\n }));\n });\n return nativeFormatsMap;\n }\n}\n\nfunction toOptionalNativeUnitSystem(unitSystem: UnitSystemKey | undefined): NativePresentationUnitSystem | undefined {\n return unitSystem ? toNativeUnitSystem(unitSystem) : undefined;\n}\n\nfunction toNativeUnitSystem(unitSystem: UnitSystemKey): NativePresentationUnitSystem {\n switch (unitSystem) {\n case \"imperial\": return NativePresentationUnitSystem.BritishImperial;\n case \"metric\": return NativePresentationUnitSystem.Metric;\n case \"usCustomary\": return NativePresentationUnitSystem.UsCustomary;\n case \"usSurvey\": return NativePresentationUnitSystem.UsSurvey;\n }\n}\n\nfunction collateAssetDirectories(dirs: string[]): string[] {\n return [...new Set(dirs)];\n}\nconst createContentDescriptorOverrides = (descriptorOrOverrides: Descriptor | DescriptorOverrides): DescriptorOverrides => {\n if (descriptorOrOverrides instanceof Descriptor)\n return descriptorOrOverrides.createDescriptorOverrides();\n return descriptorOrOverrides;\n};\n\nfunction parseUpdateInfo(info: UpdateInfo | undefined) {\n if (info === undefined)\n return undefined;\n\n const parsedInfo: UpdateInfo = {};\n for (const fileName in info) {\n // istanbul ignore if\n if (!info.hasOwnProperty(fileName))\n continue;\n\n const imodelDb = IModelDb.findByFilename(fileName);\n if (!imodelDb) {\n Logger.logError(PresentationBackendLoggerCategory.PresentationManager, `Update records IModelDb not found with path ${fileName}`);\n continue;\n }\n\n parsedInfo[imodelDb.getRpcProps().key] = info[fileName];\n }\n return Object.keys(parsedInfo).length > 0 ? parsedInfo : undefined;\n}\n\n/** @internal */\nexport function ipcUpdatesHandler(info: UpdateInfo | undefined) {\n const parsed = parseUpdateInfo(info);\n if (parsed)\n IpcHost.send(PresentationIpcEvents.Update, parsed);\n}\n\n/** @internal */\n// istanbul ignore next\nexport function noopUpdatesHandler(_info: UpdateInfo | undefined) {\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationRpcImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresentationRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationRpcImpl.ts"],"names":[],"mappings":"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"}
@@ -219,7 +219,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
219
219
  // eslint-disable-next-line deprecation/deprecation
220
220
  async getNodePaths(token, requestOptions) {
221
221
  return this.makeRequest(token, "getNodePaths", requestOptions, async (options) => {
222
- const result = await this.getManager(requestOptions.clientId).getNodePaths(options);
222
+ const result = await this.getManager(requestOptions.clientId).getDetail().getNodePaths(options);
223
223
  // eslint-disable-next-line deprecation/deprecation
224
224
  return result.map(presentation_common_1.NodePathElement.toJSON);
225
225
  });
@@ -227,7 +227,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
227
227
  // eslint-disable-next-line deprecation/deprecation
228
228
  async getFilteredNodePaths(token, requestOptions) {
229
229
  return this.makeRequest(token, "getFilteredNodePaths", requestOptions, async (options) => {
230
- const result = await this.getManager(requestOptions.clientId).getFilteredNodePaths(options);
230
+ const result = await this.getManager(requestOptions.clientId).getDetail().getFilteredNodePaths(options);
231
231
  // eslint-disable-next-line deprecation/deprecation
232
232
  return result.map(presentation_common_1.NodePathElement.toJSON);
233
233
  });
@@ -244,6 +244,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
244
244
  return this.makeRequest(token, "getContentDescriptor", requestOptions, async (options) => {
245
245
  options = {
246
246
  ...options,
247
+ contentFlags: (options.contentFlags ?? 0) | presentation_common_1.ContentFlags.DescriptorOnly,
247
248
  keys: presentation_common_1.KeySet.fromJSON(options.keys),
248
249
  };
249
250
  if (options.transport === "unparsed-json") {
@@ -304,7 +305,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
304
305
  ...options,
305
306
  keys: presentation_common_1.KeySet.fromJSON(options.keys),
306
307
  });
307
- const response = await this.getManager(requestOptions.clientId).getPagedDistinctValues(options);
308
+ const response = await this.getManager(requestOptions.clientId).getDetail().getPagedDistinctValues(options);
308
309
  return {
309
310
  ...response,
310
311
  // eslint-disable-next-line deprecation/deprecation