@itwin/core-backend 5.1.0-dev.32 → 5.1.0-dev.36
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.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.d.ts +54 -8
- package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +477 -275
- 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.map +1 -1
- package/lib/cjs/IModelDb.js +9 -8
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/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.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/FrameGeometry.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.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +20 -0
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.d.ts +54 -8
- package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +477 -275
- 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.map +1 -1
- package/lib/esm/IModelDb.js +9 -8
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/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.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/FrameGeometry.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.d.ts.map +1 -1
- package/lib/esm/core-backend.js +20 -0
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.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/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/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.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/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 +7 -7
- 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 +292 -292
- 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/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- 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 +27 -0
- 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/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 +71 -71
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +322 -164
- 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
|
@@ -60,7 +60,7 @@ import { Arc3d, IModelJson, Point3d } from "@itwin/core-geometry";
|
|
|
60
60
|
import { assert, expect } from "chai";
|
|
61
61
|
import * as path from "node:path";
|
|
62
62
|
import { DrawingCategory } from "../../Category";
|
|
63
|
-
import { ChangesetECAdaptor as ECChangesetAdaptor, PartialECChangeUnifier } from "../../ChangesetECAdaptor";
|
|
63
|
+
import { ChangesetECAdaptor as ECChangesetAdaptor, ECChangeUnifierCache, PartialECChangeUnifier } from "../../ChangesetECAdaptor";
|
|
64
64
|
import { HubMock } from "../../internal/HubMock";
|
|
65
65
|
import { SnapshotDb } from "../../IModelDb";
|
|
66
66
|
import { SqliteChangesetReader } from "../../SqliteChangesetReader";
|
|
@@ -92,13 +92,13 @@ describe("Changeset Reader API", async () => {
|
|
|
92
92
|
assert.isNotEmpty(rwIModelId);
|
|
93
93
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
94
94
|
// 1. Import schema with class that span overflow table.
|
|
95
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
96
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
97
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
98
|
-
<ECEntityClass typeName="Test2dElement">
|
|
99
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
100
|
-
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i}" typeName="string"/>`).join("\n")}
|
|
101
|
-
</ECEntityClass>
|
|
95
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
96
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
97
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
98
|
+
<ECEntityClass typeName="Test2dElement">
|
|
99
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
100
|
+
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i}" typeName="string"/>`).join("\n")}
|
|
101
|
+
</ECEntityClass>
|
|
102
102
|
</ECSchema>`;
|
|
103
103
|
await rwIModel.importSchemaStrings([schema]);
|
|
104
104
|
rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
@@ -215,13 +215,13 @@ describe("Changeset Reader API", async () => {
|
|
|
215
215
|
const rwIModelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: "TestSubject", accessToken: adminToken });
|
|
216
216
|
assert.isNotEmpty(rwIModelId);
|
|
217
217
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
218
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
219
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
220
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
221
|
-
<ECEntityClass typeName="Test2dElement">
|
|
222
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
223
|
-
<ECProperty propertyName="s" typeName="string"/>
|
|
224
|
-
</ECEntityClass>
|
|
218
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
219
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
220
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
221
|
+
<ECEntityClass typeName="Test2dElement">
|
|
222
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
223
|
+
<ECProperty propertyName="s" typeName="string"/>
|
|
224
|
+
</ECEntityClass>
|
|
225
225
|
</ECSchema>`;
|
|
226
226
|
await rwIModel.importSchemaStrings([schema]);
|
|
227
227
|
rwIModel.saveChanges("user 1: schema changeset");
|
|
@@ -292,32 +292,24 @@ describe("Changeset Reader API", async () => {
|
|
|
292
292
|
};
|
|
293
293
|
rwIModel.saveChanges("user 1: data");
|
|
294
294
|
if (true || "test local changes") {
|
|
295
|
-
const
|
|
296
|
-
try {
|
|
297
|
-
const reader = SqliteChangesetReader.openLocalChanges({ db: rwIModel, disableSchemaCheck: true });
|
|
298
|
-
const adaptor = __addDisposableResource(env_1, new ECChangesetAdaptor(reader), false);
|
|
299
|
-
const cci = new PartialECChangeUnifier();
|
|
300
|
-
while (adaptor.step()) {
|
|
301
|
-
cci.appendFrom(adaptor);
|
|
302
|
-
}
|
|
303
|
-
const changes = Array.from(cci.instances);
|
|
295
|
+
const testChanges = (changes) => {
|
|
304
296
|
assert.equal(changes.length, 3);
|
|
305
|
-
assert.equal(changes[0].ECInstanceId, "
|
|
306
|
-
assert.equal(changes[0].$meta?.classFullName, "
|
|
307
|
-
assert.equal(changes[0].$meta?.op, "
|
|
297
|
+
assert.equal(changes[0].ECInstanceId, "0x20000000001");
|
|
298
|
+
assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
|
|
299
|
+
assert.equal(changes[0].$meta?.op, "Updated");
|
|
308
300
|
assert.equal(changes[0].$meta?.stage, "New");
|
|
301
|
+
assert.isNotNull(changes[0].LastMod);
|
|
302
|
+
assert.isNotNull(changes[0].GeometryGuid);
|
|
309
303
|
assert.equal(changes[1].ECInstanceId, "0x20000000001");
|
|
310
304
|
assert.equal(changes[1].$meta?.classFullName, "BisCore:DrawingModel");
|
|
311
305
|
assert.equal(changes[1].$meta?.op, "Updated");
|
|
312
|
-
assert.equal(changes[1].$meta?.stage, "
|
|
313
|
-
assert.
|
|
314
|
-
assert.
|
|
315
|
-
assert.equal(changes[2].ECInstanceId, "
|
|
316
|
-
assert.equal(changes[2].$meta?.classFullName, "
|
|
317
|
-
assert.equal(changes[2].$meta?.op, "
|
|
318
|
-
assert.equal(changes[2].$meta?.stage, "
|
|
319
|
-
assert.isNull(changes[2].LastMod);
|
|
320
|
-
assert.isNull(changes[2].GeometryGuid);
|
|
306
|
+
assert.equal(changes[1].$meta?.stage, "Old");
|
|
307
|
+
assert.isNull(changes[1].LastMod);
|
|
308
|
+
assert.isNull(changes[1].GeometryGuid);
|
|
309
|
+
assert.equal(changes[2].ECInstanceId, "0x20000000004");
|
|
310
|
+
assert.equal(changes[2].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
311
|
+
assert.equal(changes[2].$meta?.op, "Inserted");
|
|
312
|
+
assert.equal(changes[2].$meta?.stage, "New");
|
|
321
313
|
const el = changes.filter((x) => x.ECInstanceId === "0x20000000004")[0];
|
|
322
314
|
assert.equal(el.Rotation, 0);
|
|
323
315
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
@@ -357,15 +349,45 @@ describe("Changeset Reader API", async () => {
|
|
|
357
349
|
1,
|
|
358
350
|
],
|
|
359
351
|
stage: "New",
|
|
360
|
-
fallbackClassId: undefined,
|
|
361
352
|
});
|
|
353
|
+
};
|
|
354
|
+
if (true || "test with InMemoryInstanceCache") {
|
|
355
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
356
|
+
try {
|
|
357
|
+
const reader = __addDisposableResource(env_1, SqliteChangesetReader.openLocalChanges({ db: rwIModel, disableSchemaCheck: true }), false);
|
|
358
|
+
const adaptor = __addDisposableResource(env_1, new ECChangesetAdaptor(reader), false);
|
|
359
|
+
const pcu = __addDisposableResource(env_1, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemory()), false);
|
|
360
|
+
while (adaptor.step()) {
|
|
361
|
+
pcu.appendFrom(adaptor);
|
|
362
|
+
}
|
|
363
|
+
testChanges(Array.from(pcu.instances));
|
|
364
|
+
}
|
|
365
|
+
catch (e_1) {
|
|
366
|
+
env_1.error = e_1;
|
|
367
|
+
env_1.hasError = true;
|
|
368
|
+
}
|
|
369
|
+
finally {
|
|
370
|
+
__disposeResources(env_1);
|
|
371
|
+
}
|
|
362
372
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
373
|
+
if (true || "test with SqliteBackedInstanceCache") {
|
|
374
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
375
|
+
try {
|
|
376
|
+
const reader = __addDisposableResource(env_2, SqliteChangesetReader.openLocalChanges({ db: rwIModel, disableSchemaCheck: true }), false);
|
|
377
|
+
const adaptor = __addDisposableResource(env_2, new ECChangesetAdaptor(reader), false);
|
|
378
|
+
const pcu = __addDisposableResource(env_2, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createSqliteBacked(rwIModel)), false);
|
|
379
|
+
while (adaptor.step()) {
|
|
380
|
+
pcu.appendFrom(adaptor);
|
|
381
|
+
}
|
|
382
|
+
testChanges(Array.from(pcu.instances));
|
|
383
|
+
}
|
|
384
|
+
catch (e_2) {
|
|
385
|
+
env_2.error = e_2;
|
|
386
|
+
env_2.hasError = true;
|
|
387
|
+
}
|
|
388
|
+
finally {
|
|
389
|
+
__disposeResources(env_2);
|
|
390
|
+
}
|
|
369
391
|
}
|
|
370
392
|
}
|
|
371
393
|
const targetDir = path.join(KnownTestLocations.outputDir, rwIModelId, "changesets");
|
|
@@ -373,86 +395,144 @@ describe("Changeset Reader API", async () => {
|
|
|
373
395
|
await updatedElements();
|
|
374
396
|
const changesets = await HubMock.downloadChangesets({ iModelId: rwIModelId, targetDir });
|
|
375
397
|
if (true || "updated element") {
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
398
|
+
const testChanges = (changes) => {
|
|
399
|
+
assert.equal(changes.length, 4);
|
|
400
|
+
const classId = getClassIdByName(rwIModel, "Test2dElement");
|
|
401
|
+
// new value
|
|
402
|
+
assert.equal(changes[2].ECInstanceId, "0x20000000004");
|
|
403
|
+
assert.equal(changes[2].ECClassId, classId);
|
|
404
|
+
assert.equal(changes[2].s, "updated property");
|
|
405
|
+
assert.equal(changes[2].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
406
|
+
assert.equal(changes[2].$meta?.op, "Updated");
|
|
407
|
+
assert.equal(changes[2].$meta?.stage, "New");
|
|
408
|
+
// old value
|
|
409
|
+
assert.equal(changes[3].ECInstanceId, "0x20000000004");
|
|
410
|
+
assert.equal(changes[3].ECClassId, classId);
|
|
411
|
+
assert.equal(changes[3].s, "xxxxxxxxx");
|
|
412
|
+
assert.equal(changes[3].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
413
|
+
assert.equal(changes[3].$meta?.op, "Updated");
|
|
414
|
+
assert.equal(changes[3].$meta?.stage, "Old");
|
|
415
|
+
};
|
|
416
|
+
if (true || "test with InMemoryInstanceCache") {
|
|
417
|
+
const env_3 = { stack: [], error: void 0, hasError: false };
|
|
418
|
+
try {
|
|
419
|
+
const reader = __addDisposableResource(env_3, SqliteChangesetReader.openFile({ fileName: changesets[3].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
420
|
+
const adaptor = __addDisposableResource(env_3, new ECChangesetAdaptor(reader), false);
|
|
421
|
+
const pcu = __addDisposableResource(env_3, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemory()), false);
|
|
422
|
+
while (adaptor.step()) {
|
|
423
|
+
pcu.appendFrom(adaptor);
|
|
424
|
+
}
|
|
425
|
+
testChanges(Array.from(pcu.instances));
|
|
426
|
+
}
|
|
427
|
+
catch (e_3) {
|
|
428
|
+
env_3.error = e_3;
|
|
429
|
+
env_3.hasError = true;
|
|
430
|
+
}
|
|
431
|
+
finally {
|
|
432
|
+
__disposeResources(env_3);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
if (true || "test with SqliteBackedInstanceCache") {
|
|
436
|
+
const env_4 = { stack: [], error: void 0, hasError: false };
|
|
437
|
+
try {
|
|
438
|
+
const reader = __addDisposableResource(env_4, SqliteChangesetReader.openFile({ fileName: changesets[3].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
439
|
+
const adaptor = __addDisposableResource(env_4, new ECChangesetAdaptor(reader), false);
|
|
440
|
+
const pcu = __addDisposableResource(env_4, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createSqliteBacked(rwIModel)), false);
|
|
441
|
+
while (adaptor.step()) {
|
|
442
|
+
pcu.appendFrom(adaptor);
|
|
443
|
+
}
|
|
444
|
+
testChanges(Array.from(pcu.instances));
|
|
445
|
+
}
|
|
446
|
+
catch (e_4) {
|
|
447
|
+
env_4.error = e_4;
|
|
448
|
+
env_4.hasError = true;
|
|
449
|
+
}
|
|
450
|
+
finally {
|
|
451
|
+
__disposeResources(env_4);
|
|
452
|
+
}
|
|
381
453
|
}
|
|
382
|
-
const changes = Array.from(cci.instances);
|
|
383
|
-
assert.equal(changes.length, 4);
|
|
384
|
-
const classId = getClassIdByName(rwIModel, "Test2dElement");
|
|
385
|
-
// new value
|
|
386
|
-
assert.equal(changes[0].ECInstanceId, "0x20000000004");
|
|
387
|
-
assert.equal(changes[0].ECClassId, classId);
|
|
388
|
-
assert.equal(changes[0].s, "updated property");
|
|
389
|
-
assert.equal(changes[0].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
390
|
-
assert.equal(changes[0].$meta?.op, "Updated");
|
|
391
|
-
assert.equal(changes[0].$meta?.stage, "New");
|
|
392
|
-
// old value
|
|
393
|
-
assert.equal(changes[1].ECInstanceId, "0x20000000004");
|
|
394
|
-
assert.equal(changes[1].ECClassId, classId);
|
|
395
|
-
assert.equal(changes[1].s, "xxxxxxxxx");
|
|
396
|
-
assert.equal(changes[1].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
397
|
-
assert.equal(changes[1].$meta?.op, "Updated");
|
|
398
|
-
assert.equal(changes[1].$meta?.stage, "Old");
|
|
399
454
|
}
|
|
400
455
|
if (true || "updated element when no classId") {
|
|
401
456
|
const otherDb = SnapshotDb.openFile(IModelTestUtils.resolveAssetFile("test.bim"));
|
|
402
|
-
const
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
457
|
+
const testChanges = (changes) => {
|
|
458
|
+
assert.equal(changes.length, 4);
|
|
459
|
+
// new value
|
|
460
|
+
assert.equal(changes[2].ECInstanceId, "0x20000000004");
|
|
461
|
+
assert.isUndefined(changes[2].ECClassId);
|
|
462
|
+
assert.isDefined(changes[2].$meta?.fallbackClassId);
|
|
463
|
+
assert.equal(changes[2].$meta?.fallbackClassId, "0x3d");
|
|
464
|
+
assert.isUndefined(changes[2].s);
|
|
465
|
+
assert.equal(changes[2].$meta?.classFullName, "BisCore:GeometricElement2d");
|
|
466
|
+
assert.equal(changes[2].$meta?.op, "Updated");
|
|
467
|
+
assert.equal(changes[2].$meta?.stage, "New");
|
|
468
|
+
// old value
|
|
469
|
+
assert.equal(changes[3].ECInstanceId, "0x20000000004");
|
|
470
|
+
assert.isUndefined(changes[3].ECClassId);
|
|
471
|
+
assert.isDefined(changes[3].$meta?.fallbackClassId);
|
|
472
|
+
assert.equal(changes[3].$meta?.fallbackClassId, "0x3d");
|
|
473
|
+
assert.isUndefined(changes[3].s);
|
|
474
|
+
assert.equal(changes[3].$meta?.classFullName, "BisCore:GeometricElement2d");
|
|
475
|
+
assert.equal(changes[3].$meta?.op, "Updated");
|
|
476
|
+
assert.equal(changes[3].$meta?.stage, "Old");
|
|
477
|
+
};
|
|
478
|
+
if (true || "test with InMemoryInstanceCache") {
|
|
479
|
+
const env_5 = { stack: [], error: void 0, hasError: false };
|
|
480
|
+
try {
|
|
481
|
+
const reader = __addDisposableResource(env_5, SqliteChangesetReader.openFile({ fileName: changesets[3].pathname, db: otherDb, disableSchemaCheck: true }), false);
|
|
482
|
+
const adaptor = __addDisposableResource(env_5, new ECChangesetAdaptor(reader), false);
|
|
483
|
+
const pcu = __addDisposableResource(env_5, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemory()), false);
|
|
484
|
+
while (adaptor.step()) {
|
|
485
|
+
pcu.appendFrom(adaptor);
|
|
486
|
+
}
|
|
487
|
+
testChanges(Array.from(pcu.instances));
|
|
488
|
+
}
|
|
489
|
+
catch (e_5) {
|
|
490
|
+
env_5.error = e_5;
|
|
491
|
+
env_5.hasError = true;
|
|
492
|
+
}
|
|
493
|
+
finally {
|
|
494
|
+
__disposeResources(env_5);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
if (true || "test with SqliteBackedInstanceCache") {
|
|
498
|
+
const env_6 = { stack: [], error: void 0, hasError: false };
|
|
499
|
+
try {
|
|
500
|
+
const reader = __addDisposableResource(env_6, SqliteChangesetReader.openFile({ fileName: changesets[3].pathname, db: otherDb, disableSchemaCheck: true }), false);
|
|
501
|
+
const adaptor = __addDisposableResource(env_6, new ECChangesetAdaptor(reader), false);
|
|
502
|
+
const pcu = __addDisposableResource(env_6, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createSqliteBacked(rwIModel)), false);
|
|
503
|
+
while (adaptor.step()) {
|
|
504
|
+
pcu.appendFrom(adaptor);
|
|
505
|
+
}
|
|
506
|
+
testChanges(Array.from(pcu.instances));
|
|
507
|
+
}
|
|
508
|
+
catch (e_6) {
|
|
509
|
+
env_6.error = e_6;
|
|
510
|
+
env_6.hasError = true;
|
|
511
|
+
}
|
|
512
|
+
finally {
|
|
513
|
+
__disposeResources(env_6);
|
|
514
|
+
}
|
|
407
515
|
}
|
|
408
|
-
const changes = Array.from(cci.instances);
|
|
409
|
-
assert.equal(changes.length, 4);
|
|
410
|
-
// new value
|
|
411
|
-
assert.equal(changes[0].ECInstanceId, "0x20000000004");
|
|
412
|
-
assert.isUndefined(changes[0].ECClassId);
|
|
413
|
-
assert.isDefined(changes[0].$meta?.fallbackClassId);
|
|
414
|
-
assert.equal(changes[0].$meta?.fallbackClassId, "0x3d");
|
|
415
|
-
assert.isUndefined(changes[0].s);
|
|
416
|
-
assert.equal(changes[0].$meta?.classFullName, "BisCore:GeometricElement2d");
|
|
417
|
-
assert.equal(changes[0].$meta?.op, "Updated");
|
|
418
|
-
assert.equal(changes[0].$meta?.stage, "New");
|
|
419
|
-
// old value
|
|
420
|
-
assert.equal(changes[1].ECInstanceId, "0x20000000004");
|
|
421
|
-
assert.isUndefined(changes[1].ECClassId);
|
|
422
|
-
assert.isDefined(changes[1].$meta?.fallbackClassId);
|
|
423
|
-
assert.equal(changes[1].$meta?.fallbackClassId, "0x3d");
|
|
424
|
-
assert.isUndefined(changes[1].s);
|
|
425
|
-
assert.equal(changes[1].$meta?.classFullName, "BisCore:GeometricElement2d");
|
|
426
|
-
assert.equal(changes[1].$meta?.op, "Updated");
|
|
427
|
-
assert.equal(changes[1].$meta?.stage, "Old");
|
|
428
516
|
}
|
|
429
517
|
if (true || "test changeset file") {
|
|
430
|
-
const
|
|
431
|
-
try {
|
|
432
|
-
const reader = SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true });
|
|
433
|
-
const adaptor = __addDisposableResource(env_2, new ECChangesetAdaptor(reader), false);
|
|
434
|
-
const cci = new PartialECChangeUnifier();
|
|
435
|
-
while (adaptor.step()) {
|
|
436
|
-
cci.appendFrom(adaptor);
|
|
437
|
-
}
|
|
438
|
-
const changes = Array.from(cci.instances);
|
|
518
|
+
const testChanges = (changes) => {
|
|
439
519
|
assert.equal(changes.length, 3);
|
|
440
|
-
assert.equal(changes[0].ECInstanceId, "
|
|
441
|
-
assert.equal(changes[0].$meta?.classFullName, "
|
|
442
|
-
assert.equal(changes[0].$meta?.op, "
|
|
520
|
+
assert.equal(changes[0].ECInstanceId, "0x20000000001");
|
|
521
|
+
assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
|
|
522
|
+
assert.equal(changes[0].$meta?.op, "Updated");
|
|
443
523
|
assert.equal(changes[0].$meta?.stage, "New");
|
|
524
|
+
assert.isNotNull(changes[0].LastMod);
|
|
525
|
+
assert.isNotNull(changes[0].GeometryGuid);
|
|
444
526
|
assert.equal(changes[1].ECInstanceId, "0x20000000001");
|
|
445
527
|
assert.equal(changes[1].$meta?.classFullName, "BisCore:DrawingModel");
|
|
446
528
|
assert.equal(changes[1].$meta?.op, "Updated");
|
|
447
|
-
assert.equal(changes[1].$meta?.stage, "
|
|
448
|
-
assert.
|
|
449
|
-
assert.
|
|
450
|
-
assert.equal(changes[2].ECInstanceId, "
|
|
451
|
-
assert.equal(changes[2].$meta?.classFullName, "
|
|
452
|
-
assert.equal(changes[2].$meta?.op, "
|
|
453
|
-
assert.equal(changes[2].$meta?.stage, "
|
|
454
|
-
assert.isNull(changes[2].LastMod);
|
|
455
|
-
assert.isNull(changes[2].GeometryGuid);
|
|
529
|
+
assert.equal(changes[1].$meta?.stage, "Old");
|
|
530
|
+
assert.isNull(changes[1].LastMod);
|
|
531
|
+
assert.isNull(changes[1].GeometryGuid);
|
|
532
|
+
assert.equal(changes[2].ECInstanceId, "0x20000000004");
|
|
533
|
+
assert.equal(changes[2].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
534
|
+
assert.equal(changes[2].$meta?.op, "Inserted");
|
|
535
|
+
assert.equal(changes[2].$meta?.stage, "New");
|
|
456
536
|
const el = changes.filter((x) => x.ECInstanceId === "0x20000000004")[0];
|
|
457
537
|
assert.equal(el.Rotation, 0);
|
|
458
538
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
@@ -492,50 +572,95 @@ describe("Changeset Reader API", async () => {
|
|
|
492
572
|
1,
|
|
493
573
|
],
|
|
494
574
|
stage: "New",
|
|
495
|
-
fallbackClassId: undefined,
|
|
496
575
|
});
|
|
576
|
+
};
|
|
577
|
+
if (true || "test with InMemoryInstanceCache") {
|
|
578
|
+
const env_7 = { stack: [], error: void 0, hasError: false };
|
|
579
|
+
try {
|
|
580
|
+
const reader = __addDisposableResource(env_7, SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
581
|
+
const adaptor = __addDisposableResource(env_7, new ECChangesetAdaptor(reader), false);
|
|
582
|
+
const pcu = __addDisposableResource(env_7, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemory()), false);
|
|
583
|
+
while (adaptor.step()) {
|
|
584
|
+
pcu.appendFrom(adaptor);
|
|
585
|
+
}
|
|
586
|
+
testChanges(Array.from(pcu.instances));
|
|
587
|
+
}
|
|
588
|
+
catch (e_7) {
|
|
589
|
+
env_7.error = e_7;
|
|
590
|
+
env_7.hasError = true;
|
|
591
|
+
}
|
|
592
|
+
finally {
|
|
593
|
+
__disposeResources(env_7);
|
|
594
|
+
}
|
|
497
595
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
596
|
+
if (true || "test with SqliteBackedInstanceCache") {
|
|
597
|
+
const env_8 = { stack: [], error: void 0, hasError: false };
|
|
598
|
+
try {
|
|
599
|
+
const reader = __addDisposableResource(env_8, SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
600
|
+
const adaptor = __addDisposableResource(env_8, new ECChangesetAdaptor(reader), false);
|
|
601
|
+
const pcu = __addDisposableResource(env_8, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createSqliteBacked(rwIModel)), false);
|
|
602
|
+
while (adaptor.step()) {
|
|
603
|
+
pcu.appendFrom(adaptor);
|
|
604
|
+
}
|
|
605
|
+
testChanges(Array.from(pcu.instances));
|
|
606
|
+
}
|
|
607
|
+
catch (e_8) {
|
|
608
|
+
env_8.error = e_8;
|
|
609
|
+
env_8.hasError = true;
|
|
610
|
+
}
|
|
611
|
+
finally {
|
|
612
|
+
__disposeResources(env_8);
|
|
613
|
+
}
|
|
504
614
|
}
|
|
505
615
|
}
|
|
506
616
|
if (true || "test ChangesetAdaptor.acceptClass()") {
|
|
507
|
-
const
|
|
508
|
-
try {
|
|
509
|
-
const reader = SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true });
|
|
510
|
-
const adaptor = __addDisposableResource(env_3, new ECChangesetAdaptor(reader), false);
|
|
511
|
-
adaptor.acceptClass("TestDomain.Test2dElement");
|
|
512
|
-
const cci = new PartialECChangeUnifier();
|
|
513
|
-
while (adaptor.step()) {
|
|
514
|
-
cci.appendFrom(adaptor);
|
|
515
|
-
}
|
|
516
|
-
const changes = Array.from(cci.instances);
|
|
617
|
+
const testChanges = (changes) => {
|
|
517
618
|
assert.equal(changes.length, 1);
|
|
518
619
|
assert.equal(changes[0].$meta?.classFullName, "TestDomain:Test2dElement");
|
|
620
|
+
};
|
|
621
|
+
if (true || "test with InMemoryInstanceCache") {
|
|
622
|
+
const env_9 = { stack: [], error: void 0, hasError: false };
|
|
623
|
+
try {
|
|
624
|
+
const reader = __addDisposableResource(env_9, SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
625
|
+
const adaptor = __addDisposableResource(env_9, new ECChangesetAdaptor(reader), false);
|
|
626
|
+
adaptor.acceptClass("TestDomain.Test2dElement");
|
|
627
|
+
const pcu = __addDisposableResource(env_9, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemory()), false);
|
|
628
|
+
while (adaptor.step()) {
|
|
629
|
+
pcu.appendFrom(adaptor);
|
|
630
|
+
}
|
|
631
|
+
testChanges(Array.from(pcu.instances));
|
|
632
|
+
}
|
|
633
|
+
catch (e_9) {
|
|
634
|
+
env_9.error = e_9;
|
|
635
|
+
env_9.hasError = true;
|
|
636
|
+
}
|
|
637
|
+
finally {
|
|
638
|
+
__disposeResources(env_9);
|
|
639
|
+
}
|
|
519
640
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
641
|
+
if (true || "test with SqliteBackedInstanceCache") {
|
|
642
|
+
const env_10 = { stack: [], error: void 0, hasError: false };
|
|
643
|
+
try {
|
|
644
|
+
const reader = __addDisposableResource(env_10, SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
645
|
+
const adaptor = __addDisposableResource(env_10, new ECChangesetAdaptor(reader), false);
|
|
646
|
+
adaptor.acceptClass("TestDomain.Test2dElement");
|
|
647
|
+
const pcu = __addDisposableResource(env_10, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createSqliteBacked(rwIModel)), false);
|
|
648
|
+
while (adaptor.step()) {
|
|
649
|
+
pcu.appendFrom(adaptor);
|
|
650
|
+
}
|
|
651
|
+
testChanges(Array.from(pcu.instances));
|
|
652
|
+
}
|
|
653
|
+
catch (e_10) {
|
|
654
|
+
env_10.error = e_10;
|
|
655
|
+
env_10.hasError = true;
|
|
656
|
+
}
|
|
657
|
+
finally {
|
|
658
|
+
__disposeResources(env_10);
|
|
659
|
+
}
|
|
526
660
|
}
|
|
527
661
|
}
|
|
528
662
|
if (true || "test ChangesetAdaptor.adaptor()") {
|
|
529
|
-
const
|
|
530
|
-
try {
|
|
531
|
-
const reader = SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true });
|
|
532
|
-
const adaptor = __addDisposableResource(env_4, new ECChangesetAdaptor(reader), false);
|
|
533
|
-
adaptor.acceptOp("Updated");
|
|
534
|
-
const cci = new PartialECChangeUnifier();
|
|
535
|
-
while (adaptor.step()) {
|
|
536
|
-
cci.appendFrom(adaptor);
|
|
537
|
-
}
|
|
538
|
-
const changes = Array.from(cci.instances);
|
|
663
|
+
const testChanges = (changes) => {
|
|
539
664
|
assert.equal(changes.length, 2);
|
|
540
665
|
assert.equal(changes[0].ECInstanceId, "0x20000000001");
|
|
541
666
|
assert.equal(changes[0].$meta?.classFullName, "BisCore:DrawingModel");
|
|
@@ -545,13 +670,46 @@ describe("Changeset Reader API", async () => {
|
|
|
545
670
|
assert.equal(changes[1].$meta?.classFullName, "BisCore:DrawingModel");
|
|
546
671
|
assert.equal(changes[1].$meta?.op, "Updated");
|
|
547
672
|
assert.equal(changes[1].$meta?.stage, "Old");
|
|
673
|
+
};
|
|
674
|
+
if (true || "test with InMemoryInstanceCache") {
|
|
675
|
+
const env_11 = { stack: [], error: void 0, hasError: false };
|
|
676
|
+
try {
|
|
677
|
+
const reader = __addDisposableResource(env_11, SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
678
|
+
const adaptor = __addDisposableResource(env_11, new ECChangesetAdaptor(reader), false);
|
|
679
|
+
adaptor.acceptOp("Updated");
|
|
680
|
+
const pcu = __addDisposableResource(env_11, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemory()), false);
|
|
681
|
+
while (adaptor.step()) {
|
|
682
|
+
pcu.appendFrom(adaptor);
|
|
683
|
+
}
|
|
684
|
+
testChanges(Array.from(pcu.instances));
|
|
685
|
+
}
|
|
686
|
+
catch (e_11) {
|
|
687
|
+
env_11.error = e_11;
|
|
688
|
+
env_11.hasError = true;
|
|
689
|
+
}
|
|
690
|
+
finally {
|
|
691
|
+
__disposeResources(env_11);
|
|
692
|
+
}
|
|
548
693
|
}
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
694
|
+
if (true || "test with SqliteBackedInstanceCache") {
|
|
695
|
+
const env_12 = { stack: [], error: void 0, hasError: false };
|
|
696
|
+
try {
|
|
697
|
+
const reader = __addDisposableResource(env_12, SqliteChangesetReader.openFile({ fileName: changesets[2].pathname, db: rwIModel, disableSchemaCheck: true }), false);
|
|
698
|
+
const adaptor = __addDisposableResource(env_12, new ECChangesetAdaptor(reader), false);
|
|
699
|
+
adaptor.acceptOp("Updated");
|
|
700
|
+
const pcu = __addDisposableResource(env_12, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createSqliteBacked(rwIModel)), false);
|
|
701
|
+
while (adaptor.step()) {
|
|
702
|
+
pcu.appendFrom(adaptor);
|
|
703
|
+
}
|
|
704
|
+
testChanges(Array.from(pcu.instances));
|
|
705
|
+
}
|
|
706
|
+
catch (e_12) {
|
|
707
|
+
env_12.error = e_12;
|
|
708
|
+
env_12.hasError = true;
|
|
709
|
+
}
|
|
710
|
+
finally {
|
|
711
|
+
__disposeResources(env_12);
|
|
712
|
+
}
|
|
555
713
|
}
|
|
556
714
|
}
|
|
557
715
|
rwIModel.close();
|
|
@@ -567,13 +725,13 @@ describe("Changeset Reader API", async () => {
|
|
|
567
725
|
const addPropertyAndImportSchema = async () => {
|
|
568
726
|
await rwIModel.acquireSchemaLock();
|
|
569
727
|
++nProps;
|
|
570
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
571
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
572
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
573
|
-
<ECEntityClass typeName="Test2dElement">
|
|
574
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
575
|
-
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
|
|
576
|
-
</ECEntityClass>
|
|
728
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
729
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
730
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
731
|
+
<ECEntityClass typeName="Test2dElement">
|
|
732
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
733
|
+
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
|
|
734
|
+
</ECEntityClass>
|
|
577
735
|
</ECSchema>`;
|
|
578
736
|
await rwIModel.importSchemaStrings([schema]);
|
|
579
737
|
};
|
|
@@ -710,13 +868,13 @@ describe("Changeset Reader API", async () => {
|
|
|
710
868
|
assert.isNotEmpty(rwIModelId);
|
|
711
869
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
712
870
|
// 1. Import schema with class that span overflow table.
|
|
713
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
714
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
715
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
716
|
-
<ECEntityClass typeName="Test2dElement">
|
|
717
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
718
|
-
<ECProperty propertyName="p1" typeName="string"/>
|
|
719
|
-
</ECEntityClass>
|
|
871
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
872
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
873
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
874
|
+
<ECEntityClass typeName="Test2dElement">
|
|
875
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
876
|
+
<ECProperty propertyName="p1" typeName="string"/>
|
|
877
|
+
</ECEntityClass>
|
|
720
878
|
</ECSchema>`;
|
|
721
879
|
await rwIModel.importSchemaStrings([schema]);
|
|
722
880
|
rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|