@itwin/core-backend 4.0.0-dev.51 → 4.0.0-dev.54

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 (267) hide show
  1. package/lib/cjs/AliCloudStorageService.d.ts +23 -23
  2. package/lib/cjs/AliCloudStorageService.js +71 -71
  3. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  4. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  5. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +90 -91
  9. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
  10. package/lib/cjs/BackendLoggerCategory.js +98 -99
  11. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  12. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  13. package/lib/cjs/BisCoreSchema.js +60 -60
  14. package/lib/cjs/BisCoreSchema.js.map +1 -1
  15. package/lib/cjs/BriefcaseManager.d.ts +170 -170
  16. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  17. package/lib/cjs/BriefcaseManager.js +408 -408
  18. package/lib/cjs/BriefcaseManager.js.map +1 -1
  19. package/lib/cjs/Category.d.ts +153 -153
  20. package/lib/cjs/Category.js +243 -243
  21. package/lib/cjs/Category.js.map +1 -1
  22. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  23. package/lib/cjs/ChangeSummaryManager.js +446 -446
  24. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  25. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  26. package/lib/cjs/ChangedElementsDb.js +165 -165
  27. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  28. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  29. package/lib/cjs/ChangedElementsManager.js +88 -88
  30. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  31. package/lib/cjs/ChannelControl.d.ts +69 -69
  32. package/lib/cjs/ChannelControl.d.ts.map +1 -1
  33. package/lib/cjs/ChannelControl.js +88 -88
  34. package/lib/cjs/ChannelControl.js.map +1 -1
  35. package/lib/cjs/CheckpointManager.d.ts +121 -121
  36. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  37. package/lib/cjs/CheckpointManager.js +351 -351
  38. package/lib/cjs/CheckpointManager.js.map +1 -1
  39. package/lib/cjs/ClassRegistry.d.ts +79 -79
  40. package/lib/cjs/ClassRegistry.js +254 -249
  41. package/lib/cjs/ClassRegistry.js.map +1 -1
  42. package/lib/cjs/CloudSqlite.d.ts +355 -355
  43. package/lib/cjs/CloudSqlite.js +154 -154
  44. package/lib/cjs/CloudSqlite.js.map +1 -1
  45. package/lib/cjs/CloudStorageBackend.d.ts +58 -58
  46. package/lib/cjs/CloudStorageBackend.js +170 -170
  47. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  48. package/lib/cjs/CodeService.d.ts +396 -396
  49. package/lib/cjs/CodeService.js +63 -63
  50. package/lib/cjs/CodeService.js.map +1 -1
  51. package/lib/cjs/CodeSpecs.d.ts +55 -55
  52. package/lib/cjs/CodeSpecs.js +124 -124
  53. package/lib/cjs/CodeSpecs.js.map +1 -1
  54. package/lib/cjs/ConcurrentQuery.d.ts +13 -13
  55. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  56. package/lib/cjs/ConcurrentQuery.js +36 -36
  57. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  58. package/lib/cjs/CustomViewState3dCreator.d.ts +21 -21
  59. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  60. package/lib/cjs/CustomViewState3dCreator.js +82 -81
  61. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  62. package/lib/cjs/DevTools.d.ts +74 -73
  63. package/lib/cjs/DevTools.d.ts.map +1 -1
  64. package/lib/cjs/DevTools.js +156 -156
  65. package/lib/cjs/DevTools.js.map +1 -1
  66. package/lib/cjs/DisplayStyle.d.ts +106 -106
  67. package/lib/cjs/DisplayStyle.js +253 -253
  68. package/lib/cjs/DisplayStyle.js.map +1 -1
  69. package/lib/cjs/ECDb.d.ts +194 -191
  70. package/lib/cjs/ECDb.d.ts.map +1 -1
  71. package/lib/cjs/ECDb.js +353 -348
  72. package/lib/cjs/ECDb.js.map +1 -1
  73. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  74. package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -1
  75. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  76. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  77. package/lib/cjs/ECSqlStatement.d.ts +473 -473
  78. package/lib/cjs/ECSqlStatement.js +791 -791
  79. package/lib/cjs/ECSqlStatement.js.map +1 -1
  80. package/lib/cjs/Element.d.ts +1113 -1113
  81. package/lib/cjs/Element.js +1424 -1424
  82. package/lib/cjs/Element.js.map +1 -1
  83. package/lib/cjs/ElementAspect.d.ts +176 -176
  84. package/lib/cjs/ElementAspect.js +203 -203
  85. package/lib/cjs/ElementAspect.js.map +1 -1
  86. package/lib/cjs/ElementGraphics.d.ts +9 -9
  87. package/lib/cjs/ElementGraphics.js +41 -41
  88. package/lib/cjs/ElementGraphics.js.map +1 -1
  89. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  90. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  91. package/lib/cjs/ElementTreeWalker.js +409 -409
  92. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  93. package/lib/cjs/Entity.d.ts +106 -106
  94. package/lib/cjs/Entity.d.ts.map +1 -1
  95. package/lib/cjs/Entity.js +134 -134
  96. package/lib/cjs/Entity.js.map +1 -1
  97. package/lib/cjs/EntityReferences.d.ts +49 -49
  98. package/lib/cjs/EntityReferences.d.ts.map +1 -1
  99. package/lib/cjs/EntityReferences.js +95 -95
  100. package/lib/cjs/EntityReferences.js.map +1 -1
  101. package/lib/cjs/ExportGraphics.d.ts +317 -317
  102. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  103. package/lib/cjs/ExportGraphics.js +208 -208
  104. package/lib/cjs/ExportGraphics.js.map +1 -1
  105. package/lib/cjs/ExternalSource.d.ts +96 -96
  106. package/lib/cjs/ExternalSource.js +131 -131
  107. package/lib/cjs/ExternalSource.js.map +1 -1
  108. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  109. package/lib/cjs/GeoCoordConfig.js +85 -85
  110. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  111. package/lib/cjs/GeometrySummary.d.ts +4 -4
  112. package/lib/cjs/GeometrySummary.js +380 -380
  113. package/lib/cjs/GeometrySummary.js.map +1 -1
  114. package/lib/cjs/HubMock.d.ts +94 -94
  115. package/lib/cjs/HubMock.js +220 -220
  116. package/lib/cjs/HubMock.js.map +1 -1
  117. package/lib/cjs/IModelCloneContext.d.ts +8 -8
  118. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  119. package/lib/cjs/IModelCloneContext.js +15 -15
  120. package/lib/cjs/IModelCloneContext.js.map +1 -1
  121. package/lib/cjs/IModelDb.d.ts +1216 -1213
  122. package/lib/cjs/IModelDb.d.ts.map +1 -1
  123. package/lib/cjs/IModelDb.js +2387 -2380
  124. package/lib/cjs/IModelDb.js.map +1 -1
  125. package/lib/cjs/IModelElementCloneContext.d.ts +89 -89
  126. package/lib/cjs/IModelElementCloneContext.js +159 -159
  127. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  128. package/lib/cjs/IModelHost.d.ts +369 -369
  129. package/lib/cjs/IModelHost.js +488 -488
  130. package/lib/cjs/IModelHost.js.map +1 -1
  131. package/lib/cjs/IModelJsFs.d.ts +62 -62
  132. package/lib/cjs/IModelJsFs.js +139 -139
  133. package/lib/cjs/IModelJsFs.js.map +1 -1
  134. package/lib/cjs/IpcHost.d.ts +104 -104
  135. package/lib/cjs/IpcHost.js +276 -276
  136. package/lib/cjs/IpcHost.js.map +1 -1
  137. package/lib/cjs/LineStyle.d.ts +311 -311
  138. package/lib/cjs/LineStyle.js +295 -295
  139. package/lib/cjs/LineStyle.js.map +1 -1
  140. package/lib/cjs/LocalHub.d.ts +162 -162
  141. package/lib/cjs/LocalHub.d.ts.map +1 -1
  142. package/lib/cjs/LocalHub.js +580 -580
  143. package/lib/cjs/LocalHub.js.map +1 -1
  144. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  145. package/lib/cjs/LocalhostIpcHost.js +79 -79
  146. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  147. package/lib/cjs/Material.d.ts +131 -131
  148. package/lib/cjs/Material.js +180 -180
  149. package/lib/cjs/Material.js.map +1 -1
  150. package/lib/cjs/Model.d.ts +392 -392
  151. package/lib/cjs/Model.js +489 -489
  152. package/lib/cjs/Model.js.map +1 -1
  153. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  154. package/lib/cjs/NativeAppStorage.js +202 -202
  155. package/lib/cjs/NativeAppStorage.js.map +1 -1
  156. package/lib/cjs/NativeHost.d.ts +52 -52
  157. package/lib/cjs/NativeHost.js +160 -160
  158. package/lib/cjs/NativeHost.js.map +1 -1
  159. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  160. package/lib/cjs/NavigationRelationship.js +225 -225
  161. package/lib/cjs/NavigationRelationship.js.map +1 -1
  162. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  163. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  164. package/lib/cjs/PromiseMemoizer.js +101 -101
  165. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  166. package/lib/cjs/PropertyStore.d.ts +132 -132
  167. package/lib/cjs/PropertyStore.js +11 -11
  168. package/lib/cjs/PropertyStore.js.map +1 -1
  169. package/lib/cjs/Relationship.d.ts +416 -416
  170. package/lib/cjs/Relationship.js +494 -494
  171. package/lib/cjs/Relationship.js.map +1 -1
  172. package/lib/cjs/RpcBackend.d.ts +5 -5
  173. package/lib/cjs/RpcBackend.js +32 -32
  174. package/lib/cjs/RpcBackend.js.map +1 -1
  175. package/lib/cjs/SQLiteDb.d.ts +219 -219
  176. package/lib/cjs/SQLiteDb.js +212 -212
  177. package/lib/cjs/SQLiteDb.js.map +1 -1
  178. package/lib/cjs/Schema.d.ts +55 -55
  179. package/lib/cjs/Schema.js +83 -83
  180. package/lib/cjs/Schema.js.map +1 -1
  181. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  182. package/lib/cjs/ServerBasedLocks.js +168 -168
  183. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  184. package/lib/cjs/SqliteStatement.d.ts +360 -360
  185. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  186. package/lib/cjs/SqliteStatement.js +586 -586
  187. package/lib/cjs/SqliteStatement.js.map +1 -1
  188. package/lib/cjs/Texture.d.ts +58 -58
  189. package/lib/cjs/Texture.js +82 -82
  190. package/lib/cjs/Texture.js.map +1 -1
  191. package/lib/cjs/TileStorage.d.ts +18 -18
  192. package/lib/cjs/TileStorage.js +87 -87
  193. package/lib/cjs/TileStorage.js.map +1 -1
  194. package/lib/cjs/TxnManager.d.ts +202 -202
  195. package/lib/cjs/TxnManager.d.ts.map +1 -1
  196. package/lib/cjs/TxnManager.js +356 -356
  197. package/lib/cjs/TxnManager.js.map +1 -1
  198. package/lib/cjs/ViewDefinition.d.ts +435 -435
  199. package/lib/cjs/ViewDefinition.js +646 -646
  200. package/lib/cjs/ViewDefinition.js.map +1 -1
  201. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  202. package/lib/cjs/ViewStateHydrator.js +103 -103
  203. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  204. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  205. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  206. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  207. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  208. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  209. package/lib/cjs/core-backend.d.ts +185 -185
  210. package/lib/cjs/core-backend.js +209 -205
  211. package/lib/cjs/core-backend.js.map +1 -1
  212. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  213. package/lib/cjs/domains/FunctionalElements.js +145 -145
  214. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  215. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  216. package/lib/cjs/domains/FunctionalSchema.js +39 -39
  217. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  218. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  219. package/lib/cjs/domains/GenericElements.js +263 -263
  220. package/lib/cjs/domains/GenericElements.js.map +1 -1
  221. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  222. package/lib/cjs/domains/GenericSchema.js +28 -28
  223. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  224. package/lib/cjs/rpc/multipart.d.ts +11 -11
  225. package/lib/cjs/rpc/multipart.js +71 -71
  226. package/lib/cjs/rpc/multipart.js.map +1 -1
  227. package/lib/cjs/rpc/tracing.d.ts +28 -28
  228. package/lib/cjs/rpc/tracing.js +73 -73
  229. package/lib/cjs/rpc/tracing.js.map +1 -1
  230. package/lib/cjs/rpc/web/logging.d.ts +9 -9
  231. package/lib/cjs/rpc/web/logging.js +43 -43
  232. package/lib/cjs/rpc/web/logging.js.map +1 -1
  233. package/lib/cjs/rpc/web/request.d.ts +6 -6
  234. package/lib/cjs/rpc/web/request.js +73 -73
  235. package/lib/cjs/rpc/web/request.js.map +1 -1
  236. package/lib/cjs/rpc/web/response.d.ts +6 -6
  237. package/lib/cjs/rpc/web/response.js +105 -105
  238. package/lib/cjs/rpc/web/response.js.map +1 -1
  239. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  240. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  241. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  242. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +47 -47
  243. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +293 -293
  244. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  245. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -22
  246. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +202 -202
  247. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  248. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  249. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +166 -166
  250. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  251. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  252. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +42 -42
  253. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  254. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  255. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  256. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  257. package/lib/cjs/workspace/Settings.d.ts +186 -186
  258. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  259. package/lib/cjs/workspace/Settings.js +154 -154
  260. package/lib/cjs/workspace/Settings.js.map +1 -1
  261. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  262. package/lib/cjs/workspace/SettingsSchemas.js +190 -190
  263. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  264. package/lib/cjs/workspace/Workspace.d.ts +414 -414
  265. package/lib/cjs/workspace/Workspace.js +537 -537
  266. package/lib/cjs/workspace/Workspace.js.map +1 -1
  267. package/package.json +12 -12
@@ -1,163 +1,163 @@
1
- /** @packageDocumentation
2
- * @module Elements
3
- */
4
- import { Id64Array, Id64String } from "@itwin/core-bentley";
5
- import { IModelDb } from "./IModelDb";
6
- import { Model } from "./Model";
7
- /** @beta */
8
- export interface ElementTreeWalkerModelInfo {
9
- model: Model;
10
- isDefinitionModel: boolean;
11
- }
12
- /** Records the path that a tree search took to reach an element or model. This object is immutable.
13
- * @beta
14
- */
15
- export declare class ElementTreeWalkerScope {
16
- readonly topElement: Id64String;
17
- /** path of parent elements and enclosing models */
18
- readonly path: Array<Id64String | ElementTreeWalkerModelInfo>;
19
- /** cached info about the immediately enclosing model (i.e., the last model in path) */
20
- readonly enclosingModelInfo: ElementTreeWalkerModelInfo;
21
- constructor(topElement: Id64String, model: Model);
22
- constructor(enclosingScope: ElementTreeWalkerScope, newScope: Id64String | Model);
23
- get enclosingModel(): Model;
24
- get inDefinitionModel(): boolean;
25
- get inRepositoryModel(): boolean;
26
- static createTopScope(iModel: IModelDb, topElementId: Id64String): ElementTreeWalkerScope;
27
- private fmtItem;
28
- toString(): string;
29
- }
30
- /** Does a depth-first search on the tree defined by an element and its sub-models and children.
31
- * Sub-models are visited before their modeled elements, and children are visited before their parents.
32
- *
33
- * The following callbacks allow the subclass to exclude elements and sub-trees from the search:
34
- * * [[ElementTreeBottomUp.shouldExploreModel]], [[ElementTreeBottomUp.shouldExploreChildren]]
35
- * * [[ElementTreeBottomUp.shouldVisitElement]], [[ElementTreeBottomUp.shouldVisitModel]]
36
- *
37
- * The [[ElementTreeBottomUp.visitElement]] and [[ElementTreeBottomUp.visitModel]] callbacks allow
38
- * the subclass to process the elements and models that are encountered in the search.
39
- * @beta
40
- */
41
- export declare abstract class ElementTreeBottomUp {
42
- protected _iModel: IModelDb;
43
- constructor(_iModel: IModelDb);
44
- /** Return true if the search should recurse into this model */
45
- protected shouldExploreModel(_model: Model, _scope: ElementTreeWalkerScope): boolean;
46
- /** Return true if the search should recurse into the children (if any) of this element */
47
- protected shouldExploreChildren(_parentId: Id64String, _scope: ElementTreeWalkerScope): boolean;
48
- /** Return true if the search should visit this element */
49
- protected shouldVisitElement(_elementId: Id64String, _scope: ElementTreeWalkerScope): boolean;
50
- /** Return true if the search should visit this model */
51
- protected shouldVisitModel(_model: Model, _scope: ElementTreeWalkerScope): boolean;
52
- /** Called to visit a model */
53
- protected abstract visitModel(model: Model, scope: ElementTreeWalkerScope): void;
54
- /** Called to visit an element */
55
- protected abstract visitElement(elementId: Id64String, scope: ElementTreeWalkerScope): void;
56
- /** The main tree-walking function */
57
- protected processElementTree(element: Id64String, scope: ElementTreeWalkerScope): void;
58
- /** process the children of the specified parent element */
59
- private _processChildren;
60
- /** process the elements in the specified model */
61
- private _processSubModel;
62
- }
63
- /** Helper class that manages the deletion of definitions and subjects */
64
- declare class SpecialElements {
65
- definitionModels: Id64Array;
66
- definitions: Id64Array;
67
- subjects: Id64Array;
68
- recordSpecialElement(iModel: IModelDb, elementId: Id64String): boolean;
69
- /** Delete special elements - This calls Elements.deleteDefinitionElements to process the collected definition elements as a group and then
70
- * calls Models.deleteModel on collected definition models. It then deletes all collected Subjects by calling Element.deleteElement on them.
71
- * @note Caller must ensure that the special elements were recorded in a depth-first search.
72
- */
73
- deleteSpecialElements(iModel: IModelDb): void;
74
- }
75
- /** Deletes an entire element tree, including sub-models and child elements.
76
- * Items are deleted in bottom-up order. Definitions and Subjects are deleted after normal elements.
77
- * Call deleteNormalElements on each tree. Then call deleteSpecialElements.
78
- * @see deleteElementTree for a simple way to use this class.
79
- * @beta
80
- */
81
- export declare class ElementTreeDeleter extends ElementTreeBottomUp {
82
- protected _special: SpecialElements;
83
- protected shouldExploreModel(_model: Model): boolean;
84
- protected shouldVisitElement(_elementId: Id64String): boolean;
85
- protected visitModel(model: Model, _scope: ElementTreeWalkerScope): void;
86
- protected visitElement(elementId: Id64String, _scope: ElementTreeWalkerScope): void;
87
- /**
88
- * Delete the "normal" elements and record the special elements for deferred processing.
89
- * @param topElement The parent of the sub-tree to be deleted. Top element itself is also deleted.
90
- * @param scope How the parent was found
91
- * @see deleteSpecialElements
92
- */
93
- deleteNormalElements(topElement: Id64String, scope?: ElementTreeWalkerScope): void;
94
- /** Delete all special elements that were found and deferred by deleteNormalElements. Call this
95
- * function once after all element trees are processed by deleteNormalElements.
96
- */
97
- deleteSpecialElements(): void;
98
- }
99
- /** Does a breadth-first search on the tree defined by an element and its sub-models and children.
100
- * Parents are visited first, then children, then sub-models.
101
- * The subclass can "prune" sub-trees from the search. When a sub-tree is "pruned" the search does *not* recurse into it.
102
- * If a sub-tree is not pruned, then the search does recurse into it.
103
- * @beta
104
- */
105
- declare abstract class ElementTreeTopDown {
106
- protected _iModel: IModelDb;
107
- constructor(_iModel: IModelDb);
108
- /** Should the search *not* recurse into this sub-tree? */
109
- protected shouldPrune(_elementId: Id64String, _scope: ElementTreeWalkerScope): boolean;
110
- protected abstract prune(_elementId: Id64String, _scope: ElementTreeWalkerScope): void;
111
- protected processElementTree(element: Id64String, scope: ElementTreeWalkerScope): void;
112
- private _processChildren;
113
- private _processSubModel;
114
- }
115
- /** Signature of the filter function used by ElementSubTreeDeleter.
116
- * @param elementId The sub-tree parent element.
117
- * @param scope The path followed by the top-down search to the element
118
- * @return true if the element and its children and sub-models should be deleted.
119
- * @beta
120
- */
121
- export declare type ElementSubTreeDeleteFilter = (elementId: Id64String, scope: ElementTreeWalkerScope) => boolean;
122
- /** Performs a breadth-first search to visit elements in top-down order.
123
- * When the supplied filter function chooses an element, ElementTreeDeleter is used to delete it and its sub-tree.
124
- * @beta
125
- */
126
- export declare class ElementSubTreeDeleter extends ElementTreeTopDown {
127
- private _treeDeleter;
128
- private _shouldPruneCb;
129
- /** Construct an ElementSubTreeDeleter.
130
- * @param iModel The iModel
131
- * @param topElement Where to start the search.
132
- * @param shouldPruneCb Callback that selects sub-trees that should be deleted.
133
- * @see deleteElementSubTrees for a simple way to use this class.
134
- */
135
- constructor(iModel: IModelDb, shouldPruneCb: ElementSubTreeDeleteFilter);
136
- protected shouldPrune(elementId: Id64String, scope: ElementTreeWalkerScope): boolean;
137
- protected prune(elementId: Id64String, scope: ElementTreeWalkerScope): void;
138
- /** Traverses the tree of elements beginning with the top element, and deletes all selected sub-trees.
139
- * Normal elements are deleted. Any special elements that are encountered are deferred.
140
- * Call deleteSpecialElementSubTrees after all top elements have been processed. */
141
- deleteNormalElementSubTrees(topElement: Id64String, scope?: ElementTreeWalkerScope): void;
142
- /** Delete all special elements and their sub-trees that were found in the course of processing.
143
- * The sub-trees were already expanded by ElementTreeDeleter.deleteNormalElements.
144
- */
145
- deleteSpecialElementSubTrees(): void;
146
- }
147
- /** Deletes an element tree starting with the specified top element. The top element is also deleted. Uses ElementTreeDeleter.
148
- * @param iModel The iModel
149
- * @param topElement The parent of the sub-tree
150
- * @beta
151
- */
152
- export declare function deleteElementTree(iModel: IModelDb, topElement: Id64String): void;
153
- /** Deletes all element sub-trees that are selected by the supplied filter. Uses ElementSubTreeDeleter.
154
- * If the filter selects the top element itself, then the entire tree (including the top element) is deleted.
155
- * That has the same effect as calling [[deleteElementTree]] on the top element.
156
- * @param iModel The iModel
157
- * @param topElement Where to start the search.
158
- * @param filter Callback that selects sub-trees that should be deleted.
159
- * @beta
160
- */
161
- export declare function deleteElementSubTrees(iModel: IModelDb, topElement: Id64String, filter: ElementSubTreeDeleteFilter): void;
162
- export {};
1
+ /** @packageDocumentation
2
+ * @module Elements
3
+ */
4
+ import { Id64Array, Id64String } from "@itwin/core-bentley";
5
+ import { IModelDb } from "./IModelDb";
6
+ import { Model } from "./Model";
7
+ /** @beta */
8
+ export interface ElementTreeWalkerModelInfo {
9
+ model: Model;
10
+ isDefinitionModel: boolean;
11
+ }
12
+ /** Records the path that a tree search took to reach an element or model. This object is immutable.
13
+ * @beta
14
+ */
15
+ export declare class ElementTreeWalkerScope {
16
+ readonly topElement: Id64String;
17
+ /** path of parent elements and enclosing models */
18
+ readonly path: Array<Id64String | ElementTreeWalkerModelInfo>;
19
+ /** cached info about the immediately enclosing model (i.e., the last model in path) */
20
+ readonly enclosingModelInfo: ElementTreeWalkerModelInfo;
21
+ constructor(topElement: Id64String, model: Model);
22
+ constructor(enclosingScope: ElementTreeWalkerScope, newScope: Id64String | Model);
23
+ get enclosingModel(): Model;
24
+ get inDefinitionModel(): boolean;
25
+ get inRepositoryModel(): boolean;
26
+ static createTopScope(iModel: IModelDb, topElementId: Id64String): ElementTreeWalkerScope;
27
+ private fmtItem;
28
+ toString(): string;
29
+ }
30
+ /** Does a depth-first search on the tree defined by an element and its sub-models and children.
31
+ * Sub-models are visited before their modeled elements, and children are visited before their parents.
32
+ *
33
+ * The following callbacks allow the subclass to exclude elements and sub-trees from the search:
34
+ * * [[ElementTreeBottomUp.shouldExploreModel]], [[ElementTreeBottomUp.shouldExploreChildren]]
35
+ * * [[ElementTreeBottomUp.shouldVisitElement]], [[ElementTreeBottomUp.shouldVisitModel]]
36
+ *
37
+ * The [[ElementTreeBottomUp.visitElement]] and [[ElementTreeBottomUp.visitModel]] callbacks allow
38
+ * the subclass to process the elements and models that are encountered in the search.
39
+ * @beta
40
+ */
41
+ export declare abstract class ElementTreeBottomUp {
42
+ protected _iModel: IModelDb;
43
+ constructor(_iModel: IModelDb);
44
+ /** Return true if the search should recurse into this model */
45
+ protected shouldExploreModel(_model: Model, _scope: ElementTreeWalkerScope): boolean;
46
+ /** Return true if the search should recurse into the children (if any) of this element */
47
+ protected shouldExploreChildren(_parentId: Id64String, _scope: ElementTreeWalkerScope): boolean;
48
+ /** Return true if the search should visit this element */
49
+ protected shouldVisitElement(_elementId: Id64String, _scope: ElementTreeWalkerScope): boolean;
50
+ /** Return true if the search should visit this model */
51
+ protected shouldVisitModel(_model: Model, _scope: ElementTreeWalkerScope): boolean;
52
+ /** Called to visit a model */
53
+ protected abstract visitModel(model: Model, scope: ElementTreeWalkerScope): void;
54
+ /** Called to visit an element */
55
+ protected abstract visitElement(elementId: Id64String, scope: ElementTreeWalkerScope): void;
56
+ /** The main tree-walking function */
57
+ protected processElementTree(element: Id64String, scope: ElementTreeWalkerScope): void;
58
+ /** process the children of the specified parent element */
59
+ private _processChildren;
60
+ /** process the elements in the specified model */
61
+ private _processSubModel;
62
+ }
63
+ /** Helper class that manages the deletion of definitions and subjects */
64
+ declare class SpecialElements {
65
+ definitionModels: Id64Array;
66
+ definitions: Id64Array;
67
+ subjects: Id64Array;
68
+ recordSpecialElement(iModel: IModelDb, elementId: Id64String): boolean;
69
+ /** Delete special elements - This calls Elements.deleteDefinitionElements to process the collected definition elements as a group and then
70
+ * calls Models.deleteModel on collected definition models. It then deletes all collected Subjects by calling Element.deleteElement on them.
71
+ * @note Caller must ensure that the special elements were recorded in a depth-first search.
72
+ */
73
+ deleteSpecialElements(iModel: IModelDb): void;
74
+ }
75
+ /** Deletes an entire element tree, including sub-models and child elements.
76
+ * Items are deleted in bottom-up order. Definitions and Subjects are deleted after normal elements.
77
+ * Call deleteNormalElements on each tree. Then call deleteSpecialElements.
78
+ * @see deleteElementTree for a simple way to use this class.
79
+ * @beta
80
+ */
81
+ export declare class ElementTreeDeleter extends ElementTreeBottomUp {
82
+ protected _special: SpecialElements;
83
+ protected shouldExploreModel(_model: Model): boolean;
84
+ protected shouldVisitElement(_elementId: Id64String): boolean;
85
+ protected visitModel(model: Model, _scope: ElementTreeWalkerScope): void;
86
+ protected visitElement(elementId: Id64String, _scope: ElementTreeWalkerScope): void;
87
+ /**
88
+ * Delete the "normal" elements and record the special elements for deferred processing.
89
+ * @param topElement The parent of the sub-tree to be deleted. Top element itself is also deleted.
90
+ * @param scope How the parent was found
91
+ * @see deleteSpecialElements
92
+ */
93
+ deleteNormalElements(topElement: Id64String, scope?: ElementTreeWalkerScope): void;
94
+ /** Delete all special elements that were found and deferred by deleteNormalElements. Call this
95
+ * function once after all element trees are processed by deleteNormalElements.
96
+ */
97
+ deleteSpecialElements(): void;
98
+ }
99
+ /** Does a breadth-first search on the tree defined by an element and its sub-models and children.
100
+ * Parents are visited first, then children, then sub-models.
101
+ * The subclass can "prune" sub-trees from the search. When a sub-tree is "pruned" the search does *not* recurse into it.
102
+ * If a sub-tree is not pruned, then the search does recurse into it.
103
+ * @beta
104
+ */
105
+ declare abstract class ElementTreeTopDown {
106
+ protected _iModel: IModelDb;
107
+ constructor(_iModel: IModelDb);
108
+ /** Should the search *not* recurse into this sub-tree? */
109
+ protected shouldPrune(_elementId: Id64String, _scope: ElementTreeWalkerScope): boolean;
110
+ protected abstract prune(_elementId: Id64String, _scope: ElementTreeWalkerScope): void;
111
+ protected processElementTree(element: Id64String, scope: ElementTreeWalkerScope): void;
112
+ private _processChildren;
113
+ private _processSubModel;
114
+ }
115
+ /** Signature of the filter function used by ElementSubTreeDeleter.
116
+ * @param elementId The sub-tree parent element.
117
+ * @param scope The path followed by the top-down search to the element
118
+ * @return true if the element and its children and sub-models should be deleted.
119
+ * @beta
120
+ */
121
+ export type ElementSubTreeDeleteFilter = (elementId: Id64String, scope: ElementTreeWalkerScope) => boolean;
122
+ /** Performs a breadth-first search to visit elements in top-down order.
123
+ * When the supplied filter function chooses an element, ElementTreeDeleter is used to delete it and its sub-tree.
124
+ * @beta
125
+ */
126
+ export declare class ElementSubTreeDeleter extends ElementTreeTopDown {
127
+ private _treeDeleter;
128
+ private _shouldPruneCb;
129
+ /** Construct an ElementSubTreeDeleter.
130
+ * @param iModel The iModel
131
+ * @param topElement Where to start the search.
132
+ * @param shouldPruneCb Callback that selects sub-trees that should be deleted.
133
+ * @see deleteElementSubTrees for a simple way to use this class.
134
+ */
135
+ constructor(iModel: IModelDb, shouldPruneCb: ElementSubTreeDeleteFilter);
136
+ protected shouldPrune(elementId: Id64String, scope: ElementTreeWalkerScope): boolean;
137
+ protected prune(elementId: Id64String, scope: ElementTreeWalkerScope): void;
138
+ /** Traverses the tree of elements beginning with the top element, and deletes all selected sub-trees.
139
+ * Normal elements are deleted. Any special elements that are encountered are deferred.
140
+ * Call deleteSpecialElementSubTrees after all top elements have been processed. */
141
+ deleteNormalElementSubTrees(topElement: Id64String, scope?: ElementTreeWalkerScope): void;
142
+ /** Delete all special elements and their sub-trees that were found in the course of processing.
143
+ * The sub-trees were already expanded by ElementTreeDeleter.deleteNormalElements.
144
+ */
145
+ deleteSpecialElementSubTrees(): void;
146
+ }
147
+ /** Deletes an element tree starting with the specified top element. The top element is also deleted. Uses ElementTreeDeleter.
148
+ * @param iModel The iModel
149
+ * @param topElement The parent of the sub-tree
150
+ * @beta
151
+ */
152
+ export declare function deleteElementTree(iModel: IModelDb, topElement: Id64String): void;
153
+ /** Deletes all element sub-trees that are selected by the supplied filter. Uses ElementSubTreeDeleter.
154
+ * If the filter selects the top element itself, then the entire tree (including the top element) is deleted.
155
+ * That has the same effect as calling [[deleteElementTree]] on the top element.
156
+ * @param iModel The iModel
157
+ * @param topElement Where to start the search.
158
+ * @param filter Callback that selects sub-trees that should be deleted.
159
+ * @beta
160
+ */
161
+ export declare function deleteElementSubTrees(iModel: IModelDb, topElement: Id64String, filter: ElementSubTreeDeleteFilter): void;
162
+ export {};
163
163
  //# sourceMappingURL=ElementTreeWalker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementTreeWalker.d.ts","sourceRoot":"","sources":["../../src/ElementTreeWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElementTreeWalker.d.ts","sourceRoot":"","sources":["../../src/ElementTreeWalker.ts"],"names":[],"mappings":"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"}