@itwin/core-backend 5.1.2 → 5.1.3-experimental.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -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.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +19 -5
- 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.d.ts +22 -2
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +31 -11
- 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/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +57 -10
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +76 -13
- 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 +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/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.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +20 -6
- 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.d.ts +22 -2
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +31 -11
- 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/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +57 -10
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +77 -14
- 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 +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/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/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 +30 -30
- 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.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 +57 -57
- 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 +326 -326
- 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/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.d.ts +2 -0
- package/lib/esm/test/hubaccess/Rebase.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/Rebase.test.js +172 -0
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -0
- package/lib/esm/test/imageData.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.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
- 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 +10 -10
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +117 -117
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelTestUtils.js","sourceRoot":"","sources":["../../../src/test/IModelTestUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { Buffer } from \"node:buffer\";\nimport * as chai from \"chai\";\nimport { assert, expect } from \"chai\";\nimport * as chaiAsPromised from \"chai-as-promised\";\nimport * as path from \"path\";\nimport { AccessToken, BeEvent, DbResult, Guid, GuidString, Id64, Id64String, IModelStatus, omit, OpenMode } from \"@itwin/core-bentley\";\nimport {\n AuxCoordSystem2dProps, Base64EncodedString, ChangesetIdWithIndex, Code, CodeProps, CodeScopeSpec, CodeSpec, ColorDef, ElementAspectProps,\n ElementProps, Environment, ExternalSourceProps, FontType, GeometricElement2dProps, GeometryParams, GeometryPartProps, GeometryStreamBuilder,\n GeometryStreamProps, ImageSourceFormat, IModel, IModelError, IModelReadRpcInterface, IModelVersion, IModelVersionProps, LocalFileName,\n PhysicalElementProps, PlanProjectionSettings, RelatedElement, RepositoryLinkProps, RequestNewBriefcaseProps, RpcConfiguration, RpcManager,\n RpcPendingResponse, SkyBoxImageType, SubCategoryAppearance, SubCategoryOverride, SyncMode,\n} from \"@itwin/core-common\";\nimport { Box, Cone, LineString3d, Point2d, Point3d, Range2d, Range3d, StandardViewIndex, Vector3d, YawPitchRollAngles } from \"@itwin/core-geometry\";\nimport { RequestNewBriefcaseArg } from \"../BriefcaseManager\";\nimport { CheckpointManager, CheckpointProps, DownloadRequest, V2CheckpointManager } from \"../CheckpointManager\";\nimport { ClassRegistry } from \"../ClassRegistry\";\nimport {\n _nativeDb, AuxCoordSystem2d, BriefcaseDb, BriefcaseLocalValue, BriefcaseManager, CategorySelector, ChannelControl, DisplayStyle2d, DisplayStyle3d, DrawingCategory,\n DrawingViewDefinition, ECSqlStatement, Element, ElementAspect, ElementOwnsChildElements, ElementOwnsMultiAspects, ElementOwnsUniqueAspect,\n ElementUniqueAspect, ExternalSource, ExternalSourceIsInRepository, FunctionalModel, FunctionalSchema, GroupModel, IModelDb, IModelHost,\n IModelJsFs, InformationPartitionElement, Model, ModelSelector, OrthographicViewDefinition, PhysicalModel, PhysicalObject,\n PhysicalPartition, RenderMaterialElement, SnapshotDb, SpatialCategory, SubCategory, SubjectOwnsPartitionElements, Texture, ViewDefinition,\n} from \"../core-backend\";\nimport { DefinitionPartition, Drawing, DrawingGraphic, GeometryPart, LinkElement, PhysicalElement, RepositoryLink, Subject } from \"../Element\";\nimport { DefinitionModel, DocumentListModel, DrawingModel, InformationRecordModel, SpatialLocationModel } from \"../Model\";\nimport { DrawingGraphicRepresentsElement, ElementDrivesElement, Relationship, RelationshipProps } from \"../Relationship\";\nimport { DownloadAndOpenArgs, RpcBriefcaseUtility } from \"../rpc-impl/RpcBriefcaseUtility\";\nimport { Schema, Schemas } from \"../Schema\";\nimport { HubMock } from \"../internal/HubMock\";\nimport { KnownTestLocations } from \"./KnownTestLocations\";\nimport { BackendHubAccess } from \"../BackendHubAccess\";\nimport { _hubAccess } from \"../internal/Symbols\";\n\nchai.use(chaiAsPromised);\n\n/* eslint-disable @typescript-eslint/explicit-member-accessibility */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\nRpcConfiguration.developmentMode = true;\n\n// Initialize the RPC interface classes used by tests\nRpcManager.initializeInterface(IModelReadRpcInterface);\n\nexport interface IModelTestUtilsOpenOptions {\n copyFilename?: string;\n enableTransactions?: boolean;\n openMode?: OpenMode;\n}\n\nexport class TestBim extends Schema {\n public static override get schemaName(): string { return \"TestBim\"; }\n\n}\nexport interface TestRelationshipProps extends RelationshipProps {\n property1: string;\n}\nexport class TestElementDrivesElement extends ElementDrivesElement {\n public static override get className(): string { return \"TestElementDrivesElement\"; }\n declare public property1: string;\n public static rootChanged = new BeEvent<(props: RelationshipProps, imodel: IModelDb) => void>();\n public static deletedDependency = new BeEvent<(props: RelationshipProps, imodel: IModelDb) => void>();\n public static override onRootChanged(props: RelationshipProps, imodel: IModelDb): void { this.rootChanged.raiseEvent(props, imodel); }\n public static override onDeletedDependency(props: RelationshipProps, imodel: IModelDb): void { this.deletedDependency.raiseEvent(props, imodel); }\n}\nexport interface TestPhysicalObjectProps extends PhysicalElementProps {\n intProperty: number;\n}\nexport class TestPhysicalObject extends PhysicalElement {\n public static override get className(): string { return \"TestPhysicalObject\"; }\n declare public intProperty: number;\n public static beforeOutputsHandled = new BeEvent<(id: Id64String, imodel: IModelDb) => void>();\n public static allInputsHandled = new BeEvent<(id: Id64String, imodel: IModelDb) => void>();\n public static override onBeforeOutputsHandled(id: Id64String, imodel: IModelDb): void { this.beforeOutputsHandled.raiseEvent(id, imodel); }\n public static override onAllInputsHandled(id: Id64String, imodel: IModelDb): void { this.allInputsHandled.raiseEvent(id, imodel); }\n}\n\n/** the types of users available for tests */\nexport enum TestUserType {\n Regular,\n Manager,\n Super,\n SuperManager\n}\n\n/** A wrapper around the BackendHubAccess API through IModelHost[_hubAccess].\n *\n * All methods in this class should be usable with any BackendHubAccess implementation (i.e. HubMock and IModelHubBackend).\n */\nexport class HubWrappers {\n protected static get hubMock() { return HubMock; }\n\n public static async getAccessToken(user: TestUserType) {\n return TestUserType[user];\n }\n\n /** Create an iModel with the name provided if it does not already exist. If it does exist, the iModelId is returned. */\n public static async createIModel(accessToken: AccessToken, iTwinId: GuidString, iModelName: string): Promise<GuidString> {\n assert.isTrue(this.hubMock.isValid, \"Must use HubMock for tests that modify iModels\");\n let iModelId = await IModelHost[_hubAccess].queryIModelByName({ accessToken, iTwinId, iModelName });\n if (!iModelId)\n iModelId = await IModelHost[_hubAccess].createNewIModel({ accessToken, iTwinId, iModelName, description: `Description for iModel` });\n return iModelId;\n }\n\n /** Deletes and re-creates an iModel with the provided name in the iTwin.\n * @returns the iModelId of the newly created iModel.\n */\n public static async recreateIModel(...[arg]: Parameters<BackendHubAccess[\"createNewIModel\"]>): Promise<GuidString> {\n assert.isTrue(this.hubMock.isValid, \"Must use HubMock for tests that modify iModels\");\n const deleteIModel = await IModelHost[_hubAccess].queryIModelByName(arg);\n if (undefined !== deleteIModel)\n await IModelHost[_hubAccess].deleteIModel({ accessToken: arg.accessToken, iTwinId: arg.iTwinId, iModelId: deleteIModel });\n\n // Create a new iModel\n return IModelHost[_hubAccess].createNewIModel({ description: `Description for ${arg.iModelName}`, ...arg });\n }\n\n /** Delete an IModel from the hub */\n public static async deleteIModel(accessToken: AccessToken, iTwinId: string, iModelName: string): Promise<void> {\n const iModelId = await IModelHost[_hubAccess].queryIModelByName({ accessToken, iTwinId, iModelName });\n if (undefined === iModelId)\n return;\n\n await IModelHost[_hubAccess].deleteIModel({ accessToken, iTwinId, iModelId });\n }\n\n /** Push an iModel to the Hub */\n public static async pushIModel(accessToken: AccessToken, iTwinId: string, pathname: string, iModelName?: string, overwrite?: boolean): Promise<GuidString> {\n // Delete any existing iModels with the same name as the required iModel\n const locIModelName = iModelName || path.basename(pathname, \".bim\");\n const iModelId = await IModelHost[_hubAccess].queryIModelByName({ accessToken, iTwinId, iModelName: locIModelName });\n if (iModelId) {\n if (!overwrite)\n return iModelId;\n await IModelHost[_hubAccess].deleteIModel({ accessToken, iTwinId, iModelId });\n }\n\n // Upload a new iModel\n return IModelHost[_hubAccess].createNewIModel({ accessToken, iTwinId, iModelName: locIModelName, version0: pathname });\n }\n\n /** Helper to open a briefcase db directly with the BriefcaseManager API */\n public static async downloadAndOpenBriefcase(args: RequestNewBriefcaseArg & { noLock?: true }): Promise<BriefcaseDb> {\n const props = await BriefcaseManager.downloadBriefcase(args);\n if (args.noLock) {\n const briefcase = await BriefcaseDb.open({ fileName: props.fileName });\n briefcase[_nativeDb].saveLocalValue(BriefcaseLocalValue.NoLocking, \"true\");\n briefcase.saveChanges();\n briefcase.close();\n }\n return BriefcaseDb.open({ fileName: props.fileName });\n }\n\n /** Opens the specific iModel as a Briefcase through the same workflow the IModelReadRpc.getConnectionProps method will use. Replicates the way a frontend would open the iModel. */\n public static async openBriefcaseUsingRpc(args: RequestNewBriefcaseProps & { accessToken: AccessToken, deleteFirst?: boolean }): Promise<BriefcaseDb> {\n if (undefined === args.asOf)\n args.asOf = IModelVersion.latest().toJSON();\n\n const openArgs: DownloadAndOpenArgs = {\n tokenProps: {\n iTwinId: args.iTwinId,\n iModelId: args.iModelId,\n changeset: (await IModelHost[_hubAccess].getChangesetFromVersion({ accessToken: args.accessToken, version: IModelVersion.fromJSON(args.asOf), iModelId: args.iModelId })),\n },\n activity: { accessToken: args.accessToken, activityId: \"\", applicationId: \"\", applicationVersion: \"\", sessionId: \"\" },\n syncMode: args.briefcaseId === 0 ? SyncMode.PullOnly : SyncMode.PullAndPush,\n forceDownload: args.deleteFirst,\n };\n\n assert.isTrue(this.hubMock.isValid || openArgs.syncMode === SyncMode.PullOnly, \"use HubMock to acquire briefcases\");\n while (true) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return (await RpcBriefcaseUtility.open(openArgs)) as BriefcaseDb;\n } catch (error) {\n if (!(error instanceof RpcPendingResponse))\n throw error;\n }\n }\n }\n\n /** Downloads a checkpoint and opens it as a SnapShotDb */\n public static async downloadAndOpenCheckpoint(args: { accessToken: AccessToken, iTwinId: GuidString, iModelId: GuidString, asOf?: IModelVersionProps }): Promise<SnapshotDb> {\n if (undefined === args.asOf)\n args.asOf = IModelVersion.latest().toJSON();\n\n const checkpoint: CheckpointProps = {\n iTwinId: args.iTwinId,\n iModelId: args.iModelId,\n accessToken: args.accessToken,\n changeset: (await IModelHost[_hubAccess].getChangesetFromVersion({ accessToken: args.accessToken, version: IModelVersion.fromJSON(args.asOf), iModelId: args.iModelId })),\n };\n\n const folder = path.join(V2CheckpointManager.getFolder(), checkpoint.iModelId);\n const filename = path.join(folder, `${checkpoint.changeset.id === \"\" ? \"first\" : checkpoint.changeset.id}.bim`);\n const request: DownloadRequest = { checkpoint, localFile: filename };\n let db = SnapshotDb.tryFindByKey(CheckpointManager.getKey(request.checkpoint));\n if (undefined !== db)\n return db;\n db = IModelTestUtils.tryOpenLocalFile(request);\n if (db)\n return db;\n await V2CheckpointManager.downloadCheckpoint(request);\n await CheckpointManager.updateToRequestedVersion(request);\n return IModelTestUtils.openCheckpoint(request.localFile, request.checkpoint);\n }\n\n /** Opens the specific Checkpoint iModel, `SyncMode.FixedVersion`, through the same workflow the IModelReadRpc.getConnectionProps method will use. Replicates the way a frontend would open the iModel. */\n public static async openCheckpointUsingRpc(args: RequestNewBriefcaseProps & { accessToken: AccessToken, deleteFirst?: boolean }): Promise<IModelDb> {\n if (undefined === args.asOf)\n args.asOf = IModelVersion.latest().toJSON();\n\n const changeset = await IModelHost[_hubAccess].getChangesetFromVersion({ accessToken: args.accessToken, version: IModelVersion.fromJSON(args.asOf), iModelId: args.iModelId });\n const openArgs = {\n tokenProps: {\n iTwinId: args.iTwinId,\n iModelId: args.iModelId,\n changeset,\n },\n activity: { accessToken: args.accessToken, activityId: \"\", applicationId: \"\", applicationVersion: \"\", sessionId: \"\" },\n syncMode: SyncMode.FixedVersion as const,\n forceDownload: args.deleteFirst,\n };\n\n while (true) {\n try {\n return (await RpcBriefcaseUtility.open(openArgs));\n } catch (error) {\n if (!(error instanceof RpcPendingResponse))\n throw error;\n }\n }\n }\n\n /**\n * Purges all acquired briefcases for the specified iModel (and user), if the specified threshold of acquired briefcases is exceeded\n */\n public static async purgeAcquiredBriefcasesById(accessToken: AccessToken, iModelId: GuidString, onReachThreshold: () => void = () => { }, acquireThreshold: number = 16): Promise<void> {\n const briefcases = await IModelHost[_hubAccess].getMyBriefcaseIds({ accessToken, iModelId });\n if (briefcases.length > acquireThreshold) {\n if (undefined !== onReachThreshold)\n onReachThreshold();\n\n const promises: Promise<void>[] = [];\n briefcases.forEach((briefcaseId) => {\n promises.push(IModelHost[_hubAccess].releaseBriefcase({ accessToken, iModelId, briefcaseId }));\n });\n await Promise.all(promises);\n }\n }\n\n public static async closeAndDeleteBriefcaseDb(accessToken: AccessToken, briefcaseDb: IModelDb) {\n const fileName = briefcaseDb.pathName;\n const iModelId = briefcaseDb.iModelId;\n briefcaseDb.close();\n\n await BriefcaseManager.deleteBriefcaseFiles(fileName, accessToken);\n\n // try to clean up empty briefcase directories, and empty iModel directories.\n if (0 === BriefcaseManager.getCachedBriefcases(iModelId).length) {\n IModelJsFs.removeSync(BriefcaseManager.getBriefcaseBasePath(iModelId));\n const imodelPath = BriefcaseManager.getIModelPath(iModelId);\n if (0 === IModelJsFs.readdirSync(imodelPath).length) {\n IModelJsFs.removeSync(imodelPath);\n }\n }\n }\n}\n\nexport class IModelTestUtils {\n\n\n protected static get knownTestLocations(): { outputDir: string, assetsDir: string } { return KnownTestLocations; }\n\n /** Generate a name for an iModel that's unique using the baseName provided and appending a new GUID. */\n public static generateUniqueName(baseName: string) {\n return `${baseName} - ${Guid.createValue()}`;\n }\n\n\n public static openCheckpoint(fileName: LocalFileName, checkpoint: CheckpointProps) {\n const snapshot = SnapshotDb.openFile(fileName, { key: CheckpointManager.getKey(checkpoint) });\n (snapshot as any)._iTwinId = checkpoint.iTwinId;\n return snapshot;\n }\n\n /** try to open an existing local file to satisfy a download request */\n public static tryOpenLocalFile(request: DownloadRequest): SnapshotDb | undefined {\n const checkpoint = request.checkpoint;\n if (CheckpointManager.verifyCheckpoint(checkpoint, request.localFile))\n return this.openCheckpoint(request.localFile, checkpoint);\n\n return undefined;\n }\n\n /** Prepare for an output file by:\n * - Resolving the output file name under the known test output directory\n * - Making directories as necessary\n * - Removing a previous copy of the output file\n * @param subDirName Sub-directory under known test output directory. Should match the name of the test file minus the .test.ts file extension.\n * @param fileName Name of output fille\n */\n public static prepareOutputFile(subDirName: string, fileName: string): LocalFileName {\n if (!IModelJsFs.existsSync(this.knownTestLocations.outputDir))\n IModelJsFs.mkdirSync(this.knownTestLocations.outputDir);\n\n const outputDir = path.join(this.knownTestLocations.outputDir, subDirName);\n if (!IModelJsFs.existsSync(outputDir))\n IModelJsFs.mkdirSync(outputDir);\n\n const outputFile = path.join(outputDir, fileName);\n if (IModelJsFs.existsSync(outputFile))\n IModelJsFs.unlinkSync(outputFile);\n\n return outputFile;\n }\n\n /** Resolve an asset file path from the asset name by looking in the known assets directory */\n public static resolveAssetFile(assetName: string): LocalFileName {\n const assetFile = path.join(this.knownTestLocations.assetsDir, assetName);\n assert.isTrue(IModelJsFs.existsSync(assetFile));\n return assetFile;\n }\n\n public static resolveFontFile(fontName: string): LocalFileName {\n const subDirs = [\"Karla\", \"DejaVu\", \"Sitka\"];\n const fontSubDirectory = subDirs.find((x) => fontName.startsWith(x));\n\n fontName = fontSubDirectory ? path.join(fontSubDirectory, fontName) : fontName;\n const assetName = path.join(\"Fonts\", fontName);\n return this.resolveAssetFile(assetName);\n }\n\n /** Orchestrates the steps necessary to create a new snapshot iModel from a seed file. */\n public static createSnapshotFromSeed(testFileName: string, seedFileName: LocalFileName): SnapshotDb {\n const seedDb: SnapshotDb = SnapshotDb.openFile(seedFileName);\n const testDb: SnapshotDb = SnapshotDb.createFrom(seedDb, testFileName);\n seedDb.close();\n testDb.channels.addAllowedChannel(ChannelControl.sharedChannelName);\n return testDb;\n }\n\n public static getUniqueModelCode(testDb: IModelDb, newModelCodeBase: string): Code {\n let newModelCode: string = newModelCodeBase;\n let iter: number = 0;\n while (true) {\n const modelCode = InformationPartitionElement.createCode(testDb, IModel.rootSubjectId, newModelCode);\n if (testDb.elements.queryElementIdByCode(modelCode) === undefined)\n return modelCode;\n\n newModelCode = newModelCodeBase + iter;\n ++iter;\n }\n }\n\n public static generateChangeSetId(): ChangesetIdWithIndex {\n let result = \"\";\n for (let i = 0; i < 20; ++i) {\n result += Math.floor(Math.random() * 256).toString(16).padStart(2, \"0\");\n }\n return { id: result };\n }\n\n /** Create and insert a PhysicalPartition element (in the repositoryModel) and an associated PhysicalModel. */\n public static createAndInsertPhysicalPartition(testDb: IModelDb, newModelCode: CodeProps, parentId?: Id64String): Id64String {\n const model = parentId ? testDb.elements.getElement(parentId).model : IModel.repositoryModelId;\n const parent = new SubjectOwnsPartitionElements(parentId || IModel.rootSubjectId);\n\n const modeledElementProps: ElementProps = {\n classFullName: PhysicalPartition.classFullName,\n parent,\n model,\n code: newModelCode,\n };\n const modeledElement: Element = testDb.elements.createElement(modeledElementProps);\n return testDb.elements.insertElement(modeledElement.toJSON());\n }\n\n /** Create and insert a PhysicalPartition element (in the repositoryModel) and an associated PhysicalModel. */\n public static async createAndInsertPhysicalPartitionAsync(testDb: IModelDb, newModelCode: CodeProps, parentId?: Id64String): Promise<Id64String> {\n const model = parentId ? testDb.elements.getElement(parentId).model : IModel.repositoryModelId;\n const parent = new SubjectOwnsPartitionElements(parentId || IModel.rootSubjectId);\n\n const modeledElementProps: ElementProps = {\n classFullName: PhysicalPartition.classFullName,\n parent,\n model,\n code: newModelCode,\n };\n const modeledElement = testDb.elements.createElement(modeledElementProps);\n await testDb.locks.acquireLocks({ shared: model });\n return testDb.elements.insertElement(modeledElement.toJSON());\n }\n\n /** Create and insert a PhysicalPartition element (in the repositoryModel) and an associated PhysicalModel. */\n public static createAndInsertPhysicalModel(testDb: IModelDb, modeledElementRef: RelatedElement, privateModel: boolean = false): Id64String {\n const newModel = testDb.models.createModel({ modeledElement: modeledElementRef, classFullName: PhysicalModel.classFullName, isPrivate: privateModel });\n const newModelId = newModel.id = testDb.models.insertModel(newModel.toJSON());\n assert.isTrue(Id64.isValidId64(newModelId));\n assert.isTrue(Id64.isValidId64(newModel.id));\n assert.deepEqual(newModelId, newModel.id);\n return newModelId;\n }\n\n /** Create and insert a PhysicalPartition element (in the repositoryModel) and an associated PhysicalModel. */\n public static async createAndInsertPhysicalModelAsync(testDb: IModelDb, modeledElementRef: RelatedElement, privateModel: boolean = false): Promise<Id64String> {\n const newModel = testDb.models.createModel({ modeledElement: modeledElementRef, classFullName: PhysicalModel.classFullName, isPrivate: privateModel });\n const newModelId = newModel.insert();\n assert.isTrue(Id64.isValidId64(newModelId));\n assert.isTrue(Id64.isValidId64(newModel.id));\n assert.deepEqual(newModelId, newModel.id);\n return newModelId;\n }\n\n /**\n * Create and insert a PhysicalPartition element (in the repositoryModel) and an associated PhysicalModel.\n * @return [modeledElementId, modelId]\n */\n public static createAndInsertPhysicalPartitionAndModel(testImodel: IModelDb, newModelCode: CodeProps, privateModel: boolean = false, parent?: Id64String): Id64String[] {\n const eid = IModelTestUtils.createAndInsertPhysicalPartition(testImodel, newModelCode, parent);\n const modeledElementRef = new RelatedElement({ id: eid });\n const mid = IModelTestUtils.createAndInsertPhysicalModel(testImodel, modeledElementRef, privateModel);\n return [eid, mid];\n }\n\n /**\n * Create and insert a PhysicalPartition element (in the repositoryModel) and an associated PhysicalModel.\n * @return [modeledElementId, modelId]\n */\n public static async createAndInsertPhysicalPartitionAndModelAsync(testImodel: IModelDb, newModelCode: CodeProps, privateModel: boolean = false, parentId?: Id64String): Promise<Id64String[]> {\n const eid = await IModelTestUtils.createAndInsertPhysicalPartitionAsync(testImodel, newModelCode, parentId);\n const modeledElementRef = new RelatedElement({ id: eid });\n const mid = await IModelTestUtils.createAndInsertPhysicalModelAsync(testImodel, modeledElementRef, privateModel);\n return [eid, mid];\n }\n\n /** Create and insert a Drawing Partition element (in the repositoryModel). */\n public static createAndInsertDrawingPartition(testDb: IModelDb, newModelCode: CodeProps, parentId?: Id64String): Id64String {\n const model = parentId ? testDb.elements.getElement(parentId).model : IModel.repositoryModelId;\n const parent = new SubjectOwnsPartitionElements(parentId || IModel.rootSubjectId);\n\n const modeledElementProps: ElementProps = {\n classFullName: Drawing.classFullName,\n parent,\n model,\n code: newModelCode,\n };\n const modeledElement: Element = testDb.elements.createElement(modeledElementProps);\n return testDb.elements.insertElement(modeledElement.toJSON());\n }\n\n /** Create and insert a DrawingModel associated with Drawing Partition. */\n public static createAndInsertDrawingModel(testDb: IModelDb, modeledElementRef: RelatedElement, privateModel: boolean = false): Id64String {\n const newModel = testDb.models.createModel({ modeledElement: modeledElementRef, classFullName: DrawingModel.classFullName, isPrivate: privateModel });\n const newModelId = newModel.insert();\n assert.isTrue(Id64.isValidId64(newModelId));\n assert.isTrue(Id64.isValidId64(newModel.id));\n assert.deepEqual(newModelId, newModel.id);\n return newModelId;\n }\n\n /**\n * Create and insert a Drawing Partition element (in the repositoryModel) and an associated DrawingModel.\n * @return [modeledElementId, modelId]\n */\n public static createAndInsertDrawingPartitionAndModel(testImodel: IModelDb, newModelCode: CodeProps, privateModel: boolean = false, parent?: Id64String): Id64String[] {\n const eid = IModelTestUtils.createAndInsertDrawingPartition(testImodel, newModelCode, parent);\n const modeledElementRef = new RelatedElement({ id: eid });\n const mid = IModelTestUtils.createAndInsertDrawingModel(testImodel, modeledElementRef, privateModel);\n return [eid, mid];\n }\n\n public static getUniqueSpatialCategoryCode(scopeModel: Model, newCodeBaseValue: string): Code {\n let newCodeValue: string = newCodeBaseValue;\n let iter: number = 0;\n while (true) {\n if (SpatialCategory.queryCategoryIdByName(scopeModel.iModel, scopeModel.id, newCodeValue) === undefined)\n return SpatialCategory.createCode(scopeModel.iModel, scopeModel.id, newCodeValue);\n\n newCodeValue = newCodeBaseValue + iter;\n ++iter;\n }\n }\n\n // Create a PhysicalObject. (Does not insert it.)\n public static createPhysicalObject(testImodel: IModelDb, modelId: Id64String, categoryId: Id64String, elemCode?: Code): Element {\n const elementProps: PhysicalElementProps = {\n classFullName: \"Generic:PhysicalObject\",\n model: modelId,\n category: categoryId,\n code: elemCode ? elemCode : Code.createEmpty(),\n };\n return testImodel.elements.createElement(elementProps);\n }\n\n public static registerTestBimSchema() {\n if (undefined === Schemas.getRegisteredSchema(TestBim.schemaName)) {\n Schemas.registerSchema(TestBim);\n ClassRegistry.register(TestPhysicalObject, TestBim);\n ClassRegistry.register(TestElementDrivesElement, TestBim);\n }\n }\n\n public static executeQuery(db: IModelDb, ecsql: string, bindings?: any[] | object): any[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return db.withPreparedStatement(ecsql, (stmt) => {\n if (bindings)\n stmt.bindValues(bindings);\n\n const rows: any[] = [];\n while (DbResult.BE_SQLITE_ROW === stmt.step()) {\n rows.push(stmt.getRow());\n if (rows.length > IModelDb.maxLimit)\n throw new IModelError(IModelStatus.BadRequest, \"Max LIMIT exceeded in SELECT statement\");\n }\n\n return rows;\n });\n }\n\n public static createJobSubjectElement(iModel: IModelDb, name: string): Subject {\n const subj = Subject.create(iModel, iModel.elements.getRootSubject().id, name);\n subj.setJsonProperty(\"Subject\", { Job: name }); // eslint-disable-line @typescript-eslint/naming-convention\n return subj;\n }\n\n /** Flushes the Txns in the TxnTable - this allows importing of schemas */\n public static flushTxns(iModelDb: IModelDb): boolean {\n iModelDb[_nativeDb].deleteAllTxns();\n return true;\n }\n\n public static querySubjectId(iModelDb: IModelDb, subjectCodeValue: string): Id64String {\n const subjectId = iModelDb.elements.queryElementIdByCode(Subject.createCode(iModelDb, IModel.rootSubjectId, subjectCodeValue))!;\n assert.isTrue(Id64.isValidId64(subjectId));\n return subjectId;\n }\n\n public static queryDefinitionPartitionId(iModelDb: IModelDb, parentSubjectId: Id64String, suffix: string): Id64String {\n const partitionCode: Code = DefinitionPartition.createCode(iModelDb, parentSubjectId, `Definition${suffix}`);\n const partitionId = iModelDb.elements.queryElementIdByCode(partitionCode)!;\n assert.isTrue(Id64.isValidId64(partitionId));\n return partitionId;\n }\n\n public static querySpatialCategoryId(iModelDb: IModelDb, modelId: Id64String, suffix: string): Id64String {\n const categoryCode: Code = SpatialCategory.createCode(iModelDb, modelId, `SpatialCategory${suffix}`);\n const categoryId = iModelDb.elements.queryElementIdByCode(categoryCode)!;\n assert.isTrue(Id64.isValidId64(categoryId));\n return categoryId;\n }\n\n public static queryPhysicalPartitionId(iModelDb: IModelDb, parentSubjectId: Id64String, suffix: string): Id64String {\n const partitionCode: Code = PhysicalPartition.createCode(iModelDb, parentSubjectId, `Physical${suffix}`);\n const partitionId = iModelDb.elements.queryElementIdByCode(partitionCode)!;\n assert.isTrue(Id64.isValidId64(partitionId));\n return partitionId;\n }\n\n public static queryPhysicalElementId(iModelDb: IModelDb, modelId: Id64String, categoryId: Id64String, suffix: string): Id64String {\n const elementId = IModelTestUtils.queryByUserLabel(iModelDb, `PhysicalObject${suffix}`);\n assert.isTrue(Id64.isValidId64(elementId));\n const element: PhysicalElement = iModelDb.elements.getElement<PhysicalElement>(elementId);\n assert.equal(element.model, modelId);\n assert.equal(element.category, categoryId);\n return elementId;\n }\n\n public static insertSpatialCategory(iModelDb: IModelDb, modelId: Id64String, categoryName: string, color: ColorDef): Id64String {\n const appearance: SubCategoryAppearance.Props = {\n color: color.toJSON(),\n transp: 0,\n invisible: false,\n };\n return SpatialCategory.insert(iModelDb, modelId, categoryName, appearance);\n }\n\n public static createBoxes(subCategoryIds: Id64String[]): GeometryStreamProps {\n const length = 1.0;\n const entryOrigin = Point3d.createZero();\n const geometryStreamBuilder = new GeometryStreamBuilder();\n geometryStreamBuilder.appendGeometry(Box.createDgnBox(\n entryOrigin, Vector3d.unitX(), Vector3d.unitY(), new Point3d(0, 0, length),\n length, length, length, length, true,\n )!);\n for (const subCategoryId of subCategoryIds) {\n entryOrigin.addInPlace({ x: 1, y: 1, z: 1 });\n geometryStreamBuilder.appendSubCategoryChange(subCategoryId);\n geometryStreamBuilder.appendGeometry(Box.createDgnBox(\n entryOrigin, Vector3d.unitX(), Vector3d.unitY(), new Point3d(0, 0, length),\n length, length, length, length, true,\n )!);\n }\n return geometryStreamBuilder.geometryStream;\n }\n\n public static createBox(size: Point3d, categoryId?: Id64String, subCategoryId?: Id64String, renderMaterialId?: Id64String, geometryPartId?: Id64String): GeometryStreamProps {\n const geometryStreamBuilder = new GeometryStreamBuilder();\n if ((undefined !== categoryId) && (undefined !== subCategoryId)) {\n geometryStreamBuilder.appendSubCategoryChange(subCategoryId);\n if (undefined !== renderMaterialId) {\n const geometryParams = new GeometryParams(categoryId, subCategoryId);\n geometryParams.materialId = renderMaterialId;\n geometryStreamBuilder.appendGeometryParamsChange(geometryParams);\n }\n }\n geometryStreamBuilder.appendGeometry(Box.createDgnBox(\n Point3d.createZero(), Vector3d.unitX(), Vector3d.unitY(), new Point3d(0, 0, size.z),\n size.x, size.y, size.x, size.y, true,\n )!);\n if (undefined !== geometryPartId) {\n geometryStreamBuilder.appendGeometryPart3d(geometryPartId);\n }\n return geometryStreamBuilder.geometryStream;\n }\n\n public static createCylinder(radius: number): GeometryStreamProps {\n const pointA = Point3d.create(0, 0, 0);\n const pointB = Point3d.create(0, 0, 2 * radius);\n const cylinder = Cone.createBaseAndTarget(pointA, pointB, Vector3d.unitX(), Vector3d.unitY(), radius, radius, true);\n const geometryStreamBuilder = new GeometryStreamBuilder();\n geometryStreamBuilder.appendGeometry(cylinder);\n return geometryStreamBuilder.geometryStream;\n }\n\n public static createRectangle(size: Point2d): GeometryStreamProps {\n const geometryStreamBuilder = new GeometryStreamBuilder();\n geometryStreamBuilder.appendGeometry(LineString3d.createPoints([\n new Point3d(0, 0),\n new Point3d(size.x, 0),\n new Point3d(size.x, size.y),\n new Point3d(0, size.y),\n new Point3d(0, 0),\n ]));\n return geometryStreamBuilder.geometryStream;\n }\n\n public static insertTextureElement(iModelDb: IModelDb, modelId: Id64String, textureName: string): Id64String {\n // This is an encoded png containing a 3x3 square with white in top left pixel, blue in middle pixel, and green in bottom right pixel. The rest of the square is red.\n const pngData = [137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 3, 0, 0, 0, 3, 8, 2, 0, 0, 0, 217, 74, 34, 232, 0, 0, 0, 1, 115, 82, 71, 66, 0, 174, 206, 28, 233, 0, 0, 0, 4, 103, 65, 77, 65, 0, 0, 177, 143, 11, 252, 97, 5, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 14, 195, 0, 0, 14, 195, 1, 199, 111, 168, 100, 0, 0, 0, 24, 73, 68, 65, 84, 24, 87, 99, 248, 15, 4, 12, 12, 64, 4, 198, 64, 46, 132, 5, 162, 254, 51, 0, 0, 195, 90, 10, 246, 127, 175, 154, 145, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130];\n const textureData = Buffer.from(pngData).toString(\"base64\");\n return Texture.insertTexture(iModelDb, modelId, textureName, ImageSourceFormat.Png, textureData, `Description for ${textureName}`);\n }\n\n public static queryByUserLabel(iModelDb: IModelDb, userLabel: string): Id64String {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return iModelDb.withPreparedStatement(`SELECT ECInstanceId FROM ${Element.classFullName} WHERE UserLabel=:userLabel`, (statement: ECSqlStatement): Id64String => {\n statement.bindString(\"userLabel\", userLabel);\n return DbResult.BE_SQLITE_ROW === statement.step() ? statement.getValue(0).getId() : Id64.invalid;\n });\n }\n\n public static queryByCodeValue(iModelDb: IModelDb, codeValue: string): Id64String {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return iModelDb.withPreparedStatement(`SELECT ECInstanceId FROM ${Element.classFullName} WHERE CodeValue=:codeValue`, (statement: ECSqlStatement): Id64String => {\n statement.bindString(\"codeValue\", codeValue);\n return DbResult.BE_SQLITE_ROW === statement.step() ? statement.getValue(0).getId() : Id64.invalid;\n });\n }\n\n public static insertRepositoryLink(iModelDb: IModelDb, codeValue: string, url: string, format: string): Id64String {\n const repositoryLinkProps: RepositoryLinkProps = {\n classFullName: RepositoryLink.classFullName,\n model: IModel.repositoryModelId,\n code: LinkElement.createCode(iModelDb, IModel.repositoryModelId, codeValue),\n url,\n format,\n };\n return iModelDb.elements.insertElement(repositoryLinkProps);\n }\n\n public static insertExternalSource(iModelDb: IModelDb, repositoryId: Id64String, userLabel: string): Id64String {\n const externalSourceProps: ExternalSourceProps = {\n classFullName: ExternalSource.classFullName,\n model: IModel.repositoryModelId,\n code: Code.createEmpty(),\n userLabel,\n repository: new ExternalSourceIsInRepository(repositoryId),\n connectorName: \"Connector\",\n connectorVersion: \"0.0.1\",\n };\n return iModelDb.elements.insertElement(externalSourceProps);\n }\n\n public static dumpIModelInfo(iModelDb: IModelDb): void {\n const outputFileName: string = `${iModelDb.pathName}.info.txt`;\n if (IModelJsFs.existsSync(outputFileName)) {\n IModelJsFs.removeSync(outputFileName);\n }\n IModelJsFs.appendFileSync(outputFileName, `${iModelDb.pathName}\\n`);\n IModelJsFs.appendFileSync(outputFileName, \"\\n=== CodeSpecs ===\\n\");\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT ECInstanceId,Name FROM BisCore:CodeSpec ORDER BY ECInstanceId`, (statement: ECSqlStatement): void => {\n while (DbResult.BE_SQLITE_ROW === statement.step()) {\n const codeSpecId = statement.getValue(0).getId();\n const codeSpecName: string = statement.getValue(1).getString();\n IModelJsFs.appendFileSync(outputFileName, `${codeSpecId}, ${codeSpecName}\\n`);\n }\n });\n IModelJsFs.appendFileSync(outputFileName, \"\\n=== Schemas ===\\n\");\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT Name FROM ECDbMeta.ECSchemaDef ORDER BY ECInstanceId`, (statement: ECSqlStatement): void => {\n while (DbResult.BE_SQLITE_ROW === statement.step()) {\n const schemaName: string = statement.getValue(0).getString();\n IModelJsFs.appendFileSync(outputFileName, `${schemaName}\\n`);\n }\n });\n IModelJsFs.appendFileSync(outputFileName, \"\\n=== Models ===\\n\");\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT ECInstanceId FROM ${Model.classFullName} ORDER BY ECInstanceId`, (statement: ECSqlStatement): void => {\n while (DbResult.BE_SQLITE_ROW === statement.step()) {\n const modelId = statement.getValue(0).getId();\n const model: Model = iModelDb.models.getModel(modelId);\n IModelJsFs.appendFileSync(outputFileName, `${modelId}, ${model.name}, ${model.parentModel}, ${model.classFullName}\\n`);\n }\n });\n IModelJsFs.appendFileSync(outputFileName, \"\\n=== ViewDefinitions ===\\n\");\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT ECInstanceId FROM ${ViewDefinition.classFullName} ORDER BY ECInstanceId`, (statement: ECSqlStatement): void => {\n while (DbResult.BE_SQLITE_ROW === statement.step()) {\n const viewDefinitionId = statement.getValue(0).getId();\n const viewDefinition: ViewDefinition = iModelDb.elements.getElement<ViewDefinition>(viewDefinitionId);\n IModelJsFs.appendFileSync(outputFileName, `${viewDefinitionId}, ${viewDefinition.code.value}, ${viewDefinition.classFullName}\\n`);\n }\n });\n IModelJsFs.appendFileSync(outputFileName, \"\\n=== Elements ===\\n\");\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT COUNT(*) FROM ${Element.classFullName}`, (statement: ECSqlStatement): void => {\n if (DbResult.BE_SQLITE_ROW === statement.step()) {\n const count: number = statement.getValue(0).getInteger();\n IModelJsFs.appendFileSync(outputFileName, `Count of ${Element.classFullName}=${count}\\n`);\n }\n });\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT COUNT(*) FROM ${PhysicalObject.classFullName}`, (statement: ECSqlStatement): void => {\n if (DbResult.BE_SQLITE_ROW === statement.step()) {\n const count: number = statement.getValue(0).getInteger();\n IModelJsFs.appendFileSync(outputFileName, `Count of ${PhysicalObject.classFullName}=${count}\\n`);\n }\n });\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iModelDb.withPreparedStatement(`SELECT COUNT(*) FROM ${GeometryPart.classFullName}`, (statement: ECSqlStatement): void => {\n if (DbResult.BE_SQLITE_ROW === statement.step()) {\n const count: number = statement.getValue(0).getInteger();\n IModelJsFs.appendFileSync(outputFileName, `Count of ${GeometryPart.classFullName}=${count}\\n`);\n }\n });\n }\n}\n\nexport class ExtensiveTestScenario {\n static uniqueAspectGuid = Guid.createValue();\n static federationGuid3 = Guid.createValue();\n\n public static async prepareDb(sourceDb: IModelDb): Promise<void> {\n // Import desired schemas\n const sourceSchemaFileName = path.join(KnownTestLocations.assetsDir, \"ExtensiveTestScenario.ecschema.xml\");\n await sourceDb.importSchemas([FunctionalSchema.schemaFilePath, sourceSchemaFileName]);\n FunctionalSchema.registerSchema();\n }\n\n public static async populateDb(sourceDb: IModelDb): Promise<void> {\n // make sure Arial is in the font table\n const arialFontId = await sourceDb.fonts.acquireId({ name: \"Arial\", type: FontType.TrueType });\n expect(arialFontId).not.to.be.undefined;\n expect(arialFontId).greaterThan(0);\n\n // Initialize project extents\n const projectExtents = new Range3d(-1000, -1000, -1000, 1000, 1000, 1000);\n sourceDb.updateProjectExtents(projectExtents);\n // Insert CodeSpecs\n const codeSpecId1 = sourceDb.codeSpecs.insert(\"SourceCodeSpec\", CodeScopeSpec.Type.Model);\n const codeSpecId2 = sourceDb.codeSpecs.insert(\"ExtraCodeSpec\", CodeScopeSpec.Type.ParentElement);\n const codeSpecId3 = sourceDb.codeSpecs.insert(\"InformationRecords\", CodeScopeSpec.Type.Model);\n assert.isTrue(Id64.isValidId64(codeSpecId1));\n assert.isTrue(Id64.isValidId64(codeSpecId2));\n assert.isTrue(Id64.isValidId64(codeSpecId3));\n // Insert RepositoryModel structure\n const subjectId = Subject.insert(sourceDb, IModel.rootSubjectId, \"Subject\", \"Subject Description\");\n assert.isTrue(Id64.isValidId64(subjectId));\n const sourceOnlySubjectId = Subject.insert(sourceDb, IModel.rootSubjectId, \"Only in Source\");\n assert.isTrue(Id64.isValidId64(sourceOnlySubjectId));\n const definitionModelId = DefinitionModel.insert(sourceDb, subjectId, \"Definition\");\n assert.isTrue(Id64.isValidId64(definitionModelId));\n const informationModelId = InformationRecordModel.insert(sourceDb, subjectId, \"Information\");\n assert.isTrue(Id64.isValidId64(informationModelId));\n const groupModelId = GroupModel.insert(sourceDb, subjectId, \"Group\");\n assert.isTrue(Id64.isValidId64(groupModelId));\n const physicalModelId = PhysicalModel.insert(sourceDb, subjectId, \"Physical\");\n assert.isTrue(Id64.isValidId64(physicalModelId));\n const spatialLocationModelId = SpatialLocationModel.insert(sourceDb, subjectId, \"SpatialLocation\", true);\n assert.isTrue(Id64.isValidId64(spatialLocationModelId));\n const functionalModelId = FunctionalModel.insert(sourceDb, subjectId, \"Functional\");\n assert.isTrue(Id64.isValidId64(functionalModelId));\n const documentListModelId = DocumentListModel.insert(sourceDb, subjectId, \"Document\");\n assert.isTrue(Id64.isValidId64(documentListModelId));\n const drawingId = Drawing.insert(sourceDb, documentListModelId, \"Drawing\");\n assert.isTrue(Id64.isValidId64(drawingId));\n // Insert DefinitionElements\n const modelSelectorId = ModelSelector.insert(sourceDb, definitionModelId, \"SpatialModels\", [physicalModelId, spatialLocationModelId]);\n assert.isTrue(Id64.isValidId64(modelSelectorId));\n const spatialCategoryId = IModelTestUtils.insertSpatialCategory(sourceDb, definitionModelId, \"SpatialCategory\", ColorDef.green);\n assert.isTrue(Id64.isValidId64(spatialCategoryId));\n const sourcePhysicalCategoryId = IModelTestUtils.insertSpatialCategory(sourceDb, definitionModelId, \"SourcePhysicalCategory\", ColorDef.blue);\n assert.isTrue(Id64.isValidId64(sourcePhysicalCategoryId));\n const subCategoryId = SubCategory.insert(sourceDb, spatialCategoryId, \"SubCategory\", { color: ColorDef.blue.toJSON() });\n assert.isTrue(Id64.isValidId64(subCategoryId));\n const filteredSubCategoryId = SubCategory.insert(sourceDb, spatialCategoryId, \"FilteredSubCategory\", { color: ColorDef.green.toJSON() });\n assert.isTrue(Id64.isValidId64(filteredSubCategoryId));\n const drawingCategoryId = DrawingCategory.insert(sourceDb, definitionModelId, \"DrawingCategory\", new SubCategoryAppearance());\n assert.isTrue(Id64.isValidId64(drawingCategoryId));\n const spatialCategorySelectorId = CategorySelector.insert(sourceDb, definitionModelId, \"SpatialCategories\", [spatialCategoryId, sourcePhysicalCategoryId]);\n assert.isTrue(Id64.isValidId64(spatialCategorySelectorId));\n const drawingCategorySelectorId = CategorySelector.insert(sourceDb, definitionModelId, \"DrawingCategories\", [drawingCategoryId]);\n assert.isTrue(Id64.isValidId64(drawingCategorySelectorId));\n const auxCoordSystemProps: AuxCoordSystem2dProps = {\n classFullName: AuxCoordSystem2d.classFullName,\n model: definitionModelId,\n code: AuxCoordSystem2d.createCode(sourceDb, definitionModelId, \"AuxCoordSystem2d\"),\n };\n const auxCoordSystemId = sourceDb.elements.insertElement(auxCoordSystemProps);\n assert.isTrue(Id64.isValidId64(auxCoordSystemId));\n const textureId = IModelTestUtils.insertTextureElement(sourceDb, definitionModelId, \"Texture\");\n assert.isTrue(Id64.isValidId64(textureId));\n const renderMaterialId = RenderMaterialElement.insert(sourceDb, definitionModelId, \"RenderMaterial\", { paletteName: \"PaletteName\" });\n assert.isTrue(Id64.isValidId64(renderMaterialId));\n const geometryPartProps: GeometryPartProps = {\n classFullName: GeometryPart.classFullName,\n model: definitionModelId,\n code: GeometryPart.createCode(sourceDb, definitionModelId, \"GeometryPart\"),\n geom: IModelTestUtils.createBox(Point3d.create(3, 3, 3)),\n };\n const geometryPartId = sourceDb.elements.insertElement(geometryPartProps);\n assert.isTrue(Id64.isValidId64(geometryPartId));\n // Insert InformationRecords\n const informationRecordProps1 = {\n classFullName: \"ExtensiveTestScenario:SourceInformationRecord\",\n model: informationModelId,\n code: { spec: codeSpecId3, scope: informationModelId, value: \"InformationRecord1\" },\n commonString: \"Common1\",\n sourceString: \"One\",\n };\n const informationRecordId1 = sourceDb.elements.insertElement(informationRecordProps1);\n assert.isTrue(Id64.isValidId64(informationRecordId1));\n const informationRecordProps2: any = {\n classFullName: \"ExtensiveTestScenario:SourceInformationRecord\",\n model: informationModelId,\n code: { spec: codeSpecId3, scope: informationModelId, value: \"InformationRecord2\" },\n commonString: \"Common2\",\n sourceString: \"Two\",\n };\n const informationRecordId2 = sourceDb.elements.insertElement(informationRecordProps2);\n assert.isTrue(Id64.isValidId64(informationRecordId2));\n const informationRecordProps3 = {\n classFullName: \"ExtensiveTestScenario:SourceInformationRecord\",\n model: informationModelId,\n code: { spec: codeSpecId3, scope: informationModelId, value: \"InformationRecord3\" },\n commonString: \"Common3\",\n sourceString: \"Three\",\n };\n const informationRecordId3 = sourceDb.elements.insertElement(informationRecordProps3);\n assert.isTrue(Id64.isValidId64(informationRecordId3));\n // Insert PhysicalObject1\n const physicalObjectProps1: PhysicalElementProps = {\n classFullName: PhysicalObject.classFullName,\n model: physicalModelId,\n category: spatialCategoryId,\n code: Code.createEmpty(),\n userLabel: \"PhysicalObject1\",\n geom: IModelTestUtils.createBox(Point3d.create(1, 1, 1), spatialCategoryId, subCategoryId, renderMaterialId, geometryPartId),\n placement: {\n origin: Point3d.create(1, 1, 1),\n angles: YawPitchRollAngles.createDegrees(0, 0, 0),\n },\n };\n const physicalObjectId1 = sourceDb.elements.insertElement(physicalObjectProps1);\n assert.isTrue(Id64.isValidId64(physicalObjectId1));\n // Insert PhysicalObject1 children\n const childObjectProps1A: PhysicalElementProps = physicalObjectProps1;\n childObjectProps1A.userLabel = \"ChildObject1A\";\n childObjectProps1A.parent = new ElementOwnsChildElements(physicalObjectId1);\n childObjectProps1A.placement!.origin = Point3d.create(0, 1, 1);\n const childObjectId1A = sourceDb.elements.insertElement(childObjectProps1A);\n assert.isTrue(Id64.isValidId64(childObjectId1A));\n const childObjectProps1B: PhysicalElementProps = childObjectProps1A;\n childObjectProps1B.userLabel = \"ChildObject1B\";\n childObjectProps1B.placement!.origin = Point3d.create(1, 0, 1);\n const childObjectId1B = sourceDb.elements.insertElement(childObjectProps1B);\n assert.isTrue(Id64.isValidId64(childObjectId1B));\n // Insert PhysicalObject2\n const physicalObjectProps2: PhysicalElementProps = {\n classFullName: PhysicalObject.classFullName,\n model: physicalModelId,\n category: sourcePhysicalCategoryId,\n code: Code.createEmpty(),\n userLabel: \"PhysicalObject2\",\n geom: IModelTestUtils.createBox(Point3d.create(2, 2, 2)),\n placement: {\n origin: Point3d.create(2, 2, 2),\n angles: YawPitchRollAngles.createDegrees(0, 0, 0),\n },\n };\n const physicalObjectId2 = sourceDb.elements.insertElement(physicalObjectProps2);\n assert.isTrue(Id64.isValidId64(physicalObjectId2));\n // Insert PhysicalObject3\n const physicalObjectProps3: PhysicalElementProps = {\n classFullName: PhysicalObject.classFullName,\n model: physicalModelId,\n category: sourcePhysicalCategoryId,\n code: Code.createEmpty(),\n federationGuid: ExtensiveTestScenario.federationGuid3,\n userLabel: \"PhysicalObject3\",\n };\n const physicalObjectId3 = sourceDb.elements.insertElement(physicalObjectProps3);\n assert.isTrue(Id64.isValidId64(physicalObjectId3));\n // Insert PhysicalObject4\n const physicalObjectProps4: PhysicalElementProps = {\n classFullName: PhysicalObject.classFullName,\n model: physicalModelId,\n category: spatialCategoryId,\n code: Code.createEmpty(),\n userLabel: \"PhysicalObject4\",\n geom: IModelTestUtils.createBoxes([subCategoryId, filteredSubCategoryId]),\n placement: {\n origin: Point3d.create(4, 4, 4),\n angles: YawPitchRollAngles.createDegrees(0, 0, 0),\n },\n };\n const physicalObjectId4 = sourceDb.elements.insertElement(physicalObjectProps4);\n assert.isTrue(Id64.isValidId64(physicalObjectId4));\n // Insert PhysicalElement1\n const sourcePhysicalElementProps: PhysicalElementProps = {\n classFullName: \"ExtensiveTestScenario:SourcePhysicalElement\",\n model: physicalModelId,\n category: sourcePhysicalCategoryId,\n code: Code.createEmpty(),\n userLabel: \"PhysicalElement1\",\n geom: IModelTestUtils.createBox(Point3d.create(2, 2, 2)),\n placement: {\n origin: Point3d.create(4, 4, 4),\n angles: YawPitchRollAngles.createDegrees(0, 0, 0),\n },\n sourceString: \"S1\",\n sourceDouble: 1.1,\n sourceNavigation: { id: sourcePhysicalCategoryId, relClassName: \"ExtensiveTestScenario:SourcePhysicalElementUsesSourceDefinition\" },\n commonNavigation: { id: sourcePhysicalCategoryId },\n commonString: \"Common\",\n commonDouble: 7.3,\n sourceBinary: new Uint8Array([1, 3, 5, 7]),\n commonBinary: Base64EncodedString.fromUint8Array(new Uint8Array([2, 4, 6, 8])),\n extraString: \"Extra\",\n } as PhysicalElementProps;\n const sourcePhysicalElementId = sourceDb.elements.insertElement(sourcePhysicalElementProps);\n assert.isTrue(Id64.isValidId64(sourcePhysicalElementId));\n assert.doesNotThrow(() => sourceDb.elements.getElement(sourcePhysicalElementId));\n // Insert ElementAspects\n const aspectProps = {\n classFullName: \"ExtensiveTestScenario:SourceUniqueAspect\",\n element: new ElementOwnsUniqueAspect(physicalObjectId1),\n commonDouble: 1.1,\n commonString: \"Unique\",\n commonLong: physicalObjectId1,\n commonBinary: Base64EncodedString.fromUint8Array(new Uint8Array([2, 4, 6, 8])),\n sourceDouble: 11.1,\n sourceString: \"UniqueAspect\",\n sourceLong: physicalObjectId1,\n sourceGuid: ExtensiveTestScenario.uniqueAspectGuid,\n extraString: \"Extra\",\n } as const;\n sourceDb.elements.insertAspect(aspectProps);\n const sourceUniqueAspect: ElementUniqueAspect = sourceDb.elements.getAspects(physicalObjectId1, \"ExtensiveTestScenario:SourceUniqueAspect\")[0];\n expect(sourceUniqueAspect).to.deep.subsetEqual(omit(aspectProps, [\"commonBinary\"]), { normalizeClassNameProps: true });\n sourceDb.elements.insertAspect({\n classFullName: \"ExtensiveTestScenario:SourceMultiAspect\",\n element: new ElementOwnsMultiAspects(physicalObjectId1),\n commonDouble: 2.2,\n commonString: \"Multi\",\n commonLong: physicalObjectId1,\n sourceDouble: 22.2,\n sourceString: \"MultiAspect\",\n sourceLong: physicalObjectId1,\n sourceGuid: Guid.createValue(),\n extraString: \"Extra\",\n } as ElementAspectProps);\n sourceDb.elements.insertAspect({\n classFullName: \"ExtensiveTestScenario:SourceMultiAspect\",\n element: new ElementOwnsMultiAspects(physicalObjectId1),\n commonDouble: 3.3,\n commonString: \"Multi\",\n commonLong: physicalObjectId1,\n sourceDouble: 33.3,\n sourceString: \"MultiAspect\",\n sourceLong: physicalObjectId1,\n sourceGuid: Guid.createValue(),\n extraString: \"Extra\",\n } as ElementAspectProps);\n sourceDb.elements.insertAspect({\n classFullName: \"ExtensiveTestScenario:SourceUniqueAspectToExclude\",\n element: new ElementOwnsUniqueAspect(physicalObjectId1),\n description: \"SourceUniqueAspect1\",\n } as ElementAspectProps);\n sourceDb.elements.insertAspect({\n classFullName: \"ExtensiveTestScenario:SourceMultiAspectToExclude\",\n element: new ElementOwnsMultiAspects(physicalObjectId1),\n description: \"SourceMultiAspect1\",\n } as ElementAspectProps);\n // Insert DrawingGraphics\n const drawingGraphicProps1: GeometricElement2dProps = {\n classFullName: DrawingGraphic.classFullName,\n model: drawingId,\n category: drawingCategoryId,\n code: Code.createEmpty(),\n userLabel: \"DrawingGraphic1\",\n geom: IModelTestUtils.createRectangle(Point2d.create(1, 1)),\n placement: { origin: Point2d.create(2, 2), angle: 0 },\n };\n const drawingGraphicId1 = sourceDb.elements.insertElement(drawingGraphicProps1);\n assert.isTrue(Id64.isValidId64(drawingGraphicId1));\n const drawingGraphicRepresentsId1 = DrawingGraphicRepresentsElement.insert(sourceDb, drawingGraphicId1, physicalObjectId1);\n assert.isTrue(Id64.isValidId64(drawingGraphicRepresentsId1));\n const drawingGraphicProps2: GeometricElement2dProps = {\n classFullName: DrawingGraphic.classFullName,\n model: drawingId,\n category: drawingCategoryId,\n code: Code.createEmpty(),\n userLabel: \"DrawingGraphic2\",\n geom: IModelTestUtils.createRectangle(Point2d.create(1, 1)),\n placement: { origin: Point2d.create(3, 3), angle: 0 },\n };\n const drawingGraphicId2 = sourceDb.elements.insertElement(drawingGraphicProps2);\n assert.isTrue(Id64.isValidId64(drawingGraphicId2));\n const drawingGraphicRepresentsId2 = DrawingGraphicRepresentsElement.insert(sourceDb, drawingGraphicId2, physicalObjectId1);\n assert.isTrue(Id64.isValidId64(drawingGraphicRepresentsId2));\n // Insert DisplayStyles\n const displayStyle2dId = DisplayStyle2d.insert(sourceDb, definitionModelId, \"DisplayStyle2d\");\n assert.isTrue(Id64.isValidId64(displayStyle2dId));\n const displayStyle3d: DisplayStyle3d = DisplayStyle3d.create(sourceDb, definitionModelId, \"DisplayStyle3d\");\n const subCategoryOverride: SubCategoryOverride = SubCategoryOverride.fromJSON({ color: ColorDef.from(1, 2, 3).toJSON() });\n displayStyle3d.settings.overrideSubCategory(subCategoryId, subCategoryOverride);\n displayStyle3d.settings.addExcludedElements(physicalObjectId1);\n displayStyle3d.settings.setPlanProjectionSettings(spatialLocationModelId, PlanProjectionSettings.fromJSON({ elevation: 10.0 }));\n displayStyle3d.settings.environment = Environment.fromJSON({\n sky: {\n image: {\n type: SkyBoxImageType.Spherical,\n texture: textureId,\n },\n },\n });\n const displayStyle3dId = displayStyle3d.insert();\n assert.isTrue(Id64.isValidId64(displayStyle3dId));\n // Insert ViewDefinitions\n const viewId = OrthographicViewDefinition.insert(sourceDb, definitionModelId, \"Orthographic View\", modelSelectorId, spatialCategorySelectorId, displayStyle3dId, projectExtents, StandardViewIndex.Iso);\n assert.isTrue(Id64.isValidId64(viewId));\n const drawingViewRange = new Range2d(0, 0, 100, 100);\n const drawingViewId = DrawingViewDefinition.insert(sourceDb, definitionModelId, \"Drawing View\", drawingId, drawingCategorySelectorId, displayStyle2dId, drawingViewRange);\n assert.isTrue(Id64.isValidId64(drawingViewId));\n // Insert instance of SourceRelToExclude to test relationship exclusion by class\n const relationship1: Relationship = sourceDb.relationships.createInstance({\n classFullName: \"ExtensiveTestScenario:SourceRelToExclude\",\n sourceId: spatialCategorySelectorId,\n targetId: drawingCategorySelectorId,\n });\n const relationshipId1 = sourceDb.relationships.insertInstance(relationship1.toJSON());\n assert.isTrue(Id64.isValidId64(relationshipId1));\n // Insert instance of RelWithProps to test relationship property remapping\n const relationship2: Relationship = sourceDb.relationships.createInstance({\n classFullName: \"ExtensiveTestScenario:SourceRelWithProps\",\n sourceId: spatialCategorySelectorId,\n targetId: drawingCategorySelectorId,\n sourceString: \"One\",\n sourceDouble: 1.1,\n sourceLong: spatialCategoryId,\n sourceGuid: Guid.createValue(),\n } as any);\n const relationshipId2 = sourceDb.relationships.insertInstance(relationship2.toJSON());\n assert.isTrue(Id64.isValidId64(relationshipId2));\n }\n\n public static updateDb(sourceDb: IModelDb): void {\n // Update Subject element\n const subjectId = sourceDb.elements.queryElementIdByCode(Subject.createCode(sourceDb, IModel.rootSubjectId, \"Subject\"))!;\n assert.isTrue(Id64.isValidId64(subjectId));\n const subject = sourceDb.elements.getElement<Subject>(subjectId);\n subject.description = \"Subject description (Updated)\";\n sourceDb.elements.updateElement(subject.toJSON());\n // Update spatialCategory element\n const definitionModelId = sourceDb.elements.queryElementIdByCode(InformationPartitionElement.createCode(sourceDb, subjectId, \"Definition\"))!;\n assert.isTrue(Id64.isValidId64(definitionModelId));\n const spatialCategoryId = sourceDb.elements.queryElementIdByCode(SpatialCategory.createCode(sourceDb, definitionModelId, \"SpatialCategory\"))!;\n assert.isTrue(Id64.isValidId64(spatialCategoryId));\n const spatialCategory: SpatialCategory = sourceDb.elements.getElement<SpatialCategory>(spatialCategoryId);\n spatialCategory.federationGuid = Guid.createValue();\n sourceDb.elements.updateElement(spatialCategory.toJSON());\n // Update relationship properties\n const spatialCategorySelectorId = sourceDb.elements.queryElementIdByCode(CategorySelector.createCode(sourceDb, definitionModelId, \"SpatialCategories\"))!;\n assert.isTrue(Id64.isValidId64(spatialCategorySelectorId));\n const drawingCategorySelectorId = sourceDb.elements.queryElementIdByCode(CategorySelector.createCode(sourceDb, definitionModelId, \"DrawingCategories\"))!;\n assert.isTrue(Id64.isValidId64(drawingCategorySelectorId));\n const relWithProps: any = sourceDb.relationships.getInstanceProps(\n \"ExtensiveTestScenario:SourceRelWithProps\",\n { sourceId: spatialCategorySelectorId, targetId: drawingCategorySelectorId },\n );\n assert.equal(relWithProps.sourceString, \"One\");\n assert.equal(relWithProps.sourceDouble, 1.1);\n relWithProps.sourceString += \"-Updated\";\n relWithProps.sourceDouble = 1.2;\n sourceDb.relationships.updateInstance(relWithProps);\n // Update ElementAspect properties\n const physicalObjectId1 = IModelTestUtils.queryByUserLabel(sourceDb, \"PhysicalObject1\");\n const sourceUniqueAspects: ElementAspect[] = sourceDb.elements.getAspects(physicalObjectId1, \"ExtensiveTestScenario:SourceUniqueAspect\");\n assert.equal(sourceUniqueAspects.length, 1);\n sourceUniqueAspects[0].asAny.commonString += \"-Updated\";\n sourceUniqueAspects[0].asAny.sourceString += \"-Updated\";\n sourceDb.elements.updateAspect(sourceUniqueAspects[0].toJSON());\n const sourceMultiAspects: ElementAspect[] = sourceDb.elements.getAspects(physicalObjectId1, \"ExtensiveTestScenario:SourceMultiAspect\");\n assert.equal(sourceMultiAspects.length, 2);\n sourceMultiAspects[1].asAny.commonString += \"-Updated\";\n sourceMultiAspects[1].asAny.sourceString += \"-Updated\";\n sourceDb.elements.updateAspect(sourceMultiAspects[1].toJSON());\n // clear NavigationProperty of PhysicalElement1\n const physicalElementId1 = IModelTestUtils.queryByUserLabel(sourceDb, \"PhysicalElement1\");\n let physicalElement1: PhysicalElement = sourceDb.elements.getElement(physicalElementId1);\n physicalElement1.asAny.commonNavigation = RelatedElement.none;\n physicalElement1.update();\n physicalElement1 = sourceDb.elements.getElement(physicalElementId1);\n assert.isUndefined(physicalElement1.asAny.commonNavigation);\n // delete PhysicalObject3\n const physicalObjectId3 = IModelTestUtils.queryByUserLabel(sourceDb, \"PhysicalObject3\");\n assert.isTrue(Id64.isValidId64(physicalObjectId3));\n sourceDb.elements.deleteElement(physicalObjectId3);\n assert.equal(Id64.invalid, IModelTestUtils.queryByUserLabel(sourceDb, \"PhysicalObject3\"));\n // Insert PhysicalObject5\n const physicalObjectProps5: PhysicalElementProps = {\n classFullName: PhysicalObject.classFullName,\n model: physicalElement1.model,\n category: spatialCategoryId,\n code: Code.createEmpty(),\n userLabel: \"PhysicalObject5\",\n geom: IModelTestUtils.createBox(Point3d.create(1, 1, 1)),\n placement: {\n origin: Point3d.create(5, 5, 5),\n angles: YawPitchRollAngles.createDegrees(0, 0, 0),\n },\n };\n const physicalObjectId5 = sourceDb.elements.insertElement(physicalObjectProps5);\n assert.isTrue(Id64.isValidId64(physicalObjectId5));\n // delete relationship\n const drawingGraphicId1 = IModelTestUtils.queryByUserLabel(sourceDb, \"DrawingGraphic1\");\n const drawingGraphicId2 = IModelTestUtils.queryByUserLabel(sourceDb, \"DrawingGraphic2\");\n const relationship: Relationship = sourceDb.relationships.getInstance(DrawingGraphicRepresentsElement.classFullName, { sourceId: drawingGraphicId2, targetId: physicalObjectId1 });\n relationship.delete();\n // insert relationships\n DrawingGraphicRepresentsElement.insert(sourceDb, drawingGraphicId1, physicalObjectId5);\n DrawingGraphicRepresentsElement.insert(sourceDb, drawingGraphicId2, physicalObjectId5);\n // update InformationRecord2\n const informationRecordCodeSpec: CodeSpec = sourceDb.codeSpecs.getByName(\"InformationRecords\");\n const informationModelId = sourceDb.elements.queryElementIdByCode(InformationPartitionElement.createCode(sourceDb, subjectId, \"Information\"))!;\n const informationRecodeCode2: Code = new Code({ spec: informationRecordCodeSpec.id, scope: informationModelId, value: \"InformationRecord2\" });\n const informationRecordId2 = sourceDb.elements.queryElementIdByCode(informationRecodeCode2)!;\n assert.isTrue(Id64.isValidId64(informationRecordId2));\n const informationRecord2: any = sourceDb.elements.getElement(informationRecordId2);\n informationRecord2.commonString = `${informationRecord2.commonString}-Updated`;\n informationRecord2.sourceString = `${informationRecord2.sourceString}-Updated`;\n informationRecord2.update();\n // delete InformationRecord3\n const informationRecodeCode3: Code = new Code({ spec: informationRecordCodeSpec.id, scope: informationModelId, value: \"InformationRecord3\" });\n const informationRecordId3 = sourceDb.elements.queryElementIdByCode(informationRecodeCode3)!;\n assert.isTrue(Id64.isValidId64(informationRecordId3));\n sourceDb.elements.deleteElement(informationRecordId3);\n }\n\n public static assertUpdatesInDb(iModelDb: IModelDb, assertDeletes: boolean = true): void {\n // determine which schema was imported\n const testSourceSchema = iModelDb.querySchemaVersion(\"ExtensiveTestScenario\") ? true : false;\n const testTargetSchema = iModelDb.querySchemaVersion(\"ExtensiveTestScenarioTarget\") ? true : false;\n assert.notEqual(testSourceSchema, testTargetSchema);\n // assert Subject was updated\n const subjectId = iModelDb.elements.queryElementIdByCode(Subject.createCode(iModelDb, IModel.rootSubjectId, \"Subject\"))!;\n assert.isTrue(Id64.isValidId64(subjectId));\n const subject: Subject = iModelDb.elements.getElement<Subject>(subjectId);\n assert.equal(subject.description, \"Subject description (Updated)\");\n // assert SpatialCategory was updated\n const definitionModelId = iModelDb.elements.queryElementIdByCode(InformationPartitionElement.createCode(iModelDb, subjectId, \"Definition\"))!;\n assert.isTrue(Id64.isValidId64(definitionModelId));\n const spatialCategoryId = iModelDb.elements.queryElementIdByCode(SpatialCategory.createCode(iModelDb, definitionModelId, \"SpatialCategory\"))!;\n assert.isTrue(Id64.isValidId64(spatialCategoryId));\n const spatialCategory: SpatialCategory = iModelDb.elements.getElement<SpatialCategory>(spatialCategoryId);\n assert.exists(spatialCategory.federationGuid);\n // assert TargetRelWithProps was updated\n const spatialCategorySelectorId = iModelDb.elements.queryElementIdByCode(CategorySelector.createCode(iModelDb, definitionModelId, \"SpatialCategories\"))!;\n assert.isTrue(Id64.isValidId64(spatialCategorySelectorId));\n const drawingCategorySelectorId = iModelDb.elements.queryElementIdByCode(CategorySelector.createCode(iModelDb, definitionModelId, \"DrawingCategories\"))!;\n assert.isTrue(Id64.isValidId64(drawingCategorySelectorId));\n const relClassFullName = testTargetSchema ? \"ExtensiveTestScenarioTarget:TargetRelWithProps\" : \"ExtensiveTestScenario:SourceRelWithProps\";\n const relWithProps: any = iModelDb.relationships.getInstanceProps(\n relClassFullName,\n { sourceId: spatialCategorySelectorId, targetId: drawingCategorySelectorId },\n );\n assert.equal(testTargetSchema ? relWithProps.targetString : relWithProps.sourceString, \"One-Updated\");\n assert.equal(testTargetSchema ? relWithProps.targetDouble : relWithProps.sourceDouble, 1.2);\n // assert ElementAspect properties\n const physicalObjectId1 = IModelTestUtils.queryByUserLabel(iModelDb, \"PhysicalObject1\");\n const uniqueAspectClassFullName = testTargetSchema ? \"ExtensiveTestScenarioTarget:TargetUniqueAspect\" : \"ExtensiveTestScenario:SourceUniqueAspect\";\n const uniqueAspects: ElementAspect[] = iModelDb.elements.getAspects(physicalObjectId1, uniqueAspectClassFullName);\n assert.equal(uniqueAspects.length, 1);\n const uniqueAspect = uniqueAspects[0].asAny;\n expect(uniqueAspect).to.deep.subsetEqual({\n commonDouble: 1.1,\n commonString: \"Unique-Updated\",\n commonLong: physicalObjectId1,\n });\n if (testTargetSchema) {\n expect(uniqueAspect).to.deep.subsetEqual({\n targetDouble: 11.1,\n targetString: \"UniqueAspect-Updated\",\n targetLong: physicalObjectId1,\n });\n } else {\n expect(uniqueAspect).to.deep.subsetEqual({\n sourceDouble: 11.1,\n sourceString: \"UniqueAspect-Updated\",\n sourceLong: physicalObjectId1,\n });\n }\n const multiAspectClassFullName = testTargetSchema ? \"ExtensiveTestScenarioTarget:TargetMultiAspect\" : \"ExtensiveTestScenario:SourceMultiAspect\";\n const multiAspects: ElementAspect[] = iModelDb.elements.getAspects(physicalObjectId1, multiAspectClassFullName);\n assert.equal(multiAspects.length, 2);\n const multiAspect0 = multiAspects[0].asAny;\n const multiAspect1 = multiAspects[1].asAny;\n assert.equal(multiAspect0.commonDouble, 2.2);\n assert.equal(multiAspect0.commonString, \"Multi\");\n assert.equal(multiAspect0.commonLong, physicalObjectId1);\n assert.equal(testTargetSchema ? multiAspect0.targetDouble : multiAspect0.sourceDouble, 22.2);\n assert.equal(testTargetSchema ? multiAspect0.targetString : multiAspect0.sourceString, \"MultiAspect\");\n assert.equal(testTargetSchema ? multiAspect0.targetLong : multiAspect0.sourceLong, physicalObjectId1);\n assert.equal(multiAspect1.commonDouble, 3.3);\n assert.equal(multiAspect1.commonString, \"Multi-Updated\");\n assert.equal(multiAspect1.commonLong, physicalObjectId1);\n assert.equal(testTargetSchema ? multiAspect1.targetDouble : multiAspect1.sourceDouble, 33.3);\n assert.equal(testTargetSchema ? multiAspect1.targetString : multiAspect1.sourceString, \"MultiAspect-Updated\");\n assert.equal(testTargetSchema ? multiAspect1.targetLong : multiAspect1.sourceLong, physicalObjectId1);\n // assert NavigationProperty of PhysicalElement1 was cleared\n const physicalElementId = IModelTestUtils.queryByUserLabel(iModelDb, \"PhysicalElement1\");\n const physicalElement: PhysicalElement = iModelDb.elements.getElement(physicalElementId);\n assert.isUndefined(physicalElement.asAny.commonNavigation);\n // assert PhysicalObject5 was inserted\n const physicalObjectId5 = IModelTestUtils.queryByUserLabel(iModelDb, \"PhysicalObject5\");\n assert.isTrue(Id64.isValidId64(physicalObjectId5));\n // assert relationships were inserted\n const drawingGraphicId1 = IModelTestUtils.queryByUserLabel(iModelDb, \"DrawingGraphic1\");\n const drawingGraphicId2 = IModelTestUtils.queryByUserLabel(iModelDb, \"DrawingGraphic2\");\n iModelDb.relationships.getInstance(DrawingGraphicRepresentsElement.classFullName, { sourceId: drawingGraphicId1, targetId: physicalObjectId5 });\n iModelDb.relationships.getInstance(DrawingGraphicRepresentsElement.classFullName, { sourceId: drawingGraphicId2, targetId: physicalObjectId5 });\n // assert InformationRecord2 was updated\n const informationRecordCodeSpec: CodeSpec = iModelDb.codeSpecs.getByName(\"InformationRecords\");\n const informationModelId = iModelDb.elements.queryElementIdByCode(InformationPartitionElement.createCode(iModelDb, subjectId, \"Information\"))!;\n const informationRecordId2 = iModelDb.elements.queryElementIdByCode(new Code({ spec: informationRecordCodeSpec.id, scope: informationModelId, value: \"InformationRecord2\" }));\n assert.isTrue(Id64.isValidId64(informationRecordId2!));\n const informationRecord2: any = iModelDb.elements.getElement(informationRecordId2!);\n assert.equal(informationRecord2.commonString, \"Common2-Updated\");\n assert.equal(testTargetSchema ? informationRecord2.targetString : informationRecord2.sourceString, \"Two-Updated\");\n // assert InformationRecord3 was deleted\n assert.isDefined(iModelDb.elements.queryElementIdByCode(new Code({ spec: informationRecordCodeSpec.id, scope: informationModelId, value: \"InformationRecord1\" })));\n assert.isDefined(iModelDb.elements.queryElementIdByCode(new Code({ spec: informationRecordCodeSpec.id, scope: informationModelId, value: \"InformationRecord2\" })));\n // detect deletes if possible - cannot detect during processAll when isReverseSynchronization is true\n if (assertDeletes) {\n assert.equal(Id64.invalid, IModelTestUtils.queryByUserLabel(iModelDb, \"PhysicalObject3\"));\n assert.throws(() => iModelDb.relationships.getInstanceProps(DrawingGraphicRepresentsElement.classFullName, { sourceId: drawingGraphicId2, targetId: physicalObjectId1 }));\n assert.isUndefined(iModelDb.elements.queryElementIdByCode(new Code({ spec: informationRecordCodeSpec.id, scope: informationModelId, value: \"InformationRecord3\" })));\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IModelTestUtils.js","sourceRoot":"","sources":["../../../src/test/IModelTestUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageSourceConversion.test.js","sourceRoot":"","sources":["../../../src/test/ImageSourceConversion.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*--------------------------------------------------------------------------------------------*/\n\nimport { expect } from \"chai\";\nimport { imageBufferFromImageSource, imageSourceFromImageBuffer } from \"../ImageSourceConversion\";\nimport { samplePngTexture } from \"./imageData\";\nimport { BinaryImageSource, ImageBuffer, ImageBufferFormat, ImageSourceFormat } from \"@itwin/core-common\";\n\n// samplePngTexture encodes this image:\n// White Red Red\n// Red Blue Red\n// Red Red Green\nconst red = 0x000000ff;\nconst green = 0x0000ff00;\nconst blue = 0x00ff0000;\nconst white = 0x00ffffff;\nconst top = [white, red, red];\nconst middle = [red, blue, red];\nconst bottom = [red, red, green];\n\nconst samplePng: BinaryImageSource = {\n data: new Uint8Array(samplePngTexture.data),\n format: ImageSourceFormat.Png,\n};\n\nfunction getPixel(img: ImageBuffer, x: number, y: number): number {\n const pixelSize = img.numBytesPerPixel;\n const start = y * pixelSize * img.width + x * pixelSize;\n let pixel = 0;\n for (let offset = 0; offset < pixelSize; offset++) {\n let val = img.data[start + offset];\n val = (val << (offset * 8)) >>> 0;\n pixel = (pixel | val) >>> 0;\n }\n\n return pixel;\n}\n\nfunction expectImagePixels(img: ImageBuffer, expected: number[]): void {\n expect(img.width * img.height).to.equal(expected.length);\n const actual = [];\n for (let y = 0; y < img.height; y++) {\n for (let x = 0; x < img.width; x++) {\n actual.push(getPixel(img, x, y));\n }\n }\n\n expect(actual).to.deep.equal(expected);\n}\n\n// Make an ImageBuffer as\n// White Red Red\n// Red Blue Red\n// Red Red Green\n// If an alpha channel is requested, alpha will be 0x7f\nfunction makeImage(wantAlpha: boolean): ImageBuffer {\n const format = wantAlpha ? ImageBufferFormat.Rgba : ImageBufferFormat.Rgb;\n const pixelSize = wantAlpha ? 4 : 3;\n const data = new Uint8Array(pixelSize * 9);\n const lut = [white, red, red, red, blue, red, red, red, green];\n for (let i = 0; i < 9; i++) {\n const value = lut[i];\n const s = i * pixelSize;\n data[s + 0] = value & 0xff;\n data[s + 1] = (value >> 8) & 0xff;\n data[s + 2] = (value >> 16) & 0xff;\n if (wantAlpha) {\n data[s + 3] = 0x7f;\n }\n }\n\n const img = ImageBuffer.create(data, format, 3);\n return img;\n}\n\nfunction expectEqualImageBuffers(a: ImageBuffer, b: ImageBuffer, pixelTolerance = 0): void {\n expect(a.format).to.equal(b.format);\n expect(a.width).to.equal(b.width);\n expect(a.height).to.equal(b.height);\n expect(a.data.length).to.equal(b.data.length);\n for (let i = 0; i < a.data.length; i++) {\n const x = a.data[i];\n const y = b.data[i];\n expect(Math.abs(x - y)).most(pixelTolerance);\n }\n}\n\nfunction computeMaxCompressionError(compressed: ImageBuffer, original: ImageBuffer): number {\n expect(compressed.data.length).to.equal(original.data.length);\n let max = 0;\n for (let i = 0; i < compressed.data.length; i++) {\n max = Math.max(max, Math.abs(compressed.data[i] - original.data[i]));\n }\n\n return max;\n}\n\ndescribe(\"ImageSource conversion\", () => {\n describe(\"imageBufferFromImageSource\", () => {\n it(\"decodes PNG\", () => {\n const buf = imageBufferFromImageSource({ source: samplePng })!;\n expect(buf).not.to.be.undefined;\n expect(buf.width).to.equal(3);\n expect(buf.height).to.equal(3);\n expect(buf.format).to.equal(ImageBufferFormat.Rgb);\n expectImagePixels(buf, [...top, ...middle, ...bottom]);\n });\n\n it(\"preserves alpha channel if RGBA requested\", () => {\n const image = makeImage(true);\n const source = imageSourceFromImageBuffer({ image })!;\n const result = imageBufferFromImageSource({ source, targetFormat: ImageBufferFormat.Rgba })!;\n expect(result.format).to.equal(ImageBufferFormat.Rgba);\n expectImagePixels(result, [...top, ...middle, ...bottom].map((x) => (x | 0x7f000000) >>> 0));\n });\n\n it(\"strips alpha channel if RGB requested\", () => {\n const image = makeImage(true);\n const source = imageSourceFromImageBuffer({ image })!;\n const result = imageBufferFromImageSource({ source, targetFormat: ImageBufferFormat.Rgb })!;\n expect(result.format).to.equal(ImageBufferFormat.Rgb);\n expectImagePixels(result, [...top, ...middle, ...bottom]);\n });\n\n it(\"sets alpha to 255 if RGBA requested for ImageSource lacking transparency\", () => {\n const img = imageBufferFromImageSource({ source: samplePng, targetFormat: ImageBufferFormat.Rgba })!;\n expect(img.format).to.equal(ImageBufferFormat.Rgba);\n expectImagePixels(img, [...top, ...middle, ...bottom].map((x) => ((x | 0xff000000) >>> 0)));\n });\n \n it(\"defaults to RGBA IFF alpha channel is present\", () => {\n const transparent = imageSourceFromImageBuffer({ image: makeImage(true), targetFormat: ImageSourceFormat.Png })!;\n expect(imageBufferFromImageSource({ source: transparent })!.format).to.equal(ImageBufferFormat.Rgba);\n const opaque = imageSourceFromImageBuffer({ image: makeImage(false), targetFormat: ImageSourceFormat.Png })!;\n expect(imageBufferFromImageSource({ source: opaque })!.format).to.equal(ImageBufferFormat.Rgb);\n });\n });\n\n describe(\"imageSourceFromImageBuffer\", () => {\n it(\"encodes to specified format\", () => {\n const image = makeImage(false);\n const png = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Png })!;\n expect(png.format).to.equal(ImageSourceFormat.Png);\n const jpeg = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Jpeg })!;\n expect(jpeg.format).to.equal(ImageSourceFormat.Jpeg);\n\n // PNG is lossless\n expectEqualImageBuffers(imageBufferFromImageSource({ source: png })!, image);\n\n // JPEG is lossy\n expectEqualImageBuffers(imageBufferFromImageSource({ source: jpeg })!, image, 2);\n });\n\n it(\"defaults to PNG IFF alpha channel is present\", () => {\n const transparent = makeImage(true);\n expect(imageSourceFromImageBuffer({ image: transparent })!.format).to.equal(ImageSourceFormat.Png);\n\n const opaque = makeImage(false);\n expect(imageSourceFromImageBuffer({ image: opaque })!.format).to.equal(ImageSourceFormat.Jpeg);\n });\n\n it(\"flips vertically IFF specified\", () => {\n const image = makeImage(false);\n let source = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Png })!;\n let output = imageBufferFromImageSource({ source })!;\n expectImagePixels(output, [...top, ...middle, ...bottom ]);\n\n source = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Png, flipVertically: true })!;\n output = imageBufferFromImageSource({ source })!;\n expectImagePixels(output, [...bottom, ...middle, ...top ]);\n });\n\n it(\"trades quality for size when encoding JPEG\", () => {\n const image = makeImage(false);\n const low = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Jpeg, jpegQuality: 50 })!;\n const medium = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Jpeg, jpegQuality: 75 })!;\n const high = imageSourceFromImageBuffer({ image, targetFormat: ImageSourceFormat.Jpeg, jpegQuality: 100 })!;\n expect(low.data.length).lessThan(medium.data.length);\n expect(medium.data.length).lessThan(high.data.length);\n\n const highImg = imageBufferFromImageSource({ source: high })!;\n const lowImg = imageBufferFromImageSource({ source: low })!;\n const mediumImg = imageBufferFromImageSource({ source: medium })!;\n\n expect(computeMaxCompressionError(highImg, image)).to.equal(2);\n const mediumError = computeMaxCompressionError(mediumImg, image);\n expect(mediumError).greaterThan(2);\n expect(computeMaxCompressionError(lowImg, image)).greaterThan(mediumError);\n });\n\n it(\"throws if image is in alpha format\", () => {\n const image = ImageBuffer.create(new Uint8Array([1, 2, 3, 4, 5]), ImageBufferFormat.Alpha, 5);\n expect(() => imageSourceFromImageBuffer({ image })).to.throw(\"imageSourceFromImageBuffer cannot be used with alpha-only images\");\n });\n });\n});\n\n"]}
|
|
1
|
+
{"version":3,"file":"ImageSourceConversion.test.js","sourceRoot":"","sources":["../../../src/test/ImageSourceConversion.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpcHost.test.js","sourceRoot":"","sources":["../../../src/test/IpcHost.test.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"IpcHost.test.js","sourceRoot":"","sources":["../../../src/test/IpcHost.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnownTestLocations.js","sourceRoot":"","sources":["../../../src/test/KnownTestLocations.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,kBAAkB;IAE7B,6GAA6G;IACtG,MAAM,KAAK,SAAS;QACzB,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACvC,6FAA6F;YAC7F,uCAAuC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IACpC,MAAM,KAAK,SAAS;QACzB,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF"
|
|
1
|
+
{"version":3,"file":"KnownTestLocations.js","sourceRoot":"","sources":["../../../src/test/KnownTestLocations.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,kBAAkB;IAE7B,6GAA6G;IACtG,MAAM,KAAK,SAAS;QACzB,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACvC,6FAA6F;YAC7F,uCAAuC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IACpC,MAAM,KAAK,SAAS;QACzB,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrintElementTree.js","sourceRoot":"","sources":["../../../src/test/PrintElementTree.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,QAAQ,EAAc,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,SAAqB;IAChE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,IAAqB,EAAE,MAAgB,EAAE,SAAqB,EAAE,MAAc;IACrI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAE1F,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAQ,SAAS,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1F,4DAA4D;QAC5D,MAAM,CAAC,qBAAqB,CAAC,4BAA4B,OAAO,CAAC,aAAa,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5G,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"
|
|
1
|
+
{"version":3,"file":"PrintElementTree.js","sourceRoot":"","sources":["../../../src/test/PrintElementTree.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,QAAQ,EAAc,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,SAAqB;IAChE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,IAAqB,EAAE,MAAgB,EAAE,SAAqB,EAAE,MAAc;IACrI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAE1F,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAQ,SAAS,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1F,4DAA4D;QAC5D,MAAM,CAAC,qBAAqB,CAAC,4BAA4B,OAAO,CAAC,aAAa,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5G,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyDb.test.js","sourceRoot":"","sources":["../../../src/test/PropertyDb.test.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"PropertyDb.test.js","sourceRoot":"","sources":["../../../src/test/PropertyDb.test.ts"],"names":[],"mappings":"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"}
|