@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.
- package/CHANGELOG.md +19 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +248 -248
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js +47 -47
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.js +8 -8
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/StashManager.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/OnlineStatus.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/annotations/fields.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +248 -248
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js +47 -47
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.js +8 -8
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/StashManager.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/OnlineStatus.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/annotations/fields.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js +11 -11
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementDrivesElement.test.js +23 -23
- package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +25 -25
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js +53 -53
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js +5 -5
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js +88 -88
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +72 -72
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
- package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.js +40 -40
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/Code.test.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +44 -44
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js +432 -198
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js +272 -190
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts +27 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js +136 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -0
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +346 -127
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts +0 -11
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js +0 -36
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts +0 -20
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js +0 -126
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts +0 -24
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js +0 -67
- 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":"AAAA,OAAO,EAAU,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAa,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjI,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B,MAAM,OAAO,WAAW;IACL,OAAO,CAAW;IAClB,cAAc,CAAW;IACzB,aAAa,CAAgB;IAE9C,YAAoB,MAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACzE,OAAO,OAAO,YAAY,8BAA8B,CAAC;QAC3D,CAAC,CAAa,CAAC;QAEf,kGAAkG;QAClG,uGAAuG;QACvG,+CAA+C;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,UAAU,EAAE,EAAE;YACjE,OAAO,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAA;QACH,MAAM,qBAAqB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACzD,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAErD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAA2B,OAAkB;QACrE,IAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE5B,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAC/C,IAAG,aAAa,EAAE,CAAC;YACjB,MAAM,eAAe,GAAG,aAAa,CAAC,wBAAwB,CAAC;YAC/D,aAAa,CAAC,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAA,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChC,aAAa,CAAC,wBAAwB,GAAG,eAAe,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAe;QACjD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO,WAAW,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,aAAa;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,0BAA0B,EAAE,cAAc,CAAC,CAAC;QAExG,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAAA,CACvC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE;YACrD,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE;gBACX,IAAI,EAAE,4BAA4B;aACnC;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACpH,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,CAAC;QAErB,OAAO,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,MAAM,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;QACnC,MAAM,QAAQ,GAAG,2FAA2F,CAAC;QAC7G,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,SAAoB;QACjD,iDAAiD;QACjD,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAW,CAAC;QAEjE,8EAA8E;QAC9E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACxF,IAAI,SAAS,KAAK,UAAU;YAC1B,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,CAAC,IAAI,4CAA4C,CAAC,CAAC;QAE7F,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,SAAS,KAAK,MAAM;YACtB,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,CAAC,IAAI,oCAAoC,CAAC,CAAC;QAErF,IAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACpE,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,KAAK,UAAU,uBAAuB,CAAC,YAAoB;IACzD,MAAM,OAAO,GAAG,eAAe,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,wCAAwC,EAAE,iBAAiB,CAAC,CAAC;IACjH,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,GAAG,CAAC;AACb,CAAC","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":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { assert } 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"]}
|