@itwin/core-backend 5.1.1 → 5.1.3-experimental.1

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 (357) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/BackendHubAccess.js.map +1 -1
  3. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  4. package/lib/cjs/BisCoreSchema.js.map +1 -1
  5. package/lib/cjs/BlobContainerService.js.map +1 -1
  6. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  7. package/lib/cjs/BriefcaseManager.js +19 -5
  8. package/lib/cjs/BriefcaseManager.js.map +1 -1
  9. package/lib/cjs/CatalogDb.js.map +1 -1
  10. package/lib/cjs/Category.js.map +1 -1
  11. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  12. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  13. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  14. package/lib/cjs/ChannelControl.js.map +1 -1
  15. package/lib/cjs/CheckpointManager.js.map +1 -1
  16. package/lib/cjs/ClassRegistry.js.map +1 -1
  17. package/lib/cjs/CloudSqlite.js.map +1 -1
  18. package/lib/cjs/CodeService.js.map +1 -1
  19. package/lib/cjs/CodeSpecs.js.map +1 -1
  20. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  21. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  22. package/lib/cjs/DevTools.js.map +1 -1
  23. package/lib/cjs/DisplayStyle.js.map +1 -1
  24. package/lib/cjs/ECDb.js.map +1 -1
  25. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  26. package/lib/cjs/ECSqlStatement.js.map +1 -1
  27. package/lib/cjs/Element.js.map +1 -1
  28. package/lib/cjs/ElementAspect.js.map +1 -1
  29. package/lib/cjs/ElementGraphics.js.map +1 -1
  30. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  31. package/lib/cjs/Entity.js.map +1 -1
  32. package/lib/cjs/EntityReferences.js.map +1 -1
  33. package/lib/cjs/ExportGraphics.js.map +1 -1
  34. package/lib/cjs/ExternalSource.js.map +1 -1
  35. package/lib/cjs/FontFile.js.map +1 -1
  36. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  37. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  38. package/lib/cjs/GeometrySummary.js.map +1 -1
  39. package/lib/cjs/IModelDb.d.ts +22 -2
  40. package/lib/cjs/IModelDb.d.ts.map +1 -1
  41. package/lib/cjs/IModelDb.js +23 -3
  42. package/lib/cjs/IModelDb.js.map +1 -1
  43. package/lib/cjs/IModelDbFonts.js.map +1 -1
  44. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  45. package/lib/cjs/IModelHost.js.map +1 -1
  46. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  47. package/lib/cjs/IModelJsFs.js.map +1 -1
  48. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  49. package/lib/cjs/IpcHost.js.map +1 -1
  50. package/lib/cjs/LineStyle.js.map +1 -1
  51. package/lib/cjs/LocalHub.js.map +1 -1
  52. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  53. package/lib/cjs/LockControl.js.map +1 -1
  54. package/lib/cjs/Material.js.map +1 -1
  55. package/lib/cjs/Model.js.map +1 -1
  56. package/lib/cjs/NativeAppStorage.js.map +1 -1
  57. package/lib/cjs/NativeHost.js.map +1 -1
  58. package/lib/cjs/NavigationRelationship.js.map +1 -1
  59. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  60. package/lib/cjs/PropertyStore.js.map +1 -1
  61. package/lib/cjs/Relationship.js.map +1 -1
  62. package/lib/cjs/RpcBackend.js.map +1 -1
  63. package/lib/cjs/SQLiteDb.js.map +1 -1
  64. package/lib/cjs/Schema.js.map +1 -1
  65. package/lib/cjs/SchemaSync.js.map +1 -1
  66. package/lib/cjs/SchemaUtils.js.map +1 -1
  67. package/lib/cjs/SheetIndex.js.map +1 -1
  68. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  69. package/lib/cjs/SqliteStatement.js.map +1 -1
  70. package/lib/cjs/Texture.js.map +1 -1
  71. package/lib/cjs/TileStorage.js.map +1 -1
  72. package/lib/cjs/TxnManager.d.ts +57 -10
  73. package/lib/cjs/TxnManager.d.ts.map +1 -1
  74. package/lib/cjs/TxnManager.js +76 -13
  75. package/lib/cjs/TxnManager.js.map +1 -1
  76. package/lib/cjs/ViewDefinition.js.map +1 -1
  77. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  78. package/lib/cjs/ViewStore.js.map +1 -1
  79. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  80. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  81. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  82. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  83. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  84. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  85. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  86. package/lib/cjs/core-backend.js.map +1 -1
  87. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  88. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  89. package/lib/cjs/domains/GenericElements.js.map +1 -1
  90. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  91. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  92. package/lib/cjs/internal/ChannelAdmin.js +1 -1
  93. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  94. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  95. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  96. package/lib/cjs/internal/HubMock.js.map +1 -1
  97. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  98. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  99. package/lib/cjs/internal/NoLocks.js.map +1 -1
  100. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  101. package/lib/cjs/internal/Symbols.js.map +1 -1
  102. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  103. package/lib/cjs/internal/cross-package.js.map +1 -1
  104. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  105. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  106. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  107. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  108. package/lib/cjs/rpc/multipart.js.map +1 -1
  109. package/lib/cjs/rpc/tracing.js.map +1 -1
  110. package/lib/cjs/rpc/web/logging.js.map +1 -1
  111. package/lib/cjs/rpc/web/request.js.map +1 -1
  112. package/lib/cjs/rpc/web/response.js.map +1 -1
  113. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  114. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  115. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  116. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  117. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  118. package/lib/cjs/workspace/Settings.js.map +1 -1
  119. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  120. package/lib/cjs/workspace/Workspace.js.map +1 -1
  121. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  122. package/lib/esm/BackendHubAccess.js.map +1 -1
  123. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  124. package/lib/esm/BisCoreSchema.js.map +1 -1
  125. package/lib/esm/BlobContainerService.js.map +1 -1
  126. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  127. package/lib/esm/BriefcaseManager.js +20 -6
  128. package/lib/esm/BriefcaseManager.js.map +1 -1
  129. package/lib/esm/CatalogDb.js.map +1 -1
  130. package/lib/esm/Category.js.map +1 -1
  131. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  132. package/lib/esm/ChangedElementsDb.js.map +1 -1
  133. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  134. package/lib/esm/ChannelControl.js.map +1 -1
  135. package/lib/esm/CheckpointManager.js.map +1 -1
  136. package/lib/esm/ClassRegistry.js.map +1 -1
  137. package/lib/esm/CloudSqlite.js.map +1 -1
  138. package/lib/esm/CodeService.js.map +1 -1
  139. package/lib/esm/CodeSpecs.js.map +1 -1
  140. package/lib/esm/ConcurrentQuery.js.map +1 -1
  141. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  142. package/lib/esm/DevTools.js.map +1 -1
  143. package/lib/esm/DisplayStyle.js.map +1 -1
  144. package/lib/esm/ECDb.js.map +1 -1
  145. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  146. package/lib/esm/ECSqlStatement.js.map +1 -1
  147. package/lib/esm/Element.js.map +1 -1
  148. package/lib/esm/ElementAspect.js.map +1 -1
  149. package/lib/esm/ElementGraphics.js.map +1 -1
  150. package/lib/esm/ElementTreeWalker.js.map +1 -1
  151. package/lib/esm/Entity.js.map +1 -1
  152. package/lib/esm/EntityReferences.js.map +1 -1
  153. package/lib/esm/ExportGraphics.js.map +1 -1
  154. package/lib/esm/ExternalSource.js.map +1 -1
  155. package/lib/esm/FontFile.js.map +1 -1
  156. package/lib/esm/GeoCoordConfig.js.map +1 -1
  157. package/lib/esm/GeographicCRSServices.js.map +1 -1
  158. package/lib/esm/GeometrySummary.js.map +1 -1
  159. package/lib/esm/IModelDb.d.ts +22 -2
  160. package/lib/esm/IModelDb.d.ts.map +1 -1
  161. package/lib/esm/IModelDb.js +23 -3
  162. package/lib/esm/IModelDb.js.map +1 -1
  163. package/lib/esm/IModelDbFonts.js.map +1 -1
  164. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  165. package/lib/esm/IModelHost.js.map +1 -1
  166. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  167. package/lib/esm/IModelJsFs.js.map +1 -1
  168. package/lib/esm/ImageSourceConversion.js.map +1 -1
  169. package/lib/esm/IpcHost.js.map +1 -1
  170. package/lib/esm/LineStyle.js.map +1 -1
  171. package/lib/esm/LocalHub.js.map +1 -1
  172. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  173. package/lib/esm/LockControl.js.map +1 -1
  174. package/lib/esm/Material.js.map +1 -1
  175. package/lib/esm/Model.js.map +1 -1
  176. package/lib/esm/NativeAppStorage.js.map +1 -1
  177. package/lib/esm/NativeHost.js.map +1 -1
  178. package/lib/esm/NavigationRelationship.js.map +1 -1
  179. package/lib/esm/PromiseMemoizer.js.map +1 -1
  180. package/lib/esm/PropertyStore.js.map +1 -1
  181. package/lib/esm/Relationship.js.map +1 -1
  182. package/lib/esm/RpcBackend.js.map +1 -1
  183. package/lib/esm/SQLiteDb.js.map +1 -1
  184. package/lib/esm/Schema.js.map +1 -1
  185. package/lib/esm/SchemaSync.js.map +1 -1
  186. package/lib/esm/SchemaUtils.js.map +1 -1
  187. package/lib/esm/SheetIndex.js.map +1 -1
  188. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  189. package/lib/esm/SqliteStatement.js.map +1 -1
  190. package/lib/esm/Texture.js.map +1 -1
  191. package/lib/esm/TileStorage.js.map +1 -1
  192. package/lib/esm/TxnManager.d.ts +57 -10
  193. package/lib/esm/TxnManager.d.ts.map +1 -1
  194. package/lib/esm/TxnManager.js +77 -14
  195. package/lib/esm/TxnManager.js.map +1 -1
  196. package/lib/esm/ViewDefinition.js.map +1 -1
  197. package/lib/esm/ViewStateHydrator.js.map +1 -1
  198. package/lib/esm/ViewStore.js.map +1 -1
  199. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  200. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  201. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  202. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  203. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  204. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  205. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  206. package/lib/esm/core-backend.js.map +1 -1
  207. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  208. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  209. package/lib/esm/domains/GenericElements.js.map +1 -1
  210. package/lib/esm/domains/GenericSchema.js.map +1 -1
  211. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  212. package/lib/esm/internal/ChannelAdmin.js +1 -1
  213. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  214. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  215. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  216. package/lib/esm/internal/HubMock.js.map +1 -1
  217. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  218. package/lib/esm/internal/NativePlatform.js.map +1 -1
  219. package/lib/esm/internal/NoLocks.js.map +1 -1
  220. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  221. package/lib/esm/internal/Symbols.js.map +1 -1
  222. package/lib/esm/internal/annotations/fields.js.map +1 -1
  223. package/lib/esm/internal/cross-package.js.map +1 -1
  224. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  225. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  226. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  227. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  228. package/lib/esm/rpc/multipart.js.map +1 -1
  229. package/lib/esm/rpc/tracing.js.map +1 -1
  230. package/lib/esm/rpc/web/logging.js.map +1 -1
  231. package/lib/esm/rpc/web/request.js.map +1 -1
  232. package/lib/esm/rpc/web/response.js.map +1 -1
  233. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  234. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  235. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  236. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  237. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  238. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  239. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  240. package/lib/esm/test/AttachDb.test.js.map +1 -1
  241. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  242. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  243. package/lib/esm/test/IModelHost.test.js.map +1 -1
  244. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  245. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  246. package/lib/esm/test/IpcHost.test.js.map +1 -1
  247. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  248. package/lib/esm/test/PrintElementTree.js.map +1 -1
  249. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  250. package/lib/esm/test/RevisionUtility.js.map +1 -1
  251. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  252. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  253. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  254. package/lib/esm/test/TestUtils.js.map +1 -1
  255. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  256. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  257. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  258. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  259. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  260. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  261. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  262. package/lib/esm/test/categories/Category.test.js.map +1 -1
  263. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  264. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  265. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  266. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  267. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  268. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  269. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  270. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  271. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  272. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  273. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  274. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  275. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  276. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  277. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  278. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  279. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  280. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  281. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  282. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  283. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  284. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  285. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  286. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  287. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  288. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  289. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  290. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  291. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  292. package/lib/esm/test/hubaccess/Rebase.test.d.ts +2 -0
  293. package/lib/esm/test/hubaccess/Rebase.test.d.ts.map +1 -0
  294. package/lib/esm/test/hubaccess/Rebase.test.js +172 -0
  295. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -0
  296. package/lib/esm/test/imageData.js.map +1 -1
  297. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  298. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  299. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  300. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  301. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  302. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  303. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  304. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
  305. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
  306. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
  307. package/lib/esm/test/index.js.map +1 -1
  308. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  309. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  310. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  311. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  312. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  313. package/lib/esm/test/rpc/response.test.js.map +1 -1
  314. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  315. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  316. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  317. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  318. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  319. package/lib/esm/test/standalone/ChangeMerge.test.js +10 -10
  320. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  321. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  322. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  323. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  324. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  325. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  326. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  327. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  328. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  329. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  330. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  331. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  332. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  333. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  334. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  335. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  336. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  337. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  338. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  339. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  340. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  341. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  342. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  343. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  344. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  345. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  346. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  347. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  348. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  349. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  350. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  351. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  352. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  353. package/lib/esm/workspace/Settings.js.map +1 -1
  354. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  355. package/lib/esm/workspace/Workspace.js.map +1 -1
  356. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  357. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"IModelDbFonts.test.js","sourceRoot":"","sources":["../../../../src/test/font/IModelDbFonts.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 { expect } from \"chai\";\r\nimport * as fs from \"fs\";\r\nimport * as sinon from \"sinon\";\r\nimport { BriefcaseDb, IModelDb } from \"../../IModelDb\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\nimport { FontFace, FontType, RscFontEncodingProps } from \"@itwin/core-common\";\r\nimport { FontFile } from \"../../FontFile\";\r\nimport type { IModelJsNative } from \"@bentley/imodeljs-native\";\r\nimport { _faceProps, _getData } from \"../../internal/Symbols\";\r\nimport { CodeService } from \"../../CodeService\";\r\nimport { HubMock } from \"../../internal/HubMock\";\r\nimport { KnownTestLocations } from \"../KnownTestLocations\";\r\nimport { BriefcaseManager } from \"../../BriefcaseManager\";\r\nimport { QueryMappedFamiliesArgs } from \"../../IModelDbFonts\";\r\n\r\ndescribe(\"IModelDbFonts\", () => {\r\n let db: IModelDb;\r\n\r\n class MockCodeService {\r\n public static enable = false;\r\n public static nextFaceDataId = 10;\r\n public static nextFontId = 100;\r\n\r\n public static reset() {\r\n this.enable = false;\r\n this.nextFaceDataId = 10;\r\n this.nextFontId = 100;\r\n }\r\n\r\n public static get internalCodes() {\r\n if (!MockCodeService.enable) {\r\n return undefined;\r\n }\r\n\r\n const obj = {\r\n reserveFontId: () => MockCodeService.nextFontId++,\r\n reserveEmbeddedFaceDataId: () => MockCodeService.nextFaceDataId++,\r\n };\r\n\r\n (obj as any).writeLocker = obj;\r\n return obj;\r\n }\r\n\r\n public static close() { }\r\n\r\n }\r\n\r\n before(() => {\r\n HubMock.startup(\"IModelDbFontsTest\", KnownTestLocations.outputDir);\r\n });\r\n after(() => HubMock.shutdown());\r\n\r\n beforeEach(async () => {\r\n CodeService.createForIModel = () => MockCodeService as any;\r\n const iModelId = await HubMock.createNewIModel({ iModelName: \"IModelDbFontsTest\", iTwinId: HubMock.iTwinId });\r\n const bcProps = await BriefcaseManager.downloadBriefcase({ accessToken: \"test\", iTwinId: HubMock.iTwinId, iModelId });\r\n db = await BriefcaseDb.open({ fileName: bcProps.fileName});\r\n });\r\n\r\n afterEach(() => {\r\n db.abandonChanges();\r\n db.close();\r\n MockCodeService.reset();\r\n CodeService.createForIModel = undefined;\r\n });\r\n\r\n function createTTFile(fontName: string): FontFile {\r\n return FontFile.createFromTrueTypeFileName(IModelTestUtils.resolveFontFile(fontName));\r\n }\r\n\r\n function createTTFace(familyName: string, faceName: \"regular\" | \"bold\" | \"italic\" | \"bolditalic\", subId = 0): IModelJsNative.FontFaceProps {\r\n return { familyName, faceName, type: FontType.TrueType, subId };\r\n }\r\n\r\n function expectEmbeddedFontFiles(expected: Array<IModelJsNative.FontFaceProps[]>) {\r\n const fonts = Array.from(db.fonts.queryEmbeddedFontFiles());\r\n const actualFaceProps: Array<IModelJsNative.FontFaceProps[]> = fonts.map((x) => x[_faceProps]);\r\n\r\n expect(actualFaceProps).to.deep.equal(expected);\r\n\r\n const expectedFaces: Array<FontFace[]> = expected.map((list) => {\r\n return list.map((x) => {\r\n return {\r\n familyName: x.familyName,\r\n isBold: x.faceName.startsWith(\"bold\"),\r\n isItalic: x.faceName.endsWith(\"italic\"),\r\n };\r\n });\r\n });\r\n\r\n const actualFaces = fonts.map((x) => x.faces);\r\n expect(actualFaces).to.deep.equal(expectedFaces);\r\n }\r\n\r\n describe(\"embedFontFile\", () => {\r\n it(\"embeds font files\", async () => {\r\n expectEmbeddedFontFiles([]);\r\n\r\n const expectedFiles: Array<IModelJsNative.FontFaceProps[]> = [];\r\n\r\n async function embedAndTest(file: FontFile, expectedFaces: IModelJsNative.FontFaceProps[]): Promise<void> {\r\n await db.fonts.embedFontFile({ file });\r\n expectedFiles.push(expectedFaces);\r\n expectEmbeddedFontFiles(expectedFiles);\r\n }\r\n\r\n const fileName = IModelTestUtils.resolveFontFile(\"Cdm.shx\");\r\n const blob = fs.readFileSync(fileName);\r\n await embedAndTest(FontFile.createFromShxFontBlob({ blob, familyName: \"Cdm\" }), [{\r\n familyName: \"Cdm\",\r\n type: FontType.Shx,\r\n faceName: \"regular\",\r\n subId: 0,\r\n }]);\r\n\r\n await embedAndTest(createTTFile(\"Karla-Regular.ttf\"), [createTTFace(\"Karla\", \"regular\")]);\r\n\r\n await embedAndTest(createTTFile(\"Sitka.ttc\"), [\r\n createTTFace(\"Sitka Banner\", \"regular\", 5),\r\n createTTFace(\"Sitka Display\", \"regular\", 4),\r\n createTTFace(\"Sitka Heading\", \"regular\", 3),\r\n createTTFace(\"Sitka Small\", \"regular\", 0),\r\n createTTFace(\"Sitka Subheading\", \"regular\", 2),\r\n createTTFace(\"Sitka Text\", \"regular\", 1),\r\n ]);\r\n\r\n await embedAndTest(createTTFile(\"DejaVuSans.ttf\"), [createTTFace(\"DejaVu Sans\", \"regular\")]);\r\n await embedAndTest(createTTFile(\"DejaVuSans-Bold.ttf\"), [createTTFace(\"DejaVu Sans\", \"bold\")]);\r\n\r\n const rscBlob = fs.readFileSync(IModelTestUtils.resolveFontFile(\"ENGINEERING.bin\"));\r\n const encoding: RscFontEncodingProps = {\r\n degree: 5,\r\n plusMinus: 100,\r\n };\r\n await embedAndTest(FontFile.createFromRscFontBlob({ blob: rscBlob, familyName: \"ENGINEERING\", encoding }), [{\r\n familyName: \"ENGINEERING\",\r\n type: FontType.Rsc,\r\n faceName: \"regular\",\r\n subId: 0,\r\n encoding: {\r\n ...encoding,\r\n // omitted properties get default values\r\n diameter: 216,\r\n codePage: -1,\r\n }\r\n }]);\r\n });\r\n\r\n it(\"is a no-op if file is already embedded\", async () => {\r\n expectEmbeddedFontFiles([]);\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Sitka.ttc\") });\r\n expectEmbeddedFontFiles([[\r\n createTTFace(\"Sitka Banner\", \"regular\", 5),\r\n createTTFace(\"Sitka Display\", \"regular\", 4),\r\n createTTFace(\"Sitka Heading\", \"regular\", 3),\r\n createTTFace(\"Sitka Small\", \"regular\", 0),\r\n createTTFace(\"Sitka Subheading\", \"regular\", 2),\r\n createTTFace(\"Sitka Text\", \"regular\", 1),\r\n ]]);\r\n\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Sitka.ttc\") });\r\n expectEmbeddedFontFiles([[\r\n createTTFace(\"Sitka Banner\", \"regular\", 5),\r\n createTTFace(\"Sitka Display\", \"regular\", 4),\r\n createTTFace(\"Sitka Heading\", \"regular\", 3),\r\n createTTFace(\"Sitka Small\", \"regular\", 0),\r\n createTTFace(\"Sitka Subheading\", \"regular\", 2),\r\n createTTFace(\"Sitka Text\", \"regular\", 1),\r\n ]]);\r\n });\r\n\r\n it(\"throws if font is not embeddable\", async () => {\r\n await expect(db.fonts.embedFontFile({ file: createTTFile(\"Karla-Restricted.ttf\") })).to.eventually.be.rejectedWith(\"Font does not permit embedding\");\r\n await expect(db.fonts.embedFontFile({ file: createTTFile(\"Karla-Preview-And-Print.ttf\") })).to.eventually.be.rejectedWith(\"Font does not permit embedding\");\r\n });\r\n\r\n it(\"allocates font Ids unless otherwise specified\", async () => {\r\n await db.fonts.embedFontFile({ file: createTTFile(\"DejaVuSans.ttf\") });\r\n expect(db.fonts.findId({ name: \"DejaVu Sans\", type: FontType.TrueType })).not.to.be.undefined;\r\n\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Sitka.ttc\"), skipFontIdAllocation: false });\r\n const sitkaFamilies = [\"Banner\", \"Display\", \"Heading\", \"Small\", \"Subheading\", \"Text\"].map((x) => `Sitka ${x}`);\r\n for (const name of sitkaFamilies) {\r\n expect(db.fonts.findId({ name, type: FontType.TrueType })).not.to.be.undefined;\r\n }\r\n\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Karla-Regular.ttf\"), skipFontIdAllocation: true });\r\n expect(db.fonts.findId({ name: \"Karla\", type: FontType.TrueType })).to.be.undefined;\r\n });\r\n\r\n it(\"requires schema lock if CodeService is not configured\", async () => {\r\n const spy = sinon.spy(db, \"acquireSchemaLock\");\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Karla-Regular.ttf\"), skipFontIdAllocation: true });\r\n expect(spy.callCount).to.equal(1);\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Sitka.ttc\"), skipFontIdAllocation: false });\r\n expect(spy.callCount).to.equal(2);\r\n });\r\n\r\n it(\"obtains face data Ids from CodeService if configured\", async () => {\r\n MockCodeService.enable = true;\r\n const spy = sinon.spy(db, \"acquireSchemaLock\");\r\n\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Karla-Regular.ttf\"), skipFontIdAllocation: true });\r\n\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Sitka.ttc\"), skipFontIdAllocation: false });\r\n\r\n expect(spy.callCount).to.equal(0);\r\n expect(MockCodeService.nextFaceDataId).to.equal(12);\r\n });\r\n\r\n it(\"round-trips font data\", async () => {\r\n const inputData = fs.readFileSync(IModelTestUtils.resolveFontFile(\"Cdm.shx\"));\r\n await db.fonts.embedFontFile({ file: FontFile.createFromShxFontBlob({ blob: inputData, familyName: \"Cdm\" }) });\r\n\r\n const embeddedFiles = Array.from(db.fonts.queryEmbeddedFontFiles());\r\n expect(embeddedFiles.length).to.equal(1);\r\n const embeddedFile = embeddedFiles[0];\r\n\r\n const embeddedData = embeddedFile[_getData]();\r\n expect(Array.from(embeddedData)).to.deep.equal(Array.from(inputData));\r\n });\r\n });\r\n\r\n describe(\"acquireId\", () => {\r\n it(\"assigns font Ids\", async () => {\r\n expect(db.fonts.findDescriptor(1)).to.be.undefined;\r\n\r\n const cdmShx = { name: \"Cdm\", type: FontType.Shx };\r\n expect(db.fonts.findId(cdmShx)).to.be.undefined;\r\n\r\n const cdmShxId = await db.fonts.acquireId(cdmShx);\r\n expect(cdmShxId).to.equal(1);\r\n\r\n const cdmShxId2 = await db.fonts.acquireId(cdmShx);\r\n expect(cdmShxId2).to.equal(cdmShxId);\r\n\r\n expect(db.fonts.findDescriptor(cdmShxId)).to.deep.equal(cdmShx);\r\n expect(db.fonts.findId(cdmShx)).to.equal(cdmShxId);\r\n\r\n const cdmRsc = { name: \"Cdm\", type: FontType.Rsc };\r\n expect(db.fonts.findId(cdmRsc)).to.be.undefined;\r\n\r\n const cdmRscId = await db.fonts.acquireId(cdmRsc);\r\n expect(cdmRscId).to.equal(2);\r\n\r\n expect(db.fonts.findId(cdmRsc)).to.equal(cdmRscId);\r\n expect(db.fonts.findDescriptor(cdmRscId)).to.deep.equal(cdmRsc);\r\n\r\n const arial = { name: \"Arial\", type: FontType.TrueType };\r\n const arialId = await db.fonts.acquireId(arial);\r\n expect(arialId).to.equal(3);\r\n expect(db.fonts.findId(arial)).to.equal(arialId);\r\n expect(db.fonts.findDescriptor(arialId)).to.deep.equal(arial);\r\n });\r\n\r\n it(\"requires schema lock if CodeService is not configured\", async () => {\r\n const spy = sinon.spy(db, \"acquireSchemaLock\");\r\n const cdmShx = { name: \"Cdm\", type: FontType.Shx };\r\n await db.fonts.acquireId(cdmShx);\r\n expect(spy.callCount).to.equal(1);\r\n\r\n await db.fonts.acquireId(cdmShx);\r\n expect(spy.callCount).to.equal(1);\r\n\r\n await db.fonts.acquireId({ name: \"Arial\", type: FontType.TrueType });\r\n expect(spy.callCount).to.equal(2);\r\n });\r\n\r\n it(\"acquires font Ids from CodeService if configured\", async () => {\r\n MockCodeService.enable = true;\r\n const spy = sinon.spy(db, \"acquireSchemaLock\");\r\n\r\n const cdmShx = { name: \"Cdm\", type: FontType.Shx };\r\n const cdmShxId = await db.fonts.acquireId(cdmShx);\r\n expect(cdmShxId).to.equal(100);\r\n\r\n const cdmShxId2 = await db.fonts.acquireId(cdmShx);\r\n expect(cdmShxId2).to.equal(cdmShxId);\r\n\r\n const arialId = await db.fonts.acquireId({ name: \"Arial\", type: FontType.TrueType });\r\n expect(arialId).to.equal(101);\r\n\r\n expect(spy.callCount).to.equal(0);\r\n });\r\n });\r\n\r\n describe(\"findId\", () => {\r\n it(\"finds exact match by name and type, or first match by type if only name is supplied\", async () => {\r\n const shx = await db.fonts.acquireId({ name: \"Font\", type: FontType.Shx });\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.Shx })).to.equal(shx);\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.Rsc})).to.be.undefined;\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.TrueType})).to.be.undefined;\r\n expect(db.fonts.findId({ name: \"Font\" })).to.equal(shx);\r\n\r\n const tt = await db.fonts.acquireId({ name: \"Font\", type: FontType.TrueType });\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.TrueType })).to.equal(tt);\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.Rsc})).to.be.undefined;\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.Shx})).to.equal(shx);\r\n expect(db.fonts.findId({ name: \"Font\" })).to.equal(tt);\r\n\r\n const rsc = await db.fonts.acquireId({ name: \"Font\", type: FontType.Rsc });\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.Rsc})).to.equal(rsc);\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.TrueType })).to.equal(tt);\r\n expect(db.fonts.findId({ name: \"Font\", type: FontType.Shx})).to.equal(shx);\r\n expect(db.fonts.findId({ name: \"Font\" })).to.equal(tt);\r\n });\r\n });\r\n\r\n describe(\"queryMappedFamilies\", () => {\r\n it(\"omits entries with no embedded face data by default\", async () => {\r\n await db.fonts.embedFontFile({ file: createTTFile(\"Karla-Regular.ttf\") });\r\n await db.fonts.embedFontFile({ file: createTTFile(\"DejaVuSans.ttf\"), skipFontIdAllocation: true });\r\n await db.fonts.acquireId({ name: \"Arial\", type: FontType.TrueType });\r\n\r\n function expectFamilies(expected: string[], args?: QueryMappedFamiliesArgs): void {\r\n const actual = Array.from(db.fonts.queryMappedFamilies(args)).map((x) => x.name).sort();\r\n expect(actual).to.deep.equal(expected.sort());\r\n }\r\n\r\n expectFamilies([\"Karla\"]);\r\n expectFamilies([\"Karla\"], { includeNonEmbedded: false })\r\n expectFamilies([\"Arial\", \"Karla\"], { includeNonEmbedded: true });\r\n });\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"IModelDbFonts.test.js","sourceRoot":"","sources":["../../../../src/test/font/IModelDbFonts.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApplyChangeset.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/ApplyChangeset.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 * as chai from \"chai\";\r\nimport * as chaiAsPromised from \"chai-as-promised\";\r\nimport { HubWrappers, KnownTestLocations } from \"..\";\r\nimport { ChannelControl, IModelHost } from \"../../core-backend\";\r\nimport { HubMock } from \"../../internal/HubMock\";\r\nimport { Suite } from \"mocha\";\r\nchai.use(chaiAsPromised);\r\n\r\ndescribe(\"apply changesets\", function (this: Suite) {\r\n before(async () => {\r\n await IModelHost.startup();\r\n });\r\n\r\n it(\"Apply changeset with no local changes, should not create new local changes\", async () => {\r\n HubMock.startup(\"PullMergeMethod\", KnownTestLocations.outputDir);\r\n\r\n const iModelId = await HubMock.createNewIModel({ accessToken: \"user1\", iTwinId: HubMock.iTwinId, iModelName: \"Test\", description: \"TestSubject\" });\r\n\r\n const b1 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: \"user1\", iTwinId: HubMock.iTwinId, iModelId, noLock: true });\r\n b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n b1.saveChanges();\r\n\r\n const b2 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: \"user2\", iTwinId: HubMock.iTwinId, iModelId, noLock: true });\r\n b2.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n b2.saveChanges();\r\n\r\n const b3 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: \"user2\", iTwinId: HubMock.iTwinId, iModelId, noLock: true });\r\n b3.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n b3.saveChanges();\r\n\r\n const schema1 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n <ECSchema schemaName=\"TestDomain\" alias=\"ts\" version=\"01.00\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\r\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\r\n <ECEntityClass typeName=\"a1\">\r\n <BaseClass>bis:GraphicalElement2d</BaseClass>\r\n </ECEntityClass>\r\n <ECEntityClass typeName=\"b1\"> <BaseClass>a1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"b2\"> <BaseClass>a1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"c1\"> <BaseClass>b1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"c2\"> <BaseClass>b1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"d1\"> <BaseClass>b2</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"d2\"> <BaseClass>b2</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"f1\"> <BaseClass>d1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"f2\"> <BaseClass>d1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"e1\"> <BaseClass>d2</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"e2\"> <BaseClass>d2</BaseClass> </ECEntityClass>\r\n </ECSchema>`;\r\n\r\n await b1.importSchemaStrings([schema1]);\r\n b1.saveChanges(\"schema1\");\r\n\r\n chai.expect(b1.txns.hasPendingTxns).to.be.true\r\n await b1.pushChanges({ description: \"schema1\" });\r\n chai.expect(b1.txns.hasPendingTxns).to.be.false\r\n\r\n chai.expect(b2.txns.hasPendingTxns).to.be.false\r\n await b2.pullChanges();\r\n chai.expect(b2.txns.hasPendingTxns).to.be.false;\r\n\r\n const schema2 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n <ECSchema schemaName=\"TestDomain2\" alias=\"ts1\" version=\"01.00\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\r\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\r\n <ECEntityClass typeName=\"a1\">\r\n <BaseClass>bis:GraphicalElement2d</BaseClass>\r\n </ECEntityClass>\r\n <ECEntityClass typeName=\"b1\"> <BaseClass>a1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"b2\"> <BaseClass>a1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"c1\"> <BaseClass>b1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"c2\"> <BaseClass>b1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"d1\"> <BaseClass>b2</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"d2\"> <BaseClass>b2</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"f1\"> <BaseClass>d1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"f2\"> <BaseClass>d1</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"e1\"> <BaseClass>d2</BaseClass> </ECEntityClass>\r\n <ECEntityClass typeName=\"e2\"> <BaseClass>d2</BaseClass> </ECEntityClass>\r\n </ECSchema>`;\r\n\r\n await b1.importSchemaStrings([schema2]);\r\n b1.saveChanges(\"schema2\");\r\n\r\n chai.expect(b1.txns.hasPendingTxns).to.be.true\r\n await b1.pushChanges({ description: \"schema2\" });\r\n chai.expect(b1.txns.hasPendingTxns).to.be.false;\r\n\r\n\r\n chai.expect(b2.txns.hasPendingTxns).to.be.false\r\n await b2.pullChanges();\r\n chai.expect(b2.txns.hasPendingTxns).to.be.false;\r\n\r\n\r\n chai.expect(b3.txns.hasPendingTxns).to.be.false\r\n await b3.pullChanges();\r\n chai.expect(b3.txns.hasPendingTxns).to.be.false;\r\n\r\n\r\n b1.close();\r\n b2.close();\r\n b3.close();\r\n HubMock.shutdown();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"ApplyChangeset.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/ApplyChangeset.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseManager.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/BriefcaseManager.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 { assert } from \"chai\";\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { BriefcaseIdValue } from \"@itwin/core-common\";\r\nimport { Element } from \"../../Element\";\r\nimport { HubWrappers, IModelTestUtils } from \"../IModelTestUtils\";\r\nimport { KnownTestLocations } from \"../KnownTestLocations\";\r\nimport { HubMock } from \"../../internal/HubMock\";\r\nimport { TestChangeSetUtility } from \"../TestChangeSetUtility\";\r\nimport { _nativeDb, ChannelControl } from \"../../core-backend\";\r\n\r\ndescribe(\"BriefcaseManager\", async () => {\r\n const testITwinId: string = Guid.createValue();\r\n const managerAccessToken = \"manager mock token\";\r\n const accessToken = \"access token\";\r\n\r\n // contested version0 files can cause errors that cause tests to not call shutdown, so always do it here\r\n afterEach(() => HubMock.shutdown());\r\n\r\n it(\"Open iModels with various names causing potential issues on Windows/Unix\", async () => {\r\n HubMock.startup(\"bad names\", KnownTestLocations.outputDir);\r\n let iModelName = \"iModel Name With Spaces\";\r\n let iModelId = await HubWrappers.createIModel(managerAccessToken, testITwinId, iModelName);\r\n const args = { accessToken, iTwinId: testITwinId, iModelId };\r\n assert.isDefined(iModelId);\r\n let iModel = await HubWrappers.openCheckpointUsingRpc(args);\r\n assert.isDefined(iModel);\r\n\r\n iModelName = \"iModel Name With :\\/<>?* Characters\";\r\n iModelId = await HubWrappers.createIModel(managerAccessToken, testITwinId, iModelName);\r\n assert.isDefined(iModelId);\r\n iModel = await HubWrappers.openCheckpointUsingRpc(args);\r\n assert.isDefined(iModel);\r\n\r\n iModelName = \"iModel Name Thats Excessively Long \" +\r\n \"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\" +\r\n \"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\" +\r\n \"01234567890123456789\"; // 35 + 2*100 + 20 = 255\r\n // Note: iModelHub does not accept a name that's longer than 255 characters.\r\n assert.equal(255, iModelName.length);\r\n iModelId = await HubWrappers.createIModel(managerAccessToken, testITwinId, iModelName);\r\n assert.isDefined(iModelId);\r\n iModel = await HubWrappers.openCheckpointUsingRpc(args);\r\n assert.isDefined(iModel);\r\n iModel.close();\r\n });\r\n\r\n it(\"should set appropriate briefcase ids for FixedVersion, PullOnly and PullAndPush workflows\", async () => {\r\n HubMock.startup(\"briefcaseIds\", KnownTestLocations.outputDir);\r\n const iModelId = await HubWrappers.createIModel(accessToken, testITwinId, \"imodel1\");\r\n const args = { accessToken, iTwinId: testITwinId, iModelId, deleteFirst: true };\r\n const iModel1 = await HubWrappers.openCheckpointUsingRpc(args);\r\n assert.equal(BriefcaseIdValue.Unassigned, iModel1.getBriefcaseId(), \"checkpoint should be 0\");\r\n\r\n try {\r\n const iModelFailure = await HubWrappers.openBriefcaseUsingRpc({ ...args, briefcaseId: 0 });\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModelFailure);\r\n assert.fail(\"iModelFailure should fail due to iModel1 already being open as a SnapshotDb\");\r\n } catch (err: any) {\r\n assert.isTrue(err.message.includes(\"iModel is already open as a SnapshotDb\"), \"iModelFailure failure must be due to db being open as a SnapshotDb\");\r\n }\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModel1);\r\n const iModel2 = await HubWrappers.openBriefcaseUsingRpc({ ...args, briefcaseId: 0 });\r\n assert.equal(BriefcaseIdValue.Unassigned, iModel2.briefcaseId, \"pullOnly should be 0\");\r\n\r\n const iModel2Dup = await HubWrappers.openBriefcaseUsingRpc({ ...args, briefcaseId: 0 });\r\n\r\n const iModel3 = await HubWrappers.openBriefcaseUsingRpc(args);\r\n assert.isTrue(iModel3.briefcaseId >= BriefcaseIdValue.FirstValid && iModel3.briefcaseId <= BriefcaseIdValue.LastValid, \"valid briefcaseId\");\r\n\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModel2);\r\n try {\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModel2Dup);\r\n assert.fail(\"iModel2Dup failure should fail due to already being closed when iModel2 closed\");\r\n } catch (err: any) {\r\n assert.isTrue(err.message.includes(\"db is not open\"), \"iModel2Dup failure must be due to db not being open\");\r\n }\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModel3);\r\n });\r\n\r\n it(\"should reuse a briefcaseId when re-opening iModels for pullAndPush workflows\", async () => {\r\n HubMock.startup(\"briefcaseIdsReopen\", KnownTestLocations.outputDir);\r\n const iModelId = await HubWrappers.createIModel(accessToken, testITwinId, \"imodel1\");\r\n\r\n const args = { accessToken, iTwinId: testITwinId, iModelId, deleteFirst: false };\r\n const iModel1 = await HubWrappers.openBriefcaseUsingRpc(args);\r\n const briefcaseId1 = iModel1.briefcaseId;\r\n iModel1.close(); // Keeps the briefcase by default\r\n\r\n const iModel3 = await HubWrappers.openBriefcaseUsingRpc(args);\r\n const briefcaseId3 = iModel3.briefcaseId;\r\n assert.strictEqual(briefcaseId3, briefcaseId1);\r\n\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModel3);\r\n });\r\n\r\n it(\"should reuse a briefcaseId when re-opening iModels of different versions for pullAndPush and pullOnly workflows\", async () => {\r\n HubMock.startup(\"workflow\", KnownTestLocations.outputDir);\r\n const userToken1 = \"manager token\";\r\n const userToken2 = \"super manager token\";\r\n\r\n // User1 creates an iModel on the Hub\r\n const testUtility = new TestChangeSetUtility(userToken1, IModelTestUtils.generateUniqueName(\"BriefcaseReuseTest\"));\r\n await testUtility.createTestIModel();\r\n\r\n // User2 opens and then closes the iModel pullOnly/pullPush, keeping the briefcase\r\n const args = { accessToken: userToken2, iTwinId: testUtility.iTwinId, iModelId: testUtility.iModelId };\r\n const iModelPullAndPush = await HubWrappers.openBriefcaseUsingRpc(args);\r\n const briefcaseIdPullAndPush: number = iModelPullAndPush.briefcaseId;\r\n const changesetPullAndPush = iModelPullAndPush.changeset;\r\n iModelPullAndPush.close();\r\n\r\n const iModelPullOnly = await HubWrappers.openBriefcaseUsingRpc({ ...args, briefcaseId: 0 });\r\n const briefcaseIdPullOnly: number = iModelPullOnly.briefcaseId;\r\n const changesetPullOnly = iModelPullOnly.changeset;\r\n iModelPullOnly.close();\r\n\r\n // User1 pushes a change set\r\n await testUtility.pushTestChangeSet();\r\n\r\n // User 2 reopens the iModel pullOnly/pullPush => Expect the same briefcase to be re-used, but the changeset should have been updated!!\r\n const iModelPullAndPush2 = await HubWrappers.openBriefcaseUsingRpc(args);\r\n const briefcaseIdPullAndPush2: number = iModelPullAndPush2.briefcaseId;\r\n assert.strictEqual(briefcaseIdPullAndPush2, briefcaseIdPullAndPush);\r\n const changesetPullAndPush2 = iModelPullAndPush2.changeset;\r\n assert.notStrictEqual(changesetPullAndPush2, changesetPullAndPush);\r\n await HubWrappers.closeAndDeleteBriefcaseDb(userToken2, iModelPullAndPush2);\r\n\r\n const iModelPullOnly2 = await HubWrappers.openBriefcaseUsingRpc({ ...args, briefcaseId: 0 });\r\n const briefcaseIdPullOnly2: number = iModelPullOnly2.briefcaseId;\r\n assert.strictEqual(briefcaseIdPullOnly2, briefcaseIdPullOnly);\r\n const changesetPullOnly2 = iModelPullOnly2.changeset;\r\n assert.notStrictEqual(changesetPullOnly2, changesetPullOnly);\r\n await HubWrappers.closeAndDeleteBriefcaseDb(userToken2, iModelPullOnly2);\r\n\r\n // Delete iModel from the Hub and disk\r\n await testUtility.deleteTestIModel();\r\n });\r\n\r\n it(\"should be able to edit a PullAndPush briefcase, reopen it as of a new version, and then push changes\", async () => {\r\n HubMock.startup(\"pullPush\", KnownTestLocations.outputDir);\r\n const userToken1 = \"manager token\"; // User1 is just used to create and update the iModel\r\n const userToken2 = \"super manager token\"; // User2 is used for the test\r\n\r\n // User1 creates an iModel on the Hub\r\n const testUtility = new TestChangeSetUtility(userToken1, \"PullAndPushTest\");\r\n await testUtility.createTestIModel();\r\n\r\n // User2 opens the iModel pullAndPush and is able to edit and save changes\r\n const args = { accessToken: userToken2, iTwinId: testUtility.iTwinId, iModelId: testUtility.iModelId };\r\n let iModelPullAndPush = await HubWrappers.openBriefcaseUsingRpc(args);\r\n assert.exists(iModelPullAndPush);\r\n const briefcaseId = iModelPullAndPush.briefcaseId;\r\n const pathname = iModelPullAndPush.pathName;\r\n\r\n iModelPullAndPush.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n const rootEl: Element = iModelPullAndPush.elements.getRootSubject();\r\n rootEl.userLabel = `${rootEl.userLabel}changed`;\r\n iModelPullAndPush.elements.updateElement(rootEl.toJSON());\r\n\r\n assert.isTrue(iModelPullAndPush[_nativeDb].hasUnsavedChanges());\r\n assert.isFalse(iModelPullAndPush[_nativeDb].hasPendingTxns());\r\n iModelPullAndPush.saveChanges();\r\n assert.isFalse(iModelPullAndPush[_nativeDb].hasUnsavedChanges());\r\n assert.isTrue(iModelPullAndPush[_nativeDb].hasPendingTxns());\r\n\r\n iModelPullAndPush.close();\r\n\r\n // User2 should be able to re-open the iModel pullAndPush again\r\n // - the changes will still be there\r\n iModelPullAndPush = await HubWrappers.openBriefcaseUsingRpc(args);\r\n const changesetPullAndPush = iModelPullAndPush.changeset;\r\n assert.strictEqual(iModelPullAndPush.briefcaseId, briefcaseId);\r\n assert.strictEqual(iModelPullAndPush.pathName, pathname);\r\n assert.isFalse(iModelPullAndPush[_nativeDb].hasUnsavedChanges());\r\n assert.isTrue(iModelPullAndPush[_nativeDb].hasPendingTxns());\r\n\r\n // User1 pushes a change set\r\n await testUtility.pushTestChangeSet();\r\n\r\n // User2 should be able to re-open the iModel\r\n await HubWrappers.openBriefcaseUsingRpc(args);\r\n\r\n // User2 closes and reopens the iModel pullAndPush as of the newer version\r\n // - the changes will still be there, AND\r\n // - the briefcase will be upgraded to the newer version since it was closed and re-opened.\r\n iModelPullAndPush.close();\r\n iModelPullAndPush = await HubWrappers.openBriefcaseUsingRpc(args);\r\n const changesetPullAndPush3 = iModelPullAndPush.changeset;\r\n assert.notStrictEqual(changesetPullAndPush3, changesetPullAndPush);\r\n assert.strictEqual(iModelPullAndPush.briefcaseId, briefcaseId);\r\n assert.strictEqual(iModelPullAndPush.pathName, pathname);\r\n assert.isFalse(iModelPullAndPush[_nativeDb].hasUnsavedChanges());\r\n assert.isTrue(iModelPullAndPush[_nativeDb].hasPendingTxns());\r\n\r\n // User2 should be able to push the changes now\r\n await iModelPullAndPush.pushChanges({ accessToken: userToken2, description: \"test change\" });\r\n const changesetPullAndPush4 = iModelPullAndPush.changeset;\r\n assert.notStrictEqual(changesetPullAndPush4, changesetPullAndPush3);\r\n\r\n // Delete iModel from the Hub and disk\r\n await HubWrappers.closeAndDeleteBriefcaseDb(userToken2, iModelPullAndPush);\r\n await testUtility.deleteTestIModel();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"BriefcaseManager.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/BriefcaseManager.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckpointManager.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/CheckpointManager.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SAC1B,CAAC;QACF,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACzE,UAAU;SACX,CAAC;QACF,MAAM,EAAE,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SAC1B,CAAC;QAEF,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEpC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,UAAU;YACrB,UAAU;SACX,CAAC;QACF,MAAM,EAAE,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,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 { assert } from \"chai\";\r\nimport * as path from \"path\";\r\nimport * as sinon from \"sinon\";\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { V2CheckpointManager } from \"../../CheckpointManager\";\r\nimport { IModelJsFs } from \"../../IModelJsFs\";\r\nimport { _hubAccess, _nativeDb } from \"../../internal/Symbols\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\n\r\ndescribe(\"Checkpoint Manager\", () => {\r\n\r\n afterEach(() => {\r\n sinon.restore();\r\n });\r\n\r\n it(\"open missing local file should return undefined\", async () => {\r\n const checkpoint = {\r\n iTwinId: \"5678\",\r\n iModelId: \"910\",\r\n changeset: { id: \"1234\" },\r\n };\r\n const request = {\r\n localFile: path.join(V2CheckpointManager.getFolder(), Guid.createValue()),\r\n checkpoint,\r\n };\r\n const db = IModelTestUtils.tryOpenLocalFile(request);\r\n assert.isUndefined(db);\r\n });\r\n\r\n it(\"open a bad bim file should return undefined\", async () => {\r\n const checkpoint = {\r\n iTwinId: \"5678\",\r\n iModelId: \"910\",\r\n changeset: { id: \"1234\" },\r\n };\r\n\r\n // Setup a local file\r\n const folder = path.join(V2CheckpointManager.getFolder(), checkpoint.iModelId);\r\n if (!IModelJsFs.existsSync(folder))\r\n IModelJsFs.recursiveMkDirSync(folder);\r\n\r\n const outputFile = path.join(V2CheckpointManager.getFolder(), `${checkpoint.changeset.id}.bim`);\r\n if (IModelJsFs.existsSync(outputFile))\r\n IModelJsFs.unlinkSync(outputFile);\r\n\r\n IModelJsFs.writeFileSync(outputFile, \"Testing\");\r\n\r\n // Attempt to open the file\r\n const request = {\r\n localFile: outputFile,\r\n checkpoint,\r\n };\r\n const db = IModelTestUtils.tryOpenLocalFile(request);\r\n assert.isUndefined(db);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"CheckpointManager.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/CheckpointManager.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SAC1B,CAAC;QACF,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACzE,UAAU;SACX,CAAC;QACF,MAAM,EAAE,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SAC1B,CAAC;QAEF,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEpC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,UAAU;YACrB,UAAU;SACX,CAAC;QACF,MAAM,EAAE,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Rebase.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rebase.test.d.ts","sourceRoot":"","sources":["../../../../src/test/hubaccess/Rebase.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
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 chai from "chai";
6
+ import * as chaiAsPromised from "chai-as-promised";
7
+ import { HubWrappers, IModelTestUtils, KnownTestLocations } from "..";
8
+ import { ChannelControl, DrawingCategory, IModelHost, SqliteChangesetReader } from "../../core-backend";
9
+ import { HubMock } from "../../internal/HubMock";
10
+ import { Code, IModel, SubCategoryAppearance } from "@itwin/core-common";
11
+ import { assert } from "console";
12
+ chai.use(chaiAsPromised);
13
+ describe("change merge manager", function () {
14
+ before(async () => {
15
+ await IModelHost.startup();
16
+ });
17
+ it("SaveChangesArgs() and direct/indirect changes", async () => {
18
+ HubMock.startup("PullMergeMethod", KnownTestLocations.outputDir);
19
+ const iModelId = await HubMock.createNewIModel({ accessToken: "user1", iTwinId: HubMock.iTwinId, iModelName: "Test", description: "TestSubject" });
20
+ const b1 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: "user1", iTwinId: HubMock.iTwinId, iModelId });
21
+ b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
22
+ b1.saveChanges();
23
+ const schema1 = `<?xml version="1.0" encoding="UTF-8"?>
24
+ <ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
25
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
26
+ <ECEntityClass typeName="a1">
27
+ <BaseClass>bis:GraphicalElement2d</BaseClass>
28
+ <ECProperty propertyName="prop1" typeName="string" />
29
+ </ECEntityClass>
30
+ </ECSchema>`;
31
+ await b1.importSchemaStrings([schema1]);
32
+ chai.expect(b1.txns.hasPendingTxns).to.be.true;
33
+ await b1.pushChanges({ description: "schema1" });
34
+ //-----------------------------------------------------
35
+ // Create drawing model and category
36
+ const codeProps = Code.createEmpty();
37
+ codeProps.value = "DrawingModel";
38
+ await b1.locks.acquireLocks({ shared: IModel.dictionaryId });
39
+ const [, drawingModelId] = IModelTestUtils.createAndInsertDrawingPartitionAndModel(b1, codeProps, true);
40
+ let drawingCategoryId = DrawingCategory.queryCategoryIdByName(b1, IModel.dictionaryId, "MyDrawingCategory");
41
+ if (undefined === drawingCategoryId)
42
+ drawingCategoryId = DrawingCategory.insert(b1, IModel.dictionaryId, "MyDrawingCategory", new SubCategoryAppearance());
43
+ b1.saveChanges({
44
+ description: "Initial Test Data Setup",
45
+ source: "Test",
46
+ appData: {
47
+ test: "init"
48
+ }
49
+ });
50
+ let lastTxn = b1.txns.changeMergeManager.getLastTxnSaved();
51
+ chai.assert.isDefined(lastTxn);
52
+ chai.assert.isFalse(lastTxn?.reversed);
53
+ chai.assert.isFalse(lastTxn?.grouped);
54
+ chai.assert.isTrue(lastTxn?.props.description === 'Initial Test Data Setup');
55
+ chai.assert.isTrue(lastTxn?.props.source === 'Test');
56
+ chai.assert.isTrue(lastTxn?.props?.appData?.test === 'init');
57
+ chai.assert.isTrue(lastTxn?.type === 'Data');
58
+ await b1.pushChanges({ description: "init" });
59
+ const b2 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: "user2", iTwinId: HubMock.iTwinId, iModelId });
60
+ b2.channels.addAllowedChannel(ChannelControl.sharedChannelName);
61
+ b2.saveChanges();
62
+ const b3 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: "user2", iTwinId: HubMock.iTwinId, iModelId });
63
+ b3.channels.addAllowedChannel(ChannelControl.sharedChannelName);
64
+ b3.saveChanges();
65
+ //-----------------------------------------------------
66
+ await b1.locks.acquireLocks({ shared: [IModel.repositoryModelId, drawingCategoryId, drawingModelId] });
67
+ const baseProps = {
68
+ classFullName: "TestDomain:a1",
69
+ model: drawingModelId,
70
+ category: drawingCategoryId,
71
+ code: Code.createEmpty(),
72
+ };
73
+ const expectedInsertedEl = new Map();
74
+ const insertDirectEl = (b) => {
75
+ const id = b.elements.insertElement({ ...baseProps, prop1: `${b.briefcaseId}` });
76
+ expectedInsertedEl.set(id, { id, isIndirect: false });
77
+ };
78
+ const insertIndirectEl = (b) => {
79
+ const id = b.elements.insertElement({ ...baseProps, prop1: `${b.briefcaseId}` });
80
+ expectedInsertedEl.set(id, { id, isIndirect: true });
81
+ };
82
+ insertDirectEl(b1);
83
+ insertDirectEl(b1);
84
+ b1.txns.withIndirectTxnMode(() => {
85
+ insertIndirectEl(b1);
86
+ insertIndirectEl(b1);
87
+ insertIndirectEl(b1);
88
+ });
89
+ insertDirectEl(b1);
90
+ insertDirectEl(b1);
91
+ b1.saveChanges("insert some element 1 direct and 3 indirect");
92
+ lastTxn = b1.txns.changeMergeManager.getLastTxnSaved();
93
+ let checkCount = 0;
94
+ chai.assert.isDefined(lastTxn);
95
+ if (lastTxn) {
96
+ const reader = SqliteChangesetReader.openTxn({ txnId: lastTxn?.id, db: b1 });
97
+ while (reader.step()) {
98
+ const id = reader.primaryKeyValues[0];
99
+ if (!expectedInsertedEl.has(id)) {
100
+ continue;
101
+ }
102
+ const isIndirect = reader.isIndirect;
103
+ if (isIndirect) {
104
+ chai.assert.isTrue(expectedInsertedEl.get(id)?.isIndirect);
105
+ }
106
+ else {
107
+ chai.assert.isFalse(expectedInsertedEl.get(id)?.isIndirect);
108
+ }
109
+ checkCount++;
110
+ }
111
+ }
112
+ assert(checkCount === expectedInsertedEl.size * 2);
113
+ assert(checkCount === 14); // two table bis_Element and bis_GeometricElement3d so 7+7 =14
114
+ chai.assert.isDefined(lastTxn);
115
+ chai.assert.isTrue(lastTxn?.id === '0x100000000');
116
+ chai.assert.isFalse(lastTxn?.reversed);
117
+ chai.assert.isFalse(lastTxn?.grouped);
118
+ chai.assert.isTrue(lastTxn?.props.description === 'insert some element 1 direct and 3 indirect');
119
+ chai.assert.isTrue(lastTxn?.type === 'Data');
120
+ await b1.pushChanges({ description: "insert element 4 direct and 3 indirect" });
121
+ //-----------------------------------------------------
122
+ await b2.pullChanges();
123
+ await b3.pullChanges();
124
+ //-----------------------------------------------------
125
+ await b1.locks.acquireLocks({ shared: [IModel.repositoryModelId, drawingCategoryId, drawingModelId] });
126
+ insertDirectEl(b1);
127
+ b1.saveChanges("inserted new element");
128
+ await b1.pushChanges({ description: "insert element" });
129
+ //-----------------------------------------------------
130
+ await b2.locks.acquireLocks({ shared: [IModel.repositoryModelId, drawingCategoryId, drawingModelId] });
131
+ const expectedUpdatedEl = new Map();
132
+ const updateDirectEl = async (b, elId) => {
133
+ await b.locks.acquireLocks({ exclusive: [elId] });
134
+ const elProps = b.elements.getElementProps(elId);
135
+ b.elements.updateElement({ ...elProps, prop1: `${b.briefcaseId}` });
136
+ expectedUpdatedEl.set(elId, { id: elId, isIndirect: false });
137
+ };
138
+ const updateIndirectEl = (b, elId) => {
139
+ const elProps = b.elements.getElementProps(elId);
140
+ b.elements.updateElement({ ...elProps, prop1: `${b.briefcaseId}` });
141
+ expectedUpdatedEl.set(elId, { id: elId, isIndirect: true });
142
+ };
143
+ let isRecomputedInvoked = false;
144
+ let isShouldReinstateInvoked = false;
145
+ await updateDirectEl(b2, expectedInsertedEl.keys().next().value);
146
+ // should not require any locks
147
+ b2.txns.withIndirectTxnMode(() => {
148
+ expectedInsertedEl.forEach((el) => {
149
+ if (el.isIndirect) {
150
+ updateIndirectEl(b2, el.id);
151
+ }
152
+ });
153
+ });
154
+ b2.saveChanges("update element 1 direct");
155
+ b2.txns.changeMergeManager.setRebaseHandler({
156
+ shouldReinstate(_txn) {
157
+ isShouldReinstateInvoked = true;
158
+ return true;
159
+ },
160
+ async recompute(_txn) {
161
+ isRecomputedInvoked = true;
162
+ }
163
+ });
164
+ await b2.pullChanges({ noFastForward: true });
165
+ chai.assert.isTrue(isShouldReinstateInvoked);
166
+ chai.assert.isTrue(isRecomputedInvoked);
167
+ b2.close();
168
+ b3.close();
169
+ HubMock.shutdown();
170
+ });
171
+ });
172
+ //# sourceMappingURL=Rebase.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rebase.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/Rebase.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"imageData.js","sourceRoot":"","sources":["../../../src/test/imageData.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACzhB,MAAM,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAExF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,0BAA0B;CACnC,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 { Buffer } from \"node:buffer\";\r\n\r\nconst samplePngTextureData = [137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 3, 0, 0, 0, 3, 8, 2, 0, 0, 0, 217, 74, 34, 232, 0, 0, 0, 1, 115, 82, 71, 66, 0, 174, 206, 28, 233, 0, 0, 0, 4, 103, 65, 77, 65, 0, 0, 177, 143, 11, 252, 97, 5, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 14, 195, 0, 0, 14, 195, 1, 199, 111, 168, 100, 0, 0, 0, 24, 73, 68, 65, 84, 24, 87, 99, 248, 15, 4, 12, 12, 64, 4, 198, 64, 46, 132, 5, 162, 254, 51, 0, 0, 195, 90, 10, 246, 127, 175, 154, 145, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130];\r\nconst samplePngTextureDataBase64 = Buffer.from(samplePngTextureData).toString(\"base64\");\r\n\r\n/**\r\n * This is an encoded png containing a 3x3 square with white in top left pixel, blue in middle pixel, and green in\r\n * bottom right pixel. The rest of the square is red.\r\n */\r\nexport const samplePngTexture = {\r\n data: samplePngTextureData,\r\n base64: samplePngTextureDataBase64,\r\n};\r\n"]}
1
+ {"version":3,"file":"imageData.js","sourceRoot":"","sources":["../../../src/test/imageData.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACzhB,MAAM,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAExF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,0BAA0B;CACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementTreeWalker.test.js","sourceRoot":"","sources":["../../../../src/test/imodel/ElementTreeWalker.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 { Id64, Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport { Code, GeometricElement2dProps, GeometricElementProps, IModel, SubCategoryAppearance } from \"@itwin/core-common\";\r\nimport { Point2d } from \"@itwin/core-geometry\";\r\nimport { assert } from \"chai\";\r\nimport * as path from \"path\";\r\nimport * as sinon from \"sinon\";\r\nimport { DefinitionContainer, DefinitionModel, DocumentListModel, Drawing, DrawingCategory, DrawingGraphic, ElementGroupsMembers, ElementOwnsChildElements, ExternalSource, ExternalSourceGroup, IModelDb, Model, PhysicalPartition, SnapshotDb, SpatialCategory, SubCategory, Subject } from \"../../core-backend\";\r\nimport { deleteElementSubTrees, deleteElementTree, ElementTreeBottomUp, ElementTreeWalkerScope } from \"../../ElementTreeWalker\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\nimport { KnownTestLocations } from \"../KnownTestLocations\";\r\n\r\n// Test class that collects the results of a bottom-up tree walk\r\nclass ElementTreeCollector extends ElementTreeBottomUp {\r\n public subModels: Id64Array = [];\r\n public definitionModels: Id64Array = [];\r\n public elements: Id64Array = [];\r\n public definitions: Id64Array = [];\r\n\r\n public constructor(iModel: IModelDb) { super(iModel); }\r\n\r\n public visitModel(model: Model, _scope: ElementTreeWalkerScope): void {\r\n if (model instanceof DefinitionModel)\r\n this.definitionModels.push(model.id);\r\n else\r\n this.subModels.push(model.id);\r\n }\r\n\r\n public visitElement(elementId: Id64String, scope: ElementTreeWalkerScope): void {\r\n if (scope.inDefinitionModel)\r\n this.definitions.push(elementId); // may be some other kind of InformationContentElement - that's OK.\r\n else\r\n this.elements.push(elementId);\r\n }\r\n\r\n public collect(topElement: Id64String): void {\r\n this.processElementTree(topElement, ElementTreeWalkerScope.createTopScope(this._iModel, topElement));\r\n }\r\n}\r\n\r\nclass SelectedElementCollector extends ElementTreeCollector {\r\n public constructor(iModel: IModelDb, private _elementsToReport: Id64Array) { super(iModel); }\r\n public override shouldExploreModel(_model: Model): boolean { return true; }\r\n public override shouldVisitModel(_model: Model): boolean { return false; }\r\n public override shouldVisitElement(elementId: Id64String): boolean { return this._elementsToReport.includes(elementId); }\r\n}\r\n\r\nfunction doesElementExist(iModel: IModelDb, elementId: Id64String): boolean {\r\n return iModel.elements.tryGetElementProps(elementId) !== undefined;\r\n}\r\n\r\nfunction doesModelExist(iModel: IModelDb, mid: Id64String): boolean {\r\n return iModel.models.tryGetModelProps(mid) !== undefined;\r\n}\r\n\r\nfunction doesGroupRelationshipExist(iModel: IModelDb, source: Id64String, target: Id64String): boolean {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return iModel.withPreparedStatement(`select count(*) from ${ElementGroupsMembers.classFullName} where sourceecinstanceid=? and targetecinstanceid=?`, (stmt) => {\r\n stmt.bindId(1, source);\r\n stmt.bindId(2, target);\r\n stmt.step();\r\n return stmt.getValue(0).getInteger() !== 0;\r\n });\r\n}\r\n\r\ndescribe(\"ElementTreeWalker\", () => {\r\n let iModel: SnapshotDb;\r\n let originalEnv: any;\r\n\r\n let repositoryLinkId: Id64String;\r\n let jobSubjectId: Id64String;\r\n let childSubject: Id64String;\r\n let definitionModelId: Id64String;\r\n let definitionContainerId: Id64String;\r\n let drawingDefinitionModelId: Id64String;\r\n let spatialCategoryId: Id64String;\r\n let nestedSpatialCategoryId: Id64String;\r\n let drawingCategoryId: Id64String;\r\n let drawingSubCategory1Id: Id64String;\r\n let drawingSubCategory2Id: Id64String;\r\n let xsGroup: Id64String;\r\n let xsElement: Id64String;\r\n let documentListModelId: Id64String;\r\n let drawingModelId: Id64String;\r\n let drawingGraphicId1: Id64String;\r\n let physicalModelId: Id64String;\r\n let physicalObjectId1: Id64String;\r\n let physicalObjectId2: Id64String;\r\n let physicalObjectId3: Id64String;\r\n\r\n before(async () => {\r\n originalEnv = { ...process.env };\r\n\r\n IModelTestUtils.registerTestBimSchema();\r\n });\r\n\r\n after(() => {\r\n process.env = originalEnv;\r\n });\r\n\r\n beforeEach(async () => {\r\n // Uncomment the following two lines to debug test failures\r\n // Logger.initializeToConsole();\r\n // Logger.setLevel(\"core-backend.IModelDb.ElementTreeWalker\", LogLevel.Trace);\r\n\r\n const iModelFileName = IModelTestUtils.prepareOutputFile(\"ElementTreeWalker\", \"Test.bim\");\r\n iModel = SnapshotDb.createEmpty(iModelFileName, { rootSubject: { name: \"ElementTreeWalker Test\" } });\r\n const schemaPathname = path.join(KnownTestLocations.assetsDir, \"TestBim.ecschema.xml\");\r\n await iModel.importSchemas([schemaPathname]); // will throw an exception if import fails\r\n\r\n /*\r\n [RepositoryModel]\r\n RepositoryLink\r\n Job Subject\r\n +- DefinitionParitition -- [DefinitionModel]\r\n | DrawingCategory\r\n | default SubCategory + 2 non-default SubCategories\r\n | ExternalSourceGroup\r\n | ExternalSource child1\r\n +- DefinitionParitition -- [DefinitionModel]\r\n | SpatialCategory\r\n | DefinitionContainer\r\n | SpatialCategory\r\n |\r\n +- DocumentList -- [DocumentListModel]\r\n | Drawing -- [DrawingModel]\r\n | DrawingGraphic\r\n +- Child Subject\r\n |\r\n +- PhysicalPartition -- [PhysicalModel]\r\n PhysicalObject, PhysicalObject, PhysicalObject (grouped)\r\n */\r\n\r\n repositoryLinkId = IModelTestUtils.insertRepositoryLink(iModel, \"test link\", \"foo\", \"bar\");\r\n jobSubjectId = IModelTestUtils.createJobSubjectElement(iModel, \"Job\").insert();\r\n\r\n childSubject = Subject.insert(iModel, jobSubjectId, \"Child Subject\");\r\n\r\n definitionModelId = DefinitionModel.insert(iModel, jobSubjectId, \"Definition\");\r\n spatialCategoryId = SpatialCategory.insert(iModel, definitionModelId, \"SpatialCategory\", new SubCategoryAppearance());\r\n drawingDefinitionModelId = DefinitionModel.insert(iModel, jobSubjectId, \"DrawingDefinition\");\r\n drawingCategoryId = DrawingCategory.insert(iModel, drawingDefinitionModelId, \"DrawingCategory\", new SubCategoryAppearance());\r\n drawingSubCategory1Id = SubCategory.insert(iModel, drawingCategoryId, \"SubCategory1\", new SubCategoryAppearance());\r\n drawingSubCategory2Id = SubCategory.insert(iModel, drawingCategoryId, \"SubCategory2\", new SubCategoryAppearance());\r\n\r\n definitionContainerId = DefinitionContainer.insert(iModel, definitionModelId, Code.createEmpty());\r\n nestedSpatialCategoryId = SpatialCategory.insert(iModel, definitionContainerId, \"nested\", {});\r\n\r\n xsGroup = iModel.elements.insertElement({ classFullName: ExternalSourceGroup.classFullName, model: drawingDefinitionModelId, code: Code.createEmpty() });\r\n xsElement = iModel.elements.insertElement({ classFullName: ExternalSource.classFullName, model: drawingDefinitionModelId, parent: new ElementOwnsChildElements(xsGroup), code: Code.createEmpty() });\r\n\r\n documentListModelId = DocumentListModel.insert(iModel, jobSubjectId, \"Document\");\r\n assert.isTrue(Id64.isValidId64(documentListModelId));\r\n drawingModelId = Drawing.insert(iModel, documentListModelId, \"Drawing\");\r\n const drawingGraphicProps1: GeometricElement2dProps = {\r\n classFullName: DrawingGraphic.classFullName,\r\n model: drawingModelId,\r\n category: drawingCategoryId,\r\n code: Code.createEmpty(),\r\n userLabel: \"DrawingGraphic1\",\r\n geom: IModelTestUtils.createRectangle(Point2d.create(1, 1)),\r\n placement: { origin: Point2d.create(2, 2), angle: 0 },\r\n };\r\n drawingGraphicId1 = iModel.elements.insertElement(drawingGraphicProps1);\r\n\r\n [, physicalModelId] = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(iModel, PhysicalPartition.createCode(iModel, childSubject, \"Physical\"), false, childSubject);\r\n const elementProps: GeometricElementProps = {\r\n classFullName: \"TestBim:TestPhysicalObject\",\r\n model: physicalModelId,\r\n category: spatialCategoryId,\r\n code: Code.createEmpty(),\r\n };\r\n const elementProps2: GeometricElementProps = {\r\n classFullName: \"TestBim:TestPhysicalObject\",\r\n model: physicalModelId,\r\n category: nestedSpatialCategoryId,\r\n code: Code.createEmpty(),\r\n };\r\n physicalObjectId1 = iModel.elements.insertElement(iModel.elements.createElement(elementProps).toJSON());\r\n physicalObjectId2 = iModel.elements.insertElement(iModel.elements.createElement(elementProps2).toJSON());\r\n physicalObjectId3 = iModel.elements.insertElement(iModel.elements.createElement(elementProps).toJSON());\r\n ElementGroupsMembers.create(iModel, physicalObjectId1, physicalObjectId2).insert();\r\n ElementGroupsMembers.create(iModel, physicalObjectId1, physicalObjectId3).insert();\r\n\r\n assert.isTrue(doesElementExist(iModel, repositoryLinkId));\r\n assert.equal(iModel.elements.getElement(jobSubjectId).parent?.id, IModel.rootSubjectId);\r\n assert.equal(iModel.elements.getElement(definitionModelId).parent?.id, jobSubjectId);\r\n assert.equal(iModel.elements.getElement(definitionContainerId).model, definitionModelId);\r\n assert.equal(iModel.elements.getElement(spatialCategoryId).model, definitionModelId);\r\n assert.equal(iModel.elements.getElement(nestedSpatialCategoryId).model, definitionContainerId);\r\n assert.equal(iModel.elements.getElement(drawingDefinitionModelId).parent?.id, jobSubjectId);\r\n assert.equal(iModel.elements.getElement(drawingCategoryId).model, drawingDefinitionModelId);\r\n assert.equal(iModel.elements.getElement(drawingSubCategory1Id).parent?.id, drawingCategoryId);\r\n assert.equal(iModel.elements.getElement(drawingSubCategory2Id).parent?.id, drawingCategoryId);\r\n assert.equal(iModel.elements.getElement(xsGroup).model, drawingDefinitionModelId);\r\n assert.equal(iModel.elements.getElement(xsElement).parent?.id, xsGroup);\r\n assert.equal(iModel.elements.getElement(documentListModelId).parent?.id, jobSubjectId);\r\n assert.equal(iModel.elements.getElement(drawingModelId).model, documentListModelId);\r\n assert.equal(iModel.elements.getElement(drawingGraphicId1).model, drawingModelId);\r\n assert.equal(iModel.elements.getElement(physicalModelId).parent?.id, childSubject);\r\n assert.equal(iModel.elements.getElement(physicalObjectId1).model, physicalModelId);\r\n assert.equal(iModel.elements.getElement(physicalObjectId2).model, physicalModelId);\r\n assert.equal(iModel.elements.getElement(physicalObjectId3).model, physicalModelId);\r\n assert.isTrue(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId2));\r\n assert.isTrue(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId3));\r\n assert.isTrue(doesModelExist(iModel, definitionModelId));\r\n assert.isTrue(doesModelExist(iModel, definitionContainerId));\r\n assert.isTrue(doesModelExist(iModel, drawingDefinitionModelId));\r\n assert.isTrue(doesModelExist(iModel, drawingModelId));\r\n assert.isTrue(doesModelExist(iModel, physicalModelId));\r\n });\r\n\r\n afterEach(() => {\r\n sinon.restore();\r\n iModel.close();\r\n });\r\n\r\n it(\"DFS search and deleteElementTree\", () => {\r\n // First, check that DFS search visits elements and models in expected bottom-up order\r\n {\r\n const collector1 = new ElementTreeCollector(iModel);\r\n collector1.collect(jobSubjectId);\r\n assert.isTrue(collector1.subModels.includes(physicalModelId));\r\n assert.isTrue(collector1.subModels.includes(drawingModelId));\r\n assert.isTrue(collector1.subModels.includes(documentListModelId));\r\n assert.isTrue(collector1.subModels.indexOf(drawingModelId) < collector1.subModels.indexOf(documentListModelId), \"in bottom-up search, a child model should be visited before its parent model\");\r\n assert.isFalse(collector1.subModels.includes(definitionModelId));\r\n assert.isTrue(collector1.definitionModels.includes(definitionModelId));\r\n assert.isFalse(collector1.subModels.includes(definitionContainerId));\r\n assert.isTrue(collector1.definitionModels.includes(definitionContainerId));\r\n assert.isFalse(collector1.subModels.includes(drawingDefinitionModelId));\r\n assert.isTrue(collector1.definitionModels.includes(drawingDefinitionModelId));\r\n assert.isTrue(collector1.definitions.includes(drawingCategoryId));\r\n assert.isTrue(collector1.definitions.includes(spatialCategoryId));\r\n assert.isTrue(collector1.definitions.includes(nestedSpatialCategoryId));\r\n assert.isFalse(collector1.elements.includes(drawingCategoryId));\r\n assert.isFalse(collector1.elements.includes(spatialCategoryId));\r\n assert.isFalse(collector1.elements.includes(nestedSpatialCategoryId));\r\n assert.isTrue(collector1.elements.indexOf(physicalObjectId1) < collector1.elements.indexOf(physicalModelId), \"in bottom-up search, an element in a model should be visited before its model's element\");\r\n assert.isTrue(collector1.elements.indexOf(drawingGraphicId1) < collector1.elements.indexOf(drawingModelId), \"in bottom-up search, an element in a model should be visited before its model's element\");\r\n assert.isTrue(collector1.elements.indexOf(drawingModelId) < collector1.elements.indexOf(documentListModelId), \"in bottom-up search, an element in a model should be visited before its model's element\");\r\n assert.isTrue(collector1.elements.indexOf(documentListModelId) < collector1.elements.indexOf(jobSubjectId), \"in bottom-up search, a child element should be visited before its parent element\");\r\n assert.isTrue(collector1.elements.indexOf(definitionModelId) < collector1.elements.indexOf(jobSubjectId), \"in bottom-up search, a child element should be visited before its parent element\");\r\n assert.isTrue(collector1.elements.indexOf(definitionContainerId) < collector1.elements.indexOf(definitionModelId), \"in bottom-up search, a child element should be visited before its parent element\");\r\n assert.isTrue(collector1.elements.indexOf(drawingDefinitionModelId) < collector1.elements.indexOf(jobSubjectId), \"in bottom-up search, a child element should be visited before its parent element\");\r\n assert.isTrue(collector1.elements.indexOf(childSubject) < collector1.elements.indexOf(jobSubjectId), \"in bottom-up search, a child element should be visited before its parent element\");\r\n assert.isTrue(collector1.elements.indexOf(physicalModelId) < collector1.elements.indexOf(childSubject), \"in bottom-up search, a child element should be visited before its parent element\");\r\n }\r\n\r\n // Exercise the search filters\r\n {\r\n const collector2 = new SelectedElementCollector(iModel, [drawingGraphicId1, spatialCategoryId, nestedSpatialCategoryId, physicalObjectId3]);\r\n collector2.collect(jobSubjectId);\r\n assert.isTrue(collector2.definitions.length === 2);\r\n assert.isTrue(collector2.definitions.includes(spatialCategoryId));\r\n assert.isTrue(collector2.definitions.includes(nestedSpatialCategoryId));\r\n assert.isTrue(collector2.elements.length === 2);\r\n assert.isTrue(collector2.elements.includes(drawingGraphicId1));\r\n assert.isTrue(collector2.elements.includes(physicalObjectId3));\r\n }\r\n\r\n // Test the deleteElementTree function\r\n deleteElementTree(iModel, jobSubjectId);\r\n\r\n assert.isTrue(doesModelExist(iModel, IModel.repositoryModelId));\r\n assert.isTrue(doesModelExist(iModel, IModel.dictionaryId));\r\n assert.isTrue(doesElementExist(iModel, repositoryLinkId), \"RepositoryLink should not have been deleted, since it is not under Job Subject\");\r\n assert.isFalse(doesElementExist(iModel, definitionModelId));\r\n assert.isFalse(doesElementExist(iModel, definitionContainerId));\r\n assert.isFalse(doesElementExist(iModel, drawingDefinitionModelId));\r\n assert.isFalse(doesElementExist(iModel, spatialCategoryId));\r\n assert.isFalse(doesElementExist(iModel, nestedSpatialCategoryId));\r\n assert.isFalse(doesElementExist(iModel, drawingCategoryId));\r\n assert.isFalse(doesElementExist(iModel, xsGroup));\r\n assert.isFalse(doesElementExist(iModel, xsElement));\r\n assert.isFalse(doesElementExist(iModel, documentListModelId));\r\n assert.isFalse(doesElementExist(iModel, drawingModelId));\r\n assert.isFalse(doesElementExist(iModel, drawingGraphicId1));\r\n assert.isFalse(doesElementExist(iModel, physicalModelId));\r\n assert.isFalse(doesElementExist(iModel, physicalObjectId1));\r\n assert.isFalse(doesElementExist(iModel, physicalObjectId2));\r\n assert.isFalse(doesElementExist(iModel, physicalObjectId3));\r\n assert.isFalse(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId2));\r\n assert.isFalse(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId3));\r\n assert.isFalse(doesElementExist(iModel, jobSubjectId));\r\n assert.isFalse(doesModelExist(iModel, definitionModelId));\r\n assert.isFalse(doesModelExist(iModel, drawingDefinitionModelId));\r\n assert.isFalse(doesModelExist(iModel, drawingModelId));\r\n assert.isFalse(doesModelExist(iModel, physicalModelId));\r\n });\r\n\r\n it(\"deleteElementSubTrees\", () => {\r\n /*\r\n [RepositoryModel]\r\n RepositoryLink\r\n Job Subject\r\n +- DefinitionParitition -- [DefinitionModel]\r\n | DrawingCategory <-- PRUNE\r\n | default SubCategory + 2 non-default SubCategories\r\n | ExternalSourceGroup\r\n | ExternalSource child1\r\n +- DefinitionParitition -- [DefinitionModel]\r\n | SpatialCategory\r\n | DefinitionContainer\r\n | SpatialCategory\r\n |\r\n +- DocumentList -- [DocumentListModel]\r\n | Drawing -- [DrawingModel] <-- PRUNE\r\n | DrawingGraphic \"\r\n +- Child Subject\r\n |\r\n +- PhysicalPartition -- [PhysicalModel]\r\n PhysicalObject, PhysicalObject, PhysicalObject (grouped)\r\n ^-- PRUNE\r\n */\r\n\r\n const toPrune = new Set<string>();\r\n toPrune.add(drawingModelId);\r\n toPrune.add(drawingCategoryId);\r\n toPrune.add(physicalObjectId3);\r\n\r\n deleteElementSubTrees(iModel, jobSubjectId, (elementId) => toPrune.has(elementId));\r\n\r\n assert.isFalse(doesElementExist(iModel, drawingCategoryId));\r\n assert.isFalse(doesElementExist(iModel, drawingSubCategory1Id));\r\n assert.isFalse(doesElementExist(iModel, drawingSubCategory2Id));\r\n assert.isFalse(doesElementExist(iModel, drawingModelId));\r\n assert.isFalse(doesModelExist(iModel, drawingModelId));\r\n assert.isFalse(doesElementExist(iModel, drawingGraphicId1)); // contents of drawing model should be gone\r\n assert.isFalse(doesElementExist(iModel, physicalObjectId3));\r\n assert.isFalse(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId3));\r\n\r\n assert.isTrue(doesElementExist(iModel, repositoryLinkId));\r\n assert.isTrue(doesElementExist(iModel, definitionModelId));\r\n assert.isTrue(doesElementExist(iModel, definitionContainerId));\r\n assert.isTrue(doesElementExist(iModel, drawingDefinitionModelId));\r\n assert.equal(iModel.elements.getElement(xsGroup).model, drawingDefinitionModelId);\r\n assert.equal(iModel.elements.getElement(xsElement).parent?.id, xsGroup);\r\n assert.isTrue(doesElementExist(iModel, spatialCategoryId));\r\n assert.isTrue(doesElementExist(iModel, nestedSpatialCategoryId));\r\n assert.isTrue(doesElementExist(iModel, documentListModelId));\r\n assert.isTrue(doesElementExist(iModel, physicalModelId));\r\n assert.isTrue(doesElementExist(iModel, physicalObjectId1));\r\n assert.isTrue(doesElementExist(iModel, physicalObjectId2));\r\n assert.isTrue(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId2));\r\n assert.isTrue(doesElementExist(iModel, jobSubjectId));\r\n assert.isTrue(doesModelExist(iModel, definitionModelId));\r\n assert.isTrue(doesModelExist(iModel, definitionContainerId));\r\n assert.isTrue(doesModelExist(iModel, drawingDefinitionModelId));\r\n assert.isTrue(doesModelExist(iModel, physicalModelId));\r\n assert.isTrue(doesModelExist(iModel, IModel.repositoryModelId));\r\n assert.isTrue(doesModelExist(iModel, IModel.dictionaryId));\r\n });\r\n\r\n it(\"deleteDefinitionPartition\", () => {\r\n /*\r\n [RepositoryModel]\r\n RepositoryLink\r\n Job Subject\r\n +- DefinitionParitition -- [DefinitionModel] <-- PRUNE\r\n | DrawingCategory\r\n | default SubCategory + 2 non-default SubCategories\r\n | ExternalSourceGroup\r\n | ExternalSource child1\r\n +- DefinitionParitition -- [DefinitionModel]\r\n | SpatialCategory\r\n | DefinitionContainer\r\n | SpatialCategory |\r\n +- DocumentList -- [DocumentListModel]\r\n | Drawing -- [DrawingModel]\r\n | DrawingGraphic\r\n +- Child Subject\r\n |\r\n +- PhysicalPartition -- [PhysicalModel]\r\n PhysicalObject, PhysicalObject, PhysicalObject (grouped)\r\n */\r\n\r\n const toPrune = new Set<string>();\r\n toPrune.add(drawingDefinitionModelId);\r\n toPrune.add(documentListModelId); // (also get rid of the elements that use the definitions)\r\n\r\n deleteElementSubTrees(iModel, jobSubjectId, (elementId) => toPrune.has(elementId));\r\n\r\n assert.isFalse(doesElementExist(iModel, drawingDefinitionModelId));\r\n assert.isFalse(doesModelExist(iModel, drawingDefinitionModelId));\r\n assert.isFalse(doesElementExist(iModel, drawingCategoryId));\r\n assert.isFalse(doesElementExist(iModel, drawingSubCategory1Id));\r\n assert.isFalse(doesElementExist(iModel, drawingSubCategory2Id));\r\n assert.isFalse(doesElementExist(iModel, xsGroup));\r\n assert.isFalse(doesElementExist(iModel, xsElement));\r\n assert.isFalse(doesElementExist(iModel, documentListModelId));\r\n assert.isFalse(doesModelExist(iModel, documentListModelId));\r\n assert.isFalse(doesElementExist(iModel, drawingModelId));\r\n assert.isFalse(doesModelExist(iModel, drawingModelId));\r\n assert.isFalse(doesElementExist(iModel, drawingGraphicId1));\r\n\r\n assert.isTrue(doesElementExist(iModel, repositoryLinkId));\r\n assert.isTrue(doesElementExist(iModel, definitionModelId));\r\n assert.isTrue(doesElementExist(iModel, definitionContainerId));\r\n assert.isTrue(doesElementExist(iModel, spatialCategoryId));\r\n assert.isTrue(doesElementExist(iModel, nestedSpatialCategoryId));\r\n assert.isTrue(doesElementExist(iModel, physicalModelId));\r\n assert.isTrue(doesElementExist(iModel, physicalObjectId1));\r\n assert.isTrue(doesElementExist(iModel, physicalObjectId2));\r\n assert.isTrue(doesElementExist(iModel, physicalObjectId3));\r\n assert.isTrue(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId2));\r\n assert.isTrue(doesGroupRelationshipExist(iModel, physicalObjectId1, physicalObjectId3));\r\n assert.isTrue(doesElementExist(iModel, jobSubjectId));\r\n assert.isTrue(doesModelExist(iModel, definitionModelId));\r\n assert.isTrue(doesModelExist(iModel, definitionContainerId));\r\n assert.isTrue(doesModelExist(iModel, physicalModelId));\r\n assert.isTrue(doesModelExist(iModel, IModel.repositoryModelId));\r\n assert.isTrue(doesModelExist(iModel, IModel.dictionaryId));\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"ElementTreeWalker.test.js","sourceRoot":"","sources":["../../../../src/test/imodel/ElementTreeWalker.test.ts"],"names":[],"mappings":"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"}