@itwin/core-backend 5.5.0-dev.2 → 5.5.0-dev.4

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 (398) hide show
  1. package/CHANGELOG.md +19 -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.js.map +1 -1
  7. package/lib/cjs/CatalogDb.js.map +1 -1
  8. package/lib/cjs/Category.js.map +1 -1
  9. package/lib/cjs/ChangeSummaryManager.js +2 -2
  10. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  11. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  12. package/lib/cjs/ChangesetECAdaptor.js +248 -248
  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 +5 -5
  17. package/lib/cjs/ClassRegistry.js.map +1 -1
  18. package/lib/cjs/CloudSqlite.js.map +1 -1
  19. package/lib/cjs/CodeService.js.map +1 -1
  20. package/lib/cjs/CodeSpecs.js.map +1 -1
  21. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  22. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  23. package/lib/cjs/DevTools.js.map +1 -1
  24. package/lib/cjs/DisplayStyle.js.map +1 -1
  25. package/lib/cjs/ECDb.js.map +1 -1
  26. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  27. package/lib/cjs/ECSqlStatement.js.map +1 -1
  28. package/lib/cjs/Element.js.map +1 -1
  29. package/lib/cjs/ElementAspect.js.map +1 -1
  30. package/lib/cjs/ElementGraphics.js.map +1 -1
  31. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  32. package/lib/cjs/Entity.js.map +1 -1
  33. package/lib/cjs/EntityReferences.js.map +1 -1
  34. package/lib/cjs/ExportGraphics.js.map +1 -1
  35. package/lib/cjs/ExternalSource.js.map +1 -1
  36. package/lib/cjs/FontFile.js.map +1 -1
  37. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  38. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  39. package/lib/cjs/GeometrySummary.js +47 -47
  40. package/lib/cjs/GeometrySummary.js.map +1 -1
  41. package/lib/cjs/IModelDb.js +8 -8
  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 +1 -1
  52. package/lib/cjs/LocalHub.js.map +1 -1
  53. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  54. package/lib/cjs/LockControl.js.map +1 -1
  55. package/lib/cjs/Material.js.map +1 -1
  56. package/lib/cjs/Model.js.map +1 -1
  57. package/lib/cjs/NativeAppStorage.js.map +1 -1
  58. package/lib/cjs/NativeHost.js.map +1 -1
  59. package/lib/cjs/NavigationRelationship.js.map +1 -1
  60. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  61. package/lib/cjs/PropertyStore.js.map +1 -1
  62. package/lib/cjs/Relationship.js.map +1 -1
  63. package/lib/cjs/RpcBackend.js.map +1 -1
  64. package/lib/cjs/SQLiteDb.js.map +1 -1
  65. package/lib/cjs/Schema.js.map +1 -1
  66. package/lib/cjs/SchemaSync.js.map +1 -1
  67. package/lib/cjs/SchemaUtils.js.map +1 -1
  68. package/lib/cjs/SheetIndex.js.map +1 -1
  69. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  70. package/lib/cjs/SqliteStatement.js.map +1 -1
  71. package/lib/cjs/StashManager.js.map +1 -1
  72. package/lib/cjs/Texture.js.map +1 -1
  73. package/lib/cjs/TileStorage.js.map +1 -1
  74. package/lib/cjs/TxnManager.js.map +1 -1
  75. package/lib/cjs/ViewDefinition.js.map +1 -1
  76. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  77. package/lib/cjs/ViewStore.js.map +1 -1
  78. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  79. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  80. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  81. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  82. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  83. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  84. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  85. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  86. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  87. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  88. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  89. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  90. package/lib/cjs/core-backend.js.map +1 -1
  91. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  92. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  93. package/lib/cjs/domains/GenericElements.js.map +1 -1
  94. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  95. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  96. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  97. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  98. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  99. package/lib/cjs/internal/HubMock.js.map +1 -1
  100. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  101. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  102. package/lib/cjs/internal/NoLocks.js.map +1 -1
  103. package/lib/cjs/internal/OnlineStatus.js.map +1 -1
  104. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  105. package/lib/cjs/internal/Symbols.js.map +1 -1
  106. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  107. package/lib/cjs/internal/cross-package.js.map +1 -1
  108. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  109. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  110. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  111. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  112. package/lib/cjs/rpc/multipart.js.map +1 -1
  113. package/lib/cjs/rpc/tracing.js.map +1 -1
  114. package/lib/cjs/rpc/web/logging.js.map +1 -1
  115. package/lib/cjs/rpc/web/request.js.map +1 -1
  116. package/lib/cjs/rpc/web/response.js.map +1 -1
  117. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  118. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  119. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  120. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  121. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  122. package/lib/cjs/workspace/Settings.js.map +1 -1
  123. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  124. package/lib/cjs/workspace/Workspace.js.map +1 -1
  125. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  126. package/lib/esm/BackendHubAccess.js.map +1 -1
  127. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  128. package/lib/esm/BisCoreSchema.js.map +1 -1
  129. package/lib/esm/BlobContainerService.js.map +1 -1
  130. package/lib/esm/BriefcaseManager.js.map +1 -1
  131. package/lib/esm/CatalogDb.js.map +1 -1
  132. package/lib/esm/Category.js.map +1 -1
  133. package/lib/esm/ChangeSummaryManager.js +2 -2
  134. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  135. package/lib/esm/ChangedElementsDb.js.map +1 -1
  136. package/lib/esm/ChangesetECAdaptor.js +248 -248
  137. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  138. package/lib/esm/ChannelControl.js.map +1 -1
  139. package/lib/esm/CheckpointManager.js.map +1 -1
  140. package/lib/esm/ClassRegistry.js +5 -5
  141. package/lib/esm/ClassRegistry.js.map +1 -1
  142. package/lib/esm/CloudSqlite.js.map +1 -1
  143. package/lib/esm/CodeService.js.map +1 -1
  144. package/lib/esm/CodeSpecs.js.map +1 -1
  145. package/lib/esm/ConcurrentQuery.js.map +1 -1
  146. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  147. package/lib/esm/DevTools.js.map +1 -1
  148. package/lib/esm/DisplayStyle.js.map +1 -1
  149. package/lib/esm/ECDb.js.map +1 -1
  150. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  151. package/lib/esm/ECSqlStatement.js.map +1 -1
  152. package/lib/esm/Element.js.map +1 -1
  153. package/lib/esm/ElementAspect.js.map +1 -1
  154. package/lib/esm/ElementGraphics.js.map +1 -1
  155. package/lib/esm/ElementTreeWalker.js.map +1 -1
  156. package/lib/esm/Entity.js.map +1 -1
  157. package/lib/esm/EntityReferences.js.map +1 -1
  158. package/lib/esm/ExportGraphics.js.map +1 -1
  159. package/lib/esm/ExternalSource.js.map +1 -1
  160. package/lib/esm/FontFile.js.map +1 -1
  161. package/lib/esm/GeoCoordConfig.js.map +1 -1
  162. package/lib/esm/GeographicCRSServices.js.map +1 -1
  163. package/lib/esm/GeometrySummary.js +47 -47
  164. package/lib/esm/GeometrySummary.js.map +1 -1
  165. package/lib/esm/IModelDb.js +8 -8
  166. package/lib/esm/IModelDb.js.map +1 -1
  167. package/lib/esm/IModelDbFonts.js.map +1 -1
  168. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  169. package/lib/esm/IModelHost.js.map +1 -1
  170. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  171. package/lib/esm/IModelJsFs.js.map +1 -1
  172. package/lib/esm/ImageSourceConversion.js.map +1 -1
  173. package/lib/esm/IpcHost.js.map +1 -1
  174. package/lib/esm/LineStyle.js.map +1 -1
  175. package/lib/esm/LocalHub.js +1 -1
  176. package/lib/esm/LocalHub.js.map +1 -1
  177. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  178. package/lib/esm/LockControl.js.map +1 -1
  179. package/lib/esm/Material.js.map +1 -1
  180. package/lib/esm/Model.js.map +1 -1
  181. package/lib/esm/NativeAppStorage.js.map +1 -1
  182. package/lib/esm/NativeHost.js.map +1 -1
  183. package/lib/esm/NavigationRelationship.js.map +1 -1
  184. package/lib/esm/PromiseMemoizer.js.map +1 -1
  185. package/lib/esm/PropertyStore.js.map +1 -1
  186. package/lib/esm/Relationship.js.map +1 -1
  187. package/lib/esm/RpcBackend.js.map +1 -1
  188. package/lib/esm/SQLiteDb.js.map +1 -1
  189. package/lib/esm/Schema.js.map +1 -1
  190. package/lib/esm/SchemaSync.js.map +1 -1
  191. package/lib/esm/SchemaUtils.js.map +1 -1
  192. package/lib/esm/SheetIndex.js.map +1 -1
  193. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  194. package/lib/esm/SqliteStatement.js.map +1 -1
  195. package/lib/esm/StashManager.js.map +1 -1
  196. package/lib/esm/Texture.js.map +1 -1
  197. package/lib/esm/TileStorage.js.map +1 -1
  198. package/lib/esm/TxnManager.js.map +1 -1
  199. package/lib/esm/ViewDefinition.js.map +1 -1
  200. package/lib/esm/ViewStateHydrator.js.map +1 -1
  201. package/lib/esm/ViewStore.js.map +1 -1
  202. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  203. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  204. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  205. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  206. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  207. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  208. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  209. package/lib/esm/core-backend.js.map +1 -1
  210. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  211. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  212. package/lib/esm/domains/GenericElements.js.map +1 -1
  213. package/lib/esm/domains/GenericSchema.js.map +1 -1
  214. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  215. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  216. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  217. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  218. package/lib/esm/internal/HubMock.js.map +1 -1
  219. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  220. package/lib/esm/internal/NativePlatform.js.map +1 -1
  221. package/lib/esm/internal/NoLocks.js.map +1 -1
  222. package/lib/esm/internal/OnlineStatus.js.map +1 -1
  223. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  224. package/lib/esm/internal/Symbols.js.map +1 -1
  225. package/lib/esm/internal/annotations/fields.js.map +1 -1
  226. package/lib/esm/internal/cross-package.js.map +1 -1
  227. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  228. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  229. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  230. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  231. package/lib/esm/rpc/multipart.js.map +1 -1
  232. package/lib/esm/rpc/tracing.js.map +1 -1
  233. package/lib/esm/rpc/web/logging.js.map +1 -1
  234. package/lib/esm/rpc/web/request.js.map +1 -1
  235. package/lib/esm/rpc/web/response.js.map +1 -1
  236. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  237. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  238. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  239. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  240. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  241. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  242. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  243. package/lib/esm/test/AttachDb.test.js +11 -11
  244. package/lib/esm/test/AttachDb.test.js.map +1 -1
  245. package/lib/esm/test/ElementDrivesElement.test.js +23 -23
  246. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  247. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  248. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  249. package/lib/esm/test/IModelHost.test.js.map +1 -1
  250. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  251. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  252. package/lib/esm/test/IpcHost.test.js.map +1 -1
  253. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  254. package/lib/esm/test/PrintElementTree.js.map +1 -1
  255. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  256. package/lib/esm/test/RevisionUtility.js.map +1 -1
  257. package/lib/esm/test/SchemaUtils.test.js +25 -25
  258. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  259. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  260. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  261. package/lib/esm/test/TestUtils.js.map +1 -1
  262. package/lib/esm/test/annotations/Fields.test.js +53 -53
  263. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  264. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  265. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  266. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  267. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  268. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  269. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js +5 -5
  270. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  271. package/lib/esm/test/categories/Category.test.js.map +1 -1
  272. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  273. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  274. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  275. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
  276. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  277. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  278. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  279. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  280. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  281. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  282. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  283. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  284. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  285. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  286. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  287. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  288. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
  289. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  290. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  291. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  292. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  293. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  294. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  295. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  296. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  297. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  298. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  299. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  300. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  301. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  302. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  303. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  304. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  305. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  306. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
  307. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  308. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  309. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  310. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  311. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  312. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  313. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  314. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  315. package/lib/esm/test/hubaccess/Rebase.test.js +40 -40
  316. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  317. package/lib/esm/test/imageData.js.map +1 -1
  318. package/lib/esm/test/imodel/Code.test.js.map +1 -1
  319. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  320. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  321. package/lib/esm/test/imodel/IModel.test.js +44 -44
  322. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  323. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  324. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  325. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js +432 -198
  326. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  327. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js +272 -190
  328. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  329. package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts +27 -0
  330. package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -0
  331. package/lib/esm/test/incrementalSchemaLocater/TestContext.js +136 -0
  332. package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -0
  333. package/lib/esm/test/index.js.map +1 -1
  334. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  335. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  336. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  337. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  338. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  339. package/lib/esm/test/rpc/response.test.js.map +1 -1
  340. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  341. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  342. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  343. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  344. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  345. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  346. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  347. package/lib/esm/test/standalone/ChangesetReader.test.js +346 -127
  348. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  349. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  350. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  351. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  352. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  353. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  354. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  355. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  356. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  357. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  358. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  359. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  360. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  361. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  362. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  363. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  364. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  365. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  366. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  367. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  368. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  369. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  370. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  371. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  372. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  373. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  374. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  375. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  376. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  377. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  378. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  379. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  380. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  381. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  382. package/lib/esm/workspace/Settings.js.map +1 -1
  383. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  384. package/lib/esm/workspace/Workspace.js.map +1 -1
  385. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  386. package/package.json +13 -13
  387. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts +0 -11
  388. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts.map +0 -1
  389. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js +0 -36
  390. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +0 -1
  391. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts +0 -20
  392. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts.map +0 -1
  393. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js +0 -126
  394. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +0 -1
  395. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts +0 -24
  396. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts.map +0 -1
  397. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js +0 -67
  398. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ import { Schema, SchemaContext, SchemaKey } from "@itwin/ecschema-metadata";
2
+ import { IModelIncrementalSchemaLocater } from "../../IModelIncrementalSchemaLocater";
3
+ import { IModelDb } from "../../IModelDb";
4
+ interface Options {
5
+ readonly bimFile?: string;
6
+ readonly incrementalSchemaLoading?: "enabled" | "disabled" | undefined;
7
+ }
8
+ type SchemaLocaterType<TOptions> = TOptions extends {
9
+ incrementalSchemaLoading: "disabled";
10
+ } ? never : IModelIncrementalSchemaLocater;
11
+ export declare class TestContext<TLocater = never> implements AsyncDisposable {
12
+ private readonly _iModel;
13
+ private readonly _schemaLocater;
14
+ private readonly _assetContext;
15
+ private constructor();
16
+ get iModel(): IModelDb;
17
+ get schemaLocater(): TLocater;
18
+ get schemaContext(): SchemaContext;
19
+ static create<TOptions extends Options>(options?: TOptions): Promise<TestContext<SchemaLocaterType<TOptions>>>;
20
+ private static loadIModelFile;
21
+ private static createIModel;
22
+ getSchemaNames(): Promise<string[]>;
23
+ importAssetSchema(schemaKey: SchemaKey): Promise<Schema>;
24
+ [Symbol.asyncDispose](): Promise<void>;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=TestContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestContext.d.ts","sourceRoot":"","sources":["../../../../src/test/incrementalSchemaLocater/TestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAsC,SAAS,EAAmB,MAAM,0BAA0B,CAAC;AACjI,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAe,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAUrE,UAAU,OAAO;IACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CACxE;AAED,KAAK,iBAAiB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAAE,wBAAwB,EAAE,UAAU,CAAA;CAAE,GAAG,KAAK,GAAG,8BAA8B,CAAC;AAEtI,qBAAa,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAE,YAAW,eAAe;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAW;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,OAAO;IAoBP,IAAW,MAAM,IAAI,QAAQ,CAE5B;IAED,IAAW,aAAa,IAAI,QAAQ,CAEnC;IAED,IAAW,aAAa,IAAI,aAAa,CAExC;WAEmB,MAAM,CAAC,QAAQ,SAAS,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;mBAqBtG,cAAc;mBASd,YAAY;IAuBpB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAenC,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BxD,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpD"}
@@ -0,0 +1,136 @@
1
+ import { SchemaContext, SchemaGraphUtil, SchemaJsonLocater, SchemaMatchType } from "@itwin/ecschema-metadata";
2
+ import { IModelIncrementalSchemaLocater } from "../../IModelIncrementalSchemaLocater";
3
+ import { BriefcaseDb, IModelDb, StandaloneDb } from "../../IModelDb";
4
+ import { IModelHost } from "../../IModelHost";
5
+ import { KnownTestLocations } from "../KnownTestLocations";
6
+ import { OpenMode } from "@itwin/core-bentley";
7
+ import { IModelJsFs } from "../../IModelJsFs";
8
+ import { ProfileOptions } from "@itwin/core-common";
9
+ import { SchemaXmlFileLocater } from "@itwin/ecschema-locaters";
10
+ import { DOMParser, XMLSerializer } from "@xmldom/xmldom";
11
+ import * as path from "path";
12
+ export class TestContext {
13
+ _iModel;
14
+ _schemaLocater;
15
+ _assetContext;
16
+ constructor(iModel) {
17
+ this._iModel = iModel;
18
+ this._schemaLocater = this._iModel.schemaContext.locaters.find((locater) => {
19
+ return locater instanceof IModelIncrementalSchemaLocater;
20
+ });
21
+ // Ideally we should not need a seperate context here to locate and locate the bisschemas from the
22
+ // parent imodel context, but due to a bug in the incremental schema logic, we have to do this for now.
23
+ // TODO: remove this when issue #1763 is fixed.
24
+ this._assetContext = new SchemaContext();
25
+ this._assetContext.addLocater(new SchemaJsonLocater((schemaName) => {
26
+ return iModel.getSchemaProps(schemaName);
27
+ }));
28
+ const xmlAssetSchemaLocater = new SchemaXmlFileLocater();
29
+ xmlAssetSchemaLocater.addSchemaSearchPath(path.join(KnownTestLocations.assetsDir, "IncrementalSchemaLocater"));
30
+ this._assetContext.addLocater(xmlAssetSchemaLocater);
31
+ iModel.schemaContext.addLocater(this._assetContext);
32
+ }
33
+ get iModel() {
34
+ return this._iModel;
35
+ }
36
+ get schemaLocater() {
37
+ return this._schemaLocater;
38
+ }
39
+ get schemaContext() {
40
+ return this._iModel.schemaContext;
41
+ }
42
+ static async create(options) {
43
+ if (!IModelHost.isValid) {
44
+ await IModelHost.startup();
45
+ }
46
+ const iModel = options?.bimFile ?
47
+ await this.loadIModelFile(options.bimFile) :
48
+ await this.createIModel();
49
+ const configuration = IModelHost.configuration;
50
+ if (configuration) {
51
+ const previousSetting = configuration.incrementalSchemaLoading;
52
+ configuration.incrementalSchemaLoading = options ? options.incrementalSchemaLoading : "enabled";
53
+ iModel.onBeforeClose.addOnce(() => {
54
+ configuration.incrementalSchemaLoading = previousSetting;
55
+ });
56
+ }
57
+ return new TestContext(iModel);
58
+ }
59
+ static async loadIModelFile(bimFile) {
60
+ const pathToBriefCase = path.join(KnownTestLocations.assetsDir, bimFile);
61
+ return BriefcaseDb.open({
62
+ fileName: pathToBriefCase,
63
+ readonly: true,
64
+ key: "test-iModel",
65
+ });
66
+ }
67
+ static async createIModel() {
68
+ const testBimPath = path.join(KnownTestLocations.assetsDir, "IncrementalSchemaLocater", "test-bim.bim");
69
+ if (IModelJsFs.existsSync(testBimPath)) {
70
+ ~IModelJsFs.removeSync(testBimPath);
71
+ }
72
+ const localBim = StandaloneDb.createEmpty(testBimPath, {
73
+ allowEdit: "true",
74
+ rootSubject: {
75
+ name: "IncrementalSchemaTestingDb"
76
+ },
77
+ });
78
+ localBim.close();
79
+ const nativeDb = IModelDb.openDgnDb({ path: testBimPath }, OpenMode.ReadWrite, { profile: ProfileOptions.Upgrade });
80
+ nativeDb.saveChanges();
81
+ nativeDb.closeFile();
82
+ return StandaloneDb.openFile(testBimPath, OpenMode.ReadWrite);
83
+ }
84
+ async getSchemaNames() {
85
+ const result = new Array();
86
+ const sqlQuery = "SELECT Name, VersionMajor, VersionWrite, VersionMinor FROM meta.ECSchemaDef ORDER BY Name";
87
+ const reader = this._iModel.createQueryReader(sqlQuery);
88
+ while (await reader.step()) {
89
+ const name = reader.current[0];
90
+ const versionMajor = reader.current[1];
91
+ const versionWrite = reader.current[2];
92
+ const versionMinor = reader.current[3];
93
+ result.push(`${name}.${versionMajor}.${versionWrite}.${versionMinor}`);
94
+ }
95
+ return result;
96
+ }
97
+ async importAssetSchema(schemaKey) {
98
+ // If schema is already in the iModel, return it.
99
+ if (undefined !== this.iModel.querySchemaVersion(schemaKey.name))
100
+ return await this.schemaContext.getSchema(schemaKey);
101
+ // Locate the schema from the assets using the schema contexts asset locaters.
102
+ const testSchema = await this._assetContext.getSchema(schemaKey, SchemaMatchType.Exact);
103
+ if (undefined === testSchema)
104
+ throw new Error(`The schema '${schemaKey.name}' could not be found in the assets folder.`);
105
+ const schemaXml = await getOrderedSchemaStrings(testSchema);
106
+ await this._iModel.importSchemaStrings(schemaXml);
107
+ this._iModel.saveChanges();
108
+ if (this.iModel.isBriefcaseDb() && !this.iModel.isReadonly) {
109
+ await this.iModel.pushChanges({ description: "import test schema" });
110
+ }
111
+ const schema = await this.schemaContext.getSchema(schemaKey);
112
+ if (undefined === schema)
113
+ throw new Error(`The schema '${schemaKey.name}' could not be found after import.`);
114
+ if (schema.loadingController && !schema.loadingController.isComplete) {
115
+ await schema.loadingController.wait();
116
+ }
117
+ return schema;
118
+ }
119
+ async [Symbol.asyncDispose]() {
120
+ return this._iModel.close();
121
+ }
122
+ }
123
+ async function getOrderedSchemaStrings(insertSchema) {
124
+ const schemas = SchemaGraphUtil.buildDependencyOrderedSchemaList(insertSchema);
125
+ const schemaStrings = await Promise.all(schemas.map(async (schema) => getSchemaString(schema)));
126
+ return schemaStrings;
127
+ }
128
+ async function getSchemaString(schema) {
129
+ // Serialize schema to the document object
130
+ const xmlDocument = new DOMParser().parseFromString(`<?xml version="1.0" encoding="UTF-8"?>`, "application/xml");
131
+ await schema.toXml(xmlDocument);
132
+ const serializer = new XMLSerializer();
133
+ const xml = serializer.serializeToString(xmlDocument);
134
+ return xml;
135
+ }
136
+ //# sourceMappingURL=TestContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestContext.js","sourceRoot":"","sources":["../../../../src/test/incrementalSchemaLocater/TestContext.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema, SchemaContext, SchemaGraphUtil, SchemaJsonLocater, SchemaKey, SchemaMatchType } from \"@itwin/ecschema-metadata\";\r\nimport { IModelIncrementalSchemaLocater } from \"../../IModelIncrementalSchemaLocater\";\r\nimport { BriefcaseDb, IModelDb, StandaloneDb } from \"../../IModelDb\";\r\nimport { IModelHost } from \"../../IModelHost\";\r\nimport { KnownTestLocations } from \"../KnownTestLocations\";\r\nimport { OpenMode } from \"@itwin/core-bentley\";\r\nimport { IModelJsFs } from \"../../IModelJsFs\";\r\nimport { ProfileOptions } from \"@itwin/core-common\";\r\nimport { SchemaXmlFileLocater } from \"@itwin/ecschema-locaters\";\r\nimport { DOMParser, XMLSerializer } from \"@xmldom/xmldom\";\r\nimport * as path from \"path\";\r\n\r\ninterface Options {\r\n readonly bimFile?: string;\r\n readonly incrementalSchemaLoading?: \"enabled\" | \"disabled\" | undefined;\r\n}\r\n\r\ntype SchemaLocaterType<TOptions> = TOptions extends { incrementalSchemaLoading: \"disabled\" } ? never : IModelIncrementalSchemaLocater;\r\n\r\nexport class TestContext<TLocater = never> implements AsyncDisposable {\r\n private readonly _iModel: IModelDb;\r\n private readonly _schemaLocater: TLocater;\r\n private readonly _assetContext: SchemaContext;\r\n\r\n private constructor(iModel: IModelDb) {\r\n this._iModel = iModel;\r\n this._schemaLocater = this._iModel.schemaContext.locaters.find((locater) => {\r\n return locater instanceof IModelIncrementalSchemaLocater;\r\n }) as TLocater;\r\n\r\n // Ideally we should not need a seperate context here to locate and locate the bisschemas from the\r\n // parent imodel context, but due to a bug in the incremental schema logic, we have to do this for now.\r\n // TODO: remove this when issue #1763 is fixed.\r\n this._assetContext = new SchemaContext();\r\n this._assetContext.addLocater(new SchemaJsonLocater((schemaName) => {\r\n return iModel.getSchemaProps(schemaName);\r\n }))\r\n const xmlAssetSchemaLocater = new SchemaXmlFileLocater();\r\n xmlAssetSchemaLocater.addSchemaSearchPath(path.join(KnownTestLocations.assetsDir, \"IncrementalSchemaLocater\"));\r\n this._assetContext.addLocater(xmlAssetSchemaLocater);\r\n\r\n iModel.schemaContext.addLocater(this._assetContext);\r\n }\r\n\r\n public get iModel(): IModelDb {\r\n return this._iModel;\r\n }\r\n\r\n public get schemaLocater(): TLocater {\r\n return this._schemaLocater;\r\n }\r\n\r\n public get schemaContext(): SchemaContext {\r\n return this._iModel.schemaContext;\r\n }\r\n\r\n public static async create<TOptions extends Options>(options?: TOptions): Promise<TestContext<SchemaLocaterType<TOptions>>> {\r\n if(!IModelHost.isValid) {\r\n await IModelHost.startup()\r\n }\r\n\r\n const iModel = options?.bimFile ?\r\n await this.loadIModelFile(options.bimFile) :\r\n await this.createIModel();\r\n\r\n const configuration = IModelHost.configuration;\r\n if(configuration) {\r\n const previousSetting = configuration.incrementalSchemaLoading;\r\n configuration.incrementalSchemaLoading = options ?options.incrementalSchemaLoading : \"enabled\";\r\n iModel.onBeforeClose.addOnce(() => {\r\n configuration.incrementalSchemaLoading = previousSetting;\r\n });\r\n }\r\n\r\n return new TestContext(iModel);\r\n }\r\n\r\n private static async loadIModelFile(bimFile: string): Promise<IModelDb> {\r\n const pathToBriefCase = path.join(KnownTestLocations.assetsDir, bimFile);\r\n return BriefcaseDb.open({\r\n fileName: pathToBriefCase,\r\n readonly: true,\r\n key: \"test-iModel\",\r\n });\r\n }\r\n\r\n private static async createIModel(): Promise<IModelDb> {\r\n const testBimPath = path.join(KnownTestLocations.assetsDir, \"IncrementalSchemaLocater\", \"test-bim.bim\");\r\n\r\n if (IModelJsFs.existsSync(testBimPath)) {~\r\n IModelJsFs.removeSync(testBimPath);\r\n }\r\n\r\n const localBim = StandaloneDb.createEmpty(testBimPath, {\r\n allowEdit: \"true\",\r\n rootSubject: {\r\n name: \"IncrementalSchemaTestingDb\"\r\n },\r\n });\r\n\r\n localBim.close();\r\n\r\n const nativeDb = IModelDb.openDgnDb({ path: testBimPath }, OpenMode.ReadWrite, { profile: ProfileOptions.Upgrade });\r\n nativeDb.saveChanges();\r\n nativeDb.closeFile();\r\n\r\n return StandaloneDb.openFile(testBimPath, OpenMode.ReadWrite);\r\n }\r\n\r\n public async getSchemaNames(): Promise<string[]> {\r\n const result = new Array<string>();\r\n const sqlQuery = \"SELECT Name, VersionMajor, VersionWrite, VersionMinor FROM meta.ECSchemaDef ORDER BY Name\";\r\n const reader = this._iModel.createQueryReader(sqlQuery);\r\n while (await reader.step()) {\r\n const name = reader.current[0];\r\n const versionMajor = reader.current[1];\r\n const versionWrite = reader.current[2];\r\n const versionMinor = reader.current[3];\r\n\r\n result.push(`${name}.${versionMajor}.${versionWrite}.${versionMinor}`);\r\n }\r\n return result;\r\n }\r\n\r\n public async importAssetSchema(schemaKey: SchemaKey): Promise<Schema> {\r\n // If schema is already in the iModel, return it.\r\n if (undefined !== this.iModel.querySchemaVersion(schemaKey.name))\r\n return await this.schemaContext.getSchema(schemaKey) as Schema;\r\n\r\n // Locate the schema from the assets using the schema contexts asset locaters.\r\n const testSchema = await this._assetContext.getSchema(schemaKey, SchemaMatchType.Exact);\r\n if (undefined === testSchema)\r\n throw new Error(`The schema '${schemaKey.name}' could not be found in the assets folder.`);\r\n\r\n const schemaXml = await getOrderedSchemaStrings(testSchema);\r\n await this._iModel.importSchemaStrings(schemaXml);\r\n this._iModel.saveChanges();\r\n\r\n if (this.iModel.isBriefcaseDb() && !this.iModel.isReadonly) {\r\n await this.iModel.pushChanges({ description: \"import test schema\" });\r\n }\r\n\r\n const schema = await this.schemaContext.getSchema(schemaKey);\r\n if (undefined === schema)\r\n throw new Error(`The schema '${schemaKey.name}' could not be found after import.`);\r\n\r\n if(schema.loadingController && !schema.loadingController.isComplete) {\r\n await schema.loadingController.wait();\r\n }\r\n\r\n return schema;\r\n }\r\n\r\n public async [Symbol.asyncDispose](): Promise<void> {\r\n return this._iModel.close();\r\n }\r\n}\r\n\r\nasync function getOrderedSchemaStrings(insertSchema: Schema): Promise<string[]> {\r\n const schemas = SchemaGraphUtil.buildDependencyOrderedSchemaList(insertSchema);\r\n const schemaStrings = await Promise.all(schemas.map(async (schema) => getSchemaString(schema)));\r\n return schemaStrings;\r\n}\r\n\r\nasync function getSchemaString(schema: Schema): Promise<string> {\r\n // Serialize schema to the document object\r\n const xmlDocument = new DOMParser().parseFromString(`<?xml version=\"1.0\" encoding=\"UTF-8\"?>`, \"application/xml\");\r\n await schema.toXml(xmlDocument);\r\n\r\n const serializer = new XMLSerializer();\r\n const xml = serializer.serializeToString(xmlDocument);\r\n\r\n return xml;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/index.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport * from \"./AdvancedEqual\";\nexport * from \"./IModelTestUtils\";\nexport * from \"./KnownTestLocations\";\nexport * from \"./RevisionUtility\";\nexport * from \"./TestChangeSetUtility\";\nexport * from \"./imageData\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/index.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,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\nexport * from \"./AdvancedEqual\";\r\nexport * from \"./IModelTestUtils\";\r\nexport * from \"./KnownTestLocations\";\r\nexport * from \"./RevisionUtility\";\r\nexport * from \"./TestChangeSetUtility\";\r\nexport * from \"./imageData\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DevTools.test.js","sourceRoot":"","sources":["../../../../src/test/misc/DevTools.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAMtE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,4CAA4C;IAC5C,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAa,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAoC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,sBAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,QAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,OAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,MAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,EAAE,CAAC,QAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,OAAO,CAAC,MAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,GAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,SAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,CAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,cAAc,GAAG,eAAe,CAAC;QAEvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1C,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CACA,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { assert } from \"chai\";\nimport * as os from \"os\";\nimport { Logger, LogLevel } from \"@itwin/core-bentley\";\nimport { DevTools, DevToolsStatsFormatter } from \"../../core-backend\";\n\ninterface StringIndexedObject<T> {\n [index: string]: T;\n}\n\ndescribe(\"DevTools\", () => {\n // we like to skip this test fixture for ios\n it(\"can fetch stats from backend\", () => {\n const stats = DevTools.stats();\n assert.isDefined(stats);\n assert.isDefined(stats.os);\n assert.isDefined(stats.os.totalmem);\n assert.isDefined(stats.os.freemem);\n assert.isDefined(stats.os.uptime);\n assert.isDefined(stats.os.cpus);\n assert.isDefined(stats.os.cpuUsage);\n assert.isTrue(stats.os.cpuUsage < 100);\n assert.isDefined(stats.process);\n assert.isDefined(stats.process.pid);\n assert.isDefined(stats.process.ppid);\n assert.isDefined(stats.process.memoryUsage);\n assert.isDefined(stats.process.uptime);\n\n assert.isTrue(Object.keys(stats.os.cpus).length > 0);\n for (const cpu of Object.values<os.CpuInfo>(stats.os.cpus)) {\n assert.isDefined(cpu.times);\n const cpuTimes = cpu.times as StringIndexedObject<number>;\n assert.isTrue(Object.keys(cpuTimes).length > 0);\n }\n });\n\n it(\"can serialize stats from backend appropriately\", () => {\n const stats = DevTools.stats();\n const formattedStats = DevToolsStatsFormatter.toFormattedJson(stats);\n\n assert.isTrue((formattedStats.os.totalmem as string).endsWith(\"MB\"));\n assert.isTrue((formattedStats.os.freemem as string).endsWith(\"MB\"));\n assert.isTrue((formattedStats.os.uptime as string).endsWith(\"secs\"));\n assert.isTrue((formattedStats.os.cpus[0].speed as string).endsWith(\"MHz\"));\n assert.isTrue((formattedStats.os.cpus[0].times.user as string).endsWith(\"%\"));\n assert.isTrue((formattedStats.os.cpus[0].times.nice as string).endsWith(\"%\"));\n assert.isTrue((formattedStats.os.cpus[0].times.sys as string).endsWith(\"%\"));\n assert.isTrue((formattedStats.os.cpus[0].times.idle as string).endsWith(\"%\"));\n assert.isTrue((formattedStats.os.cpus[0].times.irq as string).endsWith(\"%\"));\n assert.isTrue((formattedStats.os.cpuUsage! as string).endsWith(\"%\"));\n\n assert.isTrue((formattedStats.process.uptime as string).endsWith(\"secs\"));\n assert.isTrue((formattedStats.process.memoryUsage.rss as string).endsWith(\"MB\"));\n assert.isTrue((formattedStats.process.memoryUsage.heapTotal as string).endsWith(\"MB\"));\n assert.isTrue((formattedStats.process.memoryUsage.heapUsed as string).endsWith(\"MB\"));\n assert.isTrue((formattedStats.process.memoryUsage.external as string).endsWith(\"MB\"));\n });\n\n it(\"can ping backend\", () => {\n const ret = DevTools.ping();\n assert.isTrue(ret);\n });\n\n it(\"can set log level\", () => {\n const loggerCategory = \"test-category\";\n\n const expectedOldLevel = LogLevel.Info;\n Logger.setLevel(loggerCategory, expectedOldLevel);\n\n const expectedNewLevel = LogLevel.Warning;\n const actualOldLevel = DevTools.setLogLevel(loggerCategory, expectedNewLevel);\n assert.equal(actualOldLevel, expectedOldLevel);\n\n const actualNewLevel = Logger.getLevel(loggerCategory);\n assert.equal(actualNewLevel, expectedNewLevel);\n });\n\n it(\"Get the backend versions\", async () => {\n const versions = await DevTools.versions();\n assert.isDefined(versions.application);\n assert.isDefined(versions.iTwinJs);\n assert.isDefined(versions.availableRpcs);\n });\n},\n);\n"]}
1
+ {"version":3,"file":"DevTools.test.js","sourceRoot":"","sources":["../../../../src/test/misc/DevTools.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { assert } from \"chai\";\r\nimport * as os from \"os\";\r\nimport { Logger, LogLevel } from \"@itwin/core-bentley\";\r\nimport { DevTools, DevToolsStatsFormatter } from \"../../core-backend\";\r\n\r\ninterface StringIndexedObject<T> {\r\n [index: string]: T;\r\n}\r\n\r\ndescribe(\"DevTools\", () => {\r\n // we like to skip this test fixture for ios\r\n it(\"can fetch stats from backend\", () => {\r\n const stats = DevTools.stats();\r\n assert.isDefined(stats);\r\n assert.isDefined(stats.os);\r\n assert.isDefined(stats.os.totalmem);\r\n assert.isDefined(stats.os.freemem);\r\n assert.isDefined(stats.os.uptime);\r\n assert.isDefined(stats.os.cpus);\r\n assert.isDefined(stats.os.cpuUsage);\r\n assert.isTrue(stats.os.cpuUsage < 100);\r\n assert.isDefined(stats.process);\r\n assert.isDefined(stats.process.pid);\r\n assert.isDefined(stats.process.ppid);\r\n assert.isDefined(stats.process.memoryUsage);\r\n assert.isDefined(stats.process.uptime);\r\n\r\n assert.isTrue(Object.keys(stats.os.cpus).length > 0);\r\n for (const cpu of Object.values<os.CpuInfo>(stats.os.cpus)) {\r\n assert.isDefined(cpu.times);\r\n const cpuTimes = cpu.times as StringIndexedObject<number>;\r\n assert.isTrue(Object.keys(cpuTimes).length > 0);\r\n }\r\n });\r\n\r\n it(\"can serialize stats from backend appropriately\", () => {\r\n const stats = DevTools.stats();\r\n const formattedStats = DevToolsStatsFormatter.toFormattedJson(stats);\r\n\r\n assert.isTrue((formattedStats.os.totalmem as string).endsWith(\"MB\"));\r\n assert.isTrue((formattedStats.os.freemem as string).endsWith(\"MB\"));\r\n assert.isTrue((formattedStats.os.uptime as string).endsWith(\"secs\"));\r\n assert.isTrue((formattedStats.os.cpus[0].speed as string).endsWith(\"MHz\"));\r\n assert.isTrue((formattedStats.os.cpus[0].times.user as string).endsWith(\"%\"));\r\n assert.isTrue((formattedStats.os.cpus[0].times.nice as string).endsWith(\"%\"));\r\n assert.isTrue((formattedStats.os.cpus[0].times.sys as string).endsWith(\"%\"));\r\n assert.isTrue((formattedStats.os.cpus[0].times.idle as string).endsWith(\"%\"));\r\n assert.isTrue((formattedStats.os.cpus[0].times.irq as string).endsWith(\"%\"));\r\n assert.isTrue((formattedStats.os.cpuUsage! as string).endsWith(\"%\"));\r\n\r\n assert.isTrue((formattedStats.process.uptime as string).endsWith(\"secs\"));\r\n assert.isTrue((formattedStats.process.memoryUsage.rss as string).endsWith(\"MB\"));\r\n assert.isTrue((formattedStats.process.memoryUsage.heapTotal as string).endsWith(\"MB\"));\r\n assert.isTrue((formattedStats.process.memoryUsage.heapUsed as string).endsWith(\"MB\"));\r\n assert.isTrue((formattedStats.process.memoryUsage.external as string).endsWith(\"MB\"));\r\n });\r\n\r\n it(\"can ping backend\", () => {\r\n const ret = DevTools.ping();\r\n assert.isTrue(ret);\r\n });\r\n\r\n it(\"can set log level\", () => {\r\n const loggerCategory = \"test-category\";\r\n\r\n const expectedOldLevel = LogLevel.Info;\r\n Logger.setLevel(loggerCategory, expectedOldLevel);\r\n\r\n const expectedNewLevel = LogLevel.Warning;\r\n const actualOldLevel = DevTools.setLogLevel(loggerCategory, expectedNewLevel);\r\n assert.equal(actualOldLevel, expectedOldLevel);\r\n\r\n const actualNewLevel = Logger.getLevel(loggerCategory);\r\n assert.equal(actualNewLevel, expectedNewLevel);\r\n });\r\n\r\n it(\"Get the backend versions\", async () => {\r\n const versions = await DevTools.versions();\r\n assert.isDefined(versions.application);\r\n assert.isDefined(versions.iTwinJs);\r\n assert.isDefined(versions.availableRpcs);\r\n });\r\n},\r\n);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"EntitySubClasses.test.js","sourceRoot":"","sources":["../../../../src/test/misc/EntitySubClasses.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from \"chai\";\nimport { AuxCoordSystemProps, Code, GeometricModel2dProps, ModelProps } from \"@itwin/core-common\";\nimport { SnapshotDb } from \"../../IModelDb\";\nimport { GeometricModel2d } from \"../../Model\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\nimport { AuxCoordSystem2d, AuxCoordSystem3d } from \"../../ViewDefinition\";\n\ndescribe(\"EntitySubClasses\", () => {\n let iModelDb: SnapshotDb;\n\n before(() => {\n const testFileName = IModelTestUtils.prepareOutputFile(\"EntitySubClasses\", \"Empty.bim\");\n iModelDb = SnapshotDb.createEmpty(testFileName, { rootSubject: { name: \"Subject\" } });\n });\n\n after(() => {\n iModelDb.close();\n })\n\n it(\"should correctly set globalOrigin for GeometricModel2d\", async () => {\n const modelProps: ModelProps = {\n modeledElement: { id: \"\" },\n classFullName: GeometricModel2d.classFullName,\n }\n\n let model = iModelDb.constructEntity<GeometricModel2d, GeometricModel2dProps>({\n ...modelProps,\n globalOrigin: undefined,\n });\n expect(model.globalOrigin).to.be.undefined;\n\n model = iModelDb.constructEntity<GeometricModel2d, GeometricModel2dProps>({\n ...modelProps,\n globalOrigin: { x: 1, y: 2 },\n });\n expect(model.globalOrigin?.x).to.equal(1);\n expect(model.globalOrigin?.y).to.equal(2);\n\n model = iModelDb.constructEntity<GeometricModel2d, GeometricModel2dProps>({\n ...modelProps,\n globalOrigin: [3, 4],\n });\n expect(model.globalOrigin?.x).to.equal(3);\n expect(model.globalOrigin?.y).to.equal(4);\n });\n\n it(\"should correctly set origin, angle for AuxCoordSystem2d\", async () => {\n const props: AuxCoordSystemProps = {\n classFullName: AuxCoordSystem2d.classFullName,\n model: \"\",\n code: Code.createEmpty(),\n }\n\n let coordSystem = new AuxCoordSystem2d({\n ...props,\n }, iModelDb);\n expect(coordSystem.origin).to.be.undefined;\n expect(coordSystem.angle).to.be.undefined;\n\n coordSystem = new AuxCoordSystem2d({\n ...props,\n origin: { x: 1, y: 2 },\n angle: 45,\n }, iModelDb);\n expect(coordSystem.origin?.x).to.equal(1);\n expect(coordSystem.origin?.y).to.equal(2);\n expect(coordSystem.angle).to.be.equal(45);\n\n coordSystem = new AuxCoordSystem2d({\n ...props,\n origin: [3, 4],\n angle: { radians: Math.PI / 2 },\n }, iModelDb);\n expect(coordSystem.origin?.x).to.equal(3);\n expect(coordSystem.origin?.y).to.equal(4);\n expect(coordSystem.angle).to.be.equal(90);\n });\n\n it(\"should correctly set origin, yaw, pitch, roll for AuxCoordSystem3d\", async () => {\n const props: AuxCoordSystemProps = {\n classFullName: AuxCoordSystem3d.classFullName,\n model: \"\",\n code: Code.createEmpty(),\n }\n\n let coordSystem = new AuxCoordSystem3d(props, iModelDb)\n expect(coordSystem.origin).to.be.undefined;\n expect(coordSystem.yaw).to.be.undefined;\n expect(coordSystem.pitch).to.be.undefined;\n expect(coordSystem.roll).to.be.undefined;\n\n coordSystem = new AuxCoordSystem3d({\n ...props,\n origin: { x: 1, y: 2, z: 3 },\n yaw: 10,\n pitch: 20,\n roll: 30,\n }, iModelDb)\n expect(coordSystem.origin?.x).to.equal(1);\n expect(coordSystem.origin?.y).to.equal(2);\n expect(coordSystem.origin?.z).to.equal(3);\n expect(coordSystem.yaw).to.be.equal(10);\n expect(coordSystem.pitch).to.be.equal(20);\n expect(coordSystem.roll).to.be.equal(30);\n\n coordSystem = new AuxCoordSystem3d({\n ...props,\n origin: [4, 5, 6],\n yaw: { radians: Math.PI / 4 },\n pitch: { radians: Math.PI / 2 },\n roll: { radians: Math.PI },\n }, iModelDb)\n expect(coordSystem.origin?.x).to.equal(4);\n expect(coordSystem.origin?.y).to.equal(5);\n expect(coordSystem.origin?.z).to.equal(6);\n expect(coordSystem.yaw).to.be.equal(45);\n expect(coordSystem.pitch).to.be.equal(90);\n expect(coordSystem.roll).to.be.equal(180);\n });\n});\n"]}
1
+ {"version":3,"file":"EntitySubClasses.test.js","sourceRoot":"","sources":["../../../../src/test/misc/EntitySubClasses.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from \"chai\";\r\nimport { AuxCoordSystemProps, Code, GeometricModel2dProps, ModelProps } from \"@itwin/core-common\";\r\nimport { SnapshotDb } from \"../../IModelDb\";\r\nimport { GeometricModel2d } from \"../../Model\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\nimport { AuxCoordSystem2d, AuxCoordSystem3d } from \"../../ViewDefinition\";\r\n\r\ndescribe(\"EntitySubClasses\", () => {\r\n let iModelDb: SnapshotDb;\r\n\r\n before(() => {\r\n const testFileName = IModelTestUtils.prepareOutputFile(\"EntitySubClasses\", \"Empty.bim\");\r\n iModelDb = SnapshotDb.createEmpty(testFileName, { rootSubject: { name: \"Subject\" } });\r\n });\r\n\r\n after(() => {\r\n iModelDb.close();\r\n })\r\n\r\n it(\"should correctly set globalOrigin for GeometricModel2d\", async () => {\r\n const modelProps: ModelProps = {\r\n modeledElement: { id: \"\" },\r\n classFullName: GeometricModel2d.classFullName,\r\n }\r\n\r\n let model = iModelDb.constructEntity<GeometricModel2d, GeometricModel2dProps>({\r\n ...modelProps,\r\n globalOrigin: undefined,\r\n });\r\n expect(model.globalOrigin).to.be.undefined;\r\n\r\n model = iModelDb.constructEntity<GeometricModel2d, GeometricModel2dProps>({\r\n ...modelProps,\r\n globalOrigin: { x: 1, y: 2 },\r\n });\r\n expect(model.globalOrigin?.x).to.equal(1);\r\n expect(model.globalOrigin?.y).to.equal(2);\r\n\r\n model = iModelDb.constructEntity<GeometricModel2d, GeometricModel2dProps>({\r\n ...modelProps,\r\n globalOrigin: [3, 4],\r\n });\r\n expect(model.globalOrigin?.x).to.equal(3);\r\n expect(model.globalOrigin?.y).to.equal(4);\r\n });\r\n\r\n it(\"should correctly set origin, angle for AuxCoordSystem2d\", async () => {\r\n const props: AuxCoordSystemProps = {\r\n classFullName: AuxCoordSystem2d.classFullName,\r\n model: \"\",\r\n code: Code.createEmpty(),\r\n }\r\n\r\n let coordSystem = new AuxCoordSystem2d({\r\n ...props,\r\n }, iModelDb);\r\n expect(coordSystem.origin).to.be.undefined;\r\n expect(coordSystem.angle).to.be.undefined;\r\n\r\n coordSystem = new AuxCoordSystem2d({\r\n ...props,\r\n origin: { x: 1, y: 2 },\r\n angle: 45,\r\n }, iModelDb);\r\n expect(coordSystem.origin?.x).to.equal(1);\r\n expect(coordSystem.origin?.y).to.equal(2);\r\n expect(coordSystem.angle).to.be.equal(45);\r\n\r\n coordSystem = new AuxCoordSystem2d({\r\n ...props,\r\n origin: [3, 4],\r\n angle: { radians: Math.PI / 2 },\r\n }, iModelDb);\r\n expect(coordSystem.origin?.x).to.equal(3);\r\n expect(coordSystem.origin?.y).to.equal(4);\r\n expect(coordSystem.angle).to.be.equal(90);\r\n });\r\n\r\n it(\"should correctly set origin, yaw, pitch, roll for AuxCoordSystem3d\", async () => {\r\n const props: AuxCoordSystemProps = {\r\n classFullName: AuxCoordSystem3d.classFullName,\r\n model: \"\",\r\n code: Code.createEmpty(),\r\n }\r\n\r\n let coordSystem = new AuxCoordSystem3d(props, iModelDb)\r\n expect(coordSystem.origin).to.be.undefined;\r\n expect(coordSystem.yaw).to.be.undefined;\r\n expect(coordSystem.pitch).to.be.undefined;\r\n expect(coordSystem.roll).to.be.undefined;\r\n\r\n coordSystem = new AuxCoordSystem3d({\r\n ...props,\r\n origin: { x: 1, y: 2, z: 3 },\r\n yaw: 10,\r\n pitch: 20,\r\n roll: 30,\r\n }, iModelDb)\r\n expect(coordSystem.origin?.x).to.equal(1);\r\n expect(coordSystem.origin?.y).to.equal(2);\r\n expect(coordSystem.origin?.z).to.equal(3);\r\n expect(coordSystem.yaw).to.be.equal(10);\r\n expect(coordSystem.pitch).to.be.equal(20);\r\n expect(coordSystem.roll).to.be.equal(30);\r\n\r\n coordSystem = new AuxCoordSystem3d({\r\n ...props,\r\n origin: [4, 5, 6],\r\n yaw: { radians: Math.PI / 4 },\r\n pitch: { radians: Math.PI / 2 },\r\n roll: { radians: Math.PI },\r\n }, iModelDb)\r\n expect(coordSystem.origin?.x).to.equal(4);\r\n expect(coordSystem.origin?.y).to.equal(5);\r\n expect(coordSystem.origin?.z).to.equal(6);\r\n expect(coordSystem.yaw).to.be.equal(45);\r\n expect(coordSystem.pitch).to.be.equal(90);\r\n expect(coordSystem.roll).to.be.equal(180);\r\n });\r\n});\r\n"]}