@itwin/core-backend 5.3.0-dev.23 → 5.3.0-dev.25

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 (402) hide show
  1. package/CHANGELOG.md +8 -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.js.map +1 -1
  21. package/lib/cjs/CodeService.js.map +1 -1
  22. package/lib/cjs/CodeSpecs.js.map +1 -1
  23. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  24. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  25. package/lib/cjs/DevTools.js.map +1 -1
  26. package/lib/cjs/DisplayStyle.js.map +1 -1
  27. package/lib/cjs/ECDb.js.map +1 -1
  28. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  29. package/lib/cjs/ECSqlStatement.js.map +1 -1
  30. package/lib/cjs/Element.js.map +1 -1
  31. package/lib/cjs/ElementAspect.js.map +1 -1
  32. package/lib/cjs/ElementGraphics.js.map +1 -1
  33. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  34. package/lib/cjs/Entity.js.map +1 -1
  35. package/lib/cjs/EntityReferences.js.map +1 -1
  36. package/lib/cjs/ExportGraphics.js.map +1 -1
  37. package/lib/cjs/ExternalSource.js.map +1 -1
  38. package/lib/cjs/FontFile.js.map +1 -1
  39. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  40. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  41. package/lib/cjs/GeometrySummary.js +47 -47
  42. package/lib/cjs/GeometrySummary.js.map +1 -1
  43. package/lib/cjs/IModelDb.d.ts +15 -3
  44. package/lib/cjs/IModelDb.d.ts.map +1 -1
  45. package/lib/cjs/IModelDb.js +39 -13
  46. package/lib/cjs/IModelDb.js.map +1 -1
  47. package/lib/cjs/IModelDbFonts.js.map +1 -1
  48. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  49. package/lib/cjs/IModelHost.js.map +1 -1
  50. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  51. package/lib/cjs/IModelJsFs.js.map +1 -1
  52. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  53. package/lib/cjs/IpcHost.js.map +1 -1
  54. package/lib/cjs/LineStyle.js.map +1 -1
  55. package/lib/cjs/LocalHub.js +1 -1
  56. package/lib/cjs/LocalHub.js.map +1 -1
  57. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  58. package/lib/cjs/LockControl.js.map +1 -1
  59. package/lib/cjs/Material.js.map +1 -1
  60. package/lib/cjs/Model.js.map +1 -1
  61. package/lib/cjs/NativeAppStorage.js.map +1 -1
  62. package/lib/cjs/NativeHost.js.map +1 -1
  63. package/lib/cjs/NavigationRelationship.js.map +1 -1
  64. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  65. package/lib/cjs/PropertyStore.js.map +1 -1
  66. package/lib/cjs/Relationship.d.ts +5 -0
  67. package/lib/cjs/Relationship.d.ts.map +1 -1
  68. package/lib/cjs/Relationship.js +7 -0
  69. package/lib/cjs/Relationship.js.map +1 -1
  70. package/lib/cjs/RpcBackend.js.map +1 -1
  71. package/lib/cjs/SQLiteDb.js.map +1 -1
  72. package/lib/cjs/Schema.js.map +1 -1
  73. package/lib/cjs/SchemaSync.js.map +1 -1
  74. package/lib/cjs/SchemaUtils.js.map +1 -1
  75. package/lib/cjs/SheetIndex.js.map +1 -1
  76. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  77. package/lib/cjs/SqliteStatement.js.map +1 -1
  78. package/lib/cjs/StashManager.js.map +1 -1
  79. package/lib/cjs/Texture.js.map +1 -1
  80. package/lib/cjs/TileStorage.js.map +1 -1
  81. package/lib/cjs/TxnManager.d.ts +6 -0
  82. package/lib/cjs/TxnManager.d.ts.map +1 -1
  83. package/lib/cjs/TxnManager.js +20 -0
  84. package/lib/cjs/TxnManager.js.map +1 -1
  85. package/lib/cjs/ViewDefinition.js.map +1 -1
  86. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  87. package/lib/cjs/ViewStore.js.map +1 -1
  88. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  89. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +3 -3
  90. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  91. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  92. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  93. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  94. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  95. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  96. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  97. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  98. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  99. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  100. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  101. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  102. package/lib/cjs/core-backend.js.map +1 -1
  103. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  104. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  105. package/lib/cjs/domains/GenericElements.js.map +1 -1
  106. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  107. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  108. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  109. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  110. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  111. package/lib/cjs/internal/HubMock.js.map +1 -1
  112. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  113. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  114. package/lib/cjs/internal/NoLocks.js.map +1 -1
  115. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  116. package/lib/cjs/internal/Symbols.js.map +1 -1
  117. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  118. package/lib/cjs/internal/cross-package.js.map +1 -1
  119. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  120. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  121. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  122. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  123. package/lib/cjs/rpc/multipart.js.map +1 -1
  124. package/lib/cjs/rpc/tracing.js.map +1 -1
  125. package/lib/cjs/rpc/web/logging.js.map +1 -1
  126. package/lib/cjs/rpc/web/request.js.map +1 -1
  127. package/lib/cjs/rpc/web/response.js.map +1 -1
  128. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  129. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  130. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  131. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  132. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  133. package/lib/cjs/workspace/Settings.js.map +1 -1
  134. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  135. package/lib/cjs/workspace/Workspace.js.map +1 -1
  136. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  137. package/lib/esm/BackendHubAccess.js.map +1 -1
  138. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  139. package/lib/esm/BisCoreSchema.js.map +1 -1
  140. package/lib/esm/BlobContainerService.js.map +1 -1
  141. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  142. package/lib/esm/BriefcaseManager.js +14 -0
  143. package/lib/esm/BriefcaseManager.js.map +1 -1
  144. package/lib/esm/CatalogDb.js.map +1 -1
  145. package/lib/esm/Category.js.map +1 -1
  146. package/lib/esm/ChangeSummaryManager.js +2 -2
  147. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  148. package/lib/esm/ChangedElementsDb.js.map +1 -1
  149. package/lib/esm/ChangesetECAdaptor.js +248 -248
  150. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  151. package/lib/esm/ChannelControl.js.map +1 -1
  152. package/lib/esm/CheckpointManager.js.map +1 -1
  153. package/lib/esm/ClassRegistry.js +5 -5
  154. package/lib/esm/ClassRegistry.js.map +1 -1
  155. package/lib/esm/CloudSqlite.js.map +1 -1
  156. package/lib/esm/CodeService.js.map +1 -1
  157. package/lib/esm/CodeSpecs.js.map +1 -1
  158. package/lib/esm/ConcurrentQuery.js.map +1 -1
  159. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  160. package/lib/esm/DevTools.js.map +1 -1
  161. package/lib/esm/DisplayStyle.js.map +1 -1
  162. package/lib/esm/ECDb.js.map +1 -1
  163. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  164. package/lib/esm/ECSqlStatement.js.map +1 -1
  165. package/lib/esm/Element.js.map +1 -1
  166. package/lib/esm/ElementAspect.js.map +1 -1
  167. package/lib/esm/ElementGraphics.js.map +1 -1
  168. package/lib/esm/ElementTreeWalker.js.map +1 -1
  169. package/lib/esm/Entity.js.map +1 -1
  170. package/lib/esm/EntityReferences.js.map +1 -1
  171. package/lib/esm/ExportGraphics.js.map +1 -1
  172. package/lib/esm/ExternalSource.js.map +1 -1
  173. package/lib/esm/FontFile.js.map +1 -1
  174. package/lib/esm/GeoCoordConfig.js.map +1 -1
  175. package/lib/esm/GeographicCRSServices.js.map +1 -1
  176. package/lib/esm/GeometrySummary.js +47 -47
  177. package/lib/esm/GeometrySummary.js.map +1 -1
  178. package/lib/esm/IModelDb.d.ts +15 -3
  179. package/lib/esm/IModelDb.d.ts.map +1 -1
  180. package/lib/esm/IModelDb.js +39 -13
  181. package/lib/esm/IModelDb.js.map +1 -1
  182. package/lib/esm/IModelDbFonts.js.map +1 -1
  183. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  184. package/lib/esm/IModelHost.js.map +1 -1
  185. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  186. package/lib/esm/IModelJsFs.js.map +1 -1
  187. package/lib/esm/ImageSourceConversion.js.map +1 -1
  188. package/lib/esm/IpcHost.js.map +1 -1
  189. package/lib/esm/LineStyle.js.map +1 -1
  190. package/lib/esm/LocalHub.js +1 -1
  191. package/lib/esm/LocalHub.js.map +1 -1
  192. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  193. package/lib/esm/LockControl.js.map +1 -1
  194. package/lib/esm/Material.js.map +1 -1
  195. package/lib/esm/Model.js.map +1 -1
  196. package/lib/esm/NativeAppStorage.js.map +1 -1
  197. package/lib/esm/NativeHost.js.map +1 -1
  198. package/lib/esm/NavigationRelationship.js.map +1 -1
  199. package/lib/esm/PromiseMemoizer.js.map +1 -1
  200. package/lib/esm/PropertyStore.js.map +1 -1
  201. package/lib/esm/Relationship.d.ts +5 -0
  202. package/lib/esm/Relationship.d.ts.map +1 -1
  203. package/lib/esm/Relationship.js +7 -0
  204. package/lib/esm/Relationship.js.map +1 -1
  205. package/lib/esm/RpcBackend.js.map +1 -1
  206. package/lib/esm/SQLiteDb.js.map +1 -1
  207. package/lib/esm/Schema.js.map +1 -1
  208. package/lib/esm/SchemaSync.js.map +1 -1
  209. package/lib/esm/SchemaUtils.js.map +1 -1
  210. package/lib/esm/SheetIndex.js.map +1 -1
  211. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  212. package/lib/esm/SqliteStatement.js.map +1 -1
  213. package/lib/esm/StashManager.js.map +1 -1
  214. package/lib/esm/Texture.js.map +1 -1
  215. package/lib/esm/TileStorage.js.map +1 -1
  216. package/lib/esm/TxnManager.d.ts +6 -0
  217. package/lib/esm/TxnManager.d.ts.map +1 -1
  218. package/lib/esm/TxnManager.js +20 -0
  219. package/lib/esm/TxnManager.js.map +1 -1
  220. package/lib/esm/ViewDefinition.js.map +1 -1
  221. package/lib/esm/ViewStateHydrator.js.map +1 -1
  222. package/lib/esm/ViewStore.js.map +1 -1
  223. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  224. package/lib/esm/annotations/ElementDrivesTextAnnotation.js +3 -3
  225. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  226. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  227. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  228. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  229. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  230. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  231. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  232. package/lib/esm/core-backend.js.map +1 -1
  233. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  234. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  235. package/lib/esm/domains/GenericElements.js.map +1 -1
  236. package/lib/esm/domains/GenericSchema.js.map +1 -1
  237. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  238. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  239. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  240. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  241. package/lib/esm/internal/HubMock.js.map +1 -1
  242. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  243. package/lib/esm/internal/NativePlatform.js.map +1 -1
  244. package/lib/esm/internal/NoLocks.js.map +1 -1
  245. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  246. package/lib/esm/internal/Symbols.js.map +1 -1
  247. package/lib/esm/internal/annotations/fields.js.map +1 -1
  248. package/lib/esm/internal/cross-package.js.map +1 -1
  249. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  250. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  251. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  252. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  253. package/lib/esm/rpc/multipart.js.map +1 -1
  254. package/lib/esm/rpc/tracing.js.map +1 -1
  255. package/lib/esm/rpc/web/logging.js.map +1 -1
  256. package/lib/esm/rpc/web/request.js.map +1 -1
  257. package/lib/esm/rpc/web/response.js.map +1 -1
  258. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  259. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  260. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  261. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  262. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  263. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  264. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  265. package/lib/esm/test/AttachDb.test.js +11 -11
  266. package/lib/esm/test/AttachDb.test.js.map +1 -1
  267. package/lib/esm/test/ElementDrivesElement.test.js +23 -23
  268. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  269. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  270. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  271. package/lib/esm/test/IModelHost.test.js.map +1 -1
  272. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  273. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  274. package/lib/esm/test/IpcHost.test.js.map +1 -1
  275. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  276. package/lib/esm/test/PrintElementTree.js.map +1 -1
  277. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  278. package/lib/esm/test/RevisionUtility.js.map +1 -1
  279. package/lib/esm/test/SchemaUtils.test.js +25 -25
  280. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  281. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  282. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  283. package/lib/esm/test/TestUtils.js.map +1 -1
  284. package/lib/esm/test/annotations/Fields.test.js +53 -53
  285. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  286. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  287. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  288. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  289. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  290. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  291. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  292. package/lib/esm/test/categories/Category.test.js.map +1 -1
  293. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  294. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  295. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  296. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
  297. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  298. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  299. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  300. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  301. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  302. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  303. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  304. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  305. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  306. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  307. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  308. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  309. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
  310. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  311. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  312. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  313. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  314. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  315. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  316. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  317. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  318. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  319. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  320. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  321. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  322. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  323. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  324. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  325. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  326. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  327. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  328. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  329. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  330. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  331. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  332. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  333. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  334. package/lib/esm/test/hubaccess/Rebase.test.js +133 -34
  335. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  336. package/lib/esm/test/imageData.js.map +1 -1
  337. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  338. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  339. package/lib/esm/test/imodel/IModel.test.js +143 -45
  340. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  341. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  342. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  343. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  344. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  345. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
  346. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
  347. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
  348. package/lib/esm/test/index.js.map +1 -1
  349. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  350. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  351. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  352. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  353. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  354. package/lib/esm/test/rpc/response.test.js.map +1 -1
  355. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  356. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  357. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  358. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  359. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  360. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  361. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  362. package/lib/esm/test/standalone/ChangesetReader.test.js +163 -148
  363. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  364. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  365. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  366. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  367. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  368. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  369. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  370. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  371. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  372. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  373. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  374. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  375. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  376. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  377. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  378. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  379. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  380. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  381. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  382. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  383. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  384. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  385. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  386. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  387. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  388. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  389. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  390. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  391. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  392. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  393. package/lib/esm/test/standalone/TxnManager.test.js +33 -5
  394. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  395. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  396. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  397. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  398. package/lib/esm/workspace/Settings.js.map +1 -1
  399. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  400. package/lib/esm/workspace/Workspace.js.map +1 -1
  401. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  402. package/package.json +13 -13
@@ -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,6 +163,7 @@ 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 classId = getClassIdByName(rwIModel, "GeometricElement2d");
166
167
  while (adaptor.step()) {
167
168
  if (adaptor.op === "Updated" && adaptor.inserted?.$meta?.tables[0] === "bis_GeometricElement2d_Overflow") {
168
169
  assert.isUndefined(adaptor.inserted.ECClassId);
@@ -170,7 +171,7 @@ describe("Changeset Reader API", async () => {
170
171
  assert.deepEqual(adaptor.inserted.$meta?.tables, ["bis_GeometricElement2d_Overflow"]);
171
172
  assert.equal(adaptor.inserted.$meta?.op, "Updated");
172
173
  assert.equal(adaptor.inserted.$meta?.classFullName, "BisCore:GeometricElement2d");
173
- assert.isTrue(adaptor.inserted.$meta.fallbackClassId.startsWith("0x"));
174
+ assert.equal(adaptor.inserted.$meta.fallbackClassId, classId);
174
175
  assert.deepEqual(adaptor.inserted.$meta?.changeIndexes, [3]);
175
176
  assert.equal(adaptor.inserted.$meta?.stage, "New");
176
177
  assert.equal(adaptor.deleted.ECInstanceId, "");
@@ -178,7 +179,7 @@ describe("Changeset Reader API", async () => {
178
179
  assert.deepEqual(adaptor.deleted.$meta?.tables, ["bis_GeometricElement2d_Overflow"]);
179
180
  assert.equal(adaptor.deleted.$meta?.op, "Updated");
180
181
  assert.equal(adaptor.deleted.$meta?.classFullName, "BisCore:GeometricElement2d");
181
- assert.isTrue(adaptor.deleted.$meta.fallbackClassId.startsWith("0x"));
182
+ assert.equal(adaptor.deleted.$meta.fallbackClassId, classId);
182
183
  assert.deepEqual(adaptor.deleted.$meta?.changeIndexes, [3]);
183
184
  assert.equal(adaptor.deleted.$meta?.stage, "Old");
184
185
  assertOnOverflowTable = true;
@@ -195,19 +196,25 @@ describe("Changeset Reader API", async () => {
195
196
  return stmt.getValue(0).getId();
196
197
  });
197
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
+ }
198
205
  it("Changeset reader / EC adaptor", async () => {
199
206
  const adminToken = "super manager token";
200
207
  const iModelName = "test";
201
208
  const rwIModelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: "TestSubject", accessToken: adminToken });
202
209
  assert.isNotEmpty(rwIModelId);
203
210
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
204
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
205
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
206
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
207
- <ECEntityClass typeName="Test2dElement">
208
- <BaseClass>bis:GraphicalElement2d</BaseClass>
209
- <ECProperty propertyName="s" typeName="string"/>
210
- </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>
211
218
  </ECSchema>`;
212
219
  await rwIModel.importSchemaStrings([schema]);
213
220
  rwIModel.saveChanges("user 1: schema changeset");
@@ -278,7 +285,7 @@ describe("Changeset Reader API", async () => {
278
285
  };
279
286
  rwIModel.saveChanges("user 1: data");
280
287
  if (true || "test local changes") {
281
- const testChanges = (changes) => {
288
+ const testChanges = async (changes) => {
282
289
  assert.equal(changes.length, 3);
283
290
  assert.equal(changes[0].ECInstanceId, "0x20000000001");
284
291
  assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
@@ -306,7 +313,9 @@ describe("Changeset Reader API", async () => {
306
313
  assert.deepEqual(el.BBoxHigh, { X: 15, Y: 15 });
307
314
  // eslint-disable-next-line @typescript-eslint/naming-convention
308
315
  assert.equal(el.Category.Id, "0x20000000002");
309
- assert.isTrue(el.Category.RelECClassId.startsWith("0x"));
316
+ assert.isNotEmpty(el.Category.RelECClassId);
317
+ const categoryRelClass = await getClassNameById(rwIModel, el.Category.RelECClassId);
318
+ assert.equal("BisCore:GeometricElement2dIsInCategory", categoryRelClass);
310
319
  assert.equal(el.s, "xxxxxxxxx");
311
320
  assert.isNull(el.CodeValue);
312
321
  assert.isNull(el.UserLabel);
@@ -319,14 +328,15 @@ describe("Changeset Reader API", async () => {
319
328
  // eslint-disable-next-line @typescript-eslint/naming-convention
320
329
  assert.deepEqual(el.TypeDefinition, { Id: null, RelECClassId: null });
321
330
  // eslint-disable-next-line @typescript-eslint/naming-convention
322
- assert.equal(el.Category.Id, "0x20000000002");
323
- assert.isTrue(el.Category.RelECClassId.startsWith("0x"));
324
- // eslint-disable-next-line @typescript-eslint/naming-convention
325
331
  assert.equal(el.CodeSpec.Id, "0x1");
326
- assert.isTrue(el.CodeSpec.RelECClassId.startsWith("0x"));
332
+ assert.isNotEmpty(el.CodeSpec.RelECClassId);
333
+ const codeSpecRelClass = await getClassNameById(rwIModel, el.CodeSpec.RelECClassId);
334
+ assert.equal("BisCore:CodeSpecSpecifiesCode", codeSpecRelClass);
327
335
  // eslint-disable-next-line @typescript-eslint/naming-convention
328
336
  assert.equal(el.CodeScope.Id, "0x1");
329
- assert.isTrue(el.CodeScope.RelECClassId.startsWith("0x"));
337
+ assert.isNotEmpty(el.CodeScope.RelECClassId);
338
+ const codeScopeRelClass = await getClassNameById(rwIModel, el.CodeScope.RelECClassId);
339
+ assert.equal("BisCore:ElementScopesCode", codeScopeRelClass);
330
340
  assert.deepEqual(el.$meta, {
331
341
  tables: [
332
342
  "bis_GeometricElement2d",
@@ -350,7 +360,7 @@ describe("Changeset Reader API", async () => {
350
360
  while (adaptor.step()) {
351
361
  pcu.appendFrom(adaptor);
352
362
  }
353
- testChanges(Array.from(pcu.instances));
363
+ await testChanges(Array.from(pcu.instances));
354
364
  }
355
365
  catch (e_1) {
356
366
  env_1.error = e_1;
@@ -369,7 +379,7 @@ describe("Changeset Reader API", async () => {
369
379
  while (adaptor.step()) {
370
380
  pcu.appendFrom(adaptor);
371
381
  }
372
- testChanges(Array.from(pcu.instances));
382
+ await testChanges(Array.from(pcu.instances));
373
383
  }
374
384
  catch (e_2) {
375
385
  env_2.error = e_2;
@@ -505,7 +515,7 @@ describe("Changeset Reader API", async () => {
505
515
  }
506
516
  }
507
517
  if (true || "test changeset file") {
508
- const testChanges = (changes) => {
518
+ const testChanges = async (changes) => {
509
519
  assert.equal(changes.length, 3);
510
520
  assert.equal(changes[0].ECInstanceId, "0x20000000001");
511
521
  assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
@@ -533,7 +543,9 @@ describe("Changeset Reader API", async () => {
533
543
  assert.deepEqual(el.BBoxHigh, { X: 15, Y: 15 });
534
544
  // eslint-disable-next-line @typescript-eslint/naming-convention
535
545
  assert.equal(el.Category.Id, "0x20000000002");
536
- assert.isTrue(el.Category.RelECClassId.startsWith("0x"));
546
+ assert.isNotEmpty(el.Category.RelECClassId);
547
+ const categoryRelClass = await getClassNameById(rwIModel, el.Category.RelECClassId);
548
+ assert.equal("BisCore:GeometricElement2dIsInCategory", categoryRelClass);
537
549
  assert.equal(el.s, "xxxxxxxxx");
538
550
  assert.isNull(el.CodeValue);
539
551
  assert.isNull(el.UserLabel);
@@ -546,14 +558,15 @@ describe("Changeset Reader API", async () => {
546
558
  // eslint-disable-next-line @typescript-eslint/naming-convention
547
559
  assert.deepEqual(el.TypeDefinition, { Id: null, RelECClassId: null });
548
560
  // eslint-disable-next-line @typescript-eslint/naming-convention
549
- assert.equal(el.Category.Id, "0x20000000002");
550
- assert.isTrue(el.Category.RelECClassId.startsWith("0x"));
551
- // eslint-disable-next-line @typescript-eslint/naming-convention
552
561
  assert.equal(el.CodeSpec.Id, "0x1");
553
- assert.isTrue(el.CodeSpec.RelECClassId.startsWith("0x"));
562
+ assert.isNotEmpty(el.CodeSpec.RelECClassId);
563
+ const codeSpecRelClass = await getClassNameById(rwIModel, el.CodeSpec.RelECClassId);
564
+ assert.equal("BisCore:CodeSpecSpecifiesCode", codeSpecRelClass);
554
565
  // eslint-disable-next-line @typescript-eslint/naming-convention
555
566
  assert.equal(el.CodeScope.Id, "0x1");
556
- assert.isTrue(el.CodeScope.RelECClassId.startsWith("0x"));
567
+ assert.isNotEmpty(el.CodeScope.RelECClassId);
568
+ const codeScopeRelClass = await getClassNameById(rwIModel, el.CodeScope.RelECClassId);
569
+ assert.equal("BisCore:ElementScopesCode", codeScopeRelClass);
557
570
  assert.deepEqual(el.$meta, {
558
571
  tables: [
559
572
  "bis_GeometricElement2d",
@@ -577,7 +590,7 @@ describe("Changeset Reader API", async () => {
577
590
  while (adaptor.step()) {
578
591
  pcu.appendFrom(adaptor);
579
592
  }
580
- testChanges(Array.from(pcu.instances));
593
+ await testChanges(Array.from(pcu.instances));
581
594
  }
582
595
  catch (e_7) {
583
596
  env_7.error = e_7;
@@ -596,7 +609,7 @@ describe("Changeset Reader API", async () => {
596
609
  while (adaptor.step()) {
597
610
  pcu.appendFrom(adaptor);
598
611
  }
599
- testChanges(Array.from(pcu.instances));
612
+ await testChanges(Array.from(pcu.instances));
600
613
  }
601
614
  catch (e_8) {
602
615
  env_8.error = e_8;
@@ -719,13 +732,13 @@ describe("Changeset Reader API", async () => {
719
732
  const addPropertyAndImportSchema = async () => {
720
733
  await rwIModel.acquireSchemaLock();
721
734
  ++nProps;
722
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
723
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
724
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
725
- <ECEntityClass typeName="Test2dElement">
726
- <BaseClass>bis:GraphicalElement2d</BaseClass>
727
- ${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
728
- </ECEntityClass>
735
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
736
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
737
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
738
+ <ECEntityClass typeName="Test2dElement">
739
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
740
+ ${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
741
+ </ECEntityClass>
729
742
  </ECSchema>`;
730
743
  await rwIModel.importSchemaStrings([schema]);
731
744
  };
@@ -862,13 +875,13 @@ describe("Changeset Reader API", async () => {
862
875
  assert.isNotEmpty(rwIModelId);
863
876
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
864
877
  // 1. Import schema with class that span overflow table.
865
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
866
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
867
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
868
- <ECEntityClass typeName="Test2dElement">
869
- <BaseClass>bis:GraphicalElement2d</BaseClass>
870
- <ECProperty propertyName="p1" typeName="string"/>
871
- </ECEntityClass>
878
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
879
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
880
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
881
+ <ECEntityClass typeName="Test2dElement">
882
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
883
+ <ECProperty propertyName="p1" typeName="string"/>
884
+ </ECEntityClass>
872
885
  </ECSchema>`;
873
886
  await rwIModel.importSchemaStrings([schema]);
874
887
  rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
@@ -1065,18 +1078,18 @@ describe("Changeset Reader API", async () => {
1065
1078
  ]);
1066
1079
  // Enable shared channel for both
1067
1080
  [firstBriefCase, secondBriefCase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
1068
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1069
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1070
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1071
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1072
-
1073
- <ECCustomAttributes>
1074
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1075
- </ECCustomAttributes>
1076
-
1077
- <ECEntityClass typeName="TestClass">
1078
- <BaseClass>bis:PhysicalElement</BaseClass>
1079
- </ECEntityClass>
1081
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1082
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1083
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1084
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1085
+
1086
+ <ECCustomAttributes>
1087
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1088
+ </ECCustomAttributes>
1089
+
1090
+ <ECEntityClass typeName="TestClass">
1091
+ <BaseClass>bis:PhysicalElement</BaseClass>
1092
+ </ECEntityClass>
1080
1093
  </ECSchema>`]);
1081
1094
  firstBriefCase.saveChanges("import initial schema");
1082
1095
  // Push the changes to the hub
@@ -1085,13 +1098,13 @@ describe("Changeset Reader API", async () => {
1085
1098
  await secondBriefCase.pullChanges({ accessToken: adminToken });
1086
1099
  checkClass(firstBriefCase, true, secondBriefCase, true);
1087
1100
  // Import the schema
1088
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1089
- <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1090
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1091
-
1092
- <ECCustomAttributes>
1093
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1094
- </ECCustomAttributes>
1101
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1102
+ <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1103
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1104
+
1105
+ <ECCustomAttributes>
1106
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1107
+ </ECCustomAttributes>
1095
1108
  </ECSchema>`]);
1096
1109
  firstBriefCase.saveChanges("imported schema");
1097
1110
  // Push the changeset to the hub
@@ -1132,18 +1145,18 @@ describe("Changeset Reader API", async () => {
1132
1145
  ]);
1133
1146
  // Enable shared channel for both
1134
1147
  [firstBriefCase, secondBriefCase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
1135
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1136
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1137
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1138
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1139
-
1140
- <ECCustomAttributes>
1141
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1142
- </ECCustomAttributes>
1143
-
1144
- <ECEntityClass typeName="TestClass">
1145
- <BaseClass>bis:PhysicalElement</BaseClass>
1146
- </ECEntityClass>
1148
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1149
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1150
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1151
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1152
+
1153
+ <ECCustomAttributes>
1154
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1155
+ </ECCustomAttributes>
1156
+
1157
+ <ECEntityClass typeName="TestClass">
1158
+ <BaseClass>bis:PhysicalElement</BaseClass>
1159
+ </ECEntityClass>
1147
1160
  </ECSchema>`]);
1148
1161
  firstBriefCase.saveChanges("import initial schema");
1149
1162
  // Push the changes to the hub
@@ -1152,22 +1165,22 @@ describe("Changeset Reader API", async () => {
1152
1165
  await secondBriefCase.pullChanges({ accessToken: adminToken });
1153
1166
  checkClass("TestClass", firstBriefCase, true, secondBriefCase, true);
1154
1167
  // Import the schema
1155
- await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1156
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.1" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1157
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1158
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1159
-
1160
- <ECCustomAttributes>
1161
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1162
- </ECCustomAttributes>
1163
-
1164
- <ECEntityClass typeName="TestClass">
1165
- <BaseClass>bis:PhysicalElement</BaseClass>
1166
- </ECEntityClass>
1167
-
1168
- <ECEntityClass typeName="AnotherTestClass">
1169
- <BaseClass>bis:PhysicalElement</BaseClass>
1170
- </ECEntityClass>
1168
+ await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1169
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.1" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1170
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1171
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1172
+
1173
+ <ECCustomAttributes>
1174
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1175
+ </ECCustomAttributes>
1176
+
1177
+ <ECEntityClass typeName="TestClass">
1178
+ <BaseClass>bis:PhysicalElement</BaseClass>
1179
+ </ECEntityClass>
1180
+
1181
+ <ECEntityClass typeName="AnotherTestClass">
1182
+ <BaseClass>bis:PhysicalElement</BaseClass>
1183
+ </ECEntityClass>
1171
1184
  </ECSchema>`]);
1172
1185
  firstBriefCase.saveChanges("imported schema");
1173
1186
  // Push the changeset to the hub
@@ -1207,18 +1220,18 @@ describe("Changeset Reader API", async () => {
1207
1220
  HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken })
1208
1221
  ]);
1209
1222
  [firstBriefcase, secondBriefcase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
1210
- await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1211
- <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1212
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1213
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1214
-
1215
- <ECCustomAttributes>
1216
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1217
- </ECCustomAttributes>
1218
-
1219
- <ECEntityClass typeName="TestClass">
1220
- <BaseClass>bis:PhysicalElement</BaseClass>
1221
- </ECEntityClass>
1223
+ await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1224
+ <ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1225
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1226
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1227
+
1228
+ <ECCustomAttributes>
1229
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1230
+ </ECCustomAttributes>
1231
+
1232
+ <ECEntityClass typeName="TestClass">
1233
+ <BaseClass>bis:PhysicalElement</BaseClass>
1234
+ </ECEntityClass>
1222
1235
  </ECSchema>`]);
1223
1236
  firstBriefcase.saveChanges("import initial schema");
1224
1237
  // Enable changeset tracking for both briefcases
@@ -1226,41 +1239,41 @@ describe("Changeset Reader API", async () => {
1226
1239
  await firstBriefcase.pushChanges({ description: "push initial schema changeset", accessToken: adminToken });
1227
1240
  await secondBriefcase.pullChanges({ accessToken: adminToken });
1228
1241
  // Schema upgrade
1229
- await secondBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1230
- <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1231
- <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1232
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1233
-
1234
- <ECCustomAttributes>
1235
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1236
- </ECCustomAttributes>
1237
-
1238
- <ECEntityClass typeName="TestClass">
1239
- <BaseClass>bis:PhysicalElement</BaseClass>
1240
- <ECProperty propertyName="TestProperty" typeName="string"/>
1241
- </ECEntityClass>
1242
-
1243
- <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1244
- <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1245
- <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1246
- </ECEnumeration>
1242
+ await secondBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1243
+ <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1244
+ <ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
1245
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1246
+
1247
+ <ECCustomAttributes>
1248
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1249
+ </ECCustomAttributes>
1250
+
1251
+ <ECEntityClass typeName="TestClass">
1252
+ <BaseClass>bis:PhysicalElement</BaseClass>
1253
+ <ECProperty propertyName="TestProperty" typeName="string"/>
1254
+ </ECEntityClass>
1255
+
1256
+ <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1257
+ <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1258
+ <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1259
+ </ECEnumeration>
1247
1260
  </ECSchema>`]);
1248
1261
  secondBriefcase.saveChanges("imported schema");
1249
1262
  await secondBriefcase.pushChanges({ description: "Added a property to TestClass and an enum", accessToken: adminToken });
1250
1263
  await firstBriefcase.pullChanges({ accessToken: adminToken });
1251
1264
  // Major schema change
1252
- await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1253
- <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1254
- <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1255
-
1256
- <ECCustomAttributes>
1257
- <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1258
- </ECCustomAttributes>
1259
-
1260
- <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1261
- <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1262
- <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1263
- </ECEnumeration>
1265
+ await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
1266
+ <ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
1267
+ <ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
1268
+
1269
+ <ECCustomAttributes>
1270
+ <DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
1271
+ </ECCustomAttributes>
1272
+
1273
+ <ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
1274
+ <ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
1275
+ <ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
1276
+ </ECEnumeration>
1264
1277
  </ECSchema>`]);
1265
1278
  firstBriefcase.saveChanges("imported schema");
1266
1279
  await firstBriefcase.pushChanges({ description: "Deleted TestClass", accessToken: adminToken });
@@ -1299,13 +1312,13 @@ describe("Changeset Reader API", async () => {
1299
1312
  assert.isNotEmpty(rwIModelId);
1300
1313
  const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
1301
1314
  // 1. Import schema with class that span overflow table.
1302
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
1303
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
1304
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
1305
- <ECEntityClass typeName="Test2dElement">
1306
- <BaseClass>bis:GraphicalElement2d</BaseClass>
1307
- <ECProperty propertyName="p1" typeName="string"/>
1308
- </ECEntityClass>
1315
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
1316
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
1317
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
1318
+ <ECEntityClass typeName="Test2dElement">
1319
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
1320
+ <ECProperty propertyName="p1" typeName="string"/>
1321
+ </ECEntityClass>
1309
1322
  </ECSchema>`;
1310
1323
  await rwIModel.importSchemaStrings([schema]);
1311
1324
  rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
@@ -1341,6 +1354,7 @@ describe("Changeset Reader API", async () => {
1341
1354
  await rwIModel.locks.acquireLocks({ shared: drawingModelId });
1342
1355
  const e1id = rwIModel.elements.insertElement(e1);
1343
1356
  assert.isTrue(Id64.isValidId64(e1id), "insert worked");
1357
+ const testElClassId = getClassIdByName(rwIModel, "Test2dElement");
1344
1358
  if (true) {
1345
1359
  const reader = SqliteChangesetReader.openInMemory({ db: rwIModel, disableSchemaCheck: true });
1346
1360
  const adaptor = new ChangesetECAdaptor(reader);
@@ -1356,7 +1370,7 @@ describe("Changeset Reader API", async () => {
1356
1370
  expect(testEl.$meta?.op).to.equals("Inserted");
1357
1371
  expect(testEl.$meta?.classFullName).to.equals("TestDomain:Test2dElement");
1358
1372
  expect(testEl.$meta?.stage).to.equals("New");
1359
- expect(testEl.ECClassId.startsWith("0x")).to.be.true;
1373
+ expect(testEl.ECClassId).to.equals(testElClassId);
1360
1374
  expect(testEl.ECInstanceId).to.equals(e1id);
1361
1375
  expect(testEl.Model.Id).to.equals(drawingModelId);
1362
1376
  expect(testEl.Category.Id).to.equals(drawingCategoryId);
@@ -1384,12 +1398,13 @@ describe("Changeset Reader API", async () => {
1384
1398
  // verify the inserted element's properties
1385
1399
  const instances = Array.from(unifier.instances);
1386
1400
  expect(instances.length).to.equals(3);
1401
+ const drawingModelClassId = getClassIdByName(rwIModel, "DrawingModel");
1387
1402
  // DrawingModel new instance
1388
1403
  const drawingModelElNew = instances[0];
1389
1404
  expect(drawingModelElNew.$meta?.op).to.equals("Updated");
1390
1405
  expect(drawingModelElNew.$meta?.classFullName).to.equals("BisCore:DrawingModel");
1391
1406
  expect(drawingModelElNew.$meta?.stage).to.equals("New");
1392
- expect(drawingModelElNew.ECClassId.startsWith("0x")).to.be.true;
1407
+ expect(drawingModelElNew.ECClassId).to.equals(drawingModelClassId);
1393
1408
  expect(drawingModelElNew.ECInstanceId).to.equals(drawingModelId);
1394
1409
  expect(drawingModelElNew.LastMod).to.exist;
1395
1410
  expect(drawingModelElNew.GeometryGuid).to.exist;
@@ -1398,7 +1413,7 @@ describe("Changeset Reader API", async () => {
1398
1413
  expect(drawingModelElOld.$meta?.op).to.equals("Updated");
1399
1414
  expect(drawingModelElOld.$meta?.classFullName).to.equals("BisCore:DrawingModel");
1400
1415
  expect(drawingModelElOld.$meta?.stage).to.equals("Old");
1401
- expect(drawingModelElOld.ECClassId.startsWith("0x")).to.be.true;
1416
+ expect(drawingModelElOld.ECClassId).to.equals(drawingModelClassId);
1402
1417
  expect(drawingModelElOld.ECInstanceId).to.equals(drawingModelId);
1403
1418
  expect(drawingModelElOld.LastMod).to.null;
1404
1419
  expect(drawingModelElOld.GeometryGuid).to.null;
@@ -1407,7 +1422,7 @@ describe("Changeset Reader API", async () => {
1407
1422
  expect(testEl.$meta?.op).to.equals("Inserted");
1408
1423
  expect(testEl.$meta?.classFullName).to.equals("TestDomain:Test2dElement");
1409
1424
  expect(testEl.$meta?.stage).to.equals("New");
1410
- expect(testEl.ECClassId.startsWith("0x")).to.be.true;
1425
+ expect(testEl.ECClassId).to.equals(testElClassId);
1411
1426
  expect(testEl.ECInstanceId).to.equals(e1id);
1412
1427
  expect(testEl.Model.Id).to.equals(drawingModelId);
1413
1428
  expect(testEl.Category.Id).to.equals(drawingCategoryId);