@itwin/core-backend 5.3.0-dev.9 → 5.3.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 (490) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/lib/cjs/BackendHubAccess.js.map +1 -1
  3. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  4. package/lib/cjs/BisCoreSchema.js.map +1 -1
  5. package/lib/cjs/BlobContainerService.js.map +1 -1
  6. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  7. package/lib/cjs/BriefcaseManager.js +14 -0
  8. package/lib/cjs/BriefcaseManager.js.map +1 -1
  9. package/lib/cjs/CatalogDb.js.map +1 -1
  10. package/lib/cjs/Category.js.map +1 -1
  11. package/lib/cjs/ChangeSummaryManager.js +2 -2
  12. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  13. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  14. package/lib/cjs/ChangesetECAdaptor.js +248 -248
  15. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  16. package/lib/cjs/ChannelControl.js.map +1 -1
  17. package/lib/cjs/CheckpointManager.js.map +1 -1
  18. package/lib/cjs/ClassRegistry.js +5 -5
  19. package/lib/cjs/ClassRegistry.js.map +1 -1
  20. package/lib/cjs/CloudSqlite.d.ts +2 -0
  21. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  22. package/lib/cjs/CloudSqlite.js.map +1 -1
  23. package/lib/cjs/CodeService.js.map +1 -1
  24. package/lib/cjs/CodeSpecs.js.map +1 -1
  25. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  26. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  27. package/lib/cjs/DevTools.js.map +1 -1
  28. package/lib/cjs/DisplayStyle.d.ts +2 -2
  29. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  30. package/lib/cjs/DisplayStyle.js +4 -4
  31. package/lib/cjs/DisplayStyle.js.map +1 -1
  32. package/lib/cjs/ECDb.js +1 -1
  33. package/lib/cjs/ECDb.js.map +1 -1
  34. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  35. package/lib/cjs/ECSqlStatement.js.map +1 -1
  36. package/lib/cjs/Element.d.ts +31 -3
  37. package/lib/cjs/Element.d.ts.map +1 -1
  38. package/lib/cjs/Element.js +55 -3
  39. package/lib/cjs/Element.js.map +1 -1
  40. package/lib/cjs/ElementAspect.d.ts +24 -1
  41. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  42. package/lib/cjs/ElementAspect.js +102 -1
  43. package/lib/cjs/ElementAspect.js.map +1 -1
  44. package/lib/cjs/ElementGraphics.js.map +1 -1
  45. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  46. package/lib/cjs/Entity.js.map +1 -1
  47. package/lib/cjs/EntityReferences.js.map +1 -1
  48. package/lib/cjs/ExportGraphics.js.map +1 -1
  49. package/lib/cjs/ExternalSource.js.map +1 -1
  50. package/lib/cjs/FontFile.js.map +1 -1
  51. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  52. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  53. package/lib/cjs/GeometrySummary.js +47 -47
  54. package/lib/cjs/GeometrySummary.js.map +1 -1
  55. package/lib/cjs/IModelDb.d.ts +28 -4
  56. package/lib/cjs/IModelDb.d.ts.map +1 -1
  57. package/lib/cjs/IModelDb.js +76 -14
  58. package/lib/cjs/IModelDb.js.map +1 -1
  59. package/lib/cjs/IModelDbFonts.js.map +1 -1
  60. package/lib/cjs/IModelElementCloneContext.d.ts +1 -1
  61. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  62. package/lib/cjs/IModelElementCloneContext.js +2 -2
  63. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  64. package/lib/cjs/IModelHost.js.map +1 -1
  65. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  66. package/lib/cjs/IModelJsFs.js.map +1 -1
  67. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  68. package/lib/cjs/IpcHost.js.map +1 -1
  69. package/lib/cjs/LineStyle.js.map +1 -1
  70. package/lib/cjs/LocalHub.js +1 -1
  71. package/lib/cjs/LocalHub.js.map +1 -1
  72. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  73. package/lib/cjs/LockControl.js.map +1 -1
  74. package/lib/cjs/Material.d.ts +1 -1
  75. package/lib/cjs/Material.d.ts.map +1 -1
  76. package/lib/cjs/Material.js +2 -2
  77. package/lib/cjs/Material.js.map +1 -1
  78. package/lib/cjs/Model.js.map +1 -1
  79. package/lib/cjs/NativeAppStorage.js.map +1 -1
  80. package/lib/cjs/NativeHost.js.map +1 -1
  81. package/lib/cjs/NavigationRelationship.d.ts +15 -0
  82. package/lib/cjs/NavigationRelationship.d.ts.map +1 -1
  83. package/lib/cjs/NavigationRelationship.js +22 -1
  84. package/lib/cjs/NavigationRelationship.js.map +1 -1
  85. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  86. package/lib/cjs/PropertyStore.js.map +1 -1
  87. package/lib/cjs/Relationship.d.ts +5 -0
  88. package/lib/cjs/Relationship.d.ts.map +1 -1
  89. package/lib/cjs/Relationship.js +7 -0
  90. package/lib/cjs/Relationship.js.map +1 -1
  91. package/lib/cjs/RpcBackend.js.map +1 -1
  92. package/lib/cjs/SQLiteDb.js.map +1 -1
  93. package/lib/cjs/Schema.js.map +1 -1
  94. package/lib/cjs/SchemaSync.js.map +1 -1
  95. package/lib/cjs/SchemaUtils.js.map +1 -1
  96. package/lib/cjs/SheetIndex.js.map +1 -1
  97. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  98. package/lib/cjs/SqliteStatement.js.map +1 -1
  99. package/lib/cjs/StashManager.js.map +1 -1
  100. package/lib/cjs/Texture.js.map +1 -1
  101. package/lib/cjs/TileStorage.js.map +1 -1
  102. package/lib/cjs/TxnManager.d.ts +25 -0
  103. package/lib/cjs/TxnManager.d.ts.map +1 -1
  104. package/lib/cjs/TxnManager.js +61 -4
  105. package/lib/cjs/TxnManager.js.map +1 -1
  106. package/lib/cjs/ViewDefinition.d.ts +1 -1
  107. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  108. package/lib/cjs/ViewDefinition.js +2 -2
  109. package/lib/cjs/ViewDefinition.js.map +1 -1
  110. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  111. package/lib/cjs/ViewStore.js.map +1 -1
  112. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts +15 -1
  113. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  114. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +36 -23
  115. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  116. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  117. package/lib/cjs/annotations/LeaderGeometry.d.ts +13 -1
  118. package/lib/cjs/annotations/LeaderGeometry.d.ts.map +1 -1
  119. package/lib/cjs/annotations/LeaderGeometry.js +88 -10
  120. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  121. package/lib/cjs/annotations/TextAnnotationElement.d.ts +6 -5
  122. package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
  123. package/lib/cjs/annotations/TextAnnotationElement.js +33 -14
  124. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  125. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  126. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  127. package/lib/cjs/annotations/TextBlockLayout.d.ts.map +1 -1
  128. package/lib/cjs/annotations/TextBlockLayout.js +2 -1
  129. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  130. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  131. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  132. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  133. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  134. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  135. package/lib/cjs/core-backend.js.map +1 -1
  136. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  137. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  138. package/lib/cjs/domains/GenericElements.js.map +1 -1
  139. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  140. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  141. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  142. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  143. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  144. package/lib/cjs/internal/HubMock.js.map +1 -1
  145. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  146. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  147. package/lib/cjs/internal/NoLocks.js.map +1 -1
  148. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  149. package/lib/cjs/internal/Symbols.js.map +1 -1
  150. package/lib/cjs/internal/annotations/fields.d.ts +3 -2
  151. package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
  152. package/lib/cjs/internal/annotations/fields.js +12 -5
  153. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  154. package/lib/cjs/internal/cross-package.js.map +1 -1
  155. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  156. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  157. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  158. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  159. package/lib/cjs/rpc/multipart.js.map +1 -1
  160. package/lib/cjs/rpc/tracing.js.map +1 -1
  161. package/lib/cjs/rpc/web/logging.js.map +1 -1
  162. package/lib/cjs/rpc/web/request.js.map +1 -1
  163. package/lib/cjs/rpc/web/response.js.map +1 -1
  164. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  165. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  166. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  167. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  168. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  169. package/lib/cjs/workspace/Settings.js.map +1 -1
  170. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  171. package/lib/cjs/workspace/Workspace.js.map +1 -1
  172. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  173. package/lib/esm/BackendHubAccess.js.map +1 -1
  174. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  175. package/lib/esm/BisCoreSchema.js.map +1 -1
  176. package/lib/esm/BlobContainerService.js.map +1 -1
  177. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  178. package/lib/esm/BriefcaseManager.js +14 -0
  179. package/lib/esm/BriefcaseManager.js.map +1 -1
  180. package/lib/esm/CatalogDb.js.map +1 -1
  181. package/lib/esm/Category.js.map +1 -1
  182. package/lib/esm/ChangeSummaryManager.js +2 -2
  183. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  184. package/lib/esm/ChangedElementsDb.js.map +1 -1
  185. package/lib/esm/ChangesetECAdaptor.js +248 -248
  186. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  187. package/lib/esm/ChannelControl.js.map +1 -1
  188. package/lib/esm/CheckpointManager.js.map +1 -1
  189. package/lib/esm/ClassRegistry.js +5 -5
  190. package/lib/esm/ClassRegistry.js.map +1 -1
  191. package/lib/esm/CloudSqlite.d.ts +2 -0
  192. package/lib/esm/CloudSqlite.d.ts.map +1 -1
  193. package/lib/esm/CloudSqlite.js.map +1 -1
  194. package/lib/esm/CodeService.js.map +1 -1
  195. package/lib/esm/CodeSpecs.js.map +1 -1
  196. package/lib/esm/ConcurrentQuery.js.map +1 -1
  197. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  198. package/lib/esm/DevTools.js.map +1 -1
  199. package/lib/esm/DisplayStyle.d.ts +2 -2
  200. package/lib/esm/DisplayStyle.d.ts.map +1 -1
  201. package/lib/esm/DisplayStyle.js +4 -4
  202. package/lib/esm/DisplayStyle.js.map +1 -1
  203. package/lib/esm/ECDb.js +1 -1
  204. package/lib/esm/ECDb.js.map +1 -1
  205. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  206. package/lib/esm/ECSqlStatement.js.map +1 -1
  207. package/lib/esm/Element.d.ts +31 -3
  208. package/lib/esm/Element.d.ts.map +1 -1
  209. package/lib/esm/Element.js +55 -4
  210. package/lib/esm/Element.js.map +1 -1
  211. package/lib/esm/ElementAspect.d.ts +24 -1
  212. package/lib/esm/ElementAspect.d.ts.map +1 -1
  213. package/lib/esm/ElementAspect.js +101 -1
  214. package/lib/esm/ElementAspect.js.map +1 -1
  215. package/lib/esm/ElementGraphics.js.map +1 -1
  216. package/lib/esm/ElementTreeWalker.js.map +1 -1
  217. package/lib/esm/Entity.js.map +1 -1
  218. package/lib/esm/EntityReferences.js.map +1 -1
  219. package/lib/esm/ExportGraphics.js.map +1 -1
  220. package/lib/esm/ExternalSource.js.map +1 -1
  221. package/lib/esm/FontFile.js.map +1 -1
  222. package/lib/esm/GeoCoordConfig.js.map +1 -1
  223. package/lib/esm/GeographicCRSServices.js.map +1 -1
  224. package/lib/esm/GeometrySummary.js +47 -47
  225. package/lib/esm/GeometrySummary.js.map +1 -1
  226. package/lib/esm/IModelDb.d.ts +28 -4
  227. package/lib/esm/IModelDb.d.ts.map +1 -1
  228. package/lib/esm/IModelDb.js +76 -14
  229. package/lib/esm/IModelDb.js.map +1 -1
  230. package/lib/esm/IModelDbFonts.js.map +1 -1
  231. package/lib/esm/IModelElementCloneContext.d.ts +1 -1
  232. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -1
  233. package/lib/esm/IModelElementCloneContext.js +2 -2
  234. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  235. package/lib/esm/IModelHost.js.map +1 -1
  236. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  237. package/lib/esm/IModelJsFs.js.map +1 -1
  238. package/lib/esm/ImageSourceConversion.js.map +1 -1
  239. package/lib/esm/IpcHost.js.map +1 -1
  240. package/lib/esm/LineStyle.js.map +1 -1
  241. package/lib/esm/LocalHub.js +1 -1
  242. package/lib/esm/LocalHub.js.map +1 -1
  243. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  244. package/lib/esm/LockControl.js.map +1 -1
  245. package/lib/esm/Material.d.ts +1 -1
  246. package/lib/esm/Material.d.ts.map +1 -1
  247. package/lib/esm/Material.js +2 -2
  248. package/lib/esm/Material.js.map +1 -1
  249. package/lib/esm/Model.js.map +1 -1
  250. package/lib/esm/NativeAppStorage.js.map +1 -1
  251. package/lib/esm/NativeHost.js.map +1 -1
  252. package/lib/esm/NavigationRelationship.d.ts +15 -0
  253. package/lib/esm/NavigationRelationship.d.ts.map +1 -1
  254. package/lib/esm/NavigationRelationship.js +19 -0
  255. package/lib/esm/NavigationRelationship.js.map +1 -1
  256. package/lib/esm/PromiseMemoizer.js.map +1 -1
  257. package/lib/esm/PropertyStore.js.map +1 -1
  258. package/lib/esm/Relationship.d.ts +5 -0
  259. package/lib/esm/Relationship.d.ts.map +1 -1
  260. package/lib/esm/Relationship.js +7 -0
  261. package/lib/esm/Relationship.js.map +1 -1
  262. package/lib/esm/RpcBackend.js.map +1 -1
  263. package/lib/esm/SQLiteDb.js.map +1 -1
  264. package/lib/esm/Schema.js.map +1 -1
  265. package/lib/esm/SchemaSync.js.map +1 -1
  266. package/lib/esm/SchemaUtils.js.map +1 -1
  267. package/lib/esm/SheetIndex.js.map +1 -1
  268. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  269. package/lib/esm/SqliteStatement.js.map +1 -1
  270. package/lib/esm/StashManager.js.map +1 -1
  271. package/lib/esm/Texture.js.map +1 -1
  272. package/lib/esm/TileStorage.js.map +1 -1
  273. package/lib/esm/TxnManager.d.ts +25 -0
  274. package/lib/esm/TxnManager.d.ts.map +1 -1
  275. package/lib/esm/TxnManager.js +61 -4
  276. package/lib/esm/TxnManager.js.map +1 -1
  277. package/lib/esm/ViewDefinition.d.ts +1 -1
  278. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  279. package/lib/esm/ViewDefinition.js +2 -2
  280. package/lib/esm/ViewDefinition.js.map +1 -1
  281. package/lib/esm/ViewStateHydrator.js.map +1 -1
  282. package/lib/esm/ViewStore.js.map +1 -1
  283. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts +15 -1
  284. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  285. package/lib/esm/annotations/ElementDrivesTextAnnotation.js +37 -24
  286. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  287. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  288. package/lib/esm/annotations/LeaderGeometry.d.ts +13 -1
  289. package/lib/esm/annotations/LeaderGeometry.d.ts.map +1 -1
  290. package/lib/esm/annotations/LeaderGeometry.js +89 -12
  291. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  292. package/lib/esm/annotations/TextAnnotationElement.d.ts +6 -5
  293. package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
  294. package/lib/esm/annotations/TextAnnotationElement.js +33 -14
  295. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  296. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  297. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  298. package/lib/esm/annotations/TextBlockLayout.d.ts.map +1 -1
  299. package/lib/esm/annotations/TextBlockLayout.js +2 -1
  300. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  301. package/lib/esm/core-backend.js.map +1 -1
  302. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  303. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  304. package/lib/esm/domains/GenericElements.js.map +1 -1
  305. package/lib/esm/domains/GenericSchema.js.map +1 -1
  306. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  307. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  308. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  309. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  310. package/lib/esm/internal/HubMock.js.map +1 -1
  311. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  312. package/lib/esm/internal/NativePlatform.js.map +1 -1
  313. package/lib/esm/internal/NoLocks.js.map +1 -1
  314. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  315. package/lib/esm/internal/Symbols.js.map +1 -1
  316. package/lib/esm/internal/annotations/fields.d.ts +3 -2
  317. package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
  318. package/lib/esm/internal/annotations/fields.js +11 -5
  319. package/lib/esm/internal/annotations/fields.js.map +1 -1
  320. package/lib/esm/internal/cross-package.js.map +1 -1
  321. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  322. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  323. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  324. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  325. package/lib/esm/rpc/multipart.js.map +1 -1
  326. package/lib/esm/rpc/tracing.js.map +1 -1
  327. package/lib/esm/rpc/web/logging.js.map +1 -1
  328. package/lib/esm/rpc/web/request.js.map +1 -1
  329. package/lib/esm/rpc/web/response.js.map +1 -1
  330. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  331. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  332. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  333. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  334. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  335. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  336. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  337. package/lib/esm/test/AttachDb.test.js +11 -11
  338. package/lib/esm/test/AttachDb.test.js.map +1 -1
  339. package/lib/esm/test/ElementDrivesElement.test.d.ts +93 -0
  340. package/lib/esm/test/ElementDrivesElement.test.d.ts.map +1 -0
  341. package/lib/esm/test/ElementDrivesElement.test.js +862 -0
  342. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -0
  343. package/lib/esm/test/ElementLRUCache.test.js +13 -0
  344. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  345. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  346. package/lib/esm/test/IModelHost.test.js.map +1 -1
  347. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  348. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  349. package/lib/esm/test/IpcHost.test.js.map +1 -1
  350. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  351. package/lib/esm/test/PrintElementTree.js.map +1 -1
  352. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  353. package/lib/esm/test/RevisionUtility.js.map +1 -1
  354. package/lib/esm/test/SchemaUtils.test.js +25 -25
  355. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  356. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  357. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  358. package/lib/esm/test/TestUtils.js.map +1 -1
  359. package/lib/esm/test/annotations/Fields.test.js +81 -37
  360. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  361. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  362. package/lib/esm/test/annotations/LeaderGeometry.test.js +47 -2
  363. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  364. package/lib/esm/test/annotations/TextAnnotation.test.js +120 -31
  365. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  366. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  367. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  368. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  369. package/lib/esm/test/categories/Category.test.js.map +1 -1
  370. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  371. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  372. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  373. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +17 -17
  374. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  375. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  376. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  377. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  378. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  379. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  380. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  381. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  382. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  383. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  384. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  385. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  386. package/lib/esm/test/ecdb/ECSqlStatement.test.js +359 -328
  387. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  388. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  389. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  390. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  391. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  392. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  393. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  394. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  395. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  396. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  397. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  398. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  399. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  400. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  401. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  402. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  403. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  404. package/lib/esm/test/element/ProjectInformationRecord.test.d.ts +2 -0
  405. package/lib/esm/test/element/ProjectInformationRecord.test.d.ts.map +1 -0
  406. package/lib/esm/test/element/ProjectInformationRecord.test.js +80 -0
  407. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -0
  408. package/lib/esm/test/element/SheetInformationAspect.test.d.ts +2 -0
  409. package/lib/esm/test/element/SheetInformationAspect.test.d.ts.map +1 -0
  410. package/lib/esm/test/element/SheetInformationAspect.test.js +182 -0
  411. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -0
  412. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  413. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  414. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  415. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  416. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  417. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  418. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  419. package/lib/esm/test/hubaccess/Rebase.test.js +387 -36
  420. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  421. package/lib/esm/test/imageData.js.map +1 -1
  422. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  423. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  424. package/lib/esm/test/imodel/IModel.test.js +219 -46
  425. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  426. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  427. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  428. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  429. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  430. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
  431. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
  432. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
  433. package/lib/esm/test/index.js.map +1 -1
  434. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  435. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  436. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  437. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  438. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  439. package/lib/esm/test/rpc/response.test.js.map +1 -1
  440. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  441. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  442. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  443. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  444. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  445. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  446. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  447. package/lib/esm/test/standalone/ChangesetReader.test.js +187 -184
  448. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  449. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  450. package/lib/esm/test/standalone/DisplayStyle.test.js +6 -6
  451. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  452. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  453. package/lib/esm/test/standalone/ElementGraphics.test.js +75 -6
  454. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  455. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  456. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  457. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  458. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  459. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  460. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  461. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  462. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  463. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  464. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  465. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  466. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  467. package/lib/esm/test/standalone/RenderMaterialElement.test.js +4 -4
  468. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  469. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  470. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  471. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  472. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  473. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  474. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  475. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  476. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  477. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  478. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  479. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  480. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  481. package/lib/esm/test/standalone/TxnManager.test.js +33 -5
  482. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  483. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  484. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  485. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  486. package/lib/esm/workspace/Settings.js.map +1 -1
  487. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  488. package/lib/esm/workspace/Workspace.js.map +1 -1
  489. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  490. package/package.json +14 -14
@@ -92,13 +92,13 @@ describe("Changeset Reader API", async () => {
92
92
  assert.isNotEmpty(rwIModelId);
93
93
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
94
94
  // 1. Import schema with class that span overflow table.
95
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
96
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
97
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
98
- <ECEntityClass typeName="Test2dElement">
99
- <BaseClass>bis:GraphicalElement2d</BaseClass>
100
- ${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i}" typeName="string"/>`).join("\n")}
101
- </ECEntityClass>
95
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
96
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
97
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
98
+ <ECEntityClass typeName="Test2dElement">
99
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
100
+ ${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i}" typeName="string"/>`).join("\n")}
101
+ </ECEntityClass>
102
102
  </ECSchema>`;
103
103
  await rwIModel.importSchemaStrings([schema]);
104
104
  rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
@@ -163,38 +163,25 @@ describe("Changeset Reader API", async () => {
163
163
  expect(rwIModel[_nativeDb].executeSql("UPDATE ec_Table SET ExclusiveRootClassId=NULL WHERE Name='bis_GeometricElement2d_Overflow'")).to.be.eq(DbResult.BE_SQLITE_OK);
164
164
  const adaptor = new ECChangesetAdaptor(reader);
165
165
  let assertOnOverflowTable = false;
166
- const expectedInserted = {
167
- // eslint-disable-next-line @typescript-eslint/naming-convention
168
- ECClassId: undefined,
169
- // eslint-disable-next-line @typescript-eslint/naming-convention
170
- ECInstanceId: "",
171
- $meta: {
172
- tables: ["bis_GeometricElement2d_Overflow"],
173
- op: "Updated",
174
- classFullName: "BisCore:GeometricElement2d",
175
- fallbackClassId: "0x5e",
176
- changeIndexes: [3],
177
- stage: "New",
178
- },
179
- };
180
- const expectedDeleted = {
181
- // eslint-disable-next-line @typescript-eslint/naming-convention
182
- ECClassId: undefined,
183
- // eslint-disable-next-line @typescript-eslint/naming-convention
184
- ECInstanceId: "",
185
- $meta: {
186
- tables: ["bis_GeometricElement2d_Overflow"],
187
- op: "Updated",
188
- classFullName: "BisCore:GeometricElement2d",
189
- fallbackClassId: "0x5e",
190
- changeIndexes: [3],
191
- stage: "Old",
192
- },
193
- };
166
+ const classId = getClassIdByName(rwIModel, "GeometricElement2d");
194
167
  while (adaptor.step()) {
195
168
  if (adaptor.op === "Updated" && adaptor.inserted?.$meta?.tables[0] === "bis_GeometricElement2d_Overflow") {
196
- assert.deepEqual(adaptor.inserted, expectedInserted);
197
- assert.deepEqual(adaptor.deleted, expectedDeleted);
169
+ assert.isUndefined(adaptor.inserted.ECClassId);
170
+ assert.equal(adaptor.inserted.ECInstanceId, "");
171
+ assert.deepEqual(adaptor.inserted.$meta?.tables, ["bis_GeometricElement2d_Overflow"]);
172
+ assert.equal(adaptor.inserted.$meta?.op, "Updated");
173
+ assert.equal(adaptor.inserted.$meta?.classFullName, "BisCore:GeometricElement2d");
174
+ assert.equal(adaptor.inserted.$meta.fallbackClassId, classId);
175
+ assert.deepEqual(adaptor.inserted.$meta?.changeIndexes, [3]);
176
+ assert.equal(adaptor.inserted.$meta?.stage, "New");
177
+ assert.equal(adaptor.deleted.ECInstanceId, "");
178
+ assert.isUndefined(adaptor.deleted.ECClassId);
179
+ assert.deepEqual(adaptor.deleted.$meta?.tables, ["bis_GeometricElement2d_Overflow"]);
180
+ assert.equal(adaptor.deleted.$meta?.op, "Updated");
181
+ assert.equal(adaptor.deleted.$meta?.classFullName, "BisCore:GeometricElement2d");
182
+ assert.equal(adaptor.deleted.$meta.fallbackClassId, classId);
183
+ assert.deepEqual(adaptor.deleted.$meta?.changeIndexes, [3]);
184
+ assert.equal(adaptor.deleted.$meta?.stage, "Old");
198
185
  assertOnOverflowTable = true;
199
186
  }
200
187
  }
@@ -209,19 +196,25 @@ describe("Changeset Reader API", async () => {
209
196
  return stmt.getValue(0).getId();
210
197
  });
211
198
  }
199
+ async function getClassNameById(iModel, classId) {
200
+ const reader = iModel.createQueryReader(`select ec_classname(${classId});`);
201
+ if (await reader.step())
202
+ return reader.current[0];
203
+ return undefined;
204
+ }
212
205
  it("Changeset reader / EC adaptor", async () => {
213
206
  const adminToken = "super manager token";
214
207
  const iModelName = "test";
215
208
  const rwIModelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: "TestSubject", accessToken: adminToken });
216
209
  assert.isNotEmpty(rwIModelId);
217
210
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
218
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
219
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
220
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
221
- <ECEntityClass typeName="Test2dElement">
222
- <BaseClass>bis:GraphicalElement2d</BaseClass>
223
- <ECProperty propertyName="s" typeName="string"/>
224
- </ECEntityClass>
211
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
212
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
213
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
214
+ <ECEntityClass typeName="Test2dElement">
215
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
216
+ <ECProperty propertyName="s" typeName="string"/>
217
+ </ECEntityClass>
225
218
  </ECSchema>`;
226
219
  await rwIModel.importSchemaStrings([schema]);
227
220
  rwIModel.saveChanges("user 1: schema changeset");
@@ -292,7 +285,7 @@ describe("Changeset Reader API", async () => {
292
285
  };
293
286
  rwIModel.saveChanges("user 1: data");
294
287
  if (true || "test local changes") {
295
- const testChanges = (changes) => {
288
+ const testChanges = async (changes) => {
296
289
  assert.equal(changes.length, 3);
297
290
  assert.equal(changes[0].ECInstanceId, "0x20000000001");
298
291
  assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
@@ -318,8 +311,10 @@ describe("Changeset Reader API", async () => {
318
311
  assert.deepEqual(el.BBoxLow, { X: -25, Y: -25 });
319
312
  // eslint-disable-next-line @typescript-eslint/naming-convention
320
313
  assert.deepEqual(el.BBoxHigh, { X: 15, Y: 15 });
321
- // eslint-disable-next-line @typescript-eslint/naming-convention
322
- assert.deepEqual(el.Category, { Id: "0x20000000002", RelECClassId: "0x6d" });
314
+ assert.equal(el.Category.Id, "0x20000000002");
315
+ assert.isNotEmpty(el.Category.RelECClassId);
316
+ const categoryRelClass = await getClassNameById(rwIModel, el.Category.RelECClassId);
317
+ assert.equal("BisCore:GeometricElement2dIsInCategory", categoryRelClass);
323
318
  assert.equal(el.s, "xxxxxxxxx");
324
319
  assert.isNull(el.CodeValue);
325
320
  assert.isNull(el.UserLabel);
@@ -331,12 +326,14 @@ describe("Changeset Reader API", async () => {
331
326
  assert.deepEqual(el.Parent, { Id: null, RelECClassId: null });
332
327
  // eslint-disable-next-line @typescript-eslint/naming-convention
333
328
  assert.deepEqual(el.TypeDefinition, { Id: null, RelECClassId: null });
334
- // eslint-disable-next-line @typescript-eslint/naming-convention
335
- assert.deepEqual(el.Category, { Id: "0x20000000002", RelECClassId: "0x6d" });
336
- // eslint-disable-next-line @typescript-eslint/naming-convention
337
- assert.deepEqual(el.CodeSpec, { Id: "0x1", RelECClassId: "0x69" });
338
- // eslint-disable-next-line @typescript-eslint/naming-convention
339
- assert.deepEqual(el.CodeScope, { Id: "0x1", RelECClassId: "0x6b" });
329
+ assert.equal(el.CodeSpec.Id, "0x1");
330
+ assert.isNotEmpty(el.CodeSpec.RelECClassId);
331
+ const codeSpecRelClass = await getClassNameById(rwIModel, el.CodeSpec.RelECClassId);
332
+ assert.equal("BisCore:CodeSpecSpecifiesCode", codeSpecRelClass);
333
+ assert.equal(el.CodeScope.Id, "0x1");
334
+ assert.isNotEmpty(el.CodeScope.RelECClassId);
335
+ const codeScopeRelClass = await getClassNameById(rwIModel, el.CodeScope.RelECClassId);
336
+ assert.equal("BisCore:ElementScopesCode", codeScopeRelClass);
340
337
  assert.deepEqual(el.$meta, {
341
338
  tables: [
342
339
  "bis_GeometricElement2d",
@@ -360,7 +357,7 @@ describe("Changeset Reader API", async () => {
360
357
  while (adaptor.step()) {
361
358
  pcu.appendFrom(adaptor);
362
359
  }
363
- testChanges(Array.from(pcu.instances));
360
+ await testChanges(Array.from(pcu.instances));
364
361
  }
365
362
  catch (e_1) {
366
363
  env_1.error = e_1;
@@ -379,7 +376,7 @@ describe("Changeset Reader API", async () => {
379
376
  while (adaptor.step()) {
380
377
  pcu.appendFrom(adaptor);
381
378
  }
382
- testChanges(Array.from(pcu.instances));
379
+ await testChanges(Array.from(pcu.instances));
383
380
  }
384
381
  catch (e_2) {
385
382
  env_2.error = e_2;
@@ -515,7 +512,7 @@ describe("Changeset Reader API", async () => {
515
512
  }
516
513
  }
517
514
  if (true || "test changeset file") {
518
- const testChanges = (changes) => {
515
+ const testChanges = async (changes) => {
519
516
  assert.equal(changes.length, 3);
520
517
  assert.equal(changes[0].ECInstanceId, "0x20000000001");
521
518
  assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
@@ -541,8 +538,10 @@ describe("Changeset Reader API", async () => {
541
538
  assert.deepEqual(el.BBoxLow, { X: -25, Y: -25 });
542
539
  // eslint-disable-next-line @typescript-eslint/naming-convention
543
540
  assert.deepEqual(el.BBoxHigh, { X: 15, Y: 15 });
544
- // eslint-disable-next-line @typescript-eslint/naming-convention
545
- assert.deepEqual(el.Category, { Id: "0x20000000002", RelECClassId: "0x6d" });
541
+ assert.equal(el.Category.Id, "0x20000000002");
542
+ assert.isNotEmpty(el.Category.RelECClassId);
543
+ const categoryRelClass = await getClassNameById(rwIModel, el.Category.RelECClassId);
544
+ assert.equal("BisCore:GeometricElement2dIsInCategory", categoryRelClass);
546
545
  assert.equal(el.s, "xxxxxxxxx");
547
546
  assert.isNull(el.CodeValue);
548
547
  assert.isNull(el.UserLabel);
@@ -554,12 +553,14 @@ describe("Changeset Reader API", async () => {
554
553
  assert.deepEqual(el.Parent, { Id: null, RelECClassId: null });
555
554
  // eslint-disable-next-line @typescript-eslint/naming-convention
556
555
  assert.deepEqual(el.TypeDefinition, { Id: null, RelECClassId: null });
557
- // eslint-disable-next-line @typescript-eslint/naming-convention
558
- assert.deepEqual(el.Category, { Id: "0x20000000002", RelECClassId: "0x6d" });
559
- // eslint-disable-next-line @typescript-eslint/naming-convention
560
- assert.deepEqual(el.CodeSpec, { Id: "0x1", RelECClassId: "0x69" });
561
- // eslint-disable-next-line @typescript-eslint/naming-convention
562
- assert.deepEqual(el.CodeScope, { Id: "0x1", RelECClassId: "0x6b" });
556
+ assert.equal(el.CodeSpec.Id, "0x1");
557
+ assert.isNotEmpty(el.CodeSpec.RelECClassId);
558
+ const codeSpecRelClass = await getClassNameById(rwIModel, el.CodeSpec.RelECClassId);
559
+ assert.equal("BisCore:CodeSpecSpecifiesCode", codeSpecRelClass);
560
+ assert.equal(el.CodeScope.Id, "0x1");
561
+ assert.isNotEmpty(el.CodeScope.RelECClassId);
562
+ const codeScopeRelClass = await getClassNameById(rwIModel, el.CodeScope.RelECClassId);
563
+ assert.equal("BisCore:ElementScopesCode", codeScopeRelClass);
563
564
  assert.deepEqual(el.$meta, {
564
565
  tables: [
565
566
  "bis_GeometricElement2d",
@@ -583,7 +584,7 @@ describe("Changeset Reader API", async () => {
583
584
  while (adaptor.step()) {
584
585
  pcu.appendFrom(adaptor);
585
586
  }
586
- testChanges(Array.from(pcu.instances));
587
+ await testChanges(Array.from(pcu.instances));
587
588
  }
588
589
  catch (e_7) {
589
590
  env_7.error = e_7;
@@ -602,7 +603,7 @@ describe("Changeset Reader API", async () => {
602
603
  while (adaptor.step()) {
603
604
  pcu.appendFrom(adaptor);
604
605
  }
605
- testChanges(Array.from(pcu.instances));
606
+ await testChanges(Array.from(pcu.instances));
606
607
  }
607
608
  catch (e_8) {
608
609
  env_8.error = e_8;
@@ -725,13 +726,13 @@ describe("Changeset Reader API", async () => {
725
726
  const addPropertyAndImportSchema = async () => {
726
727
  await rwIModel.acquireSchemaLock();
727
728
  ++nProps;
728
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
729
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
730
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
731
- <ECEntityClass typeName="Test2dElement">
732
- <BaseClass>bis:GraphicalElement2d</BaseClass>
733
- ${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
734
- </ECEntityClass>
729
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
730
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
731
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
732
+ <ECEntityClass typeName="Test2dElement">
733
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
734
+ ${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
735
+ </ECEntityClass>
735
736
  </ECSchema>`;
736
737
  await rwIModel.importSchemaStrings([schema]);
737
738
  };
@@ -868,13 +869,13 @@ describe("Changeset Reader API", async () => {
868
869
  assert.isNotEmpty(rwIModelId);
869
870
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
870
871
  // 1. Import schema with class that span overflow table.
871
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
872
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
873
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
874
- <ECEntityClass typeName="Test2dElement">
875
- <BaseClass>bis:GraphicalElement2d</BaseClass>
876
- <ECProperty propertyName="p1" typeName="string"/>
877
- </ECEntityClass>
872
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
873
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
874
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
875
+ <ECEntityClass typeName="Test2dElement">
876
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
877
+ <ECProperty propertyName="p1" typeName="string"/>
878
+ </ECEntityClass>
878
879
  </ECSchema>`;
879
880
  await rwIModel.importSchemaStrings([schema]);
880
881
  rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
@@ -1071,18 +1072,18 @@ describe("Changeset Reader API", async () => {
1071
1072
  ]);
1072
1073
  // Enable shared channel for both
1073
1074
  [firstBriefCase, secondBriefCase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
1074
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1075
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1076
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1077
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1078
-
1079
- <ECCustomAttributes>
1080
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1081
- </ECCustomAttributes>
1082
-
1083
- <ECEntityClass typeName="TestClass">
1084
- <BaseClass>bis:PhysicalElement</BaseClass>
1085
- </ECEntityClass>
1075
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1076
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1077
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1078
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1079
+
1080
+ <ECCustomAttributes>
1081
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1082
+ </ECCustomAttributes>
1083
+
1084
+ <ECEntityClass typeName="TestClass">
1085
+ <BaseClass>bis:PhysicalElement</BaseClass>
1086
+ </ECEntityClass>
1086
1087
  </ECSchema>`]);
1087
1088
  firstBriefCase.saveChanges("import initial schema");
1088
1089
  // Push the changes to the hub
@@ -1091,13 +1092,13 @@ describe("Changeset Reader API", async () => {
1091
1092
  await secondBriefCase.pullChanges({ accessToken: adminToken });
1092
1093
  checkClass(firstBriefCase, true, secondBriefCase, true);
1093
1094
  // Import the schema
1094
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1095
- <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1096
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1097
-
1098
- <ECCustomAttributes>
1099
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1100
- </ECCustomAttributes>
1095
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1096
+ <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1097
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1098
+
1099
+ <ECCustomAttributes>
1100
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1101
+ </ECCustomAttributes>
1101
1102
  </ECSchema>`]);
1102
1103
  firstBriefCase.saveChanges("imported schema");
1103
1104
  // Push the changeset to the hub
@@ -1138,18 +1139,18 @@ describe("Changeset Reader API", async () => {
1138
1139
  ]);
1139
1140
  // Enable shared channel for both
1140
1141
  [firstBriefCase, secondBriefCase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
1141
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1142
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1143
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1144
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1145
-
1146
- <ECCustomAttributes>
1147
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1148
- </ECCustomAttributes>
1149
-
1150
- <ECEntityClass typeName="TestClass">
1151
- <BaseClass>bis:PhysicalElement</BaseClass>
1152
- </ECEntityClass>
1142
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1143
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1144
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1145
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1146
+
1147
+ <ECCustomAttributes>
1148
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1149
+ </ECCustomAttributes>
1150
+
1151
+ <ECEntityClass typeName="TestClass">
1152
+ <BaseClass>bis:PhysicalElement</BaseClass>
1153
+ </ECEntityClass>
1153
1154
  </ECSchema>`]);
1154
1155
  firstBriefCase.saveChanges("import initial schema");
1155
1156
  // Push the changes to the hub
@@ -1158,22 +1159,22 @@ describe("Changeset Reader API", async () => {
1158
1159
  await secondBriefCase.pullChanges({ accessToken: adminToken });
1159
1160
  checkClass("TestClass", firstBriefCase, true, secondBriefCase, true);
1160
1161
  // Import the schema
1161
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1162
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.1" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1163
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1164
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1165
-
1166
- <ECCustomAttributes>
1167
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1168
- </ECCustomAttributes>
1169
-
1170
- <ECEntityClass typeName="TestClass">
1171
- <BaseClass>bis:PhysicalElement</BaseClass>
1172
- </ECEntityClass>
1173
-
1174
- <ECEntityClass typeName="AnotherTestClass">
1175
- <BaseClass>bis:PhysicalElement</BaseClass>
1176
- </ECEntityClass>
1162
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1163
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.1" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1164
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1165
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1166
+
1167
+ <ECCustomAttributes>
1168
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1169
+ </ECCustomAttributes>
1170
+
1171
+ <ECEntityClass typeName="TestClass">
1172
+ <BaseClass>bis:PhysicalElement</BaseClass>
1173
+ </ECEntityClass>
1174
+
1175
+ <ECEntityClass typeName="AnotherTestClass">
1176
+ <BaseClass>bis:PhysicalElement</BaseClass>
1177
+ </ECEntityClass>
1177
1178
  </ECSchema>`]);
1178
1179
  firstBriefCase.saveChanges("imported schema");
1179
1180
  // Push the changeset to the hub
@@ -1213,18 +1214,18 @@ describe("Changeset Reader API", async () => {
1213
1214
  HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken })
1214
1215
  ]);
1215
1216
  [firstBriefcase, secondBriefcase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
1216
- await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1217
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1218
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1219
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1220
-
1221
- <ECCustomAttributes>
1222
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1223
- </ECCustomAttributes>
1224
-
1225
- <ECEntityClass typeName="TestClass">
1226
- <BaseClass>bis:PhysicalElement</BaseClass>
1227
- </ECEntityClass>
1217
+ await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1218
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1219
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1220
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1221
+
1222
+ <ECCustomAttributes>
1223
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1224
+ </ECCustomAttributes>
1225
+
1226
+ <ECEntityClass typeName="TestClass">
1227
+ <BaseClass>bis:PhysicalElement</BaseClass>
1228
+ </ECEntityClass>
1228
1229
  </ECSchema>`]);
1229
1230
  firstBriefcase.saveChanges("import initial schema");
1230
1231
  // Enable changeset tracking for both briefcases
@@ -1232,41 +1233,41 @@ describe("Changeset Reader API", async () => {
1232
1233
  await firstBriefcase.pushChanges({ description: "push initial schema changeset", accessToken: adminToken });
1233
1234
  await secondBriefcase.pullChanges({ accessToken: adminToken });
1234
1235
  // Schema upgrade
1235
- await secondBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1236
- <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1237
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1238
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1239
-
1240
- <ECCustomAttributes>
1241
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1242
- </ECCustomAttributes>
1243
-
1244
- <ECEntityClass typeName="TestClass">
1245
- <BaseClass>bis:PhysicalElement</BaseClass>
1246
- <ECProperty propertyName="TestProperty" typeName="string"/>
1247
- </ECEntityClass>
1248
-
1249
- <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1250
- <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1251
- <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1252
- </ECEnumeration>
1236
+ await secondBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1237
+ <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1238
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1239
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1240
+
1241
+ <ECCustomAttributes>
1242
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1243
+ </ECCustomAttributes>
1244
+
1245
+ <ECEntityClass typeName="TestClass">
1246
+ <BaseClass>bis:PhysicalElement</BaseClass>
1247
+ <ECProperty propertyName="TestProperty" typeName="string"/>
1248
+ </ECEntityClass>
1249
+
1250
+ <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1251
+ <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1252
+ <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1253
+ </ECEnumeration>
1253
1254
  </ECSchema>`]);
1254
1255
  secondBriefcase.saveChanges("imported schema");
1255
1256
  await secondBriefcase.pushChanges({ description: "Added a property to TestClass and an enum", accessToken: adminToken });
1256
1257
  await firstBriefcase.pullChanges({ accessToken: adminToken });
1257
1258
  // Major schema change
1258
- await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1259
- <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1260
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1261
-
1262
- <ECCustomAttributes>
1263
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1264
- </ECCustomAttributes>
1265
-
1266
- <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1267
- <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1268
- <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1269
- </ECEnumeration>
1259
+ await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1260
+ <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1261
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1262
+
1263
+ <ECCustomAttributes>
1264
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1265
+ </ECCustomAttributes>
1266
+
1267
+ <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1268
+ <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1269
+ <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1270
+ </ECEnumeration>
1270
1271
  </ECSchema>`]);
1271
1272
  firstBriefcase.saveChanges("imported schema");
1272
1273
  await firstBriefcase.pushChanges({ description: "Deleted TestClass", accessToken: adminToken });
@@ -1284,15 +1285,15 @@ describe("Changeset Reader API", async () => {
1284
1285
  assert.equal(secondBriefcaseChangesets.length, 2);
1285
1286
  const [secondBriefcaseChangeset1, secondBriefcaseChangeset2] = secondBriefcaseChangesets;
1286
1287
  expect(secondBriefcaseChangeset1.uncompressedSizeBytes).to.be.greaterThan(40000);
1287
- expect(secondBriefcaseChangeset1.insertedRows).to.be.greaterThanOrEqual(52);
1288
+ expect(secondBriefcaseChangeset1.insertedRows).to.be.eql(0);
1288
1289
  expect(secondBriefcaseChangeset1.updatedRows).to.be.greaterThanOrEqual(921);
1289
- expect(secondBriefcaseChangeset1.deletedRows).to.be.eql(0);
1290
+ expect(secondBriefcaseChangeset1.deletedRows).to.be.greaterThanOrEqual(52);
1290
1291
  expect(secondBriefcaseChangeset1.totalFullTableScans).to.be.eql(0);
1291
1292
  expect(secondBriefcaseChangeset1.perStatementStats.length).to.be.eql(11);
1292
1293
  expect(secondBriefcaseChangeset2.uncompressedSizeBytes).to.be.greaterThan(40000);
1293
- expect(secondBriefcaseChangeset2.insertedRows).to.be.eql(0);
1294
+ expect(secondBriefcaseChangeset2.insertedRows).to.be.greaterThanOrEqual(52);
1294
1295
  expect(secondBriefcaseChangeset2.updatedRows).to.be.greaterThanOrEqual(921);
1295
- expect(secondBriefcaseChangeset2.deletedRows).to.be.greaterThanOrEqual(52);
1296
+ expect(secondBriefcaseChangeset2.deletedRows).to.be.eql(0);
1296
1297
  expect(secondBriefcaseChangeset2.totalFullTableScans).to.be.eql(0);
1297
1298
  expect(secondBriefcaseChangeset2.perStatementStats.length).to.be.eql(11);
1298
1299
  // Cleanup
@@ -1305,13 +1306,13 @@ describe("Changeset Reader API", async () => {
1305
1306
  assert.isNotEmpty(rwIModelId);
1306
1307
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
1307
1308
  // 1. Import schema with class that span overflow table.
1308
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
1309
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
1310
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
1311
- <ECEntityClass typeName="Test2dElement">
1312
- <BaseClass>bis:GraphicalElement2d</BaseClass>
1313
- <ECProperty propertyName="p1" typeName="string"/>
1314
- </ECEntityClass>
1309
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
1310
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
1311
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
1312
+ <ECEntityClass typeName="Test2dElement">
1313
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
1314
+ <ECProperty propertyName="p1" typeName="string"/>
1315
+ </ECEntityClass>
1315
1316
  </ECSchema>`;
1316
1317
  await rwIModel.importSchemaStrings([schema]);
1317
1318
  rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
@@ -1347,6 +1348,7 @@ describe("Changeset Reader API", async () => {
1347
1348
  await rwIModel.locks.acquireLocks({ shared: drawingModelId });
1348
1349
  const e1id = rwIModel.elements.insertElement(e1);
1349
1350
  assert.isTrue(Id64.isValidId64(e1id), "insert worked");
1351
+ const testElClassId = getClassIdByName(rwIModel, "Test2dElement");
1350
1352
  if (true) {
1351
1353
  const reader = SqliteChangesetReader.openInMemory({ db: rwIModel, disableSchemaCheck: true });
1352
1354
  const adaptor = new ChangesetECAdaptor(reader);
@@ -1362,7 +1364,7 @@ describe("Changeset Reader API", async () => {
1362
1364
  expect(testEl.$meta?.op).to.equals("Inserted");
1363
1365
  expect(testEl.$meta?.classFullName).to.equals("TestDomain:Test2dElement");
1364
1366
  expect(testEl.$meta?.stage).to.equals("New");
1365
- expect(testEl.ECClassId).to.equals("0x168");
1367
+ expect(testEl.ECClassId).to.equals(testElClassId);
1366
1368
  expect(testEl.ECInstanceId).to.equals(e1id);
1367
1369
  expect(testEl.Model.Id).to.equals(drawingModelId);
1368
1370
  expect(testEl.Category.Id).to.equals(drawingCategoryId);
@@ -1390,12 +1392,13 @@ describe("Changeset Reader API", async () => {
1390
1392
  // verify the inserted element's properties
1391
1393
  const instances = Array.from(unifier.instances);
1392
1394
  expect(instances.length).to.equals(3);
1395
+ const drawingModelClassId = getClassIdByName(rwIModel, "DrawingModel");
1393
1396
  // DrawingModel new instance
1394
1397
  const drawingModelElNew = instances[0];
1395
1398
  expect(drawingModelElNew.$meta?.op).to.equals("Updated");
1396
1399
  expect(drawingModelElNew.$meta?.classFullName).to.equals("BisCore:DrawingModel");
1397
1400
  expect(drawingModelElNew.$meta?.stage).to.equals("New");
1398
- expect(drawingModelElNew.ECClassId).to.equals("0xaa");
1401
+ expect(drawingModelElNew.ECClassId).to.equals(drawingModelClassId);
1399
1402
  expect(drawingModelElNew.ECInstanceId).to.equals(drawingModelId);
1400
1403
  expect(drawingModelElNew.LastMod).to.exist;
1401
1404
  expect(drawingModelElNew.GeometryGuid).to.exist;
@@ -1404,7 +1407,7 @@ describe("Changeset Reader API", async () => {
1404
1407
  expect(drawingModelElOld.$meta?.op).to.equals("Updated");
1405
1408
  expect(drawingModelElOld.$meta?.classFullName).to.equals("BisCore:DrawingModel");
1406
1409
  expect(drawingModelElOld.$meta?.stage).to.equals("Old");
1407
- expect(drawingModelElOld.ECClassId).to.equals("0xaa");
1410
+ expect(drawingModelElOld.ECClassId).to.equals(drawingModelClassId);
1408
1411
  expect(drawingModelElOld.ECInstanceId).to.equals(drawingModelId);
1409
1412
  expect(drawingModelElOld.LastMod).to.null;
1410
1413
  expect(drawingModelElOld.GeometryGuid).to.null;
@@ -1413,7 +1416,7 @@ describe("Changeset Reader API", async () => {
1413
1416
  expect(testEl.$meta?.op).to.equals("Inserted");
1414
1417
  expect(testEl.$meta?.classFullName).to.equals("TestDomain:Test2dElement");
1415
1418
  expect(testEl.$meta?.stage).to.equals("New");
1416
- expect(testEl.ECClassId).to.equals("0x168");
1419
+ expect(testEl.ECClassId).to.equals(testElClassId);
1417
1420
  expect(testEl.ECInstanceId).to.equals(e1id);
1418
1421
  expect(testEl.Model.Id).to.equals(drawingModelId);
1419
1422
  expect(testEl.Category.Id).to.equals(drawingCategoryId);