@itwin/core-backend 5.0.0-dev.10 → 5.0.0-dev.100

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 (1068) hide show
  1. package/CHANGELOG.md +65 -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/BackendLoggerCategory.js.map +1 -1
  7. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  8. package/lib/cjs/BisCoreSchema.js +2 -0
  9. package/lib/cjs/BisCoreSchema.js.map +1 -1
  10. package/lib/cjs/BlobContainerService.d.ts +4 -4
  11. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  12. package/lib/cjs/BlobContainerService.js.map +1 -1
  13. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  14. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  15. package/lib/cjs/BriefcaseManager.js +63 -20
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.js +6 -1
  18. package/lib/cjs/Category.js.map +1 -1
  19. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.js +104 -29
  21. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  22. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  23. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  24. package/lib/cjs/ChangedElementsDb.js +8 -7
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  27. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  28. package/lib/cjs/ChangesetECAdaptor.js +274 -261
  29. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  30. package/lib/cjs/ChannelControl.js.map +1 -1
  31. package/lib/cjs/CheckpointManager.d.ts +16 -15
  32. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  33. package/lib/cjs/CheckpointManager.js +55 -69
  34. package/lib/cjs/CheckpointManager.js.map +1 -1
  35. package/lib/cjs/ClassRegistry.d.ts +46 -2
  36. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  37. package/lib/cjs/ClassRegistry.js +98 -42
  38. package/lib/cjs/ClassRegistry.js.map +1 -1
  39. package/lib/cjs/CloudSqlite.d.ts +2 -1
  40. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  41. package/lib/cjs/CloudSqlite.js +15 -8
  42. package/lib/cjs/CloudSqlite.js.map +1 -1
  43. package/lib/cjs/CodeService.d.ts +2 -0
  44. package/lib/cjs/CodeService.d.ts.map +1 -1
  45. package/lib/cjs/CodeService.js +4 -0
  46. package/lib/cjs/CodeService.js.map +1 -1
  47. package/lib/cjs/CodeSpecs.js +3 -2
  48. package/lib/cjs/CodeSpecs.js.map +1 -1
  49. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  50. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  51. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  52. package/lib/cjs/DevTools.js +16 -16
  53. package/lib/cjs/DevTools.js.map +1 -1
  54. package/lib/cjs/DisplayStyle.js +2 -0
  55. package/lib/cjs/DisplayStyle.js.map +1 -1
  56. package/lib/cjs/ECDb.d.ts +53 -60
  57. package/lib/cjs/ECDb.d.ts.map +1 -1
  58. package/lib/cjs/ECDb.js +115 -73
  59. package/lib/cjs/ECDb.js.map +1 -1
  60. package/lib/cjs/ECSchemaXmlContext.js +1 -0
  61. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  62. package/lib/cjs/ECSqlStatement.d.ts +185 -4
  63. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  64. package/lib/cjs/ECSqlStatement.js +237 -9
  65. package/lib/cjs/ECSqlStatement.js.map +1 -1
  66. package/lib/cjs/Element.d.ts +29 -26
  67. package/lib/cjs/Element.d.ts.map +1 -1
  68. package/lib/cjs/Element.js +173 -48
  69. package/lib/cjs/Element.js.map +1 -1
  70. package/lib/cjs/ElementAspect.d.ts +0 -5
  71. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  72. package/lib/cjs/ElementAspect.js +25 -16
  73. package/lib/cjs/ElementAspect.js.map +1 -1
  74. package/lib/cjs/ElementGraphics.js.map +1 -1
  75. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  76. package/lib/cjs/ElementTreeWalker.js +17 -12
  77. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  78. package/lib/cjs/Entity.d.ts +46 -10
  79. package/lib/cjs/Entity.d.ts.map +1 -1
  80. package/lib/cjs/Entity.js +79 -16
  81. package/lib/cjs/Entity.js.map +1 -1
  82. package/lib/cjs/EntityReferences.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/GeographicCRSServices.js.map +1 -1
  94. package/lib/cjs/GeometrySummary.js +53 -50
  95. package/lib/cjs/GeometrySummary.js.map +1 -1
  96. package/lib/cjs/IModelDb.d.ts +208 -73
  97. package/lib/cjs/IModelDb.d.ts.map +1 -1
  98. package/lib/cjs/IModelDb.js +375 -175
  99. package/lib/cjs/IModelDb.js.map +1 -1
  100. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  101. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  102. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  103. package/lib/cjs/IModelDbFonts.js.map +1 -0
  104. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  105. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  106. package/lib/cjs/IModelElementCloneContext.js +12 -1
  107. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  108. package/lib/cjs/IModelHost.d.ts +14 -14
  109. package/lib/cjs/IModelHost.d.ts.map +1 -1
  110. package/lib/cjs/IModelHost.js +75 -42
  111. package/lib/cjs/IModelHost.js.map +1 -1
  112. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  113. package/lib/cjs/IModelJsFs.js +17 -1
  114. package/lib/cjs/IModelJsFs.js.map +1 -1
  115. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  116. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  117. package/lib/cjs/ImageSourceConversion.js +37 -0
  118. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  119. package/lib/cjs/IpcHost.d.ts.map +1 -1
  120. package/lib/cjs/IpcHost.js +19 -33
  121. package/lib/cjs/IpcHost.js.map +1 -1
  122. package/lib/cjs/LineStyle.js.map +1 -1
  123. package/lib/cjs/LocalHub.js +9 -3
  124. package/lib/cjs/LocalHub.js.map +1 -1
  125. package/lib/cjs/LocalhostIpcHost.js +5 -6
  126. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  127. package/lib/cjs/LockControl.js.map +1 -1
  128. package/lib/cjs/Material.js +40 -0
  129. package/lib/cjs/Material.js.map +1 -1
  130. package/lib/cjs/Model.d.ts +1 -1
  131. package/lib/cjs/Model.d.ts.map +1 -1
  132. package/lib/cjs/Model.js +27 -2
  133. package/lib/cjs/Model.js.map +1 -1
  134. package/lib/cjs/NativeAppStorage.js +5 -3
  135. package/lib/cjs/NativeAppStorage.js.map +1 -1
  136. package/lib/cjs/NativeHost.js +6 -3
  137. package/lib/cjs/NativeHost.js.map +1 -1
  138. package/lib/cjs/NavigationRelationship.js +25 -25
  139. package/lib/cjs/NavigationRelationship.js.map +1 -1
  140. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  141. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  142. package/lib/cjs/PromiseMemoizer.js +12 -5
  143. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  144. package/lib/cjs/PropertyStore.js +1 -4
  145. package/lib/cjs/PropertyStore.js.map +1 -1
  146. package/lib/cjs/Relationship.d.ts.map +1 -1
  147. package/lib/cjs/Relationship.js +15 -1
  148. package/lib/cjs/Relationship.js.map +1 -1
  149. package/lib/cjs/RpcBackend.js.map +1 -1
  150. package/lib/cjs/SQLiteDb.d.ts +6 -4
  151. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  152. package/lib/cjs/SQLiteDb.js +74 -15
  153. package/lib/cjs/SQLiteDb.js.map +1 -1
  154. package/lib/cjs/Schema.d.ts +25 -1
  155. package/lib/cjs/Schema.d.ts.map +1 -1
  156. package/lib/cjs/Schema.js +44 -8
  157. package/lib/cjs/Schema.js.map +1 -1
  158. package/lib/cjs/SchemaSync.js +1 -4
  159. package/lib/cjs/SchemaSync.js.map +1 -1
  160. package/lib/cjs/SchemaUtils.js.map +1 -1
  161. package/lib/cjs/SheetIndex.js +6 -0
  162. package/lib/cjs/SheetIndex.js.map +1 -1
  163. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  164. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  165. package/lib/cjs/SqliteChangesetReader.js +21 -5
  166. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  167. package/lib/cjs/SqliteStatement.d.ts +4 -2
  168. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  169. package/lib/cjs/SqliteStatement.js +13 -1
  170. package/lib/cjs/SqliteStatement.js.map +1 -1
  171. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  172. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  173. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  174. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  175. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  176. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  177. package/lib/cjs/TextAnnotationLayout.js +56 -18
  178. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  179. package/lib/cjs/Texture.js +3 -0
  180. package/lib/cjs/Texture.js.map +1 -1
  181. package/lib/cjs/TileStorage.js +6 -1
  182. package/lib/cjs/TileStorage.js.map +1 -1
  183. package/lib/cjs/TxnManager.d.ts +55 -4
  184. package/lib/cjs/TxnManager.d.ts.map +1 -1
  185. package/lib/cjs/TxnManager.js +234 -58
  186. package/lib/cjs/TxnManager.js.map +1 -1
  187. package/lib/cjs/ViewDefinition.d.ts +6 -6
  188. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  189. package/lib/cjs/ViewDefinition.js +81 -26
  190. package/lib/cjs/ViewDefinition.js.map +1 -1
  191. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  192. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  193. package/lib/cjs/ViewStateHydrator.js +1 -11
  194. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  195. package/lib/cjs/ViewStore.d.ts.map +1 -1
  196. package/lib/cjs/ViewStore.js +5 -2
  197. package/lib/cjs/ViewStore.js.map +1 -1
  198. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  199. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  200. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  201. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  202. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  203. package/lib/cjs/core-backend.d.ts +7 -2
  204. package/lib/cjs/core-backend.d.ts.map +1 -1
  205. package/lib/cjs/core-backend.js +7 -2
  206. package/lib/cjs/core-backend.js.map +1 -1
  207. package/lib/cjs/domains/FunctionalElements.js +1 -1
  208. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  209. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  210. package/lib/cjs/domains/GenericElements.js.map +1 -1
  211. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  212. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  213. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  214. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  215. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  216. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  217. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  218. package/lib/cjs/internal/ChannelAdmin.js +16 -13
  219. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  220. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  221. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  222. package/lib/cjs/internal/FontFileImpl.js +143 -0
  223. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  224. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +6 -7
  225. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  226. package/lib/cjs/{HubMock.js → internal/HubMock.js} +40 -15
  227. package/lib/cjs/internal/HubMock.js.map +1 -0
  228. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  229. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  230. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  231. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  232. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  233. package/lib/cjs/internal/NoLocks.js +2 -5
  234. package/lib/cjs/internal/NoLocks.js.map +1 -1
  235. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  236. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  237. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  238. package/lib/cjs/internal/Symbols.d.ts +11 -0
  239. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  240. package/lib/cjs/internal/Symbols.js +12 -1
  241. package/lib/cjs/internal/Symbols.js.map +1 -1
  242. package/lib/cjs/internal/cross-package.js.map +1 -1
  243. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  244. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  245. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  246. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  247. package/lib/cjs/internal/workspace/WorkspaceImpl.js +22 -17
  248. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  249. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  250. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  251. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  252. package/lib/cjs/rpc/multipart.js +2 -1
  253. package/lib/cjs/rpc/multipart.js.map +1 -1
  254. package/lib/cjs/rpc/tracing.js +2 -2
  255. package/lib/cjs/rpc/tracing.js.map +1 -1
  256. package/lib/cjs/rpc/web/logging.js.map +1 -1
  257. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  258. package/lib/cjs/rpc/web/request.js +2 -1
  259. package/lib/cjs/rpc/web/request.js.map +1 -1
  260. package/lib/cjs/rpc/web/response.js.map +1 -1
  261. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  262. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  263. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +6 -2
  264. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  265. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  266. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  267. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  268. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +15 -25
  269. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  270. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  271. package/lib/cjs/workspace/Settings.js.map +1 -1
  272. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  273. package/lib/cjs/workspace/Workspace.js.map +1 -1
  274. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  275. package/lib/esm/BackendHubAccess.d.ts +209 -0
  276. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  277. package/lib/esm/BackendHubAccess.js +41 -0
  278. package/lib/esm/BackendHubAccess.js.map +1 -0
  279. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  280. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  281. package/lib/esm/BackendLoggerCategory.js +93 -0
  282. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  283. package/lib/esm/BisCoreSchema.d.ts +22 -0
  284. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  285. package/lib/esm/BisCoreSchema.js +61 -0
  286. package/lib/esm/BisCoreSchema.js.map +1 -0
  287. package/lib/esm/BlobContainerService.d.ts +159 -0
  288. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  289. package/lib/esm/BlobContainerService.js +15 -0
  290. package/lib/esm/BlobContainerService.js.map +1 -0
  291. package/lib/esm/BriefcaseManager.d.ts +213 -0
  292. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  293. package/lib/esm/BriefcaseManager.js +520 -0
  294. package/lib/esm/BriefcaseManager.js.map +1 -0
  295. package/lib/esm/Category.d.ts +136 -0
  296. package/lib/esm/Category.d.ts.map +1 -0
  297. package/lib/esm/Category.js +224 -0
  298. package/lib/esm/Category.js.map +1 -0
  299. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  300. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  301. package/lib/esm/ChangeSummaryManager.js +421 -0
  302. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  303. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  304. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  305. package/lib/esm/ChangedElementsDb.js +165 -0
  306. package/lib/esm/ChangedElementsDb.js.map +1 -0
  307. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  308. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  309. package/lib/esm/ChangesetECAdaptor.js +815 -0
  310. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  311. package/lib/esm/ChannelControl.d.ts +68 -0
  312. package/lib/esm/ChannelControl.d.ts.map +1 -0
  313. package/lib/esm/ChannelControl.js +15 -0
  314. package/lib/esm/ChannelControl.js.map +1 -0
  315. package/lib/esm/CheckpointManager.d.ts +124 -0
  316. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  317. package/lib/esm/CheckpointManager.js +359 -0
  318. package/lib/esm/CheckpointManager.js.map +1 -0
  319. package/lib/esm/ClassRegistry.d.ts +134 -0
  320. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  321. package/lib/esm/ClassRegistry.js +324 -0
  322. package/lib/esm/ClassRegistry.js.map +1 -0
  323. package/lib/esm/CloudSqlite.d.ts +682 -0
  324. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  325. package/lib/esm/CloudSqlite.js +511 -0
  326. package/lib/esm/CloudSqlite.js.map +1 -0
  327. package/lib/esm/CodeService.d.ts +402 -0
  328. package/lib/esm/CodeService.d.ts.map +1 -0
  329. package/lib/esm/CodeService.js +65 -0
  330. package/lib/esm/CodeService.js.map +1 -0
  331. package/lib/esm/CodeSpecs.d.ts +59 -0
  332. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  333. package/lib/esm/CodeSpecs.js +152 -0
  334. package/lib/esm/CodeSpecs.js.map +1 -0
  335. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  336. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  337. package/lib/esm/ConcurrentQuery.js +33 -0
  338. package/lib/esm/ConcurrentQuery.js.map +1 -0
  339. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  340. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  341. package/lib/esm/CustomViewState3dCreator.js +78 -0
  342. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  343. package/lib/esm/DevTools.d.ts +73 -0
  344. package/lib/esm/DevTools.d.ts.map +1 -0
  345. package/lib/esm/DevTools.js +153 -0
  346. package/lib/esm/DevTools.js.map +1 -0
  347. package/lib/esm/DisplayStyle.d.ts +99 -0
  348. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  349. package/lib/esm/DisplayStyle.js +264 -0
  350. package/lib/esm/DisplayStyle.js.map +1 -0
  351. package/lib/esm/ECDb.d.ts +206 -0
  352. package/lib/esm/ECDb.d.ts.map +1 -0
  353. package/lib/esm/ECDb.js +410 -0
  354. package/lib/esm/ECDb.js.map +1 -0
  355. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  356. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  357. package/lib/esm/ECSchemaXmlContext.js +66 -0
  358. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  359. package/lib/esm/ECSqlStatement.d.ts +671 -0
  360. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  361. package/lib/esm/ECSqlStatement.js +1028 -0
  362. package/lib/esm/ECSqlStatement.js.map +1 -0
  363. package/lib/esm/Element.d.ts +999 -0
  364. package/lib/esm/Element.d.ts.map +1 -0
  365. package/lib/esm/Element.js +1375 -0
  366. package/lib/esm/Element.js.map +1 -0
  367. package/lib/esm/ElementAspect.d.ts +164 -0
  368. package/lib/esm/ElementAspect.d.ts.map +1 -0
  369. package/lib/esm/ElementAspect.js +205 -0
  370. package/lib/esm/ElementAspect.js.map +1 -0
  371. package/lib/esm/ElementGraphics.d.ts +7 -0
  372. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  373. package/lib/esm/ElementGraphics.js +36 -0
  374. package/lib/esm/ElementGraphics.js.map +1 -0
  375. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  376. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  377. package/lib/esm/ElementTreeWalker.js +425 -0
  378. package/lib/esm/ElementTreeWalker.js.map +1 -0
  379. package/lib/esm/Entity.d.ts +142 -0
  380. package/lib/esm/Entity.d.ts.map +1 -0
  381. package/lib/esm/Entity.js +186 -0
  382. package/lib/esm/Entity.js.map +1 -0
  383. package/lib/esm/EntityReferences.d.ts +50 -0
  384. package/lib/esm/EntityReferences.d.ts.map +1 -0
  385. package/lib/esm/EntityReferences.js +92 -0
  386. package/lib/esm/EntityReferences.js.map +1 -0
  387. package/lib/esm/ExportGraphics.d.ts +318 -0
  388. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  389. package/lib/esm/ExportGraphics.js +209 -0
  390. package/lib/esm/ExportGraphics.js.map +1 -0
  391. package/lib/esm/ExternalSource.d.ts +89 -0
  392. package/lib/esm/ExternalSource.d.ts.map +1 -0
  393. package/lib/esm/ExternalSource.js +139 -0
  394. package/lib/esm/ExternalSource.js.map +1 -0
  395. package/lib/esm/FontFile.d.ts +68 -0
  396. package/lib/esm/FontFile.d.ts.map +1 -0
  397. package/lib/esm/FontFile.js +33 -0
  398. package/lib/esm/FontFile.js.map +1 -0
  399. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  400. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  401. package/lib/esm/GeoCoordConfig.js +78 -0
  402. package/lib/esm/GeoCoordConfig.js.map +1 -0
  403. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  404. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  405. package/lib/esm/GeographicCRSServices.js +17 -0
  406. package/lib/esm/GeographicCRSServices.js.map +1 -0
  407. package/lib/esm/GeometrySummary.d.ts +5 -0
  408. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  409. package/lib/esm/GeometrySummary.js +381 -0
  410. package/lib/esm/GeometrySummary.js.map +1 -0
  411. package/lib/esm/IModelDb.d.ts +1402 -0
  412. package/lib/esm/IModelDb.d.ts.map +1 -0
  413. package/lib/esm/IModelDb.js +3260 -0
  414. package/lib/esm/IModelDb.js.map +1 -0
  415. package/lib/esm/IModelDbFonts.d.ts +54 -0
  416. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  417. package/lib/esm/IModelDbFonts.js +9 -0
  418. package/lib/esm/IModelDbFonts.js.map +1 -0
  419. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  420. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  421. package/lib/esm/IModelElementCloneContext.js +168 -0
  422. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  423. package/lib/esm/IModelHost.d.ts +387 -0
  424. package/lib/esm/IModelHost.d.ts.map +1 -0
  425. package/lib/esm/IModelHost.js +502 -0
  426. package/lib/esm/IModelHost.js.map +1 -0
  427. package/lib/esm/IModelJsFs.d.ts +62 -0
  428. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  429. package/lib/esm/IModelJsFs.js +151 -0
  430. package/lib/esm/IModelJsFs.js.map +1 -0
  431. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  432. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  433. package/lib/esm/ImageSourceConversion.js +33 -0
  434. package/lib/esm/ImageSourceConversion.js.map +1 -0
  435. package/lib/esm/IpcHost.d.ts +111 -0
  436. package/lib/esm/IpcHost.d.ts.map +1 -0
  437. package/lib/esm/IpcHost.js +292 -0
  438. package/lib/esm/IpcHost.js.map +1 -0
  439. package/lib/esm/LineStyle.d.ts +312 -0
  440. package/lib/esm/LineStyle.d.ts.map +1 -0
  441. package/lib/esm/LineStyle.js +293 -0
  442. package/lib/esm/LineStyle.js.map +1 -0
  443. package/lib/esm/LocalHub.d.ts +163 -0
  444. package/lib/esm/LocalHub.d.ts.map +1 -0
  445. package/lib/esm/LocalHub.js +583 -0
  446. package/lib/esm/LocalHub.js.map +1 -0
  447. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  448. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  449. package/lib/esm/LocalhostIpcHost.js +74 -0
  450. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  451. package/lib/esm/LockControl.d.ts +73 -0
  452. package/lib/esm/LockControl.d.ts.map +1 -0
  453. package/lib/esm/LockControl.js +9 -0
  454. package/lib/esm/LockControl.js.map +1 -0
  455. package/lib/esm/Material.d.ts +131 -0
  456. package/lib/esm/Material.d.ts.map +1 -0
  457. package/lib/esm/Material.js +235 -0
  458. package/lib/esm/Material.js.map +1 -0
  459. package/lib/esm/Model.d.ts +375 -0
  460. package/lib/esm/Model.d.ts.map +1 -0
  461. package/lib/esm/Model.js +484 -0
  462. package/lib/esm/Model.js.map +1 -0
  463. package/lib/esm/NativeAppStorage.d.ts +52 -0
  464. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  465. package/lib/esm/NativeAppStorage.js +205 -0
  466. package/lib/esm/NativeAppStorage.js.map +1 -0
  467. package/lib/esm/NativeHost.d.ts +53 -0
  468. package/lib/esm/NativeHost.d.ts.map +1 -0
  469. package/lib/esm/NativeHost.js +158 -0
  470. package/lib/esm/NativeHost.js.map +1 -0
  471. package/lib/esm/NavigationRelationship.d.ts +185 -0
  472. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  473. package/lib/esm/NavigationRelationship.js +238 -0
  474. package/lib/esm/NavigationRelationship.js.map +1 -0
  475. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  476. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  477. package/lib/esm/PromiseMemoizer.js +101 -0
  478. package/lib/esm/PromiseMemoizer.js.map +1 -0
  479. package/lib/esm/PropertyStore.d.ts +134 -0
  480. package/lib/esm/PropertyStore.d.ts.map +1 -0
  481. package/lib/esm/PropertyStore.js +177 -0
  482. package/lib/esm/PropertyStore.js.map +1 -0
  483. package/lib/esm/Relationship.d.ts +399 -0
  484. package/lib/esm/Relationship.d.ts.map +1 -0
  485. package/lib/esm/Relationship.js +476 -0
  486. package/lib/esm/Relationship.js.map +1 -0
  487. package/lib/esm/RpcBackend.d.ts +6 -0
  488. package/lib/esm/RpcBackend.d.ts.map +1 -0
  489. package/lib/esm/RpcBackend.js +28 -0
  490. package/lib/esm/RpcBackend.js.map +1 -0
  491. package/lib/esm/SQLiteDb.d.ts +324 -0
  492. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  493. package/lib/esm/SQLiteDb.js +379 -0
  494. package/lib/esm/SQLiteDb.js.map +1 -0
  495. package/lib/esm/Schema.d.ts +79 -0
  496. package/lib/esm/Schema.d.ts.map +1 -0
  497. package/lib/esm/Schema.js +113 -0
  498. package/lib/esm/Schema.js.map +1 -0
  499. package/lib/esm/SchemaSync.d.ts +47 -0
  500. package/lib/esm/SchemaSync.d.ts.map +1 -0
  501. package/lib/esm/SchemaSync.js +148 -0
  502. package/lib/esm/SchemaSync.js.map +1 -0
  503. package/lib/esm/SchemaUtils.d.ts +19 -0
  504. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  505. package/lib/esm/SchemaUtils.js +37 -0
  506. package/lib/esm/SchemaUtils.js.map +1 -0
  507. package/lib/esm/SheetIndex.d.ts +148 -0
  508. package/lib/esm/SheetIndex.d.ts.map +1 -0
  509. package/lib/esm/SheetIndex.js +228 -0
  510. package/lib/esm/SheetIndex.js.map +1 -0
  511. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  512. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  513. package/lib/esm/SqliteChangesetReader.js +337 -0
  514. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  515. package/lib/esm/SqliteStatement.d.ts +375 -0
  516. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  517. package/lib/esm/SqliteStatement.js +615 -0
  518. package/lib/esm/SqliteStatement.js.map +1 -0
  519. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  520. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  521. package/lib/esm/TextAnnotationElement.js +89 -0
  522. package/lib/esm/TextAnnotationElement.js.map +1 -0
  523. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  524. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  525. package/lib/esm/TextAnnotationGeometry.js +181 -0
  526. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  527. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  528. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  529. package/lib/esm/TextAnnotationLayout.js +513 -0
  530. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  531. package/lib/esm/Texture.d.ts +58 -0
  532. package/lib/esm/Texture.d.ts.map +1 -0
  533. package/lib/esm/Texture.js +81 -0
  534. package/lib/esm/Texture.js.map +1 -0
  535. package/lib/esm/TileStorage.d.ts +59 -0
  536. package/lib/esm/TileStorage.d.ts.map +1 -0
  537. package/lib/esm/TileStorage.js +158 -0
  538. package/lib/esm/TileStorage.js.map +1 -0
  539. package/lib/esm/TxnManager.d.ts +296 -0
  540. package/lib/esm/TxnManager.d.ts.map +1 -0
  541. package/lib/esm/TxnManager.js +619 -0
  542. package/lib/esm/TxnManager.js.map +1 -0
  543. package/lib/esm/ViewDefinition.d.ts +392 -0
  544. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  545. package/lib/esm/ViewDefinition.js +638 -0
  546. package/lib/esm/ViewDefinition.js.map +1 -0
  547. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  548. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  549. package/lib/esm/ViewStateHydrator.js +89 -0
  550. package/lib/esm/ViewStateHydrator.js.map +1 -0
  551. package/lib/esm/ViewStore.d.ts +502 -0
  552. package/lib/esm/ViewStore.d.ts.map +1 -0
  553. package/lib/esm/ViewStore.js +1260 -0
  554. package/lib/esm/ViewStore.js.map +1 -0
  555. package/lib/esm/core-backend.d.ts +182 -0
  556. package/lib/esm/core-backend.d.ts.map +1 -0
  557. package/lib/esm/core-backend.js +186 -0
  558. package/lib/esm/core-backend.js.map +1 -0
  559. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  560. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  561. package/lib/esm/domains/FunctionalElements.js +117 -0
  562. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  563. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  564. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  565. package/lib/esm/domains/FunctionalSchema.js +37 -0
  566. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  567. package/lib/esm/domains/GenericElements.d.ts +160 -0
  568. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  569. package/lib/esm/domains/GenericElements.js +225 -0
  570. package/lib/esm/domains/GenericElements.js.map +1 -0
  571. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  572. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  573. package/lib/esm/domains/GenericSchema.js +25 -0
  574. package/lib/esm/domains/GenericSchema.js.map +1 -0
  575. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  576. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  577. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  578. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  579. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  580. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  581. package/lib/esm/internal/ChannelAdmin.js +116 -0
  582. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  583. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  584. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  585. package/lib/esm/internal/FontFileImpl.js +135 -0
  586. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  587. package/lib/esm/internal/HubMock.d.ts +94 -0
  588. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  589. package/lib/esm/internal/HubMock.js +242 -0
  590. package/lib/esm/internal/HubMock.js.map +1 -0
  591. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  592. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  593. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  594. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  595. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  596. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  597. package/lib/esm/internal/NativePlatform.js +43 -0
  598. package/lib/esm/internal/NativePlatform.js.map +1 -0
  599. package/lib/esm/internal/NoLocks.d.ts +6 -0
  600. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  601. package/lib/esm/internal/NoLocks.js +24 -0
  602. package/lib/esm/internal/NoLocks.js.map +1 -0
  603. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  604. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  605. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  606. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  607. package/lib/esm/internal/Symbols.d.ts +22 -0
  608. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  609. package/lib/esm/internal/Symbols.js +29 -0
  610. package/lib/esm/internal/Symbols.js.map +1 -0
  611. package/lib/esm/internal/cross-package.d.ts +4 -0
  612. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  613. package/lib/esm/internal/cross-package.js +8 -0
  614. package/lib/esm/internal/cross-package.js.map +1 -0
  615. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  616. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  617. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  618. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  619. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  620. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  621. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  622. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  623. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
  624. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  625. package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
  626. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  627. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  628. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  629. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  630. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  631. package/lib/esm/rpc/multipart.d.ts +12 -0
  632. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  633. package/lib/esm/rpc/multipart.js +67 -0
  634. package/lib/esm/rpc/multipart.js.map +1 -0
  635. package/lib/esm/rpc/tracing.d.ts +29 -0
  636. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  637. package/lib/esm/rpc/tracing.js +71 -0
  638. package/lib/esm/rpc/tracing.js.map +1 -0
  639. package/lib/esm/rpc/web/logging.d.ts +10 -0
  640. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  641. package/lib/esm/rpc/web/logging.js +41 -0
  642. package/lib/esm/rpc/web/logging.js.map +1 -0
  643. package/lib/esm/rpc/web/request.d.ts +7 -0
  644. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  645. package/lib/esm/rpc/web/request.js +71 -0
  646. package/lib/esm/rpc/web/request.js.map +1 -0
  647. package/lib/esm/rpc/web/response.d.ts +7 -0
  648. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  649. package/lib/esm/rpc/web/response.js +136 -0
  650. package/lib/esm/rpc/web/response.js.map +1 -0
  651. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  652. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  653. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  654. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  655. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  656. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  657. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +314 -0
  658. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  659. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  660. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  661. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  662. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  663. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  664. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  665. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +155 -0
  666. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  667. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  668. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  669. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  670. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  671. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  672. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  673. package/lib/esm/test/AdvancedEqual.js +67 -0
  674. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  675. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  676. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  677. package/lib/esm/test/AttachDb.test.js +157 -0
  678. package/lib/esm/test/AttachDb.test.js.map +1 -0
  679. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  680. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  681. package/lib/esm/test/GeometryTestUtil.js +25 -0
  682. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  683. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  684. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  685. package/lib/esm/test/IModelHost.test.js +187 -0
  686. package/lib/esm/test/IModelHost.test.js.map +1 -0
  687. package/lib/esm/test/IModelTestUtils.d.ts +173 -0
  688. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  689. package/lib/esm/test/IModelTestUtils.js +1125 -0
  690. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  691. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  692. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  693. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  694. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  695. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  696. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  697. package/lib/esm/test/IpcHost.test.js +55 -0
  698. package/lib/esm/test/IpcHost.test.js.map +1 -0
  699. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  700. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  701. package/lib/esm/test/KnownTestLocations.js +27 -0
  702. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  703. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  704. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  705. package/lib/esm/test/PrintElementTree.js +36 -0
  706. package/lib/esm/test/PrintElementTree.js.map +1 -0
  707. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  708. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  709. package/lib/esm/test/PropertyDb.test.js +71 -0
  710. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  711. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  712. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  713. package/lib/esm/test/RevisionUtility.js +52 -0
  714. package/lib/esm/test/RevisionUtility.js.map +1 -0
  715. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  716. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  717. package/lib/esm/test/SchemaUtils.test.js +99 -0
  718. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  719. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  720. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  721. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  722. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  723. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  724. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  725. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  726. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  727. package/lib/esm/test/TestUtils.d.ts +38 -0
  728. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  729. package/lib/esm/test/TestUtils.js +99 -0
  730. package/lib/esm/test/TestUtils.js.map +1 -0
  731. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  732. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  733. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  734. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  735. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  736. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  737. package/lib/esm/test/categories/Category.test.js +51 -0
  738. package/lib/esm/test/categories/Category.test.js.map +1 -0
  739. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  740. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  741. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  742. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  743. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  744. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  745. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  746. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  747. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  748. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  749. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  750. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  751. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  752. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  753. package/lib/esm/test/ecdb/ECDb.test.js +653 -0
  754. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  755. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  756. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  757. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  758. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  759. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  760. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  761. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  762. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  763. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  764. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  765. package/lib/esm/test/ecdb/ECSqlAst.test.js +972 -0
  766. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  767. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  768. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  769. package/lib/esm/test/ecdb/ECSqlQuery.test.js +776 -0
  770. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  771. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  772. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  773. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  774. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  775. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  776. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  777. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3329 -0
  778. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  779. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  780. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  781. package/lib/esm/test/ecdb/SqliteStatement.test.js +510 -0
  782. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  783. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  784. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  785. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  786. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  787. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  788. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  789. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +197 -0
  790. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  791. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  792. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  793. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  794. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  795. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  796. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  797. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +369 -0
  798. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  799. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  800. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  801. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  802. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  803. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  804. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  805. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  806. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  807. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  808. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  809. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  810. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  811. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  812. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  813. package/lib/esm/test/element/ElementRoundTrip.test.js +926 -0
  814. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  815. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  816. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  817. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  818. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  819. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  820. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  821. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  822. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  823. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  824. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  825. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  826. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  827. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  828. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  829. package/lib/esm/test/element/UrlLink.test.js +36 -0
  830. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  831. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  832. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  833. package/lib/esm/test/font/FontFile.test.js +139 -0
  834. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  835. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  836. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  837. package/lib/esm/test/font/IModelDbFonts.test.js +266 -0
  838. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  839. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  840. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  841. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +176 -0
  842. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  843. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  844. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  845. package/lib/esm/test/hubaccess/CheckpointManager.test.js +51 -0
  846. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  847. package/lib/esm/test/imageData.d.ts +9 -0
  848. package/lib/esm/test/imageData.d.ts.map +1 -0
  849. package/lib/esm/test/imageData.js +16 -0
  850. package/lib/esm/test/imageData.js.map +1 -0
  851. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  852. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  853. package/lib/esm/test/imodel/ElementTreeWalker.test.js +383 -0
  854. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  855. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  856. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  857. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  858. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  859. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  860. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  861. package/lib/esm/test/imodel/IModel.test.js +2615 -0
  862. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  863. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  864. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  865. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  866. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  867. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  868. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  869. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  870. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  871. package/lib/esm/test/index.d.ts +7 -0
  872. package/lib/esm/test/index.d.ts.map +1 -0
  873. package/lib/esm/test/index.js +11 -0
  874. package/lib/esm/test/index.js.map +1 -0
  875. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  876. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  877. package/lib/esm/test/misc/DevTools.test.js +72 -0
  878. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  879. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  880. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  881. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  882. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  883. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  884. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  885. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  886. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  887. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  888. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  889. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  890. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  891. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  892. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  893. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  894. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  895. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  896. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  897. package/lib/esm/test/rpc/response.test.js +112 -0
  898. package/lib/esm/test/rpc/response.test.js.map +1 -0
  899. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  900. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  901. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  902. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  903. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  904. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  905. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  906. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  907. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  908. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  909. package/lib/esm/test/schema/GenericDomain.test.js +133 -0
  910. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  911. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  912. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  913. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  914. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  915. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  916. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  917. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  918. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  919. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  920. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  921. package/lib/esm/test/standalone/ChangeMerge.test.js +409 -0
  922. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  923. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  924. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  925. package/lib/esm/test/standalone/ChangesetReader.test.js +891 -0
  926. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  927. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  928. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  929. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  930. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  931. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  932. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  933. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  934. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  935. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  936. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  937. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  938. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  939. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  940. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  941. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  942. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  943. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  944. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  945. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  946. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  947. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  948. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  949. package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
  950. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  951. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  952. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  953. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  954. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  955. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  956. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  957. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  958. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  959. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  960. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  961. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  962. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  963. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  964. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  965. package/lib/esm/test/standalone/IModelWrite.test.js +907 -0
  966. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  967. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  968. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  969. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  970. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  971. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  972. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  973. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  974. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  975. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  976. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  977. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  978. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  979. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  980. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  981. package/lib/esm/test/standalone/RenderMaterialElement.test.js +399 -0
  982. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  983. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  984. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  985. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  986. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  987. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  988. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  989. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  990. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  991. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  992. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  993. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  994. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  995. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  996. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  997. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  998. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  999. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  1000. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  1001. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  1002. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  1003. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  1004. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  1005. package/lib/esm/test/standalone/Setting.test.js +76 -0
  1006. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  1007. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  1008. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  1009. package/lib/esm/test/standalone/Settings.test.js +349 -0
  1010. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1011. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1012. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1013. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1014. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1015. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1016. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1017. package/lib/esm/test/standalone/SnapshotDb.test.js +154 -0
  1018. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1019. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1020. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1021. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1022. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1023. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1024. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1025. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1026. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1027. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1028. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1029. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1030. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1031. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1032. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1033. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1034. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1035. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1036. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1037. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1038. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1039. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1040. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1041. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1042. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1043. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1044. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1045. package/lib/esm/test/standalone/Workspace.test.js +161 -0
  1046. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1047. package/lib/esm/workspace/Settings.d.ts +216 -0
  1048. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1049. package/lib/esm/workspace/Settings.js +83 -0
  1050. package/lib/esm/workspace/Settings.js.map +1 -0
  1051. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1052. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1053. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1054. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1055. package/lib/esm/workspace/Workspace.d.ts +507 -0
  1056. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1057. package/lib/esm/workspace/Workspace.js +97 -0
  1058. package/lib/esm/workspace/Workspace.js.map +1 -0
  1059. package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
  1060. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1061. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1062. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1063. package/package.json +37 -29
  1064. package/lib/cjs/HubMock.d.ts.map +0 -1
  1065. package/lib/cjs/HubMock.js.map +0 -1
  1066. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1067. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1068. 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
@@ -109,6 +147,8 @@ class IModelDb extends core_common_1.IModel {
109
147
  get holdsSchemaLock() {
110
148
  return this.locks.holdsExclusiveLock(core_common_1.IModel.repositoryModelId);
111
149
  }
150
+ /** Event called after a changeset is applied to this IModelDb. */
151
+ onChangesetApplied = new core_bentley_1.BeEvent();
112
152
  /** @internal */
113
153
  notifyChangesetApplied() {
114
154
  this.changeset = this[Symbols_1._nativeDb].getCurrentChangeset();
@@ -118,25 +158,14 @@ class IModelDb extends core_common_1.IModel {
118
158
  restartDefaultTxn() {
119
159
  this[Symbols_1._nativeDb].restartDefaultTxn();
120
160
  }
161
+ /** @deprecated in 5.0.0. Use [[fonts]]. */
121
162
  get fontMap() {
122
- return this._fontMap ?? (this._fontMap = new core_common_1.FontMap(this[Symbols_1._nativeDb].readFontMap()));
163
+ return this._fontMap ?? (this._fontMap = new core_common_1.FontMap(this[Symbols_1._nativeDb].readFontMap())); // eslint-disable-line @typescript-eslint/no-deprecated
123
164
  }
124
165
  /** @internal */
125
166
  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 });
167
+ this._fontMap = undefined; // eslint-disable-line @typescript-eslint/no-deprecated
168
+ this[Symbols_1._nativeDb].invalidateFontMap();
140
169
  }
141
170
  /** Check if this iModel has been opened read-only or not. */
142
171
  get isReadonly() { return this.openMode === core_bentley_1.OpenMode.Readonly; }
@@ -145,10 +174,8 @@ class IModelDb extends core_common_1.IModel {
145
174
  (0, core_bentley_1.assert)(undefined !== super.iModelId);
146
175
  return super.iModelId;
147
176
  } // 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]; }
177
+ /** @internal*/
178
+ [Symbols_1._nativeDb];
152
179
  /** Get the full path fileName of this iModelDb
153
180
  * @note this member is only valid while the iModel is opened.
154
181
  */
@@ -164,22 +191,6 @@ class IModelDb extends core_common_1.IModel {
164
191
  /** @internal */
165
192
  constructor(args) {
166
193
  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
194
  this[Symbols_1._nativeDb] = args.nativeDb;
184
195
  // it is illegal to create an IModelDb unless the nativeDb has been opened. Throw otherwise.
185
196
  if (!this.isOpen)
@@ -209,6 +220,40 @@ class IModelDb extends core_common_1.IModel {
209
220
  });
210
221
  }
211
222
  }
223
+ /**
224
+ * Attach an iModel file to this connection and load and register its schemas.
225
+ * @note There are some reserve tablespace names that cannot be used. They are 'main', 'schema_sync_db', 'ecchange' & 'temp'
226
+ * @param fileName IModel file name
227
+ * @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'
228
+ *
229
+ * *Example:*
230
+ * ``` ts
231
+ * [[include:IModelDb_attachDb.code]]
232
+ * ```
233
+ */
234
+ attachDb(fileName, alias) {
235
+ if (alias.toLowerCase() === "main" || alias.toLowerCase() === "schema_sync_db" || alias.toLowerCase() === "ecchange" || alias.toLowerCase() === "temp") {
236
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "Reserved tablespace name cannot be used");
237
+ }
238
+ this[Symbols_1._nativeDb].attachDb(fileName, alias);
239
+ }
240
+ /**
241
+ * Detach the attached file from this connection. The attached file is closed and its schemas are unregistered.
242
+ * @note There are some reserve tablespace names that cannot be used. They are 'main', 'schema_sync_db', 'ecchange' & 'temp'
243
+ * @param alias identifer that was used in the call to [[attachDb]]
244
+ *
245
+ * *Example:*
246
+ * ``` ts
247
+ * [[include:IModelDb_attachDb.code]]
248
+ * ```
249
+ */
250
+ detachDb(alias) {
251
+ if (alias.toLowerCase() === "main" || alias.toLowerCase() === "schema_sync_db" || alias.toLowerCase() === "ecchange" || alias.toLowerCase() === "temp") {
252
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "Reserved tablespace name cannot be used");
253
+ }
254
+ this.clearCaches();
255
+ this[Symbols_1._nativeDb].detachDb(alias);
256
+ }
212
257
  /** Close this IModel, if it is currently open, and save changes if it was opened in ReadWrite mode. */
213
258
  close() {
214
259
  if (!this.isOpen)
@@ -226,6 +271,8 @@ class IModelDb extends core_common_1.IModel {
226
271
  }
227
272
  /** @internal */
228
273
  async refreshContainerForRpc(_userAccessToken) { }
274
+ /** Event called when the iModel is about to be closed. */
275
+ onBeforeClose = new core_bentley_1.BeEvent();
229
276
  /**
230
277
  * Called by derived classes before closing the connection
231
278
  * @internal
@@ -235,8 +282,8 @@ class IModelDb extends core_common_1.IModel {
235
282
  this.clearCaches();
236
283
  }
237
284
  /** @internal */
238
- initializeIModelDb() {
239
- const props = this[Symbols_1._nativeDb].getIModelProps();
285
+ initializeIModelDb(when) {
286
+ const props = this[Symbols_1._nativeDb].getIModelProps(when);
240
287
  super.initialize(props.rootSubject.name, props);
241
288
  if (this._initialized)
242
289
  return;
@@ -288,8 +335,11 @@ class IModelDb extends core_common_1.IModel {
288
335
  * @returns the value returned by `callback`.
289
336
  * @see [[withStatement]]
290
337
  * @public
338
+ * @deprecated in 4.11. Use [[createQueryReader]] instead.
291
339
  */
340
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
292
341
  withPreparedStatement(ecsql, callback, logErrors = true) {
342
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
293
343
  const stmt = this._statementCache.findAndRemove(ecsql) ?? this.prepareStatement(ecsql, logErrors);
294
344
  const release = () => this._statementCache.addOrDispose(stmt);
295
345
  try {
@@ -317,10 +367,13 @@ class IModelDb extends core_common_1.IModel {
317
367
  * @returns the value returned by `callback`.
318
368
  * @see [[withPreparedStatement]]
319
369
  * @public
370
+ * @deprecated in 4.11. Use [[createQueryReader]] instead.
320
371
  */
372
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
321
373
  withStatement(ecsql, callback, logErrors = true) {
374
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
322
375
  const stmt = this.prepareStatement(ecsql, logErrors);
323
- const release = () => stmt.dispose();
376
+ const release = () => stmt[Symbol.dispose]();
324
377
  try {
325
378
  const val = callback(stmt);
326
379
  if (val instanceof Promise) {
@@ -358,70 +411,6 @@ class IModelDb extends core_common_1.IModel {
358
411
  };
359
412
  return new core_common_1.ECSqlReader(executor, ecsql, params, config);
360
413
  }
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
414
  /**
426
415
  * Use a prepared SQL statement, potentially from the statement cache. If the requested statement doesn't exist
427
416
  * in the statement cache, a new statement is prepared. After the callback completes, the statement is reset and saved
@@ -465,7 +454,7 @@ class IModelDb extends core_common_1.IModel {
465
454
  */
466
455
  withSqliteStatement(sql, callback, logErrors = true) {
467
456
  const stmt = this.prepareSqliteStatement(sql, logErrors);
468
- const release = () => stmt.dispose();
457
+ const release = () => stmt[Symbol.dispose]();
469
458
  try {
470
459
  const val = callback(stmt);
471
460
  if (val instanceof Promise) {
@@ -560,6 +549,7 @@ class IModelDb extends core_common_1.IModel {
560
549
  if (typeof params.offset === "number" && params.offset > 0)
561
550
  sql += ` OFFSET ${params.offset}`;
562
551
  const ids = new Set();
552
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
563
553
  this.withPreparedStatement(sql, (stmt) => {
564
554
  if (params.bindings)
565
555
  stmt.bindValues(params.bindings);
@@ -579,6 +569,9 @@ class IModelDb extends core_common_1.IModel {
579
569
  this._statementCache.clear();
580
570
  this._sqliteStatementCache.clear();
581
571
  this._classMetaDataRegistry = undefined;
572
+ this._jsClassMap = undefined;
573
+ this._schemaMap = undefined;
574
+ this._schemaContext = undefined;
582
575
  }
583
576
  /** Update the project extents for this iModel.
584
577
  * <p><em>Example:</em>
@@ -617,9 +610,11 @@ class IModelDb extends core_common_1.IModel {
617
610
  updateIModelProps() {
618
611
  this[Symbols_1._nativeDb].updateIModelProps(this.toJSON());
619
612
  }
620
- /** Commit pending changes to this iModel.
613
+ /** Commit unsaved changes in memory as a Txn to this iModelDb.
621
614
  * @param description Optional description of the changes
622
615
  * @throws [[IModelError]] if there is a problem saving changes or if there are pending, un-processed lock or code requests.
616
+ * @note This will not push changes to the iModelHub.
617
+ * @see [[IModelDb.pushChanges]] to push changes to the iModelHub.
623
618
  */
624
619
  saveChanges(description) {
625
620
  if (this.openMode === core_bentley_1.OpenMode.Readonly)
@@ -628,7 +623,9 @@ class IModelDb extends core_common_1.IModel {
628
623
  if (core_bentley_1.DbResult.BE_SQLITE_OK !== stat)
629
624
  throw new core_common_1.IModelError(stat, `Could not save changes (${description})`);
630
625
  }
631
- /** Abandon pending changes in this iModel. */
626
+ /** Abandon changes in memory that have not been saved as a Txn to this iModelDb.
627
+ * @note This will not delete Txns that have already been saved, even if they have not yet been pushed.
628
+ */
632
629
  abandonChanges() {
633
630
  this[Symbols_1._nativeDb].abandonChanges();
634
631
  }
@@ -873,12 +870,54 @@ class IModelDb extends core_common_1.IModel {
873
870
  }
874
871
  /** The registry of entity metadata for this iModel.
875
872
  * @internal
873
+ * @deprecated in 5.0. Please use `schemaContext` from the `iModel` instead.
874
+ *
875
+ * @example
876
+ * ```typescript
877
+ * // Current usage:
878
+ * const classMetaData: EntityMetaData | undefined = iModel.classMetaDataRegistry.find("SchemaName:ClassName");
879
+ *
880
+ * // Replacement:
881
+ * const metaData: EntityClass | undefined = imodel.schemaContext.getSchemaItemSync("SchemaName.ClassName", EntityClass);
882
+ * ```
876
883
  */
884
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
877
885
  get classMetaDataRegistry() {
878
886
  if (this._classMetaDataRegistry === undefined)
887
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
879
888
  this._classMetaDataRegistry = new ClassRegistry_1.MetaDataRegistry();
880
889
  return this._classMetaDataRegistry;
881
890
  }
891
+ /**
892
+ * Allows registering js classes mapped to ECClasses
893
+ */
894
+ get jsClassMap() {
895
+ if (this._jsClassMap === undefined)
896
+ this._jsClassMap = new ClassRegistry_1.EntityJsClassMap();
897
+ return this._jsClassMap;
898
+ }
899
+ /**
900
+ * Allows locally registering a schema for this imodel, in constrast to [Schemas.registerSchema] which is a global operation
901
+ */
902
+ get schemaMap() {
903
+ if (this._schemaMap === undefined)
904
+ this._schemaMap = new Schema_1.SchemaMap();
905
+ return this._schemaMap;
906
+ }
907
+ /**
908
+ * Gets the context that allows accessing the metadata (ecschema-metadata package) of this iModel
909
+ * @beta
910
+ */
911
+ get schemaContext() {
912
+ if (this._schemaContext === undefined) {
913
+ const context = new ecschema_metadata_1.SchemaContext();
914
+ // TODO: We probably need a more optimized locater for here
915
+ const locater = new ecschema_metadata_1.SchemaJsonLocater((name) => this.getSchemaProps(name));
916
+ context.addLocater(locater);
917
+ this._schemaContext = context;
918
+ }
919
+ return this._schemaContext;
920
+ }
882
921
  /** Get the linkTableRelationships for this IModel */
883
922
  get relationships() {
884
923
  return this._relationships || (this._relationships = new Relationship_1.Relationships(this));
@@ -891,8 +930,11 @@ class IModelDb extends core_common_1.IModel {
891
930
  * @param sql The ECSQL statement to prepare
892
931
  * @param logErrors Determines if error will be logged if statement fail to prepare
893
932
  * @throws [[IModelError]] if there is a problem preparing the statement.
933
+ * @deprecated in 4.11. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
894
934
  */
935
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
895
936
  prepareStatement(sql, logErrors = true) {
937
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
896
938
  const stmt = new ECSqlStatement_1.ECSqlStatement();
897
939
  stmt.prepare(this[Symbols_1._nativeDb], sql, logErrors);
898
940
  return stmt;
@@ -900,8 +942,11 @@ class IModelDb extends core_common_1.IModel {
900
942
  /** Prepare an ECSQL statement.
901
943
  * @param sql The ECSQL statement to prepare
902
944
  * @returns `undefined` if there is a problem preparing the statement.
945
+ * @deprecated in 4.11. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
903
946
  */
947
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
904
948
  tryPrepareStatement(sql) {
949
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
905
950
  const statement = new ECSqlStatement_1.ECSqlStatement();
906
951
  const result = statement.tryPrepare(this[Symbols_1._nativeDb], sql);
907
952
  return core_bentley_1.DbResult.BE_SQLITE_OK === result.status ? statement : undefined;
@@ -922,26 +967,54 @@ class IModelDb extends core_common_1.IModel {
922
967
  if (!ClassRegistry_1.ClassRegistry.isNotFoundError(err)) {
923
968
  throw err;
924
969
  }
970
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
925
971
  this.loadMetaData(classFullName);
926
972
  return ClassRegistry_1.ClassRegistry.getClass(classFullName, this);
927
973
  }
928
974
  }
929
975
  /** Get metadata for a class. This method will load the metadata from the iModel into the cache as a side-effect, if necessary.
930
976
  * @throws [[IModelError]] if the metadata cannot be found nor loaded.
977
+ * @deprecated in 5.0. Please use `getSchemaItem` from `SchemaContext` class instead.
978
+ *
979
+ * @example
980
+ * * ```typescript
981
+ * // Current usage:
982
+ * const metaData: EntityMetaData = imodel.getMetaData("SchemaName:ClassName");
983
+ *
984
+ * // Replacement:
985
+ * const metaData: EntityClass | undefined = imodel.schemaContext.getSchemaItemSync("SchemaName", "ClassName", EntityClass);
986
+ * ```
931
987
  */
988
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
932
989
  getMetaData(classFullName) {
990
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
933
991
  let metadata = this.classMetaDataRegistry.find(classFullName);
934
992
  if (metadata === undefined) {
993
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
935
994
  this.loadMetaData(classFullName);
995
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
936
996
  metadata = this.classMetaDataRegistry.find(classFullName);
937
997
  if (metadata === undefined)
938
998
  throw ClassRegistry_1.ClassRegistry.makeMetaDataNotFoundError(classFullName); // do not log
939
999
  }
940
1000
  return metadata;
941
1001
  }
942
- /** Identical to [[getMetaData]], except it returns `undefined` instead of throwing an error if the metadata cannot be found nor loaded. */
1002
+ /** Identical to [[getMetaData]], except it returns `undefined` instead of throwing an error if the metadata cannot be found nor loaded.
1003
+ * @deprecated in 5.0. Please use `getSchemaItem` from `SchemaContext` class instead.
1004
+ *
1005
+ * @example
1006
+ * * ```typescript
1007
+ * // Current usage:
1008
+ * const metaData: EntityMetaData | undefined = imodel.tryGetMetaData("SchemaName:ClassName");
1009
+ *
1010
+ * // Replacement:
1011
+ * const metaData: EntityClass | undefined = imodel.schemaContext.getSchemaItemSync("SchemaName.ClassName", EntityClass);
1012
+ * ```
1013
+ */
1014
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
943
1015
  tryGetMetaData(classFullName) {
944
1016
  try {
1017
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
945
1018
  return this.getMetaData(classFullName);
946
1019
  }
947
1020
  catch {
@@ -955,8 +1028,24 @@ class IModelDb extends core_common_1.IModel {
955
1028
  * @param func The callback to be invoked on each property
956
1029
  * @param includeCustom If true (default), include custom-handled properties in the iteration. Otherwise, skip custom-handled properties.
957
1030
  * @note Custom-handled properties are core properties that have behavior enforced by C++ handlers.
1031
+ * @deprecated in 5.0. Please use `forEachProperty` instead.
1032
+ *
1033
+ * @example
1034
+ * ```typescript
1035
+ * // Current usage:
1036
+ * IModelDb.forEachMetaData(imodel, "BisCore:Element", true, (name: string, propMetaData: PropertyMetaData) => {
1037
+ * console.log(`Property name: ${name}, Property type: ${propMetaData.primitiveType}`);
1038
+ * }, false);
1039
+ *
1040
+ * // Replacement:
1041
+ * await IModelDb.forEachProperty(imodel, "TestDomain.TestDomainClass", true, (propName: string, property: Property) => {
1042
+ * console.log(`Property name: ${propName}, Property type: ${property.propertyType}`);
1043
+ * }, false);
1044
+ * ```
958
1045
  */
1046
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
959
1047
  static forEachMetaData(iModel, classFullName, wantSuper, func, includeCustom = true) {
1048
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
960
1049
  iModel.forEachMetaData(classFullName, wantSuper, func, includeCustom);
961
1050
  }
962
1051
  /** Invoke a callback on each property of the specified class, optionally including superclass properties.
@@ -965,8 +1054,24 @@ class IModelDb extends core_common_1.IModel {
965
1054
  * @param func The callback to be invoked on each property
966
1055
  * @param includeCustom If true (default), include custom-handled properties in the iteration. Otherwise, skip custom-handled properties.
967
1056
  * @note Custom-handled properties are core properties that have behavior enforced by C++ handlers.
1057
+ * @deprecated in 5.0. Use `forEachProperty` from `SchemaContext` class instead.
1058
+ *
1059
+ * @example
1060
+ * ```typescript
1061
+ * // Current usage:
1062
+ * iModel.forEachMetaData("BisCore:Element", true, (name: string, propMetaData: PropertyMetaData) => {
1063
+ * console.log(`Property name: ${name}, Property type: ${propMetaData.primitiveType}`);
1064
+ * });
1065
+ *
1066
+ * // Replacement:
1067
+ * imodel.schemaContext.forEachProperty("BisCore:Element", true, (propName: string, property: Property) => {
1068
+ * console.log(`Property name: ${propName}, Property type: ${property.propertyType}`);
1069
+ * });
1070
+ * ```
968
1071
  */
1072
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
969
1073
  forEachMetaData(classFullName, wantSuper, func, includeCustom = true) {
1074
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
970
1075
  const meta = this.getMetaData(classFullName); // will load if necessary
971
1076
  for (const propName in meta.properties) { // eslint-disable-line guard-for-in
972
1077
  const propMeta = meta.properties[propName];
@@ -974,10 +1079,15 @@ class IModelDb extends core_common_1.IModel {
974
1079
  func(propName, propMeta);
975
1080
  }
976
1081
  if (wantSuper && meta.baseClasses && meta.baseClasses.length > 0)
1082
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
977
1083
  meta.baseClasses.forEach((baseClass) => this.forEachMetaData(baseClass, true, func, includeCustom));
978
1084
  }
979
- /** @internal */
1085
+ /**
1086
+ * @internal
1087
+ * @deprecated in 5.0. Please use `schemaContext` from `iModel` instead to get metadata.
1088
+ */
980
1089
  loadMetaData(classFullName) {
1090
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
981
1091
  if (this.classMetaDataRegistry.find(classFullName))
982
1092
  return;
983
1093
  const className = classFullName.split(":");
@@ -987,10 +1097,13 @@ class IModelDb extends core_common_1.IModel {
987
1097
  if (val.error)
988
1098
  throw new core_common_1.IModelError(val.error.status, `Error getting class meta data for: ${classFullName}`);
989
1099
  (0, core_bentley_1.assert)(undefined !== val.result);
1100
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
990
1101
  const metaData = new core_common_1.EntityMetaData(JSON.parse(val.result));
1102
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
991
1103
  this.classMetaDataRegistry.add(classFullName, metaData);
992
1104
  // Recursive, to make sure that base classes are cached.
993
1105
  if (metaData.baseClasses !== undefined && metaData.baseClasses.length > 0)
1106
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
994
1107
  metaData.baseClasses.forEach((baseClassName) => this.loadMetaData(baseClassName));
995
1108
  }
996
1109
  /** Returns the full schema for the input name.
@@ -1016,6 +1129,7 @@ class IModelDb extends core_common_1.IModel {
1016
1129
  */
1017
1130
  querySchemaVersion(schemaName) {
1018
1131
  const sql = `SELECT VersionMajor,VersionWrite,VersionMinor FROM ECDbMeta.ECSchemaDef WHERE Name=:schemaName LIMIT 1`;
1132
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1019
1133
  return this.withPreparedStatement(sql, (statement) => {
1020
1134
  statement.bindString("schemaName", schemaName);
1021
1135
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) {
@@ -1192,6 +1306,7 @@ class IModelDb extends core_common_1.IModel {
1192
1306
  async generateElementGraphics(request) {
1193
1307
  return (0, ElementGraphics_1.generateElementGraphics)(request, this);
1194
1308
  }
1309
+ static _settingPropNamespace = "settings";
1195
1310
  /** Save a `SettingDictionary` in this iModel that will be loaded into [[workspace.settings]] every time this iModel is opened in future sessions.
1196
1311
  * @param name The name for the SettingDictionary. If a dictionary by that name already exists in the iModel, its value is replaced.
1197
1312
  * @param dict The SettingDictionary object to stringify and save.
@@ -1284,19 +1399,61 @@ class IModelDb extends core_common_1.IModel {
1284
1399
  justification: core_geometry_1.Range2d.fromJSON(props.justification),
1285
1400
  };
1286
1401
  }
1402
+ /** Writes the contents of a single ECSchema to a file on the local file system.
1403
+ * @beta
1404
+ */
1405
+ exportSchema(args) {
1406
+ processSchemaWriteStatus(this[Symbols_1._nativeDb].exportSchema(args.schemaName, args.outputDirectory, args.outputFileName));
1407
+ }
1408
+ /** Writes the contents of all ECSchemas in this iModel to files in a directory on the local file system.
1409
+ * @beta
1410
+ */
1411
+ exportSchemas(outputDirectory) {
1412
+ processSchemaWriteStatus(this[Symbols_1._nativeDb].exportSchemas(outputDirectory));
1413
+ }
1414
+ /** Attempt to simplify the geometry stream of a single [[GeometricElement]] or [[GeometryPart]] as specified by `args`.
1415
+ * @beta
1416
+ */
1417
+ simplifyElementGeometry(args) {
1418
+ return this[Symbols_1._nativeDb].simplifyElementGeometry(args);
1419
+ }
1420
+ /** Attempts to optimize all of the geometry in this iModel by identifying [[GeometryPart]]s that are referenced by exactly one
1421
+ * element's geometry stream. Each such reference is replaced by inserting the part's geometry directly into the element's geometry stream.
1422
+ * Then, the no-longer-used geometry part is deleted.
1423
+ * This can improve performance when a connector inadvertently creates large numbers of parts that are each only used once.
1424
+ * @beta
1425
+ */
1426
+ inlineGeometryParts() {
1427
+ return this[Symbols_1._nativeDb].inlineGeometryPartReferences();
1428
+ }
1429
+ /** Returns a string representation of the error that most recently arose during an operation on the underlying SQLite database.
1430
+ * If no errors have occurred, an empty string is returned.
1431
+ * 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.
1432
+ * See [SQLite error codes and messages](https://www.sqlite.org/c3ref/errcode.html)
1433
+ * @note Do not rely upon this value or its specific contents in error handling logic. It is only intended for use in debugging.
1434
+ */
1435
+ getLastError() {
1436
+ return this[Symbols_1._nativeDb].getLastError();
1437
+ }
1287
1438
  }
1288
1439
  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";
1440
+ function processSchemaWriteStatus(status) {
1441
+ switch (status) {
1442
+ case 0 /* SchemaWriteStatus.Success */: return;
1443
+ case 1 /* SchemaWriteStatus.FailedToSaveXml */: throw new Error("Failed to save schema XML");
1444
+ case 2 /* SchemaWriteStatus.FailedToCreateXml */: throw new Error("Failed to create schema XML");
1445
+ case 3 /* SchemaWriteStatus.FailedToCreateJson */: throw new Error("Failed to create schema JSON");
1446
+ case 4 /* SchemaWriteStatus.FailedToWriteFile */: throw new Error("Failed to write schema file");
1447
+ default: throw new Error("Unknown error while exporting schema");
1448
+ }
1449
+ }
1294
1450
  /** @public */
1295
1451
  (function (IModelDb) {
1296
1452
  /** The collection of models in an [[IModelDb]].
1297
1453
  * @public
1298
1454
  */
1299
1455
  class Models {
1456
+ _iModel;
1300
1457
  /** @internal */
1301
1458
  constructor(_iModel) {
1302
1459
  this._iModel = _iModel;
@@ -1325,6 +1482,7 @@ IModelDb._settingPropNamespace = "settings";
1325
1482
  */
1326
1483
  queryLastModifiedTime(modelId) {
1327
1484
  const sql = `SELECT LastMod FROM ${Model_1.Model.classFullName} WHERE ECInstanceId=:modelId`;
1485
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1328
1486
  return this._iModel.withPreparedStatement(sql, (statement) => {
1329
1487
  statement.bindId("modelId", modelId);
1330
1488
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) {
@@ -1504,6 +1662,7 @@ IModelDb._settingPropNamespace = "settings";
1504
1662
  * @public
1505
1663
  */
1506
1664
  class Elements {
1665
+ _iModel;
1507
1666
  /** @internal */
1508
1667
  constructor(_iModel) {
1509
1668
  this._iModel = _iModel;
@@ -1635,6 +1794,7 @@ IModelDb._settingPropNamespace = "settings";
1635
1794
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidCodeSpec, "Invalid CodeSpec");
1636
1795
  if (code.value === undefined)
1637
1796
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidCode, "Invalid Code");
1797
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1638
1798
  return this._iModel.withPreparedStatement("SELECT ECInstanceId FROM BisCore:Element WHERE CodeSpec.Id=? AND CodeScope.Id=? AND CodeValue=?", (stmt) => {
1639
1799
  stmt.bindId(1, code.spec);
1640
1800
  stmt.bindId(2, core_bentley_1.Id64.fromString(code.scope));
@@ -1650,6 +1810,7 @@ IModelDb._settingPropNamespace = "settings";
1650
1810
  */
1651
1811
  queryLastModifiedTime(elementId) {
1652
1812
  const sql = "SELECT LastMod FROM BisCore:Element WHERE ECInstanceId=:elementId";
1813
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1653
1814
  return this._iModel.withPreparedStatement(sql, (statement) => {
1654
1815
  statement.bindId("elementId", elementId);
1655
1816
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step())
@@ -1671,9 +1832,9 @@ IModelDb._settingPropNamespace = "settings";
1671
1832
  * the value of `elProps.federationGuid` is *not* updated. Generally, it is best to re-read the element after inserting (e.g. via [[getElementProps]])
1672
1833
  * if you intend to continue working with it. That will ensure its values reflect the persistent state.
1673
1834
  */
1674
- insertElement(elProps) {
1835
+ insertElement(elProps, options) {
1675
1836
  try {
1676
- return elProps.id = this._iModel[Symbols_1._nativeDb].insertElement(elProps);
1837
+ return elProps.id = this._iModel[Symbols_1._nativeDb].insertElement(elProps, options);
1677
1838
  }
1678
1839
  catch (err) {
1679
1840
  err.message = `Error inserting element [${err.message}]`;
@@ -1801,6 +1962,7 @@ IModelDb._settingPropNamespace = "settings";
1801
1962
  */
1802
1963
  queryChildren(elementId) {
1803
1964
  const sql = "SELECT ECInstanceId FROM BisCore:Element WHERE Parent.Id=:elementId";
1965
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1804
1966
  return this._iModel.withPreparedStatement(sql, (statement) => {
1805
1967
  statement.bindId("elementId", elementId);
1806
1968
  const childIds = [];
@@ -1816,6 +1978,7 @@ IModelDb._settingPropNamespace = "settings";
1816
1978
  * @throws [[IModelError]] if the element does not exist
1817
1979
  */
1818
1980
  queryParent(elementId) {
1981
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1819
1982
  return this._iModel.withPreparedStatement(`select parent.id from ${Element_1.Element.classFullName} where ecinstanceid=?`, (stmt) => {
1820
1983
  stmt.bindId(1, elementId);
1821
1984
  if (stmt.step() !== core_bentley_1.DbResult.BE_SQLITE_ROW)
@@ -1832,6 +1995,7 @@ IModelDb._settingPropNamespace = "settings";
1832
1995
  return false; // Special case since the RepositoryModel does not sub-model the root Subject
1833
1996
  // A sub-model will have the same Id value as the element it is describing
1834
1997
  const sql = "SELECT ECInstanceId FROM BisCore:Model WHERE ECInstanceId=:elementId";
1998
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1835
1999
  return this._iModel.withPreparedStatement(sql, (statement) => {
1836
2000
  statement.bindId("elementId", elementId);
1837
2001
  return core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step();
@@ -1846,6 +2010,7 @@ IModelDb._settingPropNamespace = "settings";
1846
2010
  */
1847
2011
  _queryAspects(elementId, fromClassFullName, excludedClassFullNames) {
1848
2012
  const sql = `SELECT ECInstanceId,ECClassId FROM ${fromClassFullName} WHERE Element.Id=:elementId ORDER BY ECClassId,ECInstanceId`; // ORDER BY to maximize statement reuse
2013
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1849
2014
  return this._iModel.withPreparedStatement(sql, (statement) => {
1850
2015
  statement.bindId("elementId", elementId);
1851
2016
  const aspects = [];
@@ -1864,6 +2029,7 @@ IModelDb._settingPropNamespace = "settings";
1864
2029
  */
1865
2030
  _queryAspect(aspectInstanceId, aspectClassName) {
1866
2031
  const sql = `SELECT * FROM ${aspectClassName} WHERE ECInstanceId=:aspectInstanceId`;
2032
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1867
2033
  const aspect = this._iModel.withPreparedStatement(sql, (statement) => {
1868
2034
  statement.bindId("aspectInstanceId", aspectInstanceId);
1869
2035
  if (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) {
@@ -1884,6 +2050,7 @@ IModelDb._settingPropNamespace = "settings";
1884
2050
  */
1885
2051
  getAspect(aspectInstanceId) {
1886
2052
  const sql = "SELECT ECClassId FROM BisCore:ElementAspect WHERE ECInstanceId=:aspectInstanceId";
2053
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1887
2054
  const aspectClassFullName = this._iModel.withPreparedStatement(sql, (statement) => {
1888
2055
  statement.bindId("aspectInstanceId", aspectInstanceId);
1889
2056
  return (core_bentley_1.DbResult.BE_SQLITE_ROW === statement.step()) ? statement.getValue(0).getClassNameForClassId().replace(".", ":") : undefined;
@@ -1893,7 +2060,9 @@ IModelDb._settingPropNamespace = "settings";
1893
2060
  }
1894
2061
  return this._queryAspect(aspectInstanceId, aspectClassFullName);
1895
2062
  }
2063
+ static classMap = new Map();
1896
2064
  runInstanceQuery(sql, elementId, excludedClassFullNames) {
2065
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1897
2066
  return this._iModel.withPreparedStatement(sql, (statement) => {
1898
2067
  statement.bindId("elementId", elementId);
1899
2068
  const aspects = [];
@@ -1922,9 +2091,9 @@ IModelDb._settingPropNamespace = "settings";
1922
2091
  */
1923
2092
  getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
1924
2093
  if (aspectClassFullName === undefined) {
1925
- const allAspects = this.runInstanceQuery(`SELECT $ FROM (
1926
- SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
1927
- UNION ALL
2094
+ const allAspects = this.runInstanceQuery(`SELECT $ FROM (
2095
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
2096
+ UNION ALL
1928
2097
  SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
1929
2098
  if (allAspects.length === 0)
1930
2099
  core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
@@ -1934,6 +2103,7 @@ IModelDb._settingPropNamespace = "settings";
1934
2103
  const fullClassName = aspectClassFullName.replace(".", ":").split(":");
1935
2104
  const val = this._iModel[Symbols_1._nativeDb].getECClassMetaData(fullClassName[0], fullClassName[1]);
1936
2105
  if (val.result !== undefined) {
2106
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
1937
2107
  const metaData = new core_common_1.EntityMetaData(JSON.parse(val.result));
1938
2108
  if (metaData.modifier !== "Abstract") // Class is not abstract, use normal query to retrieve aspects
1939
2109
  return this._queryAspects(elementId, aspectClassFullName, excludedClassFullNames);
@@ -1942,8 +2112,11 @@ IModelDb._settingPropNamespace = "settings";
1942
2112
  let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
1943
2113
  if (classIdList === undefined) {
1944
2114
  const classIds = [];
1945
- 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) => {
2115
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
2116
+ this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
2117
+ and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`,
2118
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
2119
+ (statement) => {
1947
2120
  while (statement.step() === core_bentley_1.DbResult.BE_SQLITE_ROW)
1948
2121
  classIds.push(statement.getValue(0).getId());
1949
2122
  });
@@ -1957,10 +2130,10 @@ IModelDb._settingPropNamespace = "settings";
1957
2130
  return [];
1958
2131
  }
1959
2132
  // Execute an instance query to retrieve all aspects from all the derived classes
1960
- const aspects = this.runInstanceQuery(`SELECT $ FROM (
1961
- SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
1962
- UNION ALL
1963
- SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
2133
+ const aspects = this.runInstanceQuery(`SELECT $ FROM (
2134
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
2135
+ UNION ALL
2136
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
1964
2137
  ) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
1965
2138
  if (aspects.length === 0)
1966
2139
  core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
@@ -2009,16 +2182,18 @@ IModelDb._settingPropNamespace = "settings";
2009
2182
  });
2010
2183
  }
2011
2184
  }
2012
- Elements.classMap = new Map();
2013
2185
  IModelDb.Elements = Elements;
2014
2186
  /** The collection of views in an [[IModelDb]].
2015
2187
  * @public
2016
2188
  */
2017
2189
  class Views {
2190
+ _iModel;
2018
2191
  /** @internal */
2019
2192
  constructor(_iModel) {
2020
2193
  this._iModel = _iModel;
2021
2194
  }
2195
+ static viewStoreProperty = { namespace: "itwinjs", name: "DefaultViewStore" };
2196
+ _viewStore;
2022
2197
  get hasViewStore() { return undefined !== this._viewStore; }
2023
2198
  /** @beta */
2024
2199
  get viewStore() {
@@ -2070,6 +2245,8 @@ IModelDb._settingPropNamespace = "settings";
2070
2245
  });
2071
2246
  return props;
2072
2247
  }
2248
+ /** Default parameters for iterating/querying ViewDefinitions. Includes all subclasses of ViewDefinition, excluding only those marked 'private'. */
2249
+ static defaultQueryParams = { from: "BisCore.ViewDefinition", where: "IsPrivate=FALSE" };
2073
2250
  /** Iterate all ViewDefinitions matching the supplied query.
2074
2251
  * @param params Specifies the query by which views are selected.
2075
2252
  * @param callback Function invoked for each ViewDefinition matching the query. Return false to terminate iteration, true to continue.
@@ -2141,17 +2318,6 @@ IModelDb._settingPropNamespace = "settings";
2141
2318
  }
2142
2319
  return props;
2143
2320
  }
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
2321
  /** Obtain a [ViewStateProps]($common) for a [[ViewDefinition]] specified by ViewIdString. */
2156
2322
  async getViewStateProps(viewDefinitionId, options) {
2157
2323
  const viewStateData = this.loadViewData(viewDefinitionId, options);
@@ -2206,9 +2372,6 @@ IModelDb._settingPropNamespace = "settings";
2206
2372
  this._iModel.saveFileProperty(spec, undefined, blob8);
2207
2373
  }
2208
2374
  }
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
2375
  IModelDb.Views = Views;
2213
2376
  /** Represents the current state of a pollable tile content request.
2214
2377
  * Note: lack of a "completed" state because polling a completed request returns the content as a Uint8Array.
@@ -2222,6 +2385,7 @@ IModelDb._settingPropNamespace = "settings";
2222
2385
  })(TileContentState = IModelDb.TileContentState || (IModelDb.TileContentState = {}));
2223
2386
  /** @internal */
2224
2387
  class Tiles {
2388
+ _iModel;
2225
2389
  /** @internal */
2226
2390
  constructor(_iModel) {
2227
2391
  this._iModel = _iModel;
@@ -2296,10 +2460,38 @@ IModelDb._settingPropNamespace = "settings";
2296
2460
  * @public
2297
2461
  */
2298
2462
  class BriefcaseDb extends IModelDb {
2463
+ /** Manages local changes to this briefcase. */
2464
+ txns = new TxnManager_1.TxnManager(this);
2299
2465
  /** override superclass method */
2300
2466
  get isBriefcase() { return true; }
2467
+ /* the BriefcaseId of the briefcase opened with this BriefcaseDb */
2468
+ briefcaseId;
2469
+ _skipSyncSchemasOnPullAndPush;
2301
2470
  /** @internal */
2302
2471
  get skipSyncSchemasOnPullAndPush() { return this._skipSyncSchemasOnPullAndPush ?? false; }
2472
+ /**
2473
+ * Event raised just before a BriefcaseDb is opened. Supplies the arguments that will be used to open the BriefcaseDb.
2474
+ * Throw an exception to stop the open.
2475
+ *
2476
+ * **Example:**
2477
+ * ``` ts
2478
+ * [[include:BriefcaseDb.onOpen]]
2479
+ * ```
2480
+ */
2481
+ static onOpen = new core_bentley_1.BeEvent();
2482
+ /**
2483
+ * Event raised just after a BriefcaseDb is opened. Supplies the newly opened BriefcaseDb and the arguments that were used to open it.
2484
+ *
2485
+ * **Example:**
2486
+ * ``` ts
2487
+ * [[include:BriefcaseDb.onOpened]]
2488
+ * ```
2489
+ */
2490
+ static onOpened = new core_bentley_1.BeEvent();
2491
+ /** Event raised after a BriefcaseDb has been closed. */
2492
+ onClosed = new core_bentley_1.BeEvent();
2493
+ /** @alpha */
2494
+ static onCodeServiceCreated = new core_bentley_1.BeEvent();
2303
2495
  static findByKey(key) {
2304
2496
  return super.findByKey(key);
2305
2497
  }
@@ -2329,10 +2521,6 @@ class BriefcaseDb extends IModelDb {
2329
2521
  }
2330
2522
  constructor(args) {
2331
2523
  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
2524
  this._openMode = args.openMode;
2337
2525
  this.briefcaseId = args.briefcaseId;
2338
2526
  this.makeLockControl();
@@ -2415,6 +2603,7 @@ class BriefcaseDb extends IModelDb {
2415
2603
  finally {
2416
2604
  await withBriefcaseDb(briefcase, async (db) => db.locks[Symbols_1._releaseAllLocks]());
2417
2605
  }
2606
+ return;
2418
2607
  }
2419
2608
  throw error;
2420
2609
  }
@@ -2659,7 +2848,7 @@ class BriefcaseDb extends IModelDb {
2659
2848
  await BriefcaseManager_1.BriefcaseManager.pullAndApplyChangesets(this, arg ?? {});
2660
2849
  if (!this.skipSyncSchemasOnPullAndPush)
2661
2850
  await SchemaSync_1.SchemaSync.pull(this);
2662
- this.initializeIModelDb();
2851
+ this.initializeIModelDb("pullMerge");
2663
2852
  });
2664
2853
  IpcHost_1.IpcHost.notifyTxns(this, "notifyPulledChanges", this.changeset);
2665
2854
  this.txns.touchWatchFile();
@@ -2741,46 +2930,32 @@ class BriefcaseDb extends IModelDb {
2741
2930
  // pushing changes requires a writeable briefcase
2742
2931
  await this.executeWritable(async () => {
2743
2932
  await BriefcaseManager_1.BriefcaseManager.pullMergePush(this, arg);
2744
- this.initializeIModelDb();
2933
+ this.initializeIModelDb("pullMerge");
2745
2934
  });
2746
2935
  const changeset = this.changeset;
2747
2936
  IpcHost_1.IpcHost.notifyTxns(this, "notifyPushedChanges", changeset);
2748
2937
  this.txns.touchWatchFile();
2749
2938
  }
2750
2939
  close() {
2940
+ if (this.isBriefcase && this.isOpen && !this.isReadonly && this.txns.changeMergeManager.inProgress()) {
2941
+ this.abandonChanges();
2942
+ }
2751
2943
  super.close();
2752
2944
  this.onClosed.raiseEvent();
2753
2945
  }
2754
2946
  }
2755
2947
  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
2948
  /** Used to reattach Daemon from a user's accessToken for V2 checkpoints.
2778
2949
  * @note Reattach only happens if the previous access token either has expired or is about to expire within an application-supplied safety duration.
2779
2950
  */
2780
2951
  class RefreshV2CheckpointSas {
2952
+ /** the time at which the current token should be refreshed (its expiry minus safetySeconds) */
2953
+ _timestamp = 0;
2954
+ /** while a refresh is happening, all callers get this promise. */
2955
+ _promise;
2956
+ /** Time, in seconds, before the current token expires to obtain a new token. Default is 1 hour. */
2957
+ _safetySeconds;
2781
2958
  constructor(sasToken, safetySeconds) {
2782
- /** the time at which the current token should be refreshed (its expiry minus safetySeconds) */
2783
- this._timestamp = 0;
2784
2959
  this._safetySeconds = safetySeconds ?? 60 * 60; // default to 1 hour
2785
2960
  this.setTimestamp(sasToken);
2786
2961
  }
@@ -2794,7 +2969,7 @@ class RefreshV2CheckpointSas {
2794
2969
  if (!container)
2795
2970
  throw new Error("checkpoint is not from a cloud container");
2796
2971
  (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 });
2972
+ const props = await IModelHost_1.IModelHost[Symbols_1._hubAccess].queryV2Checkpoint({ accessToken, iTwinId: iModel.iTwinId, iModelId: iModel.iModelId, changeset: iModel.changeset });
2798
2973
  if (!props)
2799
2974
  throw new Error("can't reset checkpoint sas token");
2800
2975
  container.accessToken = props.sasToken;
@@ -2827,9 +3002,18 @@ class RefreshV2CheckpointSas {
2827
3002
  */
2828
3003
  class SnapshotDb extends IModelDb {
2829
3004
  get isSnapshot() { return true; }
3005
+ _refreshSas;
3006
+ /** Timer used to restart the default txn on the SnapshotDb after some inactivity. This is only used for checkpoints.
3007
+ * Restarting the default txn lets CloudSqlite know that any blocks that may have been read may now be ejected.
3008
+ * Without restarting the default txn, CloudSQLite can get into a state where it can not evict any blocks to make space for more blocks.
3009
+ */
3010
+ _restartDefaultTxnTimer;
3011
+ _createClassViewsOnClose;
3012
+ static onOpen = new core_bentley_1.BeEvent();
3013
+ static onOpened = new core_bentley_1.BeEvent();
2830
3014
  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
3015
+ super({ nativeDb, key, changeset: nativeDb.getCurrentChangeset() });
3016
+ this._openMode = nativeDb.isReadonly() ? core_bentley_1.OpenMode.Readonly : core_bentley_1.OpenMode.ReadWrite;
2833
3017
  }
2834
3018
  static findByKey(key) {
2835
3019
  return super.findByKey(key);
@@ -2869,7 +3053,7 @@ class SnapshotDb extends IModelDb {
2869
3053
  iModelDb.performCheckpoint();
2870
3054
  IModelJsFs_1.IModelJsFs.copySync(iModelDb.pathName, snapshotFile);
2871
3055
  const nativeDb = new NativePlatform_1.IModelNative.platform.DgnDb();
2872
- nativeDb.openIModel(snapshotFile, core_bentley_1.OpenMode.ReadWrite, undefined, options);
3056
+ nativeDb.openIModel(snapshotFile, core_bentley_1.OpenMode.ReadWrite, undefined);
2873
3057
  nativeDb.vacuum();
2874
3058
  // Replace iModelId if seedFile is a snapshot, preserve iModelId if seedFile is an iModelHub-managed briefcase
2875
3059
  if (!BriefcaseManager_1.BriefcaseManager.isValidBriefcaseId(nativeDb.getBriefcaseId()))
@@ -2933,8 +3117,10 @@ class SnapshotDb extends IModelDb {
2933
3117
  snapshot._restartDefaultTxnTimer = setTimeout(() => {
2934
3118
  snapshot.restartDefaultTxn();
2935
3119
  }, (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);
3120
+ const cloudContainer = snapshot[Symbols_1._nativeDb].cloudContainer;
3121
+ if (cloudContainer !== undefined) {
3122
+ snapshot._refreshSas = new RefreshV2CheckpointSas(cloudContainer.accessToken, checkpoint.reattachSafetySeconds);
3123
+ }
2938
3124
  return snapshot;
2939
3125
  }
2940
3126
  /**
@@ -2968,8 +3154,6 @@ class SnapshotDb extends IModelDb {
2968
3154
  }
2969
3155
  }
2970
3156
  exports.SnapshotDb = SnapshotDb;
2971
- SnapshotDb.onOpen = new core_bentley_1.BeEvent();
2972
- SnapshotDb.onOpened = new core_bentley_1.BeEvent();
2973
3157
  /**
2974
3158
  * Standalone iModels are read/write files that are not associated with an iTwin or managed by iModelHub.
2975
3159
  * They are relevant only for testing, or for small-scale single-user scenarios.
@@ -3062,6 +3246,22 @@ class StandaloneDb extends BriefcaseDb {
3062
3246
  throw error;
3063
3247
  }
3064
3248
  }
3249
+ /** Convert an iModel stored on the local file system into a StandaloneDb, chiefly for testing purposes.
3250
+ * The file must not be open in any application.
3251
+ * @param iModelFileName the path to the iModel on the local file system.
3252
+ * @beta
3253
+ */
3254
+ static convertToStandalone(iModelFileName) {
3255
+ const nativeDb = new NativePlatform_1.IModelNative.platform.DgnDb();
3256
+ nativeDb.openIModel(iModelFileName, core_bentley_1.OpenMode.ReadWrite);
3257
+ nativeDb.setITwinId(core_bentley_1.Guid.empty); // empty iTwinId means "standalone"
3258
+ nativeDb.saveChanges(); // save change to iTwinId
3259
+ nativeDb.deleteAllTxns(); // necessary before resetting briefcaseId
3260
+ nativeDb.resetBriefcaseId(core_common_1.BriefcaseIdValue.Unassigned); // standalone iModels should always have BriefcaseId unassigned
3261
+ nativeDb.saveLocalValue("StandaloneEdit", JSON.stringify({ txns: true }));
3262
+ nativeDb.saveChanges(); // save change to briefcaseId
3263
+ nativeDb.closeFile();
3264
+ }
3065
3265
  }
3066
3266
  exports.StandaloneDb = StandaloneDb;
3067
3267
  //# sourceMappingURL=IModelDb.js.map