@itwin/core-backend 5.9.0-dev.8 → 5.9.0-dev.9

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 (446) hide show
  1. package/lib/cjs/BackendHubAccess.d.ts +38 -0
  2. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  3. package/lib/cjs/BackendHubAccess.js.map +1 -1
  4. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  5. package/lib/cjs/BisCoreSchema.js.map +1 -1
  6. package/lib/cjs/BlobContainerService.js.map +1 -1
  7. package/lib/cjs/BriefcaseManager.js.map +1 -1
  8. package/lib/cjs/CatalogDb.js.map +1 -1
  9. package/lib/cjs/Category.js.map +1 -1
  10. package/lib/cjs/ChangeSummaryManager.js +2 -2
  11. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  12. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  13. package/lib/cjs/ChangesetECAdaptor.js +248 -248
  14. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  15. package/lib/cjs/ChannelControl.js.map +1 -1
  16. package/lib/cjs/CheckpointManager.js.map +1 -1
  17. package/lib/cjs/ClassRegistry.js +5 -5
  18. package/lib/cjs/ClassRegistry.js.map +1 -1
  19. package/lib/cjs/CloudSqlite.js.map +1 -1
  20. package/lib/cjs/CodeService.js.map +1 -1
  21. package/lib/cjs/CodeSpecs.js.map +1 -1
  22. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  23. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  24. package/lib/cjs/DevTools.js.map +1 -1
  25. package/lib/cjs/DisplayStyle.js.map +1 -1
  26. package/lib/cjs/ECDb.js.map +1 -1
  27. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  28. package/lib/cjs/ECSqlRowExecutor.js.map +1 -1
  29. package/lib/cjs/ECSqlStatement.js.map +1 -1
  30. package/lib/cjs/ECSqlSyncReader.js.map +1 -1
  31. package/lib/cjs/EditTxn.js.map +1 -1
  32. package/lib/cjs/Element.js.map +1 -1
  33. package/lib/cjs/ElementAspect.js.map +1 -1
  34. package/lib/cjs/ElementGraphics.js.map +1 -1
  35. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  36. package/lib/cjs/Entity.js.map +1 -1
  37. package/lib/cjs/EntityReferences.js.map +1 -1
  38. package/lib/cjs/ExportGraphics.js.map +1 -1
  39. package/lib/cjs/ExternalSource.js.map +1 -1
  40. package/lib/cjs/FontFile.js.map +1 -1
  41. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  42. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  43. package/lib/cjs/GeometrySummary.js +47 -47
  44. package/lib/cjs/GeometrySummary.js.map +1 -1
  45. package/lib/cjs/IModelDb.js +9 -9
  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.d.ts.map +1 -1
  54. package/lib/cjs/IpcHost.js +13 -4
  55. package/lib/cjs/IpcHost.js.map +1 -1
  56. package/lib/cjs/LineStyle.js.map +1 -1
  57. package/lib/cjs/LocalHub.js +1 -1
  58. package/lib/cjs/LocalHub.js.map +1 -1
  59. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  60. package/lib/cjs/LockControl.d.ts +85 -1
  61. package/lib/cjs/LockControl.d.ts.map +1 -1
  62. package/lib/cjs/LockControl.js.map +1 -1
  63. package/lib/cjs/Material.js.map +1 -1
  64. package/lib/cjs/Model.js.map +1 -1
  65. package/lib/cjs/NativeAppStorage.js.map +1 -1
  66. package/lib/cjs/NativeHost.js.map +1 -1
  67. package/lib/cjs/NavigationRelationship.js.map +1 -1
  68. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  69. package/lib/cjs/PropertyStore.js.map +1 -1
  70. package/lib/cjs/Relationship.js.map +1 -1
  71. package/lib/cjs/RpcBackend.js.map +1 -1
  72. package/lib/cjs/SQLiteDb.js.map +1 -1
  73. package/lib/cjs/Schema.js.map +1 -1
  74. package/lib/cjs/SchemaSync.js.map +1 -1
  75. package/lib/cjs/SchemaUtils.js.map +1 -1
  76. package/lib/cjs/SheetIndex.js.map +1 -1
  77. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  78. package/lib/cjs/SqliteStatement.js.map +1 -1
  79. package/lib/cjs/StashManager.js.map +1 -1
  80. package/lib/cjs/Texture.js.map +1 -1
  81. package/lib/cjs/TileStorage.js.map +1 -1
  82. package/lib/cjs/TxnManager.d.ts +100 -4
  83. package/lib/cjs/TxnManager.d.ts.map +1 -1
  84. package/lib/cjs/TxnManager.js +171 -8
  85. package/lib/cjs/TxnManager.js.map +1 -1
  86. package/lib/cjs/ViewDefinition.js.map +1 -1
  87. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  88. package/lib/cjs/ViewStore.js.map +1 -1
  89. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  90. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  91. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  92. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  93. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  94. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  95. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  96. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  97. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  98. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  99. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  100. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  101. package/lib/cjs/core-backend.js.map +1 -1
  102. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  103. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  104. package/lib/cjs/domains/GenericElements.js.map +1 -1
  105. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  106. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  107. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  108. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  109. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  110. package/lib/cjs/internal/HubMock.d.ts +2 -0
  111. package/lib/cjs/internal/HubMock.d.ts.map +1 -1
  112. package/lib/cjs/internal/HubMock.js +7 -0
  113. package/lib/cjs/internal/HubMock.js.map +1 -1
  114. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  115. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  116. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  117. package/lib/cjs/internal/NoLocks.d.ts.map +1 -1
  118. package/lib/cjs/internal/NoLocks.js +6 -0
  119. package/lib/cjs/internal/NoLocks.js.map +1 -1
  120. package/lib/cjs/internal/OnlineStatus.js.map +1 -1
  121. package/lib/cjs/internal/ServerBasedLocks.d.ts +12 -0
  122. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  123. package/lib/cjs/internal/ServerBasedLocks.js +285 -4
  124. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  125. package/lib/cjs/internal/Symbols.js.map +1 -1
  126. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  127. package/lib/cjs/internal/cross-package.js.map +1 -1
  128. package/lib/cjs/internal/workspace/SettingsEditorImpl.js.map +1 -1
  129. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  130. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  131. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  132. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  133. package/lib/cjs/rpc/multipart.js.map +1 -1
  134. package/lib/cjs/rpc/tracing.js.map +1 -1
  135. package/lib/cjs/rpc/web/logging.js.map +1 -1
  136. package/lib/cjs/rpc/web/request.js.map +1 -1
  137. package/lib/cjs/rpc/web/response.js.map +1 -1
  138. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  139. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  140. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  141. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  142. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  143. package/lib/cjs/workspace/Settings.js.map +1 -1
  144. package/lib/cjs/workspace/SettingsDb.js.map +1 -1
  145. package/lib/cjs/workspace/SettingsEditor.js.map +1 -1
  146. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  147. package/lib/cjs/workspace/Workspace.js.map +1 -1
  148. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  149. package/lib/esm/BackendHubAccess.d.ts +38 -0
  150. package/lib/esm/BackendHubAccess.d.ts.map +1 -1
  151. package/lib/esm/BackendHubAccess.js.map +1 -1
  152. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  153. package/lib/esm/BisCoreSchema.js.map +1 -1
  154. package/lib/esm/BlobContainerService.js.map +1 -1
  155. package/lib/esm/BriefcaseManager.js.map +1 -1
  156. package/lib/esm/CatalogDb.js.map +1 -1
  157. package/lib/esm/Category.js.map +1 -1
  158. package/lib/esm/ChangeSummaryManager.js +2 -2
  159. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  160. package/lib/esm/ChangedElementsDb.js.map +1 -1
  161. package/lib/esm/ChangesetECAdaptor.js +248 -248
  162. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  163. package/lib/esm/ChannelControl.js.map +1 -1
  164. package/lib/esm/CheckpointManager.js.map +1 -1
  165. package/lib/esm/ClassRegistry.js +5 -5
  166. package/lib/esm/ClassRegistry.js.map +1 -1
  167. package/lib/esm/CloudSqlite.js.map +1 -1
  168. package/lib/esm/CodeService.js.map +1 -1
  169. package/lib/esm/CodeSpecs.js.map +1 -1
  170. package/lib/esm/ConcurrentQuery.js.map +1 -1
  171. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  172. package/lib/esm/DevTools.js.map +1 -1
  173. package/lib/esm/DisplayStyle.js.map +1 -1
  174. package/lib/esm/ECDb.js.map +1 -1
  175. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  176. package/lib/esm/ECSqlRowExecutor.js.map +1 -1
  177. package/lib/esm/ECSqlStatement.js.map +1 -1
  178. package/lib/esm/ECSqlSyncReader.js.map +1 -1
  179. package/lib/esm/EditTxn.js.map +1 -1
  180. package/lib/esm/Element.js.map +1 -1
  181. package/lib/esm/ElementAspect.js.map +1 -1
  182. package/lib/esm/ElementGraphics.js.map +1 -1
  183. package/lib/esm/ElementTreeWalker.js.map +1 -1
  184. package/lib/esm/Entity.js.map +1 -1
  185. package/lib/esm/EntityReferences.js.map +1 -1
  186. package/lib/esm/ExportGraphics.js.map +1 -1
  187. package/lib/esm/ExternalSource.js.map +1 -1
  188. package/lib/esm/FontFile.js.map +1 -1
  189. package/lib/esm/GeoCoordConfig.js.map +1 -1
  190. package/lib/esm/GeographicCRSServices.js.map +1 -1
  191. package/lib/esm/GeometrySummary.js +47 -47
  192. package/lib/esm/GeometrySummary.js.map +1 -1
  193. package/lib/esm/IModelDb.js +9 -9
  194. package/lib/esm/IModelDb.js.map +1 -1
  195. package/lib/esm/IModelDbFonts.js.map +1 -1
  196. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  197. package/lib/esm/IModelHost.js.map +1 -1
  198. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  199. package/lib/esm/IModelJsFs.js.map +1 -1
  200. package/lib/esm/ImageSourceConversion.js.map +1 -1
  201. package/lib/esm/IpcHost.d.ts.map +1 -1
  202. package/lib/esm/IpcHost.js +13 -4
  203. package/lib/esm/IpcHost.js.map +1 -1
  204. package/lib/esm/LineStyle.js.map +1 -1
  205. package/lib/esm/LocalHub.js +1 -1
  206. package/lib/esm/LocalHub.js.map +1 -1
  207. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  208. package/lib/esm/LockControl.d.ts +85 -1
  209. package/lib/esm/LockControl.d.ts.map +1 -1
  210. package/lib/esm/LockControl.js.map +1 -1
  211. package/lib/esm/Material.js.map +1 -1
  212. package/lib/esm/Model.js.map +1 -1
  213. package/lib/esm/NativeAppStorage.js.map +1 -1
  214. package/lib/esm/NativeHost.js.map +1 -1
  215. package/lib/esm/NavigationRelationship.js.map +1 -1
  216. package/lib/esm/PromiseMemoizer.js.map +1 -1
  217. package/lib/esm/PropertyStore.js.map +1 -1
  218. package/lib/esm/Relationship.js.map +1 -1
  219. package/lib/esm/RpcBackend.js.map +1 -1
  220. package/lib/esm/SQLiteDb.js.map +1 -1
  221. package/lib/esm/Schema.js.map +1 -1
  222. package/lib/esm/SchemaSync.js.map +1 -1
  223. package/lib/esm/SchemaUtils.js.map +1 -1
  224. package/lib/esm/SheetIndex.js.map +1 -1
  225. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  226. package/lib/esm/SqliteStatement.js.map +1 -1
  227. package/lib/esm/StashManager.js.map +1 -1
  228. package/lib/esm/Texture.js.map +1 -1
  229. package/lib/esm/TileStorage.js.map +1 -1
  230. package/lib/esm/TxnManager.d.ts +100 -4
  231. package/lib/esm/TxnManager.d.ts.map +1 -1
  232. package/lib/esm/TxnManager.js +171 -8
  233. package/lib/esm/TxnManager.js.map +1 -1
  234. package/lib/esm/ViewDefinition.js.map +1 -1
  235. package/lib/esm/ViewStateHydrator.js.map +1 -1
  236. package/lib/esm/ViewStore.js.map +1 -1
  237. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  238. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  239. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  240. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  241. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  242. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  243. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  244. package/lib/esm/core-backend.js.map +1 -1
  245. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  246. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  247. package/lib/esm/domains/GenericElements.js.map +1 -1
  248. package/lib/esm/domains/GenericSchema.js.map +1 -1
  249. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  250. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  251. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  252. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  253. package/lib/esm/internal/HubMock.d.ts +2 -0
  254. package/lib/esm/internal/HubMock.d.ts.map +1 -1
  255. package/lib/esm/internal/HubMock.js +7 -0
  256. package/lib/esm/internal/HubMock.js.map +1 -1
  257. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  258. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  259. package/lib/esm/internal/NativePlatform.js.map +1 -1
  260. package/lib/esm/internal/NoLocks.d.ts.map +1 -1
  261. package/lib/esm/internal/NoLocks.js +6 -0
  262. package/lib/esm/internal/NoLocks.js.map +1 -1
  263. package/lib/esm/internal/OnlineStatus.js.map +1 -1
  264. package/lib/esm/internal/ServerBasedLocks.d.ts +12 -0
  265. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -1
  266. package/lib/esm/internal/ServerBasedLocks.js +286 -5
  267. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  268. package/lib/esm/internal/Symbols.js.map +1 -1
  269. package/lib/esm/internal/annotations/fields.js.map +1 -1
  270. package/lib/esm/internal/cross-package.js.map +1 -1
  271. package/lib/esm/internal/workspace/SettingsEditorImpl.js.map +1 -1
  272. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  273. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  274. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  275. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  276. package/lib/esm/rpc/multipart.js.map +1 -1
  277. package/lib/esm/rpc/tracing.js.map +1 -1
  278. package/lib/esm/rpc/web/logging.js.map +1 -1
  279. package/lib/esm/rpc/web/request.js.map +1 -1
  280. package/lib/esm/rpc/web/response.js.map +1 -1
  281. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  282. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  283. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  284. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  285. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  286. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  287. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  288. package/lib/esm/test/AttachDb.test.js +11 -11
  289. package/lib/esm/test/AttachDb.test.js.map +1 -1
  290. package/lib/esm/test/ElementDrivesElement.test.js +23 -23
  291. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  292. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  293. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  294. package/lib/esm/test/IModelHost.test.js.map +1 -1
  295. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  296. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  297. package/lib/esm/test/IpcHost.test.js.map +1 -1
  298. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  299. package/lib/esm/test/PrintElementTree.js.map +1 -1
  300. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  301. package/lib/esm/test/RevisionUtility.js.map +1 -1
  302. package/lib/esm/test/SchemaUtils.test.js +25 -25
  303. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  304. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  305. package/lib/esm/test/SquashSchemaAndDataChanges.test.js +129 -129
  306. package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
  307. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  308. package/lib/esm/test/TestEditTxn.js.map +1 -1
  309. package/lib/esm/test/TestUtils.js.map +1 -1
  310. package/lib/esm/test/annotations/Fields.test.js +53 -53
  311. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  312. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  313. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  314. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  315. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  316. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  317. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  318. package/lib/esm/test/categories/Category.test.js.map +1 -1
  319. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  320. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  321. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  322. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +19 -19
  323. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  324. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  325. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  326. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  327. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  328. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  329. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  330. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  331. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  332. package/lib/esm/test/ecdb/ECSqlQuery.test.js +4 -4
  333. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  334. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
  335. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  336. package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
  337. package/lib/esm/test/ecdb/QueryReaders.test.js +31 -31
  338. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
  339. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  340. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  341. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  342. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  343. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  344. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  345. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  346. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  347. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  348. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  349. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  350. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  351. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  352. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  353. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  354. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  355. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
  356. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  357. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  358. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  359. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  360. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  361. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  362. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  363. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  364. package/lib/esm/test/hubaccess/Rebase.test.js +56 -56
  365. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  366. package/lib/esm/test/hubaccess/SemanticRebase.test.js +145 -145
  367. package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
  368. package/lib/esm/test/imageData.js.map +1 -1
  369. package/lib/esm/test/imodel/Code.test.js.map +1 -1
  370. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  371. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  372. package/lib/esm/test/imodel/IModel.test.js +44 -44
  373. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  374. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  375. package/lib/esm/test/imodel/SchemaXmlImport.test.js +13 -13
  376. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  377. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  378. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  379. package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -1
  380. package/lib/esm/test/index.js.map +1 -1
  381. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  382. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  383. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  384. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  385. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  386. package/lib/esm/test/rpc/response.test.js.map +1 -1
  387. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  388. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  389. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  390. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  391. package/lib/esm/test/schema/IModelSchemaContext.test.js +9 -9
  392. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  393. package/lib/esm/test/schema/SchemaImportCallbacks.test.js +19 -19
  394. package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
  395. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  396. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  397. package/lib/esm/test/standalone/ChangesetReader.test.js +135 -135
  398. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  399. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  400. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  401. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  402. package/lib/esm/test/standalone/EditTxn.test.js.map +1 -1
  403. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  404. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  405. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  406. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  407. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  408. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  409. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  410. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  411. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  412. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  413. package/lib/esm/test/standalone/ITwinWorkspace.test.js.map +1 -1
  414. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  415. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  416. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  417. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  418. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  419. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  420. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  421. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  422. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  423. package/lib/esm/test/standalone/ServerBasedLocks.test.js +907 -3
  424. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  425. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  426. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  427. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  428. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  429. package/lib/esm/test/standalone/StandaloneDb.test.js +20 -20
  430. package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -1
  431. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  432. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  433. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  434. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  435. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  436. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  437. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  438. package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
  439. package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
  440. package/lib/esm/workspace/Settings.js.map +1 -1
  441. package/lib/esm/workspace/SettingsDb.js.map +1 -1
  442. package/lib/esm/workspace/SettingsEditor.js.map +1 -1
  443. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  444. package/lib/esm/workspace/Workspace.js.map +1 -1
  445. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  446. package/package.json +12 -12
@@ -1041,6 +1041,7 @@ class TxnManager {
1041
1041
  /** Return the depth of the multi-Txn stack. Generally for diagnostic use only. */
1042
1042
  getMultiTxnOperationDepth() { return this._nativeDb.getMultiTxnOperationDepth(); }
1043
1043
  /** Reverse (undo) the most recent operation(s) to this IModelDb.
1044
+ * @note Consider using [[reverseTxnsAsync]] instead.
1044
1045
  * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will
1045
1046
  * be reinstated together when/if ReinstateTxn is called.
1046
1047
  * @note If there are any outstanding uncommitted changes, they are reversed.
@@ -1053,27 +1054,189 @@ class TxnManager {
1053
1054
  this._nativeDb.abandonChanges();
1054
1055
  return this._nativeDb.reverseTxns(numOperations);
1055
1056
  }
1056
- /** Reverse the most recent operation. */
1057
- reverseSingleTxn() { return this.reverseTxns(1); }
1058
- /** Reverse all changes back to the beginning of the session. */
1059
- reverseAll() { return this._nativeDb.reverseAll(); }
1057
+ /** Reverse the most recent operation.
1058
+ * @note Consider using [[reverseSingleTxnAsync]] instead.
1059
+ */
1060
+ reverseSingleTxn() {
1061
+ return this.reverseTxns(1);
1062
+ }
1063
+ /** Reverse all changes back to the beginning of the session.
1064
+ * @note Consider using [[reverseAllTxnsAsync]] instead.
1065
+ */
1066
+ reverseAll() {
1067
+ return this._nativeDb.reverseAll();
1068
+ }
1060
1069
  /** Reverse all changes back to a previously saved TxnId.
1070
+ * @note Consider using [[reverseToTxnAsync]] instead.
1061
1071
  * @param txnId a TxnId obtained from a previous call to GetCurrentTxnId.
1062
1072
  * @returns Success if the transactions were reversed, error status otherwise.
1063
1073
  * @see [[getCurrentTxnId]] [[cancelTo]]
1064
1074
  */
1065
- reverseTo(txnId) { return this._nativeDb.reverseTo(txnId); }
1075
+ reverseTo(txnId) {
1076
+ return this._nativeDb.reverseTo(txnId);
1077
+ }
1066
1078
  /** Reverse and then cancel (make non-reinstatable) all changes back to a previous TxnId.
1079
+ * @note Consider using [[cancelToTxnAsync]] instead.
1067
1080
  * @param txnId a TxnId obtained from a previous call to [[getCurrentTxnId]]
1068
1081
  * @returns Success if the transactions were reversed and cleared, error status otherwise.
1069
1082
  */
1070
- cancelTo(txnId) { return this._nativeDb.cancelTo(txnId); }
1083
+ cancelTo(txnId) {
1084
+ return this._nativeDb.cancelTo(txnId);
1085
+ }
1086
+ /** Reverse (undo) the most recent operation(s) to this IModelDb. By default, this method also
1087
+ * abandons the locks that were acquired for those operations.
1088
+ * @beta
1089
+ * @note This method will also abandon locks associated with any later, reversed Txns, if they have not
1090
+ * already been abandoned. For example, if a call to [[reverseTxns]] reverses Txn 2 without abandoning
1091
+ * its locks, and then this method is called to reverse Txn 1, it will abandon the locks associated
1092
+ * with _both_ Txn 1 and Txn 2.
1093
+ * @note If you do not want to abandon any locks, set [ReverseTxnArgs.retainLocks]($common) to true.
1094
+ * @note If there are any outstanding uncommitted changes, they are reversed.
1095
+ * @note The term "operation" is used rather than Txn, since multiple Txns can be grouped together via [[beginMultiTxnOperation]]. So,
1096
+ * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.
1097
+ * @note If numOperations is too large only the operations are reversible are reversed.
1098
+ * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will
1099
+ * be reinstated together when/if ReinstateTxn is called.
1100
+ * @param args Optional arguments to control the behavior of the reverse operation, such as whether to retain locks.
1101
+ * @returns A Promise that resolves to success if the transactions were reversed, or rejects with an IModelError otherwise.
1102
+ */
1103
+ async reverseTxnsAsync(numOperations, args) {
1104
+ await this.withLockAbandonment(args, () => this._nativeDb.reverseTxns(numOperations));
1105
+ }
1106
+ /** Reverse (undo) the most recent operation to this IModelDb. By default, this method also
1107
+ * abandons the locks that were acquired for that operation.
1108
+ * @beta
1109
+ * @note This method will also abandon locks associated with any later, reversed Txns, if they have not
1110
+ * already been abandoned. For example, if a call to [[reverseTxns]] reverses Txn 2 without abandoning
1111
+ * its locks, and then this method is called to reverse Txn 1, it will abandon the locks associated
1112
+ * with _both_ Txn 1 and Txn 2.
1113
+ * @note If there are any outstanding uncommitted changes, they are reversed.
1114
+ * @note The term "operation" is used rather than Txn, since multiple Txns can be grouped together via [[beginMultiTxnOperation]]. So,
1115
+ * even though this method reverses only one operation, multiple Txns may be reversed if they were grouped together when they were made.
1116
+ * @note If there are no reversible operations, this method does nothing and returns Success.
1117
+ * @param args Optional arguments to control the behavior of the reverse operation, such as whether to retain locks.
1118
+ * @returns A Promise that resolves to success if the transactions were reversed, or rejects with an IModelError otherwise.
1119
+ */
1120
+ async reverseSingleTxnAsync(args) {
1121
+ await this.reverseTxnsAsync(1, args);
1122
+ }
1123
+ /** Reverse (undo) all operations back to the beginning of the session. By default, this method also
1124
+ * abandons the locks that were acquired for those operations.
1125
+ * @beta
1126
+ * @note This method will also abandon locks associated with any later, reversed Txns, if they have not
1127
+ * already been abandoned. For example, if a call to [[reverseTxns]] reverses Txn 2 without abandoning
1128
+ * its locks, and then this method is called to reverse Txn 1, it will abandon the locks associated
1129
+ * with _both_ Txn 1 and Txn 2.
1130
+ * @note If there are any outstanding uncommitted changes, they are reversed.
1131
+ * @note If there are no reversible operations, this method does nothing and returns Success.
1132
+ * @param args Optional arguments to control the behavior of the reverse operation, such as whether to retain locks.
1133
+ * @returns A Promise that resolves to success if the transactions were reversed, or rejects with an IModelError otherwise.
1134
+ */
1135
+ async reverseAllTxnsAsync(args) {
1136
+ await this.withLockAbandonment(args, () => this._nativeDb.reverseAll());
1137
+ }
1138
+ /** Reverse (undo) all operations back to a previously saved TxnId. By default, this method also
1139
+ * abandons the locks that were acquired for those operations.
1140
+ * @beta
1141
+ * @note This method will also abandon locks associated with any later, reversed Txns, if they have not
1142
+ * already been abandoned. For example, if a call to [[reverseTxns]] reverses Txn 2 without abandoning
1143
+ * its locks, and then this method is called to reverse Txn 1, it will abandon the locks associated
1144
+ * with _both_ Txn 1 and Txn 2.
1145
+ * @note If there are any outstanding uncommitted changes, they are reversed.
1146
+ * @param txnId a TxnId obtained from a previous call to GetCurrentTxnId.
1147
+ * @param args Optional arguments to control the behavior of the reverse operation, such as whether to abandon locks.
1148
+ * @returns A Promise that resolves to success if the transactions were reversed, or rejects with an IModelError otherwise.
1149
+ * @see [[getCurrentTxnId]] [[cancelTo]]
1150
+ */
1151
+ async reverseToTxnAsync(txnId, args) {
1152
+ await this.withLockAbandonment(args, () => this._nativeDb.reverseTo(txnId));
1153
+ }
1154
+ /** Reverse and then cancel (make non-reinstatable) all operations back to a previous TxnId. By default, this
1155
+ * method also abandons the locks that were acquired for those operations.
1156
+ * @beta
1157
+ * @note This method will also abandon locks associated with any later, reversed Txns, if they have not
1158
+ * already been abandoned. For example, if a call to [[reverseTxns]] reverses Txn 2 without abandoning
1159
+ * its locks, and then this method is called to reverse Txn 1, it will abandon the locks associated
1160
+ * with _both_ Txn 1 and Txn 2.
1161
+ * @note If there are any outstanding uncommitted changes, they are reversed.
1162
+ * @param txnId a TxnId obtained from a previous call to [[getCurrentTxnId]]
1163
+ * @param args Optional arguments to control the behavior of the reverse operation, such as whether to abandon locks.
1164
+ * @returns A promise that resolves to success if the transactions were reversed and cleared, or rejects with an IModelError otherwise.
1165
+ */
1166
+ async cancelToTxnAsync(txnId, args) {
1167
+ // First reverse and abandon locks. Only cancel if that succeeds.
1168
+ // This is important because the locks would become unabandonable if we canceled first and
1169
+ // _then_ the abandonment failed. We expect the call to cancelTo to return "NothingToUndo",
1170
+ // but that's ok - it will still clear the already-reversed txns.
1171
+ await this.withLockAbandonment(args, () => this._nativeDb.reverseTo(txnId));
1172
+ const status = this._nativeDb.cancelTo(txnId);
1173
+ if (status !== core_bentley_1.IModelStatus.Success && status !== core_bentley_1.IModelStatus.NothingToUndo)
1174
+ throw new core_common_1.IModelError(status, core_common_1.IModelError.getErrorKey(status));
1175
+ this._iModel.locks.clearTxnLockRecords(txnId);
1176
+ }
1177
+ async withLockAbandonment(args, doReverseCallback) {
1178
+ const result = doReverseCallback();
1179
+ if (result === core_bentley_1.IModelStatus.Success) {
1180
+ if (!args?.retainLocks) {
1181
+ // Abandon locks for the earliest txn, which abandons locks for the later ones, too.
1182
+ await this._iModel.locks.abandonLocksForReversedTxn(this.getCurrentTxnId());
1183
+ }
1184
+ }
1185
+ else {
1186
+ throw new core_common_1.IModelError(result, core_common_1.IModelError.getErrorKey(result));
1187
+ }
1188
+ }
1071
1189
  /** Reinstate the most recently reversed transaction. Since at any time multiple transactions can be reversed, it
1072
1190
  * may take multiple calls to this method to reinstate all reversed operations.
1073
1191
  * @returns Success if a reversed transaction was reinstated, error status otherwise.
1074
1192
  * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.
1193
+ * @note This method will return [[IModelStatus.LockNotHeld]] and will not reinstate the Txn if the locks
1194
+ * originally acquired by the Txn have been abandoned. Use [[reinstateTxnAsync]] to re-acquire the locks
1195
+ * and reinstate the Txn in a single operation.
1196
+ */
1197
+ reinstateTxn() {
1198
+ // Verify that the locks required by this txn have not been abandoned.
1199
+ // If so, this method has no way to re-acquire them because it is synchronous. This
1200
+ // is basically a developer error, mixing reverseTxnAsync with reinstateTxn (non-Async).
1201
+ const reinstateRange = this._nativeDb.getNextReinstateTxnRange();
1202
+ if (this.isTxnIdValid(reinstateRange.firstTxnId) &&
1203
+ !this._iModel.locks.holdsNecessaryLocksForReinstatingTxn(this.queryPreviousTxnId(reinstateRange.lastTxnId))) {
1204
+ return core_bentley_1.IModelStatus.LockNotHeld;
1205
+ }
1206
+ return this._iModel.reinstateTxn();
1207
+ }
1208
+ /** Reinstate the most recently reversed transaction. This method will first attempt
1209
+ * to re-acquire the required locks, if they were abandoned after the operation was reversed.
1210
+ * Since at any time multiple transactions can be reversed, it may take multiple calls to this
1211
+ * method to reinstate all reversed operations.
1212
+ * @beta
1213
+ * @note If there are any outstanding unsaved changes, they are canceled before the Txn is reinstated. Unless
1214
+ * [ReinstateTxnArgs.retainLocks]($common) is true, the locks associated with the unsaved changes are also abandoned.
1215
+ * @param args Optional arguments to control the behavior of the reinstate operation, such as whether to retain
1216
+ * locks when abandoning unsaved changes.
1217
+ * @returns A Promise that resolves to success if a reversed transaction was reinstated, or rejects with an IModelError otherwise.
1075
1218
  */
1076
- reinstateTxn() { return this._iModel.reinstateTxn(); }
1219
+ async reinstateTxnAsync(args) {
1220
+ // We must abandon any unsaved changes here because it will be too late
1221
+ // when reinstateTxn does it.
1222
+ if (this.hasUnsavedChanges) {
1223
+ this._iModel.clearCaches({ instanceCachesOnly: true });
1224
+ this._iModel[Symbols_1._nativeDb].abandonChanges();
1225
+ }
1226
+ if (!args?.retainLocks) {
1227
+ await this._iModel.locks.abandonLocksForCurrentUnsavedTxn();
1228
+ }
1229
+ const reinstateRange = this._nativeDb.getNextReinstateTxnRange();
1230
+ if (!this.isTxnIdValid(reinstateRange.firstTxnId)) {
1231
+ throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NothingToRedo, core_common_1.IModelError.getErrorKey(core_bentley_1.IModelStatus.NothingToRedo));
1232
+ }
1233
+ // Reacquire locks for the latest txn in the range, which will reacquire locks for all earlier txns, too.
1234
+ await this._iModel.locks.acquireLocksForReinstatingTxn(this.queryPreviousTxnId(reinstateRange.lastTxnId));
1235
+ const status = this.reinstateTxn();
1236
+ if (status !== core_bentley_1.IModelStatus.Success) {
1237
+ throw new core_common_1.IModelError(status, core_common_1.IModelError.getErrorKey(status));
1238
+ }
1239
+ }
1077
1240
  /** Get the Id of the first transaction, if any.
1078
1241
  */
1079
1242
  queryFirstTxnId() { return this._nativeDb.queryFirstTxnId(); }
@@ -1114,7 +1277,7 @@ class TxnManager {
1114
1277
  get hasLocalChanges() { return this.hasUnsavedChanges || this.hasPendingTxns; }
1115
1278
  /** Destroy the record of all local changes that have yet to be saved and/or pushed.
1116
1279
  * This permanently eradicates your changes - use with caution!
1117
- * Typically, callers will want to subsequently use [[LockControl.releaseAllLocks]].
1280
+ * Typically, callers will want to subsequently use [[LockControl.abandonAllLocks]].
1118
1281
  * After calling this function, [[hasLocalChanges]], [[hasPendingTxns]], and [[hasUnsavedChanges]] will all be `false`.
1119
1282
  */
1120
1283
  deleteAllTxns() {