@itwin/core-backend 5.4.0-dev.7 → 5.4.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 (406) hide show
  1. package/CHANGELOG.md +53 -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.js.map +1 -1
  7. package/lib/cjs/CatalogDb.js.map +1 -1
  8. package/lib/cjs/Category.js.map +1 -1
  9. package/lib/cjs/ChangeSummaryManager.js +2 -2
  10. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  11. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  12. package/lib/cjs/ChangesetECAdaptor.js +248 -248
  13. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  14. package/lib/cjs/ChannelControl.js.map +1 -1
  15. package/lib/cjs/CheckpointManager.js.map +1 -1
  16. package/lib/cjs/ClassRegistry.js +5 -5
  17. package/lib/cjs/ClassRegistry.js.map +1 -1
  18. package/lib/cjs/CloudSqlite.js.map +1 -1
  19. package/lib/cjs/CodeService.js.map +1 -1
  20. package/lib/cjs/CodeSpecs.js.map +1 -1
  21. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  22. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  23. package/lib/cjs/DevTools.js.map +1 -1
  24. package/lib/cjs/DisplayStyle.js.map +1 -1
  25. package/lib/cjs/ECDb.js.map +1 -1
  26. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  27. package/lib/cjs/ECSqlStatement.js.map +1 -1
  28. package/lib/cjs/Element.js.map +1 -1
  29. package/lib/cjs/ElementAspect.js.map +1 -1
  30. package/lib/cjs/ElementGraphics.js.map +1 -1
  31. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  32. package/lib/cjs/Entity.js.map +1 -1
  33. package/lib/cjs/EntityReferences.js.map +1 -1
  34. package/lib/cjs/ExportGraphics.js.map +1 -1
  35. package/lib/cjs/ExternalSource.js.map +1 -1
  36. package/lib/cjs/FontFile.js.map +1 -1
  37. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  38. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  39. package/lib/cjs/GeometrySummary.js +47 -47
  40. package/lib/cjs/GeometrySummary.js.map +1 -1
  41. package/lib/cjs/IModelDb.d.ts.map +1 -1
  42. package/lib/cjs/IModelDb.js +20 -17
  43. package/lib/cjs/IModelDb.js.map +1 -1
  44. package/lib/cjs/IModelDbFonts.js.map +1 -1
  45. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  46. package/lib/cjs/IModelHost.d.ts +11 -0
  47. package/lib/cjs/IModelHost.d.ts.map +1 -1
  48. package/lib/cjs/IModelHost.js +6 -0
  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.d.ts +1 -0
  58. package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -1
  59. package/lib/cjs/LocalhostIpcHost.js +1 -1
  60. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  61. package/lib/cjs/LockControl.js.map +1 -1
  62. package/lib/cjs/Material.js.map +1 -1
  63. package/lib/cjs/Model.js.map +1 -1
  64. package/lib/cjs/NativeAppStorage.js.map +1 -1
  65. package/lib/cjs/NativeHost.js.map +1 -1
  66. package/lib/cjs/NavigationRelationship.js.map +1 -1
  67. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  68. package/lib/cjs/PropertyStore.js.map +1 -1
  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 +16 -4
  82. package/lib/cjs/TxnManager.d.ts.map +1 -1
  83. package/lib/cjs/TxnManager.js +25 -3
  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.js.map +1 -1
  89. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  90. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  91. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  92. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  93. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  94. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  95. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  96. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  97. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  98. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  99. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  100. package/lib/cjs/core-backend.js.map +1 -1
  101. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  102. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  103. package/lib/cjs/domains/GenericElements.js.map +1 -1
  104. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  105. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  106. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  107. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  108. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  109. package/lib/cjs/internal/HubMock.js.map +1 -1
  110. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  111. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  112. package/lib/cjs/internal/NoLocks.js.map +1 -1
  113. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  114. package/lib/cjs/internal/Symbols.js.map +1 -1
  115. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  116. package/lib/cjs/internal/cross-package.js.map +1 -1
  117. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  118. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  119. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  120. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  121. package/lib/cjs/rpc/multipart.js.map +1 -1
  122. package/lib/cjs/rpc/tracing.js.map +1 -1
  123. package/lib/cjs/rpc/web/logging.js.map +1 -1
  124. package/lib/cjs/rpc/web/request.js.map +1 -1
  125. package/lib/cjs/rpc/web/response.js.map +1 -1
  126. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  127. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  128. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  129. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  130. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  131. package/lib/cjs/workspace/Settings.js.map +1 -1
  132. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  133. package/lib/cjs/workspace/Workspace.js.map +1 -1
  134. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  135. package/lib/esm/BackendHubAccess.js.map +1 -1
  136. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  137. package/lib/esm/BisCoreSchema.js.map +1 -1
  138. package/lib/esm/BlobContainerService.js.map +1 -1
  139. package/lib/esm/BriefcaseManager.js.map +1 -1
  140. package/lib/esm/CatalogDb.js.map +1 -1
  141. package/lib/esm/Category.js.map +1 -1
  142. package/lib/esm/ChangeSummaryManager.js +2 -2
  143. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  144. package/lib/esm/ChangedElementsDb.js.map +1 -1
  145. package/lib/esm/ChangesetECAdaptor.js +248 -248
  146. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  147. package/lib/esm/ChannelControl.js.map +1 -1
  148. package/lib/esm/CheckpointManager.js.map +1 -1
  149. package/lib/esm/ClassRegistry.js +5 -5
  150. package/lib/esm/ClassRegistry.js.map +1 -1
  151. package/lib/esm/CloudSqlite.js.map +1 -1
  152. package/lib/esm/CodeService.js.map +1 -1
  153. package/lib/esm/CodeSpecs.js.map +1 -1
  154. package/lib/esm/ConcurrentQuery.js.map +1 -1
  155. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  156. package/lib/esm/DevTools.js.map +1 -1
  157. package/lib/esm/DisplayStyle.js.map +1 -1
  158. package/lib/esm/ECDb.js.map +1 -1
  159. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  160. package/lib/esm/ECSqlStatement.js.map +1 -1
  161. package/lib/esm/Element.js.map +1 -1
  162. package/lib/esm/ElementAspect.js.map +1 -1
  163. package/lib/esm/ElementGraphics.js.map +1 -1
  164. package/lib/esm/ElementTreeWalker.js.map +1 -1
  165. package/lib/esm/Entity.js.map +1 -1
  166. package/lib/esm/EntityReferences.js.map +1 -1
  167. package/lib/esm/ExportGraphics.js.map +1 -1
  168. package/lib/esm/ExternalSource.js.map +1 -1
  169. package/lib/esm/FontFile.js.map +1 -1
  170. package/lib/esm/GeoCoordConfig.js.map +1 -1
  171. package/lib/esm/GeographicCRSServices.js.map +1 -1
  172. package/lib/esm/GeometrySummary.js +47 -47
  173. package/lib/esm/GeometrySummary.js.map +1 -1
  174. package/lib/esm/IModelDb.d.ts.map +1 -1
  175. package/lib/esm/IModelDb.js +20 -17
  176. package/lib/esm/IModelDb.js.map +1 -1
  177. package/lib/esm/IModelDbFonts.js.map +1 -1
  178. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  179. package/lib/esm/IModelHost.d.ts +11 -0
  180. package/lib/esm/IModelHost.d.ts.map +1 -1
  181. package/lib/esm/IModelHost.js +6 -0
  182. package/lib/esm/IModelHost.js.map +1 -1
  183. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  184. package/lib/esm/IModelJsFs.js.map +1 -1
  185. package/lib/esm/ImageSourceConversion.js.map +1 -1
  186. package/lib/esm/IpcHost.js.map +1 -1
  187. package/lib/esm/LineStyle.js.map +1 -1
  188. package/lib/esm/LocalHub.js +1 -1
  189. package/lib/esm/LocalHub.js.map +1 -1
  190. package/lib/esm/LocalhostIpcHost.d.ts +1 -0
  191. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -1
  192. package/lib/esm/LocalhostIpcHost.js +1 -1
  193. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  194. package/lib/esm/LockControl.js.map +1 -1
  195. package/lib/esm/Material.js.map +1 -1
  196. package/lib/esm/Model.js.map +1 -1
  197. package/lib/esm/NativeAppStorage.js.map +1 -1
  198. package/lib/esm/NativeHost.js.map +1 -1
  199. package/lib/esm/NavigationRelationship.js.map +1 -1
  200. package/lib/esm/PromiseMemoizer.js.map +1 -1
  201. package/lib/esm/PropertyStore.js.map +1 -1
  202. package/lib/esm/Relationship.js.map +1 -1
  203. package/lib/esm/RpcBackend.js.map +1 -1
  204. package/lib/esm/SQLiteDb.js.map +1 -1
  205. package/lib/esm/Schema.js.map +1 -1
  206. package/lib/esm/SchemaSync.js.map +1 -1
  207. package/lib/esm/SchemaUtils.js.map +1 -1
  208. package/lib/esm/SheetIndex.js.map +1 -1
  209. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  210. package/lib/esm/SqliteStatement.js.map +1 -1
  211. package/lib/esm/StashManager.js.map +1 -1
  212. package/lib/esm/Texture.js.map +1 -1
  213. package/lib/esm/TileStorage.js.map +1 -1
  214. package/lib/esm/TxnManager.d.ts +16 -4
  215. package/lib/esm/TxnManager.d.ts.map +1 -1
  216. package/lib/esm/TxnManager.js +25 -3
  217. package/lib/esm/TxnManager.js.map +1 -1
  218. package/lib/esm/ViewDefinition.js.map +1 -1
  219. package/lib/esm/ViewStateHydrator.js.map +1 -1
  220. package/lib/esm/ViewStore.js.map +1 -1
  221. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  222. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  223. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  224. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  225. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  226. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  227. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  228. package/lib/esm/core-backend.js.map +1 -1
  229. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  230. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  231. package/lib/esm/domains/GenericElements.js.map +1 -1
  232. package/lib/esm/domains/GenericSchema.js.map +1 -1
  233. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  234. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  235. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  236. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  237. package/lib/esm/internal/HubMock.js.map +1 -1
  238. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  239. package/lib/esm/internal/NativePlatform.js.map +1 -1
  240. package/lib/esm/internal/NoLocks.js.map +1 -1
  241. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  242. package/lib/esm/internal/Symbols.js.map +1 -1
  243. package/lib/esm/internal/annotations/fields.js.map +1 -1
  244. package/lib/esm/internal/cross-package.js.map +1 -1
  245. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  246. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  247. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  248. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  249. package/lib/esm/rpc/multipart.js.map +1 -1
  250. package/lib/esm/rpc/tracing.js.map +1 -1
  251. package/lib/esm/rpc/web/logging.js.map +1 -1
  252. package/lib/esm/rpc/web/request.js.map +1 -1
  253. package/lib/esm/rpc/web/response.js.map +1 -1
  254. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  255. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  256. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  257. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  258. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  259. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  260. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  261. package/lib/esm/test/AttachDb.test.js +11 -11
  262. package/lib/esm/test/AttachDb.test.js.map +1 -1
  263. package/lib/esm/test/ElementDrivesElement.test.js +23 -23
  264. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  265. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  266. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  267. package/lib/esm/test/IModelHost.test.js.map +1 -1
  268. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  269. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  270. package/lib/esm/test/IpcHost.test.js.map +1 -1
  271. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  272. package/lib/esm/test/PrintElementTree.js.map +1 -1
  273. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  274. package/lib/esm/test/RevisionUtility.js.map +1 -1
  275. package/lib/esm/test/SchemaUtils.test.js +25 -25
  276. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  277. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  278. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  279. package/lib/esm/test/TestUtils.js.map +1 -1
  280. package/lib/esm/test/annotations/Fields.test.js +53 -53
  281. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  282. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  283. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  284. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  285. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  286. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  287. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  288. package/lib/esm/test/categories/Category.test.js.map +1 -1
  289. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  290. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  291. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  292. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
  293. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  294. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  295. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  296. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  297. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  298. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  299. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  300. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  301. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  302. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  303. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  304. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  305. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
  306. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  307. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  308. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  309. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  310. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  311. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  312. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  313. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  314. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  315. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  316. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  317. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  318. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  319. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  320. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  321. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  322. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  323. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
  324. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  325. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  326. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  327. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  328. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +132 -34
  329. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  330. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  331. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  332. package/lib/esm/test/hubaccess/Rebase.test.js +197 -41
  333. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  334. package/lib/esm/test/imageData.js.map +1 -1
  335. package/lib/esm/test/imodel/Code.test.js +369 -248
  336. package/lib/esm/test/imodel/Code.test.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 +47 -44
  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 +27 -8
  345. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  346. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
  347. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts +4 -1
  348. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts.map +1 -1
  349. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js +14 -4
  350. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
  351. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
  352. package/lib/esm/test/index.js.map +1 -1
  353. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  354. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  355. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  356. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  357. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  358. package/lib/esm/test/rpc/response.test.js.map +1 -1
  359. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  360. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  361. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  362. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  363. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  364. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  365. package/lib/esm/test/standalone/ChangeMerge.test.js +24 -0
  366. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  367. package/lib/esm/test/standalone/ChangesetReader.test.js +124 -124
  368. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  369. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  370. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  371. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  372. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  373. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  374. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  375. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  376. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  377. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  378. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  379. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  380. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  381. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  382. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  383. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  384. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  385. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  386. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  387. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  388. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  389. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  390. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  391. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  392. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  393. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  394. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  395. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  396. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  397. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  398. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  399. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  400. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  401. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  402. package/lib/esm/workspace/Settings.js.map +1 -1
  403. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  404. package/lib/esm/workspace/Workspace.js.map +1 -1
  405. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  406. package/package.json +15 -15
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import { Guid } from "@itwin/core-bentley";
5
+ import { DbResult, Guid } from "@itwin/core-bentley";
6
6
  import { Code, IModel, QueryBinder, SubCategoryAppearance } from "@itwin/core-common";
7
7
  import * as chai from "chai";
8
8
  import * as chaiAsPromised from "chai-as-promised";
@@ -26,22 +26,22 @@ class TestIModel {
26
26
  const b1 = await HubWrappers.downloadAndOpenBriefcase({ iTwinId: HubMock.iTwinId, iModelId: this.iModelId });
27
27
  b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
28
28
  b1.saveChanges();
29
- const schema1 = `<?xml version="1.0" encoding="UTF-8"?>
30
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
31
- <ECSchemaReference name="BisCore" version="01.00.00" alias="bis"/>
32
- <ECEntityClass typeName="a1">
33
- <BaseClass>bis:GraphicalElement2d</BaseClass>
34
- <ECProperty propertyName="prop1" typeName="string" />
35
- </ECEntityClass>
36
- <ECRelationshipClass typeName="A1OwnsA1" modifier="None" strength="embedding">
37
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
38
- <Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
39
- <Class class="a1"/>
40
- </Source>
41
- <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
42
- <Class class="a1"/>
43
- </Target>
44
- </ECRelationshipClass>
29
+ const schema1 = `<?xml version="1.0" encoding="UTF-8"?>
30
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
31
+ <ECSchemaReference name="BisCore" version="01.00.00" alias="bis"/>
32
+ <ECEntityClass typeName="a1">
33
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
34
+ <ECProperty propertyName="prop1" typeName="string" />
35
+ </ECEntityClass>
36
+ <ECRelationshipClass typeName="A1OwnsA1" modifier="None" strength="embedding">
37
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
38
+ <Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
39
+ <Class class="a1"/>
40
+ </Source>
41
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
42
+ <Class class="a1"/>
43
+ </Target>
44
+ </ECRelationshipClass>
45
45
  </ECSchema>`;
46
46
  await b1.importSchemaStrings([schema1]);
47
47
  chai.expect(b1.txns.hasPendingTxns).to.be.true;
@@ -391,13 +391,13 @@ describe("rebase changes & stashing api", function () {
391
391
  });
392
392
  it("should fail to importSchemas() & importSchemaStrings() in indirect scope", async () => {
393
393
  const b1 = await testIModel.openBriefcase();
394
- const schema = `<?xml version="1.0" encoding="UTF-8"?>
395
- <ECSchema schemaName="MySchema" alias="ms1" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
396
- <ECSchemaReference name="BisCore" version="01.00.00" alias="bis"/>
397
- <ECEntityClass typeName="my_class">
398
- <BaseClass>bis:GraphicalElement2d</BaseClass>
399
- <ECProperty propertyName="prop1" typeName="string" />
400
- </ECEntityClass>
394
+ const schema = `<?xml version="1.0" encoding="UTF-8"?>
395
+ <ECSchema schemaName="MySchema" alias="ms1" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
396
+ <ECSchemaReference name="BisCore" version="01.00.00" alias="bis"/>
397
+ <ECEntityClass typeName="my_class">
398
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
399
+ <ECProperty propertyName="prop1" typeName="string" />
400
+ </ECEntityClass>
401
401
  </ECSchema>`;
402
402
  const schemaFile = path.join(KnownTestLocations.outputDir, "MySchema.01.00.00.ecschema.xml");
403
403
  if (existsSync(schemaFile)) {
@@ -678,23 +678,23 @@ describe("rebase changes & stashing api", function () {
678
678
  });
679
679
  it("schema change should not be stashed", async () => {
680
680
  const b1 = await testIModel.openBriefcase();
681
- const schema1 = `<?xml version="1.0" encoding="UTF-8"?>
682
- <ECSchema schemaName="TestDomain" alias="ts" version="01.00.01" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
683
- <ECSchemaReference name="BisCore" version="01.00.00" alias="bis"/>
684
- <ECEntityClass typeName="a1">
685
- <BaseClass>bis:GraphicalElement2d</BaseClass>
686
- <ECProperty propertyName="prop1" typeName="string" />
687
- <ECProperty propertyName="prop2" typeName="string" />
688
- </ECEntityClass>
689
- <ECRelationshipClass typeName="A1OwnsA1" modifier="None" strength="embedding">
690
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
691
- <Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
692
- <Class class="a1"/>
693
- </Source>
694
- <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
695
- <Class class="a1"/>
696
- </Target>
697
- </ECRelationshipClass>
681
+ const schema1 = `<?xml version="1.0" encoding="UTF-8"?>
682
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00.01" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
683
+ <ECSchemaReference name="BisCore" version="01.00.00" alias="bis"/>
684
+ <ECEntityClass typeName="a1">
685
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
686
+ <ECProperty propertyName="prop1" typeName="string" />
687
+ <ECProperty propertyName="prop2" typeName="string" />
688
+ </ECEntityClass>
689
+ <ECRelationshipClass typeName="A1OwnsA1" modifier="None" strength="embedding">
690
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
691
+ <Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
692
+ <Class class="a1"/>
693
+ </Source>
694
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
695
+ <Class class="a1"/>
696
+ </Target>
697
+ </ECRelationshipClass>
698
698
  </ECSchema>`;
699
699
  await b1.importSchemaStrings([schema1]);
700
700
  b1.saveChanges();
@@ -987,5 +987,161 @@ describe("rebase changes & stashing api", function () {
987
987
  chai.expect(events.rebaseHandler.shouldReinstate.map((txn) => txn.id)).to.deep.equal(["0x100000000", "0x100000001", "0x100000002", "0x100000003"]);
988
988
  chai.expect(events.rebaseHandler.recompute.map((txn) => txn.id)).to.deep.equal(["0x100000000", "0x100000001", "0x100000002", "0x100000003"]);
989
989
  });
990
+ it("rebase multi txn", async () => {
991
+ const b1 = await testIModel.openBriefcase();
992
+ const b2 = await testIModel.openBriefcase();
993
+ const e1 = await testIModel.insertElement(b1);
994
+ const e2 = await testIModel.insertElement(b1, true);
995
+ b1.saveChanges();
996
+ await b1.pushChanges({ description: "insert element 1 direct and 1 indirect" });
997
+ await b2.pullChanges();
998
+ chai.expect(b2.txns.beginMultiTxnOperation()).to.be.equals(DbResult.BE_SQLITE_OK);
999
+ let elId = await testIModel.insertElement(b2);
1000
+ b2.saveChanges(`insert element ${elId}`);
1001
+ elId = await testIModel.insertElement(b2);
1002
+ b2.saveChanges(`insert element ${elId}`);
1003
+ elId = await testIModel.insertElement(b2);
1004
+ b2.saveChanges(`insert element ${elId}`);
1005
+ chai.expect(b2.txns.endMultiTxnOperation()).to.be.equals(DbResult.BE_SQLITE_OK);
1006
+ b2.saveChanges();
1007
+ elId = await testIModel.insertElement(b2);
1008
+ b2.saveChanges(`insert element ${elId}`);
1009
+ let txns = Array.from(b2.txns.queryTxns());
1010
+ chai.expect(txns[0].id).to.be.equals("0x100000000"); // 1st after beginMultiTxnOperation()
1011
+ chai.expect(txns[0].props.description).to.be.equals("insert element 0x40000000001");
1012
+ chai.expect(txns[0].sessionId).to.be.equals(1);
1013
+ chai.expect(txns[0].grouped).to.be.equals(false);
1014
+ chai.expect(txns[0].reversed).to.be.equals(false);
1015
+ chai.expect(txns[1].id).to.be.equals("0x100000001"); // 2nd after beginMultiTxnOperation()
1016
+ chai.expect(txns[1].props.description).to.be.equals("insert element 0x40000000002");
1017
+ chai.expect(txns[1].sessionId).to.be.equals(1);
1018
+ chai.expect(txns[1].grouped).to.be.equals(true);
1019
+ chai.expect(txns[1].reversed).to.be.equals(false);
1020
+ chai.expect(txns[2].id).to.be.equals("0x100000002"); // 3rd after beginMultiTxnOperation() & before endMultiTxnOperation()
1021
+ chai.expect(txns[2].props.description).to.be.equals("insert element 0x40000000003");
1022
+ chai.expect(txns[2].sessionId).to.be.equals(1);
1023
+ chai.expect(txns[2].grouped).to.be.equals(true);
1024
+ chai.expect(txns[2].reversed).to.be.equals(false);
1025
+ chai.expect(txns[3].id).to.be.equals("0x100000003"); // 4th after endMultiTxnOperation()
1026
+ chai.expect(txns[3].props.description).to.be.equals("insert element 0x40000000004");
1027
+ chai.expect(txns[3].type).to.be.equals("Data");
1028
+ chai.expect(txns[3].grouped).to.be.equals(false);
1029
+ chai.expect(txns[3].reversed).to.be.equals(false);
1030
+ // reverse single txn 0x100000003
1031
+ chai.expect(b2.txns.reverseSingleTxn()).to.be.equals(DbResult.BE_SQLITE_OK);
1032
+ txns = Array.from(b2.txns.queryTxns());
1033
+ chai.expect(txns[0].id).to.be.equals("0x100000000"); // 1st after beginMultiTxnOperation()
1034
+ chai.expect(txns[0].props.description).to.be.equals("insert element 0x40000000001");
1035
+ chai.expect(txns[0].sessionId).to.be.equals(1);
1036
+ chai.expect(txns[0].grouped).to.be.equals(false);
1037
+ chai.expect(txns[0].reversed).to.be.equals(false);
1038
+ chai.expect(txns[1].id).to.be.equals("0x100000001"); // 2nd after beginMultiTxnOperation()
1039
+ chai.expect(txns[1].props.description).to.be.equals("insert element 0x40000000002");
1040
+ chai.expect(txns[1].sessionId).to.be.equals(1);
1041
+ chai.expect(txns[1].grouped).to.be.equals(true);
1042
+ chai.expect(txns[1].reversed).to.be.equals(false);
1043
+ chai.expect(txns[2].id).to.be.equals("0x100000002"); // 3rd after beginMultiTxnOperation() & before endMultiTxnOperation()
1044
+ chai.expect(txns[2].props.description).to.be.equals("insert element 0x40000000003");
1045
+ chai.expect(txns[2].sessionId).to.be.equals(1);
1046
+ chai.expect(txns[2].grouped).to.be.equals(true);
1047
+ chai.expect(txns[2].reversed).to.be.equals(false);
1048
+ chai.expect(txns[3].id).to.be.equals("0x100000003"); // 4th after endMultiTxnOperation()
1049
+ chai.expect(txns[3].props.description).to.be.equals("insert element 0x40000000004");
1050
+ chai.expect(txns[3].type).to.be.equals("Data");
1051
+ chai.expect(txns[3].grouped).to.be.equals(false);
1052
+ chai.expect(txns[3].reversed).to.be.equals(true);
1053
+ // reverse multi txn. should reverse 0x100000000, 0x100000001 & 0x100000002
1054
+ chai.expect(b2.txns.reverseSingleTxn()).to.be.equals(DbResult.BE_SQLITE_OK);
1055
+ txns = Array.from(b2.txns.queryTxns());
1056
+ chai.expect(txns[0].id).to.be.equals("0x100000000"); // 1st after beginMultiTxnOperation()
1057
+ chai.expect(txns[0].props.description).to.be.equals("insert element 0x40000000001");
1058
+ chai.expect(txns[0].sessionId).to.be.equals(1);
1059
+ chai.expect(txns[0].grouped).to.be.equals(false);
1060
+ chai.expect(txns[0].reversed).to.be.equals(true);
1061
+ chai.expect(txns[1].id).to.be.equals("0x100000001"); // 2nd after beginMultiTxnOperation()
1062
+ chai.expect(txns[1].props.description).to.be.equals("insert element 0x40000000002");
1063
+ chai.expect(txns[1].sessionId).to.be.equals(1);
1064
+ chai.expect(txns[1].grouped).to.be.equals(true);
1065
+ chai.expect(txns[1].reversed).to.be.equals(true);
1066
+ chai.expect(txns[2].id).to.be.equals("0x100000002"); // 3rd after beginMultiTxnOperation() & before endMultiTxnOperation()
1067
+ chai.expect(txns[2].props.description).to.be.equals("insert element 0x40000000003");
1068
+ chai.expect(txns[2].sessionId).to.be.equals(1);
1069
+ chai.expect(txns[2].grouped).to.be.equals(true);
1070
+ chai.expect(txns[2].reversed).to.be.equals(true);
1071
+ chai.expect(txns[3].id).to.be.equals("0x100000003"); // 4th after endMultiTxnOperation()
1072
+ chai.expect(txns[3].props.description).to.be.equals("insert element 0x40000000004");
1073
+ chai.expect(txns[3].type).to.be.equals("Data");
1074
+ chai.expect(txns[3].grouped).to.be.equals(false);
1075
+ chai.expect(txns[3].reversed).to.be.equals(true);
1076
+ // reinstate the transaction
1077
+ chai.expect(b2.txns.isRedoPossible).to.be.equals(true);
1078
+ chai.expect(b2.txns.reinstateTxn()).to.be.equals(DbResult.BE_SQLITE_OK);
1079
+ txns = Array.from(b2.txns.queryTxns());
1080
+ chai.expect(txns[0].id).to.be.equals("0x100000000"); // 1st after beginMultiTxnOperation()
1081
+ chai.expect(txns[0].props.description).to.be.equals("insert element 0x40000000001");
1082
+ chai.expect(txns[0].sessionId).to.be.equals(1);
1083
+ chai.expect(txns[0].grouped).to.be.equals(false);
1084
+ chai.expect(txns[0].reversed).to.be.equals(false);
1085
+ chai.expect(txns[1].id).to.be.equals("0x100000001"); // 2nd after beginMultiTxnOperation()
1086
+ chai.expect(txns[1].props.description).to.be.equals("insert element 0x40000000002");
1087
+ chai.expect(txns[1].sessionId).to.be.equals(1);
1088
+ chai.expect(txns[1].grouped).to.be.equals(true);
1089
+ chai.expect(txns[1].reversed).to.be.equals(false);
1090
+ chai.expect(txns[2].id).to.be.equals("0x100000002"); // 3rd after beginMultiTxnOperation() & before endMultiTxnOperation()
1091
+ chai.expect(txns[2].props.description).to.be.equals("insert element 0x40000000003");
1092
+ chai.expect(txns[2].sessionId).to.be.equals(1);
1093
+ chai.expect(txns[2].grouped).to.be.equals(true);
1094
+ chai.expect(txns[2].reversed).to.be.equals(false);
1095
+ chai.expect(txns[3].id).to.be.equals("0x100000003"); // 4th after endMultiTxnOperation()
1096
+ chai.expect(txns[3].props.description).to.be.equals("insert element 0x40000000004");
1097
+ chai.expect(txns[3].type).to.be.equals("Data");
1098
+ chai.expect(txns[3].grouped).to.be.equals(false);
1099
+ chai.expect(txns[3].reversed).to.be.equals(true);
1100
+ // reinstate the transaction
1101
+ chai.expect(b2.txns.isRedoPossible).to.be.equals(true);
1102
+ chai.expect(b2.txns.reinstateTxn()).to.be.equals(DbResult.BE_SQLITE_OK);
1103
+ txns = Array.from(b2.txns.queryTxns());
1104
+ chai.expect(txns[0].id).to.be.equals("0x100000000"); // 1st after beginMultiTxnOperation()
1105
+ chai.expect(txns[0].props.description).to.be.equals("insert element 0x40000000001");
1106
+ chai.expect(txns[0].sessionId).to.be.equals(1);
1107
+ chai.expect(txns[0].grouped).to.be.equals(false);
1108
+ chai.expect(txns[0].reversed).to.be.equals(false);
1109
+ chai.expect(txns[1].id).to.be.equals("0x100000001"); // 2nd after beginMultiTxnOperation()
1110
+ chai.expect(txns[1].props.description).to.be.equals("insert element 0x40000000002");
1111
+ chai.expect(txns[1].sessionId).to.be.equals(1);
1112
+ chai.expect(txns[1].grouped).to.be.equals(true);
1113
+ chai.expect(txns[1].reversed).to.be.equals(false);
1114
+ chai.expect(txns[2].id).to.be.equals("0x100000002"); // 3rd after beginMultiTxnOperation() & before endMultiTxnOperation()
1115
+ chai.expect(txns[2].props.description).to.be.equals("insert element 0x40000000003");
1116
+ chai.expect(txns[2].sessionId).to.be.equals(1);
1117
+ chai.expect(txns[2].grouped).to.be.equals(true);
1118
+ chai.expect(txns[2].reversed).to.be.equals(false);
1119
+ chai.expect(txns[3].id).to.be.equals("0x100000003"); // 4th after endMultiTxnOperation()
1120
+ chai.expect(txns[3].props.description).to.be.equals("insert element 0x40000000004");
1121
+ chai.expect(txns[3].type).to.be.equals("Data");
1122
+ chai.expect(txns[3].grouped).to.be.equals(false);
1123
+ chai.expect(txns[3].reversed).to.be.equals(false);
1124
+ chai.expect(b2.txns.isRedoPossible).to.be.equals(false);
1125
+ await testIModel.updateElement(b1, e1);
1126
+ await testIModel.updateElement(b1, e2, true);
1127
+ b1.saveChanges();
1128
+ await b1.pushChanges({ description: "update element 1 direct and 1 indirect" });
1129
+ const recomputeTxnIds = [];
1130
+ b2.txns.rebaser.setCustomHandler({
1131
+ shouldReinstate: (_txn) => {
1132
+ return true;
1133
+ },
1134
+ recompute: async (txn) => {
1135
+ recomputeTxnIds.push(txn.id);
1136
+ },
1137
+ });
1138
+ await b2.pullChanges();
1139
+ chai.expect(recomputeTxnIds).to.deep.equals([
1140
+ "0x100000000",
1141
+ "0x100000001",
1142
+ "0x100000002",
1143
+ "0x100000003",
1144
+ ]);
1145
+ });
990
1146
  });
991
1147
  //# sourceMappingURL=Rebase.test.js.map