@itwin/core-backend 5.0.0-dev.11 → 5.0.0-dev.110

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 (1057) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +15 -35
  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/BisCoreSchema.d.ts.map +1 -1
  7. package/lib/cjs/BisCoreSchema.js +2 -0
  8. package/lib/cjs/BisCoreSchema.js.map +1 -1
  9. package/lib/cjs/BlobContainerService.d.ts +4 -4
  10. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  11. package/lib/cjs/BlobContainerService.js.map +1 -1
  12. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  13. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  14. package/lib/cjs/BriefcaseManager.js +63 -20
  15. package/lib/cjs/BriefcaseManager.js.map +1 -1
  16. package/lib/cjs/CatalogDb.d.ts +103 -0
  17. package/lib/cjs/CatalogDb.d.ts.map +1 -0
  18. package/lib/cjs/CatalogDb.js +271 -0
  19. package/lib/cjs/CatalogDb.js.map +1 -0
  20. package/lib/cjs/Category.js +6 -1
  21. package/lib/cjs/Category.js.map +1 -1
  22. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  23. package/lib/cjs/ChangeSummaryManager.js +102 -27
  24. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  25. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  26. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  27. package/lib/cjs/ChangedElementsDb.js +8 -7
  28. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  29. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  30. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  31. package/lib/cjs/ChangesetECAdaptor.js +32 -19
  32. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  33. package/lib/cjs/CheckpointManager.d.ts +12 -17
  34. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  35. package/lib/cjs/CheckpointManager.js +40 -92
  36. package/lib/cjs/CheckpointManager.js.map +1 -1
  37. package/lib/cjs/ClassRegistry.d.ts +46 -2
  38. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  39. package/lib/cjs/ClassRegistry.js +93 -37
  40. package/lib/cjs/ClassRegistry.js.map +1 -1
  41. package/lib/cjs/CloudSqlite.d.ts +104 -20
  42. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  43. package/lib/cjs/CloudSqlite.js +172 -54
  44. package/lib/cjs/CloudSqlite.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +2 -0
  46. package/lib/cjs/CodeService.d.ts.map +1 -1
  47. package/lib/cjs/CodeService.js +4 -0
  48. package/lib/cjs/CodeService.js.map +1 -1
  49. package/lib/cjs/CodeSpecs.js +3 -2
  50. package/lib/cjs/CodeSpecs.js.map +1 -1
  51. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  52. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  53. package/lib/cjs/DevTools.js +16 -16
  54. package/lib/cjs/DevTools.js.map +1 -1
  55. package/lib/cjs/DisplayStyle.js +2 -0
  56. package/lib/cjs/DisplayStyle.js.map +1 -1
  57. package/lib/cjs/ECDb.d.ts +53 -60
  58. package/lib/cjs/ECDb.d.ts.map +1 -1
  59. package/lib/cjs/ECDb.js +115 -73
  60. package/lib/cjs/ECDb.js.map +1 -1
  61. package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
  62. package/lib/cjs/ECSchemaXmlContext.js +2 -1
  63. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  64. package/lib/cjs/ECSqlStatement.d.ts +185 -4
  65. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  66. package/lib/cjs/ECSqlStatement.js +237 -9
  67. package/lib/cjs/ECSqlStatement.js.map +1 -1
  68. package/lib/cjs/Element.d.ts +29 -26
  69. package/lib/cjs/Element.d.ts.map +1 -1
  70. package/lib/cjs/Element.js +173 -48
  71. package/lib/cjs/Element.js.map +1 -1
  72. package/lib/cjs/ElementAspect.d.ts +0 -5
  73. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  74. package/lib/cjs/ElementAspect.js +25 -16
  75. package/lib/cjs/ElementAspect.js.map +1 -1
  76. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  77. package/lib/cjs/ElementTreeWalker.js +17 -12
  78. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  79. package/lib/cjs/Entity.d.ts +50 -10
  80. package/lib/cjs/Entity.d.ts.map +1 -1
  81. package/lib/cjs/Entity.js +79 -16
  82. package/lib/cjs/Entity.js.map +1 -1
  83. package/lib/cjs/ExportGraphics.js +4 -0
  84. package/lib/cjs/ExportGraphics.js.map +1 -1
  85. package/lib/cjs/ExternalSource.js +22 -0
  86. package/lib/cjs/ExternalSource.js.map +1 -1
  87. package/lib/cjs/FontFile.d.ts +68 -0
  88. package/lib/cjs/FontFile.d.ts.map +1 -0
  89. package/lib/cjs/FontFile.js +36 -0
  90. package/lib/cjs/FontFile.js.map +1 -0
  91. package/lib/cjs/GeoCoordConfig.js +8 -8
  92. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  93. package/lib/cjs/GeometrySummary.js +6 -3
  94. package/lib/cjs/GeometrySummary.js.map +1 -1
  95. package/lib/cjs/IModelDb.d.ts +213 -73
  96. package/lib/cjs/IModelDb.d.ts.map +1 -1
  97. package/lib/cjs/IModelDb.js +379 -172
  98. package/lib/cjs/IModelDb.js.map +1 -1
  99. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  100. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  101. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  102. package/lib/cjs/IModelDbFonts.js.map +1 -0
  103. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  104. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  105. package/lib/cjs/IModelElementCloneContext.js +12 -1
  106. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  107. package/lib/cjs/IModelHost.d.ts +15 -15
  108. package/lib/cjs/IModelHost.d.ts.map +1 -1
  109. package/lib/cjs/IModelHost.js +76 -43
  110. package/lib/cjs/IModelHost.js.map +1 -1
  111. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  112. package/lib/cjs/IModelJsFs.js +17 -1
  113. package/lib/cjs/IModelJsFs.js.map +1 -1
  114. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  115. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  116. package/lib/cjs/ImageSourceConversion.js +37 -0
  117. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  118. package/lib/cjs/IpcHost.d.ts.map +1 -1
  119. package/lib/cjs/IpcHost.js +19 -33
  120. package/lib/cjs/IpcHost.js.map +1 -1
  121. package/lib/cjs/LocalHub.js +8 -2
  122. package/lib/cjs/LocalHub.js.map +1 -1
  123. package/lib/cjs/LocalhostIpcHost.js +5 -6
  124. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  125. package/lib/cjs/Material.js +40 -0
  126. package/lib/cjs/Material.js.map +1 -1
  127. package/lib/cjs/Model.d.ts +1 -1
  128. package/lib/cjs/Model.d.ts.map +1 -1
  129. package/lib/cjs/Model.js +27 -2
  130. package/lib/cjs/Model.js.map +1 -1
  131. package/lib/cjs/NativeAppStorage.js +5 -3
  132. package/lib/cjs/NativeAppStorage.js.map +1 -1
  133. package/lib/cjs/NativeHost.d.ts.map +1 -1
  134. package/lib/cjs/NativeHost.js +10 -4
  135. package/lib/cjs/NativeHost.js.map +1 -1
  136. package/lib/cjs/NavigationRelationship.js +25 -25
  137. package/lib/cjs/NavigationRelationship.js.map +1 -1
  138. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  139. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  140. package/lib/cjs/PromiseMemoizer.js +12 -5
  141. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  142. package/lib/cjs/PropertyStore.js +1 -4
  143. package/lib/cjs/PropertyStore.js.map +1 -1
  144. package/lib/cjs/Relationship.d.ts.map +1 -1
  145. package/lib/cjs/Relationship.js +15 -1
  146. package/lib/cjs/Relationship.js.map +1 -1
  147. package/lib/cjs/SQLiteDb.d.ts +6 -4
  148. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  149. package/lib/cjs/SQLiteDb.js +79 -19
  150. package/lib/cjs/SQLiteDb.js.map +1 -1
  151. package/lib/cjs/Schema.d.ts +25 -1
  152. package/lib/cjs/Schema.d.ts.map +1 -1
  153. package/lib/cjs/Schema.js +44 -8
  154. package/lib/cjs/Schema.js.map +1 -1
  155. package/lib/cjs/SchemaSync.js +1 -4
  156. package/lib/cjs/SchemaSync.js.map +1 -1
  157. package/lib/cjs/SheetIndex.js +6 -0
  158. package/lib/cjs/SheetIndex.js.map +1 -1
  159. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  160. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  161. package/lib/cjs/SqliteChangesetReader.js +21 -5
  162. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  163. package/lib/cjs/SqliteStatement.d.ts +4 -2
  164. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  165. package/lib/cjs/SqliteStatement.js +13 -1
  166. package/lib/cjs/SqliteStatement.js.map +1 -1
  167. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  168. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  169. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  170. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  171. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  172. package/lib/cjs/TextAnnotationLayout.js +56 -18
  173. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  174. package/lib/cjs/Texture.js +3 -0
  175. package/lib/cjs/Texture.js.map +1 -1
  176. package/lib/cjs/TileStorage.js +6 -1
  177. package/lib/cjs/TileStorage.js.map +1 -1
  178. package/lib/cjs/TxnManager.d.ts +55 -4
  179. package/lib/cjs/TxnManager.d.ts.map +1 -1
  180. package/lib/cjs/TxnManager.js +234 -58
  181. package/lib/cjs/TxnManager.js.map +1 -1
  182. package/lib/cjs/ViewDefinition.d.ts +6 -6
  183. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  184. package/lib/cjs/ViewDefinition.js +81 -26
  185. package/lib/cjs/ViewDefinition.js.map +1 -1
  186. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  187. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  188. package/lib/cjs/ViewStateHydrator.js +1 -11
  189. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  190. package/lib/cjs/ViewStore.d.ts.map +1 -1
  191. package/lib/cjs/ViewStore.js +32 -29
  192. package/lib/cjs/ViewStore.js.map +1 -1
  193. package/lib/cjs/core-backend.d.ts +8 -2
  194. package/lib/cjs/core-backend.d.ts.map +1 -1
  195. package/lib/cjs/core-backend.js +8 -2
  196. package/lib/cjs/core-backend.js.map +1 -1
  197. package/lib/cjs/domains/FunctionalElements.js +1 -1
  198. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  199. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  200. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  201. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  202. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  203. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  204. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  205. package/lib/cjs/internal/ChannelAdmin.js +16 -13
  206. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  207. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  208. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  209. package/lib/cjs/internal/FontFileImpl.js +143 -0
  210. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  211. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +6 -7
  212. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  213. package/lib/cjs/{HubMock.js → internal/HubMock.js} +40 -15
  214. package/lib/cjs/internal/HubMock.js.map +1 -0
  215. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  216. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  217. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  218. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  219. package/lib/cjs/internal/NoLocks.js +2 -5
  220. package/lib/cjs/internal/NoLocks.js.map +1 -1
  221. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  222. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  223. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  224. package/lib/cjs/internal/Symbols.d.ts +8 -0
  225. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  226. package/lib/cjs/internal/Symbols.js +9 -1
  227. package/lib/cjs/internal/Symbols.js.map +1 -1
  228. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  229. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  230. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  231. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  232. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
  233. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  234. package/lib/cjs/internal/workspace/WorkspaceImpl.js +57 -121
  235. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  236. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  237. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  238. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  239. package/lib/cjs/rpc/multipart.js +2 -1
  240. package/lib/cjs/rpc/multipart.js.map +1 -1
  241. package/lib/cjs/rpc/tracing.js +2 -2
  242. package/lib/cjs/rpc/tracing.js.map +1 -1
  243. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  244. package/lib/cjs/rpc/web/request.js +2 -1
  245. package/lib/cjs/rpc/web/request.js.map +1 -1
  246. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  247. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +6 -2
  248. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  249. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  250. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  251. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  252. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +15 -25
  253. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  254. package/lib/cjs/workspace/Workspace.d.ts +6 -13
  255. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  256. package/lib/cjs/workspace/Workspace.js.map +1 -1
  257. package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
  258. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  259. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  260. package/lib/esm/BackendHubAccess.d.ts +209 -0
  261. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  262. package/lib/esm/BackendHubAccess.js +41 -0
  263. package/lib/esm/BackendHubAccess.js.map +1 -0
  264. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  265. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  266. package/lib/esm/BackendLoggerCategory.js +93 -0
  267. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  268. package/lib/esm/BisCoreSchema.d.ts +22 -0
  269. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  270. package/lib/esm/BisCoreSchema.js +61 -0
  271. package/lib/esm/BisCoreSchema.js.map +1 -0
  272. package/lib/esm/BlobContainerService.d.ts +159 -0
  273. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  274. package/lib/esm/BlobContainerService.js +15 -0
  275. package/lib/esm/BlobContainerService.js.map +1 -0
  276. package/lib/esm/BriefcaseManager.d.ts +213 -0
  277. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  278. package/lib/esm/BriefcaseManager.js +520 -0
  279. package/lib/esm/BriefcaseManager.js.map +1 -0
  280. package/lib/esm/CatalogDb.d.ts +103 -0
  281. package/lib/esm/CatalogDb.d.ts.map +1 -0
  282. package/lib/esm/CatalogDb.js +267 -0
  283. package/lib/esm/CatalogDb.js.map +1 -0
  284. package/lib/esm/Category.d.ts +136 -0
  285. package/lib/esm/Category.d.ts.map +1 -0
  286. package/lib/esm/Category.js +224 -0
  287. package/lib/esm/Category.js.map +1 -0
  288. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  289. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  290. package/lib/esm/ChangeSummaryManager.js +421 -0
  291. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  292. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  293. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  294. package/lib/esm/ChangedElementsDb.js +165 -0
  295. package/lib/esm/ChangedElementsDb.js.map +1 -0
  296. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  297. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  298. package/lib/esm/ChangesetECAdaptor.js +815 -0
  299. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  300. package/lib/esm/ChannelControl.d.ts +68 -0
  301. package/lib/esm/ChannelControl.d.ts.map +1 -0
  302. package/lib/esm/ChannelControl.js +15 -0
  303. package/lib/esm/ChannelControl.js.map +1 -0
  304. package/lib/esm/CheckpointManager.d.ts +118 -0
  305. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  306. package/lib/esm/CheckpointManager.js +321 -0
  307. package/lib/esm/CheckpointManager.js.map +1 -0
  308. package/lib/esm/ClassRegistry.d.ts +134 -0
  309. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  310. package/lib/esm/ClassRegistry.js +324 -0
  311. package/lib/esm/ClassRegistry.js.map +1 -0
  312. package/lib/esm/CloudSqlite.d.ts +766 -0
  313. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  314. package/lib/esm/CloudSqlite.js +622 -0
  315. package/lib/esm/CloudSqlite.js.map +1 -0
  316. package/lib/esm/CodeService.d.ts +402 -0
  317. package/lib/esm/CodeService.d.ts.map +1 -0
  318. package/lib/esm/CodeService.js +65 -0
  319. package/lib/esm/CodeService.js.map +1 -0
  320. package/lib/esm/CodeSpecs.d.ts +59 -0
  321. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  322. package/lib/esm/CodeSpecs.js +152 -0
  323. package/lib/esm/CodeSpecs.js.map +1 -0
  324. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  325. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  326. package/lib/esm/ConcurrentQuery.js +33 -0
  327. package/lib/esm/ConcurrentQuery.js.map +1 -0
  328. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  329. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  330. package/lib/esm/CustomViewState3dCreator.js +78 -0
  331. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  332. package/lib/esm/DevTools.d.ts +73 -0
  333. package/lib/esm/DevTools.d.ts.map +1 -0
  334. package/lib/esm/DevTools.js +153 -0
  335. package/lib/esm/DevTools.js.map +1 -0
  336. package/lib/esm/DisplayStyle.d.ts +99 -0
  337. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  338. package/lib/esm/DisplayStyle.js +264 -0
  339. package/lib/esm/DisplayStyle.js.map +1 -0
  340. package/lib/esm/ECDb.d.ts +206 -0
  341. package/lib/esm/ECDb.d.ts.map +1 -0
  342. package/lib/esm/ECDb.js +410 -0
  343. package/lib/esm/ECDb.js.map +1 -0
  344. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  345. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  346. package/lib/esm/ECSchemaXmlContext.js +66 -0
  347. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  348. package/lib/esm/ECSqlStatement.d.ts +671 -0
  349. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  350. package/lib/esm/ECSqlStatement.js +1028 -0
  351. package/lib/esm/ECSqlStatement.js.map +1 -0
  352. package/lib/esm/Element.d.ts +999 -0
  353. package/lib/esm/Element.d.ts.map +1 -0
  354. package/lib/esm/Element.js +1375 -0
  355. package/lib/esm/Element.js.map +1 -0
  356. package/lib/esm/ElementAspect.d.ts +164 -0
  357. package/lib/esm/ElementAspect.d.ts.map +1 -0
  358. package/lib/esm/ElementAspect.js +205 -0
  359. package/lib/esm/ElementAspect.js.map +1 -0
  360. package/lib/esm/ElementGraphics.d.ts +7 -0
  361. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  362. package/lib/esm/ElementGraphics.js +36 -0
  363. package/lib/esm/ElementGraphics.js.map +1 -0
  364. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  365. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  366. package/lib/esm/ElementTreeWalker.js +425 -0
  367. package/lib/esm/ElementTreeWalker.js.map +1 -0
  368. package/lib/esm/Entity.d.ts +146 -0
  369. package/lib/esm/Entity.d.ts.map +1 -0
  370. package/lib/esm/Entity.js +186 -0
  371. package/lib/esm/Entity.js.map +1 -0
  372. package/lib/esm/EntityReferences.d.ts +50 -0
  373. package/lib/esm/EntityReferences.d.ts.map +1 -0
  374. package/lib/esm/EntityReferences.js +92 -0
  375. package/lib/esm/EntityReferences.js.map +1 -0
  376. package/lib/esm/ExportGraphics.d.ts +318 -0
  377. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  378. package/lib/esm/ExportGraphics.js +209 -0
  379. package/lib/esm/ExportGraphics.js.map +1 -0
  380. package/lib/esm/ExternalSource.d.ts +89 -0
  381. package/lib/esm/ExternalSource.d.ts.map +1 -0
  382. package/lib/esm/ExternalSource.js +139 -0
  383. package/lib/esm/ExternalSource.js.map +1 -0
  384. package/lib/esm/FontFile.d.ts +68 -0
  385. package/lib/esm/FontFile.d.ts.map +1 -0
  386. package/lib/esm/FontFile.js +33 -0
  387. package/lib/esm/FontFile.js.map +1 -0
  388. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  389. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  390. package/lib/esm/GeoCoordConfig.js +78 -0
  391. package/lib/esm/GeoCoordConfig.js.map +1 -0
  392. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  393. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  394. package/lib/esm/GeographicCRSServices.js +17 -0
  395. package/lib/esm/GeographicCRSServices.js.map +1 -0
  396. package/lib/esm/GeometrySummary.d.ts +5 -0
  397. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  398. package/lib/esm/GeometrySummary.js +381 -0
  399. package/lib/esm/GeometrySummary.js.map +1 -0
  400. package/lib/esm/IModelDb.d.ts +1407 -0
  401. package/lib/esm/IModelDb.d.ts.map +1 -0
  402. package/lib/esm/IModelDb.js +3267 -0
  403. package/lib/esm/IModelDb.js.map +1 -0
  404. package/lib/esm/IModelDbFonts.d.ts +54 -0
  405. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  406. package/lib/esm/IModelDbFonts.js +9 -0
  407. package/lib/esm/IModelDbFonts.js.map +1 -0
  408. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  409. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  410. package/lib/esm/IModelElementCloneContext.js +168 -0
  411. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  412. package/lib/esm/IModelHost.d.ts +387 -0
  413. package/lib/esm/IModelHost.d.ts.map +1 -0
  414. package/lib/esm/IModelHost.js +502 -0
  415. package/lib/esm/IModelHost.js.map +1 -0
  416. package/lib/esm/IModelJsFs.d.ts +62 -0
  417. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  418. package/lib/esm/IModelJsFs.js +151 -0
  419. package/lib/esm/IModelJsFs.js.map +1 -0
  420. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  421. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  422. package/lib/esm/ImageSourceConversion.js +33 -0
  423. package/lib/esm/ImageSourceConversion.js.map +1 -0
  424. package/lib/esm/IpcHost.d.ts +111 -0
  425. package/lib/esm/IpcHost.d.ts.map +1 -0
  426. package/lib/esm/IpcHost.js +292 -0
  427. package/lib/esm/IpcHost.js.map +1 -0
  428. package/lib/esm/LineStyle.d.ts +312 -0
  429. package/lib/esm/LineStyle.d.ts.map +1 -0
  430. package/lib/esm/LineStyle.js +293 -0
  431. package/lib/esm/LineStyle.js.map +1 -0
  432. package/lib/esm/LocalHub.d.ts +163 -0
  433. package/lib/esm/LocalHub.d.ts.map +1 -0
  434. package/lib/esm/LocalHub.js +583 -0
  435. package/lib/esm/LocalHub.js.map +1 -0
  436. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  437. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  438. package/lib/esm/LocalhostIpcHost.js +74 -0
  439. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  440. package/lib/esm/LockControl.d.ts +73 -0
  441. package/lib/esm/LockControl.d.ts.map +1 -0
  442. package/lib/esm/LockControl.js +9 -0
  443. package/lib/esm/LockControl.js.map +1 -0
  444. package/lib/esm/Material.d.ts +131 -0
  445. package/lib/esm/Material.d.ts.map +1 -0
  446. package/lib/esm/Material.js +235 -0
  447. package/lib/esm/Material.js.map +1 -0
  448. package/lib/esm/Model.d.ts +375 -0
  449. package/lib/esm/Model.d.ts.map +1 -0
  450. package/lib/esm/Model.js +484 -0
  451. package/lib/esm/Model.js.map +1 -0
  452. package/lib/esm/NativeAppStorage.d.ts +52 -0
  453. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  454. package/lib/esm/NativeAppStorage.js +205 -0
  455. package/lib/esm/NativeAppStorage.js.map +1 -0
  456. package/lib/esm/NativeHost.d.ts +53 -0
  457. package/lib/esm/NativeHost.d.ts.map +1 -0
  458. package/lib/esm/NativeHost.js +161 -0
  459. package/lib/esm/NativeHost.js.map +1 -0
  460. package/lib/esm/NavigationRelationship.d.ts +185 -0
  461. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  462. package/lib/esm/NavigationRelationship.js +238 -0
  463. package/lib/esm/NavigationRelationship.js.map +1 -0
  464. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  465. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  466. package/lib/esm/PromiseMemoizer.js +101 -0
  467. package/lib/esm/PromiseMemoizer.js.map +1 -0
  468. package/lib/esm/PropertyStore.d.ts +134 -0
  469. package/lib/esm/PropertyStore.d.ts.map +1 -0
  470. package/lib/esm/PropertyStore.js +177 -0
  471. package/lib/esm/PropertyStore.js.map +1 -0
  472. package/lib/esm/Relationship.d.ts +399 -0
  473. package/lib/esm/Relationship.d.ts.map +1 -0
  474. package/lib/esm/Relationship.js +476 -0
  475. package/lib/esm/Relationship.js.map +1 -0
  476. package/lib/esm/RpcBackend.d.ts +6 -0
  477. package/lib/esm/RpcBackend.d.ts.map +1 -0
  478. package/lib/esm/RpcBackend.js +28 -0
  479. package/lib/esm/RpcBackend.js.map +1 -0
  480. package/lib/esm/SQLiteDb.d.ts +324 -0
  481. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  482. package/lib/esm/SQLiteDb.js +380 -0
  483. package/lib/esm/SQLiteDb.js.map +1 -0
  484. package/lib/esm/Schema.d.ts +79 -0
  485. package/lib/esm/Schema.d.ts.map +1 -0
  486. package/lib/esm/Schema.js +113 -0
  487. package/lib/esm/Schema.js.map +1 -0
  488. package/lib/esm/SchemaSync.d.ts +47 -0
  489. package/lib/esm/SchemaSync.d.ts.map +1 -0
  490. package/lib/esm/SchemaSync.js +148 -0
  491. package/lib/esm/SchemaSync.js.map +1 -0
  492. package/lib/esm/SchemaUtils.d.ts +19 -0
  493. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  494. package/lib/esm/SchemaUtils.js +37 -0
  495. package/lib/esm/SchemaUtils.js.map +1 -0
  496. package/lib/esm/SheetIndex.d.ts +148 -0
  497. package/lib/esm/SheetIndex.d.ts.map +1 -0
  498. package/lib/esm/SheetIndex.js +228 -0
  499. package/lib/esm/SheetIndex.js.map +1 -0
  500. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  501. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  502. package/lib/esm/SqliteChangesetReader.js +337 -0
  503. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  504. package/lib/esm/SqliteStatement.d.ts +375 -0
  505. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  506. package/lib/esm/SqliteStatement.js +615 -0
  507. package/lib/esm/SqliteStatement.js.map +1 -0
  508. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  509. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  510. package/lib/esm/TextAnnotationElement.js +89 -0
  511. package/lib/esm/TextAnnotationElement.js.map +1 -0
  512. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  513. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  514. package/lib/esm/TextAnnotationGeometry.js +181 -0
  515. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  516. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  517. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  518. package/lib/esm/TextAnnotationLayout.js +513 -0
  519. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  520. package/lib/esm/Texture.d.ts +58 -0
  521. package/lib/esm/Texture.d.ts.map +1 -0
  522. package/lib/esm/Texture.js +81 -0
  523. package/lib/esm/Texture.js.map +1 -0
  524. package/lib/esm/TileStorage.d.ts +59 -0
  525. package/lib/esm/TileStorage.d.ts.map +1 -0
  526. package/lib/esm/TileStorage.js +158 -0
  527. package/lib/esm/TileStorage.js.map +1 -0
  528. package/lib/esm/TxnManager.d.ts +296 -0
  529. package/lib/esm/TxnManager.d.ts.map +1 -0
  530. package/lib/esm/TxnManager.js +619 -0
  531. package/lib/esm/TxnManager.js.map +1 -0
  532. package/lib/esm/ViewDefinition.d.ts +392 -0
  533. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  534. package/lib/esm/ViewDefinition.js +638 -0
  535. package/lib/esm/ViewDefinition.js.map +1 -0
  536. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  537. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  538. package/lib/esm/ViewStateHydrator.js +89 -0
  539. package/lib/esm/ViewStateHydrator.js.map +1 -0
  540. package/lib/esm/ViewStore.d.ts +502 -0
  541. package/lib/esm/ViewStore.d.ts.map +1 -0
  542. package/lib/esm/ViewStore.js +1260 -0
  543. package/lib/esm/ViewStore.js.map +1 -0
  544. package/lib/esm/core-backend.d.ts +183 -0
  545. package/lib/esm/core-backend.d.ts.map +1 -0
  546. package/lib/esm/core-backend.js +187 -0
  547. package/lib/esm/core-backend.js.map +1 -0
  548. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  549. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  550. package/lib/esm/domains/FunctionalElements.js +117 -0
  551. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  552. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  553. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  554. package/lib/esm/domains/FunctionalSchema.js +37 -0
  555. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  556. package/lib/esm/domains/GenericElements.d.ts +160 -0
  557. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  558. package/lib/esm/domains/GenericElements.js +225 -0
  559. package/lib/esm/domains/GenericElements.js.map +1 -0
  560. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  561. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  562. package/lib/esm/domains/GenericSchema.js +25 -0
  563. package/lib/esm/domains/GenericSchema.js.map +1 -0
  564. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  565. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  566. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  567. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  568. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  569. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  570. package/lib/esm/internal/ChannelAdmin.js +116 -0
  571. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  572. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  573. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  574. package/lib/esm/internal/FontFileImpl.js +135 -0
  575. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  576. package/lib/esm/internal/HubMock.d.ts +94 -0
  577. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  578. package/lib/esm/internal/HubMock.js +242 -0
  579. package/lib/esm/internal/HubMock.js.map +1 -0
  580. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  581. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  582. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  583. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  584. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  585. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  586. package/lib/esm/internal/NativePlatform.js +43 -0
  587. package/lib/esm/internal/NativePlatform.js.map +1 -0
  588. package/lib/esm/internal/NoLocks.d.ts +6 -0
  589. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  590. package/lib/esm/internal/NoLocks.js +24 -0
  591. package/lib/esm/internal/NoLocks.js.map +1 -0
  592. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  593. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  594. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  595. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  596. package/lib/esm/internal/Symbols.d.ts +19 -0
  597. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  598. package/lib/esm/internal/Symbols.js +26 -0
  599. package/lib/esm/internal/Symbols.js.map +1 -0
  600. package/lib/esm/internal/cross-package.d.ts +4 -0
  601. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  602. package/lib/esm/internal/cross-package.js +8 -0
  603. package/lib/esm/internal/cross-package.js.map +1 -0
  604. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  605. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  606. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  607. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  608. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  609. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  610. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  611. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  612. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +27 -0
  613. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  614. package/lib/esm/internal/workspace/WorkspaceImpl.js +627 -0
  615. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  616. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  617. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  618. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  619. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  620. package/lib/esm/rpc/multipart.d.ts +12 -0
  621. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  622. package/lib/esm/rpc/multipart.js +67 -0
  623. package/lib/esm/rpc/multipart.js.map +1 -0
  624. package/lib/esm/rpc/tracing.d.ts +29 -0
  625. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  626. package/lib/esm/rpc/tracing.js +71 -0
  627. package/lib/esm/rpc/tracing.js.map +1 -0
  628. package/lib/esm/rpc/web/logging.d.ts +10 -0
  629. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  630. package/lib/esm/rpc/web/logging.js +41 -0
  631. package/lib/esm/rpc/web/logging.js.map +1 -0
  632. package/lib/esm/rpc/web/request.d.ts +7 -0
  633. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  634. package/lib/esm/rpc/web/request.js +71 -0
  635. package/lib/esm/rpc/web/request.js.map +1 -0
  636. package/lib/esm/rpc/web/response.d.ts +7 -0
  637. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  638. package/lib/esm/rpc/web/response.js +136 -0
  639. package/lib/esm/rpc/web/response.js.map +1 -0
  640. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  641. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  642. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  643. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  644. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  645. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  646. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +314 -0
  647. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  648. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  649. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  650. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  651. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  652. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  653. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  654. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +155 -0
  655. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  656. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  657. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  658. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  659. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  660. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  661. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  662. package/lib/esm/test/AdvancedEqual.js +67 -0
  663. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  664. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  665. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  666. package/lib/esm/test/AttachDb.test.js +157 -0
  667. package/lib/esm/test/AttachDb.test.js.map +1 -0
  668. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  669. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  670. package/lib/esm/test/GeometryTestUtil.js +25 -0
  671. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  672. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  673. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  674. package/lib/esm/test/IModelHost.test.js +187 -0
  675. package/lib/esm/test/IModelHost.test.js.map +1 -0
  676. package/lib/esm/test/IModelTestUtils.d.ts +177 -0
  677. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  678. package/lib/esm/test/IModelTestUtils.js +1146 -0
  679. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  680. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  681. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  682. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  683. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  684. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  685. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  686. package/lib/esm/test/IpcHost.test.js +55 -0
  687. package/lib/esm/test/IpcHost.test.js.map +1 -0
  688. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  689. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  690. package/lib/esm/test/KnownTestLocations.js +27 -0
  691. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  692. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  693. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  694. package/lib/esm/test/PrintElementTree.js +36 -0
  695. package/lib/esm/test/PrintElementTree.js.map +1 -0
  696. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  697. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  698. package/lib/esm/test/PropertyDb.test.js +71 -0
  699. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  700. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  701. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  702. package/lib/esm/test/RevisionUtility.js +52 -0
  703. package/lib/esm/test/RevisionUtility.js.map +1 -0
  704. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  705. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  706. package/lib/esm/test/SchemaUtils.test.js +99 -0
  707. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  708. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  709. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  710. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  711. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  712. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  713. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  714. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  715. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  716. package/lib/esm/test/TestUtils.d.ts +38 -0
  717. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  718. package/lib/esm/test/TestUtils.js +99 -0
  719. package/lib/esm/test/TestUtils.js.map +1 -0
  720. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  721. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  722. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  723. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  724. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  725. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  726. package/lib/esm/test/categories/Category.test.js +51 -0
  727. package/lib/esm/test/categories/Category.test.js.map +1 -0
  728. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  729. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  730. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  731. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  732. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  733. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  734. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  735. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  736. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  737. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  738. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  739. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  740. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  741. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  742. package/lib/esm/test/ecdb/ECDb.test.js +653 -0
  743. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  744. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  745. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  746. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  747. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  748. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  749. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  750. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  751. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  752. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  753. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  754. package/lib/esm/test/ecdb/ECSqlAst.test.js +972 -0
  755. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  756. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  757. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  758. package/lib/esm/test/ecdb/ECSqlQuery.test.js +776 -0
  759. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  760. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  761. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  762. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  763. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  764. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  765. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  766. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3329 -0
  767. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  768. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  769. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  770. package/lib/esm/test/ecdb/SqliteStatement.test.js +510 -0
  771. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  772. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  773. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  774. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  775. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  776. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  777. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  778. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +197 -0
  779. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  780. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  781. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  782. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  783. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  784. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  785. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  786. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +369 -0
  787. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  788. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  789. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  790. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  791. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  792. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  793. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  794. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  795. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  796. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  797. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  798. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  799. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  800. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  801. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  802. package/lib/esm/test/element/ElementRoundTrip.test.js +926 -0
  803. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  804. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  805. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  806. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  807. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  808. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  809. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  810. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  811. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  812. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  813. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  814. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  815. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  816. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  817. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  818. package/lib/esm/test/element/UrlLink.test.js +36 -0
  819. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  820. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  821. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  822. package/lib/esm/test/font/FontFile.test.js +139 -0
  823. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  824. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  825. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  826. package/lib/esm/test/font/IModelDbFonts.test.js +266 -0
  827. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  828. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  829. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  830. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +176 -0
  831. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  832. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  833. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  834. package/lib/esm/test/hubaccess/CheckpointManager.test.js +52 -0
  835. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  836. package/lib/esm/test/imageData.d.ts +9 -0
  837. package/lib/esm/test/imageData.d.ts.map +1 -0
  838. package/lib/esm/test/imageData.js +16 -0
  839. package/lib/esm/test/imageData.js.map +1 -0
  840. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  841. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  842. package/lib/esm/test/imodel/ElementTreeWalker.test.js +383 -0
  843. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  844. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  845. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  846. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  847. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  848. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  849. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  850. package/lib/esm/test/imodel/IModel.test.js +2615 -0
  851. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  852. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  853. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  854. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  855. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  856. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  857. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  858. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  859. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  860. package/lib/esm/test/index.d.ts +7 -0
  861. package/lib/esm/test/index.d.ts.map +1 -0
  862. package/lib/esm/test/index.js +11 -0
  863. package/lib/esm/test/index.js.map +1 -0
  864. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  865. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  866. package/lib/esm/test/misc/DevTools.test.js +72 -0
  867. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  868. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  869. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  870. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  871. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  872. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  873. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  874. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  875. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  876. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  877. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  878. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  879. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  880. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  881. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  882. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  883. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  884. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  885. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  886. package/lib/esm/test/rpc/response.test.js +112 -0
  887. package/lib/esm/test/rpc/response.test.js.map +1 -0
  888. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  889. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  890. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  891. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  892. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  893. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  894. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  895. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  896. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  897. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  898. package/lib/esm/test/schema/GenericDomain.test.js +133 -0
  899. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  900. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  901. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  902. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  903. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  904. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  905. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  906. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  907. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  908. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  909. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  910. package/lib/esm/test/standalone/ChangeMerge.test.js +409 -0
  911. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  912. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  913. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  914. package/lib/esm/test/standalone/ChangesetReader.test.js +891 -0
  915. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  916. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  917. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  918. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  919. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  920. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  921. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  922. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  923. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  924. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  925. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  926. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  927. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  928. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  929. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  930. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  931. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  932. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  933. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  934. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  935. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  936. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  937. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  938. package/lib/esm/test/standalone/ExportGraphics.test.js +1005 -0
  939. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  940. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  941. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  942. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  943. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  944. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  945. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  946. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  947. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  948. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  949. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  950. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  951. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  952. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  953. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  954. package/lib/esm/test/standalone/IModelWrite.test.js +907 -0
  955. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  956. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  957. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  958. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  959. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  960. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  961. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  962. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  963. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  964. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  965. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  966. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  967. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  968. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  969. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  970. package/lib/esm/test/standalone/RenderMaterialElement.test.js +399 -0
  971. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  972. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  973. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  974. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  975. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  976. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  977. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  978. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  979. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  980. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  981. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  982. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  983. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  984. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  985. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  986. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  987. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  988. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  989. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  990. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  991. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  992. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  993. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  994. package/lib/esm/test/standalone/Setting.test.js +76 -0
  995. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  996. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  997. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  998. package/lib/esm/test/standalone/Settings.test.js +349 -0
  999. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1000. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1001. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1002. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1003. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1004. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1005. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1006. package/lib/esm/test/standalone/SnapshotDb.test.js +155 -0
  1007. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1008. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1009. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1010. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1011. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1012. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1013. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1014. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1015. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1016. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1017. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1018. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1019. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1020. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1021. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1022. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1023. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1024. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1025. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1026. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1027. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1028. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1029. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1030. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1031. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1032. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1033. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1034. package/lib/esm/test/standalone/Workspace.test.js +162 -0
  1035. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1036. package/lib/esm/workspace/Settings.d.ts +216 -0
  1037. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1038. package/lib/esm/workspace/Settings.js +83 -0
  1039. package/lib/esm/workspace/Settings.js.map +1 -0
  1040. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1041. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1042. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1043. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1044. package/lib/esm/workspace/Workspace.d.ts +500 -0
  1045. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1046. package/lib/esm/workspace/Workspace.js +97 -0
  1047. package/lib/esm/workspace/Workspace.js.map +1 -0
  1048. package/lib/esm/workspace/WorkspaceEditor.d.ts +240 -0
  1049. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1050. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1051. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1052. package/package.json +36 -28
  1053. package/lib/cjs/HubMock.d.ts.map +0 -1
  1054. package/lib/cjs/HubMock.js.map +0 -1
  1055. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1056. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1057. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -46,7 +46,10 @@ const WorkspaceImpl_1 = require("./internal/workspace/WorkspaceImpl");
46
46
  const SettingsImpl_1 = require("./internal/workspace/SettingsImpl");
47
47
  const NativePlatform_1 = require("./internal/NativePlatform");
48
48
  const NoLocks_1 = require("./internal/NoLocks");
49
+ const IModelDbFontsImpl_1 = require("./internal/IModelDbFontsImpl");
49
50
  const Symbols_1 = require("./internal/Symbols");
51
+ const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
52
+ const Schema_1 = require("./Schema");
50
53
  // spell:ignore fontid fontmap
51
54
  const loggerCategory = BackendLoggerCategory_1.BackendLoggerCategory.IModelDb;
52
55
  /** @internal */
@@ -85,10 +88,45 @@ class IModelSettings extends SettingsImpl_1.SettingsImpl {
85
88
  * @public
86
89
  */
87
90
  class IModelDb extends core_common_1.IModel {
91
+ _initialized = false;
92
+ /** Keep track of open imodels to support `tryFind` for RPC purposes */
93
+ static _openDbs = new Map();
94
+ static defaultLimit = 1000; // default limit for batching queries
95
+ static maxLimit = 10000; // maximum limit for batching queries
96
+ models = new IModelDb.Models(this);
97
+ elements = new IModelDb.Elements(this);
98
+ views = new IModelDb.Views(this);
99
+ tiles = new IModelDb.Tiles(this);
100
+ /** @beta */
101
+ channels = (0, ChannelAdmin_1.createChannelControl)(this);
102
+ _relationships;
103
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
104
+ _statementCache = new SqliteStatement_1.StatementCache();
105
+ _sqliteStatementCache = new SqliteStatement_1.StatementCache();
106
+ _codeSpecs;
107
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
108
+ _classMetaDataRegistry;
109
+ _jsClassMap;
110
+ _schemaMap;
111
+ _schemaContext;
112
+ /** @deprecated in 5.0.0. Use [[fonts]]. */
113
+ _fontMap; // eslint-disable-line @typescript-eslint/no-deprecated
114
+ _fonts = (0, IModelDbFontsImpl_1.createIModelDbFonts)(this);
115
+ _workspace;
116
+ _snaps = new Map();
117
+ static _shutdownListener; // so we only register listener once
118
+ /** @internal */
119
+ _locks = (0, NoLocks_1.createNoOpLockControl)();
120
+ /** @internal */
121
+ _codeService;
88
122
  /** @alpha */
89
123
  get codeService() { return this._codeService; }
90
124
  /** The [[LockControl]] that orchestrates [concurrent editing]($docs/learning/backend/ConcurrencyControl.md) of this iModel. */
91
125
  get locks() { return this._locks; } // eslint-disable-line @typescript-eslint/no-non-null-assertion
126
+ /** Provides methods for interacting with [font-related information]($docs/learning/backend/Fonts.md) stored in this iModel.
127
+ * @beta
128
+ */
129
+ get fonts() { return this._fonts; }
92
130
  /**
93
131
  * Get the [[Workspace]] for this iModel.
94
132
  * @beta
@@ -98,6 +136,13 @@ class IModelDb extends core_common_1.IModel {
98
136
  this._workspace = (0, WorkspaceImpl_1.constructWorkspace)(new IModelSettings());
99
137
  return this._workspace;
100
138
  }
139
+ /**
140
+ * get the cloud container for this iModel, if it was opened from one
141
+ * @beta
142
+ */
143
+ get cloudContainer() {
144
+ return this[Symbols_1._nativeDb].cloudContainer;
145
+ }
101
146
  /** Acquire the exclusive schema lock on this iModel.
102
147
  * @note: To acquire the schema lock, all other briefcases must first release *all* their locks. No other briefcases
103
148
  * will be able to acquire *any* locks while the schema lock is held.
@@ -109,6 +154,8 @@ class IModelDb extends core_common_1.IModel {
109
154
  get holdsSchemaLock() {
110
155
  return this.locks.holdsExclusiveLock(core_common_1.IModel.repositoryModelId);
111
156
  }
157
+ /** Event called after a changeset is applied to this IModelDb. */
158
+ onChangesetApplied = new core_bentley_1.BeEvent();
112
159
  /** @internal */
113
160
  notifyChangesetApplied() {
114
161
  this.changeset = this[Symbols_1._nativeDb].getCurrentChangeset();
@@ -118,25 +165,14 @@ class IModelDb extends core_common_1.IModel {
118
165
  restartDefaultTxn() {
119
166
  this[Symbols_1._nativeDb].restartDefaultTxn();
120
167
  }
168
+ /** @deprecated in 5.0.0. Use [[fonts]]. */
121
169
  get fontMap() {
122
- return this._fontMap ?? (this._fontMap = new core_common_1.FontMap(this[Symbols_1._nativeDb].readFontMap()));
170
+ return this._fontMap ?? (this._fontMap = new core_common_1.FontMap(this[Symbols_1._nativeDb].readFontMap())); // eslint-disable-line @typescript-eslint/no-deprecated
123
171
  }
124
172
  /** @internal */
125
173
  clearFontMap() {
126
- this._fontMap = undefined;
127
- }
128
- /**
129
- * Add a new font name/type to the FontMap for this iModel and return its FontId.
130
- * @param name The name of the font to add
131
- * @param type The type of the font. Default is TrueType.
132
- * @returns The FontId for the newly added font. If a font by that name/type already exists, this method does not fail, it returns the existing Id.
133
- * @see [FontId and FontMap]($docs/learning/backend/Fonts.md#fontid-and-fontmap)
134
- * @beta
135
- */
136
- addNewFont(name, type) {
137
- this.locks.checkExclusiveLock(core_common_1.IModel.repositoryModelId, "schema", "addNewFont");
138
- this.clearFontMap();
139
- return this[Symbols_1._nativeDb].addNewFont({ name, type: type ?? core_common_1.FontType.TrueType });
174
+ this._fontMap = undefined; // eslint-disable-line @typescript-eslint/no-deprecated
175
+ this[Symbols_1._nativeDb].invalidateFontMap();
140
176
  }
141
177
  /** Check if this iModel has been opened read-only or not. */
142
178
  get isReadonly() { return this.openMode === core_bentley_1.OpenMode.Readonly; }
@@ -145,10 +181,8 @@ class IModelDb extends core_common_1.IModel {
145
181
  (0, core_bentley_1.assert)(undefined !== super.iModelId);
146
182
  return super.iModelId;
147
183
  } // GuidString | undefined for the IModel superclass, but required for all IModelDb subclasses
148
- /** @internal
149
- * @deprecated in 4.8. This internal API will be removed in 5.0. Use IModelDb's public API instead.
150
- */
151
- get nativeDb() { return this[Symbols_1._nativeDb]; }
184
+ /** @internal*/
185
+ [Symbols_1._nativeDb];
152
186
  /** Get the full path fileName of this iModelDb
153
187
  * @note this member is only valid while the iModel is opened.
154
188
  */
@@ -164,22 +198,6 @@ class IModelDb extends core_common_1.IModel {
164
198
  /** @internal */
165
199
  constructor(args) {
166
200
  super({ ...args, iTwinId: args.nativeDb.getITwinId(), iModelId: args.nativeDb.getIModelId() });
167
- this._initialized = false;
168
- this.models = new IModelDb.Models(this);
169
- this.elements = new IModelDb.Elements(this);
170
- this.views = new IModelDb.Views(this);
171
- this.tiles = new IModelDb.Tiles(this);
172
- /** @beta */
173
- this.channels = (0, ChannelAdmin_1.createChannelControl)(this);
174
- this._statementCache = new SqliteStatement_1.StatementCache();
175
- this._sqliteStatementCache = new SqliteStatement_1.StatementCache();
176
- this._snaps = new Map();
177
- /** @internal */
178
- this._locks = (0, NoLocks_1.createNoOpLockControl)();
179
- /** Event called after a changeset is applied to this IModelDb. */
180
- this.onChangesetApplied = new core_bentley_1.BeEvent();
181
- /** Event called when the iModel is about to be closed. */
182
- this.onBeforeClose = new core_bentley_1.BeEvent();
183
201
  this[Symbols_1._nativeDb] = args.nativeDb;
184
202
  // it is illegal to create an IModelDb unless the nativeDb has been opened. Throw otherwise.
185
203
  if (!this.isOpen)
@@ -209,6 +227,40 @@ class IModelDb extends core_common_1.IModel {
209
227
  });
210
228
  }
211
229
  }
230
+ /**
231
+ * Attach an iModel file to this connection and load and register its schemas.
232
+ * @note There are some reserve tablespace names that cannot be used. They are 'main', 'schema_sync_db', 'ecchange' & 'temp'
233
+ * @param fileName IModel file name
234
+ * @param alias identifier for the attached file. This identifer is used to access schema from the attached file. e.g. if alias is 'abc' then schema can be accessed using 'abc.MySchema.MyClass'
235
+ *
236
+ * *Example:*
237
+ * ``` ts
238
+ * [[include:IModelDb_attachDb.code]]
239
+ * ```
240
+ */
241
+ attachDb(fileName, alias) {
242
+ if (alias.toLowerCase() === "main" || alias.toLowerCase() === "schema_sync_db" || alias.toLowerCase() === "ecchange" || alias.toLowerCase() === "temp") {
243
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "Reserved tablespace name cannot be used");
244
+ }
245
+ this[Symbols_1._nativeDb].attachDb(fileName, alias);
246
+ }
247
+ /**
248
+ * Detach the attached file from this connection. The attached file is closed and its schemas are unregistered.
249
+ * @note There are some reserve tablespace names that cannot be used. They are 'main', 'schema_sync_db', 'ecchange' & 'temp'
250
+ * @param alias identifer that was used in the call to [[attachDb]]
251
+ *
252
+ * *Example:*
253
+ * ``` ts
254
+ * [[include:IModelDb_attachDb.code]]
255
+ * ```
256
+ */
257
+ detachDb(alias) {
258
+ if (alias.toLowerCase() === "main" || alias.toLowerCase() === "schema_sync_db" || alias.toLowerCase() === "ecchange" || alias.toLowerCase() === "temp") {
259
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "Reserved tablespace name cannot be used");
260
+ }
261
+ this.clearCaches();
262
+ this[Symbols_1._nativeDb].detachDb(alias);
263
+ }
212
264
  /** Close this IModel, if it is currently open, and save changes if it was opened in ReadWrite mode. */
213
265
  close() {
214
266
  if (!this.isOpen)
@@ -226,6 +278,8 @@ class IModelDb extends core_common_1.IModel {
226
278
  }
227
279
  /** @internal */
228
280
  async refreshContainerForRpc(_userAccessToken) { }
281
+ /** Event called when the iModel is about to be closed. */
282
+ onBeforeClose = new core_bentley_1.BeEvent();
229
283
  /**
230
284
  * Called by derived classes before closing the connection
231
285
  * @internal
@@ -235,8 +289,8 @@ class IModelDb extends core_common_1.IModel {
235
289
  this.clearCaches();
236
290
  }
237
291
  /** @internal */
238
- initializeIModelDb() {
239
- const props = this[Symbols_1._nativeDb].getIModelProps();
292
+ initializeIModelDb(when) {
293
+ const props = this[Symbols_1._nativeDb].getIModelProps(when);
240
294
  super.initialize(props.rootSubject.name, props);
241
295
  if (this._initialized)
242
296
  return;
@@ -288,8 +342,11 @@ class IModelDb extends core_common_1.IModel {
288
342
  * @returns the value returned by `callback`.
289
343
  * @see [[withStatement]]
290
344
  * @public
345
+ * @deprecated in 4.11. Use [[createQueryReader]] instead.
291
346
  */
347
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
292
348
  withPreparedStatement(ecsql, callback, logErrors = true) {
349
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
293
350
  const stmt = this._statementCache.findAndRemove(ecsql) ?? this.prepareStatement(ecsql, logErrors);
294
351
  const release = () => this._statementCache.addOrDispose(stmt);
295
352
  try {
@@ -317,10 +374,13 @@ class IModelDb extends core_common_1.IModel {
317
374
  * @returns the value returned by `callback`.
318
375
  * @see [[withPreparedStatement]]
319
376
  * @public
377
+ * @deprecated in 4.11. Use [[createQueryReader]] instead.
320
378
  */
379
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
321
380
  withStatement(ecsql, callback, logErrors = true) {
381
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
322
382
  const stmt = this.prepareStatement(ecsql, logErrors);
323
- const release = () => stmt.dispose();
383
+ const release = () => stmt[Symbol.dispose]();
324
384
  try {
325
385
  const val = callback(stmt);
326
386
  if (val instanceof Promise) {
@@ -358,70 +418,6 @@ class IModelDb extends core_common_1.IModel {
358
418
  };
359
419
  return new core_common_1.ECSqlReader(executor, ecsql, params, config);
360
420
  }
361
- /** Execute a query and stream its results
362
- * The result of the query is async iterator over the rows. The iterator will get next page automatically once rows in current page has been read.
363
- * [ECSQL row]($docs/learning/ECSQLRowFormat).
364
- *
365
- * See also:
366
- * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
367
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
368
- *
369
- * @param ecsql The ECSQL statement to execute
370
- * @param params The values to bind to the parameters (if the ECSQL has any).
371
- * @param options Allow to specify certain flags which control how query is executed.
372
- * @returns Returns the query result as an *AsyncIterableIterator<any>* which lazy load result as needed. The row format is determined by *rowFormat* parameter.
373
- * See [ECSQL row format]($docs/learning/ECSQLRowFormat) for details about the format of the returned rows.
374
- * @throws [IModelError]($common) If there was any error while submitting, preparing or stepping into query
375
- * @deprecated in 3.7. Use [[createQueryReader]] instead; it accepts the same parameters.
376
- */
377
- async *query(ecsql, params, options) {
378
- const builder = new core_common_1.QueryOptionsBuilder(options);
379
- const reader = this.createQueryReader(ecsql, params, builder.getOptions());
380
- while (await reader.step())
381
- yield reader.formatCurrentRow();
382
- }
383
- /** Compute number of rows that would be returned by the ECSQL.
384
- *
385
- * See also:
386
- * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
387
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
388
- *
389
- * @param ecsql The ECSQL statement to execute
390
- * @param params The values to bind to the parameters (if the ECSQL has any).
391
- * See "[iTwin.js Types used in ECSQL Parameter Bindings]($docs/learning/ECSQLParameterTypes)" for details.
392
- * @returns Return row count.
393
- * @throws [IModelError]($common) If the statement is invalid
394
- * @deprecated in 3.7. Count the number of results using `count(*)` where the original query is a subquery instead. E.g., `SELECT count(*) FROM (<query-whose-rows-to-count>)`.
395
- */
396
- async queryRowCount(ecsql, params) {
397
- for await (const row of this.createQueryReader(`SELECT count(*) FROM (${ecsql})`, params)) {
398
- return row[0];
399
- }
400
- throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "Failed to get row count");
401
- }
402
- /** Cancel any previous query with same token and run execute the current specified query.
403
- * The result of the query is async iterator over the rows. The iterator will get next page automatically once rows in current page has been read.
404
- * [ECSQL row]($docs/learning/ECSQLRowFormat).
405
- *
406
- * See also:
407
- * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
408
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
409
- *
410
- * @param ecsql The ECSQL statement to execute
411
- * @param token None empty restart token. The previous query with same token would be cancelled. This would cause
412
- * exception which user code must handle.
413
- * @param params The values to bind to the parameters (if the ECSQL has any).
414
- * @param options Allow to specify certain flags which control how query is executed.
415
- * @returns Returns the query result as an *AsyncIterableIterator<any>* which lazy load result as needed. The row format is determined by *rowFormat* parameter.
416
- * See [ECSQL row format]($docs/learning/ECSQLRowFormat) for details about the format of the returned rows.
417
- * @throws [IModelError]($common) If there was any error while submitting, preparing or stepping into query
418
- * @deprecated in 3.7. Use [[createQueryReader]] instead. Pass in the restart token as part of the `config` argument; e.g., `{ restartToken: myToken }` or `new QueryOptionsBuilder().setRestartToken(myToken).getOptions()`.
419
- */
420
- async *restartQuery(token, ecsql, params, options) {
421
- for await (const row of this.createQueryReader(ecsql, params, new core_common_1.QueryOptionsBuilder(options).setRestartToken(token).getOptions())) {
422
- yield row;
423
- }
424
- }
425
421
  /**
426
422
  * Use a prepared SQL statement, potentially from the statement cache. If the requested statement doesn't exist
427
423
  * in the statement cache, a new statement is prepared. After the callback completes, the statement is reset and saved
@@ -465,7 +461,7 @@ class IModelDb extends core_common_1.IModel {
465
461
  */
466
462
  withSqliteStatement(sql, callback, logErrors = true) {
467
463
  const stmt = this.prepareSqliteStatement(sql, logErrors);
468
- const release = () => stmt.dispose();
464
+ const release = () => stmt[Symbol.dispose]();
469
465
  try {
470
466
  const val = callback(stmt);
471
467
  if (val instanceof Promise) {
@@ -560,6 +556,7 @@ class IModelDb extends core_common_1.IModel {
560
556
  if (typeof params.offset === "number" && params.offset > 0)
561
557
  sql += ` OFFSET ${params.offset}`;
562
558
  const ids = new Set();
559
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
563
560
  this.withPreparedStatement(sql, (stmt) => {
564
561
  if (params.bindings)
565
562
  stmt.bindValues(params.bindings);
@@ -579,6 +576,9 @@ class IModelDb extends core_common_1.IModel {
579
576
  this._statementCache.clear();
580
577
  this._sqliteStatementCache.clear();
581
578
  this._classMetaDataRegistry = undefined;
579
+ this._jsClassMap = undefined;
580
+ this._schemaMap = undefined;
581
+ this._schemaContext = undefined;
582
582
  }
583
583
  /** Update the project extents for this iModel.
584
584
  * <p><em>Example:</em>
@@ -617,9 +617,11 @@ class IModelDb extends core_common_1.IModel {
617
617
  updateIModelProps() {
618
618
  this[Symbols_1._nativeDb].updateIModelProps(this.toJSON());
619
619
  }
620
- /** Commit pending changes to this iModel.
620
+ /** Commit unsaved changes in memory as a Txn to this iModelDb.
621
621
  * @param description Optional description of the changes
622
622
  * @throws [[IModelError]] if there is a problem saving changes or if there are pending, un-processed lock or code requests.
623
+ * @note This will not push changes to the iModelHub.
624
+ * @see [[IModelDb.pushChanges]] to push changes to the iModelHub.
623
625
  */
624
626
  saveChanges(description) {
625
627
  if (this.openMode === core_bentley_1.OpenMode.Readonly)
@@ -628,7 +630,9 @@ class IModelDb extends core_common_1.IModel {
628
630
  if (core_bentley_1.DbResult.BE_SQLITE_OK !== stat)
629
631
  throw new core_common_1.IModelError(stat, `Could not save changes (${description})`);
630
632
  }
631
- /** Abandon pending changes in this iModel. */
633
+ /** Abandon changes in memory that have not been saved as a Txn to this iModelDb.
634
+ * @note This will not delete Txns that have already been saved, even if they have not yet been pushed.
635
+ */
632
636
  abandonChanges() {
633
637
  this[Symbols_1._nativeDb].abandonChanges();
634
638
  }
@@ -873,12 +877,54 @@ class IModelDb extends core_common_1.IModel {
873
877
  }
874
878
  /** The registry of entity metadata for this iModel.
875
879
  * @internal
880
+ * @deprecated in 5.0. Please use `schemaContext` from the `iModel` instead.
881
+ *
882
+ * @example
883
+ * ```typescript
884
+ * // Current usage:
885
+ * const classMetaData: EntityMetaData | undefined = iModel.classMetaDataRegistry.find("SchemaName:ClassName");
886
+ *
887
+ * // Replacement:
888
+ * const metaData: EntityClass | undefined = imodel.schemaContext.getSchemaItemSync("SchemaName.ClassName", EntityClass);
889
+ * ```
876
890
  */
891
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
877
892
  get classMetaDataRegistry() {
878
893
  if (this._classMetaDataRegistry === undefined)
894
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
879
895
  this._classMetaDataRegistry = new ClassRegistry_1.MetaDataRegistry();
880
896
  return this._classMetaDataRegistry;
881
897
  }
898
+ /**
899
+ * Allows registering js classes mapped to ECClasses
900
+ */
901
+ get jsClassMap() {
902
+ if (this._jsClassMap === undefined)
903
+ this._jsClassMap = new ClassRegistry_1.EntityJsClassMap();
904
+ return this._jsClassMap;
905
+ }
906
+ /**
907
+ * Allows locally registering a schema for this imodel, in constrast to [Schemas.registerSchema] which is a global operation
908
+ */
909
+ get schemaMap() {
910
+ if (this._schemaMap === undefined)
911
+ this._schemaMap = new Schema_1.SchemaMap();
912
+ return this._schemaMap;
913
+ }
914
+ /**
915
+ * Gets the context that allows accessing the metadata (ecschema-metadata package) of this iModel
916
+ * @public @preview
917
+ */
918
+ get schemaContext() {
919
+ if (this._schemaContext === undefined) {
920
+ const context = new ecschema_metadata_1.SchemaContext();
921
+ // TODO: We probably need a more optimized locater for here
922
+ const locater = new ecschema_metadata_1.SchemaJsonLocater((name) => this.getSchemaProps(name));
923
+ context.addLocater(locater);
924
+ this._schemaContext = context;
925
+ }
926
+ return this._schemaContext;
927
+ }
882
928
  /** Get the linkTableRelationships for this IModel */
883
929
  get relationships() {
884
930
  return this._relationships || (this._relationships = new Relationship_1.Relationships(this));
@@ -891,8 +937,11 @@ class IModelDb extends core_common_1.IModel {
891
937
  * @param sql The ECSQL statement to prepare
892
938
  * @param logErrors Determines if error will be logged if statement fail to prepare
893
939
  * @throws [[IModelError]] if there is a problem preparing the statement.
940
+ * @deprecated in 4.11. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
894
941
  */
942
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
895
943
  prepareStatement(sql, logErrors = true) {
944
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
896
945
  const stmt = new ECSqlStatement_1.ECSqlStatement();
897
946
  stmt.prepare(this[Symbols_1._nativeDb], sql, logErrors);
898
947
  return stmt;
@@ -900,8 +949,11 @@ class IModelDb extends core_common_1.IModel {
900
949
  /** Prepare an ECSQL statement.
901
950
  * @param sql The ECSQL statement to prepare
902
951
  * @returns `undefined` if there is a problem preparing the statement.
952
+ * @deprecated in 4.11. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
903
953
  */
954
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
904
955
  tryPrepareStatement(sql) {
956
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
905
957
  const statement = new ECSqlStatement_1.ECSqlStatement();
906
958
  const result = statement.tryPrepare(this[Symbols_1._nativeDb], sql);
907
959
  return core_bentley_1.DbResult.BE_SQLITE_OK === result.status ? statement : undefined;
@@ -922,26 +974,54 @@ class IModelDb extends core_common_1.IModel {
922
974
  if (!ClassRegistry_1.ClassRegistry.isNotFoundError(err)) {
923
975
  throw err;
924
976
  }
977
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
925
978
  this.loadMetaData(classFullName);
926
979
  return ClassRegistry_1.ClassRegistry.getClass(classFullName, this);
927
980
  }
928
981
  }
929
982
  /** Get metadata for a class. This method will load the metadata from the iModel into the cache as a side-effect, if necessary.
930
983
  * @throws [[IModelError]] if the metadata cannot be found nor loaded.
984
+ * @deprecated in 5.0. Please use `getSchemaItem` from `SchemaContext` class instead.
985
+ *
986
+ * @example
987
+ * * ```typescript
988
+ * // Current usage:
989
+ * const metaData: EntityMetaData = imodel.getMetaData("SchemaName:ClassName");
990
+ *
991
+ * // Replacement:
992
+ * const metaData: EntityClass | undefined = imodel.schemaContext.getSchemaItemSync("SchemaName", "ClassName", EntityClass);
993
+ * ```
931
994
  */
995
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
932
996
  getMetaData(classFullName) {
997
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
933
998
  let metadata = this.classMetaDataRegistry.find(classFullName);
934
999
  if (metadata === undefined) {
1000
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
935
1001
  this.loadMetaData(classFullName);
1002
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
936
1003
  metadata = this.classMetaDataRegistry.find(classFullName);
937
1004
  if (metadata === undefined)
938
1005
  throw ClassRegistry_1.ClassRegistry.makeMetaDataNotFoundError(classFullName); // do not log
939
1006
  }
940
1007
  return metadata;
941
1008
  }
942
- /** Identical to [[getMetaData]], except it returns `undefined` instead of throwing an error if the metadata cannot be found nor loaded. */
1009
+ /** Identical to [[getMetaData]], except it returns `undefined` instead of throwing an error if the metadata cannot be found nor loaded.
1010
+ * @deprecated in 5.0. Please use `getSchemaItem` from `SchemaContext` class instead.
1011
+ *
1012
+ * @example
1013
+ * * ```typescript
1014
+ * // Current usage:
1015
+ * const metaData: EntityMetaData | undefined = imodel.tryGetMetaData("SchemaName:ClassName");
1016
+ *
1017
+ * // Replacement:
1018
+ * const metaData: EntityClass | undefined = imodel.schemaContext.getSchemaItemSync("SchemaName.ClassName", EntityClass);
1019
+ * ```
1020
+ */
1021
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
943
1022
  tryGetMetaData(classFullName) {
944
1023
  try {
1024
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
945
1025
  return this.getMetaData(classFullName);
946
1026
  }
947
1027
  catch {
@@ -955,8 +1035,24 @@ class IModelDb extends core_common_1.IModel {
955
1035
  * @param func The callback to be invoked on each property
956
1036
  * @param includeCustom If true (default), include custom-handled properties in the iteration. Otherwise, skip custom-handled properties.
957
1037
  * @note Custom-handled properties are core properties that have behavior enforced by C++ handlers.
1038
+ * @deprecated in 5.0. Please use `forEachProperty` instead.
1039
+ *
1040
+ * @example
1041
+ * ```typescript
1042
+ * // Current usage:
1043
+ * IModelDb.forEachMetaData(imodel, "BisCore:Element", true, (name: string, propMetaData: PropertyMetaData) => {
1044
+ * console.log(`Property name: ${name}, Property type: ${propMetaData.primitiveType}`);
1045
+ * }, false);
1046
+ *
1047
+ * // Replacement:
1048
+ * await IModelDb.forEachProperty(imodel, "TestDomain.TestDomainClass", true, (propName: string, property: Property) => {
1049
+ * console.log(`Property name: ${propName}, Property type: ${property.propertyType}`);
1050
+ * }, false);
1051
+ * ```
958
1052
  */
1053
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
959
1054
  static forEachMetaData(iModel, classFullName, wantSuper, func, includeCustom = true) {
1055
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
960
1056
  iModel.forEachMetaData(classFullName, wantSuper, func, includeCustom);
961
1057
  }
962
1058
  /** Invoke a callback on each property of the specified class, optionally including superclass properties.
@@ -965,8 +1061,24 @@ class IModelDb extends core_common_1.IModel {
965
1061
  * @param func The callback to be invoked on each property
966
1062
  * @param includeCustom If true (default), include custom-handled properties in the iteration. Otherwise, skip custom-handled properties.
967
1063
  * @note Custom-handled properties are core properties that have behavior enforced by C++ handlers.
1064
+ * @deprecated in 5.0. Use `forEachProperty` from `SchemaContext` class instead.
1065
+ *
1066
+ * @example
1067
+ * ```typescript
1068
+ * // Current usage:
1069
+ * iModel.forEachMetaData("BisCore:Element", true, (name: string, propMetaData: PropertyMetaData) => {
1070
+ * console.log(`Property name: ${name}, Property type: ${propMetaData.primitiveType}`);
1071
+ * });
1072
+ *
1073
+ * // Replacement:
1074
+ * imodel.schemaContext.forEachProperty("BisCore:Element", true, (propName: string, property: Property) => {
1075
+ * console.log(`Property name: ${propName}, Property type: ${property.propertyType}`);
1076
+ * });
1077
+ * ```
968
1078
  */
1079
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
969
1080
  forEachMetaData(classFullName, wantSuper, func, includeCustom = true) {
1081
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
970
1082
  const meta = this.getMetaData(classFullName); // will load if necessary
971
1083
  for (const propName in meta.properties) { // eslint-disable-line guard-for-in
972
1084
  const propMeta = meta.properties[propName];
@@ -974,10 +1086,15 @@ class IModelDb extends core_common_1.IModel {
974
1086
  func(propName, propMeta);
975
1087
  }
976
1088
  if (wantSuper && meta.baseClasses && meta.baseClasses.length > 0)
1089
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
977
1090
  meta.baseClasses.forEach((baseClass) => this.forEachMetaData(baseClass, true, func, includeCustom));
978
1091
  }
979
- /** @internal */
1092
+ /**
1093
+ * @internal
1094
+ * @deprecated in 5.0. Please use `schemaContext` from `iModel` instead to get metadata.
1095
+ */
980
1096
  loadMetaData(classFullName) {
1097
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
981
1098
  if (this.classMetaDataRegistry.find(classFullName))
982
1099
  return;
983
1100
  const className = classFullName.split(":");
@@ -987,10 +1104,13 @@ class IModelDb extends core_common_1.IModel {
987
1104
  if (val.error)
988
1105
  throw new core_common_1.IModelError(val.error.status, `Error getting class meta data for: ${classFullName}`);
989
1106
  (0, core_bentley_1.assert)(undefined !== val.result);
1107
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
990
1108
  const metaData = new core_common_1.EntityMetaData(JSON.parse(val.result));
1109
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
991
1110
  this.classMetaDataRegistry.add(classFullName, metaData);
992
1111
  // Recursive, to make sure that base classes are cached.
993
1112
  if (metaData.baseClasses !== undefined && metaData.baseClasses.length > 0)
1113
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
994
1114
  metaData.baseClasses.forEach((baseClassName) => this.loadMetaData(baseClassName));
995
1115
  }
996
1116
  /** Returns the full schema for the input name.
@@ -1016,6 +1136,7 @@ class IModelDb extends core_common_1.IModel {
1016
1136
  */
1017
1137
  querySchemaVersion(schemaName) {
1018
1138
  const sql = `SELECT VersionMajor,VersionWrite,VersionMinor FROM ECDbMeta.ECSchemaDef WHERE Name=:schemaName LIMIT 1`;
1139
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1019
1140
  return this.withPreparedStatement(sql, (statement) => {
1020
1141
  statement.bindString("schemaName", schemaName);
1021
1142
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) {
@@ -1192,6 +1313,7 @@ class IModelDb extends core_common_1.IModel {
1192
1313
  async generateElementGraphics(request) {
1193
1314
  return (0, ElementGraphics_1.generateElementGraphics)(request, this);
1194
1315
  }
1316
+ static _settingPropNamespace = "settings";
1195
1317
  /** Save a `SettingDictionary` in this iModel that will be loaded into [[workspace.settings]] every time this iModel is opened in future sessions.
1196
1318
  * @param name The name for the SettingDictionary. If a dictionary by that name already exists in the iModel, its value is replaced.
1197
1319
  * @param dict The SettingDictionary object to stringify and save.
@@ -1284,19 +1406,61 @@ class IModelDb extends core_common_1.IModel {
1284
1406
  justification: core_geometry_1.Range2d.fromJSON(props.justification),
1285
1407
  };
1286
1408
  }
1409
+ /** Writes the contents of a single ECSchema to a file on the local file system.
1410
+ * @beta
1411
+ */
1412
+ exportSchema(args) {
1413
+ processSchemaWriteStatus(this[Symbols_1._nativeDb].exportSchema(args.schemaName, args.outputDirectory, args.outputFileName));
1414
+ }
1415
+ /** Writes the contents of all ECSchemas in this iModel to files in a directory on the local file system.
1416
+ * @beta
1417
+ */
1418
+ exportSchemas(outputDirectory) {
1419
+ processSchemaWriteStatus(this[Symbols_1._nativeDb].exportSchemas(outputDirectory));
1420
+ }
1421
+ /** Attempt to simplify the geometry stream of a single [[GeometricElement]] or [[GeometryPart]] as specified by `args`.
1422
+ * @beta
1423
+ */
1424
+ simplifyElementGeometry(args) {
1425
+ return this[Symbols_1._nativeDb].simplifyElementGeometry(args);
1426
+ }
1427
+ /** Attempts to optimize all of the geometry in this iModel by identifying [[GeometryPart]]s that are referenced by exactly one
1428
+ * element's geometry stream. Each such reference is replaced by inserting the part's geometry directly into the element's geometry stream.
1429
+ * Then, the no-longer-used geometry part is deleted.
1430
+ * This can improve performance when a connector inadvertently creates large numbers of parts that are each only used once.
1431
+ * @beta
1432
+ */
1433
+ inlineGeometryParts() {
1434
+ return this[Symbols_1._nativeDb].inlineGeometryPartReferences();
1435
+ }
1436
+ /** Returns a string representation of the error that most recently arose during an operation on the underlying SQLite database.
1437
+ * If no errors have occurred, an empty string is returned.
1438
+ * Otherwise, a string of the format `message (code)` is returned, where `message` is a human-readable diagnostic string and `code` is an integer status code.
1439
+ * See [SQLite error codes and messages](https://www.sqlite.org/c3ref/errcode.html)
1440
+ * @note Do not rely upon this value or its specific contents in error handling logic. It is only intended for use in debugging.
1441
+ */
1442
+ getLastError() {
1443
+ return this[Symbols_1._nativeDb].getLastError();
1444
+ }
1287
1445
  }
1288
1446
  exports.IModelDb = IModelDb;
1289
- /** Keep track of open imodels to support `tryFind` for RPC purposes */
1290
- IModelDb._openDbs = new Map();
1291
- IModelDb.defaultLimit = 1000; // default limit for batching queries
1292
- IModelDb.maxLimit = 10000; // maximum limit for batching queries
1293
- IModelDb._settingPropNamespace = "settings";
1447
+ function processSchemaWriteStatus(status) {
1448
+ switch (status) {
1449
+ case 0 /* SchemaWriteStatus.Success */: return;
1450
+ case 1 /* SchemaWriteStatus.FailedToSaveXml */: throw new Error("Failed to save schema XML");
1451
+ case 2 /* SchemaWriteStatus.FailedToCreateXml */: throw new Error("Failed to create schema XML");
1452
+ case 3 /* SchemaWriteStatus.FailedToCreateJson */: throw new Error("Failed to create schema JSON");
1453
+ case 4 /* SchemaWriteStatus.FailedToWriteFile */: throw new Error("Failed to write schema file");
1454
+ default: throw new Error("Unknown error while exporting schema");
1455
+ }
1456
+ }
1294
1457
  /** @public */
1295
1458
  (function (IModelDb) {
1296
1459
  /** The collection of models in an [[IModelDb]].
1297
1460
  * @public
1298
1461
  */
1299
1462
  class Models {
1463
+ _iModel;
1300
1464
  /** @internal */
1301
1465
  constructor(_iModel) {
1302
1466
  this._iModel = _iModel;
@@ -1325,6 +1489,7 @@ IModelDb._settingPropNamespace = "settings";
1325
1489
  */
1326
1490
  queryLastModifiedTime(modelId) {
1327
1491
  const sql = `SELECT LastMod FROM ${Model_1.Model.classFullName} WHERE ECInstanceId=:modelId`;
1492
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1328
1493
  return this._iModel.withPreparedStatement(sql, (statement) => {
1329
1494
  statement.bindId("modelId", modelId);
1330
1495
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) {
@@ -1504,6 +1669,7 @@ IModelDb._settingPropNamespace = "settings";
1504
1669
  * @public
1505
1670
  */
1506
1671
  class Elements {
1672
+ _iModel;
1507
1673
  /** @internal */
1508
1674
  constructor(_iModel) {
1509
1675
  this._iModel = _iModel;
@@ -1635,6 +1801,7 @@ IModelDb._settingPropNamespace = "settings";
1635
1801
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidCodeSpec, "Invalid CodeSpec");
1636
1802
  if (code.value === undefined)
1637
1803
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidCode, "Invalid Code");
1804
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1638
1805
  return this._iModel.withPreparedStatement("SELECT ECInstanceId FROM BisCore:Element WHERE CodeSpec.Id=? AND CodeScope.Id=? AND CodeValue=?", (stmt) => {
1639
1806
  stmt.bindId(1, code.spec);
1640
1807
  stmt.bindId(2, core_bentley_1.Id64.fromString(code.scope));
@@ -1650,6 +1817,7 @@ IModelDb._settingPropNamespace = "settings";
1650
1817
  */
1651
1818
  queryLastModifiedTime(elementId) {
1652
1819
  const sql = "SELECT LastMod FROM BisCore:Element WHERE ECInstanceId=:elementId";
1820
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1653
1821
  return this._iModel.withPreparedStatement(sql, (statement) => {
1654
1822
  statement.bindId("elementId", elementId);
1655
1823
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step())
@@ -1671,9 +1839,9 @@ IModelDb._settingPropNamespace = "settings";
1671
1839
  * the value of `elProps.federationGuid` is *not* updated. Generally, it is best to re-read the element after inserting (e.g. via [[getElementProps]])
1672
1840
  * if you intend to continue working with it. That will ensure its values reflect the persistent state.
1673
1841
  */
1674
- insertElement(elProps) {
1842
+ insertElement(elProps, options) {
1675
1843
  try {
1676
- return elProps.id = this._iModel[Symbols_1._nativeDb].insertElement(elProps);
1844
+ return elProps.id = this._iModel[Symbols_1._nativeDb].insertElement(elProps, options);
1677
1845
  }
1678
1846
  catch (err) {
1679
1847
  err.message = `Error inserting element [${err.message}]`;
@@ -1801,6 +1969,7 @@ IModelDb._settingPropNamespace = "settings";
1801
1969
  */
1802
1970
  queryChildren(elementId) {
1803
1971
  const sql = "SELECT ECInstanceId FROM BisCore:Element WHERE Parent.Id=:elementId";
1972
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1804
1973
  return this._iModel.withPreparedStatement(sql, (statement) => {
1805
1974
  statement.bindId("elementId", elementId);
1806
1975
  const childIds = [];
@@ -1816,6 +1985,7 @@ IModelDb._settingPropNamespace = "settings";
1816
1985
  * @throws [[IModelError]] if the element does not exist
1817
1986
  */
1818
1987
  queryParent(elementId) {
1988
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1819
1989
  return this._iModel.withPreparedStatement(`select parent.id from ${Element_1.Element.classFullName} where ecinstanceid=?`, (stmt) => {
1820
1990
  stmt.bindId(1, elementId);
1821
1991
  if (stmt.step() !== core_bentley_1.DbResult.BE_SQLITE_ROW)
@@ -1832,6 +2002,7 @@ IModelDb._settingPropNamespace = "settings";
1832
2002
  return false; // Special case since the RepositoryModel does not sub-model the root Subject
1833
2003
  // A sub-model will have the same Id value as the element it is describing
1834
2004
  const sql = "SELECT ECInstanceId FROM BisCore:Model WHERE ECInstanceId=:elementId";
2005
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1835
2006
  return this._iModel.withPreparedStatement(sql, (statement) => {
1836
2007
  statement.bindId("elementId", elementId);
1837
2008
  return core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step();
@@ -1846,6 +2017,7 @@ IModelDb._settingPropNamespace = "settings";
1846
2017
  */
1847
2018
  _queryAspects(elementId, fromClassFullName, excludedClassFullNames) {
1848
2019
  const sql = `SELECT ECInstanceId,ECClassId FROM ${fromClassFullName} WHERE Element.Id=:elementId ORDER BY ECClassId,ECInstanceId`; // ORDER BY to maximize statement reuse
2020
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1849
2021
  return this._iModel.withPreparedStatement(sql, (statement) => {
1850
2022
  statement.bindId("elementId", elementId);
1851
2023
  const aspects = [];
@@ -1864,6 +2036,7 @@ IModelDb._settingPropNamespace = "settings";
1864
2036
  */
1865
2037
  _queryAspect(aspectInstanceId, aspectClassName) {
1866
2038
  const sql = `SELECT * FROM ${aspectClassName} WHERE ECInstanceId=:aspectInstanceId`;
2039
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1867
2040
  const aspect = this._iModel.withPreparedStatement(sql, (statement) => {
1868
2041
  statement.bindId("aspectInstanceId", aspectInstanceId);
1869
2042
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) {
@@ -1884,6 +2057,7 @@ IModelDb._settingPropNamespace = "settings";
1884
2057
  */
1885
2058
  getAspect(aspectInstanceId) {
1886
2059
  const sql = "SELECT ECClassId FROM BisCore:ElementAspect WHERE ECInstanceId=:aspectInstanceId";
2060
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1887
2061
  const aspectClassFullName = this._iModel.withPreparedStatement(sql, (statement) => {
1888
2062
  statement.bindId("aspectInstanceId", aspectInstanceId);
1889
2063
  return (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) ? statement.getValue(0).getClassNameForClassId().replace(".", ":") : undefined;
@@ -1893,7 +2067,9 @@ IModelDb._settingPropNamespace = "settings";
1893
2067
  }
1894
2068
  return this._queryAspect(aspectInstanceId, aspectClassFullName);
1895
2069
  }
2070
+ static classMap = new Map();
1896
2071
  runInstanceQuery(sql, elementId, excludedClassFullNames) {
2072
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1897
2073
  return this._iModel.withPreparedStatement(sql, (statement) => {
1898
2074
  statement.bindId("elementId", elementId);
1899
2075
  const aspects = [];
@@ -1934,6 +2110,7 @@ IModelDb._settingPropNamespace = "settings";
1934
2110
  const fullClassName = aspectClassFullName.replace(".", ":").split(":");
1935
2111
  const val = this._iModel[Symbols_1._nativeDb].getECClassMetaData(fullClassName[0], fullClassName[1]);
1936
2112
  if (val.result !== undefined) {
2113
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1937
2114
  const metaData = new core_common_1.EntityMetaData(JSON.parse(val.result));
1938
2115
  if (metaData.modifier !== "Abstract") // Class is not abstract, use normal query to retrieve aspects
1939
2116
  return this._queryAspects(elementId, aspectClassFullName, excludedClassFullNames);
@@ -1942,8 +2119,11 @@ IModelDb._settingPropNamespace = "settings";
1942
2119
  let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
1943
2120
  if (classIdList === undefined) {
1944
2121
  const classIds = [];
2122
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1945
2123
  this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
1946
- and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`, (statement) => {
2124
+ and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`,
2125
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
2126
+ (statement) => {
1947
2127
  while (statement.step() === core_bentley_1.DbResult.BE_SQLITE_ROW)
1948
2128
  classIds.push(statement.getValue(0).getId());
1949
2129
  });
@@ -2009,16 +2189,18 @@ IModelDb._settingPropNamespace = "settings";
2009
2189
  });
2010
2190
  }
2011
2191
  }
2012
- Elements.classMap = new Map();
2013
2192
  IModelDb.Elements = Elements;
2014
2193
  /** The collection of views in an [[IModelDb]].
2015
2194
  * @public
2016
2195
  */
2017
2196
  class Views {
2197
+ _iModel;
2018
2198
  /** @internal */
2019
2199
  constructor(_iModel) {
2020
2200
  this._iModel = _iModel;
2021
2201
  }
2202
+ static viewStoreProperty = { namespace: "itwinjs", name: "DefaultViewStore" };
2203
+ _viewStore;
2022
2204
  get hasViewStore() { return undefined !== this._viewStore; }
2023
2205
  /** @beta */
2024
2206
  get viewStore() {
@@ -2070,6 +2252,8 @@ IModelDb._settingPropNamespace = "settings";
2070
2252
  });
2071
2253
  return props;
2072
2254
  }
2255
+ /** Default parameters for iterating/querying ViewDefinitions. Includes all subclasses of ViewDefinition, excluding only those marked 'private'. */
2256
+ static defaultQueryParams = { from: "BisCore.ViewDefinition", where: "IsPrivate=FALSE" };
2073
2257
  /** Iterate all ViewDefinitions matching the supplied query.
2074
2258
  * @param params Specifies the query by which views are selected.
2075
2259
  * @param callback Function invoked for each ViewDefinition matching the query. Return false to terminate iteration, true to continue.
@@ -2141,17 +2325,6 @@ IModelDb._settingPropNamespace = "settings";
2141
2325
  }
2142
2326
  return props;
2143
2327
  }
2144
- /** @deprecated in 3.x. use [[getViewStateProps]]. */
2145
- getViewStateData(viewDefinitionId, options) {
2146
- const viewStateData = this.loadViewData(viewDefinitionId, options);
2147
- const baseModelId = viewStateData.viewDefinitionProps.baseModelId;
2148
- if (baseModelId) {
2149
- const drawingExtents = core_geometry_1.Range3d.fromJSON(this._iModel[Symbols_1._nativeDb].queryModelExtents({ id: baseModelId }).modelExtents);
2150
- if (!drawingExtents.isNull)
2151
- viewStateData.modelExtents = drawingExtents.toJSON();
2152
- }
2153
- return viewStateData;
2154
- }
2155
2328
  /** Obtain a [ViewStateProps]($common) for a [[ViewDefinition]] specified by ViewIdString. */
2156
2329
  async getViewStateProps(viewDefinitionId, options) {
2157
2330
  const viewStateData = this.loadViewData(viewDefinitionId, options);
@@ -2206,9 +2379,6 @@ IModelDb._settingPropNamespace = "settings";
2206
2379
  this._iModel.saveFileProperty(spec, undefined, blob8);
2207
2380
  }
2208
2381
  }
2209
- Views.viewStoreProperty = { namespace: "itwinjs", name: "DefaultViewStore" };
2210
- /** Default parameters for iterating/querying ViewDefinitions. Includes all subclasses of ViewDefinition, excluding only those marked 'private'. */
2211
- Views.defaultQueryParams = { from: "BisCore.ViewDefinition", where: "IsPrivate=FALSE" };
2212
2382
  IModelDb.Views = Views;
2213
2383
  /** Represents the current state of a pollable tile content request.
2214
2384
  * Note: lack of a "completed" state because polling a completed request returns the content as a Uint8Array.
@@ -2222,6 +2392,7 @@ IModelDb._settingPropNamespace = "settings";
2222
2392
  })(TileContentState = IModelDb.TileContentState || (IModelDb.TileContentState = {}));
2223
2393
  /** @internal */
2224
2394
  class Tiles {
2395
+ _iModel;
2225
2396
  /** @internal */
2226
2397
  constructor(_iModel) {
2227
2398
  this._iModel = _iModel;
@@ -2296,10 +2467,38 @@ IModelDb._settingPropNamespace = "settings";
2296
2467
  * @public
2297
2468
  */
2298
2469
  class BriefcaseDb extends IModelDb {
2470
+ /** Manages local changes to this briefcase. */
2471
+ txns = new TxnManager_1.TxnManager(this);
2299
2472
  /** override superclass method */
2300
2473
  get isBriefcase() { return true; }
2474
+ /* the BriefcaseId of the briefcase opened with this BriefcaseDb */
2475
+ briefcaseId;
2476
+ _skipSyncSchemasOnPullAndPush;
2301
2477
  /** @internal */
2302
2478
  get skipSyncSchemasOnPullAndPush() { return this._skipSyncSchemasOnPullAndPush ?? false; }
2479
+ /**
2480
+ * Event raised just before a BriefcaseDb is opened. Supplies the arguments that will be used to open the BriefcaseDb.
2481
+ * Throw an exception to stop the open.
2482
+ *
2483
+ * **Example:**
2484
+ * ``` ts
2485
+ * [[include:BriefcaseDb.onOpen]]
2486
+ * ```
2487
+ */
2488
+ static onOpen = new core_bentley_1.BeEvent();
2489
+ /**
2490
+ * Event raised just after a BriefcaseDb is opened. Supplies the newly opened BriefcaseDb and the arguments that were used to open it.
2491
+ *
2492
+ * **Example:**
2493
+ * ``` ts
2494
+ * [[include:BriefcaseDb.onOpened]]
2495
+ * ```
2496
+ */
2497
+ static onOpened = new core_bentley_1.BeEvent();
2498
+ /** Event raised after a BriefcaseDb has been closed. */
2499
+ onClosed = new core_bentley_1.BeEvent();
2500
+ /** @alpha */
2501
+ static onCodeServiceCreated = new core_bentley_1.BeEvent();
2303
2502
  static findByKey(key) {
2304
2503
  return super.findByKey(key);
2305
2504
  }
@@ -2329,10 +2528,6 @@ class BriefcaseDb extends IModelDb {
2329
2528
  }
2330
2529
  constructor(args) {
2331
2530
  super({ ...args, changeset: args.nativeDb.getCurrentChangeset() });
2332
- /** Manages local changes to this briefcase. */
2333
- this.txns = new TxnManager_1.TxnManager(this);
2334
- /** Event raised after a BriefcaseDb has been closed. */
2335
- this.onClosed = new core_bentley_1.BeEvent();
2336
2531
  this._openMode = args.openMode;
2337
2532
  this.briefcaseId = args.briefcaseId;
2338
2533
  this.makeLockControl();
@@ -2415,6 +2610,7 @@ class BriefcaseDb extends IModelDb {
2415
2610
  finally {
2416
2611
  await withBriefcaseDb(briefcase, async (db) => db.locks[Symbols_1._releaseAllLocks]());
2417
2612
  }
2613
+ return;
2418
2614
  }
2419
2615
  throw error;
2420
2616
  }
@@ -2427,7 +2623,7 @@ class BriefcaseDb extends IModelDb {
2427
2623
  const file = { path: args.fileName, key: args.key };
2428
2624
  const openMode = (args.readonly || args.watchForChanges) ? core_bentley_1.OpenMode.Readonly : core_bentley_1.OpenMode.ReadWrite;
2429
2625
  const nativeDb = this.openDgnDb(file, openMode, undefined, args);
2430
- const briefcaseDb = new BriefcaseDb({ nativeDb, key: file.key ?? core_bentley_1.Guid.createValue(), openMode, briefcaseId: nativeDb.getBriefcaseId() });
2626
+ const briefcaseDb = new this({ nativeDb, key: file.key ?? core_bentley_1.Guid.createValue(), openMode, briefcaseId: nativeDb.getBriefcaseId() });
2431
2627
  // If they asked to watch for changes, set an fs.watch on the "-watch" file (only it is modified while we hold this connection.)
2432
2628
  // Whenever there are changes, restart our defaultTxn. That loads the changes from the other connection and sends
2433
2629
  // notifications as if they happened on this connection. Note: the watcher is called only when the backend event loop cycles.
@@ -2659,7 +2855,7 @@ class BriefcaseDb extends IModelDb {
2659
2855
  await BriefcaseManager_1.BriefcaseManager.pullAndApplyChangesets(this, arg ?? {});
2660
2856
  if (!this.skipSyncSchemasOnPullAndPush)
2661
2857
  await SchemaSync_1.SchemaSync.pull(this);
2662
- this.initializeIModelDb();
2858
+ this.initializeIModelDb("pullMerge");
2663
2859
  });
2664
2860
  IpcHost_1.IpcHost.notifyTxns(this, "notifyPulledChanges", this.changeset);
2665
2861
  this.txns.touchWatchFile();
@@ -2741,46 +2937,32 @@ class BriefcaseDb extends IModelDb {
2741
2937
  // pushing changes requires a writeable briefcase
2742
2938
  await this.executeWritable(async () => {
2743
2939
  await BriefcaseManager_1.BriefcaseManager.pullMergePush(this, arg);
2744
- this.initializeIModelDb();
2940
+ this.initializeIModelDb("pullMerge");
2745
2941
  });
2746
2942
  const changeset = this.changeset;
2747
2943
  IpcHost_1.IpcHost.notifyTxns(this, "notifyPushedChanges", changeset);
2748
2944
  this.txns.touchWatchFile();
2749
2945
  }
2750
2946
  close() {
2947
+ if (this.isBriefcase && this.isOpen && !this.isReadonly && this.txns.changeMergeManager.inProgress()) {
2948
+ this.abandonChanges();
2949
+ }
2751
2950
  super.close();
2752
2951
  this.onClosed.raiseEvent();
2753
2952
  }
2754
2953
  }
2755
2954
  exports.BriefcaseDb = BriefcaseDb;
2756
- /**
2757
- * Event raised just before a BriefcaseDb is opened. Supplies the arguments that will be used to open the BriefcaseDb.
2758
- * Throw an exception to stop the open.
2759
- *
2760
- * **Example:**
2761
- * ``` ts
2762
- * [[include:BriefcaseDb.onOpen]]
2763
- * ```
2764
- */
2765
- BriefcaseDb.onOpen = new core_bentley_1.BeEvent();
2766
- /**
2767
- * Event raised just after a BriefcaseDb is opened. Supplies the newly opened BriefcaseDb and the arguments that were used to open it.
2768
- *
2769
- * **Example:**
2770
- * ``` ts
2771
- * [[include:BriefcaseDb.onOpened]]
2772
- * ```
2773
- */
2774
- BriefcaseDb.onOpened = new core_bentley_1.BeEvent();
2775
- /** @alpha */
2776
- BriefcaseDb.onCodeServiceCreated = new core_bentley_1.BeEvent();
2777
2955
  /** Used to reattach Daemon from a user's accessToken for V2 checkpoints.
2778
2956
  * @note Reattach only happens if the previous access token either has expired or is about to expire within an application-supplied safety duration.
2779
2957
  */
2780
2958
  class RefreshV2CheckpointSas {
2959
+ /** the time at which the current token should be refreshed (its expiry minus safetySeconds) */
2960
+ _timestamp = 0;
2961
+ /** while a refresh is happening, all callers get this promise. */
2962
+ _promise;
2963
+ /** Time, in seconds, before the current token expires to obtain a new token. Default is 1 hour. */
2964
+ _safetySeconds;
2781
2965
  constructor(sasToken, safetySeconds) {
2782
- /** the time at which the current token should be refreshed (its expiry minus safetySeconds) */
2783
- this._timestamp = 0;
2784
2966
  this._safetySeconds = safetySeconds ?? 60 * 60; // default to 1 hour
2785
2967
  this.setTimestamp(sasToken);
2786
2968
  }
@@ -2790,11 +2972,11 @@ class RefreshV2CheckpointSas {
2790
2972
  core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.Authorization, "attempting to refresh sasToken for checkpoint");
2791
2973
  try {
2792
2974
  // this exchanges the supplied user accessToken for an expiring blob-store token to read the checkpoint.
2793
- const container = iModel[Symbols_1._nativeDb].cloudContainer;
2975
+ const container = iModel.cloudContainer;
2794
2976
  if (!container)
2795
2977
  throw new Error("checkpoint is not from a cloud container");
2796
2978
  (0, core_bentley_1.assert)(undefined !== iModel.iTwinId);
2797
- const props = await IModelHost_1.IModelHost.hubAccess.queryV2Checkpoint({ accessToken, iTwinId: iModel.iTwinId, iModelId: iModel.iModelId, changeset: iModel.changeset });
2979
+ const props = await IModelHost_1.IModelHost[Symbols_1._hubAccess].queryV2Checkpoint({ accessToken, iTwinId: iModel.iTwinId, iModelId: iModel.iModelId, changeset: iModel.changeset });
2798
2980
  if (!props)
2799
2981
  throw new Error("can't reset checkpoint sas token");
2800
2982
  container.accessToken = props.sasToken;
@@ -2827,9 +3009,18 @@ class RefreshV2CheckpointSas {
2827
3009
  */
2828
3010
  class SnapshotDb extends IModelDb {
2829
3011
  get isSnapshot() { return true; }
3012
+ _refreshSas;
3013
+ /** Timer used to restart the default txn on the SnapshotDb after some inactivity. This is only used for checkpoints.
3014
+ * Restarting the default txn lets CloudSqlite know that any blocks that may have been read may now be ejected.
3015
+ * Without restarting the default txn, CloudSQLite can get into a state where it can not evict any blocks to make space for more blocks.
3016
+ */
3017
+ _restartDefaultTxnTimer;
3018
+ _createClassViewsOnClose;
3019
+ static onOpen = new core_bentley_1.BeEvent();
3020
+ static onOpened = new core_bentley_1.BeEvent();
2830
3021
  constructor(nativeDb, key) {
2831
- super({ nativeDb, key, changeset: nativeDb.getCurrentChangeset() }); // eslint-disable-line @typescript-eslint/no-deprecated
2832
- this._openMode = nativeDb.isReadonly() ? core_bentley_1.OpenMode.Readonly : core_bentley_1.OpenMode.ReadWrite; // eslint-disable-line @typescript-eslint/no-deprecated
3022
+ super({ nativeDb, key, changeset: nativeDb.getCurrentChangeset() });
3023
+ this._openMode = nativeDb.isReadonly() ? core_bentley_1.OpenMode.Readonly : core_bentley_1.OpenMode.ReadWrite;
2833
3024
  }
2834
3025
  static findByKey(key) {
2835
3026
  return super.findByKey(key);
@@ -2869,7 +3060,7 @@ class SnapshotDb extends IModelDb {
2869
3060
  iModelDb.performCheckpoint();
2870
3061
  IModelJsFs_1.IModelJsFs.copySync(iModelDb.pathName, snapshotFile);
2871
3062
  const nativeDb = new NativePlatform_1.IModelNative.platform.DgnDb();
2872
- nativeDb.openIModel(snapshotFile, core_bentley_1.OpenMode.ReadWrite, undefined, options);
3063
+ nativeDb.openIModel(snapshotFile, core_bentley_1.OpenMode.ReadWrite, undefined);
2873
3064
  nativeDb.vacuum();
2874
3065
  // Replace iModelId if seedFile is a snapshot, preserve iModelId if seedFile is an iModelHub-managed briefcase
2875
3066
  if (!BriefcaseManager_1.BriefcaseManager.isValidBriefcaseId(nativeDb.getBriefcaseId()))
@@ -2907,7 +3098,7 @@ class SnapshotDb extends IModelDb {
2907
3098
  file.key = `${nativeDb.getIModelId()}:${nativeDb.getCurrentChangeset().id}`;
2908
3099
  }
2909
3100
  (0, core_bentley_1.assert)(undefined !== file.key);
2910
- const db = new SnapshotDb(nativeDb, file.key);
3101
+ const db = new this(nativeDb, file.key);
2911
3102
  this.onOpened.raiseEvent(db);
2912
3103
  return db;
2913
3104
  }
@@ -2933,8 +3124,10 @@ class SnapshotDb extends IModelDb {
2933
3124
  snapshot._restartDefaultTxnTimer = setTimeout(() => {
2934
3125
  snapshot.restartDefaultTxn();
2935
3126
  }, (10 * 60) * 1000).unref(); // 10 minutes
2936
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2937
- snapshot._refreshSas = new RefreshV2CheckpointSas(snapshot[Symbols_1._nativeDb].cloudContainer.accessToken, checkpoint.reattachSafetySeconds);
3127
+ const cloudContainer = snapshot.cloudContainer;
3128
+ if (cloudContainer !== undefined) {
3129
+ snapshot._refreshSas = new RefreshV2CheckpointSas(cloudContainer.accessToken, checkpoint.reattachSafetySeconds);
3130
+ }
2938
3131
  return snapshot;
2939
3132
  }
2940
3133
  /**
@@ -2968,8 +3161,6 @@ class SnapshotDb extends IModelDb {
2968
3161
  }
2969
3162
  }
2970
3163
  exports.SnapshotDb = SnapshotDb;
2971
- SnapshotDb.onOpen = new core_bentley_1.BeEvent();
2972
- SnapshotDb.onOpened = new core_bentley_1.BeEvent();
2973
3164
  /**
2974
3165
  * Standalone iModels are read/write files that are not associated with an iTwin or managed by iModelHub.
2975
3166
  * They are relevant only for testing, or for small-scale single-user scenarios.
@@ -3008,7 +3199,7 @@ class StandaloneDb extends BriefcaseDb {
3008
3199
  nativeDb.setITwinId(core_bentley_1.Guid.empty);
3009
3200
  nativeDb.resetBriefcaseId(core_common_1.BriefcaseIdValue.Unassigned);
3010
3201
  nativeDb.saveChanges();
3011
- const db = new StandaloneDb({ nativeDb, key: core_bentley_1.Guid.createValue(), briefcaseId: core_common_1.BriefcaseIdValue.Unassigned, openMode: core_bentley_1.OpenMode.ReadWrite });
3202
+ const db = new this({ nativeDb, key: core_bentley_1.Guid.createValue(), briefcaseId: core_common_1.BriefcaseIdValue.Unassigned, openMode: core_bentley_1.OpenMode.ReadWrite });
3012
3203
  db.channels.addAllowedChannel(ChannelControl_1.ChannelControl.sharedChannelName);
3013
3204
  return db;
3014
3205
  }
@@ -3054,7 +3245,7 @@ class StandaloneDb extends BriefcaseDb {
3054
3245
  if (iTwinId !== core_bentley_1.Guid.empty) // a "standalone" iModel means it is not associated with an iTwin
3055
3246
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.WrongIModel, `${filePath} is not a Standalone iModel. iTwinId=${iTwinId}`);
3056
3247
  (0, core_bentley_1.assert)(undefined !== file.key);
3057
- const db = new StandaloneDb({ nativeDb, key: file.key, openMode, briefcaseId: core_common_1.BriefcaseIdValue.Unassigned });
3248
+ const db = new this({ nativeDb, key: file.key, openMode, briefcaseId: core_common_1.BriefcaseIdValue.Unassigned });
3058
3249
  return db;
3059
3250
  }
3060
3251
  catch (error) {
@@ -3062,6 +3253,22 @@ class StandaloneDb extends BriefcaseDb {
3062
3253
  throw error;
3063
3254
  }
3064
3255
  }
3256
+ /** Convert an iModel stored on the local file system into a StandaloneDb, chiefly for testing purposes.
3257
+ * The file must not be open in any application.
3258
+ * @param iModelFileName the path to the iModel on the local file system.
3259
+ * @beta
3260
+ */
3261
+ static convertToStandalone(iModelFileName) {
3262
+ const nativeDb = new NativePlatform_1.IModelNative.platform.DgnDb();
3263
+ nativeDb.openIModel(iModelFileName, core_bentley_1.OpenMode.ReadWrite);
3264
+ nativeDb.setITwinId(core_bentley_1.Guid.empty); // empty iTwinId means "standalone"
3265
+ nativeDb.saveChanges(); // save change to iTwinId
3266
+ nativeDb.deleteAllTxns(); // necessary before resetting briefcaseId
3267
+ nativeDb.resetBriefcaseId(core_common_1.BriefcaseIdValue.Unassigned); // standalone iModels should always have BriefcaseId unassigned
3268
+ nativeDb.saveLocalValue("StandaloneEdit", JSON.stringify({ txns: true }));
3269
+ nativeDb.saveChanges(); // save change to briefcaseId
3270
+ nativeDb.closeFile();
3271
+ }
3065
3272
  }
3066
3273
  exports.StandaloneDb = StandaloneDb;
3067
3274
  //# sourceMappingURL=IModelDb.js.map