@itwin/core-backend 5.0.0-dev.96 → 5.0.0-dev.98

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 (385) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +2 -8
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js.map +1 -1
  5. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  6. package/lib/cjs/BisCoreSchema.js.map +1 -1
  7. package/lib/cjs/BlobContainerService.js.map +1 -1
  8. package/lib/cjs/BriefcaseManager.js.map +1 -1
  9. package/lib/cjs/Category.js.map +1 -1
  10. package/lib/cjs/ChangeSummaryManager.js +2 -2
  11. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  12. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  13. package/lib/cjs/ChangesetECAdaptor.js +242 -242
  14. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  15. package/lib/cjs/ChannelControl.js.map +1 -1
  16. package/lib/cjs/CheckpointManager.d.ts +8 -15
  17. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  18. package/lib/cjs/CheckpointManager.js +23 -54
  19. package/lib/cjs/CheckpointManager.js.map +1 -1
  20. package/lib/cjs/ClassRegistry.js +5 -5
  21. package/lib/cjs/ClassRegistry.js.map +1 -1
  22. package/lib/cjs/CloudSqlite.js.map +1 -1
  23. package/lib/cjs/CodeService.js.map +1 -1
  24. package/lib/cjs/CodeSpecs.js.map +1 -1
  25. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  26. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  27. package/lib/cjs/DevTools.js.map +1 -1
  28. package/lib/cjs/DisplayStyle.js.map +1 -1
  29. package/lib/cjs/ECDb.js.map +1 -1
  30. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  31. package/lib/cjs/ECSqlStatement.js.map +1 -1
  32. package/lib/cjs/Element.d.ts +16 -4
  33. package/lib/cjs/Element.d.ts.map +1 -1
  34. package/lib/cjs/Element.js +40 -2
  35. package/lib/cjs/Element.js.map +1 -1
  36. package/lib/cjs/ElementAspect.js.map +1 -1
  37. package/lib/cjs/ElementGraphics.js.map +1 -1
  38. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  39. package/lib/cjs/Entity.js.map +1 -1
  40. package/lib/cjs/EntityReferences.js.map +1 -1
  41. package/lib/cjs/ExportGraphics.js.map +1 -1
  42. package/lib/cjs/ExternalSource.js.map +1 -1
  43. package/lib/cjs/FontFile.js.map +1 -1
  44. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  45. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  46. package/lib/cjs/GeometrySummary.js +47 -47
  47. package/lib/cjs/GeometrySummary.js.map +1 -1
  48. package/lib/cjs/HubMock.d.ts +1 -1
  49. package/lib/cjs/HubMock.d.ts.map +1 -1
  50. package/lib/cjs/HubMock.js +13 -2
  51. package/lib/cjs/HubMock.js.map +1 -1
  52. package/lib/cjs/IModelDb.d.ts.map +1 -1
  53. package/lib/cjs/IModelDb.js +12 -10
  54. package/lib/cjs/IModelDb.js.map +1 -1
  55. package/lib/cjs/IModelDbFonts.js.map +1 -1
  56. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  57. package/lib/cjs/IModelHost.js.map +1 -1
  58. package/lib/cjs/IModelJsFs.js.map +1 -1
  59. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  60. package/lib/cjs/IpcHost.js.map +1 -1
  61. package/lib/cjs/LineStyle.js.map +1 -1
  62. package/lib/cjs/LocalHub.js +1 -1
  63. package/lib/cjs/LocalHub.js.map +1 -1
  64. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  65. package/lib/cjs/LockControl.js.map +1 -1
  66. package/lib/cjs/Material.js.map +1 -1
  67. package/lib/cjs/Model.js.map +1 -1
  68. package/lib/cjs/NativeAppStorage.js.map +1 -1
  69. package/lib/cjs/NativeHost.js.map +1 -1
  70. package/lib/cjs/NavigationRelationship.js.map +1 -1
  71. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  72. package/lib/cjs/PropertyStore.js.map +1 -1
  73. package/lib/cjs/Relationship.js.map +1 -1
  74. package/lib/cjs/RpcBackend.js.map +1 -1
  75. package/lib/cjs/SQLiteDb.js.map +1 -1
  76. package/lib/cjs/Schema.js.map +1 -1
  77. package/lib/cjs/SchemaSync.js.map +1 -1
  78. package/lib/cjs/SchemaUtils.js.map +1 -1
  79. package/lib/cjs/SheetIndex.js.map +1 -1
  80. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  81. package/lib/cjs/SqliteStatement.js.map +1 -1
  82. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  83. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  84. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  85. package/lib/cjs/Texture.js.map +1 -1
  86. package/lib/cjs/TileStorage.js.map +1 -1
  87. package/lib/cjs/TxnManager.js.map +1 -1
  88. package/lib/cjs/ViewDefinition.js.map +1 -1
  89. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  90. package/lib/cjs/ViewStore.js.map +1 -1
  91. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  92. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  93. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  94. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  95. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  96. package/lib/cjs/core-backend.js.map +1 -1
  97. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  98. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  99. package/lib/cjs/domains/GenericElements.js.map +1 -1
  100. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  101. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  102. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  103. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  104. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  105. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  106. package/lib/cjs/internal/NoLocks.js.map +1 -1
  107. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  108. package/lib/cjs/internal/Symbols.d.ts +2 -0
  109. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  110. package/lib/cjs/internal/Symbols.js +3 -1
  111. package/lib/cjs/internal/Symbols.js.map +1 -1
  112. package/lib/cjs/internal/cross-package.js.map +1 -1
  113. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  114. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  115. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  116. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  117. package/lib/cjs/rpc/multipart.js.map +1 -1
  118. package/lib/cjs/rpc/tracing.js.map +1 -1
  119. package/lib/cjs/rpc/web/logging.js.map +1 -1
  120. package/lib/cjs/rpc/web/request.js.map +1 -1
  121. package/lib/cjs/rpc/web/response.js.map +1 -1
  122. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  123. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  124. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  125. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  126. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +11 -22
  127. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  128. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  129. package/lib/cjs/workspace/Settings.js.map +1 -1
  130. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  131. package/lib/cjs/workspace/Workspace.js.map +1 -1
  132. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  133. package/lib/esm/BackendHubAccess.d.ts +2 -8
  134. package/lib/esm/BackendHubAccess.d.ts.map +1 -1
  135. package/lib/esm/BackendHubAccess.js.map +1 -1
  136. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  137. package/lib/esm/BisCoreSchema.js.map +1 -1
  138. package/lib/esm/BlobContainerService.js.map +1 -1
  139. package/lib/esm/BriefcaseManager.js.map +1 -1
  140. package/lib/esm/Category.js.map +1 -1
  141. package/lib/esm/ChangeSummaryManager.js +2 -2
  142. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  143. package/lib/esm/ChangedElementsDb.js.map +1 -1
  144. package/lib/esm/ChangesetECAdaptor.js +242 -242
  145. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  146. package/lib/esm/ChannelControl.js.map +1 -1
  147. package/lib/esm/CheckpointManager.d.ts +8 -15
  148. package/lib/esm/CheckpointManager.d.ts.map +1 -1
  149. package/lib/esm/CheckpointManager.js +22 -52
  150. package/lib/esm/CheckpointManager.js.map +1 -1
  151. package/lib/esm/ClassRegistry.js +5 -5
  152. package/lib/esm/ClassRegistry.js.map +1 -1
  153. package/lib/esm/CloudSqlite.js.map +1 -1
  154. package/lib/esm/CodeService.js.map +1 -1
  155. package/lib/esm/CodeSpecs.js.map +1 -1
  156. package/lib/esm/ConcurrentQuery.js.map +1 -1
  157. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  158. package/lib/esm/DevTools.js.map +1 -1
  159. package/lib/esm/DisplayStyle.js.map +1 -1
  160. package/lib/esm/ECDb.js.map +1 -1
  161. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  162. package/lib/esm/ECSqlStatement.js.map +1 -1
  163. package/lib/esm/Element.d.ts +16 -4
  164. package/lib/esm/Element.d.ts.map +1 -1
  165. package/lib/esm/Element.js +40 -2
  166. package/lib/esm/Element.js.map +1 -1
  167. package/lib/esm/ElementAspect.js.map +1 -1
  168. package/lib/esm/ElementGraphics.js.map +1 -1
  169. package/lib/esm/ElementTreeWalker.js.map +1 -1
  170. package/lib/esm/Entity.js.map +1 -1
  171. package/lib/esm/EntityReferences.js.map +1 -1
  172. package/lib/esm/ExportGraphics.js.map +1 -1
  173. package/lib/esm/ExternalSource.js.map +1 -1
  174. package/lib/esm/FontFile.js.map +1 -1
  175. package/lib/esm/GeoCoordConfig.js.map +1 -1
  176. package/lib/esm/GeographicCRSServices.js.map +1 -1
  177. package/lib/esm/GeometrySummary.js +47 -47
  178. package/lib/esm/GeometrySummary.js.map +1 -1
  179. package/lib/esm/HubMock.d.ts +1 -1
  180. package/lib/esm/HubMock.d.ts.map +1 -1
  181. package/lib/esm/HubMock.js +13 -2
  182. package/lib/esm/HubMock.js.map +1 -1
  183. package/lib/esm/IModelDb.d.ts.map +1 -1
  184. package/lib/esm/IModelDb.js +12 -10
  185. package/lib/esm/IModelDb.js.map +1 -1
  186. package/lib/esm/IModelDbFonts.js.map +1 -1
  187. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  188. package/lib/esm/IModelHost.js.map +1 -1
  189. package/lib/esm/IModelJsFs.js.map +1 -1
  190. package/lib/esm/ImageSourceConversion.js.map +1 -1
  191. package/lib/esm/IpcHost.js.map +1 -1
  192. package/lib/esm/LineStyle.js.map +1 -1
  193. package/lib/esm/LocalHub.js +1 -1
  194. package/lib/esm/LocalHub.js.map +1 -1
  195. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  196. package/lib/esm/LockControl.js.map +1 -1
  197. package/lib/esm/Material.js.map +1 -1
  198. package/lib/esm/Model.js.map +1 -1
  199. package/lib/esm/NativeAppStorage.js.map +1 -1
  200. package/lib/esm/NativeHost.js.map +1 -1
  201. package/lib/esm/NavigationRelationship.js.map +1 -1
  202. package/lib/esm/PromiseMemoizer.js.map +1 -1
  203. package/lib/esm/PropertyStore.js.map +1 -1
  204. package/lib/esm/Relationship.js.map +1 -1
  205. package/lib/esm/RpcBackend.js.map +1 -1
  206. package/lib/esm/SQLiteDb.js.map +1 -1
  207. package/lib/esm/Schema.js.map +1 -1
  208. package/lib/esm/SchemaSync.js.map +1 -1
  209. package/lib/esm/SchemaUtils.js.map +1 -1
  210. package/lib/esm/SheetIndex.js.map +1 -1
  211. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  212. package/lib/esm/SqliteStatement.js.map +1 -1
  213. package/lib/esm/TextAnnotationElement.js.map +1 -1
  214. package/lib/esm/TextAnnotationGeometry.js.map +1 -1
  215. package/lib/esm/TextAnnotationLayout.js.map +1 -1
  216. package/lib/esm/Texture.js.map +1 -1
  217. package/lib/esm/TileStorage.js.map +1 -1
  218. package/lib/esm/TxnManager.js.map +1 -1
  219. package/lib/esm/ViewDefinition.js.map +1 -1
  220. package/lib/esm/ViewStateHydrator.js.map +1 -1
  221. package/lib/esm/ViewStore.js.map +1 -1
  222. package/lib/esm/core-backend.js.map +1 -1
  223. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  224. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  225. package/lib/esm/domains/GenericElements.js.map +1 -1
  226. package/lib/esm/domains/GenericSchema.js.map +1 -1
  227. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  228. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  229. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  230. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  231. package/lib/esm/internal/NativePlatform.js.map +1 -1
  232. package/lib/esm/internal/NoLocks.js.map +1 -1
  233. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  234. package/lib/esm/internal/Symbols.d.ts +2 -0
  235. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  236. package/lib/esm/internal/Symbols.js +2 -0
  237. package/lib/esm/internal/Symbols.js.map +1 -1
  238. package/lib/esm/internal/cross-package.js.map +1 -1
  239. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  240. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  241. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  242. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  243. package/lib/esm/rpc/multipart.js.map +1 -1
  244. package/lib/esm/rpc/tracing.js.map +1 -1
  245. package/lib/esm/rpc/web/logging.js.map +1 -1
  246. package/lib/esm/rpc/web/request.js.map +1 -1
  247. package/lib/esm/rpc/web/response.js.map +1 -1
  248. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  249. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  250. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  251. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  252. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +13 -24
  253. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  254. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  255. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  256. package/lib/esm/test/AttachDb.test.js +11 -11
  257. package/lib/esm/test/AttachDb.test.js.map +1 -1
  258. package/lib/esm/test/CloudSqliteMock.d.ts +37 -0
  259. package/lib/esm/test/CloudSqliteMock.d.ts.map +1 -0
  260. package/lib/esm/test/CloudSqliteMock.js +117 -0
  261. package/lib/esm/test/CloudSqliteMock.js.map +1 -0
  262. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  263. package/lib/esm/test/IModelHost.test.js.map +1 -1
  264. package/lib/esm/test/IModelTestUtils.d.ts +1 -1
  265. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  266. package/lib/esm/test/IModelTestUtils.js +6 -4
  267. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  268. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  269. package/lib/esm/test/IpcHost.test.js.map +1 -1
  270. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  271. package/lib/esm/test/PrintElementTree.js.map +1 -1
  272. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  273. package/lib/esm/test/RevisionUtility.js.map +1 -1
  274. package/lib/esm/test/SchemaUtils.test.js +25 -25
  275. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  276. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  277. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  278. package/lib/esm/test/TestUtils.js.map +1 -1
  279. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  280. package/lib/esm/test/categories/Category.test.js.map +1 -1
  281. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  282. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  283. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  284. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  285. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  286. package/lib/esm/test/ecdb/ECDb.test.js +57 -57
  287. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  288. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  289. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  290. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  291. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  292. package/lib/esm/test/ecdb/ECSqlQuery.test.js +7 -7
  293. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  294. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  295. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  296. package/lib/esm/test/ecdb/ECSqlStatement.test.js +292 -292
  297. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  298. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  299. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  300. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  301. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  302. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  303. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  304. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  305. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  306. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  307. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  308. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  309. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  310. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  311. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  312. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  313. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  314. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  315. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  316. package/lib/esm/test/font/IModelDbFonts.test.js +3 -1
  317. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  318. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +18 -7
  319. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  320. package/lib/esm/test/hubaccess/CheckpointManager.test.js +5 -91
  321. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  322. package/lib/esm/test/imageData.js.map +1 -1
  323. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  324. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  325. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  326. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  327. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  328. package/lib/esm/test/index.js.map +1 -1
  329. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  330. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  331. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  332. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  333. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  334. package/lib/esm/test/rpc/response.test.js.map +1 -1
  335. package/lib/esm/test/schema/ClassRegistry.test.js +71 -71
  336. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  337. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  338. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  339. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  340. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  341. package/lib/esm/test/standalone/ChangeMerge.test.js +0 -4
  342. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  343. package/lib/esm/test/standalone/ChangesetReader.test.js +28 -28
  344. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  345. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  346. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  347. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  348. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  349. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  350. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  351. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  352. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  353. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  354. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  355. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  356. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  357. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  358. package/lib/esm/test/standalone/IModelWrite.test.js +42 -33
  359. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  360. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  361. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  362. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  363. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  364. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  365. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  366. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  367. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  368. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  369. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  370. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  371. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  372. package/lib/esm/test/standalone/SnapshotDb.test.js +4 -3
  373. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  374. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  375. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  376. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  377. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  378. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  379. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  380. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  381. package/lib/esm/workspace/Settings.js.map +1 -1
  382. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  383. package/lib/esm/workspace/Workspace.js.map +1 -1
  384. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  385. package/package.json +13 -12
@@ -1 +1 @@
1
- {"version":3,"file":"SnapshotIModelRpcImpl.js","sourceRoot":"","sources":["../../../src/rpc-impl/SnapshotIModelRpcImpl.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EACkB,sBAAsB,EAAkB,YAAY,EAAE,UAAU,EAAE,0BAA0B,GACpH,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qDAAqD;AAErD;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC9C,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,YAAY,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAExG,kGAAkG;IAC3F,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,IAA0B;QAChE,IAAI,gBAAgB,GAAuB,QAAQ,CAAC;QACpD,IAAI,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACxC,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACpF,IAAI,SAAS,KAAK,gBAAgB;gBAChC,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC,0DAA0D;QAClG,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC1E,CAAC;IAED,4FAA4F;IACrF,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,IAA0B;QACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,SAAS,KAAK,gBAAgB;YAChC,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC,0DAA0D;QAEhG,OAAO,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC/F,CAAC;IAED,kDAAkD;IAC3C,KAAK,CAAC,KAAK,CAAC,UAA0B;QAC3C,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport {\r\n IModelConnectionProps, IModelNotFoundResponse, IModelRpcProps, RpcInterface, RpcManager, SnapshotIModelRpcInterface, SnapshotOpenOptions,\r\n} from \"@itwin/core-common\";\r\nimport { SnapshotDb } from \"../IModelDb\";\r\nimport { IModelHost } from \"../IModelHost\";\r\n\r\n/* eslint-disable @typescript-eslint/no-deprecated */\r\n\r\n/** The backend implementation of SnapshotIModelRpcInterface.\r\n * @internal\r\n * @deprecated in 5.0. Check [[IpcAppFunctions]] for replacements.\r\n */\r\nexport class SnapshotIModelRpcImpl extends RpcInterface implements SnapshotIModelRpcInterface {\r\n public static register() { RpcManager.registerImpl(SnapshotIModelRpcInterface, SnapshotIModelRpcImpl); }\r\n\r\n /** Ask the backend to open a snapshot iModel from a file name that is resolved by the backend. */\r\n public async openFile(filePath: string, opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> {\r\n let resolvedFileName: string | undefined = filePath;\r\n if (IModelHost.snapshotFileNameResolver) {\r\n resolvedFileName = IModelHost.snapshotFileNameResolver.tryResolveFileName(filePath);\r\n if (undefined === resolvedFileName)\r\n throw new IModelNotFoundResponse(); // eslint-disable-line @typescript-eslint/only-throw-error\r\n }\r\n return SnapshotDb.openFile(resolvedFileName, opts).getConnectionProps();\r\n }\r\n\r\n /** Ask the backend to open a snapshot iModel from a key that is resolved by the backend. */\r\n public async openRemote(fileKey: string, opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> {\r\n const resolvedFileName = IModelHost.snapshotFileNameResolver?.resolveKey(fileKey);\r\n if (undefined === resolvedFileName)\r\n throw new IModelNotFoundResponse(); // eslint-disable-line @typescript-eslint/only-throw-error\r\n\r\n return SnapshotDb.openFile(resolvedFileName, { key: fileKey, ...opts }).getConnectionProps();\r\n }\r\n\r\n /** Ask the backend to close a snapshot iModel. */\r\n public async close(tokenProps: IModelRpcProps): Promise<boolean> {\r\n SnapshotDb.findByKey(tokenProps.key).close();\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SnapshotIModelRpcImpl.js","sourceRoot":"","sources":["../../../src/rpc-impl/SnapshotIModelRpcImpl.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EACkB,sBAAsB,EAAkB,YAAY,EAAE,UAAU,EAAE,0BAA0B,GACpH,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qDAAqD;AAErD;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC9C,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,YAAY,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAExG,kGAAkG;IAC3F,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,IAA0B;QAChE,IAAI,gBAAgB,GAAuB,QAAQ,CAAC;QACpD,IAAI,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACxC,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACpF,IAAI,SAAS,KAAK,gBAAgB;gBAChC,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC,0DAA0D;QAClG,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC1E,CAAC;IAED,4FAA4F;IACrF,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,IAA0B;QACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,SAAS,KAAK,gBAAgB;YAChC,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC,0DAA0D;QAEhG,OAAO,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC/F,CAAC;IAED,kDAAkD;IAC3C,KAAK,CAAC,KAAK,CAAC,UAA0B;QAC3C,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport {\n IModelConnectionProps, IModelNotFoundResponse, IModelRpcProps, RpcInterface, RpcManager, SnapshotIModelRpcInterface, SnapshotOpenOptions,\n} from \"@itwin/core-common\";\nimport { SnapshotDb } from \"../IModelDb\";\nimport { IModelHost } from \"../IModelHost\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** The backend implementation of SnapshotIModelRpcInterface.\n * @internal\n * @deprecated in 5.0. Check [[IpcAppFunctions]] for replacements.\n */\nexport class SnapshotIModelRpcImpl extends RpcInterface implements SnapshotIModelRpcInterface {\n public static register() { RpcManager.registerImpl(SnapshotIModelRpcInterface, SnapshotIModelRpcImpl); }\n\n /** Ask the backend to open a snapshot iModel from a file name that is resolved by the backend. */\n public async openFile(filePath: string, opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> {\n let resolvedFileName: string | undefined = filePath;\n if (IModelHost.snapshotFileNameResolver) {\n resolvedFileName = IModelHost.snapshotFileNameResolver.tryResolveFileName(filePath);\n if (undefined === resolvedFileName)\n throw new IModelNotFoundResponse(); // eslint-disable-line @typescript-eslint/only-throw-error\n }\n return SnapshotDb.openFile(resolvedFileName, opts).getConnectionProps();\n }\n\n /** Ask the backend to open a snapshot iModel from a key that is resolved by the backend. */\n public async openRemote(fileKey: string, opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> {\n const resolvedFileName = IModelHost.snapshotFileNameResolver?.resolveKey(fileKey);\n if (undefined === resolvedFileName)\n throw new IModelNotFoundResponse(); // eslint-disable-line @typescript-eslint/only-throw-error\n\n return SnapshotDb.openFile(resolvedFileName, { key: fileKey, ...opts }).getConnectionProps();\n }\n\n /** Ask the backend to close a snapshot iModel. */\n public async close(tokenProps: IModelRpcProps): Promise<boolean> {\n SnapshotDb.findByKey(tokenProps.key).close();\n return true;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedEqual.js","sourceRoot":"","sources":["../../../src/test/AdvancedEqual.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Assertion, util } from \"chai\";\r\nimport { Geometry } from \"@itwin/core-geometry\";\r\n\r\ninterface DeepEqualOpts {\r\n /**\r\n * Tolerance for number fields, if not defined will be 1e-10\r\n * If you don't want a tolerance, either supply 0 or use regular .deep.equal\r\n */\r\n tolerance?: number;\r\n /** e.g. consider {x: undefined} and {} as deeply equal */\r\n considerNonExistingAndUndefinedEqual?: boolean;\r\n /** Specify standard property keys holding ec class identifiers (when true, `classFullName` and `relClassName`)\r\n * to be normalized during comparison so that differently cased and alternative syntax still is considered equal\r\n * Passing `true`, is the same as passing `[\"classFullName\", \"relClassName\"]`\r\n */\r\n normalizeClassNameProps?: boolean | string[];\r\n}\r\n\r\nexport const defaultOpts = {\r\n tolerance: 1e-10,\r\n considerNonExistingAndUndefinedEqual: false,\r\n} as const;\r\n\r\ndeclare global {\r\n namespace Chai {\r\n interface Deep {\r\n advancedEqual(actual: any, options?: DeepEqualOpts): Assertion;\r\n subsetEqual(actual: any, options?: DeepEqualOpts): Assertion;\r\n }\r\n }\r\n}\r\n\r\n/** get whether two numbers are almost equal within a tolerance */\r\nconst isAlmostEqualNumber: (a: number, b: number, tol: number) => boolean = (a, b, tol) => Geometry.isSameCoordinate(a, b, tol);\r\n\r\n/** normalize a classname for comparisons */\r\nconst normalizeClassName = (name: string) => name.toLowerCase().replace(/:/, \".\");\r\n\r\ninterface AdvancedEqualFuncOpts extends DeepEqualOpts {\r\n /** only test */\r\n useSubsetEquality?: boolean;\r\n}\r\n\r\n/**\r\n * The diff shown on failure will show undefined fields as part of the diff even if\r\n * consideringNonExistingAndUndefinedEqual is true. You can ignore that.\r\n * We would have to mutate the object to clean the diff, although it is worth considering.\r\n */\r\nexport function advancedDeepEqual(\r\n e: any,\r\n a: any,\r\n options: AdvancedEqualFuncOpts = {},\r\n): boolean {\r\n const normalizedClassNameProps\r\n = options.normalizeClassNameProps === true\r\n ? [\"classFullName\", \"relClassName\"]\r\n : options.normalizeClassNameProps || [];\r\n if (options.tolerance === undefined)\r\n options.tolerance = defaultOpts.tolerance;\r\n if (e === a)\r\n return true;\r\n if (typeof e !== typeof a)\r\n return false;\r\n switch (typeof e) {\r\n case \"number\":\r\n return isAlmostEqualNumber(e, a, options.tolerance);\r\n case \"string\":\r\n case \"boolean\":\r\n case \"function\":\r\n case \"symbol\":\r\n case \"undefined\":\r\n return false; // these objects can only be strict equal which was already tested\r\n case \"object\":\r\n if ((e === null) !== (a === null))\r\n return false;\r\n const eSize = Object.keys(e).filter((k) => options.considerNonExistingAndUndefinedEqual && e[k] !== undefined).length;\r\n const aSize = Object.keys(a).filter((k) => options.considerNonExistingAndUndefinedEqual && a[k] !== undefined).length;\r\n return (eSize === aSize || !!options.useSubsetEquality) && Object.keys(e).every(\r\n (keyOfE) =>\r\n (keyOfE in a || options.considerNonExistingAndUndefinedEqual) &&\r\n normalizedClassNameProps.includes(keyOfE)\r\n ? advancedDeepEqual(normalizeClassName(e[keyOfE]), normalizeClassName(a[keyOfE]))\r\n : advancedDeepEqual(e[keyOfE], a[keyOfE], options),\r\n );\r\n default: // bigint unhandled\r\n throw Error(`unhandled deep compare type code returned from typeof, \"${typeof e}\"`);\r\n }\r\n}\r\n\r\nAssertion.addMethod(\r\n \"advancedEqual\",\r\n function advancedEqual(\r\n expected: any,\r\n options: DeepEqualOpts = {},\r\n ) {\r\n if (options.tolerance === undefined)\r\n options.tolerance = 1e-10;\r\n const actual = this._obj;\r\n const isDeep = util.flag(this, \"deep\");\r\n this.assert(\r\n isDeep\r\n ? advancedDeepEqual(expected, actual, options)\r\n : isAlmostEqualNumber(expected, actual, options.tolerance),\r\n `expected ${\r\n isDeep ? \"deep equality of \" : \" \"\r\n }#{exp} and #{act} with a tolerance of ${options.tolerance}`,\r\n `expected ${\r\n isDeep ? \"deep inequality of \" : \" \"\r\n }#{exp} and #{act} with a tolerance of ${options.tolerance}`,\r\n expected,\r\n actual,\r\n );\r\n },\r\n);\r\n\r\nAssertion.addMethod(\r\n \"subsetEqual\",\r\n function subsetEqual(\r\n expected: any,\r\n options: DeepEqualOpts = {},\r\n ) {\r\n if (options.tolerance === undefined)\r\n options.tolerance = 1e-10;\r\n const actual = this._obj;\r\n this.assert(\r\n advancedDeepEqual(expected, actual, {...options, useSubsetEquality: true }),\r\n `expected #{act} to contain as a subset #{exp}`,\r\n `expected #{act} not to contain as a subset #{exp}`,\r\n expected,\r\n actual,\r\n );\r\n },\r\n);\r\n"]}
1
+ {"version":3,"file":"AdvancedEqual.js","sourceRoot":"","sources":["../../../src/test/AdvancedEqual.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { Assertion, util } from \"chai\";\nimport { Geometry } from \"@itwin/core-geometry\";\n\ninterface DeepEqualOpts {\n /**\n * Tolerance for number fields, if not defined will be 1e-10\n * If you don't want a tolerance, either supply 0 or use regular .deep.equal\n */\n tolerance?: number;\n /** e.g. consider {x: undefined} and {} as deeply equal */\n considerNonExistingAndUndefinedEqual?: boolean;\n /** Specify standard property keys holding ec class identifiers (when true, `classFullName` and `relClassName`)\n * to be normalized during comparison so that differently cased and alternative syntax still is considered equal\n * Passing `true`, is the same as passing `[\"classFullName\", \"relClassName\"]`\n */\n normalizeClassNameProps?: boolean | string[];\n}\n\nexport const defaultOpts = {\n tolerance: 1e-10,\n considerNonExistingAndUndefinedEqual: false,\n} as const;\n\ndeclare global {\n namespace Chai {\n interface Deep {\n advancedEqual(actual: any, options?: DeepEqualOpts): Assertion;\n subsetEqual(actual: any, options?: DeepEqualOpts): Assertion;\n }\n }\n}\n\n/** get whether two numbers are almost equal within a tolerance */\nconst isAlmostEqualNumber: (a: number, b: number, tol: number) => boolean = (a, b, tol) => Geometry.isSameCoordinate(a, b, tol);\n\n/** normalize a classname for comparisons */\nconst normalizeClassName = (name: string) => name.toLowerCase().replace(/:/, \".\");\n\ninterface AdvancedEqualFuncOpts extends DeepEqualOpts {\n /** only test */\n useSubsetEquality?: boolean;\n}\n\n/**\n * The diff shown on failure will show undefined fields as part of the diff even if\n * consideringNonExistingAndUndefinedEqual is true. You can ignore that.\n * We would have to mutate the object to clean the diff, although it is worth considering.\n */\nexport function advancedDeepEqual(\n e: any,\n a: any,\n options: AdvancedEqualFuncOpts = {},\n): boolean {\n const normalizedClassNameProps\n = options.normalizeClassNameProps === true\n ? [\"classFullName\", \"relClassName\"]\n : options.normalizeClassNameProps || [];\n if (options.tolerance === undefined)\n options.tolerance = defaultOpts.tolerance;\n if (e === a)\n return true;\n if (typeof e !== typeof a)\n return false;\n switch (typeof e) {\n case \"number\":\n return isAlmostEqualNumber(e, a, options.tolerance);\n case \"string\":\n case \"boolean\":\n case \"function\":\n case \"symbol\":\n case \"undefined\":\n return false; // these objects can only be strict equal which was already tested\n case \"object\":\n if ((e === null) !== (a === null))\n return false;\n const eSize = Object.keys(e).filter((k) => options.considerNonExistingAndUndefinedEqual && e[k] !== undefined).length;\n const aSize = Object.keys(a).filter((k) => options.considerNonExistingAndUndefinedEqual && a[k] !== undefined).length;\n return (eSize === aSize || !!options.useSubsetEquality) && Object.keys(e).every(\n (keyOfE) =>\n (keyOfE in a || options.considerNonExistingAndUndefinedEqual) &&\n normalizedClassNameProps.includes(keyOfE)\n ? advancedDeepEqual(normalizeClassName(e[keyOfE]), normalizeClassName(a[keyOfE]))\n : advancedDeepEqual(e[keyOfE], a[keyOfE], options),\n );\n default: // bigint unhandled\n throw Error(`unhandled deep compare type code returned from typeof, \"${typeof e}\"`);\n }\n}\n\nAssertion.addMethod(\n \"advancedEqual\",\n function advancedEqual(\n expected: any,\n options: DeepEqualOpts = {},\n ) {\n if (options.tolerance === undefined)\n options.tolerance = 1e-10;\n const actual = this._obj;\n const isDeep = util.flag(this, \"deep\");\n this.assert(\n isDeep\n ? advancedDeepEqual(expected, actual, options)\n : isAlmostEqualNumber(expected, actual, options.tolerance),\n `expected ${\n isDeep ? \"deep equality of \" : \" \"\n }#{exp} and #{act} with a tolerance of ${options.tolerance}`,\n `expected ${\n isDeep ? \"deep inequality of \" : \" \"\n }#{exp} and #{act} with a tolerance of ${options.tolerance}`,\n expected,\n actual,\n );\n },\n);\n\nAssertion.addMethod(\n \"subsetEqual\",\n function subsetEqual(\n expected: any,\n options: DeepEqualOpts = {},\n ) {\n if (options.tolerance === undefined)\n options.tolerance = 1e-10;\n const actual = this._obj;\n this.assert(\n advancedDeepEqual(expected, actual, {...options, useSubsetEquality: true }),\n `expected #{act} to contain as a subset #{exp}`,\n `expected #{act} not to contain as a subset #{exp}`,\n expected,\n actual,\n );\n },\n);\n"]}
@@ -11,17 +11,17 @@ describe("Attach/Detach Db", () => {
11
11
  const simulationFile = IModelTestUtils.resolveAssetFile("sim-attach.ecdb");
12
12
  const master = SnapshotDb.openFile(masterFile);
13
13
  master.attachDb(simulationFile, "SimDb");
14
- const ecsql = `
15
- SELECT ts.TimeFromStart [Time From Start (s)],
16
- p.UserLabel [Pipe with Max Flow],
17
- MAX(ltvrr.Flow) [Max Flow (L/s)]
18
- FROM
19
- SimDb.simrescore.TimeStep ts
20
- INNER JOIN SimDb.stmswrres.BasicFlowResultRecord ltvrr ON ts.ECInstanceId = ltvrr.TimeStep.Id
21
- INNER JOIN swrhyd.Pipe p ON p.ECInstanceId = ltvrr.ElementId
22
- GROUP BY
23
- ts.ECInstanceId
24
- HAVING
14
+ const ecsql = `
15
+ SELECT ts.TimeFromStart [Time From Start (s)],
16
+ p.UserLabel [Pipe with Max Flow],
17
+ MAX(ltvrr.Flow) [Max Flow (L/s)]
18
+ FROM
19
+ SimDb.simrescore.TimeStep ts
20
+ INNER JOIN SimDb.stmswrres.BasicFlowResultRecord ltvrr ON ts.ECInstanceId = ltvrr.TimeStep.Id
21
+ INNER JOIN swrhyd.Pipe p ON p.ECInstanceId = ltvrr.ElementId
22
+ GROUP BY
23
+ ts.ECInstanceId
24
+ HAVING
25
25
  MAX(ltvrr.Flow) > 1`;
26
26
  const reader = master.createQueryReader(ecsql);
27
27
  const rows = [];
@@ -1 +1 @@
1
- {"version":3,"file":"AttachDb.test.js","sourceRoot":"","sources":["../../../src/test/AttachDb.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { expect } from \"chai\";\r\nimport { SnapshotDb } from \"../IModelDb\";\r\nimport { IModelTestUtils } from \"./IModelTestUtils\";\r\n\r\ndescribe(\"Attach/Detach Db\", () => {\r\n it(\"attach simulation db\", async () => {\r\n const masterFile = IModelTestUtils.resolveAssetFile(\"sim-master.bim\");\r\n const simulationFile = IModelTestUtils.resolveAssetFile(\"sim-attach.ecdb\");\r\n\r\n const master = SnapshotDb.openFile(masterFile);\r\n master.attachDb(simulationFile, \"SimDb\");\r\n\r\n const ecsql = `\r\n SELECT ts.TimeFromStart [Time From Start (s)],\r\n p.UserLabel [Pipe with Max Flow],\r\n MAX(ltvrr.Flow) [Max Flow (L/s)]\r\n FROM\r\n SimDb.simrescore.TimeStep ts\r\n INNER JOIN SimDb.stmswrres.BasicFlowResultRecord ltvrr ON ts.ECInstanceId = ltvrr.TimeStep.Id\r\n INNER JOIN swrhyd.Pipe p ON p.ECInstanceId = ltvrr.ElementId\r\n GROUP BY\r\n ts.ECInstanceId\r\n HAVING\r\n MAX(ltvrr.Flow) > 1`;\r\n\r\n const reader = master.createQueryReader(ecsql);\r\n const rows = [];\r\n while (await reader.step()) {\r\n rows.push(reader.current.toRow());\r\n }\r\n const expected = [\r\n {\r\n 'Time From Start (s)': 0,\r\n 'Pipe with Max Flow': 'CO-4',\r\n 'Max Flow (L/s)': 66.14359584163114\r\n },\r\n {\r\n 'Time From Start (s)': 3600,\r\n 'Pipe with Max Flow': 'CO-4',\r\n 'Max Flow (L/s)': 78.33925707748288\r\n },\r\n {\r\n 'Time From Start (s)': 7200,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 85.32875334207684\r\n },\r\n {\r\n 'Time From Start (s)': 10800,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 73.66891955141061\r\n },\r\n {\r\n 'Time From Start (s)': 14400,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 98.03457129303487\r\n },\r\n {\r\n 'Time From Start (s)': 18000,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 79.73721449443349\r\n },\r\n {\r\n 'Time From Start (s)': 21600,\r\n 'Pipe with Max Flow': 'CO-4',\r\n 'Max Flow (L/s)': 91.99697459812566\r\n },\r\n {\r\n 'Time From Start (s)': 25200,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 97.3640516154515\r\n },\r\n {\r\n 'Time From Start (s)': 28800,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 82.92153917380564\r\n },\r\n {\r\n 'Time From Start (s)': 32400,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 93.43596024800935\r\n },\r\n {\r\n 'Time From Start (s)': 36000,\r\n 'Pipe with Max Flow': 'CO-1',\r\n 'Max Flow (L/s)': 93.38944851040705\r\n },\r\n {\r\n 'Time From Start (s)': 39600,\r\n 'Pipe with Max Flow': 'CO-2',\r\n 'Max Flow (L/s)': 96.89678313985426\r\n },\r\n {\r\n 'Time From Start (s)': 43200,\r\n 'Pipe with Max Flow': 'CO-4',\r\n 'Max Flow (L/s)': 68.37554676909588\r\n },\r\n {\r\n 'Time From Start (s)': 46800,\r\n 'Pipe with Max Flow': 'CO-4',\r\n 'Max Flow (L/s)': 40.71067873689955\r\n },\r\n {\r\n 'Time From Start (s)': 50400,\r\n 'Pipe with Max Flow': 'CO-2',\r\n 'Max Flow (L/s)': 94.95603088826243\r\n },\r\n {\r\n 'Time From Start (s)': 54000,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 90.30742518949977\r\n },\r\n {\r\n 'Time From Start (s)': 57600,\r\n 'Pipe with Max Flow': 'CO-2',\r\n 'Max Flow (L/s)': 96.32532799368296\r\n },\r\n {\r\n 'Time From Start (s)': 61200,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 98.7241157161529\r\n },\r\n {\r\n 'Time From Start (s)': 64800,\r\n 'Pipe with Max Flow': 'CO-1',\r\n 'Max Flow (L/s)': 76.65530275985837\r\n },\r\n {\r\n 'Time From Start (s)': 68400,\r\n 'Pipe with Max Flow': 'CO-2',\r\n 'Max Flow (L/s)': 61.81109058119374\r\n },\r\n {\r\n 'Time From Start (s)': 72000,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 98.37332278792479\r\n },\r\n {\r\n 'Time From Start (s)': 75600,\r\n 'Pipe with Max Flow': 'CO-3',\r\n 'Max Flow (L/s)': 70.55434454594996\r\n },\r\n {\r\n 'Time From Start (s)': 79200,\r\n 'Pipe with Max Flow': 'CO-2',\r\n 'Max Flow (L/s)': 84.03731418990937\r\n },\r\n {\r\n 'Time From Start (s)': 82800,\r\n 'Pipe with Max Flow': 'CO-2',\r\n 'Max Flow (L/s)': 96.3267817742375\r\n }\r\n ];\r\n expect(rows).to.deep.equal(expected);\r\n master.close();\r\n });\r\n\r\n});\r\n"]}
1
+ {"version":3,"file":"AttachDb.test.js","sourceRoot":"","sources":["../../../src/test/AttachDb.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,eAAe,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG;;;;;;;;;;;8BAWY,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,QAAQ,GAAG;YACf;gBACE,qBAAqB,EAAE,CAAC;gBACxB,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,IAAI;gBAC3B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,IAAI;gBAC3B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,gBAAgB;aACnC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,gBAAgB;aACnC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,iBAAiB;aACpC;YACD;gBACE,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,gBAAgB;aACnC;SACF,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { expect } from \"chai\";\nimport { SnapshotDb } from \"../IModelDb\";\nimport { IModelTestUtils } from \"./IModelTestUtils\";\n\ndescribe(\"Attach/Detach Db\", () => {\n it(\"attach simulation db\", async () => {\n const masterFile = IModelTestUtils.resolveAssetFile(\"sim-master.bim\");\n const simulationFile = IModelTestUtils.resolveAssetFile(\"sim-attach.ecdb\");\n\n const master = SnapshotDb.openFile(masterFile);\n master.attachDb(simulationFile, \"SimDb\");\n\n const ecsql = `\n SELECT ts.TimeFromStart [Time From Start (s)],\n p.UserLabel [Pipe with Max Flow],\n MAX(ltvrr.Flow) [Max Flow (L/s)]\n FROM\n SimDb.simrescore.TimeStep ts\n INNER JOIN SimDb.stmswrres.BasicFlowResultRecord ltvrr ON ts.ECInstanceId = ltvrr.TimeStep.Id\n INNER JOIN swrhyd.Pipe p ON p.ECInstanceId = ltvrr.ElementId\n GROUP BY\n ts.ECInstanceId\n HAVING\n MAX(ltvrr.Flow) > 1`;\n\n const reader = master.createQueryReader(ecsql);\n const rows = [];\n while (await reader.step()) {\n rows.push(reader.current.toRow());\n }\n const expected = [\n {\n 'Time From Start (s)': 0,\n 'Pipe with Max Flow': 'CO-4',\n 'Max Flow (L/s)': 66.14359584163114\n },\n {\n 'Time From Start (s)': 3600,\n 'Pipe with Max Flow': 'CO-4',\n 'Max Flow (L/s)': 78.33925707748288\n },\n {\n 'Time From Start (s)': 7200,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 85.32875334207684\n },\n {\n 'Time From Start (s)': 10800,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 73.66891955141061\n },\n {\n 'Time From Start (s)': 14400,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 98.03457129303487\n },\n {\n 'Time From Start (s)': 18000,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 79.73721449443349\n },\n {\n 'Time From Start (s)': 21600,\n 'Pipe with Max Flow': 'CO-4',\n 'Max Flow (L/s)': 91.99697459812566\n },\n {\n 'Time From Start (s)': 25200,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 97.3640516154515\n },\n {\n 'Time From Start (s)': 28800,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 82.92153917380564\n },\n {\n 'Time From Start (s)': 32400,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 93.43596024800935\n },\n {\n 'Time From Start (s)': 36000,\n 'Pipe with Max Flow': 'CO-1',\n 'Max Flow (L/s)': 93.38944851040705\n },\n {\n 'Time From Start (s)': 39600,\n 'Pipe with Max Flow': 'CO-2',\n 'Max Flow (L/s)': 96.89678313985426\n },\n {\n 'Time From Start (s)': 43200,\n 'Pipe with Max Flow': 'CO-4',\n 'Max Flow (L/s)': 68.37554676909588\n },\n {\n 'Time From Start (s)': 46800,\n 'Pipe with Max Flow': 'CO-4',\n 'Max Flow (L/s)': 40.71067873689955\n },\n {\n 'Time From Start (s)': 50400,\n 'Pipe with Max Flow': 'CO-2',\n 'Max Flow (L/s)': 94.95603088826243\n },\n {\n 'Time From Start (s)': 54000,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 90.30742518949977\n },\n {\n 'Time From Start (s)': 57600,\n 'Pipe with Max Flow': 'CO-2',\n 'Max Flow (L/s)': 96.32532799368296\n },\n {\n 'Time From Start (s)': 61200,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 98.7241157161529\n },\n {\n 'Time From Start (s)': 64800,\n 'Pipe with Max Flow': 'CO-1',\n 'Max Flow (L/s)': 76.65530275985837\n },\n {\n 'Time From Start (s)': 68400,\n 'Pipe with Max Flow': 'CO-2',\n 'Max Flow (L/s)': 61.81109058119374\n },\n {\n 'Time From Start (s)': 72000,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 98.37332278792479\n },\n {\n 'Time From Start (s)': 75600,\n 'Pipe with Max Flow': 'CO-3',\n 'Max Flow (L/s)': 70.55434454594996\n },\n {\n 'Time From Start (s)': 79200,\n 'Pipe with Max Flow': 'CO-2',\n 'Max Flow (L/s)': 84.03731418990937\n },\n {\n 'Time From Start (s)': 82800,\n 'Pipe with Max Flow': 'CO-2',\n 'Max Flow (L/s)': 96.3267817742375\n }\n ];\n expect(rows).to.deep.equal(expected);\n master.close();\n });\n\n});\n"]}
@@ -0,0 +1,37 @@
1
+ import { CloudSqlite } from "../CloudSqlite";
2
+ export declare class CloudContainerMock {
3
+ isConnected: boolean;
4
+ createArgs: any;
5
+ containerId: string;
6
+ private _cloudCache?;
7
+ constructor(createArgs: any);
8
+ connect(cache: CloudSqlite.CloudCache): void;
9
+ disconnect(_args?: {
10
+ detach?: boolean;
11
+ }): void;
12
+ downloadCheckpoint(fileName: string): void;
13
+ checkForChanges(): void;
14
+ queryDatabase(): undefined;
15
+ attach(): {
16
+ dbName: string;
17
+ container: CloudSqlite.CloudContainer | undefined;
18
+ };
19
+ }
20
+ /**
21
+ * Mocks the CloudSqlite access needed for [[V2CheckpointManager.downloadCheckpoint]].
22
+ * @internal
23
+ */
24
+ export declare class CloudSqliteMock {
25
+ private static _stubs;
26
+ /**
27
+ * Begin mocking the CloudSqlite access needed for [[V2CheckpointManager.downloadCheckpoint]]. This uses [[HubMock]] to
28
+ * copy a local file to the target file. Call [[shutdown]] to stop the mocking.
29
+ */
30
+ static startup(): void;
31
+ /**
32
+ * Stop the CloudSqliteMock that was started in [[startup]].
33
+ * Note: This throws an exception if [[startup]] was not called first.
34
+ */
35
+ static shutdown(): void;
36
+ }
37
+ //# sourceMappingURL=CloudSqliteMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudSqliteMock.d.ts","sourceRoot":"","sources":["../../../src/test/CloudSqliteMock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C,qBAAa,kBAAkB;IACtB,WAAW,UAAS;IACpB,UAAU,EAAE,GAAG,CAAC;IAChB,WAAW,SAAqB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAyB;gBAEjC,UAAU,EAAE,GAAG;IAGpB,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU;IAKrC,UAAU,CAAC,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;IAIvC,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAInC,eAAe;IACf,aAAa;IAGb,MAAM,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,WAAW,CAAC,cAAc,GAAG,SAAS,CAAA;KAAE;CAKvF;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAyB;IAE9C;;;OAGG;WACW,OAAO;IA4CrB;;;OAGG;WACW,QAAQ;CAQvB"}
@@ -0,0 +1,117 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import * as sinon from "sinon";
6
+ import { CloudSqlite } from "../CloudSqlite";
7
+ import { HubMock } from "../HubMock";
8
+ import * as path from "path";
9
+ import { BriefcaseManager } from "../BriefcaseManager";
10
+ import { V2CheckpointManager } from "../CheckpointManager";
11
+ import { IModelHost } from "../IModelHost";
12
+ import { _hubAccess } from "../internal/Symbols";
13
+ import { IModelError } from "@itwin/core-common";
14
+ import { IModelStatus } from "@itwin/core-bentley";
15
+ export class CloudContainerMock {
16
+ isConnected = false;
17
+ createArgs;
18
+ containerId = "MockContainerId";
19
+ _cloudCache;
20
+ constructor(createArgs) {
21
+ this.createArgs = createArgs;
22
+ }
23
+ connect(cache) {
24
+ this._cloudCache = cache;
25
+ this.downloadCheckpoint(path.join(cache.rootDir, this.createArgs.checkpoint.iModelId, this.createArgs.dbName));
26
+ this.isConnected = true;
27
+ }
28
+ disconnect(_args) {
29
+ this.isConnected = false;
30
+ this._cloudCache = undefined;
31
+ }
32
+ downloadCheckpoint(fileName) {
33
+ const checkpoint = this.createArgs.checkpoint;
34
+ HubMock.findLocalHub(checkpoint.iModelId).downloadCheckpoint({ changeset: checkpoint.changeset, targetFile: fileName });
35
+ }
36
+ checkForChanges() { }
37
+ queryDatabase() {
38
+ return undefined;
39
+ }
40
+ attach() {
41
+ const dbName = path.join(BriefcaseManager.getBriefcaseBasePath(this.createArgs.checkpoint.iModelId), this.createArgs.dbName);
42
+ this.downloadCheckpoint(dbName);
43
+ return { dbName, container: undefined };
44
+ }
45
+ }
46
+ /**
47
+ * Mocks the CloudSqlite access needed for [[V2CheckpointManager.downloadCheckpoint]].
48
+ * @internal
49
+ */
50
+ export class CloudSqliteMock {
51
+ static _stubs = [];
52
+ /**
53
+ * Begin mocking the CloudSqlite access needed for [[V2CheckpointManager.downloadCheckpoint]]. This uses [[HubMock]] to
54
+ * copy a local file to the target file. Call [[shutdown]] to stop the mocking.
55
+ */
56
+ static startup() {
57
+ if (this._stubs.length > 0) {
58
+ throw new Error("CloudSqliteMock.startup called twice without calling shutdown");
59
+ }
60
+ const origCreateCloudContainer = CloudSqlite.createCloudContainer;
61
+ const origTransferDb = CloudSqlite.transferDb;
62
+ this._stubs.push(sinon.stub(CloudSqlite, "createCloudContainer").callsFake((args) => {
63
+ if (args.isMock) {
64
+ return new CloudContainerMock(args);
65
+ }
66
+ else {
67
+ return origCreateCloudContainer(args);
68
+ }
69
+ }));
70
+ this._stubs.push(sinon.stub(CloudSqlite, "transferDb").callsFake(async (direction, container, props) => {
71
+ if (container instanceof CloudContainerMock) {
72
+ if (direction === "download") {
73
+ container.downloadCheckpoint(props.localFileName);
74
+ }
75
+ else {
76
+ throw new Error("Mock transferDb only supports download");
77
+ }
78
+ }
79
+ else {
80
+ return origTransferDb(direction, container, props);
81
+ }
82
+ }));
83
+ this._stubs.push(sinon.stub(V2CheckpointManager, "attach").callsFake(async (checkpoint) => {
84
+ console.log("CloudSqliteMock attach called"); // eslint-disable-line no-console
85
+ let v2props;
86
+ try {
87
+ v2props = await IModelHost[_hubAccess].queryV2Checkpoint(checkpoint);
88
+ if (!v2props)
89
+ throw new Error("no checkpoint");
90
+ }
91
+ catch (err) {
92
+ throw new IModelError(IModelStatus.NotFound, `V2 checkpoint not found: err: ${err.message}`);
93
+ }
94
+ const container = V2CheckpointManager.getContainer(v2props, checkpoint);
95
+ if (container instanceof CloudContainerMock) {
96
+ return container.attach();
97
+ }
98
+ else {
99
+ throw new Error("Mock attach only supports CloudContainerMock");
100
+ }
101
+ }));
102
+ }
103
+ /**
104
+ * Stop the CloudSqliteMock that was started in [[startup]].
105
+ * Note: This throws an exception if [[startup]] was not called first.
106
+ */
107
+ static shutdown() {
108
+ if (this._stubs.length > 0) {
109
+ this._stubs.forEach((stub) => stub.restore());
110
+ this._stubs = [];
111
+ }
112
+ else {
113
+ throw new Error("CloudSqliteMock.shutdown called before startup");
114
+ }
115
+ }
116
+ }
117
+ //# sourceMappingURL=CloudSqliteMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudSqliteMock.js","sourceRoot":"","sources":["../../../src/test/CloudSqliteMock.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport * as sinon from \"sinon\";\nimport { CloudSqlite } from \"../CloudSqlite\";\nimport { HubMock } from \"../HubMock\";\nimport * as path from \"path\";\nimport { BriefcaseManager } from \"../BriefcaseManager\";\nimport { CheckpointProps, V2CheckpointManager } from \"../CheckpointManager\";\nimport { V2CheckpointAccessProps } from \"../BackendHubAccess\";\nimport { IModelHost } from \"../IModelHost\";\nimport { _hubAccess } from \"../internal/Symbols\";\nimport { IModelError } from \"@itwin/core-common\";\nimport { IModelStatus } from \"@itwin/core-bentley\";\n\nexport class CloudContainerMock {\n public isConnected = false;\n public createArgs: any;\n public containerId = \"MockContainerId\";\n private _cloudCache?: CloudSqlite.CloudCache;\n\n constructor(createArgs: any) {\n this.createArgs = createArgs;\n }\n public connect(cache: CloudSqlite.CloudCache) {\n this._cloudCache = cache;\n this.downloadCheckpoint(path.join(cache.rootDir, this.createArgs.checkpoint.iModelId, this.createArgs.dbName));\n this.isConnected = true;\n }\n public disconnect(_args?: { detach?: boolean }) {\n this.isConnected = false;\n this._cloudCache = undefined;\n }\n public downloadCheckpoint(fileName: string) {\n const checkpoint = this.createArgs.checkpoint;\n HubMock.findLocalHub(checkpoint.iModelId).downloadCheckpoint({ changeset: checkpoint.changeset, targetFile: fileName });\n }\n public checkForChanges() {}\n public queryDatabase() {\n return undefined;\n }\n public attach(): { dbName: string, container: CloudSqlite.CloudContainer | undefined } {\n const dbName = path.join(BriefcaseManager.getBriefcaseBasePath(this.createArgs.checkpoint.iModelId), this.createArgs.dbName);\n this.downloadCheckpoint(dbName);\n return { dbName, container: undefined };\n }\n}\n\n/**\n * Mocks the CloudSqlite access needed for [[V2CheckpointManager.downloadCheckpoint]].\n * @internal\n */\nexport class CloudSqliteMock {\n private static _stubs: sinon.SinonStub[] = [];\n\n /**\n * Begin mocking the CloudSqlite access needed for [[V2CheckpointManager.downloadCheckpoint]]. This uses [[HubMock]] to\n * copy a local file to the target file. Call [[shutdown]] to stop the mocking.\n */\n public static startup() {\n if (this._stubs.length > 0) {\n throw new Error(\"CloudSqliteMock.startup called twice without calling shutdown\");\n }\n const origCreateCloudContainer = CloudSqlite.createCloudContainer;\n const origTransferDb = CloudSqlite.transferDb;\n this._stubs.push(sinon.stub(CloudSqlite, \"createCloudContainer\").callsFake((args) => {\n if ((args as any).isMock) {\n return new CloudContainerMock(args) as any as CloudSqlite.CloudContainer;\n } else {\n return origCreateCloudContainer(args);\n }\n }));\n this._stubs.push(sinon.stub(CloudSqlite, \"transferDb\").callsFake(async (direction, container: any, props) => {\n if (container instanceof CloudContainerMock) {\n if (direction === \"download\") {\n container.downloadCheckpoint(props.localFileName);\n } else {\n throw new Error(\"Mock transferDb only supports download\");\n }\n } else {\n return origTransferDb(direction, container, props);\n }\n }));\n this._stubs.push(sinon.stub(V2CheckpointManager, \"attach\").callsFake(async (checkpoint: CheckpointProps): Promise<{ dbName: string, container: CloudSqlite.CloudContainer | undefined }> => {\n console.log(\"CloudSqliteMock attach called\"); // eslint-disable-line no-console\n let v2props: V2CheckpointAccessProps | undefined;\n try {\n v2props = await IModelHost[_hubAccess].queryV2Checkpoint(checkpoint);\n if (!v2props)\n throw new Error(\"no checkpoint\");\n } catch (err: any) {\n throw new IModelError(IModelStatus.NotFound, `V2 checkpoint not found: err: ${err.message}`);\n }\n\n const container = V2CheckpointManager.getContainer(v2props, checkpoint);\n if (container instanceof CloudContainerMock) {\n return container.attach();\n } else {\n throw new Error(\"Mock attach only supports CloudContainerMock\");\n }\n }));\n }\n\n /**\n * Stop the CloudSqliteMock that was started in [[startup]].\n * Note: This throws an exception if [[startup]] was not called first.\n */\n public static shutdown() {\n if (this._stubs.length > 0) {\n this._stubs.forEach((stub) => stub.restore());\n this._stubs = [];\n } else {\n throw new Error(\"CloudSqliteMock.shutdown called before startup\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryTestUtil.js","sourceRoot":"","sources":["../../../src/test/GeometryTestUtil.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EACI,SAAS,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACO,QAAQ,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAqB,IAAI,CAAC,KAAK,CAClD,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE;IAClE,QAAQ,EAAE,MAAM;CACjB,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,MAAgB,EAAE,MAA2B;IAC/E,gFAAgF;IAChF,MAAM,QAAQ,GAAoC;QAChD,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,4CAA4C;QAC/E,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;KACtD,CAAC;IAEF,MAAM,SAAS,GAAyB;QACtC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;KACtG,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as fs from \"fs\";\r\nimport {\r\n Point3d, Transform, YawPitchRollAngles,\r\n} from \"@itwin/core-geometry\";\r\nimport {\r\n BRepEntity, ColorDef,\r\n} from \"@itwin/core-common\";\r\nimport { IModelTestUtils } from \"./IModelTestUtils\";\r\n\r\nexport const brepData: { data: string } = JSON.parse(\r\n fs.readFileSync(IModelTestUtils.resolveAssetFile(\"brepdata1.json\"), {\r\n encoding: \"utf8\",\r\n }),\r\n);\r\n\r\nexport function createBRepDataProps(origin?: Point3d, angles?: YawPitchRollAngles): BRepEntity.DataProps {\r\n // This brep has a face symbology attribute attached to one face, make it green.\r\n const faceSymb: BRepEntity.FaceSymbologyProps[] = [\r\n { color: ColorDef.blue.toJSON() }, // base symbology should match appearance...\r\n { color: ColorDef.green.toJSON(), transparency: 0.5 },\r\n ];\r\n\r\n const brepProps: BRepEntity.DataProps = {\r\n data: brepData.data,\r\n faceSymbology: faceSymb,\r\n transform: Transform.createOriginAndMatrix(origin, angles ? angles.toMatrix3d() : undefined).toJSON(),\r\n };\r\n\r\n return brepProps;\r\n}\r\n"]}
1
+ {"version":3,"file":"GeometryTestUtil.js","sourceRoot":"","sources":["../../../src/test/GeometryTestUtil.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EACI,SAAS,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACO,QAAQ,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAqB,IAAI,CAAC,KAAK,CAClD,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE;IAClE,QAAQ,EAAE,MAAM;CACjB,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,MAAgB,EAAE,MAA2B;IAC/E,gFAAgF;IAChF,MAAM,QAAQ,GAAoC;QAChD,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,4CAA4C;QAC/E,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;KACtD,CAAC;IAEF,MAAM,SAAS,GAAyB;QACtC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;KACtG,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport * as fs from \"fs\";\nimport {\n Point3d, Transform, YawPitchRollAngles,\n} from \"@itwin/core-geometry\";\nimport {\n BRepEntity, ColorDef,\n} from \"@itwin/core-common\";\nimport { IModelTestUtils } from \"./IModelTestUtils\";\n\nexport const brepData: { data: string } = JSON.parse(\n fs.readFileSync(IModelTestUtils.resolveAssetFile(\"brepdata1.json\"), {\n encoding: \"utf8\",\n }),\n);\n\nexport function createBRepDataProps(origin?: Point3d, angles?: YawPitchRollAngles): BRepEntity.DataProps {\n // This brep has a face symbology attribute attached to one face, make it green.\n const faceSymb: BRepEntity.FaceSymbologyProps[] = [\n { color: ColorDef.blue.toJSON() }, // base symbology should match appearance...\n { color: ColorDef.green.toJSON(), transparency: 0.5 },\n ];\n\n const brepProps: BRepEntity.DataProps = {\n data: brepData.data,\n faceSymbology: faceSymb,\n transform: Transform.createOriginAndMatrix(origin, angles ? angles.toMatrix3d() : undefined).toJSON(),\n };\n\n return brepProps;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IModelHost.test.js","sourceRoot":"","sources":["../../../src/test/IModelHost.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { assert, expect } from \"chai\";\r\nimport * as path from \"path\";\r\nimport * as sinon from \"sinon\";\r\nimport { RpcRegistry } from \"@itwin/core-common\";\r\nimport { BriefcaseManager } from \"../BriefcaseManager\";\r\nimport { SnapshotDb } from \"../IModelDb\";\r\nimport { IModelHost, IModelHostOptions, KnownLocations } from \"../IModelHost\";\r\nimport { Schemas } from \"../Schema\";\r\nimport { KnownTestLocations } from \"./KnownTestLocations\";\r\nimport { AzureServerStorage, AzureServerStorageBindings, AzureServerStorageBindingsConfig } from \"@itwin/object-storage-azure\";\r\nimport { ServerStorage } from \"@itwin/object-storage-core\";\r\nimport { TestUtils } from \"./TestUtils\";\r\nimport { IModelTestUtils } from \"./IModelTestUtils\";\r\nimport { Logger, LogLevel } from \"@itwin/core-bentley\";\r\nimport { overrideSyncNativeLogLevels } from \"../internal/NativePlatform\";\r\nimport { _getHubAccess, _hubAccess } from \"../internal/Symbols\";\r\n\r\ndescribe(\"IModelHost\", () => {\r\n const opts = { cacheDir: TestUtils.getCacheDir() };\r\n beforeEach(async () => {\r\n await TestUtils.shutdownBackend();\r\n });\r\n\r\n afterEach(async () => {\r\n sinon.restore();\r\n });\r\n\r\n after(async () => {\r\n await TestUtils.startBackend();\r\n });\r\n\r\n it(\"valid default configuration\", async () => {\r\n await IModelHost.startup(opts);\r\n\r\n // Valid registered implemented RPCs\r\n expect(RpcRegistry.instance.implementationClasses.size).to.equal(4);\r\n expect(RpcRegistry.instance.implementationClasses.get(\"IModelReadRpcInterface\")).to.exist;\r\n expect(RpcRegistry.instance.implementationClasses.get(\"IModelTileRpcInterface\")).to.exist;\r\n expect(RpcRegistry.instance.implementationClasses.get(\"SnapshotIModelRpcInterface\")).to.exist;\r\n expect(RpcRegistry.instance.implementationClasses.get(\"DevToolsRpcInterface\")).to.exist;\r\n\r\n expect(Schemas.getRegisteredSchema(\"BisCore\")).to.exist;\r\n expect(Schemas.getRegisteredSchema(\"Generic\")).to.exist;\r\n expect(Schemas.getRegisteredSchema(\"Functional\")).to.exist;\r\n });\r\n\r\n it(\"should properly cleanup beforeExit event listeners on shutdown\", async () => {\r\n const beforeCount = process.listenerCount(\"beforeExit\");\r\n for (let i = 0; i <= 15; i++) {\r\n await IModelHost.startup();\r\n await IModelHost.shutdown();\r\n\r\n }\r\n const afterCount = process.listenerCount(\"beforeExit\");\r\n expect(beforeCount).to.be.equal(afterCount);\r\n });\r\n\r\n it(\"should call logger sync function\", async () => {\r\n let nSyncCalls = 0;\r\n overrideSyncNativeLogLevels(() => ++nSyncCalls);\r\n await IModelHost.startup(opts);\r\n expect(nSyncCalls).to.equal(0);\r\n Logger.setLevel(\"test-cat\", LogLevel.Warning);\r\n expect(nSyncCalls).to.equal(1);\r\n overrideSyncNativeLogLevels(undefined);\r\n });\r\n\r\n it(\"should raise onAfterStartup events\", async () => {\r\n const eventHandler = sinon.spy();\r\n IModelHost.onAfterStartup.addOnce(eventHandler);\r\n await IModelHost.startup(opts);\r\n expect(eventHandler.calledOnce).to.be.true;\r\n });\r\n\r\n it(\"should raise onBeforeShutdown events\", async () => {\r\n await TestUtils.startBackend();\r\n const eventHandler = sinon.spy();\r\n IModelHost.onBeforeShutdown.addOnce(eventHandler);\r\n const filename = IModelTestUtils.resolveAssetFile(\"GetSetAutoHandledStructProperties.bim\");\r\n\r\n const workspaceClose = sinon.spy((IModelHost.appWorkspace as any), \"close\");\r\n const saveSettings = IModelHost.appWorkspace.settings as any;\r\n const settingClose = sinon.spy(saveSettings, \"close\");\r\n expect(workspaceClose.callCount).eq(0);\r\n expect(settingClose.callCount).eq(0);\r\n expect(saveSettings._remove).to.not.be.undefined;\r\n\r\n // shutdown should close any opened iModels. Make sure that happens\r\n const imodel1 = SnapshotDb.openFile(filename, { key: \"imodel1\" });\r\n const imodel2 = SnapshotDb.openFile(filename, { key: \"imodel2\" });\r\n const imodel3 = SnapshotDb.openFile(filename, { key: \"imodel3\" });\r\n const imodel4 = SnapshotDb.openFile(filename, { key: \"imodel4\" });\r\n assert.notEqual(imodel1, imodel2);\r\n assert.notEqual(imodel2, imodel3);\r\n expect(imodel1.isOpen).to.be.true;\r\n expect(imodel2.isOpen).to.be.true;\r\n expect(imodel3.isOpen).to.be.true;\r\n imodel4.close(); // make sure it gets removed so we don't try to close it again on shutdown\r\n await TestUtils.shutdownBackend();\r\n expect(eventHandler.calledOnce).to.be.true;\r\n assert.isFalse(imodel1.isOpen, \"shutdown should close iModel1\");\r\n assert.isFalse(imodel2.isOpen, \"shutdown should close iModel2\");\r\n assert.isFalse(imodel3.isOpen, \"shutdown should close iModel3\");\r\n expect(workspaceClose.callCount).eq(1);\r\n expect(settingClose.callCount).eq(1);\r\n expect(saveSettings._remove).to.be.undefined;\r\n });\r\n\r\n it(\"should auto-shutdown on process beforeExit event\", async () => {\r\n await TestUtils.startBackend();\r\n expect(IModelHost.isValid).to.be.true;\r\n const eventHandler = sinon.spy();\r\n IModelHost.onBeforeShutdown.addOnce(eventHandler);\r\n process.emit(\"beforeExit\", 0);\r\n await new Promise((resolve) => setImmediate(resolve));\r\n expect(eventHandler.calledOnce).to.be.true;\r\n expect(IModelHost.isValid).to.be.false;\r\n });\r\n\r\n it(\"should set the briefcase cache directory to expected locations\", async () => {\r\n const config: IModelHostOptions = {};\r\n const cacheSubDir = \"imodels\";\r\n\r\n // Test cache default location\r\n await IModelHost.shutdown();\r\n await IModelHost.startup(config);\r\n let expectedDir = path.join(IModelHost.cacheDir, cacheSubDir);\r\n assert.strictEqual(expectedDir, BriefcaseManager.cacheDir);\r\n\r\n // Test custom cache location\r\n await IModelHost.shutdown();\r\n config.cacheDir = KnownLocations.tmpdir;\r\n await IModelHost.startup(config);\r\n expectedDir = path.join(KnownLocations.tmpdir, cacheSubDir);\r\n assert.strictEqual(expectedDir, BriefcaseManager.cacheDir);\r\n });\r\n\r\n it(\"should set Azure cloud storage provider for tile cache given credentials\", async () => {\r\n const config: IModelHostOptions = {};\r\n config.tileCacheAzureCredentials = {\r\n account: \"testAccount\",\r\n accessKey: \"testAccessKey\",\r\n };\r\n\r\n const storageStub = sinon.createStubInstance(AzureServerStorage) as sinon.SinonStubbedInstance<AzureServerStorage> & AzureServerStorage; // I guess Sinon type definitions don't work well with overloads\r\n const registerStub = sinon.stub(AzureServerStorageBindings.prototype, \"register\").callsFake((container) => {\r\n container.bind(ServerStorage).toConstantValue(storageStub);\r\n });\r\n\r\n await IModelHost.startup(config);\r\n\r\n assert.isDefined(IModelHost.tileStorage);\r\n assert.equal(IModelHost.tileStorage!.storage, storageStub);\r\n assert.isTrue(registerStub.calledOnce);\r\n assert.equal((registerStub.firstCall.lastArg as AzureServerStorageBindingsConfig).accountName, config.tileCacheAzureCredentials.account);\r\n assert.equal((registerStub.firstCall.lastArg as AzureServerStorageBindingsConfig).accountKey, config.tileCacheAzureCredentials.accessKey);\r\n assert.equal((registerStub.firstCall.lastArg as AzureServerStorageBindingsConfig).baseUrl, `https://${config.tileCacheAzureCredentials.account}.blob.core.windows.net`);\r\n });\r\n\r\n it(\"should set custom cloud storage provider for tile cache\", async () => {\r\n const config: IModelHostOptions = {};\r\n config.tileCacheStorage = {} as ServerStorage;\r\n\r\n await IModelHost.startup(config);\r\n\r\n assert.isDefined(IModelHost.tileStorage);\r\n assert.equal(IModelHost.tileStorage!.storage, config.tileCacheStorage);\r\n });\r\n\r\n it(\"should throw if both tileCacheStorage and tileCacheAzureCredentials are set\", async () => {\r\n const config: IModelHostOptions = {};\r\n config.tileCacheAzureCredentials = {\r\n account: \"testAccount\",\r\n accessKey: \"testAccessKey\",\r\n };\r\n config.tileCacheStorage = {} as ServerStorage;\r\n\r\n await expect(IModelHost.startup(config)).to.be.rejectedWith(\"Cannot use both Azure and custom cloud storage providers for tile cache.\");\r\n });\r\n\r\n it(\"should use local cache if cloud storage provider for tile cache is not set\", async () => {\r\n await IModelHost.startup(opts);\r\n\r\n assert.isUndefined(IModelHost.tileStorage);\r\n });\r\n\r\n it(\"should cleanup tileStorage on shutdown\", async () => {\r\n const config: IModelHostOptions = {};\r\n config.tileCacheStorage = {} as ServerStorage;\r\n\r\n await IModelHost.startup(config);\r\n\r\n assert.equal(IModelHost.tileStorage?.storage, config.tileCacheStorage);\r\n\r\n await IModelHost.shutdown();\r\n\r\n assert.isUndefined(IModelHost.tileStorage);\r\n });\r\n\r\n it(\"should throw if hubAccess is undefined and getter is called\", async () => {\r\n await IModelHost.startup(opts);\r\n expect(IModelHost[_getHubAccess]()).undefined;\r\n expect(() => IModelHost[_hubAccess]).throws();\r\n });\r\n\r\n it(\"computeSchemaChecksum\", () => {\r\n const assetsDir = path.join(KnownTestLocations.assetsDir, \"ECSchemaOps\");\r\n const schemaXmlPath = path.join(assetsDir, \"SchemaA.ecschema.xml\");\r\n let referencePaths = [assetsDir];\r\n let sha1 = IModelHost.computeSchemaChecksum({ schemaXmlPath, referencePaths });\r\n expect(sha1).equal(\"3ac6578060902aa0b8426b61d62045fdf7fa0b2b\");\r\n\r\n expect(() => IModelHost.computeSchemaChecksum({ schemaXmlPath, referencePaths, exactMatch: true })).throws(\"Failed to read schema SchemaA.ecschema\");\r\n\r\n referencePaths = [path.join(assetsDir, \"exact-match\")];\r\n sha1 = IModelHost.computeSchemaChecksum({ schemaXmlPath, referencePaths, exactMatch: true });\r\n expect(sha1).equal(\"2a618664fbba1df7c05f27d7c0e8f58de250003b\");\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"IModelHost.test.js","sourceRoot":"","sources":["../../../src/test/IModelHost.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { assert, expect } from \"chai\";\nimport * as path from \"path\";\nimport * as sinon from \"sinon\";\nimport { RpcRegistry } from \"@itwin/core-common\";\nimport { BriefcaseManager } from \"../BriefcaseManager\";\nimport { SnapshotDb } from \"../IModelDb\";\nimport { IModelHost, IModelHostOptions, KnownLocations } from \"../IModelHost\";\nimport { Schemas } from \"../Schema\";\nimport { KnownTestLocations } from \"./KnownTestLocations\";\nimport { AzureServerStorage, AzureServerStorageBindings, AzureServerStorageBindingsConfig } from \"@itwin/object-storage-azure\";\nimport { ServerStorage } from \"@itwin/object-storage-core\";\nimport { TestUtils } from \"./TestUtils\";\nimport { IModelTestUtils } from \"./IModelTestUtils\";\nimport { Logger, LogLevel } from \"@itwin/core-bentley\";\nimport { overrideSyncNativeLogLevels } from \"../internal/NativePlatform\";\nimport { _getHubAccess, _hubAccess } from \"../internal/Symbols\";\n\ndescribe(\"IModelHost\", () => {\n const opts = { cacheDir: TestUtils.getCacheDir() };\n beforeEach(async () => {\n await TestUtils.shutdownBackend();\n });\n\n afterEach(async () => {\n sinon.restore();\n });\n\n after(async () => {\n await TestUtils.startBackend();\n });\n\n it(\"valid default configuration\", async () => {\n await IModelHost.startup(opts);\n\n // Valid registered implemented RPCs\n expect(RpcRegistry.instance.implementationClasses.size).to.equal(4);\n expect(RpcRegistry.instance.implementationClasses.get(\"IModelReadRpcInterface\")).to.exist;\n expect(RpcRegistry.instance.implementationClasses.get(\"IModelTileRpcInterface\")).to.exist;\n expect(RpcRegistry.instance.implementationClasses.get(\"SnapshotIModelRpcInterface\")).to.exist;\n expect(RpcRegistry.instance.implementationClasses.get(\"DevToolsRpcInterface\")).to.exist;\n\n expect(Schemas.getRegisteredSchema(\"BisCore\")).to.exist;\n expect(Schemas.getRegisteredSchema(\"Generic\")).to.exist;\n expect(Schemas.getRegisteredSchema(\"Functional\")).to.exist;\n });\n\n it(\"should properly cleanup beforeExit event listeners on shutdown\", async () => {\n const beforeCount = process.listenerCount(\"beforeExit\");\n for (let i = 0; i <= 15; i++) {\n await IModelHost.startup();\n await IModelHost.shutdown();\n\n }\n const afterCount = process.listenerCount(\"beforeExit\");\n expect(beforeCount).to.be.equal(afterCount);\n });\n\n it(\"should call logger sync function\", async () => {\n let nSyncCalls = 0;\n overrideSyncNativeLogLevels(() => ++nSyncCalls);\n await IModelHost.startup(opts);\n expect(nSyncCalls).to.equal(0);\n Logger.setLevel(\"test-cat\", LogLevel.Warning);\n expect(nSyncCalls).to.equal(1);\n overrideSyncNativeLogLevels(undefined);\n });\n\n it(\"should raise onAfterStartup events\", async () => {\n const eventHandler = sinon.spy();\n IModelHost.onAfterStartup.addOnce(eventHandler);\n await IModelHost.startup(opts);\n expect(eventHandler.calledOnce).to.be.true;\n });\n\n it(\"should raise onBeforeShutdown events\", async () => {\n await TestUtils.startBackend();\n const eventHandler = sinon.spy();\n IModelHost.onBeforeShutdown.addOnce(eventHandler);\n const filename = IModelTestUtils.resolveAssetFile(\"GetSetAutoHandledStructProperties.bim\");\n\n const workspaceClose = sinon.spy((IModelHost.appWorkspace as any), \"close\");\n const saveSettings = IModelHost.appWorkspace.settings as any;\n const settingClose = sinon.spy(saveSettings, \"close\");\n expect(workspaceClose.callCount).eq(0);\n expect(settingClose.callCount).eq(0);\n expect(saveSettings._remove).to.not.be.undefined;\n\n // shutdown should close any opened iModels. Make sure that happens\n const imodel1 = SnapshotDb.openFile(filename, { key: \"imodel1\" });\n const imodel2 = SnapshotDb.openFile(filename, { key: \"imodel2\" });\n const imodel3 = SnapshotDb.openFile(filename, { key: \"imodel3\" });\n const imodel4 = SnapshotDb.openFile(filename, { key: \"imodel4\" });\n assert.notEqual(imodel1, imodel2);\n assert.notEqual(imodel2, imodel3);\n expect(imodel1.isOpen).to.be.true;\n expect(imodel2.isOpen).to.be.true;\n expect(imodel3.isOpen).to.be.true;\n imodel4.close(); // make sure it gets removed so we don't try to close it again on shutdown\n await TestUtils.shutdownBackend();\n expect(eventHandler.calledOnce).to.be.true;\n assert.isFalse(imodel1.isOpen, \"shutdown should close iModel1\");\n assert.isFalse(imodel2.isOpen, \"shutdown should close iModel2\");\n assert.isFalse(imodel3.isOpen, \"shutdown should close iModel3\");\n expect(workspaceClose.callCount).eq(1);\n expect(settingClose.callCount).eq(1);\n expect(saveSettings._remove).to.be.undefined;\n });\n\n it(\"should auto-shutdown on process beforeExit event\", async () => {\n await TestUtils.startBackend();\n expect(IModelHost.isValid).to.be.true;\n const eventHandler = sinon.spy();\n IModelHost.onBeforeShutdown.addOnce(eventHandler);\n process.emit(\"beforeExit\", 0);\n await new Promise((resolve) => setImmediate(resolve));\n expect(eventHandler.calledOnce).to.be.true;\n expect(IModelHost.isValid).to.be.false;\n });\n\n it(\"should set the briefcase cache directory to expected locations\", async () => {\n const config: IModelHostOptions = {};\n const cacheSubDir = \"imodels\";\n\n // Test cache default location\n await IModelHost.shutdown();\n await IModelHost.startup(config);\n let expectedDir = path.join(IModelHost.cacheDir, cacheSubDir);\n assert.strictEqual(expectedDir, BriefcaseManager.cacheDir);\n\n // Test custom cache location\n await IModelHost.shutdown();\n config.cacheDir = KnownLocations.tmpdir;\n await IModelHost.startup(config);\n expectedDir = path.join(KnownLocations.tmpdir, cacheSubDir);\n assert.strictEqual(expectedDir, BriefcaseManager.cacheDir);\n });\n\n it(\"should set Azure cloud storage provider for tile cache given credentials\", async () => {\n const config: IModelHostOptions = {};\n config.tileCacheAzureCredentials = {\n account: \"testAccount\",\n accessKey: \"testAccessKey\",\n };\n\n const storageStub = sinon.createStubInstance(AzureServerStorage) as sinon.SinonStubbedInstance<AzureServerStorage> & AzureServerStorage; // I guess Sinon type definitions don't work well with overloads\n const registerStub = sinon.stub(AzureServerStorageBindings.prototype, \"register\").callsFake((container) => {\n container.bind(ServerStorage).toConstantValue(storageStub);\n });\n\n await IModelHost.startup(config);\n\n assert.isDefined(IModelHost.tileStorage);\n assert.equal(IModelHost.tileStorage!.storage, storageStub);\n assert.isTrue(registerStub.calledOnce);\n assert.equal((registerStub.firstCall.lastArg as AzureServerStorageBindingsConfig).accountName, config.tileCacheAzureCredentials.account);\n assert.equal((registerStub.firstCall.lastArg as AzureServerStorageBindingsConfig).accountKey, config.tileCacheAzureCredentials.accessKey);\n assert.equal((registerStub.firstCall.lastArg as AzureServerStorageBindingsConfig).baseUrl, `https://${config.tileCacheAzureCredentials.account}.blob.core.windows.net`);\n });\n\n it(\"should set custom cloud storage provider for tile cache\", async () => {\n const config: IModelHostOptions = {};\n config.tileCacheStorage = {} as ServerStorage;\n\n await IModelHost.startup(config);\n\n assert.isDefined(IModelHost.tileStorage);\n assert.equal(IModelHost.tileStorage!.storage, config.tileCacheStorage);\n });\n\n it(\"should throw if both tileCacheStorage and tileCacheAzureCredentials are set\", async () => {\n const config: IModelHostOptions = {};\n config.tileCacheAzureCredentials = {\n account: \"testAccount\",\n accessKey: \"testAccessKey\",\n };\n config.tileCacheStorage = {} as ServerStorage;\n\n await expect(IModelHost.startup(config)).to.be.rejectedWith(\"Cannot use both Azure and custom cloud storage providers for tile cache.\");\n });\n\n it(\"should use local cache if cloud storage provider for tile cache is not set\", async () => {\n await IModelHost.startup(opts);\n\n assert.isUndefined(IModelHost.tileStorage);\n });\n\n it(\"should cleanup tileStorage on shutdown\", async () => {\n const config: IModelHostOptions = {};\n config.tileCacheStorage = {} as ServerStorage;\n\n await IModelHost.startup(config);\n\n assert.equal(IModelHost.tileStorage?.storage, config.tileCacheStorage);\n\n await IModelHost.shutdown();\n\n assert.isUndefined(IModelHost.tileStorage);\n });\n\n it(\"should throw if hubAccess is undefined and getter is called\", async () => {\n await IModelHost.startup(opts);\n expect(IModelHost[_getHubAccess]()).undefined;\n expect(() => IModelHost[_hubAccess]).throws();\n });\n\n it(\"computeSchemaChecksum\", () => {\n const assetsDir = path.join(KnownTestLocations.assetsDir, \"ECSchemaOps\");\n const schemaXmlPath = path.join(assetsDir, \"SchemaA.ecschema.xml\");\n let referencePaths = [assetsDir];\n let sha1 = IModelHost.computeSchemaChecksum({ schemaXmlPath, referencePaths });\n expect(sha1).equal(\"3ac6578060902aa0b8426b61d62045fdf7fa0b2b\");\n\n expect(() => IModelHost.computeSchemaChecksum({ schemaXmlPath, referencePaths, exactMatch: true })).throws(\"Failed to read schema SchemaA.ecschema\");\n\n referencePaths = [path.join(assetsDir, \"exact-match\")];\n sha1 = IModelHost.computeSchemaChecksum({ schemaXmlPath, referencePaths, exactMatch: true });\n expect(sha1).equal(\"2a618664fbba1df7c05f27d7c0e8f58de250003b\");\n });\n});\n"]}
@@ -71,7 +71,7 @@ export declare class HubWrappers {
71
71
  accessToken: AccessToken;
72
72
  deleteFirst?: boolean;
73
73
  }): Promise<BriefcaseDb>;
74
- /** Downloads and opens a v1 checkpoint */
74
+ /** Downloads and opens a checkpoint */
75
75
  static downloadAndOpenCheckpoint(args: {
76
76
  accessToken: AccessToken;
77
77
  iTwinId: GuidString;
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTestUtils.d.ts","sourceRoot":"","sources":["../../../src/test/IModelTestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelTestUtils.d.ts","sourceRoot":"","sources":["../../../src/test/IModelTestUtils.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import * as path from "path";
10
10
  import { BeEvent, DbResult, Guid, Id64, IModelStatus, omit } from "@itwin/core-bentley";
11
11
  import { Base64EncodedString, Code, CodeScopeSpec, ColorDef, Environment, FontType, GeometryParams, GeometryStreamBuilder, ImageSourceFormat, IModel, IModelError, IModelReadRpcInterface, IModelVersion, PlanProjectionSettings, RelatedElement, RpcConfiguration, RpcManager, RpcPendingResponse, SkyBoxImageType, SubCategoryAppearance, SubCategoryOverride, SyncMode, } from "@itwin/core-common";
12
12
  import { Box, Cone, LineString3d, Point2d, Point3d, Range2d, Range3d, StandardViewIndex, Vector3d, YawPitchRollAngles } from "@itwin/core-geometry";
13
- import { V1CheckpointManager } from "../CheckpointManager";
13
+ import { V2CheckpointManager } from "../CheckpointManager";
14
14
  import { ClassRegistry } from "../ClassRegistry";
15
15
  import { _nativeDb, AuxCoordSystem2d, BriefcaseDb, BriefcaseLocalValue, BriefcaseManager, CategorySelector, ChannelControl, DisplayStyle2d, DisplayStyle3d, DrawingCategory, DrawingViewDefinition, Element, ElementOwnsChildElements, ElementOwnsMultiAspects, ElementOwnsUniqueAspect, ExternalSource, ExternalSourceIsInRepository, FunctionalModel, FunctionalSchema, GroupModel, IModelDb, IModelHost, IModelJsFs, InformationPartitionElement, Model, ModelSelector, OrthographicViewDefinition, PhysicalModel, PhysicalObject, PhysicalPartition, RenderMaterialElement, SnapshotDb, SpatialCategory, SubCategory, SubjectOwnsPartitionElements, Texture, ViewDefinition, } from "../core-backend";
16
16
  import { DefinitionPartition, Drawing, DrawingGraphic, GeometryPart, LinkElement, PhysicalElement, RepositoryLink, Subject } from "../Element";
@@ -20,7 +20,7 @@ import { RpcBriefcaseUtility } from "../rpc-impl/RpcBriefcaseUtility";
20
20
  import { Schema, Schemas } from "../Schema";
21
21
  import { HubMock } from "../HubMock";
22
22
  import { KnownTestLocations } from "./KnownTestLocations";
23
- import { _hubAccess } from "../internal/Symbols";
23
+ import { _getCheckpointDb, _hubAccess } from "../internal/Symbols";
24
24
  chai.use(chaiAsPromised);
25
25
  /* eslint-disable @typescript-eslint/explicit-member-accessibility */
26
26
  RpcConfiguration.developmentMode = true;
@@ -136,7 +136,7 @@ export class HubWrappers {
136
136
  }
137
137
  }
138
138
  }
139
- /** Downloads and opens a v1 checkpoint */
139
+ /** Downloads and opens a checkpoint */
140
140
  static async downloadAndOpenCheckpoint(args) {
141
141
  if (undefined === args.asOf)
142
142
  args.asOf = IModelVersion.latest().toJSON();
@@ -146,7 +146,9 @@ export class HubWrappers {
146
146
  accessToken: args.accessToken,
147
147
  changeset: (await IModelHost[_hubAccess].getChangesetFromVersion({ accessToken: args.accessToken, version: IModelVersion.fromJSON(args.asOf), iModelId: args.iModelId })),
148
148
  };
149
- return V1CheckpointManager.getCheckpointDb({ checkpoint, localFile: V1CheckpointManager.getFileName(checkpoint) });
149
+ const folder = path.join(V2CheckpointManager.getFolder(), checkpoint.iModelId);
150
+ const filename = path.join(folder, `${checkpoint.changeset.id ?? "first"}.bim`);
151
+ return V2CheckpointManager[_getCheckpointDb]({ checkpoint, localFile: filename });
150
152
  }
151
153
  /** Opens the specific Checkpoint iModel, `SyncMode.FixedVersion`, through the same workflow the IModelReadRpc.getConnectionProps method will use. Replicates the way a frontend would open the iModel. */
152
154
  static async openCheckpointUsingRpc(args) {