@itwin/core-backend 5.0.0-dev.9 → 5.0.0-dev.90

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 (275) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +14 -28
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +2 -0
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  7. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  8. package/lib/cjs/BisCoreSchema.js +2 -0
  9. package/lib/cjs/BisCoreSchema.js.map +1 -1
  10. package/lib/cjs/BlobContainerService.d.ts +4 -4
  11. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  12. package/lib/cjs/BlobContainerService.js.map +1 -1
  13. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  14. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  15. package/lib/cjs/BriefcaseManager.js +63 -20
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.js +6 -1
  18. package/lib/cjs/Category.js.map +1 -1
  19. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.js +92 -24
  21. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  22. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  23. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  24. package/lib/cjs/ChangedElementsDb.js +8 -7
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  27. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  28. package/lib/cjs/ChangesetECAdaptor.js +273 -261
  29. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  30. package/lib/cjs/ChannelControl.js.map +1 -1
  31. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  32. package/lib/cjs/CheckpointManager.js +15 -12
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +46 -2
  35. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  36. package/lib/cjs/ClassRegistry.js +98 -42
  37. package/lib/cjs/ClassRegistry.js.map +1 -1
  38. package/lib/cjs/CloudSqlite.d.ts +2 -1
  39. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  40. package/lib/cjs/CloudSqlite.js +15 -8
  41. package/lib/cjs/CloudSqlite.js.map +1 -1
  42. package/lib/cjs/CodeService.d.ts +2 -0
  43. package/lib/cjs/CodeService.d.ts.map +1 -1
  44. package/lib/cjs/CodeService.js +4 -0
  45. package/lib/cjs/CodeService.js.map +1 -1
  46. package/lib/cjs/CodeSpecs.js +3 -2
  47. package/lib/cjs/CodeSpecs.js.map +1 -1
  48. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  49. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  50. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  51. package/lib/cjs/DevTools.js +16 -16
  52. package/lib/cjs/DevTools.js.map +1 -1
  53. package/lib/cjs/DisplayStyle.js +2 -0
  54. package/lib/cjs/DisplayStyle.js.map +1 -1
  55. package/lib/cjs/ECDb.d.ts +16 -59
  56. package/lib/cjs/ECDb.d.ts.map +1 -1
  57. package/lib/cjs/ECDb.js +34 -73
  58. package/lib/cjs/ECDb.js.map +1 -1
  59. package/lib/cjs/ECSchemaXmlContext.js +1 -0
  60. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  61. package/lib/cjs/ECSqlStatement.d.ts +4 -2
  62. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  63. package/lib/cjs/ECSqlStatement.js +13 -4
  64. package/lib/cjs/ECSqlStatement.js.map +1 -1
  65. package/lib/cjs/Element.d.ts +14 -23
  66. package/lib/cjs/Element.d.ts.map +1 -1
  67. package/lib/cjs/Element.js +133 -46
  68. package/lib/cjs/Element.js.map +1 -1
  69. package/lib/cjs/ElementAspect.d.ts +0 -5
  70. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  71. package/lib/cjs/ElementAspect.js +24 -16
  72. package/lib/cjs/ElementAspect.js.map +1 -1
  73. package/lib/cjs/ElementGraphics.js.map +1 -1
  74. package/lib/cjs/ElementTreeWalker.js +13 -12
  75. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  76. package/lib/cjs/Entity.d.ts +46 -10
  77. package/lib/cjs/Entity.d.ts.map +1 -1
  78. package/lib/cjs/Entity.js +79 -16
  79. package/lib/cjs/Entity.js.map +1 -1
  80. package/lib/cjs/EntityReferences.js.map +1 -1
  81. package/lib/cjs/ExportGraphics.js +4 -0
  82. package/lib/cjs/ExportGraphics.js.map +1 -1
  83. package/lib/cjs/ExternalSource.js +22 -0
  84. package/lib/cjs/ExternalSource.js.map +1 -1
  85. package/lib/cjs/FontFile.d.ts +68 -0
  86. package/lib/cjs/FontFile.d.ts.map +1 -0
  87. package/lib/cjs/FontFile.js +36 -0
  88. package/lib/cjs/FontFile.js.map +1 -0
  89. package/lib/cjs/GeoCoordConfig.js +8 -8
  90. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  91. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  92. package/lib/cjs/GeometrySummary.js +53 -50
  93. package/lib/cjs/GeometrySummary.js.map +1 -1
  94. package/lib/cjs/HubMock.d.ts +4 -4
  95. package/lib/cjs/HubMock.d.ts.map +1 -1
  96. package/lib/cjs/HubMock.js +9 -6
  97. package/lib/cjs/HubMock.js.map +1 -1
  98. package/lib/cjs/IModelDb.d.ts +203 -72
  99. package/lib/cjs/IModelDb.d.ts.map +1 -1
  100. package/lib/cjs/IModelDb.js +338 -168
  101. package/lib/cjs/IModelDb.js.map +1 -1
  102. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  103. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  104. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  105. package/lib/cjs/IModelDbFonts.js.map +1 -0
  106. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  107. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  108. package/lib/cjs/IModelElementCloneContext.js +12 -1
  109. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  110. package/lib/cjs/IModelHost.d.ts +14 -14
  111. package/lib/cjs/IModelHost.d.ts.map +1 -1
  112. package/lib/cjs/IModelHost.js +75 -42
  113. package/lib/cjs/IModelHost.js.map +1 -1
  114. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  115. package/lib/cjs/IModelJsFs.js +17 -1
  116. package/lib/cjs/IModelJsFs.js.map +1 -1
  117. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  118. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  119. package/lib/cjs/ImageSourceConversion.js +37 -0
  120. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  121. package/lib/cjs/IpcHost.d.ts.map +1 -1
  122. package/lib/cjs/IpcHost.js +17 -12
  123. package/lib/cjs/IpcHost.js.map +1 -1
  124. package/lib/cjs/LineStyle.js.map +1 -1
  125. package/lib/cjs/LocalHub.js +9 -3
  126. package/lib/cjs/LocalHub.js.map +1 -1
  127. package/lib/cjs/LocalhostIpcHost.js +5 -6
  128. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  129. package/lib/cjs/LockControl.js.map +1 -1
  130. package/lib/cjs/Material.js +40 -0
  131. package/lib/cjs/Material.js.map +1 -1
  132. package/lib/cjs/Model.d.ts +1 -1
  133. package/lib/cjs/Model.d.ts.map +1 -1
  134. package/lib/cjs/Model.js +27 -2
  135. package/lib/cjs/Model.js.map +1 -1
  136. package/lib/cjs/NativeAppStorage.js +5 -3
  137. package/lib/cjs/NativeAppStorage.js.map +1 -1
  138. package/lib/cjs/NativeHost.js +6 -3
  139. package/lib/cjs/NativeHost.js.map +1 -1
  140. package/lib/cjs/NavigationRelationship.js +25 -25
  141. package/lib/cjs/NavigationRelationship.js.map +1 -1
  142. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  143. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  144. package/lib/cjs/PromiseMemoizer.js +12 -5
  145. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  146. package/lib/cjs/PropertyStore.js +1 -4
  147. package/lib/cjs/PropertyStore.js.map +1 -1
  148. package/lib/cjs/Relationship.d.ts.map +1 -1
  149. package/lib/cjs/Relationship.js +13 -1
  150. package/lib/cjs/Relationship.js.map +1 -1
  151. package/lib/cjs/RpcBackend.js.map +1 -1
  152. package/lib/cjs/SQLiteDb.d.ts +6 -4
  153. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  154. package/lib/cjs/SQLiteDb.js +74 -15
  155. package/lib/cjs/SQLiteDb.js.map +1 -1
  156. package/lib/cjs/Schema.d.ts +25 -1
  157. package/lib/cjs/Schema.d.ts.map +1 -1
  158. package/lib/cjs/Schema.js +44 -8
  159. package/lib/cjs/Schema.js.map +1 -1
  160. package/lib/cjs/SchemaSync.js +1 -4
  161. package/lib/cjs/SchemaSync.js.map +1 -1
  162. package/lib/cjs/SchemaUtils.js.map +1 -1
  163. package/lib/cjs/SheetIndex.js +6 -0
  164. package/lib/cjs/SheetIndex.js.map +1 -1
  165. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  166. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  167. package/lib/cjs/SqliteChangesetReader.js +21 -5
  168. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  169. package/lib/cjs/SqliteStatement.d.ts +4 -2
  170. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  171. package/lib/cjs/SqliteStatement.js +13 -1
  172. package/lib/cjs/SqliteStatement.js.map +1 -1
  173. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  174. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  175. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  176. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  177. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  178. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  179. package/lib/cjs/TextAnnotationLayout.js +56 -18
  180. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  181. package/lib/cjs/Texture.js +3 -0
  182. package/lib/cjs/Texture.js.map +1 -1
  183. package/lib/cjs/TileStorage.js +6 -1
  184. package/lib/cjs/TileStorage.js.map +1 -1
  185. package/lib/cjs/TxnManager.d.ts +55 -4
  186. package/lib/cjs/TxnManager.d.ts.map +1 -1
  187. package/lib/cjs/TxnManager.js +234 -58
  188. package/lib/cjs/TxnManager.js.map +1 -1
  189. package/lib/cjs/ViewDefinition.d.ts +6 -6
  190. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  191. package/lib/cjs/ViewDefinition.js +81 -26
  192. package/lib/cjs/ViewDefinition.js.map +1 -1
  193. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  194. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  195. package/lib/cjs/ViewStateHydrator.js +1 -11
  196. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  197. package/lib/cjs/ViewStore.js +3 -1
  198. package/lib/cjs/ViewStore.js.map +1 -1
  199. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  200. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  201. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  202. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  203. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  204. package/lib/cjs/core-backend.d.ts +7 -1
  205. package/lib/cjs/core-backend.d.ts.map +1 -1
  206. package/lib/cjs/core-backend.js +7 -1
  207. package/lib/cjs/core-backend.js.map +1 -1
  208. package/lib/cjs/domains/FunctionalElements.js +1 -1
  209. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  210. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  211. package/lib/cjs/domains/GenericElements.js.map +1 -1
  212. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  213. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  214. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  215. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  216. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  217. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  218. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  219. package/lib/cjs/internal/ChannelAdmin.js +25 -16
  220. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  221. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  222. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  223. package/lib/cjs/internal/FontFileImpl.js +143 -0
  224. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  225. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  226. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  227. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  228. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  229. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  230. package/lib/cjs/internal/NoLocks.js +2 -5
  231. package/lib/cjs/internal/NoLocks.js.map +1 -1
  232. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  233. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  234. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  235. package/lib/cjs/internal/Symbols.d.ts +7 -0
  236. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  237. package/lib/cjs/internal/Symbols.js +8 -1
  238. package/lib/cjs/internal/Symbols.js.map +1 -1
  239. package/lib/cjs/internal/cross-package.js.map +1 -1
  240. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  241. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  242. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  243. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  244. package/lib/cjs/internal/workspace/WorkspaceImpl.js +22 -17
  245. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  246. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  247. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  248. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  249. package/lib/cjs/rpc/multipart.js +2 -1
  250. package/lib/cjs/rpc/multipart.js.map +1 -1
  251. package/lib/cjs/rpc/tracing.js +2 -2
  252. package/lib/cjs/rpc/tracing.js.map +1 -1
  253. package/lib/cjs/rpc/web/logging.js.map +1 -1
  254. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  255. package/lib/cjs/rpc/web/request.js +2 -1
  256. package/lib/cjs/rpc/web/request.js.map +1 -1
  257. package/lib/cjs/rpc/web/response.js.map +1 -1
  258. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  259. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  260. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +5 -2
  261. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  262. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  263. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  264. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  265. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +4 -3
  266. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  267. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  268. package/lib/cjs/workspace/Settings.js.map +1 -1
  269. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  270. package/lib/cjs/workspace/Workspace.js.map +1 -1
  271. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  272. package/package.json +29 -26
  273. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  274. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  275. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -6,7 +6,6 @@
6
6
  /** @packageDocumentation
7
7
  * @module Elements
8
8
  */
9
- var _a, _b;
10
9
  Object.defineProperty(exports, "__esModule", { value: true });
11
10
  exports.RepositoryLink = exports.FolderLink = exports.UrlLink = exports.LinkElement = exports.GroupInformationElement = exports.SheetIndexPartition = exports.SpatialLocationPartition = exports.PhysicalPartition = exports.LinkPartition = exports.InformationRecordPartition = exports.GraphicalPartition3d = exports.GroupInformationPartition = exports.DocumentPartition = exports.DefinitionPartition = exports.InformationPartitionElement = exports.TemplateRecipe2d = exports.GraphicalType2d = exports.TemplateRecipe3d = exports.SpatialLocationType = exports.PhysicalType = exports.RecipeDefinitionElement = exports.TypeDefinitionElement = exports.DefinitionGroup = exports.DefinitionContainer = exports.DefinitionSet = exports.DefinitionElement = exports.InformationRecordElement = exports.Sheet = exports.SheetTemplate = exports.SheetBorderTemplate = exports.SectionDrawing = exports.Drawing = exports.Document = exports.Subject = exports.InformationReferenceElement = exports.DriverBundleElement = exports.InformationContentElement = exports.SectionDrawingLocation = exports.VolumeElement = exports.SpatialLocationElement = exports.PhysicalElement = exports.SpatialElement = exports.DrawingGraphic = exports.AnnotationElement2d = exports.GraphicalElement2d = exports.GeometricElement2d = exports.GraphicalElement3d = exports.GeometricElement3d = exports.GeometricElement = exports.Element = void 0;
12
11
  exports.RenderTimeline = exports.LineStyle = exports.GeometryPart = exports.RoleElement = exports.EmbeddedFileLink = void 0;
@@ -45,6 +44,18 @@ class Element extends Entity_1.Entity {
45
44
  static get className() { return "Element"; }
46
45
  /** @internal */
47
46
  static get protectedOperations() { return ["onInsert", "onUpdate", "onDelete"]; }
47
+ /** The ModelId of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */
48
+ model;
49
+ /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */
50
+ code;
51
+ /** The parent element, if present, of this element. */
52
+ parent;
53
+ /** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element by some other federated database */
54
+ federationGuid;
55
+ /** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */
56
+ userLabel;
57
+ /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this element. */
58
+ jsonProperties;
48
59
  constructor(props, iModel) {
49
60
  super(props, iModel);
50
61
  this.code = core_common_1.Code.fromJSON(props.code); // TODO: Validate props.code - don't silently fail if it is the wrong type
@@ -237,13 +248,6 @@ class Element extends Entity_1.Entity {
237
248
  val.jsonProperties = this.jsonProperties;
238
249
  return val;
239
250
  }
240
- /** Collect the Ids of this element's *references* at this level of the class hierarchy.
241
- * @deprecated in 3.x. use [[collectReferenceIds]] instead, the use of the term *predecessors* was confusing and became inaccurate when the transformer could handle cycles
242
- * @beta
243
- */
244
- collectPredecessorIds(predecessorIds) {
245
- return this.collectReferenceIds(predecessorIds);
246
- }
247
251
  collectReferenceIds(referenceIds) {
248
252
  super.collectReferenceIds(referenceIds);
249
253
  referenceIds.addModel(this.model); // The modeledElement is a reference
@@ -252,15 +256,34 @@ class Element extends Entity_1.Entity {
252
256
  if (this.parent)
253
257
  referenceIds.addElement(this.parent.id); // A parent element is a reference
254
258
  }
255
- /** Get the Ids of this element's *references*. A *reference* is any element whose id is stored in the EC data of this element
256
- * This is important for cloning operations but can be useful in other situations as well.
259
+ /** A *required reference* is an element that had to be inserted before this element could have been inserted.
260
+ * This is the list of property keys on this element that store references to those elements
261
+ * @note This should be overridden (with `super` called) at each level of the class hierarchy that introduces required references.
262
+ * @note any property listed here must be added to the reference ids in [[collectReferenceIds]]
257
263
  * @beta
258
- * @deprecated in 3.x. use [[getReferenceIds]] instead, the use of the term *predecessors* was confusing and became inaccurate when the transformer could handle cycles
259
264
  */
260
- getPredecessorIds() {
261
- return this.getReferenceIds();
262
- }
263
- /** Get the class metadata for this element. */
265
+ static requiredReferenceKeys = ["parent", "model"];
266
+ /** A map of every [[requiredReferenceKeys]] on this class to their entity type.
267
+ * @note This should be overridden (with `super` called) at each level of the class hierarchy that introduces required references.
268
+ * @alpha
269
+ */
270
+ static requiredReferenceKeyTypeMap = {
271
+ parent: core_common_1.ConcreteEntityTypes.Element,
272
+ model: core_common_1.ConcreteEntityTypes.Model,
273
+ };
274
+ /** Get the class metadata for this element.
275
+ * @deprecated in 5.0. Please use `getMetaData` provided by the parent class `Entity` instead.
276
+ *
277
+ * @example
278
+ * ```typescript
279
+ * // Current usage:
280
+ * const metaData: EntityMetaData | undefined = element.getClassMetaData();
281
+ *
282
+ * // Replacement:
283
+ * const metaData: EntityClass = await element.getMetaData();
284
+ * ```
285
+ */
286
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
264
287
  getClassMetaData() { return this.iModel.classMetaDataRegistry.find(this.classFullName); }
265
288
  getAllUserProperties() {
266
289
  if (!this.jsonProperties.UserProps)
@@ -308,26 +331,15 @@ class Element extends Entity_1.Entity {
308
331
  delete() { this.iModel.elements.deleteElement(this.id); }
309
332
  }
310
333
  exports.Element = Element;
311
- /** A *required reference* is an element that had to be inserted before this element could have been inserted.
312
- * This is the list of property keys on this element that store references to those elements
313
- * @note This should be overridden (with `super` called) at each level of the class hierarchy that introduces required references.
314
- * @note any property listed here must be added to the reference ids in [[collectReferenceIds]]
315
- * @beta
316
- */
317
- Element.requiredReferenceKeys = ["parent", "model"];
318
- /** A map of every [[requiredReferenceKeys]] on this class to their entity type.
319
- * @note This should be overridden (with `super` called) at each level of the class hierarchy that introduces required references.
320
- * @alpha
321
- */
322
- Element.requiredReferenceKeyTypeMap = {
323
- parent: core_common_1.ConcreteEntityTypes.Element,
324
- model: core_common_1.ConcreteEntityTypes.Model,
325
- };
326
334
  /** An abstract base class to model real world entities that intrinsically have geometry.
327
335
  * @public
328
336
  */
329
- class GeometricElement extends (_b = Element) {
337
+ class GeometricElement extends Element {
330
338
  static get className() { return "GeometricElement"; }
339
+ /** The Id of the [[Category]] for this GeometricElement. */
340
+ category;
341
+ /** The GeometryStream for this GeometricElement. */
342
+ geom;
331
343
  constructor(props, iModel) {
332
344
  super(props, iModel);
333
345
  this.category = core_bentley_1.Id64.fromJSON(props.category);
@@ -352,22 +364,23 @@ class GeometricElement extends (_b = Element) {
352
364
  referenceIds.addElement(this.category);
353
365
  // TODO: GeometryPartIds?
354
366
  }
367
+ /** @beta */
368
+ static requiredReferenceKeys = [...super.requiredReferenceKeys, "category"];
369
+ /** @alpha */
370
+ static requiredReferenceKeyTypeMap = {
371
+ ...super.requiredReferenceKeyTypeMap,
372
+ category: core_common_1.ConcreteEntityTypes.Element,
373
+ };
355
374
  }
356
375
  exports.GeometricElement = GeometricElement;
357
- _a = GeometricElement;
358
- /** @beta */
359
- GeometricElement.requiredReferenceKeys = [...Reflect.get(_b, "requiredReferenceKeys", _a), "category"];
360
- /** @alpha */
361
- GeometricElement.requiredReferenceKeyTypeMap = {
362
- ...Reflect.get(_b, "requiredReferenceKeyTypeMap", _a),
363
- category: core_common_1.ConcreteEntityTypes.Element,
364
- };
365
376
  /** An abstract base class to model real world entities that intrinsically have 3d geometry.
366
377
  * See [how to create a GeometricElement3d]($docs/learning/backend/CreateElements.md#GeometricElement3d).
367
378
  * @public
368
379
  */
369
380
  class GeometricElement3d extends GeometricElement {
370
381
  static get className() { return "GeometricElement3d"; }
382
+ placement;
383
+ typeDefinition;
371
384
  constructor(props, iModel) {
372
385
  super(props, iModel);
373
386
  this.placement = core_common_1.Placement3d.fromJSON(props.placement);
@@ -401,6 +414,8 @@ exports.GraphicalElement3d = GraphicalElement3d;
401
414
  */
402
415
  class GeometricElement2d extends GeometricElement {
403
416
  static get className() { return "GeometricElement2d"; }
417
+ placement;
418
+ typeDefinition;
404
419
  constructor(props, iModel) {
405
420
  super(props, iModel);
406
421
  this.placement = core_common_1.Placement2d.fromJSON(props.placement);
@@ -458,6 +473,8 @@ exports.SpatialElement = SpatialElement;
458
473
  */
459
474
  class PhysicalElement extends SpatialElement {
460
475
  static get className() { return "PhysicalElement"; }
476
+ /** If defined, the [[PhysicalMaterial]] that makes up this PhysicalElement. */
477
+ physicalMaterial;
461
478
  constructor(props, iModel) {
462
479
  super(props, iModel);
463
480
  this.physicalMaterial = core_common_1.RelatedElement.fromJSON(props.physicalMaterial);
@@ -491,6 +508,8 @@ exports.VolumeElement = VolumeElement;
491
508
  * @public
492
509
  */
493
510
  class SectionDrawingLocation extends SpatialLocationElement {
511
+ /** The Id of the [[ViewDefinition]] to which this location refers. */
512
+ sectionView;
494
513
  static get className() { return "SectionDrawingLocation"; }
495
514
  constructor(props, iModel) {
496
515
  super(props, iModel);
@@ -532,12 +551,15 @@ class InformationReferenceElement extends InformationContentElement {
532
551
  }
533
552
  exports.InformationReferenceElement = InformationReferenceElement;
534
553
  /** A Subject is an information element that describes what this repository (or part thereof) is about.
535
- * See [how to create a Subject element]($docs/learning/backend/CreateElements.md#Subject).
536
554
  * @public
537
555
  */
538
556
  class Subject extends InformationReferenceElement {
539
557
  static get className() { return "Subject"; }
540
- constructor(props, iModel) { super(props, iModel); }
558
+ description;
559
+ constructor(props, iModel) {
560
+ super(props, iModel);
561
+ this.description = props.description;
562
+ }
541
563
  toJSON() {
542
564
  return super.toJSON(); // Entity.toJSON takes care of auto-handled properties
543
565
  }
@@ -639,6 +661,21 @@ exports.Drawing = Drawing;
639
661
  * @public
640
662
  */
641
663
  class SectionDrawing extends Drawing {
664
+ /** The type of section used to generate the drawing. */
665
+ sectionType;
666
+ /** The spatial view from which the section was generated. */
667
+ spatialView;
668
+ /** A transform from the section drawing model's coordinates to spatial coordinates. */
669
+ drawingToSpatialTransform;
670
+ /** If the section drawing is placed onto a [[Sheet]] via a [[ViewAttachment]], a transform from the sheet's coordinates to spatial coordinates. */
671
+ sheetToSpatialTransform;
672
+ /** If the section drawing is placed onto a [[Sheet]] via a [[ViewAttachment]], the clip to apply to the sheet graphics when drawn in the context
673
+ * of the spatial view.
674
+ * @note The ClipVector is defined in spatial coordinates.
675
+ */
676
+ drawingBoundaryClip;
677
+ /** If true, when displaying the section drawing as a [DrawingViewState]($frontend), the [[spatialView]] will also be displayed. */
678
+ displaySpatialView;
642
679
  static get className() { return "SectionDrawing"; }
643
680
  static get drawingModelFullClassName() { return Model_1.SectionDrawingModel.classFullName; }
644
681
  constructor(props, iModel) {
@@ -677,7 +714,13 @@ exports.SectionDrawing = SectionDrawing;
677
714
  */
678
715
  class SheetBorderTemplate extends Document {
679
716
  static get className() { return "SheetBorderTemplate"; }
680
- constructor(props, iModel) { super(props, iModel); }
717
+ height;
718
+ width;
719
+ constructor(props, iModel) {
720
+ super(props, iModel);
721
+ this.height = props.height;
722
+ this.width = props.width;
723
+ }
681
724
  }
682
725
  exports.SheetBorderTemplate = SheetBorderTemplate;
683
726
  /** The template for a [[Sheet]]
@@ -685,7 +728,15 @@ exports.SheetBorderTemplate = SheetBorderTemplate;
685
728
  */
686
729
  class SheetTemplate extends Document {
687
730
  static get className() { return "SheetTemplate"; }
688
- constructor(props, iModel) { super(props, iModel); }
731
+ height;
732
+ width;
733
+ border;
734
+ constructor(props, iModel) {
735
+ super(props, iModel);
736
+ this.height = props.height;
737
+ this.width = props.width;
738
+ this.border = props.border;
739
+ }
689
740
  collectReferenceIds(referenceIds) {
690
741
  super.collectReferenceIds(referenceIds);
691
742
  if (undefined !== this.border)
@@ -698,6 +749,10 @@ exports.SheetTemplate = SheetTemplate;
698
749
  */
699
750
  class Sheet extends Document {
700
751
  static get className() { return "Sheet"; }
752
+ height;
753
+ width;
754
+ scale;
755
+ sheetTemplate;
701
756
  constructor(props, iModel) {
702
757
  super(props, iModel);
703
758
  this.height = core_bentley_1.JsonUtils.asDouble(props.height);
@@ -735,6 +790,8 @@ exports.InformationRecordElement = InformationRecordElement;
735
790
  */
736
791
  class DefinitionElement extends InformationContentElement {
737
792
  static get className() { return "DefinitionElement"; }
793
+ /** If true, don't show this DefinitionElement in user interface lists. */
794
+ isPrivate;
738
795
  constructor(props, iModel) {
739
796
  super(props, iModel);
740
797
  this.isPrivate = true === props.isPrivate;
@@ -831,7 +888,11 @@ exports.DefinitionGroup = DefinitionGroup;
831
888
  */
832
889
  class TypeDefinitionElement extends DefinitionElement {
833
890
  static get className() { return "TypeDefinitionElement"; }
834
- constructor(props, iModel) { super(props, iModel); }
891
+ recipe;
892
+ constructor(props, iModel) {
893
+ super(props, iModel);
894
+ this.recipe = this.recipe;
895
+ }
835
896
  collectReferenceIds(referenceIds) {
836
897
  super.collectReferenceIds(referenceIds);
837
898
  if (undefined !== this.recipe)
@@ -854,6 +915,8 @@ exports.RecipeDefinitionElement = RecipeDefinitionElement;
854
915
  */
855
916
  class PhysicalType extends TypeDefinitionElement {
856
917
  static get className() { return "PhysicalType"; }
918
+ /** If defined, the [[PhysicalMaterial]] that makes up this PhysicalType. */
919
+ physicalMaterial;
857
920
  constructor(props, iModel) {
858
921
  super(props, iModel);
859
922
  this.physicalMaterial = core_common_1.RelatedElement.fromJSON(props.physicalMaterial);
@@ -1015,7 +1078,12 @@ exports.TemplateRecipe2d = TemplateRecipe2d;
1015
1078
  */
1016
1079
  class InformationPartitionElement extends InformationContentElement {
1017
1080
  static get className() { return "InformationPartitionElement"; }
1018
- constructor(props, iModel) { super(props, iModel); }
1081
+ /** A human-readable string describing the intent of the partition. */
1082
+ description;
1083
+ constructor(props, iModel) {
1084
+ super(props, iModel);
1085
+ this.description = props.description;
1086
+ }
1019
1087
  toJSON() {
1020
1088
  return super.toJSON(); // Entity.toJSON takes care of auto-handled properties
1021
1089
  }
@@ -1137,6 +1205,8 @@ exports.LinkElement = LinkElement;
1137
1205
  */
1138
1206
  class UrlLink extends LinkElement {
1139
1207
  static get className() { return "UrlLink"; }
1208
+ description;
1209
+ url;
1140
1210
  constructor(props, iModel) {
1141
1211
  super(props, iModel);
1142
1212
  this.description = props.description;
@@ -1163,6 +1233,9 @@ exports.FolderLink = FolderLink;
1163
1233
  */
1164
1234
  class RepositoryLink extends UrlLink {
1165
1235
  static get className() { return "RepositoryLink"; }
1236
+ repositoryGuid;
1237
+ /** @note This property was added to the BisCore schema in version 1.0.13 */
1238
+ format;
1166
1239
  constructor(props, iModel) {
1167
1240
  super(props, iModel);
1168
1241
  this.repositoryGuid = props.repositoryGuid;
@@ -1198,6 +1271,8 @@ exports.RoleElement = RoleElement;
1198
1271
  */
1199
1272
  class GeometryPart extends DefinitionElement {
1200
1273
  static get className() { return "GeometryPart"; }
1274
+ geom;
1275
+ bbox;
1201
1276
  constructor(props, iModel) {
1202
1277
  super(props, iModel);
1203
1278
  this.geom = props.geom;
@@ -1226,7 +1301,13 @@ exports.GeometryPart = GeometryPart;
1226
1301
  */
1227
1302
  class LineStyle extends DefinitionElement {
1228
1303
  static get className() { return "LineStyle"; }
1229
- constructor(props, iModel) { super(props, iModel); }
1304
+ description;
1305
+ data;
1306
+ constructor(props, iModel) {
1307
+ super(props, iModel);
1308
+ this.description = props.description;
1309
+ this.data = props.data;
1310
+ }
1230
1311
  /** Create a Code for a LineStyle definition given a name that is meant to be unique within the scope of the specified model.
1231
1312
  * @param iModel The IModel
1232
1313
  * @param scopeModelId The Id of the DefinitionModel that contains the LineStyle and provides the scope for its name.
@@ -1244,6 +1325,12 @@ exports.LineStyle = LineStyle;
1244
1325
  */
1245
1326
  class RenderTimeline extends InformationRecordElement {
1246
1327
  static get className() { return "RenderTimeline"; }
1328
+ /** A human-readable description of the timeline, which may be an empty string. */
1329
+ description;
1330
+ /** The JSON representation of the instructions for visualizing change over time.
1331
+ * @see [RenderSchedule.Script]($common) for the API for working with the script.
1332
+ */
1333
+ scriptProps;
1247
1334
  constructor(props, iModel) {
1248
1335
  super(props, iModel);
1249
1336
  this.description = props.description ?? "";