@itwin/core-backend 5.13.0-dev.1 → 5.13.0-dev.10
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 +30 -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.d.ts +4 -4
- 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/ChangesetReader.js +3 -3
- package/lib/cjs/ChangesetReader.js.map +1 -1
- package/lib/cjs/ChangesetReaderTypes.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.d.ts +3 -0
- package/lib/cjs/CheckpointManager.d.ts.map +1 -1
- package/lib/cjs/CheckpointManager.js +8 -2
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +10 -10
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +19 -8
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.d.ts +3 -3
- 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.d.ts +2 -2
- 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/ECSqlRowExecutor.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/ECSqlSyncReader.js.map +1 -1
- package/lib/cjs/EditTxn.js.map +1 -1
- package/lib/cjs/Element.d.ts +8 -8
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +2 -2
- 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 +2 -2
- 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 +60 -22
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +113 -40
- 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.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +3 -0
- 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.d.ts +5 -5
- package/lib/cjs/Model.d.ts.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/PartialChangeUnifier.js +7 -7
- package/lib/cjs/PartialChangeUnifier.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/StashManager.js.map +1 -1
- package/lib/cjs/Texture.d.ts +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.d.ts +6 -6
- package/lib/cjs/ViewDefinition.d.ts.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 +36 -36
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +28 -28
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ECSqlInstanceReshaper.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/IntegrityCheck.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/OnlineStatus.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js +33 -33
- 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/SettingsEditorImpl.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.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +19 -3
- 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/SettingsDb.js.map +1 -1
- package/lib/cjs/workspace/SettingsEditor.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +2 -0
- package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.d.ts +3 -0
- package/lib/cjs/workspace/WorkspaceEditor.d.ts.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.d.ts +4 -4
- 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/ChangesetReader.js +3 -3
- package/lib/esm/ChangesetReader.js.map +1 -1
- package/lib/esm/ChangesetReaderTypes.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.d.ts +3 -0
- package/lib/esm/CheckpointManager.d.ts.map +1 -1
- package/lib/esm/CheckpointManager.js +8 -2
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +6 -6
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.d.ts.map +1 -1
- package/lib/esm/CloudSqlite.js +19 -8
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.d.ts +3 -3
- 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.d.ts +2 -2
- 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/ECSqlRowExecutor.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/ECSqlSyncReader.js.map +1 -1
- package/lib/esm/EditTxn.js.map +1 -1
- package/lib/esm/Element.d.ts +8 -8
- package/lib/esm/Element.d.ts.map +1 -1
- package/lib/esm/Element.js +2 -2
- 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 +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 +60 -22
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +114 -41
- 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.d.ts.map +1 -1
- package/lib/esm/IModelHost.js +3 -0
- 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.d.ts +5 -5
- package/lib/esm/Model.d.ts.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/PartialChangeUnifier.js +7 -7
- package/lib/esm/PartialChangeUnifier.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/StashManager.js.map +1 -1
- package/lib/esm/Texture.d.ts +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.d.ts +6 -6
- package/lib/esm/ViewDefinition.d.ts.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ECSqlInstanceReshaper.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/IntegrityCheck.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/OnlineStatus.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js +33 -33
- 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/SettingsEditorImpl.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.d.ts.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js +19 -3
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js +11 -11
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementDrivesElement.test.js +23 -23
- package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaChangesetCanBeReversed.test.js +51 -51
- package/lib/esm/test/SchemaChangesetCanBeReversed.test.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/SquashSchemaAndDataChanges.test.js +129 -129
- package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestEditTxn.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js +53 -53
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.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 +19 -19
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +72 -72
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +4 -4
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlSyncReader.test.js +4 -4
- package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/QueryReaders.test.js +31 -31
- package/lib/esm/test/ecdb/QueryReaders.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 +176 -24
- 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 +144 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
- package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/example-code/EditTxn.test.d.ts +2 -0
- package/lib/esm/test/example-code/EditTxn.test.d.ts.map +1 -0
- package/lib/esm/test/example-code/EditTxn.test.js +47 -0
- package/lib/esm/test/example-code/EditTxn.test.js.map +1 -0
- 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 +43 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CodeSwap.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.js +56 -56
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
- package/lib/esm/test/hubaccess/SemanticRebase.test.js +345 -345
- package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/Code.test.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +291 -293
- 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 +21 -21
- 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/TestContext.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/internal/ECSqlInstanceReshaper.test.js +32 -32
- package/lib/esm/test/internal/ECSqlInstanceReshaper.test.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/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 +9 -9
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js +19 -19
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewFragmentLoading.test.js +21 -21
- package/lib/esm/test/schema/SchemaViewFragmentLoading.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewHidden.test.js +109 -109
- package/lib/esm/test/schema/SchemaViewHidden.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewKoQ.test.js +13 -13
- package/lib/esm/test/schema/SchemaViewKoQ.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewLifecycle.test.js +15 -15
- package/lib/esm/test/schema/SchemaViewLifecycle.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewValidation.test.js +8 -8
- package/lib/esm/test/schema/SchemaViewValidation.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeElementParentModel.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +313 -313
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CloudSqlite.test.js +73 -0
- package/lib/esm/test/standalone/CloudSqlite.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DeleteElements.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/EditTxn.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/ITwinWorkspace.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/IntegrityCheck.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/SQliteChangesetReaderAndChangesetECAdaptor.test.js +135 -135
- package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.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/StandaloneDb.test.js +20 -20
- package/lib/esm/test/standalone/StandaloneDb.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 +115 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
- package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsDb.js.map +1 -1
- package/lib/esm/workspace/SettingsEditor.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.d.ts +2 -0
- package/lib/esm/workspace/Workspace.d.ts.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.d.ts +3 -0
- package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +18 -20
package/lib/cjs/IModelDb.js
CHANGED
|
@@ -188,12 +188,16 @@ class IModelDb extends core_common_1.IModel {
|
|
|
188
188
|
[Symbols_1._implicitTxn];
|
|
189
189
|
/** @internal */
|
|
190
190
|
[Symbols_1._activeTxn];
|
|
191
|
-
/** Returns the
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
191
|
+
/** Returns the transaction to use for additional edits from an element, model, or aspect callback.
|
|
192
|
+
* In callbacks whose arguments provide an [[IModelDb]] but no transaction, obtain this transaction through
|
|
193
|
+
* `arg.iModel.getIndirectTxn()` and pass it to APIs that accept an [[EditTxn]].
|
|
194
|
+
*
|
|
195
|
+
* If an explicit transaction is active, this returns that transaction. Otherwise, it returns the implicit transaction
|
|
196
|
+
* used by legacy write paths. Callbacks that receive an `indirectEditTxn` argument should use that transaction directly.
|
|
197
|
+
*
|
|
198
|
+
* @note The operation that invoked the callback owns the transaction. Callback implementations must not invoke transaction
|
|
199
|
+
* lifecycle methods such as [[EditTxn.start]], [[EditTxn.end]], [[EditTxn.saveChanges]], [[EditTxn.abandonChanges]], or [[EditTxn.onClose]].
|
|
200
|
+
* @beta
|
|
197
201
|
*/
|
|
198
202
|
getIndirectTxn() {
|
|
199
203
|
return this[Symbols_1._activeTxn] ?? this[Symbols_1._implicitTxn];
|
|
@@ -359,6 +363,7 @@ class IModelDb extends core_common_1.IModel {
|
|
|
359
363
|
this.optimize();
|
|
360
364
|
IModelDb._openDbs.delete(this._fileKey);
|
|
361
365
|
this._workspace?.close();
|
|
366
|
+
this.views[Symbols_1._close]();
|
|
362
367
|
this.locks[Symbols_1._close]();
|
|
363
368
|
this._locks = undefined;
|
|
364
369
|
this._codeService?.close();
|
|
@@ -2173,7 +2178,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2173
2178
|
* @param props The data for the new model.
|
|
2174
2179
|
* @returns The newly inserted model's Id.
|
|
2175
2180
|
* @throws [[IModelError]] if insertion fails.
|
|
2176
|
-
* @deprecated in 5.9.0 -
|
|
2181
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.insertModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2177
2182
|
*/
|
|
2178
2183
|
insertModel(props) {
|
|
2179
2184
|
return this._iModel[Symbols_1._implicitTxn].insertModel(props);
|
|
@@ -2181,7 +2186,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2181
2186
|
/** Update an existing model.
|
|
2182
2187
|
* @param props the properties of the model to change
|
|
2183
2188
|
* @throws [[IModelError]] if update fails.
|
|
2184
|
-
* @deprecated in 5.9.0 -
|
|
2189
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2185
2190
|
*/
|
|
2186
2191
|
updateModel(props) {
|
|
2187
2192
|
this._iModel[Symbols_1._implicitTxn].updateModel(props);
|
|
@@ -2193,7 +2198,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2193
2198
|
* Cached [Tile]($frontend)s are only invalidated after the geometry guid of the model changes.
|
|
2194
2199
|
* @note This will throw IModelError with [IModelStatus.VersionTooOld]($core-bentley) if a version of the BisCore schema older than 1.0.11 is present in the iModel.
|
|
2195
2200
|
* @throws [[IModelError]] if the update fails.
|
|
2196
|
-
* @deprecated in 5.9.0 -
|
|
2201
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateGeometryGuid instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2197
2202
|
* @see [[TxnManager.onModelGeometryChanged]] for the event emitted in response to such a change.
|
|
2198
2203
|
*/
|
|
2199
2204
|
updateGeometryGuid(modelId) {
|
|
@@ -2202,7 +2207,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2202
2207
|
/** Delete one or more existing models.
|
|
2203
2208
|
* @param ids The Ids of the models to be deleted
|
|
2204
2209
|
* @throws [[IModelError]] if deletion fails.
|
|
2205
|
-
* @deprecated in 5.9.0 -
|
|
2210
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2206
2211
|
*/
|
|
2207
2212
|
deleteModel(ids) {
|
|
2208
2213
|
this._iModel[Symbols_1._implicitTxn].deleteModel(ids);
|
|
@@ -2426,7 +2431,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2426
2431
|
* However when `elProps.federationGuid` is not present or undefined, a new Guid will be generated and stored on the resultant element. But
|
|
2427
2432
|
* the value of `elProps.federationGuid` is *not* updated. Generally, it is best to re-read the element after inserting (e.g. via [[getElementProps]])
|
|
2428
2433
|
* if you intend to continue working with it. That will ensure its values reflect the persistent state.
|
|
2429
|
-
* @deprecated in 5.9.0 -
|
|
2434
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.insertElement instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2430
2435
|
*/
|
|
2431
2436
|
insertElement(elProps, options) {
|
|
2432
2437
|
return this._iModel[Symbols_1._implicitTxn].insertElement(elProps, options);
|
|
@@ -2441,7 +2446,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2441
2446
|
* @note The values of `classFullName` and `model` *may not be changed* by this method. Further, it will permute the `elProps` object by adding or
|
|
2442
2447
|
* overwriting their values to the correct values.
|
|
2443
2448
|
* @throws [[ITwinError]] if update fails.
|
|
2444
|
-
* @deprecated in 5.9.0 -
|
|
2449
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateElement instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2445
2450
|
*/
|
|
2446
2451
|
updateElement(elProps) {
|
|
2447
2452
|
this._iModel[Symbols_1._implicitTxn].updateElement(elProps);
|
|
@@ -2450,7 +2455,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2450
2455
|
* @param ids The set of Ids of the element(s) to be deleted
|
|
2451
2456
|
* @throws [[ITwinError]]
|
|
2452
2457
|
* @see deleteDefinitionElements
|
|
2453
|
-
* @deprecated in 5.9.0 -
|
|
2458
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteElement instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2454
2459
|
*/
|
|
2455
2460
|
deleteElement(ids) {
|
|
2456
2461
|
this._iModel[Symbols_1._implicitTxn].deleteElement(ids);
|
|
@@ -2475,7 +2480,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2475
2480
|
* DefinitionElements rather than calling this method separately for each one. Ids that are not valid DefinitionElements will be ignored.
|
|
2476
2481
|
* @returns An IdSet of the DefinitionElements that are used and were therefore not deleted.
|
|
2477
2482
|
* @see deleteElement
|
|
2478
|
-
* @deprecated in 5.9.0 -
|
|
2483
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteDefinitionElements instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2479
2484
|
*/
|
|
2480
2485
|
deleteDefinitionElements(definitionElementIds) {
|
|
2481
2486
|
return this._iModel[Symbols_1._implicitTxn].deleteDefinitionElements(definitionElementIds);
|
|
@@ -2578,21 +2583,27 @@ function processSchemaWriteStatus(status) {
|
|
|
2578
2583
|
return this._queryAspect(aspectInstanceId, aspectClassFullName);
|
|
2579
2584
|
}
|
|
2580
2585
|
static classMap = new Map();
|
|
2586
|
+
getAspectPropsFromInstanceQuery(rawInstance) {
|
|
2587
|
+
const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance, core_common_1.Base64EncodedString.reviver) : rawInstance;
|
|
2588
|
+
if (!core_bentley_1.JsonUtils.isObject(parsedRow))
|
|
2589
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadRequest, "Expected an ElementAspect instance query to return an object");
|
|
2590
|
+
const row = {};
|
|
2591
|
+
for (const [key, value] of Object.entries(parsedRow)) {
|
|
2592
|
+
const ecPropertyName = key.length === 0 ? key : key[0].toUpperCase() + key.substring(1);
|
|
2593
|
+
row[core_common_1.ECJsNames.toJsName(ecPropertyName)] = value;
|
|
2594
|
+
}
|
|
2595
|
+
const className = row.className;
|
|
2596
|
+
if (typeof className !== "string")
|
|
2597
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadRequest, "Expected an ElementAspect instance query to return a className");
|
|
2598
|
+
row.classFullName = className.replace(".", ":"); // add in property required by EntityProps
|
|
2599
|
+
delete row.className; // clear property from SELECT $ that we don't want in the final instance
|
|
2600
|
+
return row;
|
|
2601
|
+
}
|
|
2581
2602
|
runInstanceQuery(sql, elementId, excludedClassFullNames) {
|
|
2582
2603
|
return this._iModel.withQueryReader(sql, (reader) => {
|
|
2583
2604
|
const aspects = [];
|
|
2584
2605
|
for (const queryRow of reader) {
|
|
2585
|
-
const
|
|
2586
|
-
const rawInstance = queryRow[0];
|
|
2587
|
-
const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance) : rawInstance;
|
|
2588
|
-
// eslint-disable-next-line guard-for-in
|
|
2589
|
-
for (const key in parsedRow) {
|
|
2590
|
-
const jsName = core_common_1.ECJsNames.toJsName(key[0].toUpperCase() + key.substring(1));
|
|
2591
|
-
Object.defineProperty(row, jsName, { enumerable: true, configurable: true, writable: true, value: parsedRow[key] });
|
|
2592
|
-
}
|
|
2593
|
-
const aspectProps = row;
|
|
2594
|
-
aspectProps.classFullName = aspectProps.className.replace(".", ":"); // add in property required by EntityProps
|
|
2595
|
-
aspectProps.className = undefined; // clear property from SELECT $ that we don't want in the final instance
|
|
2606
|
+
const aspectProps = this.getAspectPropsFromInstanceQuery(queryRow[0]);
|
|
2596
2607
|
if ((undefined === excludedClassFullNames) || !excludedClassFullNames.has(aspectProps.classFullName))
|
|
2597
2608
|
aspects.push(this._iModel.constructEntity(aspectProps));
|
|
2598
2609
|
}
|
|
@@ -2607,9 +2618,9 @@ function processSchemaWriteStatus(status) {
|
|
|
2607
2618
|
*/
|
|
2608
2619
|
getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
|
|
2609
2620
|
if (aspectClassFullName === undefined) {
|
|
2610
|
-
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2611
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2612
|
-
UNION ALL
|
|
2621
|
+
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2622
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2623
|
+
UNION ALL
|
|
2613
2624
|
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2614
2625
|
if (allAspects.length === 0)
|
|
2615
2626
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -2628,7 +2639,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2628
2639
|
let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
|
|
2629
2640
|
if (classIdList === undefined) {
|
|
2630
2641
|
const classIds = [];
|
|
2631
|
-
const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
|
|
2642
|
+
const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
|
|
2632
2643
|
and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name=:schemaName)) and SourceECInstanceId != TargetECInstanceId`;
|
|
2633
2644
|
this._iModel.withQueryReader(sql, (reader) => {
|
|
2634
2645
|
for (const row of reader) {
|
|
@@ -2647,22 +2658,72 @@ function processSchemaWriteStatus(status) {
|
|
|
2647
2658
|
return [];
|
|
2648
2659
|
}
|
|
2649
2660
|
// Execute an instance query to retrieve all aspects from all the derived classes
|
|
2650
|
-
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2651
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2652
|
-
UNION ALL
|
|
2653
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2661
|
+
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2662
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2663
|
+
UNION ALL
|
|
2664
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2654
2665
|
) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2655
2666
|
if (aspects.length === 0)
|
|
2656
2667
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
2657
2668
|
return aspects;
|
|
2658
2669
|
}
|
|
2670
|
+
/** Stream the [[ElementAspect]] instances owned by a set of elements.
|
|
2671
|
+
*
|
|
2672
|
+
* Use this method instead of calling [[getAspects]] repeatedly when reading aspects for multiple elements or when the result may be large. The query reads all requested owners together and yields each aspect without buffering the complete result set. For a single element with a small result, [[getAspects]] provides a simpler synchronous API.
|
|
2673
|
+
*
|
|
2674
|
+
* The order is unspecified unless [[QueryAspectOptions.groupByOwner]] is true.
|
|
2675
|
+
* @param options Defines the element Ids, class filters, result ordering, and query connection.
|
|
2676
|
+
* @returns An async iterator over the matching aspects.
|
|
2677
|
+
* @beta
|
|
2678
|
+
*/
|
|
2679
|
+
async *queryAspects(options) {
|
|
2680
|
+
const elementIds = core_bentley_1.Id64.toIdSet(options.elementIds);
|
|
2681
|
+
if (elementIds.size === 0)
|
|
2682
|
+
return;
|
|
2683
|
+
const params = new core_common_1.QueryBinder().bindIdSet("elementIds", elementIds);
|
|
2684
|
+
const classFilter = options.aspectClassFullName === undefined ? "" : `AND aspect.ECClassId IN (
|
|
2685
|
+
SELECT SourceECInstanceId FROM meta.ClassHasAllBaseClasses
|
|
2686
|
+
WHERE TargetECInstanceId=ec_classid(:aspectClassFullName)
|
|
2687
|
+
)`;
|
|
2688
|
+
if (options.aspectClassFullName !== undefined)
|
|
2689
|
+
params.bindString("aspectClassFullName", options.aspectClassFullName.replace(".", ":"));
|
|
2690
|
+
const excludedClassIds = [];
|
|
2691
|
+
let excludedClassIndex = 0;
|
|
2692
|
+
for (const classFullName of options.excludedAspectClassFullNames ?? []) {
|
|
2693
|
+
const parameterName = `excludedAspectClass${excludedClassIndex++}`;
|
|
2694
|
+
excludedClassIds.push(`ec_classid(:${parameterName})`);
|
|
2695
|
+
params.bindString(parameterName, classFullName.replace(".", ":"));
|
|
2696
|
+
}
|
|
2697
|
+
const excludedClassFilter = excludedClassIds.length === 0 ? "" : `AND aspect.ECClassId NOT IN (
|
|
2698
|
+
SELECT ECInstanceId FROM meta.ECClassDef WHERE ECInstanceId IN (${excludedClassIds.join(",")})
|
|
2699
|
+
)`;
|
|
2700
|
+
const orderBy = options.groupByOwner
|
|
2701
|
+
? "ORDER BY OwnerId, AspectKind, ECClassId, ECInstanceId"
|
|
2702
|
+
: "";
|
|
2703
|
+
const sql = `WITH OwnerIds AS (SELECT id FROM IdSet(:elementIds))
|
|
2704
|
+
SELECT $ FROM (
|
|
2705
|
+
SELECT aspect.ECInstanceId, aspect.ECClassId, aspect.Element.Id AS OwnerId, 0 AS AspectKind
|
|
2706
|
+
FROM OwnerIds owners
|
|
2707
|
+
CROSS JOIN Bis.ElementMultiAspect aspect ON aspect.Element.Id=owners.id
|
|
2708
|
+
WHERE TRUE ${classFilter} ${excludedClassFilter}
|
|
2709
|
+
UNION ALL
|
|
2710
|
+
SELECT aspect.ECInstanceId, aspect.ECClassId, aspect.Element.Id AS OwnerId, 1 AS AspectKind
|
|
2711
|
+
FROM OwnerIds owners
|
|
2712
|
+
CROSS JOIN Bis.ElementUniqueAspect aspect ON aspect.Element.Id=owners.id
|
|
2713
|
+
WHERE TRUE ${classFilter} ${excludedClassFilter}
|
|
2714
|
+
) ${orderBy}
|
|
2715
|
+
OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`;
|
|
2716
|
+
const reader = this._iModel.createQueryReader(sql, params, { usePrimaryConn: options.usePrimaryConn });
|
|
2717
|
+
for await (const queryRow of reader)
|
|
2718
|
+
yield this._iModel.constructEntity(this.getAspectPropsFromInstanceQuery(queryRow[0]));
|
|
2719
|
+
}
|
|
2659
2720
|
/** Insert a new ElementAspect into the iModel.
|
|
2660
2721
|
* @param aspectProps The properties of the new ElementAspect.
|
|
2661
2722
|
* @throws [[IModelError]] if unable to insert the ElementAspect.
|
|
2662
2723
|
* @returns the id of the newly inserted aspect.
|
|
2663
2724
|
* @note Aspect Ids may collide with element Ids, so don't put both in a container like Set or Map
|
|
2664
2725
|
* use [EntityReference]($common) for that instead.
|
|
2665
|
-
* @deprecated in 5.9.0 -
|
|
2726
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.insertAspect instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2666
2727
|
*/
|
|
2667
2728
|
insertAspect(aspectProps) {
|
|
2668
2729
|
return this._iModel[Symbols_1._implicitTxn].insertAspect(aspectProps);
|
|
@@ -2670,7 +2731,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2670
2731
|
/** Update an exist ElementAspect within the iModel.
|
|
2671
2732
|
* @param aspectProps The properties to use to update the ElementAspect.
|
|
2672
2733
|
* @throws [[IModelError]] if unable to update the ElementAspect.
|
|
2673
|
-
* @deprecated in 5.9.0 -
|
|
2734
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateAspect instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2674
2735
|
*/
|
|
2675
2736
|
updateAspect(aspectProps) {
|
|
2676
2737
|
this._iModel[Symbols_1._implicitTxn].updateAspect(aspectProps);
|
|
@@ -2678,7 +2739,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2678
2739
|
/** Delete one or more ElementAspects from this iModel.
|
|
2679
2740
|
* @param aspectInstanceIds The set of instance Ids of the ElementAspect(s) to be deleted
|
|
2680
2741
|
* @throws [[IModelError]] if unable to delete the ElementAspect.
|
|
2681
|
-
* @deprecated in 5.9.0 -
|
|
2742
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteAspect instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2682
2743
|
*/
|
|
2683
2744
|
deleteAspect(aspectInstanceIds) {
|
|
2684
2745
|
this._iModel[Symbols_1._implicitTxn].deleteAspect(aspectInstanceIds);
|
|
@@ -2687,7 +2748,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2687
2748
|
* @param props The properties specifying the element to reparent and its new parent.
|
|
2688
2749
|
* @throws [[ITwinError]] if the operation fails.
|
|
2689
2750
|
* @beta
|
|
2690
|
-
* @deprecated in 5.11.0 -
|
|
2751
|
+
* @deprecated in 5.11.0 - might be removed in next major version. Use EditTxn.changeElementParent instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2691
2752
|
*/
|
|
2692
2753
|
changeElementParent(props) {
|
|
2693
2754
|
this._iModel[Symbols_1._implicitTxn].changeElementParent(props);
|
|
@@ -2696,7 +2757,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2696
2757
|
* @param props The properties specifying the element to move and its new model.
|
|
2697
2758
|
* @throws [[ITwinError]] if the operation fails.
|
|
2698
2759
|
* @beta
|
|
2699
|
-
* @deprecated in 5.11.0 -
|
|
2760
|
+
* @deprecated in 5.11.0 - might be removed in next major version. Use EditTxn.changeElementModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2700
2761
|
*/
|
|
2701
2762
|
changeElementModel(props) {
|
|
2702
2763
|
this._iModel[Symbols_1._implicitTxn].changeElementModel(props);
|
|
@@ -2715,15 +2776,27 @@ function processSchemaWriteStatus(status) {
|
|
|
2715
2776
|
static viewStoreProperty = { namespace: "itwinjs", name: "DefaultViewStore" };
|
|
2716
2777
|
_viewStore;
|
|
2717
2778
|
get hasViewStore() { return undefined !== this._viewStore; }
|
|
2718
|
-
/**
|
|
2779
|
+
/** The [[ViewStore.CloudAccess]] for this iModel.
|
|
2780
|
+
* @note The iModel owns its ViewStore (whether assigned via this setter or created by [[accessViewStore]]): it is closed when the iModel is closed.
|
|
2781
|
+
* @beta
|
|
2782
|
+
*/
|
|
2719
2783
|
get viewStore() {
|
|
2720
2784
|
if (undefined === this._viewStore)
|
|
2721
2785
|
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadRequest, "No ViewStore available");
|
|
2722
2786
|
return this._viewStore;
|
|
2723
2787
|
}
|
|
2724
2788
|
set viewStore(viewStore) {
|
|
2789
|
+
if (this._viewStore !== undefined && this._viewStore !== viewStore)
|
|
2790
|
+
this._viewStore.close();
|
|
2725
2791
|
this._viewStore = viewStore;
|
|
2726
2792
|
}
|
|
2793
|
+
/** Close the ViewStore for this iModel, if one is open. Called when the iModel is closed.
|
|
2794
|
+
* @internal
|
|
2795
|
+
*/
|
|
2796
|
+
[Symbols_1._close]() {
|
|
2797
|
+
this._viewStore?.close();
|
|
2798
|
+
this._viewStore = undefined;
|
|
2799
|
+
}
|
|
2727
2800
|
/** @beta */
|
|
2728
2801
|
async accessViewStore(args) {
|
|
2729
2802
|
let props = args.props;
|
|
@@ -2743,7 +2816,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2743
2816
|
return this._viewStore;
|
|
2744
2817
|
}
|
|
2745
2818
|
/**
|
|
2746
|
-
* @beta @deprecated in 5.9.0 -
|
|
2819
|
+
* @beta @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.saveDefaultViewStore instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2747
2820
|
*/
|
|
2748
2821
|
saveDefaultViewStore(arg) {
|
|
2749
2822
|
this._iModel[Symbols_1._implicitTxn].saveDefaultViewStore(arg);
|