@itwin/presentation-common 5.1.0-dev.9 → 5.1.1

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 (205) hide show
  1. package/CHANGELOG.md +96 -1
  2. package/Ruleset.schema.json +3 -3
  3. package/lib/assets/locales/en/Presentation.json +19 -19
  4. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  5. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  6. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  7. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  8. package/lib/cjs/presentation-common/EC.js +9 -2
  9. package/lib/cjs/presentation-common/EC.js.map +1 -1
  10. package/lib/cjs/presentation-common/ElementProperties.js +1 -0
  11. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  12. package/lib/cjs/presentation-common/Error.d.ts +1 -1
  13. package/lib/cjs/presentation-common/Error.js +1 -1
  14. package/lib/cjs/presentation-common/Error.js.map +1 -1
  15. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  16. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  17. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.d.ts +24 -2
  18. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.d.ts.map +1 -1
  19. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js +97 -104
  20. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  21. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  22. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  23. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  24. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +3 -3
  25. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  26. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +19 -19
  27. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  28. package/lib/cjs/presentation-common/PresentationRpcInterface.js +17 -17
  29. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  30. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +1 -1
  31. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  32. package/lib/cjs/presentation-common/RegisteredRuleset.js +1 -1
  33. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  34. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  35. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  36. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  37. package/lib/cjs/presentation-common/Update.js.map +1 -1
  38. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  39. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  40. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  41. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  42. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  43. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  44. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  45. package/lib/cjs/presentation-common/content/Fields.d.ts +14 -14
  46. package/lib/cjs/presentation-common/content/Fields.js +9 -9
  47. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  48. package/lib/cjs/presentation-common/content/Item.d.ts +2 -2
  49. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  50. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  51. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  52. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  53. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  54. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  55. package/lib/cjs/presentation-common/content/Value.d.ts +1 -1
  56. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  57. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  58. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  59. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +1 -1
  60. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  61. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  62. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  63. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  64. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  65. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  66. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  67. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  68. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  69. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  70. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  71. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  72. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  73. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  74. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  75. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  76. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  77. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  78. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  79. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  80. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  81. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  82. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  83. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  84. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  85. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +2 -2
  86. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  87. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  88. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  89. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  90. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  91. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +1 -1
  92. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  93. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  94. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  95. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  96. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  97. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  98. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  99. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  100. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +3 -3
  101. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  102. package/lib/cjs/presentation-common-internal.js.map +1 -1
  103. package/lib/cjs/presentation-common.js.map +1 -1
  104. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  105. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  106. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  107. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  108. package/lib/esm/presentation-common/EC.js +9 -2
  109. package/lib/esm/presentation-common/EC.js.map +1 -1
  110. package/lib/esm/presentation-common/ElementProperties.js +1 -0
  111. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  112. package/lib/esm/presentation-common/Error.d.ts +1 -1
  113. package/lib/esm/presentation-common/Error.js +1 -1
  114. package/lib/esm/presentation-common/Error.js.map +1 -1
  115. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  116. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  117. package/lib/esm/presentation-common/KoqPropertyValueFormatter.d.ts +24 -2
  118. package/lib/esm/presentation-common/KoqPropertyValueFormatter.d.ts.map +1 -1
  119. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js +97 -104
  120. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  121. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  122. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  123. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  124. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +3 -3
  125. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  126. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +19 -19
  127. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  128. package/lib/esm/presentation-common/PresentationRpcInterface.js +17 -17
  129. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  130. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +1 -1
  131. package/lib/esm/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  132. package/lib/esm/presentation-common/RegisteredRuleset.js +1 -1
  133. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  134. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  135. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  136. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  137. package/lib/esm/presentation-common/Update.js.map +1 -1
  138. package/lib/esm/presentation-common/Utils.js.map +1 -1
  139. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  140. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  141. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  142. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  143. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  144. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  145. package/lib/esm/presentation-common/content/Fields.d.ts +14 -14
  146. package/lib/esm/presentation-common/content/Fields.js +9 -9
  147. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  148. package/lib/esm/presentation-common/content/Item.d.ts +2 -2
  149. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  150. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  151. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  152. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  153. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  154. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  155. package/lib/esm/presentation-common/content/Value.d.ts +1 -1
  156. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  157. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  158. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  159. package/lib/esm/presentation-common/hierarchy/Node.d.ts +1 -1
  160. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  161. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  162. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  163. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  164. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  165. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  166. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  167. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  168. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  169. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  170. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  171. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  172. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  173. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  174. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  175. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  176. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  177. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  178. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  179. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  180. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  181. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  182. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  183. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  184. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  185. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +2 -2
  186. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  187. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  188. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  189. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  190. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  191. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +1 -1
  192. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  193. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  194. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  195. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  196. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  197. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  198. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  199. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  200. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +3 -3
  201. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  202. package/lib/esm/presentation-common-internal.js.map +1 -1
  203. package/lib/esm/presentation-common.js.map +1 -1
  204. package/lib/public/locales/en/Presentation.json +19 -19
  205. package/package.json +19 -14
@@ -128,13 +128,13 @@ export type DisplayLabelsRpcRequestOptions = PresentationRpcRequestOptions<Displ
128
128
  /**
129
129
  * Data structure for selection scope request options.
130
130
  * @public
131
- * @deprecated in 5.0. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.
131
+ * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.
132
132
  */
133
133
  export type SelectionScopeRpcRequestOptions = PresentationRpcRequestOptions<SelectionScopeRequestOptions<never>>;
134
134
  /**
135
135
  * Request options data structure for computing selection based on given selection scope and element IDs.
136
136
  * @public
137
- * @deprecated in 5.0. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.
137
+ * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.
138
138
  */
139
139
  export type ComputeSelectionRpcRequestOptions = PresentationRpcRequestOptions<ComputeSelectionRequestOptions<never>>;
140
140
  /**
@@ -146,45 +146,45 @@ export declare class PresentationRpcInterface extends RpcInterface {
146
146
  static readonly interfaceName = "PresentationRpcInterface";
147
147
  /** The semantic version of the interface. */
148
148
  static interfaceVersion: string;
149
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
149
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
150
150
  getNodesCount(_token: IModelRpcProps, _options: HierarchyRpcRequestOptions): PresentationRpcResponse<number>;
151
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
151
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
152
152
  getPagedNodes(_token: IModelRpcProps, _options: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<Node>>;
153
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
153
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
154
154
  getNodesDescriptor(_token: IModelRpcProps, _options: HierarchyLevelDescriptorRpcRequestOptions): PresentationRpcResponse<string | DescriptorJSON | undefined>;
155
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
155
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
156
156
  getNodePaths(_token: IModelRpcProps, _options: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]>;
157
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
157
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
158
158
  getFilteredNodePaths(_token: IModelRpcProps, _options: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]>;
159
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
159
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
160
160
  getContentSources(_token: IModelRpcProps, _options: ContentSourcesRpcRequestOptions): PresentationRpcResponse<ContentSourcesRpcResult>;
161
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
161
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
162
162
  getContentDescriptor(_token: IModelRpcProps, _options: ContentDescriptorRpcRequestOptions): PresentationRpcResponse<DescriptorJSON | undefined>;
163
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
163
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
164
164
  getContentSetSize(_token: IModelRpcProps, _options: ContentRpcRequestOptions): PresentationRpcResponse<number>;
165
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
165
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
166
166
  getPagedContent(_token: IModelRpcProps, _options: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<{
167
167
  descriptor: DescriptorJSON;
168
168
  contentSet: PagedResponse<ItemJSON>;
169
169
  } | undefined>;
170
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
170
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
171
171
  getPagedContentSet(_token: IModelRpcProps, _options: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<PagedResponse<ItemJSON>>;
172
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
172
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
173
173
  getElementProperties(_token: IModelRpcProps, _options: SingleElementPropertiesRpcRequestOptions): PresentationRpcResponse<ElementProperties | undefined>;
174
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
174
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
175
175
  getPagedDistinctValues(_token: IModelRpcProps, _options: DistinctValuesRpcRequestOptions): PresentationRpcResponse<PagedResponse<DisplayValueGroup>>;
176
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
176
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
177
177
  getContentInstanceKeys(_token: IModelRpcProps, _options: ContentInstanceKeysRpcRequestOptions): PresentationRpcResponse<{
178
178
  total: number;
179
179
  items: KeySetJSON;
180
180
  }>;
181
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
181
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
182
182
  getDisplayLabelDefinition(_token: IModelRpcProps, _options: DisplayLabelRpcRequestOptions): PresentationRpcResponse<LabelDefinition>;
183
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
183
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
184
184
  getPagedDisplayLabelDefinitions(_token: IModelRpcProps, _options: DisplayLabelsRpcRequestOptions): PresentationRpcResponse<PagedResponse<LabelDefinition>>;
185
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
185
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
186
186
  getSelectionScopes(_token: IModelRpcProps, _options: SelectionScopeRpcRequestOptions): PresentationRpcResponse<SelectionScope[]>;
187
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
187
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
188
188
  computeSelection(_token: IModelRpcProps, _options: ComputeSelectionRpcRequestOptions): PresentationRpcResponse<KeySetJSON>;
189
189
  }
190
190
  //# sourceMappingURL=PresentationRpcInterface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/PresentationRpcInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresentationRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/PresentationRpcInterface.ts"],"names":[],"mappings":"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"}
@@ -26,33 +26,33 @@ let PresentationRpcInterface = class PresentationRpcInterface extends RpcInterfa
26
26
  NOTE: Any add/remove/change to the methods below requires an update of the interface version.
27
27
  NOTE: Please consult the README in core/common/src/rpc for the semantic versioning rules.
28
28
  ===========================================================================================*/
29
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
29
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
30
30
  async getNodesCount(_token, _options) {
31
31
  return this.forward(arguments);
32
32
  }
33
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
33
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
34
34
  async getPagedNodes(_token, _options) {
35
35
  return deepReplaceNullsToUndefined(await this.forward(arguments));
36
36
  }
37
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
37
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
38
38
  async getNodesDescriptor(_token, _options) {
39
39
  return deepReplaceNullsToUndefined(await this.forward(arguments));
40
40
  }
41
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
41
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
42
42
  // TODO: add paged version of this (#387280)
43
43
  async getNodePaths(_token, _options) {
44
44
  return deepReplaceNullsToUndefined(await this.forward(arguments));
45
45
  }
46
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
46
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
47
47
  // TODO: add paged version of this (#387280)
48
48
  async getFilteredNodePaths(_token, _options) {
49
49
  return deepReplaceNullsToUndefined(await this.forward(arguments));
50
50
  }
51
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
51
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
52
52
  async getContentSources(_token, _options) {
53
53
  return deepReplaceNullsToUndefined(await this.forward(arguments));
54
54
  }
55
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
55
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
56
56
  async getContentDescriptor(_token, _options) {
57
57
  const response = await this.forward(arguments);
58
58
  return {
@@ -60,11 +60,11 @@ let PresentationRpcInterface = class PresentationRpcInterface extends RpcInterfa
60
60
  ...(response.result ? { result: JSON.parse(response.result) } : {}),
61
61
  };
62
62
  }
63
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
63
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
64
64
  async getContentSetSize(_token, _options) {
65
65
  return this.forward(arguments);
66
66
  }
67
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
67
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
68
68
  async getPagedContent(_token, _options) {
69
69
  const rpcResponse = await this.forward(arguments);
70
70
  return {
@@ -74,36 +74,36 @@ let PresentationRpcInterface = class PresentationRpcInterface extends RpcInterfa
74
74
  : {}),
75
75
  };
76
76
  }
77
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
77
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
78
78
  async getPagedContentSet(_token, _options) {
79
79
  return deepReplaceNullsToUndefined(await this.forward(arguments));
80
80
  }
81
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
81
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
82
82
  async getElementProperties(_token, _options) {
83
83
  return deepReplaceNullsToUndefined(await this.forward(arguments));
84
84
  }
85
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
85
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
86
86
  async getPagedDistinctValues(_token, _options) {
87
87
  return deepReplaceNullsToUndefined(await this.forward(arguments));
88
88
  }
89
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
89
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
90
90
  async getContentInstanceKeys(_token, _options) {
91
91
  return this.forward(arguments);
92
92
  }
93
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
93
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
94
94
  async getDisplayLabelDefinition(_token, _options) {
95
95
  return deepReplaceNullsToUndefined(await this.forward(arguments));
96
96
  }
97
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
97
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
98
98
  async getPagedDisplayLabelDefinitions(_token, _options) {
99
99
  return deepReplaceNullsToUndefined(await this.forward(arguments));
100
100
  }
101
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
101
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
102
102
  // eslint-disable-next-line @typescript-eslint/no-deprecated
103
103
  async getSelectionScopes(_token, _options) {
104
104
  return this.forward(arguments);
105
105
  }
106
- /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
106
+ /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
107
107
  // eslint-disable-next-line @typescript-eslint/no-deprecated
108
108
  async computeSelection(_token, _options) {
109
109
  return this.forward(arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationRpcInterface.js","sourceRoot":"","sources":["../../../src/presentation-common/PresentationRpcInterface.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 RPC\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\nimport { IModelRpcProps, RpcInterface, RpcOperation } from \"@itwin/core-common\";\nimport { DescriptorJSON, DescriptorOverrides, SelectClassInfoJSON } from \"./content/Descriptor.js\";\nimport { ItemJSON } from \"./content/Item.js\";\nimport { DisplayValueGroup } from \"./content/Value.js\";\nimport { ClientDiagnostics, ClientDiagnosticsOptions } from \"./Diagnostics.js\";\nimport { CompressedClassInfoJSON, InstanceKey } from \"./EC.js\";\nimport { ElementProperties } from \"./ElementProperties.js\";\nimport { PresentationStatus } from \"./Error.js\";\nimport { NodeKey } from \"./hierarchy/Key.js\";\nimport { Node } from \"./hierarchy/Node.js\";\nimport { NodePathElement } from \"./hierarchy/NodePathElement.js\";\nimport { KeySetJSON } from \"./KeySet.js\";\nimport { LabelDefinition } from \"./LabelDefinition.js\";\nimport {\n ComputeSelectionRequestOptions,\n ContentDescriptorRequestOptions,\n ContentInstanceKeysRequestOptions,\n ContentRequestOptions,\n ContentSourcesRequestOptions,\n DisplayLabelRequestOptions,\n DisplayLabelsRequestOptions,\n DistinctValuesRequestOptions,\n FilterByInstancePathsHierarchyRequestOptions,\n FilterByTextHierarchyRequestOptions,\n HierarchyLevelDescriptorRequestOptions,\n HierarchyRequestOptions,\n Paged,\n SelectionScopeRequestOptions,\n SingleElementPropertiesRequestOptions,\n} from \"./PresentationManagerOptions.js\";\nimport { RulesetVariableJSON } from \"./RulesetVariables.js\";\nimport { SelectionScope } from \"./selection/SelectionScope.js\";\nimport { deepReplaceNullsToUndefined, Omit, PagedResponse } from \"./Utils.js\";\n\n/**\n * Base options for all presentation RPC requests.\n * @public\n */\nexport type PresentationRpcRequestOptions<TManagerRequestOptions> = Omit<TManagerRequestOptions, \"imodel\" | \"diagnostics\"> & {\n /** @internal ID of the client requesting data */\n clientId?: string;\n /** RPC request diagnostics options. */\n diagnostics?: RpcDiagnosticsOptions;\n};\n\n/**\n * Data structure for presentation RPC responses\n * @public\n */\nexport interface PresentationRpcResponseData<TResult = undefined> {\n /** Response status code */\n statusCode: PresentationStatus;\n /** In case of an error response, the error message */\n errorMessage?: string;\n /** In case of a success response, the result */\n result?: TResult;\n /** Diagnostics response. */\n diagnostics?: ClientDiagnostics;\n}\n\n/**\n * Data structure for RPC diagnostics options.\n * @public\n */\nexport type RpcDiagnosticsOptions = Omit<ClientDiagnosticsOptions, \"handler\">;\n\n/**\n * A promise of [[PresentationRpcResponseData]].\n * @public\n */\nexport type PresentationRpcResponse<TResult = undefined> = Promise<PresentationRpcResponseData<TResult>>;\n\n/**\n * Data structure for hierarchy request options.\n * @public\n */\nexport type HierarchyRpcRequestOptions = PresentationRpcRequestOptions<HierarchyRequestOptions<never, NodeKey, RulesetVariableJSON>>;\n\n/**\n * Data structure for hierarchy level descriptor RPC request options.\n * @public\n */\nexport type HierarchyLevelDescriptorRpcRequestOptions = PresentationRpcRequestOptions<\n HierarchyLevelDescriptorRequestOptions<never, NodeKey, RulesetVariableJSON>\n>;\n\n/**\n * Data structure for filtering hierarchy by ECInstance paths request options.\n * @public\n */\nexport type FilterByInstancePathsHierarchyRpcRequestOptions = PresentationRpcRequestOptions<\n FilterByInstancePathsHierarchyRequestOptions<never, RulesetVariableJSON>\n>;\n\n/**\n * Data structure for filtering hierarchy by text request options.\n * @public\n */\nexport type FilterByTextHierarchyRpcRequestOptions = PresentationRpcRequestOptions<FilterByTextHierarchyRequestOptions<never, RulesetVariableJSON>>;\n\n/**\n * Data structure for content sources RPC request options.\n * @public\n */\nexport type ContentSourcesRpcRequestOptions = PresentationRpcRequestOptions<ContentSourcesRequestOptions<never>>;\n/**\n * Data structure for content sources RPC response.\n * @public\n */\nexport interface ContentSourcesRpcResult {\n /** A list of objects containing content source information. */\n sources: SelectClassInfoJSON<Id64String>[];\n /** An `ECClassId` => [[CompressedClassInfoJSON]] map for deserializing [[sources]]. */\n classesMap: { [id: string]: CompressedClassInfoJSON };\n}\n\n/**\n * Data structure for content descriptor RPC request options.\n * @public\n */\nexport type ContentDescriptorRpcRequestOptions = PresentationRpcRequestOptions<ContentDescriptorRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\n\n/**\n * Data structure for content RPC request options.\n * @public\n */\nexport type ContentRpcRequestOptions = PresentationRpcRequestOptions<ContentRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>>;\n\n/**\n * Data structure for single element properties RPC request options.\n * @public\n */\nexport type SingleElementPropertiesRpcRequestOptions = PresentationRpcRequestOptions<\n Omit<SingleElementPropertiesRequestOptions<never, never>, \"contentParser\">\n>;\n\n/**\n * Data structure for distinct values' request options.\n * @public\n */\nexport type DistinctValuesRpcRequestOptions = PresentationRpcRequestOptions<\n DistinctValuesRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>\n>;\n\n/**\n * Data structure for content instance keys' request options.\n * @public\n */\nexport type ContentInstanceKeysRpcRequestOptions = PresentationRpcRequestOptions<ContentInstanceKeysRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\n\n/**\n * Data structure for label request options.\n * @public\n */\nexport type DisplayLabelRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelRequestOptions<never, InstanceKey>>;\n\n/**\n * Data structure for labels request options.\n * @public\n */\nexport type DisplayLabelsRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelsRequestOptions<never, InstanceKey>>;\n\n/**\n * Data structure for selection scope request options.\n * @public\n * @deprecated in 5.0. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\n */\nexport type SelectionScopeRpcRequestOptions = PresentationRpcRequestOptions<SelectionScopeRequestOptions<never>>;\n\n/**\n * Request options data structure for computing selection based on given selection scope and element IDs.\n * @public\n * @deprecated in 5.0. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\n */\nexport type ComputeSelectionRpcRequestOptions = PresentationRpcRequestOptions<ComputeSelectionRequestOptions<never>>;\n\n/**\n * Interface used for communication between Presentation backend and frontend.\n * @public\n */\n@RpcOperation.setDefaultPolicy({ retryInterval: () => 0 })\nexport class PresentationRpcInterface extends RpcInterface {\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"PresentationRpcInterface\";\n\n /** The semantic version of the interface. */\n public static interfaceVersion = \"5.0.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in core/common/src/rpc for the semantic versioning rules.\n ===========================================================================================*/\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getNodesCount(_token: IModelRpcProps, _options: HierarchyRpcRequestOptions): PresentationRpcResponse<number> {\n return this.forward(arguments);\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getPagedNodes(_token: IModelRpcProps, _options: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<Node>> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getNodesDescriptor(\n _token: IModelRpcProps,\n _options: HierarchyLevelDescriptorRpcRequestOptions,\n ): PresentationRpcResponse<string | DescriptorJSON | undefined> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n // TODO: add paged version of this (#387280)\n public async getNodePaths(_token: IModelRpcProps, _options: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n // TODO: add paged version of this (#387280)\n public async getFilteredNodePaths(_token: IModelRpcProps, _options: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getContentSources(_token: IModelRpcProps, _options: ContentSourcesRpcRequestOptions): PresentationRpcResponse<ContentSourcesRpcResult> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getContentDescriptor(_token: IModelRpcProps, _options: ContentDescriptorRpcRequestOptions): PresentationRpcResponse<DescriptorJSON | undefined> {\n const response: PresentationRpcResponseData<string | undefined> = await this.forward(arguments);\n return {\n ...response,\n ...(response.result ? { result: JSON.parse(response.result) } : {}),\n };\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getContentSetSize(_token: IModelRpcProps, _options: ContentRpcRequestOptions): PresentationRpcResponse<number> {\n return this.forward(arguments);\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getPagedContent(\n _token: IModelRpcProps,\n _options: Paged<ContentRpcRequestOptions>,\n ): PresentationRpcResponse<{ descriptor: DescriptorJSON; contentSet: PagedResponse<ItemJSON> } | undefined> {\n const rpcResponse = await this.forward(arguments);\n return {\n ...rpcResponse,\n ...(rpcResponse.result\n ? /* c8 ignore next */ { result: { ...rpcResponse.result, contentSet: deepReplaceNullsToUndefined(rpcResponse.result.contentSet) } }\n : {}),\n };\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getPagedContentSet(_token: IModelRpcProps, _options: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<PagedResponse<ItemJSON>> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getElementProperties(\n _token: IModelRpcProps,\n _options: SingleElementPropertiesRpcRequestOptions,\n ): PresentationRpcResponse<ElementProperties | undefined> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getPagedDistinctValues(\n _token: IModelRpcProps,\n _options: DistinctValuesRpcRequestOptions,\n ): PresentationRpcResponse<PagedResponse<DisplayValueGroup>> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getContentInstanceKeys(\n _token: IModelRpcProps,\n _options: ContentInstanceKeysRpcRequestOptions,\n ): PresentationRpcResponse<{ total: number; items: KeySetJSON }> {\n return this.forward(arguments);\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getDisplayLabelDefinition(_token: IModelRpcProps, _options: DisplayLabelRpcRequestOptions): PresentationRpcResponse<LabelDefinition> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n public async getPagedDisplayLabelDefinitions(\n _token: IModelRpcProps,\n _options: DisplayLabelsRpcRequestOptions,\n ): PresentationRpcResponse<PagedResponse<LabelDefinition>> {\n return deepReplaceNullsToUndefined(await this.forward(arguments));\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public async getSelectionScopes(_token: IModelRpcProps, _options: SelectionScopeRpcRequestOptions): PresentationRpcResponse<SelectionScope[]> {\n return this.forward(arguments);\n }\n\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public async computeSelection(_token: IModelRpcProps, _options: ComputeSelectionRpcRequestOptions): PresentationRpcResponse<KeySetJSON> {\n return this.forward(arguments);\n }\n}\n"]}
1
+ {"version":3,"file":"PresentationRpcInterface.js","sourceRoot":"","sources":["../../../src/presentation-common/PresentationRpcInterface.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RPC\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps, RpcInterface, RpcOperation } from \"@itwin/core-common\";\r\nimport { DescriptorJSON, DescriptorOverrides, SelectClassInfoJSON } from \"./content/Descriptor.js\";\r\nimport { ItemJSON } from \"./content/Item.js\";\r\nimport { DisplayValueGroup } from \"./content/Value.js\";\r\nimport { ClientDiagnostics, ClientDiagnosticsOptions } from \"./Diagnostics.js\";\r\nimport { CompressedClassInfoJSON, InstanceKey } from \"./EC.js\";\r\nimport { ElementProperties } from \"./ElementProperties.js\";\r\nimport { PresentationStatus } from \"./Error.js\";\r\nimport { NodeKey } from \"./hierarchy/Key.js\";\r\nimport { Node } from \"./hierarchy/Node.js\";\r\nimport { NodePathElement } from \"./hierarchy/NodePathElement.js\";\r\nimport { KeySetJSON } from \"./KeySet.js\";\r\nimport { LabelDefinition } from \"./LabelDefinition.js\";\r\nimport {\r\n ComputeSelectionRequestOptions,\r\n ContentDescriptorRequestOptions,\r\n ContentInstanceKeysRequestOptions,\r\n ContentRequestOptions,\r\n ContentSourcesRequestOptions,\r\n DisplayLabelRequestOptions,\r\n DisplayLabelsRequestOptions,\r\n DistinctValuesRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions,\r\n FilterByTextHierarchyRequestOptions,\r\n HierarchyLevelDescriptorRequestOptions,\r\n HierarchyRequestOptions,\r\n Paged,\r\n SelectionScopeRequestOptions,\r\n SingleElementPropertiesRequestOptions,\r\n} from \"./PresentationManagerOptions.js\";\r\nimport { RulesetVariableJSON } from \"./RulesetVariables.js\";\r\nimport { SelectionScope } from \"./selection/SelectionScope.js\";\r\nimport { deepReplaceNullsToUndefined, Omit, PagedResponse } from \"./Utils.js\";\r\n\r\n/**\r\n * Base options for all presentation RPC requests.\r\n * @public\r\n */\r\nexport type PresentationRpcRequestOptions<TManagerRequestOptions> = Omit<TManagerRequestOptions, \"imodel\" | \"diagnostics\"> & {\r\n /** @internal ID of the client requesting data */\r\n clientId?: string;\r\n /** RPC request diagnostics options. */\r\n diagnostics?: RpcDiagnosticsOptions;\r\n};\r\n\r\n/**\r\n * Data structure for presentation RPC responses\r\n * @public\r\n */\r\nexport interface PresentationRpcResponseData<TResult = undefined> {\r\n /** Response status code */\r\n statusCode: PresentationStatus;\r\n /** In case of an error response, the error message */\r\n errorMessage?: string;\r\n /** In case of a success response, the result */\r\n result?: TResult;\r\n /** Diagnostics response. */\r\n diagnostics?: ClientDiagnostics;\r\n}\r\n\r\n/**\r\n * Data structure for RPC diagnostics options.\r\n * @public\r\n */\r\nexport type RpcDiagnosticsOptions = Omit<ClientDiagnosticsOptions, \"handler\">;\r\n\r\n/**\r\n * A promise of [[PresentationRpcResponseData]].\r\n * @public\r\n */\r\nexport type PresentationRpcResponse<TResult = undefined> = Promise<PresentationRpcResponseData<TResult>>;\r\n\r\n/**\r\n * Data structure for hierarchy request options.\r\n * @public\r\n */\r\nexport type HierarchyRpcRequestOptions = PresentationRpcRequestOptions<HierarchyRequestOptions<never, NodeKey, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for hierarchy level descriptor RPC request options.\r\n * @public\r\n */\r\nexport type HierarchyLevelDescriptorRpcRequestOptions = PresentationRpcRequestOptions<\r\n HierarchyLevelDescriptorRequestOptions<never, NodeKey, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for filtering hierarchy by ECInstance paths request options.\r\n * @public\r\n */\r\nexport type FilterByInstancePathsHierarchyRpcRequestOptions = PresentationRpcRequestOptions<\r\n FilterByInstancePathsHierarchyRequestOptions<never, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for filtering hierarchy by text request options.\r\n * @public\r\n */\r\nexport type FilterByTextHierarchyRpcRequestOptions = PresentationRpcRequestOptions<FilterByTextHierarchyRequestOptions<never, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for content sources RPC request options.\r\n * @public\r\n */\r\nexport type ContentSourcesRpcRequestOptions = PresentationRpcRequestOptions<ContentSourcesRequestOptions<never>>;\r\n/**\r\n * Data structure for content sources RPC response.\r\n * @public\r\n */\r\nexport interface ContentSourcesRpcResult {\r\n /** A list of objects containing content source information. */\r\n sources: SelectClassInfoJSON<Id64String>[];\r\n /** An `ECClassId` => [[CompressedClassInfoJSON]] map for deserializing [[sources]]. */\r\n classesMap: { [id: string]: CompressedClassInfoJSON };\r\n}\r\n\r\n/**\r\n * Data structure for content descriptor RPC request options.\r\n * @public\r\n */\r\nexport type ContentDescriptorRpcRequestOptions = PresentationRpcRequestOptions<ContentDescriptorRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for content RPC request options.\r\n * @public\r\n */\r\nexport type ContentRpcRequestOptions = PresentationRpcRequestOptions<ContentRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for single element properties RPC request options.\r\n * @public\r\n */\r\nexport type SingleElementPropertiesRpcRequestOptions = PresentationRpcRequestOptions<\r\n Omit<SingleElementPropertiesRequestOptions<never, never>, \"contentParser\">\r\n>;\r\n\r\n/**\r\n * Data structure for distinct values' request options.\r\n * @public\r\n */\r\nexport type DistinctValuesRpcRequestOptions = PresentationRpcRequestOptions<\r\n DistinctValuesRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for content instance keys' request options.\r\n * @public\r\n */\r\nexport type ContentInstanceKeysRpcRequestOptions = PresentationRpcRequestOptions<ContentInstanceKeysRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for label request options.\r\n * @public\r\n */\r\nexport type DisplayLabelRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelRequestOptions<never, InstanceKey>>;\r\n\r\n/**\r\n * Data structure for labels request options.\r\n * @public\r\n */\r\nexport type DisplayLabelsRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelsRequestOptions<never, InstanceKey>>;\r\n\r\n/**\r\n * Data structure for selection scope request options.\r\n * @public\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport type SelectionScopeRpcRequestOptions = PresentationRpcRequestOptions<SelectionScopeRequestOptions<never>>;\r\n\r\n/**\r\n * Request options data structure for computing selection based on given selection scope and element IDs.\r\n * @public\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport type ComputeSelectionRpcRequestOptions = PresentationRpcRequestOptions<ComputeSelectionRequestOptions<never>>;\r\n\r\n/**\r\n * Interface used for communication between Presentation backend and frontend.\r\n * @public\r\n */\r\n@RpcOperation.setDefaultPolicy({ retryInterval: () => 0 })\r\nexport class PresentationRpcInterface extends RpcInterface {\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"PresentationRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"5.0.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in core/common/src/rpc for the semantic versioning rules.\r\n ===========================================================================================*/\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getNodesCount(_token: IModelRpcProps, _options: HierarchyRpcRequestOptions): PresentationRpcResponse<number> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedNodes(_token: IModelRpcProps, _options: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<Node>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getNodesDescriptor(\r\n _token: IModelRpcProps,\r\n _options: HierarchyLevelDescriptorRpcRequestOptions,\r\n ): PresentationRpcResponse<string | DescriptorJSON | undefined> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // TODO: add paged version of this (#387280)\r\n public async getNodePaths(_token: IModelRpcProps, _options: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // TODO: add paged version of this (#387280)\r\n public async getFilteredNodePaths(_token: IModelRpcProps, _options: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentSources(_token: IModelRpcProps, _options: ContentSourcesRpcRequestOptions): PresentationRpcResponse<ContentSourcesRpcResult> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentDescriptor(_token: IModelRpcProps, _options: ContentDescriptorRpcRequestOptions): PresentationRpcResponse<DescriptorJSON | undefined> {\r\n const response: PresentationRpcResponseData<string | undefined> = await this.forward(arguments);\r\n return {\r\n ...response,\r\n ...(response.result ? { result: JSON.parse(response.result) } : {}),\r\n };\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentSetSize(_token: IModelRpcProps, _options: ContentRpcRequestOptions): PresentationRpcResponse<number> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedContent(\r\n _token: IModelRpcProps,\r\n _options: Paged<ContentRpcRequestOptions>,\r\n ): PresentationRpcResponse<{ descriptor: DescriptorJSON; contentSet: PagedResponse<ItemJSON> } | undefined> {\r\n const rpcResponse = await this.forward(arguments);\r\n return {\r\n ...rpcResponse,\r\n ...(rpcResponse.result\r\n ? /* c8 ignore next */ { result: { ...rpcResponse.result, contentSet: deepReplaceNullsToUndefined(rpcResponse.result.contentSet) } }\r\n : {}),\r\n };\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedContentSet(_token: IModelRpcProps, _options: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<PagedResponse<ItemJSON>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getElementProperties(\r\n _token: IModelRpcProps,\r\n _options: SingleElementPropertiesRpcRequestOptions,\r\n ): PresentationRpcResponse<ElementProperties | undefined> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedDistinctValues(\r\n _token: IModelRpcProps,\r\n _options: DistinctValuesRpcRequestOptions,\r\n ): PresentationRpcResponse<PagedResponse<DisplayValueGroup>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentInstanceKeys(\r\n _token: IModelRpcProps,\r\n _options: ContentInstanceKeysRpcRequestOptions,\r\n ): PresentationRpcResponse<{ total: number; items: KeySetJSON }> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getDisplayLabelDefinition(_token: IModelRpcProps, _options: DisplayLabelRpcRequestOptions): PresentationRpcResponse<LabelDefinition> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedDisplayLabelDefinitions(\r\n _token: IModelRpcProps,\r\n _options: DisplayLabelsRpcRequestOptions,\r\n ): PresentationRpcResponse<PagedResponse<LabelDefinition>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async getSelectionScopes(_token: IModelRpcProps, _options: SelectionScopeRpcRequestOptions): PresentationRpcResponse<SelectionScope[]> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async computeSelection(_token: IModelRpcProps, _options: ComputeSelectionRpcRequestOptions): PresentationRpcResponse<KeySetJSON> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n"]}
@@ -16,7 +16,7 @@ export declare class RegisteredRuleset implements Disposable, Ruleset {
16
16
  constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void);
17
17
  /** Dispose registered ruleset. */
18
18
  [Symbol.dispose](): void;
19
- /** @deprecated in 5.0 Use [Symbol.dispose] instead. */
19
+ /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
20
20
  dispose(): void;
21
21
  get uniqueIdentifier(): string;
22
22
  get id(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"RegisteredRuleset.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU,EAAE,OAAO;IAC3D,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuC;IAE3D,kCAAkC;gBACf,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAMhH,kCAAkC;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;IAIvB,uDAAuD;IAEhD,OAAO;IAId,IAAW,gBAAgB,WAE1B;IACD,IAAW,EAAE,IAAI,MAAM,CAEtB;IACD,IAAW,mBAAmB,IAAI,mBAAmB,GAAG,SAAS,CAEhE;IACD,IAAW,KAAK,IAAI,IAAI,EAAE,CAEzB;IACD,IAAW,IAAI,IAAI,cAAc,EAAE,GAAG,SAAS,CAE9C;IACM,MAAM,IAAI,OAAO;CAGzB"}
1
+ {"version":3,"file":"RegisteredRuleset.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU,EAAE,OAAO;IAC3D,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuC;IAE3D,kCAAkC;gBACf,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAMhH,kCAAkC;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;IAIvB,qGAAqG;IAE9F,OAAO;IAId,IAAW,gBAAgB,WAE1B;IACD,IAAW,EAAE,IAAI,MAAM,CAEtB;IACD,IAAW,mBAAmB,IAAI,mBAAmB,GAAG,SAAS,CAEhE;IACD,IAAW,KAAK,IAAI,IAAI,EAAE,CAEzB;IACD,IAAW,IAAI,IAAI,cAAc,EAAE,GAAG,SAAS,CAE9C;IACM,MAAM,IAAI,OAAO;CAGzB"}
@@ -23,7 +23,7 @@ export class RegisteredRuleset {
23
23
  [Symbol.dispose]() {
24
24
  this._disposeFunc(this);
25
25
  }
26
- /** @deprecated in 5.0 Use [Symbol.dispose] instead. */
26
+ /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */
27
27
  /* c8 ignore next 3 */
28
28
  dispose() {
29
29
  this[Symbol.dispose]();
@@ -1 +1 @@
1
- {"version":3,"file":"RegisteredRuleset.js","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,QAAQ,CAAU;IAClB,iBAAiB,CAAS;IAC1B,YAAY,CAAuC;IAE3D,kCAAkC;IAClC,YAAmB,OAAgB,EAAE,gBAAwB,EAAE,WAAiD;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,uDAAuD;IACvD,sBAAsB;IACf,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC3C,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF","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 { Rule } from \"./rules/Rule.js\";\nimport { Ruleset, SupplementationInfo } from \"./rules/Ruleset.js\";\nimport { VariablesGroup } from \"./rules/Variables.js\";\n\n/**\n * A ruleset that is registered in a ruleset manager.\n * @public\n */\nexport class RegisteredRuleset implements Disposable, Ruleset {\n private _ruleset: Ruleset;\n private _uniqueIdentifier: string;\n private _disposeFunc: (ruleset: RegisteredRuleset) => void;\n\n /** Create a registered ruleset */\n public constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void) {\n this._disposeFunc = disposeFunc;\n this._ruleset = ruleset;\n this._uniqueIdentifier = uniqueIdentifier;\n }\n\n /** Dispose registered ruleset. */\n public [Symbol.dispose]() {\n this._disposeFunc(this);\n }\n\n /** @deprecated in 5.0 Use [Symbol.dispose] instead. */\n /* c8 ignore next 3 */\n public dispose() {\n this[Symbol.dispose]();\n }\n\n public get uniqueIdentifier() {\n return this._uniqueIdentifier;\n }\n public get id(): string {\n return this._ruleset.id;\n }\n public get supplementationInfo(): SupplementationInfo | undefined {\n return this._ruleset.supplementationInfo;\n }\n public get rules(): Rule[] {\n return this._ruleset.rules;\n }\n public get vars(): VariablesGroup[] | undefined {\n return this._ruleset.vars;\n }\n public toJSON(): Ruleset {\n return this._ruleset;\n }\n}\n"]}
1
+ {"version":3,"file":"RegisteredRuleset.js","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,QAAQ,CAAU;IAClB,iBAAiB,CAAS;IAC1B,YAAY,CAAuC;IAE3D,kCAAkC;IAClC,YAAmB,OAAgB,EAAE,gBAAwB,EAAE,WAAiD;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,qGAAqG;IACrG,sBAAsB;IACf,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC3C,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { Rule } from \"./rules/Rule.js\";\r\nimport { Ruleset, SupplementationInfo } from \"./rules/Ruleset.js\";\r\nimport { VariablesGroup } from \"./rules/Variables.js\";\r\n\r\n/**\r\n * A ruleset that is registered in a ruleset manager.\r\n * @public\r\n */\r\nexport class RegisteredRuleset implements Disposable, Ruleset {\r\n private _ruleset: Ruleset;\r\n private _uniqueIdentifier: string;\r\n private _disposeFunc: (ruleset: RegisteredRuleset) => void;\r\n\r\n /** Create a registered ruleset */\r\n public constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void) {\r\n this._disposeFunc = disposeFunc;\r\n this._ruleset = ruleset;\r\n this._uniqueIdentifier = uniqueIdentifier;\r\n }\r\n\r\n /** Dispose registered ruleset. */\r\n public [Symbol.dispose]() {\r\n this._disposeFunc(this);\r\n }\r\n\r\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\r\n /* c8 ignore next 3 */\r\n public dispose() {\r\n this[Symbol.dispose]();\r\n }\r\n\r\n public get uniqueIdentifier() {\r\n return this._uniqueIdentifier;\r\n }\r\n public get id(): string {\r\n return this._ruleset.id;\r\n }\r\n public get supplementationInfo(): SupplementationInfo | undefined {\r\n return this._ruleset.supplementationInfo;\r\n }\r\n public get rules(): Rule[] {\r\n return this._ruleset.rules;\r\n }\r\n public get vars(): VariablesGroup[] | undefined {\r\n return this._ruleset.vars;\r\n }\r\n public toJSON(): Ruleset {\r\n return this._ruleset;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRequestsHandler.js","sourceRoot":"","sources":["../../../src/presentation-common/RpcRequestsHandler.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 RPC\n */\n\nimport { Guid, Logger } from \"@itwin/core-bentley\";\nimport { IModelRpcProps, RpcManager, RpcRequest } from \"@itwin/core-common\";\nimport { PresentationCommonLoggerCategory } from \"./CommonLoggerCategory.js\";\nimport { DescriptorJSON, DescriptorOverrides } from \"./content/Descriptor.js\";\nimport { ItemJSON } from \"./content/Item.js\";\nimport { ClientDiagnostics, ClientDiagnosticsAttribute, ClientDiagnosticsHandler } from \"./Diagnostics.js\";\nimport { InstanceKey } from \"./EC.js\";\nimport { PresentationError, PresentationStatus } from \"./Error.js\";\nimport { NodeKey } from \"./hierarchy/Key.js\";\nimport { Node } from \"./hierarchy/Node.js\";\nimport { KeySetJSON } from \"./KeySet.js\";\nimport { LabelDefinition } from \"./LabelDefinition.js\";\nimport {\n ComputeSelectionRequestOptions,\n ContentDescriptorRequestOptions,\n ContentInstanceKeysRequestOptions,\n ContentRequestOptions,\n ContentSourcesRequestOptions,\n DisplayLabelRequestOptions,\n DisplayLabelsRequestOptions,\n DistinctValuesRequestOptions,\n FilterByInstancePathsHierarchyRequestOptions,\n FilterByTextHierarchyRequestOptions,\n HierarchyLevelDescriptorRequestOptions,\n HierarchyRequestOptions,\n Paged,\n RequestOptions,\n RequestOptionsWithRuleset,\n SelectionScopeRequestOptions,\n} from \"./PresentationManagerOptions.js\";\nimport { ContentSourcesRpcResult, PresentationRpcInterface, PresentationRpcRequestOptions, PresentationRpcResponse } from \"./PresentationRpcInterface.js\";\nimport { Ruleset } from \"./rules/Ruleset.js\";\nimport { RulesetVariableJSON } from \"./RulesetVariables.js\";\nimport { SelectionScope } from \"./selection/SelectionScope.js\";\nimport { createCancellableTimeoutPromise, PagedResponse } from \"./Utils.js\";\nimport { NodePathElement } from \"./hierarchy/NodePathElement.js\";\nimport { DisplayValueGroup } from \"./content/Value.js\";\n\n/**\n * Default timeout for how long we're going to wait for RPC request to be fulfilled before throwing\n * a timeout error.\n */\nconst DEFAULT_REQUEST_TIMEOUT = 10 * 60 * 1000; // 10 minutes\n\n/**\n * Configuration parameters for [[RpcRequestsHandler]].\n *\n * @internal\n */\nexport interface RpcRequestsHandlerProps {\n /**\n * Optional ID used to identify client that requests data. If not specified,\n * the handler creates a unique GUID as a client id.\n * @internal\n */\n clientId?: string;\n\n /** @internal */\n timeout?: number;\n}\n\n/**\n * RPC requests handler that wraps [[PresentationRpcInterface]] and\n * adds handling for cases when backend needs to be synced with client\n * state.\n *\n * @internal\n */\nexport class RpcRequestsHandler {\n /** Timeout for how long the handler going to wait for RPC request to be fulfilled before throwing a timeout error. */\n public readonly timeout: number;\n\n /** ID that identifies this handler as a client */\n public readonly clientId: string;\n\n public constructor(props?: RpcRequestsHandlerProps) {\n this.clientId = props?.clientId ?? Guid.createValue();\n this.timeout = props?.timeout ?? DEFAULT_REQUEST_TIMEOUT;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private get rpcClient(): PresentationRpcInterface {\n return RpcManager.getClientForInterface(PresentationRpcInterface);\n }\n\n private async requestWithTimeout<TResult>(func: () => PresentationRpcResponse<TResult>, diagnosticsHandler?: ClientDiagnosticsHandler): Promise<TResult> {\n const rpcResponsePromise = func();\n const rpcRequest: RpcRequest | undefined = RpcRequest.current(this.rpcClient);\n const timeout = createCancellableTimeoutPromise(this.timeout);\n return Promise.race([\n (async () => {\n let diagnostics: ClientDiagnostics | undefined;\n try {\n const response = await rpcResponsePromise;\n diagnostics = response.diagnostics;\n switch (response.statusCode) {\n case PresentationStatus.Success:\n return response.result!;\n default:\n throw new PresentationError(response.statusCode, response.errorMessage);\n }\n } finally {\n diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);\n }\n })(),\n timeout.promise.then(() => {\n throw new Error(`Processing the request took longer than the configured limit of ${this.timeout} ms`);\n }),\n ]).finally(() => {\n rpcRequest?.cancel();\n timeout.cancel();\n });\n }\n\n /**\n * Send the request to backend. We'll wait for the response for `this.timeout` ms, and if we don't get the response by\n * then, we'll throw an error.\n */\n public async request<TResult, TOptions extends RequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute, TArg = any>(\n func: (token: IModelRpcProps, options: PresentationRpcRequestOptions<TOptions>, ...args: TArg[]) => PresentationRpcResponse<TResult>,\n options: TOptions,\n ...additionalOptions: TArg[]\n ): Promise<TResult> {\n const { imodel, diagnostics, ...optionsNoIModel } = options;\n const { handler: diagnosticsHandler, ...diagnosticsOptions } = diagnostics ?? {};\n if (isOptionsWithRuleset(optionsNoIModel)) {\n optionsNoIModel.rulesetOrId = cleanupRuleset(optionsNoIModel.rulesetOrId);\n }\n const rpcOptions: PresentationRpcRequestOptions<TOptions> = {\n ...optionsNoIModel,\n clientId: this.clientId,\n };\n if (diagnostics) {\n rpcOptions.diagnostics = diagnosticsOptions;\n }\n const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);\n const result = await this.requestWithTimeout(doRequest, diagnosticsHandler);\n return result;\n }\n\n public async getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<number, typeof options>(this.rpcClient.getNodesCount.bind(this.rpcClient), options);\n }\n\n public async getPagedNodes(\n options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute,\n ): Promise<PagedResponse<Node>> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<PagedResponse<Node>, typeof options>(this.rpcClient.getPagedNodes.bind(this.rpcClient), options);\n }\n\n public async getNodesDescriptor(\n options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<DescriptorJSON | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const response = await this.request<string | DescriptorJSON | undefined, typeof options>(this.rpcClient.getNodesDescriptor.bind(this.rpcClient), options);\n if (typeof response === \"string\") {\n return JSON.parse(response);\n }\n return response;\n }\n\n public async getNodePaths(\n options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<NodePathElement[]> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<NodePathElement[], typeof options>(this.rpcClient.getNodePaths.bind(this.rpcClient), options);\n }\n\n public async getFilteredNodePaths(\n options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<NodePathElement[]> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<NodePathElement[], typeof options>(this.rpcClient.getFilteredNodePaths.bind(this.rpcClient), options);\n }\n\n public async getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<ContentSourcesRpcResult, typeof options>(this.rpcClient.getContentSources.bind(this.rpcClient), options);\n }\n public async getContentDescriptor(\n options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<DescriptorJSON | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<DescriptorJSON | undefined, typeof options>(this.rpcClient.getContentDescriptor.bind(this.rpcClient), options);\n }\n public async getContentSetSize(\n options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<number> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<number, typeof options>(this.rpcClient.getContentSetSize.bind(this.rpcClient), options);\n }\n public async getPagedContent(\n options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>,\n ) {\n return this.request<{ descriptor: DescriptorJSON; contentSet: PagedResponse<ItemJSON> } | undefined, typeof options>(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.rpcClient.getPagedContent.bind(this.rpcClient),\n options,\n );\n }\n public async getPagedContentSet(\n options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>,\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<PagedResponse<ItemJSON>, typeof options>(this.rpcClient.getPagedContentSet.bind(this.rpcClient), options);\n }\n\n public async getPagedDistinctValues(\n options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<PagedResponse<DisplayValueGroup>> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<PagedResponse<DisplayValueGroup>, typeof options>(this.rpcClient.getPagedDistinctValues.bind(this.rpcClient), options);\n }\n\n public async getContentInstanceKeys(\n options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\n ): Promise<{ total: number; items: KeySetJSON }> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<{ total: number; items: KeySetJSON }, typeof options>(this.rpcClient.getContentInstanceKeys.bind(this.rpcClient), options);\n }\n\n public async getDisplayLabelDefinition(\n options: DisplayLabelRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute,\n ): Promise<LabelDefinition> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<LabelDefinition, typeof options>(this.rpcClient.getDisplayLabelDefinition.bind(this.rpcClient), options);\n }\n public async getPagedDisplayLabelDefinitions(\n options: DisplayLabelsRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute,\n ): Promise<PagedResponse<LabelDefinition>> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.request<PagedResponse<LabelDefinition>, typeof options>(this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);\n }\n\n /* eslint-disable @typescript-eslint/no-deprecated */\n public async getSelectionScopes(options: SelectionScopeRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<SelectionScope[]> {\n return this.request<SelectionScope[], typeof options>(this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);\n }\n public async computeSelection(options: ComputeSelectionRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<KeySetJSON> {\n return this.request<KeySetJSON, typeof options>(this.rpcClient.computeSelection.bind(this.rpcClient), options);\n }\n /* eslint-enable @typescript-eslint/no-deprecated */\n}\n\nfunction isOptionsWithRuleset(options: object): options is { rulesetOrId: Ruleset } {\n return typeof (options as RequestOptionsWithRuleset<any, any>).rulesetOrId === \"object\";\n}\n\ntype RulesetWithRequiredProperties = {\n [key in keyof Ruleset]-?: true;\n};\n\nconst RULESET_SUPPORTED_PROPERTIES_OBJ: RulesetWithRequiredProperties = {\n id: true,\n rules: true,\n version: true,\n requiredSchemas: true,\n supplementationInfo: true,\n vars: true,\n};\n\nfunction cleanupRuleset(ruleset: Ruleset): Ruleset {\n const cleanedUpRuleset: Ruleset = { ...ruleset };\n\n for (const propertyKey of Object.keys(cleanedUpRuleset)) {\n if (!RULESET_SUPPORTED_PROPERTIES_OBJ.hasOwnProperty(propertyKey)) {\n if (propertyKey === \"$schema\") {\n delete (cleanedUpRuleset as any)[propertyKey];\n } else {\n Logger.logWarning(\n PresentationCommonLoggerCategory.Package,\n `Provided ruleset contains unrecognized attribute '${propertyKey}'. It either doesn't exist or may be no longer supported.`,\n );\n }\n }\n }\n\n return cleanedUpRuleset;\n}\n"]}
1
+ {"version":3,"file":"RpcRequestsHandler.js","sourceRoot":"","sources":["../../../src/presentation-common/RpcRequestsHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RPC\r\n */\r\n\r\nimport { Guid, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps, RpcManager, RpcRequest } from \"@itwin/core-common\";\r\nimport { PresentationCommonLoggerCategory } from \"./CommonLoggerCategory.js\";\r\nimport { DescriptorJSON, DescriptorOverrides } from \"./content/Descriptor.js\";\r\nimport { ItemJSON } from \"./content/Item.js\";\r\nimport { ClientDiagnostics, ClientDiagnosticsAttribute, ClientDiagnosticsHandler } from \"./Diagnostics.js\";\r\nimport { InstanceKey } from \"./EC.js\";\r\nimport { PresentationError, PresentationStatus } from \"./Error.js\";\r\nimport { NodeKey } from \"./hierarchy/Key.js\";\r\nimport { Node } from \"./hierarchy/Node.js\";\r\nimport { KeySetJSON } from \"./KeySet.js\";\r\nimport { LabelDefinition } from \"./LabelDefinition.js\";\r\nimport {\r\n ComputeSelectionRequestOptions,\r\n ContentDescriptorRequestOptions,\r\n ContentInstanceKeysRequestOptions,\r\n ContentRequestOptions,\r\n ContentSourcesRequestOptions,\r\n DisplayLabelRequestOptions,\r\n DisplayLabelsRequestOptions,\r\n DistinctValuesRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions,\r\n FilterByTextHierarchyRequestOptions,\r\n HierarchyLevelDescriptorRequestOptions,\r\n HierarchyRequestOptions,\r\n Paged,\r\n RequestOptions,\r\n RequestOptionsWithRuleset,\r\n SelectionScopeRequestOptions,\r\n} from \"./PresentationManagerOptions.js\";\r\nimport { ContentSourcesRpcResult, PresentationRpcInterface, PresentationRpcRequestOptions, PresentationRpcResponse } from \"./PresentationRpcInterface.js\";\r\nimport { Ruleset } from \"./rules/Ruleset.js\";\r\nimport { RulesetVariableJSON } from \"./RulesetVariables.js\";\r\nimport { SelectionScope } from \"./selection/SelectionScope.js\";\r\nimport { createCancellableTimeoutPromise, PagedResponse } from \"./Utils.js\";\r\nimport { NodePathElement } from \"./hierarchy/NodePathElement.js\";\r\nimport { DisplayValueGroup } from \"./content/Value.js\";\r\n\r\n/**\r\n * Default timeout for how long we're going to wait for RPC request to be fulfilled before throwing\r\n * a timeout error.\r\n */\r\nconst DEFAULT_REQUEST_TIMEOUT = 10 * 60 * 1000; // 10 minutes\r\n\r\n/**\r\n * Configuration parameters for [[RpcRequestsHandler]].\r\n *\r\n * @internal\r\n */\r\nexport interface RpcRequestsHandlerProps {\r\n /**\r\n * Optional ID used to identify client that requests data. If not specified,\r\n * the handler creates a unique GUID as a client id.\r\n * @internal\r\n */\r\n clientId?: string;\r\n\r\n /** @internal */\r\n timeout?: number;\r\n}\r\n\r\n/**\r\n * RPC requests handler that wraps [[PresentationRpcInterface]] and\r\n * adds handling for cases when backend needs to be synced with client\r\n * state.\r\n *\r\n * @internal\r\n */\r\nexport class RpcRequestsHandler {\r\n /** Timeout for how long the handler going to wait for RPC request to be fulfilled before throwing a timeout error. */\r\n public readonly timeout: number;\r\n\r\n /** ID that identifies this handler as a client */\r\n public readonly clientId: string;\r\n\r\n public constructor(props?: RpcRequestsHandlerProps) {\r\n this.clientId = props?.clientId ?? Guid.createValue();\r\n this.timeout = props?.timeout ?? DEFAULT_REQUEST_TIMEOUT;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get rpcClient(): PresentationRpcInterface {\r\n return RpcManager.getClientForInterface(PresentationRpcInterface);\r\n }\r\n\r\n private async requestWithTimeout<TResult>(func: () => PresentationRpcResponse<TResult>, diagnosticsHandler?: ClientDiagnosticsHandler): Promise<TResult> {\r\n const rpcResponsePromise = func();\r\n const rpcRequest: RpcRequest | undefined = RpcRequest.current(this.rpcClient);\r\n const timeout = createCancellableTimeoutPromise(this.timeout);\r\n return Promise.race([\r\n (async () => {\r\n let diagnostics: ClientDiagnostics | undefined;\r\n try {\r\n const response = await rpcResponsePromise;\r\n diagnostics = response.diagnostics;\r\n switch (response.statusCode) {\r\n case PresentationStatus.Success:\r\n return response.result!;\r\n default:\r\n throw new PresentationError(response.statusCode, response.errorMessage);\r\n }\r\n } finally {\r\n diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);\r\n }\r\n })(),\r\n timeout.promise.then(() => {\r\n throw new Error(`Processing the request took longer than the configured limit of ${this.timeout} ms`);\r\n }),\r\n ]).finally(() => {\r\n rpcRequest?.cancel();\r\n timeout.cancel();\r\n });\r\n }\r\n\r\n /**\r\n * Send the request to backend. We'll wait for the response for `this.timeout` ms, and if we don't get the response by\r\n * then, we'll throw an error.\r\n */\r\n public async request<TResult, TOptions extends RequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute, TArg = any>(\r\n func: (token: IModelRpcProps, options: PresentationRpcRequestOptions<TOptions>, ...args: TArg[]) => PresentationRpcResponse<TResult>,\r\n options: TOptions,\r\n ...additionalOptions: TArg[]\r\n ): Promise<TResult> {\r\n const { imodel, diagnostics, ...optionsNoIModel } = options;\r\n const { handler: diagnosticsHandler, ...diagnosticsOptions } = diagnostics ?? {};\r\n if (isOptionsWithRuleset(optionsNoIModel)) {\r\n optionsNoIModel.rulesetOrId = cleanupRuleset(optionsNoIModel.rulesetOrId);\r\n }\r\n const rpcOptions: PresentationRpcRequestOptions<TOptions> = {\r\n ...optionsNoIModel,\r\n clientId: this.clientId,\r\n };\r\n if (diagnostics) {\r\n rpcOptions.diagnostics = diagnosticsOptions;\r\n }\r\n const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);\r\n const result = await this.requestWithTimeout(doRequest, diagnosticsHandler);\r\n return result;\r\n }\r\n\r\n public async getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<number, typeof options>(this.rpcClient.getNodesCount.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getPagedNodes(\r\n options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute,\r\n ): Promise<PagedResponse<Node>> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<PagedResponse<Node>, typeof options>(this.rpcClient.getPagedNodes.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getNodesDescriptor(\r\n options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<DescriptorJSON | undefined> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n const response = await this.request<string | DescriptorJSON | undefined, typeof options>(this.rpcClient.getNodesDescriptor.bind(this.rpcClient), options);\r\n if (typeof response === \"string\") {\r\n return JSON.parse(response);\r\n }\r\n return response;\r\n }\r\n\r\n public async getNodePaths(\r\n options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<NodePathElement[]> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<NodePathElement[], typeof options>(this.rpcClient.getNodePaths.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getFilteredNodePaths(\r\n options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<NodePathElement[]> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<NodePathElement[], typeof options>(this.rpcClient.getFilteredNodePaths.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<ContentSourcesRpcResult, typeof options>(this.rpcClient.getContentSources.bind(this.rpcClient), options);\r\n }\r\n public async getContentDescriptor(\r\n options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<DescriptorJSON | undefined> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<DescriptorJSON | undefined, typeof options>(this.rpcClient.getContentDescriptor.bind(this.rpcClient), options);\r\n }\r\n public async getContentSetSize(\r\n options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<number> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<number, typeof options>(this.rpcClient.getContentSetSize.bind(this.rpcClient), options);\r\n }\r\n public async getPagedContent(\r\n options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>,\r\n ) {\r\n return this.request<{ descriptor: DescriptorJSON; contentSet: PagedResponse<ItemJSON> } | undefined, typeof options>(\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.rpcClient.getPagedContent.bind(this.rpcClient),\r\n options,\r\n );\r\n }\r\n public async getPagedContentSet(\r\n options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>,\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<PagedResponse<ItemJSON>, typeof options>(this.rpcClient.getPagedContentSet.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getPagedDistinctValues(\r\n options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<PagedResponse<DisplayValueGroup>> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<PagedResponse<DisplayValueGroup>, typeof options>(this.rpcClient.getPagedDistinctValues.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getContentInstanceKeys(\r\n options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute,\r\n ): Promise<{ total: number; items: KeySetJSON }> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<{ total: number; items: KeySetJSON }, typeof options>(this.rpcClient.getContentInstanceKeys.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getDisplayLabelDefinition(\r\n options: DisplayLabelRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute,\r\n ): Promise<LabelDefinition> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<LabelDefinition, typeof options>(this.rpcClient.getDisplayLabelDefinition.bind(this.rpcClient), options);\r\n }\r\n public async getPagedDisplayLabelDefinitions(\r\n options: DisplayLabelsRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute,\r\n ): Promise<PagedResponse<LabelDefinition>> {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return this.request<PagedResponse<LabelDefinition>, typeof options>(this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);\r\n }\r\n\r\n /* eslint-disable @typescript-eslint/no-deprecated */\r\n public async getSelectionScopes(options: SelectionScopeRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<SelectionScope[]> {\r\n return this.request<SelectionScope[], typeof options>(this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);\r\n }\r\n public async computeSelection(options: ComputeSelectionRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<KeySetJSON> {\r\n return this.request<KeySetJSON, typeof options>(this.rpcClient.computeSelection.bind(this.rpcClient), options);\r\n }\r\n /* eslint-enable @typescript-eslint/no-deprecated */\r\n}\r\n\r\nfunction isOptionsWithRuleset(options: object): options is { rulesetOrId: Ruleset } {\r\n return typeof (options as RequestOptionsWithRuleset<any, any>).rulesetOrId === \"object\";\r\n}\r\n\r\ntype RulesetWithRequiredProperties = {\r\n [key in keyof Ruleset]-?: true;\r\n};\r\n\r\nconst RULESET_SUPPORTED_PROPERTIES_OBJ: RulesetWithRequiredProperties = {\r\n id: true,\r\n rules: true,\r\n version: true,\r\n requiredSchemas: true,\r\n supplementationInfo: true,\r\n vars: true,\r\n};\r\n\r\nfunction cleanupRuleset(ruleset: Ruleset): Ruleset {\r\n const cleanedUpRuleset: Ruleset = { ...ruleset };\r\n\r\n for (const propertyKey of Object.keys(cleanedUpRuleset)) {\r\n if (!RULESET_SUPPORTED_PROPERTIES_OBJ.hasOwnProperty(propertyKey)) {\r\n if (propertyKey === \"$schema\") {\r\n delete (cleanedUpRuleset as any)[propertyKey];\r\n } else {\r\n Logger.logWarning(\r\n PresentationCommonLoggerCategory.Package,\r\n `Provided ruleset contains unrecognized attribute '${propertyKey}'. It either doesn't exist or may be no longer supported.`,\r\n );\r\n }\r\n }\r\n }\r\n\r\n return cleanedUpRuleset;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RulesetVariables.js","sourceRoot":"","sources":["../../../src/presentation-common/RulesetVariables.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAc,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAkBX;AAlBD,WAAY,kBAAkB;IAC5B,oBAAoB;IACpB,iCAAW,CAAA;IAEX,8BAA8B;IAC9B,wCAAkB,CAAA;IAElB,oBAAoB;IACpB,mCAAa,CAAA;IAEb,mBAAmB;IACnB,uCAAiB,CAAA;IAEjB,uBAAuB;IACvB,mCAAa,CAAA;IAEb,iCAAiC;IACjC,0CAAoB,CAAA;AACtB,CAAC,EAlBW,kBAAkB,KAAlB,kBAAkB,QAkB7B;AAiHD,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,eAAe,CAsB/B;AAtBD,WAAiB,eAAe;IAC9B;;;OAGG;IACH,SAAgB,MAAM,CAAC,QAAyB;QAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IALe,sBAAM,SAKrB,CAAA;IAED,iDAAiD;IACjD,SAAgB,QAAQ,CAAC,IAAyB;QAChD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,CAAC;YACD,OAAO,IAAW,CAAC,CAAC,kFAAkF;QACxG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IARe,wBAAQ,WAQvB,CAAA;AACH,CAAC,EAtBgB,eAAe,KAAf,eAAe,QAsB/B","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 { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\n\n/**\n * Possible variable value types\n * @public\n */\nexport enum VariableValueTypes {\n /** Integer value */\n Int = \"int\",\n\n /** Array of integer values */\n IntArray = \"int[]\",\n\n /** Boolean value */\n Bool = \"bool\",\n\n /** String value */\n String = \"string\",\n\n /** Id64String value */\n Id64 = \"id64\",\n\n /** Array of Id64String values */\n Id64Array = \"id64[]\",\n}\n\n/**\n * Union of all supported variable value types\n * @public\n */\nexport type VariableValue = boolean | string | number | number[] | Id64String | Id64String[];\n\n/**\n * JSON representation of [[VariableValue]]\n * @public\n */\nexport type VariableValueJSON = boolean | string | number | number[] | Id64String | Id64String[] | CompressedId64Set;\n\n/**\n * Base data structure for representing ruleset variables.\n * @public\n */\nexport interface RulesetVariableBase {\n id: string;\n type: VariableValueTypes;\n value: VariableValue;\n}\n/**\n * Data structure for representing boolean ruleset variables.\n * @public\n */\nexport interface BooleanRulesetVariable extends RulesetVariableBase {\n type: VariableValueTypes.Bool;\n value: boolean;\n}\n/**\n * Data structure for representing string ruleset variables.\n * @public\n */\nexport interface StringRulesetVariable extends RulesetVariableBase {\n type: VariableValueTypes.String;\n value: string;\n}\n/**\n * Data structure for representing int ruleset variables.\n * @public\n */\nexport interface IntRulesetVariable extends RulesetVariableBase {\n type: VariableValueTypes.Int;\n value: number;\n}\n/**\n * Data structure for representing int array ruleset variables.\n * @public\n */\nexport interface IntsRulesetVariable extends RulesetVariableBase {\n type: VariableValueTypes.IntArray;\n value: number[];\n}\n/**\n * Data structure for representing ID ruleset variables.\n * @public\n */\nexport interface Id64RulesetVariable extends RulesetVariableBase {\n type: VariableValueTypes.Id64;\n value: Id64String;\n}\n/**\n * Data structure for representing ID array ruleset variables.\n * @public\n */\nexport interface Id64sRulesetVariable extends RulesetVariableBase {\n type: VariableValueTypes.Id64Array;\n value: Id64String[];\n}\n/**\n * Data structure for representing ruleset variables.\n * @public\n */\nexport type RulesetVariable =\n | BooleanRulesetVariable\n | StringRulesetVariable\n | IntRulesetVariable\n | IntsRulesetVariable\n | Id64RulesetVariable\n | Id64sRulesetVariable;\n\n/**\n * JSON representation of [[RulesetVariableBase]].\n * @public\n */\nexport interface RulesetVariableBaseJSON {\n id: string;\n type: VariableValueTypes;\n value: VariableValueJSON;\n}\n/**\n * JSON representation of [[Id64sRulesetVariable]].\n * @public\n */\nexport interface Id64sRulesetVariableJSON extends RulesetVariableBaseJSON {\n type: VariableValueTypes.Id64Array;\n value: Id64String[] | CompressedId64Set;\n}\n/**\n * JSON representation of [[RulesetVariable]].\n * @public\n */\n\nexport type RulesetVariableJSON =\n | BooleanRulesetVariable\n | StringRulesetVariable\n | IntRulesetVariable\n | IntsRulesetVariable\n | Id64RulesetVariable\n | Id64sRulesetVariableJSON;\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace RulesetVariable {\n /**\n * Serialize given RulesetVariable to JSON.\n * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].\n */\n export function toJSON(variable: RulesetVariable): RulesetVariableJSON {\n if (variable.type === VariableValueTypes.Id64Array) {\n return { ...variable, value: CompressedId64Set.compressArray(variable.value) };\n }\n return variable;\n }\n\n /** Deserialize [[RulesetVariable]] from JSON. */\n export function fromJSON(json: RulesetVariableJSON): RulesetVariable {\n if (json.type === VariableValueTypes.Id64Array) {\n if (typeof json.value === \"string\") {\n return { ...json, value: CompressedId64Set.decompressArray(json.value) };\n }\n return json as any; // for some reason TS doesn't understand that `json.value` is always an array here\n }\n return json;\n }\n}\n"]}
1
+ {"version":3,"file":"RulesetVariables.js","sourceRoot":"","sources":["../../../src/presentation-common/RulesetVariables.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAc,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAkBX;AAlBD,WAAY,kBAAkB;IAC5B,oBAAoB;IACpB,iCAAW,CAAA;IAEX,8BAA8B;IAC9B,wCAAkB,CAAA;IAElB,oBAAoB;IACpB,mCAAa,CAAA;IAEb,mBAAmB;IACnB,uCAAiB,CAAA;IAEjB,uBAAuB;IACvB,mCAAa,CAAA;IAEb,iCAAiC;IACjC,0CAAoB,CAAA;AACtB,CAAC,EAlBW,kBAAkB,KAAlB,kBAAkB,QAkB7B;AAiHD,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,eAAe,CAsB/B;AAtBD,WAAiB,eAAe;IAC9B;;;OAGG;IACH,SAAgB,MAAM,CAAC,QAAyB;QAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IALe,sBAAM,SAKrB,CAAA;IAED,iDAAiD;IACjD,SAAgB,QAAQ,CAAC,IAAyB;QAChD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,CAAC;YACD,OAAO,IAAW,CAAC,CAAC,kFAAkF;QACxG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IARe,wBAAQ,WAQvB,CAAA;AACH,CAAC,EAtBgB,eAAe,KAAf,eAAe,QAsB/B","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * Possible variable value types\r\n * @public\r\n */\r\nexport enum VariableValueTypes {\r\n /** Integer value */\r\n Int = \"int\",\r\n\r\n /** Array of integer values */\r\n IntArray = \"int[]\",\r\n\r\n /** Boolean value */\r\n Bool = \"bool\",\r\n\r\n /** String value */\r\n String = \"string\",\r\n\r\n /** Id64String value */\r\n Id64 = \"id64\",\r\n\r\n /** Array of Id64String values */\r\n Id64Array = \"id64[]\",\r\n}\r\n\r\n/**\r\n * Union of all supported variable value types\r\n * @public\r\n */\r\nexport type VariableValue = boolean | string | number | number[] | Id64String | Id64String[];\r\n\r\n/**\r\n * JSON representation of [[VariableValue]]\r\n * @public\r\n */\r\nexport type VariableValueJSON = boolean | string | number | number[] | Id64String | Id64String[] | CompressedId64Set;\r\n\r\n/**\r\n * Base data structure for representing ruleset variables.\r\n * @public\r\n */\r\nexport interface RulesetVariableBase {\r\n id: string;\r\n type: VariableValueTypes;\r\n value: VariableValue;\r\n}\r\n/**\r\n * Data structure for representing boolean ruleset variables.\r\n * @public\r\n */\r\nexport interface BooleanRulesetVariable extends RulesetVariableBase {\r\n type: VariableValueTypes.Bool;\r\n value: boolean;\r\n}\r\n/**\r\n * Data structure for representing string ruleset variables.\r\n * @public\r\n */\r\nexport interface StringRulesetVariable extends RulesetVariableBase {\r\n type: VariableValueTypes.String;\r\n value: string;\r\n}\r\n/**\r\n * Data structure for representing int ruleset variables.\r\n * @public\r\n */\r\nexport interface IntRulesetVariable extends RulesetVariableBase {\r\n type: VariableValueTypes.Int;\r\n value: number;\r\n}\r\n/**\r\n * Data structure for representing int array ruleset variables.\r\n * @public\r\n */\r\nexport interface IntsRulesetVariable extends RulesetVariableBase {\r\n type: VariableValueTypes.IntArray;\r\n value: number[];\r\n}\r\n/**\r\n * Data structure for representing ID ruleset variables.\r\n * @public\r\n */\r\nexport interface Id64RulesetVariable extends RulesetVariableBase {\r\n type: VariableValueTypes.Id64;\r\n value: Id64String;\r\n}\r\n/**\r\n * Data structure for representing ID array ruleset variables.\r\n * @public\r\n */\r\nexport interface Id64sRulesetVariable extends RulesetVariableBase {\r\n type: VariableValueTypes.Id64Array;\r\n value: Id64String[];\r\n}\r\n/**\r\n * Data structure for representing ruleset variables.\r\n * @public\r\n */\r\nexport type RulesetVariable =\r\n | BooleanRulesetVariable\r\n | StringRulesetVariable\r\n | IntRulesetVariable\r\n | IntsRulesetVariable\r\n | Id64RulesetVariable\r\n | Id64sRulesetVariable;\r\n\r\n/**\r\n * JSON representation of [[RulesetVariableBase]].\r\n * @public\r\n */\r\nexport interface RulesetVariableBaseJSON {\r\n id: string;\r\n type: VariableValueTypes;\r\n value: VariableValueJSON;\r\n}\r\n/**\r\n * JSON representation of [[Id64sRulesetVariable]].\r\n * @public\r\n */\r\nexport interface Id64sRulesetVariableJSON extends RulesetVariableBaseJSON {\r\n type: VariableValueTypes.Id64Array;\r\n value: Id64String[] | CompressedId64Set;\r\n}\r\n/**\r\n * JSON representation of [[RulesetVariable]].\r\n * @public\r\n */\r\n\r\nexport type RulesetVariableJSON =\r\n | BooleanRulesetVariable\r\n | StringRulesetVariable\r\n | IntRulesetVariable\r\n | IntsRulesetVariable\r\n | Id64RulesetVariable\r\n | Id64sRulesetVariableJSON;\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RulesetVariable {\r\n /**\r\n * Serialize given RulesetVariable to JSON.\r\n * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].\r\n */\r\n export function toJSON(variable: RulesetVariable): RulesetVariableJSON {\r\n if (variable.type === VariableValueTypes.Id64Array) {\r\n return { ...variable, value: CompressedId64Set.compressArray(variable.value) };\r\n }\r\n return variable;\r\n }\r\n\r\n /** Deserialize [[RulesetVariable]] from JSON. */\r\n export function fromJSON(json: RulesetVariableJSON): RulesetVariable {\r\n if (json.type === VariableValueTypes.Id64Array) {\r\n if (typeof json.value === \"string\") {\r\n return { ...json, value: CompressedId64Set.decompressArray(json.value) };\r\n }\r\n return json as any; // for some reason TS doesn't understand that `json.value` is always an array here\r\n }\r\n return json;\r\n }\r\n}\r\n"]}