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

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 (1059) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +14 -28
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +2 -0
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  7. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  8. package/lib/cjs/BisCoreSchema.js +2 -0
  9. package/lib/cjs/BisCoreSchema.js.map +1 -1
  10. package/lib/cjs/BlobContainerService.d.ts +4 -4
  11. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  12. package/lib/cjs/BlobContainerService.js.map +1 -1
  13. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  14. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  15. package/lib/cjs/BriefcaseManager.js +63 -20
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.js +6 -1
  18. package/lib/cjs/Category.js.map +1 -1
  19. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.js +92 -24
  21. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  22. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  23. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  24. package/lib/cjs/ChangedElementsDb.js +8 -7
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  27. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  28. package/lib/cjs/ChangesetECAdaptor.js +273 -261
  29. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  30. package/lib/cjs/ChannelControl.js.map +1 -1
  31. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  32. package/lib/cjs/CheckpointManager.js +15 -12
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +46 -2
  35. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  36. package/lib/cjs/ClassRegistry.js +98 -42
  37. package/lib/cjs/ClassRegistry.js.map +1 -1
  38. package/lib/cjs/CloudSqlite.d.ts +2 -1
  39. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  40. package/lib/cjs/CloudSqlite.js +15 -8
  41. package/lib/cjs/CloudSqlite.js.map +1 -1
  42. package/lib/cjs/CodeService.d.ts +2 -0
  43. package/lib/cjs/CodeService.d.ts.map +1 -1
  44. package/lib/cjs/CodeService.js +4 -0
  45. package/lib/cjs/CodeService.js.map +1 -1
  46. package/lib/cjs/CodeSpecs.js +3 -2
  47. package/lib/cjs/CodeSpecs.js.map +1 -1
  48. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  49. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  50. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  51. package/lib/cjs/DevTools.js +16 -16
  52. package/lib/cjs/DevTools.js.map +1 -1
  53. package/lib/cjs/DisplayStyle.js +2 -0
  54. package/lib/cjs/DisplayStyle.js.map +1 -1
  55. package/lib/cjs/ECDb.d.ts +16 -59
  56. package/lib/cjs/ECDb.d.ts.map +1 -1
  57. package/lib/cjs/ECDb.js +34 -73
  58. package/lib/cjs/ECDb.js.map +1 -1
  59. package/lib/cjs/ECSchemaXmlContext.js +1 -0
  60. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  61. package/lib/cjs/ECSqlStatement.d.ts +4 -2
  62. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  63. package/lib/cjs/ECSqlStatement.js +13 -4
  64. package/lib/cjs/ECSqlStatement.js.map +1 -1
  65. package/lib/cjs/Element.d.ts +14 -23
  66. package/lib/cjs/Element.d.ts.map +1 -1
  67. package/lib/cjs/Element.js +133 -46
  68. package/lib/cjs/Element.js.map +1 -1
  69. package/lib/cjs/ElementAspect.d.ts +0 -5
  70. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  71. package/lib/cjs/ElementAspect.js +24 -16
  72. package/lib/cjs/ElementAspect.js.map +1 -1
  73. package/lib/cjs/ElementGraphics.js.map +1 -1
  74. package/lib/cjs/ElementTreeWalker.js +13 -12
  75. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  76. package/lib/cjs/Entity.d.ts +46 -10
  77. package/lib/cjs/Entity.d.ts.map +1 -1
  78. package/lib/cjs/Entity.js +79 -16
  79. package/lib/cjs/Entity.js.map +1 -1
  80. package/lib/cjs/EntityReferences.js.map +1 -1
  81. package/lib/cjs/ExportGraphics.js +4 -0
  82. package/lib/cjs/ExportGraphics.js.map +1 -1
  83. package/lib/cjs/ExternalSource.js +22 -0
  84. package/lib/cjs/ExternalSource.js.map +1 -1
  85. package/lib/cjs/FontFile.d.ts +68 -0
  86. package/lib/cjs/FontFile.d.ts.map +1 -0
  87. package/lib/cjs/FontFile.js +36 -0
  88. package/lib/cjs/FontFile.js.map +1 -0
  89. package/lib/cjs/GeoCoordConfig.js +8 -8
  90. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  91. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  92. package/lib/cjs/GeometrySummary.js +53 -50
  93. package/lib/cjs/GeometrySummary.js.map +1 -1
  94. package/lib/cjs/HubMock.d.ts +4 -4
  95. package/lib/cjs/HubMock.d.ts.map +1 -1
  96. package/lib/cjs/HubMock.js +9 -6
  97. package/lib/cjs/HubMock.js.map +1 -1
  98. package/lib/cjs/IModelDb.d.ts +203 -72
  99. package/lib/cjs/IModelDb.d.ts.map +1 -1
  100. package/lib/cjs/IModelDb.js +338 -168
  101. package/lib/cjs/IModelDb.js.map +1 -1
  102. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  103. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  104. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  105. package/lib/cjs/IModelDbFonts.js.map +1 -0
  106. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  107. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  108. package/lib/cjs/IModelElementCloneContext.js +12 -1
  109. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  110. package/lib/cjs/IModelHost.d.ts +14 -14
  111. package/lib/cjs/IModelHost.d.ts.map +1 -1
  112. package/lib/cjs/IModelHost.js +75 -42
  113. package/lib/cjs/IModelHost.js.map +1 -1
  114. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  115. package/lib/cjs/IModelJsFs.js +17 -1
  116. package/lib/cjs/IModelJsFs.js.map +1 -1
  117. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  118. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  119. package/lib/cjs/ImageSourceConversion.js +37 -0
  120. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  121. package/lib/cjs/IpcHost.d.ts.map +1 -1
  122. package/lib/cjs/IpcHost.js +17 -12
  123. package/lib/cjs/IpcHost.js.map +1 -1
  124. package/lib/cjs/LineStyle.js.map +1 -1
  125. package/lib/cjs/LocalHub.js +9 -3
  126. package/lib/cjs/LocalHub.js.map +1 -1
  127. package/lib/cjs/LocalhostIpcHost.js +5 -6
  128. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  129. package/lib/cjs/LockControl.js.map +1 -1
  130. package/lib/cjs/Material.js +40 -0
  131. package/lib/cjs/Material.js.map +1 -1
  132. package/lib/cjs/Model.d.ts +1 -1
  133. package/lib/cjs/Model.d.ts.map +1 -1
  134. package/lib/cjs/Model.js +27 -2
  135. package/lib/cjs/Model.js.map +1 -1
  136. package/lib/cjs/NativeAppStorage.js +5 -3
  137. package/lib/cjs/NativeAppStorage.js.map +1 -1
  138. package/lib/cjs/NativeHost.js +6 -3
  139. package/lib/cjs/NativeHost.js.map +1 -1
  140. package/lib/cjs/NavigationRelationship.js +25 -25
  141. package/lib/cjs/NavigationRelationship.js.map +1 -1
  142. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  143. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  144. package/lib/cjs/PromiseMemoizer.js +12 -5
  145. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  146. package/lib/cjs/PropertyStore.js +1 -4
  147. package/lib/cjs/PropertyStore.js.map +1 -1
  148. package/lib/cjs/Relationship.d.ts.map +1 -1
  149. package/lib/cjs/Relationship.js +13 -1
  150. package/lib/cjs/Relationship.js.map +1 -1
  151. package/lib/cjs/RpcBackend.js.map +1 -1
  152. package/lib/cjs/SQLiteDb.d.ts +6 -4
  153. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  154. package/lib/cjs/SQLiteDb.js +74 -15
  155. package/lib/cjs/SQLiteDb.js.map +1 -1
  156. package/lib/cjs/Schema.d.ts +25 -1
  157. package/lib/cjs/Schema.d.ts.map +1 -1
  158. package/lib/cjs/Schema.js +44 -8
  159. package/lib/cjs/Schema.js.map +1 -1
  160. package/lib/cjs/SchemaSync.js +1 -4
  161. package/lib/cjs/SchemaSync.js.map +1 -1
  162. package/lib/cjs/SchemaUtils.js.map +1 -1
  163. package/lib/cjs/SheetIndex.js +6 -0
  164. package/lib/cjs/SheetIndex.js.map +1 -1
  165. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  166. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  167. package/lib/cjs/SqliteChangesetReader.js +21 -5
  168. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  169. package/lib/cjs/SqliteStatement.d.ts +4 -2
  170. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  171. package/lib/cjs/SqliteStatement.js +13 -1
  172. package/lib/cjs/SqliteStatement.js.map +1 -1
  173. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  174. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  175. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  176. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  177. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  178. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  179. package/lib/cjs/TextAnnotationLayout.js +56 -18
  180. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  181. package/lib/cjs/Texture.js +3 -0
  182. package/lib/cjs/Texture.js.map +1 -1
  183. package/lib/cjs/TileStorage.js +6 -1
  184. package/lib/cjs/TileStorage.js.map +1 -1
  185. package/lib/cjs/TxnManager.d.ts +55 -4
  186. package/lib/cjs/TxnManager.d.ts.map +1 -1
  187. package/lib/cjs/TxnManager.js +234 -58
  188. package/lib/cjs/TxnManager.js.map +1 -1
  189. package/lib/cjs/ViewDefinition.d.ts +6 -6
  190. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  191. package/lib/cjs/ViewDefinition.js +81 -26
  192. package/lib/cjs/ViewDefinition.js.map +1 -1
  193. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  194. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  195. package/lib/cjs/ViewStateHydrator.js +1 -11
  196. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  197. package/lib/cjs/ViewStore.js +3 -1
  198. package/lib/cjs/ViewStore.js.map +1 -1
  199. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  200. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  201. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  202. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  203. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  204. package/lib/cjs/core-backend.d.ts +7 -1
  205. package/lib/cjs/core-backend.d.ts.map +1 -1
  206. package/lib/cjs/core-backend.js +7 -1
  207. package/lib/cjs/core-backend.js.map +1 -1
  208. package/lib/cjs/domains/FunctionalElements.js +1 -1
  209. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  210. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  211. package/lib/cjs/domains/GenericElements.js.map +1 -1
  212. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  213. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  214. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  215. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  216. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  217. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  218. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  219. package/lib/cjs/internal/ChannelAdmin.js +25 -16
  220. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  221. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  222. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  223. package/lib/cjs/internal/FontFileImpl.js +143 -0
  224. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  225. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  226. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  227. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  228. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  229. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  230. package/lib/cjs/internal/NoLocks.js +2 -5
  231. package/lib/cjs/internal/NoLocks.js.map +1 -1
  232. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  233. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  234. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  235. package/lib/cjs/internal/Symbols.d.ts +7 -0
  236. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  237. package/lib/cjs/internal/Symbols.js +8 -1
  238. package/lib/cjs/internal/Symbols.js.map +1 -1
  239. package/lib/cjs/internal/cross-package.js.map +1 -1
  240. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  241. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  242. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  243. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  244. package/lib/cjs/internal/workspace/WorkspaceImpl.js +22 -17
  245. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  246. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  247. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  248. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  249. package/lib/cjs/rpc/multipart.js +2 -1
  250. package/lib/cjs/rpc/multipart.js.map +1 -1
  251. package/lib/cjs/rpc/tracing.js +2 -2
  252. package/lib/cjs/rpc/tracing.js.map +1 -1
  253. package/lib/cjs/rpc/web/logging.js.map +1 -1
  254. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  255. package/lib/cjs/rpc/web/request.js +2 -1
  256. package/lib/cjs/rpc/web/request.js.map +1 -1
  257. package/lib/cjs/rpc/web/response.js.map +1 -1
  258. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  259. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  260. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +5 -2
  261. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  262. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  263. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  264. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  265. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +4 -3
  266. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  267. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  268. package/lib/cjs/workspace/Settings.js.map +1 -1
  269. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  270. package/lib/cjs/workspace/Workspace.js.map +1 -1
  271. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  272. package/lib/esm/BackendHubAccess.d.ts +215 -0
  273. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  274. package/lib/esm/BackendHubAccess.js +41 -0
  275. package/lib/esm/BackendHubAccess.js.map +1 -0
  276. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  277. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  278. package/lib/esm/BackendLoggerCategory.js +93 -0
  279. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  280. package/lib/esm/BisCoreSchema.d.ts +22 -0
  281. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  282. package/lib/esm/BisCoreSchema.js +61 -0
  283. package/lib/esm/BisCoreSchema.js.map +1 -0
  284. package/lib/esm/BlobContainerService.d.ts +159 -0
  285. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  286. package/lib/esm/BlobContainerService.js +15 -0
  287. package/lib/esm/BlobContainerService.js.map +1 -0
  288. package/lib/esm/BriefcaseManager.d.ts +213 -0
  289. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  290. package/lib/esm/BriefcaseManager.js +520 -0
  291. package/lib/esm/BriefcaseManager.js.map +1 -0
  292. package/lib/esm/Category.d.ts +136 -0
  293. package/lib/esm/Category.d.ts.map +1 -0
  294. package/lib/esm/Category.js +224 -0
  295. package/lib/esm/Category.js.map +1 -0
  296. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  297. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  298. package/lib/esm/ChangeSummaryManager.js +414 -0
  299. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  300. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  301. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  302. package/lib/esm/ChangedElementsDb.js +165 -0
  303. package/lib/esm/ChangedElementsDb.js.map +1 -0
  304. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  305. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  306. package/lib/esm/ChangesetECAdaptor.js +814 -0
  307. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  308. package/lib/esm/ChannelControl.d.ts +68 -0
  309. package/lib/esm/ChannelControl.d.ts.map +1 -0
  310. package/lib/esm/ChannelControl.js +15 -0
  311. package/lib/esm/ChannelControl.js.map +1 -0
  312. package/lib/esm/CheckpointManager.d.ts +123 -0
  313. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  314. package/lib/esm/CheckpointManager.js +375 -0
  315. package/lib/esm/CheckpointManager.js.map +1 -0
  316. package/lib/esm/ClassRegistry.d.ts +134 -0
  317. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  318. package/lib/esm/ClassRegistry.js +324 -0
  319. package/lib/esm/ClassRegistry.js.map +1 -0
  320. package/lib/esm/CloudSqlite.d.ts +682 -0
  321. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  322. package/lib/esm/CloudSqlite.js +511 -0
  323. package/lib/esm/CloudSqlite.js.map +1 -0
  324. package/lib/esm/CodeService.d.ts +402 -0
  325. package/lib/esm/CodeService.d.ts.map +1 -0
  326. package/lib/esm/CodeService.js +65 -0
  327. package/lib/esm/CodeService.js.map +1 -0
  328. package/lib/esm/CodeSpecs.d.ts +59 -0
  329. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  330. package/lib/esm/CodeSpecs.js +152 -0
  331. package/lib/esm/CodeSpecs.js.map +1 -0
  332. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  333. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  334. package/lib/esm/ConcurrentQuery.js +33 -0
  335. package/lib/esm/ConcurrentQuery.js.map +1 -0
  336. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  337. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  338. package/lib/esm/CustomViewState3dCreator.js +78 -0
  339. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  340. package/lib/esm/DevTools.d.ts +73 -0
  341. package/lib/esm/DevTools.d.ts.map +1 -0
  342. package/lib/esm/DevTools.js +153 -0
  343. package/lib/esm/DevTools.js.map +1 -0
  344. package/lib/esm/DisplayStyle.d.ts +99 -0
  345. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  346. package/lib/esm/DisplayStyle.js +264 -0
  347. package/lib/esm/DisplayStyle.js.map +1 -0
  348. package/lib/esm/ECDb.d.ts +170 -0
  349. package/lib/esm/ECDb.d.ts.map +1 -0
  350. package/lib/esm/ECDb.js +329 -0
  351. package/lib/esm/ECDb.js.map +1 -0
  352. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  353. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  354. package/lib/esm/ECSchemaXmlContext.js +66 -0
  355. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  356. package/lib/esm/ECSqlStatement.d.ts +492 -0
  357. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  358. package/lib/esm/ECSqlStatement.js +810 -0
  359. package/lib/esm/ECSqlStatement.js.map +1 -0
  360. package/lib/esm/Element.d.ts +987 -0
  361. package/lib/esm/Element.d.ts.map +1 -0
  362. package/lib/esm/Element.js +1337 -0
  363. package/lib/esm/Element.js.map +1 -0
  364. package/lib/esm/ElementAspect.d.ts +164 -0
  365. package/lib/esm/ElementAspect.d.ts.map +1 -0
  366. package/lib/esm/ElementAspect.js +204 -0
  367. package/lib/esm/ElementAspect.js.map +1 -0
  368. package/lib/esm/ElementGraphics.d.ts +7 -0
  369. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  370. package/lib/esm/ElementGraphics.js +36 -0
  371. package/lib/esm/ElementGraphics.js.map +1 -0
  372. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  373. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  374. package/lib/esm/ElementTreeWalker.js +421 -0
  375. package/lib/esm/ElementTreeWalker.js.map +1 -0
  376. package/lib/esm/Entity.d.ts +142 -0
  377. package/lib/esm/Entity.d.ts.map +1 -0
  378. package/lib/esm/Entity.js +186 -0
  379. package/lib/esm/Entity.js.map +1 -0
  380. package/lib/esm/EntityReferences.d.ts +50 -0
  381. package/lib/esm/EntityReferences.d.ts.map +1 -0
  382. package/lib/esm/EntityReferences.js +92 -0
  383. package/lib/esm/EntityReferences.js.map +1 -0
  384. package/lib/esm/ExportGraphics.d.ts +318 -0
  385. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  386. package/lib/esm/ExportGraphics.js +209 -0
  387. package/lib/esm/ExportGraphics.js.map +1 -0
  388. package/lib/esm/ExternalSource.d.ts +89 -0
  389. package/lib/esm/ExternalSource.d.ts.map +1 -0
  390. package/lib/esm/ExternalSource.js +139 -0
  391. package/lib/esm/ExternalSource.js.map +1 -0
  392. package/lib/esm/FontFile.d.ts +68 -0
  393. package/lib/esm/FontFile.d.ts.map +1 -0
  394. package/lib/esm/FontFile.js +33 -0
  395. package/lib/esm/FontFile.js.map +1 -0
  396. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  397. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  398. package/lib/esm/GeoCoordConfig.js +78 -0
  399. package/lib/esm/GeoCoordConfig.js.map +1 -0
  400. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  401. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  402. package/lib/esm/GeographicCRSServices.js +17 -0
  403. package/lib/esm/GeographicCRSServices.js.map +1 -0
  404. package/lib/esm/GeometrySummary.d.ts +5 -0
  405. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  406. package/lib/esm/GeometrySummary.js +381 -0
  407. package/lib/esm/GeometrySummary.js.map +1 -0
  408. package/lib/esm/HubMock.d.ts +95 -0
  409. package/lib/esm/HubMock.d.ts.map +1 -0
  410. package/lib/esm/HubMock.js +220 -0
  411. package/lib/esm/HubMock.js.map +1 -0
  412. package/lib/esm/IModelDb.d.ts +1398 -0
  413. package/lib/esm/IModelDb.d.ts.map +1 -0
  414. package/lib/esm/IModelDb.js +3230 -0
  415. package/lib/esm/IModelDb.js.map +1 -0
  416. package/lib/esm/IModelDbFonts.d.ts +54 -0
  417. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  418. package/lib/esm/IModelDbFonts.js +9 -0
  419. package/lib/esm/IModelDbFonts.js.map +1 -0
  420. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  421. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  422. package/lib/esm/IModelElementCloneContext.js +168 -0
  423. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  424. package/lib/esm/IModelHost.d.ts +387 -0
  425. package/lib/esm/IModelHost.d.ts.map +1 -0
  426. package/lib/esm/IModelHost.js +502 -0
  427. package/lib/esm/IModelHost.js.map +1 -0
  428. package/lib/esm/IModelJsFs.d.ts +62 -0
  429. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  430. package/lib/esm/IModelJsFs.js +151 -0
  431. package/lib/esm/IModelJsFs.js.map +1 -0
  432. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  433. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  434. package/lib/esm/ImageSourceConversion.js +33 -0
  435. package/lib/esm/ImageSourceConversion.js.map +1 -0
  436. package/lib/esm/IpcHost.d.ts +111 -0
  437. package/lib/esm/IpcHost.d.ts.map +1 -0
  438. package/lib/esm/IpcHost.js +311 -0
  439. package/lib/esm/IpcHost.js.map +1 -0
  440. package/lib/esm/LineStyle.d.ts +312 -0
  441. package/lib/esm/LineStyle.d.ts.map +1 -0
  442. package/lib/esm/LineStyle.js +293 -0
  443. package/lib/esm/LineStyle.js.map +1 -0
  444. package/lib/esm/LocalHub.d.ts +163 -0
  445. package/lib/esm/LocalHub.d.ts.map +1 -0
  446. package/lib/esm/LocalHub.js +583 -0
  447. package/lib/esm/LocalHub.js.map +1 -0
  448. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  449. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  450. package/lib/esm/LocalhostIpcHost.js +74 -0
  451. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  452. package/lib/esm/LockControl.d.ts +73 -0
  453. package/lib/esm/LockControl.d.ts.map +1 -0
  454. package/lib/esm/LockControl.js +9 -0
  455. package/lib/esm/LockControl.js.map +1 -0
  456. package/lib/esm/Material.d.ts +131 -0
  457. package/lib/esm/Material.d.ts.map +1 -0
  458. package/lib/esm/Material.js +235 -0
  459. package/lib/esm/Material.js.map +1 -0
  460. package/lib/esm/Model.d.ts +375 -0
  461. package/lib/esm/Model.d.ts.map +1 -0
  462. package/lib/esm/Model.js +484 -0
  463. package/lib/esm/Model.js.map +1 -0
  464. package/lib/esm/NativeAppStorage.d.ts +52 -0
  465. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  466. package/lib/esm/NativeAppStorage.js +205 -0
  467. package/lib/esm/NativeAppStorage.js.map +1 -0
  468. package/lib/esm/NativeHost.d.ts +53 -0
  469. package/lib/esm/NativeHost.d.ts.map +1 -0
  470. package/lib/esm/NativeHost.js +158 -0
  471. package/lib/esm/NativeHost.js.map +1 -0
  472. package/lib/esm/NavigationRelationship.d.ts +185 -0
  473. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  474. package/lib/esm/NavigationRelationship.js +238 -0
  475. package/lib/esm/NavigationRelationship.js.map +1 -0
  476. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  477. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  478. package/lib/esm/PromiseMemoizer.js +101 -0
  479. package/lib/esm/PromiseMemoizer.js.map +1 -0
  480. package/lib/esm/PropertyStore.d.ts +134 -0
  481. package/lib/esm/PropertyStore.d.ts.map +1 -0
  482. package/lib/esm/PropertyStore.js +177 -0
  483. package/lib/esm/PropertyStore.js.map +1 -0
  484. package/lib/esm/Relationship.d.ts +399 -0
  485. package/lib/esm/Relationship.d.ts.map +1 -0
  486. package/lib/esm/Relationship.js +474 -0
  487. package/lib/esm/Relationship.js.map +1 -0
  488. package/lib/esm/RpcBackend.d.ts +6 -0
  489. package/lib/esm/RpcBackend.d.ts.map +1 -0
  490. package/lib/esm/RpcBackend.js +28 -0
  491. package/lib/esm/RpcBackend.js.map +1 -0
  492. package/lib/esm/SQLiteDb.d.ts +324 -0
  493. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  494. package/lib/esm/SQLiteDb.js +379 -0
  495. package/lib/esm/SQLiteDb.js.map +1 -0
  496. package/lib/esm/Schema.d.ts +79 -0
  497. package/lib/esm/Schema.d.ts.map +1 -0
  498. package/lib/esm/Schema.js +113 -0
  499. package/lib/esm/Schema.js.map +1 -0
  500. package/lib/esm/SchemaSync.d.ts +47 -0
  501. package/lib/esm/SchemaSync.d.ts.map +1 -0
  502. package/lib/esm/SchemaSync.js +148 -0
  503. package/lib/esm/SchemaSync.js.map +1 -0
  504. package/lib/esm/SchemaUtils.d.ts +19 -0
  505. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  506. package/lib/esm/SchemaUtils.js +37 -0
  507. package/lib/esm/SchemaUtils.js.map +1 -0
  508. package/lib/esm/SheetIndex.d.ts +148 -0
  509. package/lib/esm/SheetIndex.d.ts.map +1 -0
  510. package/lib/esm/SheetIndex.js +228 -0
  511. package/lib/esm/SheetIndex.js.map +1 -0
  512. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  513. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  514. package/lib/esm/SqliteChangesetReader.js +337 -0
  515. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  516. package/lib/esm/SqliteStatement.d.ts +375 -0
  517. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  518. package/lib/esm/SqliteStatement.js +615 -0
  519. package/lib/esm/SqliteStatement.js.map +1 -0
  520. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  521. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  522. package/lib/esm/TextAnnotationElement.js +89 -0
  523. package/lib/esm/TextAnnotationElement.js.map +1 -0
  524. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  525. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  526. package/lib/esm/TextAnnotationGeometry.js +181 -0
  527. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  528. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  529. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  530. package/lib/esm/TextAnnotationLayout.js +513 -0
  531. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  532. package/lib/esm/Texture.d.ts +58 -0
  533. package/lib/esm/Texture.d.ts.map +1 -0
  534. package/lib/esm/Texture.js +81 -0
  535. package/lib/esm/Texture.js.map +1 -0
  536. package/lib/esm/TileStorage.d.ts +59 -0
  537. package/lib/esm/TileStorage.d.ts.map +1 -0
  538. package/lib/esm/TileStorage.js +158 -0
  539. package/lib/esm/TileStorage.js.map +1 -0
  540. package/lib/esm/TxnManager.d.ts +296 -0
  541. package/lib/esm/TxnManager.d.ts.map +1 -0
  542. package/lib/esm/TxnManager.js +619 -0
  543. package/lib/esm/TxnManager.js.map +1 -0
  544. package/lib/esm/ViewDefinition.d.ts +392 -0
  545. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  546. package/lib/esm/ViewDefinition.js +638 -0
  547. package/lib/esm/ViewDefinition.js.map +1 -0
  548. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  549. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  550. package/lib/esm/ViewStateHydrator.js +89 -0
  551. package/lib/esm/ViewStateHydrator.js.map +1 -0
  552. package/lib/esm/ViewStore.d.ts +502 -0
  553. package/lib/esm/ViewStore.d.ts.map +1 -0
  554. package/lib/esm/ViewStore.js +1259 -0
  555. package/lib/esm/ViewStore.js.map +1 -0
  556. package/lib/esm/core-backend.d.ts +183 -0
  557. package/lib/esm/core-backend.d.ts.map +1 -0
  558. package/lib/esm/core-backend.js +187 -0
  559. package/lib/esm/core-backend.js.map +1 -0
  560. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  561. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  562. package/lib/esm/domains/FunctionalElements.js +117 -0
  563. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  564. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  565. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  566. package/lib/esm/domains/FunctionalSchema.js +37 -0
  567. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  568. package/lib/esm/domains/GenericElements.d.ts +160 -0
  569. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  570. package/lib/esm/domains/GenericElements.js +225 -0
  571. package/lib/esm/domains/GenericElements.js.map +1 -0
  572. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  573. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  574. package/lib/esm/domains/GenericSchema.js +25 -0
  575. package/lib/esm/domains/GenericSchema.js.map +1 -0
  576. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  577. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  578. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  579. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  580. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  581. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  582. package/lib/esm/internal/ChannelAdmin.js +122 -0
  583. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  584. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  585. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  586. package/lib/esm/internal/FontFileImpl.js +135 -0
  587. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  588. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  589. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  590. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  591. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  592. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  593. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  594. package/lib/esm/internal/NativePlatform.js +43 -0
  595. package/lib/esm/internal/NativePlatform.js.map +1 -0
  596. package/lib/esm/internal/NoLocks.d.ts +6 -0
  597. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  598. package/lib/esm/internal/NoLocks.js +24 -0
  599. package/lib/esm/internal/NoLocks.js.map +1 -0
  600. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  601. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  602. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  603. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  604. package/lib/esm/internal/Symbols.d.ts +18 -0
  605. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  606. package/lib/esm/internal/Symbols.js +25 -0
  607. package/lib/esm/internal/Symbols.js.map +1 -0
  608. package/lib/esm/internal/cross-package.d.ts +4 -0
  609. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  610. package/lib/esm/internal/cross-package.js +8 -0
  611. package/lib/esm/internal/cross-package.js.map +1 -0
  612. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  613. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  614. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  615. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  616. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  617. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  618. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  619. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  620. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
  621. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  622. package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
  623. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  624. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  625. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  626. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  627. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  628. package/lib/esm/rpc/multipart.d.ts +12 -0
  629. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  630. package/lib/esm/rpc/multipart.js +67 -0
  631. package/lib/esm/rpc/multipart.js.map +1 -0
  632. package/lib/esm/rpc/tracing.d.ts +29 -0
  633. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  634. package/lib/esm/rpc/tracing.js +71 -0
  635. package/lib/esm/rpc/tracing.js.map +1 -0
  636. package/lib/esm/rpc/web/logging.d.ts +10 -0
  637. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  638. package/lib/esm/rpc/web/logging.js +41 -0
  639. package/lib/esm/rpc/web/logging.js.map +1 -0
  640. package/lib/esm/rpc/web/request.d.ts +7 -0
  641. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  642. package/lib/esm/rpc/web/request.js +71 -0
  643. package/lib/esm/rpc/web/request.js.map +1 -0
  644. package/lib/esm/rpc/web/response.d.ts +7 -0
  645. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  646. package/lib/esm/rpc/web/response.js +136 -0
  647. package/lib/esm/rpc/web/response.js.map +1 -0
  648. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  649. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  650. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  651. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  652. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  653. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  654. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +313 -0
  655. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  656. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  657. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  658. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  659. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  660. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  661. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  662. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +166 -0
  663. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  664. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  665. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  666. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  667. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  668. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  669. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  670. package/lib/esm/test/AdvancedEqual.js +67 -0
  671. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  672. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  673. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  674. package/lib/esm/test/AttachDb.test.js +157 -0
  675. package/lib/esm/test/AttachDb.test.js.map +1 -0
  676. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  677. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  678. package/lib/esm/test/GeometryTestUtil.js +25 -0
  679. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  680. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  681. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  682. package/lib/esm/test/IModelHost.test.js +187 -0
  683. package/lib/esm/test/IModelHost.test.js.map +1 -0
  684. package/lib/esm/test/IModelTestUtils.d.ts +173 -0
  685. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  686. package/lib/esm/test/IModelTestUtils.js +1113 -0
  687. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  688. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  689. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  690. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  691. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  692. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  693. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  694. package/lib/esm/test/IpcHost.test.js +55 -0
  695. package/lib/esm/test/IpcHost.test.js.map +1 -0
  696. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  697. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  698. package/lib/esm/test/KnownTestLocations.js +27 -0
  699. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  700. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  701. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  702. package/lib/esm/test/PrintElementTree.js +35 -0
  703. package/lib/esm/test/PrintElementTree.js.map +1 -0
  704. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  705. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  706. package/lib/esm/test/PropertyDb.test.js +71 -0
  707. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  708. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  709. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  710. package/lib/esm/test/RevisionUtility.js +52 -0
  711. package/lib/esm/test/RevisionUtility.js.map +1 -0
  712. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  713. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  714. package/lib/esm/test/SchemaUtils.test.js +97 -0
  715. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  716. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  717. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  718. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  719. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  720. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  721. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  722. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  723. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  724. package/lib/esm/test/TestUtils.d.ts +38 -0
  725. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  726. package/lib/esm/test/TestUtils.js +99 -0
  727. package/lib/esm/test/TestUtils.js.map +1 -0
  728. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  729. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  730. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  731. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  732. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  733. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  734. package/lib/esm/test/categories/Category.test.js +51 -0
  735. package/lib/esm/test/categories/Category.test.js.map +1 -0
  736. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  737. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  738. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  739. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  740. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  741. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  742. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  743. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  744. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  745. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  746. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  747. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  748. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  749. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  750. package/lib/esm/test/ecdb/ECDb.test.js +642 -0
  751. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  752. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  753. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  754. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  755. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  756. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  757. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  758. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  759. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  760. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  761. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  762. package/lib/esm/test/ecdb/ECSqlAst.test.js +971 -0
  763. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  764. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  765. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  766. package/lib/esm/test/ecdb/ECSqlQuery.test.js +770 -0
  767. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  768. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  769. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  770. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  771. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  772. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  773. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  774. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3239 -0
  775. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  776. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  777. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  778. package/lib/esm/test/ecdb/SqliteStatement.test.js +508 -0
  779. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  780. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  781. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  782. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  783. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  784. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  785. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  786. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +196 -0
  787. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  788. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  789. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  790. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  791. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  792. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  793. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  794. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +365 -0
  795. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  796. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  797. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  798. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  799. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  800. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  801. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  802. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  803. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  804. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  805. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  806. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  807. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  808. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  809. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  810. package/lib/esm/test/element/ElementRoundTrip.test.js +916 -0
  811. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  812. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  813. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  814. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  815. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  816. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  817. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  818. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  819. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  820. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  821. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  822. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  823. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  824. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  825. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  826. package/lib/esm/test/element/UrlLink.test.js +36 -0
  827. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  828. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  829. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  830. package/lib/esm/test/font/FontFile.test.js +139 -0
  831. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  832. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  833. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  834. package/lib/esm/test/font/IModelDbFonts.test.js +264 -0
  835. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  836. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  837. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  838. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +165 -0
  839. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  840. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  841. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  842. package/lib/esm/test/hubaccess/CheckpointManager.test.js +137 -0
  843. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  844. package/lib/esm/test/imageData.d.ts +9 -0
  845. package/lib/esm/test/imageData.d.ts.map +1 -0
  846. package/lib/esm/test/imageData.js +16 -0
  847. package/lib/esm/test/imageData.js.map +1 -0
  848. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  849. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  850. package/lib/esm/test/imodel/ElementTreeWalker.test.js +382 -0
  851. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  852. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  853. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  854. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  855. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  856. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  857. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  858. package/lib/esm/test/imodel/IModel.test.js +2601 -0
  859. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  860. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  861. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  862. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  863. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  864. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  865. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  866. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  867. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  868. package/lib/esm/test/index.d.ts +7 -0
  869. package/lib/esm/test/index.d.ts.map +1 -0
  870. package/lib/esm/test/index.js +11 -0
  871. package/lib/esm/test/index.js.map +1 -0
  872. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  873. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  874. package/lib/esm/test/misc/DevTools.test.js +72 -0
  875. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  876. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  877. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  878. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  879. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  880. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  881. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  882. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  883. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  884. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  885. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  886. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  887. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  888. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  889. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  890. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  891. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  892. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  893. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  894. package/lib/esm/test/rpc/response.test.js +112 -0
  895. package/lib/esm/test/rpc/response.test.js.map +1 -0
  896. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  897. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  898. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  899. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  900. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  901. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  902. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  903. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  904. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  905. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  906. package/lib/esm/test/schema/GenericDomain.test.js +132 -0
  907. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  908. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  909. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  910. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  911. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  912. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  913. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  914. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  915. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  916. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  917. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  918. package/lib/esm/test/standalone/ChangeMerge.test.js +413 -0
  919. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  920. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  921. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  922. package/lib/esm/test/standalone/ChangesetReader.test.js +890 -0
  923. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  924. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  925. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  926. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  927. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  928. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  929. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  930. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  931. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  932. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  933. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  934. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  935. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  936. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  937. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  938. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  939. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  940. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  941. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  942. package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
  943. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  944. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  945. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  946. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  947. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  948. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  949. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  950. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  951. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  952. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  953. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  954. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  955. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  956. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  957. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  958. package/lib/esm/test/standalone/IModelWrite.test.js +859 -0
  959. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  960. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  961. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  962. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  963. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  964. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  965. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  966. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  967. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  968. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  969. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  970. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  971. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  972. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  973. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  974. package/lib/esm/test/standalone/RenderMaterialElement.test.js +398 -0
  975. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  976. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  977. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  978. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  979. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  980. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  981. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  982. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  983. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  984. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  985. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  986. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  987. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  988. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  989. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  990. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  991. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  992. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  993. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  994. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  995. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  996. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  997. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  998. package/lib/esm/test/standalone/Setting.test.js +76 -0
  999. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  1000. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  1001. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  1002. package/lib/esm/test/standalone/Settings.test.js +349 -0
  1003. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1004. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1005. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1006. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1007. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1008. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1009. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1010. package/lib/esm/test/standalone/SnapshotDb.test.js +153 -0
  1011. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1012. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1013. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1014. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1015. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1016. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1017. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1018. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1019. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1020. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1021. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1022. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1023. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1024. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1025. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1026. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1027. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1028. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1029. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1030. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1031. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1032. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1033. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1034. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1035. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1036. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1037. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1038. package/lib/esm/test/standalone/Workspace.test.js +161 -0
  1039. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1040. package/lib/esm/workspace/Settings.d.ts +216 -0
  1041. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1042. package/lib/esm/workspace/Settings.js +83 -0
  1043. package/lib/esm/workspace/Settings.js.map +1 -0
  1044. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1045. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1046. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1047. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1048. package/lib/esm/workspace/Workspace.d.ts +507 -0
  1049. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1050. package/lib/esm/workspace/Workspace.js +97 -0
  1051. package/lib/esm/workspace/Workspace.js.map +1 -0
  1052. package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
  1053. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1054. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1055. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1056. package/package.json +35 -28
  1057. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1058. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1059. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TileStorage.js","sourceRoot":"","sources":["../../src/TileStorage.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { gunzip, gzip } from \"zlib\";\r\nimport { promisify } from \"util\";\r\nimport { Metadata, ObjectReference, ServerStorage, TransferConfig } from \"@itwin/object-storage-core\";\r\nimport { getTileObjectReference } from \"@itwin/core-common\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { BackendLoggerCategory } from \"./BackendLoggerCategory\";\r\nimport { IModelHost } from \"./IModelHost\";\r\n\r\n/**\r\n * Identifies a tile in cloud tile cache.\r\n * @beta\r\n */\r\nexport interface TileId {\r\n treeId: string;\r\n contentId: string;\r\n guid: string;\r\n}\r\n\r\n/**\r\n * Facilitates interaction with cloud tile cache.\r\n * @beta\r\n */\r\nexport class TileStorage {\r\n /**\r\n * Allows using the underlying `ServerStorage` API directly.\r\n * @see https://github.com/iTwin/object-storage/\r\n */\r\n public readonly storage: ServerStorage;\r\n\r\n public constructor(storage: ServerStorage) {\r\n this.storage = storage;\r\n }\r\n\r\n private _initializedIModels: Set<string> = new Set();\r\n\r\n /**\r\n * Ensures any required cloud storage resources for a specific iModel are ready to use.\r\n */\r\n public async initialize(iModelId: string): Promise<void> {\r\n if (this._initializedIModels.has(iModelId))\r\n return;\r\n if (!(await this.storage.baseDirectoryExists({ baseDirectory: iModelId }))) {\r\n try {\r\n await this.storage.createBaseDirectory({ baseDirectory: iModelId });\r\n } catch (e: any) {\r\n // Ignore 409 errors. This is what Azure blob storage returns when the container already exists.\r\n // Usually this means multiple backends tried to initialize tile storage at the same time.\r\n if(e.statusCode !== 409)\r\n throw e;\r\n }\r\n }\r\n this._initializedIModels.add(iModelId);\r\n }\r\n\r\n /**\r\n * Returns config that can be used by frontends to download tiles\r\n * @param iModelId Id of the iModel\r\n * @param expiresInSeconds Optional number of seconds until the download URL expires. Defaults to expiring exactly at midnight of next Sunday to enable persistent client-side caching.\r\n * It is recommended to set this to a shorter period when using S3-compatible storage - an exact expiry date cannot be ensured due to limitations in their API.\r\n * @see [TileStorage]($frontend)\r\n */\r\n public async getDownloadConfig(iModelId: string, expiresInSeconds?: number): Promise<TransferConfig> {\r\n try {\r\n if (expiresInSeconds !== undefined)\r\n return await this.storage.getDownloadConfig({ baseDirectory: iModelId }, { expiresInSeconds });\r\n const expiresOn = new Date();\r\n expiresOn.setDate(expiresOn.getDate() + (7 - expiresOn.getDay())); // next Sunday\r\n expiresOn.setHours(0, 0, 0, 0); // exactly at midnight\r\n return await this.storage.getDownloadConfig({ baseDirectory: iModelId }, { expiresOn });\r\n } catch (err) {\r\n this.logException(\"Failed to get download config\", err);\r\n throw err;\r\n }\r\n }\r\n\r\n /**\r\n * Uploads a tile to the cloud cache.\r\n */\r\n public async uploadTile(iModelId: string, changesetId: string, treeId: string, contentId: string, content: Uint8Array, guid?: string, metadata?: Metadata): Promise<void> {\r\n try {\r\n await this.storage.upload(\r\n getTileObjectReference(iModelId, changesetId, treeId, contentId, guid),\r\n Buffer.from(IModelHost.compressCachedTiles ? await promisify(gzip)(content.buffer) : content.buffer),\r\n metadata,\r\n IModelHost.compressCachedTiles ? { contentEncoding: \"gzip\" } : undefined,\r\n );\r\n } catch (err) {\r\n this.logException(\"Failed to upload tile\", err);\r\n throw err;\r\n }\r\n }\r\n\r\n /**\r\n * Downloads a tile from the cloud cache.\r\n */\r\n public async downloadTile(iModelId: string, changesetId: string, treeId: string, contentId: string, guid?: string): Promise<Uint8Array> {\r\n try {\r\n const buffer = await this.storage.download(\r\n getTileObjectReference(iModelId, changesetId, treeId, contentId, guid),\r\n \"buffer\",\r\n );\r\n return IModelHost.compressCachedTiles ? await promisify(gunzip)(buffer) : buffer;\r\n } catch (err) {\r\n this.logException(\"Failed to download tile\", err);\r\n throw err;\r\n }\r\n }\r\n\r\n /**\r\n * Returns an async iterator of all tiles that are found in the cloud cache.\r\n */\r\n public async *getCachedTilesGenerator(iModelId: string): AsyncGenerator<TileId> {\r\n const iterator = this.getCachedTilePages(iModelId);\r\n for await (const page of iterator) {\r\n for (const tile of page) {\r\n yield tile;\r\n }\r\n }\r\n }\r\n\r\n private async *getCachedTilePages(iModelId: string): AsyncGenerator<TileId[]> {\r\n const iterator = this.storage.getListObjectsPagedIterator({ baseDirectory: iModelId }, 500);\r\n let prevPage: IteratorResult<ObjectReference[], any> | undefined;\r\n do {\r\n // initiate loading the next page\r\n const page = iterator.next();\r\n // process results from the previous page\r\n if (prevPage)\r\n yield this.convertPage(prevPage.value);\r\n // finish loading the next page\r\n prevPage = await page;\r\n } while (!prevPage.done);\r\n }\r\n\r\n private convertPage(page: ObjectReference[]): TileId[] {\r\n return page\r\n .map((objectReference) => ({\r\n parts: objectReference.relativeDirectory?.split(\"/\") ?? [\"\"],\r\n objectName: objectReference.objectName,\r\n }))\r\n .filter(({ parts, objectName }) => {\r\n if (parts[0] !== \"tiles\")\r\n return false;\r\n if (parts.length !== 3) {\r\n Logger.logWarning(BackendLoggerCategory.IModelTileStorage, \"Malformed tile id found in tile cache: {tileId}\", { tileId: [...parts, objectName].join(\"/\") });\r\n return false;\r\n }\r\n return true;\r\n }).map(({ parts, objectName }) => {\r\n // relativeDirectory = tiles/<treeId>/<guid>\r\n // objectName = <contentId>\r\n return {\r\n treeId: parts[1],\r\n contentId: objectName,\r\n guid: parts[2],\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * Returns a list of all tiles that are found in the cloud cache.\r\n */\r\n public async getCachedTiles(iModelId: string): Promise<TileId[]> {\r\n const results: TileId[] = [];\r\n for await (const page of this.getCachedTilePages(iModelId)) {\r\n results.push(...page);\r\n }\r\n return results;\r\n }\r\n\r\n /**\r\n * Returns a boolean indicating whether a tile exists in the cloud cache\r\n */\r\n public async isTileCached(iModelId: string, changesetId: string, treeId: string, contentId: string, guid?: string): Promise<boolean> {\r\n return this.storage.objectExists(getTileObjectReference(iModelId, changesetId, treeId, contentId, guid));\r\n }\r\n\r\n private logException(message: string, err: unknown): void {\r\n Logger.logException(\r\n BackendLoggerCategory.IModelTileStorage,\r\n err,\r\n (category, msg, errorMetadata) => Logger.logError(category, `${message}: {errorMessage}`, { ...errorMetadata, errorMessage: msg }),\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TileStorage.js","sourceRoot":"","sources":["../../src/TileStorage.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { gunzip, gzip } from \"zlib\";\nimport { promisify } from \"util\";\nimport { Metadata, ObjectReference, ServerStorage, TransferConfig } from \"@itwin/object-storage-core\";\nimport { getTileObjectReference } from \"@itwin/core-common\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { BackendLoggerCategory } from \"./BackendLoggerCategory\";\nimport { IModelHost } from \"./IModelHost\";\n\n/**\n * Identifies a tile in cloud tile cache.\n * @beta\n */\nexport interface TileId {\n treeId: string;\n contentId: string;\n guid: string;\n}\n\n/**\n * Facilitates interaction with cloud tile cache.\n * @beta\n */\nexport class TileStorage {\n /**\n * Allows using the underlying `ServerStorage` API directly.\n * @see https://github.com/iTwin/object-storage/\n */\n public readonly storage: ServerStorage;\n\n public constructor(storage: ServerStorage) {\n this.storage = storage;\n }\n\n private _initializedIModels: Set<string> = new Set();\n\n /**\n * Ensures any required cloud storage resources for a specific iModel are ready to use.\n */\n public async initialize(iModelId: string): Promise<void> {\n if (this._initializedIModels.has(iModelId))\n return;\n if (!(await this.storage.baseDirectoryExists({ baseDirectory: iModelId }))) {\n try {\n await this.storage.createBaseDirectory({ baseDirectory: iModelId });\n } catch (e: any) {\n // Ignore 409 errors. This is what Azure blob storage returns when the container already exists.\n // Usually this means multiple backends tried to initialize tile storage at the same time.\n if(e.statusCode !== 409)\n throw e;\n }\n }\n this._initializedIModels.add(iModelId);\n }\n\n /**\n * Returns config that can be used by frontends to download tiles\n * @param iModelId Id of the iModel\n * @param expiresInSeconds Optional number of seconds until the download URL expires. Defaults to expiring exactly at midnight of next Sunday to enable persistent client-side caching.\n * It is recommended to set this to a shorter period when using S3-compatible storage - an exact expiry date cannot be ensured due to limitations in their API.\n * @see [TileStorage]($frontend)\n */\n public async getDownloadConfig(iModelId: string, expiresInSeconds?: number): Promise<TransferConfig> {\n try {\n if (expiresInSeconds !== undefined)\n return await this.storage.getDownloadConfig({ baseDirectory: iModelId }, { expiresInSeconds });\n const expiresOn = new Date();\n expiresOn.setDate(expiresOn.getDate() + (7 - expiresOn.getDay())); // next Sunday\n expiresOn.setHours(0, 0, 0, 0); // exactly at midnight\n return await this.storage.getDownloadConfig({ baseDirectory: iModelId }, { expiresOn });\n } catch (err) {\n this.logException(\"Failed to get download config\", err);\n throw err;\n }\n }\n\n /**\n * Uploads a tile to the cloud cache.\n */\n public async uploadTile(iModelId: string, changesetId: string, treeId: string, contentId: string, content: Uint8Array, guid?: string, metadata?: Metadata): Promise<void> {\n try {\n await this.storage.upload(\n getTileObjectReference(iModelId, changesetId, treeId, contentId, guid),\n Buffer.from(IModelHost.compressCachedTiles ? await promisify(gzip)(content.buffer) : content.buffer),\n metadata,\n IModelHost.compressCachedTiles ? { contentEncoding: \"gzip\" } : undefined,\n );\n } catch (err) {\n this.logException(\"Failed to upload tile\", err);\n throw err;\n }\n }\n\n /**\n * Downloads a tile from the cloud cache.\n */\n public async downloadTile(iModelId: string, changesetId: string, treeId: string, contentId: string, guid?: string): Promise<Uint8Array> {\n try {\n const buffer = await this.storage.download(\n getTileObjectReference(iModelId, changesetId, treeId, contentId, guid),\n \"buffer\",\n );\n return IModelHost.compressCachedTiles ? await promisify(gunzip)(buffer) : buffer;\n } catch (err) {\n this.logException(\"Failed to download tile\", err);\n throw err;\n }\n }\n\n /**\n * Returns an async iterator of all tiles that are found in the cloud cache.\n */\n public async *getCachedTilesGenerator(iModelId: string): AsyncGenerator<TileId> {\n const iterator = this.getCachedTilePages(iModelId);\n for await (const page of iterator) {\n for (const tile of page) {\n yield tile;\n }\n }\n }\n\n private async *getCachedTilePages(iModelId: string): AsyncGenerator<TileId[]> {\n const iterator = this.storage.getListObjectsPagedIterator({ baseDirectory: iModelId }, 500);\n let prevPage: IteratorResult<ObjectReference[], any> | undefined;\n do {\n // initiate loading the next page\n const page = iterator.next();\n // process results from the previous page\n if (prevPage)\n yield this.convertPage(prevPage.value);\n // finish loading the next page\n prevPage = await page;\n } while (!prevPage.done);\n }\n\n private convertPage(page: ObjectReference[]): TileId[] {\n return page\n .map((objectReference) => ({\n parts: objectReference.relativeDirectory?.split(\"/\") ?? [\"\"],\n objectName: objectReference.objectName,\n }))\n .filter(({ parts, objectName }) => {\n if (parts[0] !== \"tiles\")\n return false;\n if (parts.length !== 3) {\n Logger.logWarning(BackendLoggerCategory.IModelTileStorage, \"Malformed tile id found in tile cache: {tileId}\", { tileId: [...parts, objectName].join(\"/\") });\n return false;\n }\n return true;\n }).map(({ parts, objectName }) => {\n // relativeDirectory = tiles/<treeId>/<guid>\n // objectName = <contentId>\n return {\n treeId: parts[1],\n contentId: objectName,\n guid: parts[2],\n };\n });\n }\n\n /**\n * Returns a list of all tiles that are found in the cloud cache.\n */\n public async getCachedTiles(iModelId: string): Promise<TileId[]> {\n const results: TileId[] = [];\n for await (const page of this.getCachedTilePages(iModelId)) {\n results.push(...page);\n }\n return results;\n }\n\n /**\n * Returns a boolean indicating whether a tile exists in the cloud cache\n */\n public async isTileCached(iModelId: string, changesetId: string, treeId: string, contentId: string, guid?: string): Promise<boolean> {\n return this.storage.objectExists(getTileObjectReference(iModelId, changesetId, treeId, contentId, guid));\n }\n\n private logException(message: string, err: unknown): void {\n Logger.logException(\n BackendLoggerCategory.IModelTileStorage,\n err,\n (category, msg, errorMetadata) => Logger.logError(category, `${message}: {errorMessage}`, { ...errorMetadata, errorMessage: msg }),\n );\n }\n}\n"]}
@@ -1,10 +1,11 @@
1
1
  /** @packageDocumentation
2
2
  * @module iModels
3
3
  */
4
- import { BeEvent, DbResult, Id64String, IModelStatus } from "@itwin/core-bentley";
4
+ import { BeEvent, DbConflictResolution, DbResult, Id64String, IModelStatus } from "@itwin/core-bentley";
5
5
  import { EntityIdAndClassIdIterable, ModelGeometryChangesProps, ModelIdAndGeometryGuid } from "@itwin/core-common";
6
6
  import { BriefcaseDb, StandaloneDb } from "./IModelDb";
7
7
  import { RelationshipProps } from "./Relationship";
8
+ import { DbRebaseChangesetConflictArgs, RebaseChangesetConflictArgs, TxnArgs } from "./internal/ChangesetConflictArgs";
8
9
  /** A string that identifies a Txn.
9
10
  * @public
10
11
  */
@@ -56,6 +57,23 @@ export interface ChangeInstanceKey {
56
57
  }
57
58
  /** Strictly for tests. @internal */
58
59
  export declare function setMaxEntitiesPerEvent(max: number): number;
60
+ /**
61
+ * @internal
62
+ * Manages conflict resolution during a merge operation.
63
+ */
64
+ export declare class ChangeMergeManager {
65
+ private _iModel;
66
+ private _conflictHandlers?;
67
+ constructor(_iModel: BriefcaseDb | StandaloneDb);
68
+ resume(): void;
69
+ inProgress(): boolean;
70
+ onConflict(args: RebaseChangesetConflictArgs): DbConflictResolution | undefined;
71
+ addConflictHandler(args: {
72
+ id: string;
73
+ handler: (args: RebaseChangesetConflictArgs) => DbConflictResolution | undefined;
74
+ }): void;
75
+ removeConflictHandler(id: string): void;
76
+ }
59
77
  /** Manages local changes to a [[BriefcaseDb]] or [[StandaloneDb]] via [Txns]($docs/learning/InteractiveEditing.md)
60
78
  * @public
61
79
  */
@@ -66,6 +84,8 @@ export declare class TxnManager {
66
84
  /** @internal */
67
85
  get isDisposed(): boolean;
68
86
  /** @internal */
87
+ readonly changeMergeManager: ChangeMergeManager;
88
+ /** @internal */
69
89
  constructor(_iModel: BriefcaseDb | StandaloneDb);
70
90
  /** Array of errors from dependency propagation */
71
91
  readonly validationErrors: ValidationError[];
@@ -109,6 +129,9 @@ export declare class TxnManager {
109
129
  protected _onBeforeUndoRedo(isUndo: boolean): void;
110
130
  /** @internal */
111
131
  protected _onAfterUndoRedo(isUndo: boolean): void;
132
+ private _onRebaseTxnBegin;
133
+ private _onRebaseTxnEnd;
134
+ private _onRebaseLocalTxnConflict;
112
135
  /** Dependency handlers may call method this to report a validation error.
113
136
  * @param error The error. If error.fatal === true, the transaction will cancel rather than commit.
114
137
  */
@@ -155,6 +178,15 @@ export declare class TxnManager {
155
178
  * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
156
179
  */
157
180
  readonly onReplayedExternalTxns: BeEvent<() => void>;
181
+ /** @internal */
182
+ readonly onRebaseTxnBegin: BeEvent<(txn: TxnArgs) => void>;
183
+ /** @internal */
184
+ readonly onRebaseTxnEnd: BeEvent<(txn: TxnArgs) => void>;
185
+ /**
186
+ * if handler is set and it does not return undefiend then default handler will not be called
187
+ * @internal
188
+ * */
189
+ appCustomConflictHandler?: (args: DbRebaseChangesetConflictArgs) => DbConflictResolution | undefined;
158
190
  /**
159
191
  * Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed
160
192
  * and reopened.)
@@ -231,15 +263,34 @@ export declare class TxnManager {
231
263
  getTxnDescription(txnId: TxnIdString): string;
232
264
  /** Test if a TxnId is valid */
233
265
  isTxnIdValid(txnId: TxnIdString): boolean;
234
- /** Query if there are any pending Txns in this IModelDb that are waiting to be pushed. */
266
+ /** Query if there are any pending Txns in this IModelDb that are waiting to be pushed.
267
+ * @see [[IModelDb.pushChanges]]
268
+ */
235
269
  get hasPendingTxns(): boolean;
236
- /** Query if there are any changes in memory that have yet to be saved to the IModelDb. */
270
+ /**
271
+ * Query if there are any changes in memory that have yet to be saved to the IModelDb.
272
+ * @see [[IModelDb.saveChanges]]
273
+ */
237
274
  get hasUnsavedChanges(): boolean;
238
- /** Query if there are un-saved or un-pushed local changes. */
275
+ /**
276
+ * Query if there are changes in memory that have not been saved to the iModelDb or if there are Txns that are waiting to be pushed.
277
+ * @see [[IModelDb.saveChanges]]
278
+ * @see [[IModelDb.pushChanges]]
279
+ */
239
280
  get hasLocalChanges(): boolean;
281
+ /** Destroy the record of all local changes that have yet to be saved and/or pushed.
282
+ * This permanently eradicates your changes - use with caution!
283
+ * Typically, callers will want to subsequently use [[LockControl.releaseAllLocks]].
284
+ * After calling this function, [[hasLocalChanges]], [[hasPendingTxns]], and [[hasUnsavedChanges]] will all be `false`.
285
+ */
286
+ deleteAllTxns(): void;
240
287
  /** Obtain a list of the EC instances that have been changed locally by the [[BriefcaseDb]] associated with this `TxnManager` and have not yet been pushed to the iModel.
241
288
  * @beta
242
289
  */
243
290
  queryLocalChanges(args?: QueryLocalChangesArgs): Iterable<ChangeInstanceKey>;
291
+ /** Query the number of bytes of memory currently allocated by SQLite to keep track of
292
+ * changes to the iModel, for debugging/diagnostic purposes, as reported by [sqlite3session_memory_used](https://www.sqlite.org/session/sqlite3session_memory_used.html).
293
+ */
294
+ getChangeTrackingMemoryUsed(): number;
244
295
  }
245
296
  //# sourceMappingURL=TxnManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TxnManager.d.ts","sourceRoot":"","sources":["../../src/TxnManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TxnManager.d.ts","sourceRoot":"","sources":["../../src/TxnManager.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,15 @@
7
7
  * @module iModels
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TxnManager = void 0;
10
+ exports.TxnManager = exports.ChangeMergeManager = void 0;
11
11
  exports.setMaxEntitiesPerEvent = setMaxEntitiesPerEvent;
12
12
  const touch = require("touch");
13
13
  const core_bentley_1 = require("@itwin/core-bentley");
14
+ const core_common_1 = require("@itwin/core-common");
14
15
  const BackendLoggerCategory_1 = require("./BackendLoggerCategory");
15
16
  const IpcHost_1 = require("./IpcHost");
16
17
  const Symbols_1 = require("./internal/Symbols");
18
+ const ChangesetConflictArgs_1 = require("./internal/ChangesetConflictArgs");
17
19
  /** Strictly for tests. @internal */
18
20
  function setMaxEntitiesPerEvent(max) {
19
21
  const prevMax = ChangedEntitiesProc.maxPerEvent;
@@ -22,9 +24,10 @@ function setMaxEntitiesPerEvent(max) {
22
24
  }
23
25
  /** Maintains an ordered array of entity Ids and a parallel array containing the index of the corresponding entity's class Id. */
24
26
  class ChangedEntitiesArray {
27
+ entityIds = new core_bentley_1.OrderedId64Array();
28
+ _classIndices = [];
29
+ _classIds;
25
30
  constructor(classIds) {
26
- this.entityIds = new core_bentley_1.OrderedId64Array();
27
- this._classIndices = [];
28
31
  this._classIds = classIds;
29
32
  }
30
33
  insert(entityId, classId) {
@@ -66,13 +69,12 @@ class ChangedEntitiesArray {
66
69
  }
67
70
  }
68
71
  class ChangedEntitiesProc {
69
- constructor() {
70
- this._classIds = new core_bentley_1.IndexMap((lhs, rhs) => (0, core_bentley_1.compareStrings)(lhs, rhs));
71
- this._inserted = new ChangedEntitiesArray(this._classIds);
72
- this._deleted = new ChangedEntitiesArray(this._classIds);
73
- this._updated = new ChangedEntitiesArray(this._classIds);
74
- this._currSize = 0;
75
- }
72
+ _classIds = new core_bentley_1.IndexMap((lhs, rhs) => (0, core_bentley_1.compareStrings)(lhs, rhs));
73
+ _inserted = new ChangedEntitiesArray(this._classIds);
74
+ _deleted = new ChangedEntitiesArray(this._classIds);
75
+ _updated = new ChangedEntitiesArray(this._classIds);
76
+ _currSize = 0;
77
+ static maxPerEvent = 1000;
76
78
  static process(iModel, mgr) {
77
79
  if (mgr.isDisposed) {
78
80
  // The iModel is being closed. Do not prepare new sqlite statements.
@@ -83,6 +85,7 @@ class ChangedEntitiesProc {
83
85
  }
84
86
  populateMetadata(db, classIds) {
85
87
  // Ensure metadata for all class Ids is loaded. Loading metadata for a derived class loads metadata for all of its superclasses.
88
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
86
89
  const classIdsToLoad = classIds.filter((x) => undefined === db.classMetaDataRegistry.findByClassId(x));
87
90
  if (classIdsToLoad.length > 0) {
88
91
  const classIdsStr = classIdsToLoad.join(",");
@@ -90,6 +93,7 @@ class ChangedEntitiesProc {
90
93
  db.withPreparedSqliteStatement(sql, (stmt) => {
91
94
  while (stmt.step() === core_bentley_1.DbResult.BE_SQLITE_ROW) {
92
95
  const classFullName = `${stmt.getValueString(2)}:${stmt.getValueString(0)}`;
96
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
93
97
  db.tryGetMetaData(classFullName);
94
98
  }
95
99
  });
@@ -97,6 +101,7 @@ class ChangedEntitiesProc {
97
101
  // Define array indices for the metadata array entries correlating to the class Ids in the input list.
98
102
  const nameToIndex = new Map();
99
103
  for (const classId of classIds) {
104
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
100
105
  const meta = db.classMetaDataRegistry.findByClassId(classId);
101
106
  nameToIndex.set(meta?.ecclass ?? "", nameToIndex.size);
102
107
  }
@@ -104,6 +109,7 @@ class ChangedEntitiesProc {
104
109
  function addMetadata(name, index) {
105
110
  const bases = [];
106
111
  result[index] = { name, bases };
112
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
107
113
  const meta = db.tryGetMetaData(name);
108
114
  if (!meta) {
109
115
  return;
@@ -190,66 +196,91 @@ class ChangedEntitiesProc {
190
196
  }
191
197
  }
192
198
  }
193
- ChangedEntitiesProc.maxPerEvent = 1000;
199
+ /**
200
+ * @internal
201
+ * Manages conflict resolution during a merge operation.
202
+ */
203
+ class ChangeMergeManager {
204
+ _iModel;
205
+ _conflictHandlers;
206
+ constructor(_iModel) {
207
+ this._iModel = _iModel;
208
+ }
209
+ resume() {
210
+ this._iModel[Symbols_1._nativeDb].pullMergeResume();
211
+ }
212
+ inProgress() {
213
+ return this._iModel[Symbols_1._nativeDb].pullMergeInProgress();
214
+ }
215
+ onConflict(args) {
216
+ let curr = this._conflictHandlers;
217
+ while (curr) {
218
+ const resolution = curr.handler(args);
219
+ if (resolution !== undefined) {
220
+ core_bentley_1.Logger.logTrace(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, `Conflict handler ${curr.id} resolved conflict`);
221
+ return resolution;
222
+ }
223
+ curr = curr.next;
224
+ }
225
+ return undefined;
226
+ }
227
+ addConflictHandler(args) {
228
+ const idExists = (id) => {
229
+ let curr = this._conflictHandlers;
230
+ while (curr) {
231
+ if (curr.id === id)
232
+ return true;
233
+ curr = curr.next;
234
+ }
235
+ return false;
236
+ };
237
+ if (idExists(args.id))
238
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, `Conflict handler with id ${args.id} already exists`);
239
+ this._conflictHandlers = { ...args, next: this._conflictHandlers };
240
+ }
241
+ removeConflictHandler(id) {
242
+ if (!this._conflictHandlers)
243
+ return;
244
+ if (this._conflictHandlers?.id === id) {
245
+ this._conflictHandlers = this._conflictHandlers.next;
246
+ return;
247
+ }
248
+ let prev = this._conflictHandlers;
249
+ let curr = this._conflictHandlers?.next;
250
+ while (curr) {
251
+ if (curr.id === id) {
252
+ prev.next = curr.next;
253
+ return;
254
+ }
255
+ prev = curr;
256
+ curr = curr.next;
257
+ }
258
+ }
259
+ }
260
+ exports.ChangeMergeManager = ChangeMergeManager;
194
261
  /** Manages local changes to a [[BriefcaseDb]] or [[StandaloneDb]] via [Txns]($docs/learning/InteractiveEditing.md)
195
262
  * @public
196
263
  */
197
264
  class TxnManager {
265
+ _iModel;
266
+ /** @internal */
267
+ _isDisposed = false;
198
268
  /** @internal */
199
269
  get isDisposed() {
200
270
  return this._isDisposed;
201
271
  }
202
272
  /** @internal */
273
+ changeMergeManager;
274
+ /** @internal */
203
275
  constructor(_iModel) {
204
276
  this._iModel = _iModel;
205
- /** @internal */
206
- this._isDisposed = false;
207
- /** Array of errors from dependency propagation */
208
- this.validationErrors = [];
209
- /** @internal */
210
- this.onEndValidation = new core_bentley_1.BeEvent();
211
- /** Called after validation completes from [[IModelDb.saveChanges]].
212
- * The argument to the event holds the list of elements that were inserted, updated, and deleted.
213
- * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
214
- */
215
- this.onElementsChanged = new core_bentley_1.BeEvent();
216
- /** Called after validation completes from [[IModelDb.saveChanges]].
217
- * The argument to the event holds the list of models that were inserted, updated, and deleted.
218
- * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
219
- */
220
- this.onModelsChanged = new core_bentley_1.BeEvent();
221
- /** Event raised after the geometry within one or more [[GeometricModel]]s is modified by applying a changeset or validation of a transaction.
222
- * A model's geometry can change as a result of:
223
- * - Insertion or deletion of a geometric element within the model; or
224
- * - Modification of an existing element's geometric properties; or
225
- * - An explicit request to flag it as changed via [[IModelDb.Models.updateModel]].
226
- */
227
- this.onModelGeometryChanged = new core_bentley_1.BeEvent();
228
- this.onGeometryChanged = new core_bentley_1.BeEvent();
229
- /** Event raised before a commit operation is performed. Initiated by a call to [[IModelDb.saveChanges]], unless there are no changes to save. */
230
- this.onCommit = new core_bentley_1.BeEvent();
231
- /** Event raised after a commit operation has been performed. Initiated by a call to [[IModelDb.saveChanges]], even if there were no changes to save. */
232
- this.onCommitted = new core_bentley_1.BeEvent();
233
- /** Event raised after a ChangeSet has been applied to this briefcase */
234
- this.onChangesApplied = new core_bentley_1.BeEvent();
235
- /** Event raised before an undo/redo operation is performed. */
236
- this.onBeforeUndoRedo = new core_bentley_1.BeEvent();
237
- /** Event raised after an undo/redo operation has been performed.
238
- * @param _action The action that was performed.
239
- */
240
- this.onAfterUndoRedo = new core_bentley_1.BeEvent();
241
- /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
242
- * @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.
243
- */
244
- this.onReplayExternalTxns = new core_bentley_1.BeEvent();
245
- /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
246
- * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
247
- */
248
- this.onReplayedExternalTxns = new core_bentley_1.BeEvent();
277
+ this.changeMergeManager = new ChangeMergeManager(_iModel);
249
278
  _iModel.onBeforeClose.addOnce(() => {
250
279
  this._isDisposed = true;
251
280
  });
252
281
  }
282
+ /** Array of errors from dependency propagation */
283
+ validationErrors = [];
253
284
  get _nativeDb() { return this._iModel[Symbols_1._nativeDb]; }
254
285
  _getElementClass(elClassName) {
255
286
  return this._iModel.getJsClass(elClassName);
@@ -340,6 +371,79 @@ class TxnManager {
340
371
  this.onAfterUndoRedo.raiseEvent(isUndo);
341
372
  IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyAfterUndoRedo", isUndo);
342
373
  }
374
+ _onRebaseTxnBegin(txn) {
375
+ this.onRebaseTxnBegin.raiseEvent(txn);
376
+ }
377
+ _onRebaseTxnEnd(txn) {
378
+ this.onRebaseTxnEnd.raiseEvent(txn);
379
+ }
380
+ _onRebaseLocalTxnConflict(internalArg) {
381
+ const args = new ChangesetConflictArgs_1.RebaseChangesetConflictArgs(internalArg, this._iModel);
382
+ const getChangeMetaData = () => {
383
+ return {
384
+ parent: this._iModel.changeset,
385
+ txn: args.txn,
386
+ table: args.tableName,
387
+ op: args.opcode,
388
+ cause: args.cause,
389
+ indirect: args.indirect,
390
+ primarykey: args.getPrimaryKeyValues(),
391
+ fkConflictCount: args.cause === "ForeignKey" ? args.getForeignKeyConflicts() : undefined,
392
+ };
393
+ };
394
+ // Default conflict resolution for which custom handler is never called.
395
+ if (args.cause === "Data" && !args.indirect) {
396
+ if (args.tableName === "be_Prop") {
397
+ if (args.getValueText(0, "Old") === "ec_Db" && args.getValueText(1, "Old") === "localDbInfo") {
398
+ return core_bentley_1.DbConflictResolution.Skip;
399
+ }
400
+ }
401
+ if (args.tableName.startsWith("ec_")) {
402
+ return core_bentley_1.DbConflictResolution.Skip;
403
+ }
404
+ }
405
+ if (args.cause === "Conflict") {
406
+ if (args.tableName.startsWith("ec_")) {
407
+ return core_bentley_1.DbConflictResolution.Skip;
408
+ }
409
+ }
410
+ try {
411
+ const resolution = this.changeMergeManager.onConflict(args);
412
+ if (resolution !== undefined)
413
+ return resolution;
414
+ }
415
+ catch (err) {
416
+ const msg = `Rebase failed. Custom conflict handler should not throw exception. Aborting txn. ${core_bentley_1.BentleyError.getErrorMessage(err)}`;
417
+ core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, msg, getChangeMetaData());
418
+ args.setLastError(msg);
419
+ return core_bentley_1.DbConflictResolution.Abort;
420
+ }
421
+ if (args.cause === "Data" && !args.indirect) {
422
+ core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, "UPDATE/DELETE before value do not match with one in db or CASCADE action was triggered. Local change will replace existing.", getChangeMetaData());
423
+ return core_bentley_1.DbConflictResolution.Replace;
424
+ }
425
+ if (args.cause === "Conflict") {
426
+ const msg = "PRIMARY KEY insert conflict. Aborting rebase.";
427
+ core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, msg, getChangeMetaData());
428
+ args.setLastError(msg);
429
+ return core_bentley_1.DbConflictResolution.Abort;
430
+ }
431
+ if (args.cause === "ForeignKey") {
432
+ const msg = `Foreign key conflicts in ChangeSet. Aborting rebase.`;
433
+ core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, msg, getChangeMetaData());
434
+ args.setLastError(msg);
435
+ return core_bentley_1.DbConflictResolution.Abort;
436
+ }
437
+ if (args.cause === "NotFound") {
438
+ core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, "PRIMARY KEY not found. Skipping local change.", getChangeMetaData());
439
+ return core_bentley_1.DbConflictResolution.Skip;
440
+ }
441
+ if (args.cause === "Constraint") {
442
+ core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, "Constraint voilation detected. Generally caused by db constraints like UNIQUE index. Skipping local change.", getChangeMetaData());
443
+ return core_bentley_1.DbConflictResolution.Skip;
444
+ }
445
+ return core_bentley_1.DbConflictResolution.Replace;
446
+ }
343
447
  /** Dependency handlers may call method this to report a validation error.
344
448
  * @param error The error. If error.fatal === true, the transaction will cancel rather than commit.
345
449
  */
@@ -349,6 +453,55 @@ class TxnManager {
349
453
  }
350
454
  /** Determine whether any fatal validation errors have occurred during dependency propagation. */
351
455
  get hasFatalError() { return this._nativeDb.hasFatalTxnError(); }
456
+ /** @internal */
457
+ onEndValidation = new core_bentley_1.BeEvent();
458
+ /** Called after validation completes from [[IModelDb.saveChanges]].
459
+ * The argument to the event holds the list of elements that were inserted, updated, and deleted.
460
+ * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
461
+ */
462
+ onElementsChanged = new core_bentley_1.BeEvent();
463
+ /** Called after validation completes from [[IModelDb.saveChanges]].
464
+ * The argument to the event holds the list of models that were inserted, updated, and deleted.
465
+ * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
466
+ */
467
+ onModelsChanged = new core_bentley_1.BeEvent();
468
+ /** Event raised after the geometry within one or more [[GeometricModel]]s is modified by applying a changeset or validation of a transaction.
469
+ * A model's geometry can change as a result of:
470
+ * - Insertion or deletion of a geometric element within the model; or
471
+ * - Modification of an existing element's geometric properties; or
472
+ * - An explicit request to flag it as changed via [[IModelDb.Models.updateModel]].
473
+ */
474
+ onModelGeometryChanged = new core_bentley_1.BeEvent();
475
+ onGeometryChanged = new core_bentley_1.BeEvent();
476
+ /** Event raised before a commit operation is performed. Initiated by a call to [[IModelDb.saveChanges]], unless there are no changes to save. */
477
+ onCommit = new core_bentley_1.BeEvent();
478
+ /** Event raised after a commit operation has been performed. Initiated by a call to [[IModelDb.saveChanges]], even if there were no changes to save. */
479
+ onCommitted = new core_bentley_1.BeEvent();
480
+ /** Event raised after a ChangeSet has been applied to this briefcase */
481
+ onChangesApplied = new core_bentley_1.BeEvent();
482
+ /** Event raised before an undo/redo operation is performed. */
483
+ onBeforeUndoRedo = new core_bentley_1.BeEvent();
484
+ /** Event raised after an undo/redo operation has been performed.
485
+ * @param _action The action that was performed.
486
+ */
487
+ onAfterUndoRedo = new core_bentley_1.BeEvent();
488
+ /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
489
+ * @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.
490
+ */
491
+ onReplayExternalTxns = new core_bentley_1.BeEvent();
492
+ /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
493
+ * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
494
+ */
495
+ onReplayedExternalTxns = new core_bentley_1.BeEvent();
496
+ /** @internal */
497
+ onRebaseTxnBegin = new core_bentley_1.BeEvent();
498
+ /** @internal */
499
+ onRebaseTxnEnd = new core_bentley_1.BeEvent();
500
+ /**
501
+ * if handler is set and it does not return undefiend then default handler will not be called
502
+ * @internal
503
+ * */
504
+ appCustomConflictHandler;
352
505
  /**
353
506
  * Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed
354
507
  * and reopened.)
@@ -429,12 +582,29 @@ class TxnManager {
429
582
  getTxnDescription(txnId) { return this._nativeDb.getTxnDescription(txnId); }
430
583
  /** Test if a TxnId is valid */
431
584
  isTxnIdValid(txnId) { return this._nativeDb.isTxnIdValid(txnId); }
432
- /** Query if there are any pending Txns in this IModelDb that are waiting to be pushed. */
585
+ /** Query if there are any pending Txns in this IModelDb that are waiting to be pushed.
586
+ * @see [[IModelDb.pushChanges]]
587
+ */
433
588
  get hasPendingTxns() { return this._nativeDb.hasPendingTxns(); }
434
- /** Query if there are any changes in memory that have yet to be saved to the IModelDb. */
589
+ /**
590
+ * Query if there are any changes in memory that have yet to be saved to the IModelDb.
591
+ * @see [[IModelDb.saveChanges]]
592
+ */
435
593
  get hasUnsavedChanges() { return this._nativeDb.hasUnsavedChanges(); }
436
- /** Query if there are un-saved or un-pushed local changes. */
594
+ /**
595
+ * Query if there are changes in memory that have not been saved to the iModelDb or if there are Txns that are waiting to be pushed.
596
+ * @see [[IModelDb.saveChanges]]
597
+ * @see [[IModelDb.pushChanges]]
598
+ */
437
599
  get hasLocalChanges() { return this.hasUnsavedChanges || this.hasPendingTxns; }
600
+ /** Destroy the record of all local changes that have yet to be saved and/or pushed.
601
+ * This permanently eradicates your changes - use with caution!
602
+ * Typically, callers will want to subsequently use [[LockControl.releaseAllLocks]].
603
+ * After calling this function, [[hasLocalChanges]], [[hasPendingTxns]], and [[hasUnsavedChanges]] will all be `false`.
604
+ */
605
+ deleteAllTxns() {
606
+ this._nativeDb.deleteAllTxns();
607
+ }
438
608
  /** Obtain a list of the EC instances that have been changed locally by the [[BriefcaseDb]] associated with this `TxnManager` and have not yet been pushed to the iModel.
439
609
  * @beta
440
610
  */
@@ -444,6 +614,12 @@ class TxnManager {
444
614
  }
445
615
  return this._nativeDb.getLocalChanges(args.includedClasses ?? [], args.includeUnsavedChanges ?? false);
446
616
  }
617
+ /** Query the number of bytes of memory currently allocated by SQLite to keep track of
618
+ * changes to the iModel, for debugging/diagnostic purposes, as reported by [sqlite3session_memory_used](https://www.sqlite.org/session/sqlite3session_memory_used.html).
619
+ */
620
+ getChangeTrackingMemoryUsed() {
621
+ return this._iModel[Symbols_1._nativeDb].getChangeTrackingMemoryUsed();
622
+ }
447
623
  }
448
624
  exports.TxnManager = TxnManager;
449
625
  //# sourceMappingURL=TxnManager.js.map