@itwin/core-backend 5.8.0-dev.9 → 5.8.0
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 +23 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +248 -248
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlRowExecutor.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/ECSqlSyncReader.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 +8 -11
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.d.ts.map +1 -1
- package/lib/cjs/IpcHost.js +28 -4
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.d.ts +6 -0
- package/lib/cjs/LineStyle.d.ts.map +1 -1
- package/lib/cjs/LineStyle.js +41 -32
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.d.ts +17 -10
- package/lib/cjs/LocalHub.d.ts.map +1 -1
- package/lib/cjs/LocalHub.js +127 -29
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/StashManager.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.d.ts +2 -0
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +2 -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/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.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/SettingsDbImpl.d.ts +38 -0
- package/lib/cjs/internal/workspace/SettingsDbImpl.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/SettingsDbImpl.js +108 -0
- package/lib/cjs/internal/workspace/SettingsDbImpl.js.map +1 -0
- package/lib/cjs/internal/workspace/SettingsEditorImpl.d.ts +7 -0
- package/lib/cjs/internal/workspace/SettingsEditorImpl.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/SettingsEditorImpl.js +266 -0
- package/lib/cjs/internal/workspace/SettingsEditorImpl.js.map +1 -0
- package/lib/cjs/internal/workspace/SettingsImpl.d.ts +1 -0
- package/lib/cjs/internal/workspace/SettingsImpl.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js +8 -4
- 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/SettingsSqliteDb.d.ts +14 -0
- package/lib/cjs/internal/workspace/SettingsSqliteDb.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/SettingsSqliteDb.js +40 -0
- package/lib/cjs/internal/workspace/SettingsSqliteDb.js.map +1 -0
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +1 -0
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +57 -14
- 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.d.ts +8 -0
- package/lib/cjs/workspace/Settings.d.ts.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsDb.d.ts +109 -0
- package/lib/cjs/workspace/SettingsDb.d.ts.map +1 -0
- package/lib/cjs/workspace/SettingsDb.js +19 -0
- package/lib/cjs/workspace/SettingsDb.js.map +1 -0
- package/lib/cjs/workspace/SettingsEditor.d.ts +250 -0
- package/lib/cjs/workspace/SettingsEditor.d.ts.map +1 -0
- package/lib/cjs/workspace/SettingsEditor.js +53 -0
- package/lib/cjs/workspace/SettingsEditor.js.map +1 -0
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +42 -19
- 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 +32 -1
- package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js +19 -0
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +248 -248
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlRowExecutor.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/ECSqlSyncReader.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 +8 -11
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.d.ts.map +1 -1
- package/lib/esm/IpcHost.js +28 -4
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.d.ts +6 -0
- package/lib/esm/LineStyle.d.ts.map +1 -1
- package/lib/esm/LineStyle.js +41 -32
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.d.ts +17 -10
- package/lib/esm/LocalHub.d.ts.map +1 -1
- package/lib/esm/LocalHub.js +128 -30
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/StashManager.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.d.ts +2 -0
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +2 -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/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.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/SettingsDbImpl.d.ts +38 -0
- package/lib/esm/internal/workspace/SettingsDbImpl.d.ts.map +1 -0
- package/lib/esm/internal/workspace/SettingsDbImpl.js +104 -0
- package/lib/esm/internal/workspace/SettingsDbImpl.js.map +1 -0
- package/lib/esm/internal/workspace/SettingsEditorImpl.d.ts +7 -0
- package/lib/esm/internal/workspace/SettingsEditorImpl.d.ts.map +1 -0
- package/lib/esm/internal/workspace/SettingsEditorImpl.js +263 -0
- package/lib/esm/internal/workspace/SettingsEditorImpl.js.map +1 -0
- package/lib/esm/internal/workspace/SettingsImpl.d.ts +1 -0
- package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js +5 -2
- 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/SettingsSqliteDb.d.ts +14 -0
- package/lib/esm/internal/workspace/SettingsSqliteDb.d.ts.map +1 -0
- package/lib/esm/internal/workspace/SettingsSqliteDb.js +36 -0
- package/lib/esm/internal/workspace/SettingsSqliteDb.js.map +1 -0
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +1 -0
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js +57 -15
- 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 +64 -13
- 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/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/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.map +1 -1
- package/lib/esm/test/ecdb/QueryReaders.test.js +62 -27
- 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.d.ts.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +4 -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 +8 -0
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
- package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.js +56 -56
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
- package/lib/esm/test/hubaccess/SemanticRebase.test.js +145 -145
- 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 +44 -44
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js +13 -13
- 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/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js +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/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 +135 -135
- 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 +177 -7
- 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/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/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 +18 -0
- 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 +160 -0
- 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.d.ts +2 -0
- package/lib/esm/test/workspace/SettingsDb.test.d.ts.map +1 -0
- package/lib/esm/test/workspace/SettingsDb.test.js +465 -0
- package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -0
- package/lib/esm/workspace/Settings.d.ts +8 -0
- package/lib/esm/workspace/Settings.d.ts.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsDb.d.ts +109 -0
- package/lib/esm/workspace/SettingsDb.d.ts.map +1 -0
- package/lib/esm/workspace/SettingsDb.js +16 -0
- package/lib/esm/workspace/SettingsDb.js.map +1 -0
- package/lib/esm/workspace/SettingsEditor.d.ts +250 -0
- package/lib/esm/workspace/SettingsEditor.d.ts.map +1 -0
- package/lib/esm/workspace/SettingsEditor.js +50 -0
- package/lib/esm/workspace/SettingsEditor.js.map +1 -0
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.d.ts +42 -19
- 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 +32 -1
- package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js +19 -0
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workspace.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/Workspace.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { expect } from \"chai\";\r\nimport * as fs from \"fs-extra\";\r\nimport { extname } from \"path\";\r\nimport * as sinon from \"sinon\";\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { SettingsPriority } from \"../../workspace/Settings\";\r\nimport { Workspace, WorkspaceContainerProps, WorkspaceDbManifest, WorkspaceDbProps } from \"../../workspace/Workspace\";\r\nimport { EditableWorkspaceDb, WorkspaceEditor } from \"../../workspace/WorkspaceEditor\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\nimport { validateWorkspaceContainerId } from \"../../internal/workspace/WorkspaceImpl\";\r\nimport { _nativeDb } from \"../../internal/Symbols\";\r\nimport { CloudSqlite } from \"../../CloudSqlite\";\r\n\r\ndescribe(\"WorkspaceFile\", () => {\r\n\r\n let editor: WorkspaceEditor;\r\n let workspace: Workspace;\r\n\r\n before(() => {\r\n editor = WorkspaceEditor.construct();\r\n workspace = editor.workspace;\r\n });\r\n after(() => {\r\n editor.close();\r\n });\r\n\r\n async function makeEditableDb(props: WorkspaceDbProps & WorkspaceContainerProps, manifest: WorkspaceDbManifest): Promise<EditableWorkspaceDb> {\r\n const container = editor.getContainer({ ...props, accessToken: \"\" });\r\n const wsFile = await container.createDb({ ...props, manifest });\r\n wsFile.open();\r\n return wsFile;\r\n }\r\n\r\n function compareFiles(file1: string, file2: string) {\r\n expect(fs.lstatSync(file1).size).equal(fs.lstatSync(file2).size);\r\n expect(fs.readFileSync(file1)).to.deep.equal(fs.readFileSync(file2));\r\n }\r\n\r\n it(\"WorkspaceContainer names\", () => {\r\n const expectBadName = (names: string[]) => {\r\n names.forEach((containerId) => {\r\n expect(() => validateWorkspaceContainerId(containerId), containerId).to.throw(\"containerId\");\r\n });\r\n };\r\n\r\n expectBadName([\r\n \"\",\r\n \" \",\r\n \"12\", // too short\r\n \"a\\\\b\",\r\n `a\"b`,\r\n \"a:b\",\r\n \"a.b\",\r\n \"a?b\",\r\n \"a*b\",\r\n \"a|b\",\r\n \"123--4\",\r\n \"Abc\",\r\n \"return\\r\",\r\n \"newline\\n\",\r\n \"a\".repeat(64), // too long\r\n \"-leading-dash\",\r\n \"trailing-dash-\"]);\r\n\r\n validateWorkspaceContainerId(Guid.createValue()); // guids should be valid\r\n });\r\n\r\n it(\"WorkspaceDbNames\", () => {\r\n const expectBadName = (names: string[]) => {\r\n names.forEach((dbName) => {\r\n expect(() => CloudSqlite.validateDbName(dbName)).to.throw(\"dbName\");\r\n });\r\n };\r\n\r\n expectBadName([\r\n \"\",\r\n \" \",\r\n \"1/2\",\r\n \"a\\\\b\",\r\n `a\"b`,\r\n \"base:1.2.3\",\r\n \"a:b\",\r\n \"a.b\",\r\n \"a?b\",\r\n \"a*b\",\r\n \"a|b\",\r\n \"con\",\r\n \"prn\",\r\n \"return\\r\",\r\n \"newline\\n\",\r\n \"a\".repeat(256), // too long\r\n \" leading space\",\r\n \"trailing space \",\r\n \"per.iod\",\r\n \"hash#tag\",\r\n \"back`tick\",\r\n \"single'quote\",\r\n ]);\r\n\r\n CloudSqlite.validateDbName(Guid.createValue()); // guids should be valid\r\n });\r\n\r\n it(\"WorkspaceDb version fallback\", () => {\r\n expect(CloudSqlite.validateDbVersion(\"\" as CloudSqlite.DbVersion)).equals(\"0.0.0\");\r\n expect(CloudSqlite.makeSemverName(\"db1\", \"\" as CloudSqlite.DbVersion)).equals(\"db1:0.0.0\");\r\n expect(() => CloudSqlite.validateDbVersion(\" \" as CloudSqlite.DbVersion)).to.throw(\"invalid version specification\");\r\n });\r\n\r\n it(\"create new WorkspaceDb\", async () => {\r\n const manifest: WorkspaceDbManifest = { workspaceName: \"resources for acme users\", contactName: \"contact me\" };\r\n const wsFile = await makeEditableDb({ containerId: \"acme-engineering-inc-2\", dbName: \"db1\", baseUri: \"\", storageType: \"azure\" }, manifest);\r\n const inFile = IModelTestUtils.resolveAssetFile(\"test.setting.json5\");\r\n const testRange = new Range3d(1.2, 2.3, 3.4, 4.5, 5.6, 6.7);\r\n let blobVal = new Uint8Array(testRange.toFloat64Array().buffer);\r\n let strVal = \"this is test1\";\r\n const strRscName = \"string-resource/1\";\r\n const blobRscName = \"blob.resource:1\";\r\n const fileRscName = \"settings files/my settings/a.json5\";\r\n\r\n let testManifest = wsFile.manifest;\r\n expect(testManifest.workspaceName).equals(manifest.workspaceName);\r\n expect(testManifest.contactName).equals(manifest.contactName);\r\n\r\n wsFile.updateManifest({ ...testManifest, contactName: \"new contact\" });\r\n testManifest = wsFile.manifest;\r\n expect(testManifest.workspaceName).equals(manifest.workspaceName);\r\n expect(testManifest.contactName).equals(\"new contact\");\r\n\r\n expect(() => wsFile.addFile(fileRscName, \"bad file name\")).to.throw(\"no such file\");\r\n expect(() => wsFile.updateFile(fileRscName, inFile)).to.throw(\"error replacing\");\r\n expect(() => wsFile.removeFile(fileRscName)).to.throw(\"does not exist\");\r\n\r\n wsFile.addBlob(blobRscName, blobVal);\r\n wsFile.addString(strRscName, strVal);\r\n expect(wsFile.getString(strRscName)).equals(strVal);\r\n expect(wsFile.getBlob(blobRscName)).to.deep.equal(blobVal);\r\n strVal = \"updated string\";\r\n blobVal = Uint8Array.from([0, 1, 2, 3]);\r\n wsFile.updateString(strRscName, strVal);\r\n wsFile.updateBlob(blobRscName, blobVal);\r\n expect(wsFile.getString(strRscName)).equals(strVal);\r\n expect(wsFile.getBlob(blobRscName)).to.deep.equal(blobVal);\r\n\r\n wsFile.removeBlob(blobRscName);\r\n wsFile.removeString(strRscName);\r\n expect(wsFile.getString(strRscName)).to.be.undefined;\r\n expect(wsFile.getBlob(blobRscName)).to.be.undefined;\r\n\r\n wsFile.addFile(fileRscName, inFile);\r\n const writeFile = sinon.spy(wsFile.sqliteDb[_nativeDb], \"extractEmbeddedFile\");\r\n expect(writeFile.callCount).eq(0);\r\n const outFile = wsFile.getFile(fileRscName)!;\r\n expect(writeFile.callCount).eq(1);\r\n expect(extname(outFile)).equals(\".json5\");\r\n compareFiles(inFile, outFile);\r\n\r\n let outFile2 = wsFile.getFile(fileRscName)!;\r\n expect(writeFile.callCount).eq(1);\r\n expect(outFile).eq(outFile2);\r\n\r\n const inFile2 = IModelTestUtils.resolveAssetFile(\"TestSettings.schema.json\");\r\n wsFile.updateFile(fileRscName, inFile2);\r\n outFile2 = wsFile.getFile(fileRscName)!;\r\n expect(writeFile.callCount).eq(2);\r\n expect(outFile).eq(outFile2);\r\n compareFiles(inFile2, outFile);\r\n });\r\n\r\n it(\"load workspace settings\", async () => {\r\n const settingsFile = IModelTestUtils.resolveAssetFile(\"test.setting.json5\");\r\n const defaultDb = await makeEditableDb({ containerId: \"default\", dbName: \"db1\", baseUri: \"\", storageType: \"azure\" }, { workspaceName: \"default resources\", contactName: \"contact 123\" });\r\n defaultDb.addString(\"default-settings\", fs.readFileSync(settingsFile, \"utf-8\"));\r\n defaultDb.close();\r\n\r\n const settings = workspace.settings;\r\n await workspace.loadSettingsDictionary(\r\n { dbName: \"db1\", containerId: \"default\", baseUri: \"\", storageType: \"azure\", resourceName: \"default-settings\", priority: SettingsPriority.defaults });\r\n expect(settings.getSetting(\"editor/renderWhitespace\")).equals(\"selection\");\r\n\r\n const workspaceName = \"all fonts workspace\";\r\n const schemaFile = IModelTestUtils.resolveAssetFile(\"TestSettings.schema.json\");\r\n const fontsDb = await makeEditableDb({ containerId: \"fonts\", dbName: \"fonts\", baseUri: \"\", storageType: \"azure\" }, { workspaceName, contactName: \"font guy\" });\r\n\r\n fontsDb.addFile(\"Helvetica.ttf\", schemaFile, \"ttf\");\r\n fontsDb.close();\r\n });\r\n\r\n describe(\"getContainerAsync token resolution\", () => {\r\n afterEach(() => sinon.restore());\r\n\r\n it(\"preserves an explicitly-provided accessToken\", async () => {\r\n const requestTokenStub = sinon.stub(CloudSqlite, \"requestToken\").rejects(new Error(\"should not be called\"));\r\n const getContainerSpy = sinon.spy(workspace, \"getContainer\");\r\n const props: WorkspaceContainerProps = {\r\n containerId: \"explicit-token-test\",\r\n baseUri: \"https://some-cloud-uri\",\r\n storageType: \"azure\",\r\n accessToken: \"my-explicit-token\",\r\n };\r\n\r\n try {\r\n await workspace.getContainerAsync(props);\r\n } catch {\r\n // expected — no real cloud endpoint\r\n }\r\n expect(requestTokenStub.called).to.be.false;\r\n expect(getContainerSpy.calledOnce).to.be.true;\r\n expect(getContainerSpy.firstCall.args[0].accessToken).to.equal(\"my-explicit-token\");\r\n });\r\n\r\n it(\"uses empty token for local containers with empty baseUri\", async () => {\r\n const requestTokenStub = sinon.stub(CloudSqlite, \"requestToken\").rejects(new Error(\"should not be called\"));\r\n const getContainerSpy = sinon.spy(workspace, \"getContainer\");\r\n const props: WorkspaceContainerProps = {\r\n containerId: \"local-token-test\",\r\n baseUri: \"\",\r\n storageType: \"azure\",\r\n };\r\n\r\n await workspace.getContainerAsync(props);\r\n expect(requestTokenStub.called).to.be.false;\r\n expect(getContainerSpy.calledOnce).to.be.true;\r\n expect(getContainerSpy.firstCall.args[0].accessToken).to.equal(\"\");\r\n });\r\n\r\n it(\"calls requestToken when no accessToken is provided for a cloud container\", async () => {\r\n const requestTokenStub = sinon.stub(CloudSqlite, \"requestToken\").resolves(\"resolved-token\");\r\n const getContainerSpy = sinon.spy(workspace, \"getContainer\");\r\n const props: WorkspaceContainerProps = {\r\n containerId: \"cloud-no-token-test\",\r\n baseUri: \"https://some-cloud-uri\",\r\n storageType: \"azure\",\r\n };\r\n\r\n try {\r\n await workspace.getContainerAsync(props);\r\n } catch {\r\n // expected — no real cloud endpoint\r\n }\r\n expect(requestTokenStub.calledOnce).to.be.true;\r\n expect(getContainerSpy.calledOnce).to.be.true;\r\n expect(getContainerSpy.firstCall.args[0].accessToken).to.equal(\"resolved-token\");\r\n });\r\n });\r\n\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"Workspace.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/Workspace.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { expect } from \"chai\";\nimport * as fs from \"fs-extra\";\nimport { extname } from \"path\";\nimport * as sinon from \"sinon\";\nimport { Guid } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { SettingsPriority } from \"../../workspace/Settings\";\nimport { Workspace, WorkspaceContainerProps, WorkspaceDbManifest, WorkspaceDbProps } from \"../../workspace/Workspace\";\nimport { EditableWorkspaceDb, WorkspaceEditor } from \"../../workspace/WorkspaceEditor\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\nimport { validateWorkspaceContainerId } from \"../../internal/workspace/WorkspaceImpl\";\nimport { _nativeDb } from \"../../internal/Symbols\";\nimport { CloudSqlite } from \"../../CloudSqlite\";\nimport { BlobContainer } from \"../../BlobContainerService\";\n\ndescribe(\"WorkspaceFile\", () => {\n\n let editor: WorkspaceEditor;\n let workspace: Workspace;\n\n before(() => {\n editor = WorkspaceEditor.construct();\n workspace = editor.workspace;\n });\n after(() => {\n editor.close();\n });\n\n async function makeEditableDb(props: WorkspaceDbProps & WorkspaceContainerProps, manifest: WorkspaceDbManifest): Promise<EditableWorkspaceDb> {\n const container = editor.getContainer({ ...props, accessToken: \"\" });\n const wsFile = await container.createDb({ ...props, manifest });\n wsFile.open();\n return wsFile;\n }\n\n function compareFiles(file1: string, file2: string) {\n expect(fs.lstatSync(file1).size).equal(fs.lstatSync(file2).size);\n expect(fs.readFileSync(file1)).to.deep.equal(fs.readFileSync(file2));\n }\n\n it(\"WorkspaceContainer names\", () => {\n const expectBadName = (names: string[]) => {\n names.forEach((containerId) => {\n expect(() => validateWorkspaceContainerId(containerId), containerId).to.throw(\"containerId\");\n });\n };\n\n expectBadName([\n \"\",\n \" \",\n \"12\", // too short\n \"a\\\\b\",\n `a\"b`,\n \"a:b\",\n \"a.b\",\n \"a?b\",\n \"a*b\",\n \"a|b\",\n \"123--4\",\n \"Abc\",\n \"return\\r\",\n \"newline\\n\",\n \"a\".repeat(64), // too long\n \"-leading-dash\",\n \"trailing-dash-\"]);\n\n validateWorkspaceContainerId(Guid.createValue()); // guids should be valid\n });\n\n it(\"WorkspaceDbNames\", () => {\n const expectBadName = (names: string[]) => {\n names.forEach((dbName) => {\n expect(() => CloudSqlite.validateDbName(dbName)).to.throw(\"dbName\");\n });\n };\n\n expectBadName([\n \"\",\n \" \",\n \"1/2\",\n \"a\\\\b\",\n `a\"b`,\n \"base:1.2.3\",\n \"a:b\",\n \"a.b\",\n \"a?b\",\n \"a*b\",\n \"a|b\",\n \"con\",\n \"prn\",\n \"return\\r\",\n \"newline\\n\",\n \"a\".repeat(256), // too long\n \" leading space\",\n \"trailing space \",\n \"per.iod\",\n \"hash#tag\",\n \"back`tick\",\n \"single'quote\",\n ]);\n\n CloudSqlite.validateDbName(Guid.createValue()); // guids should be valid\n });\n\n it(\"WorkspaceDb version fallback\", () => {\n expect(CloudSqlite.validateDbVersion(\"\" as CloudSqlite.DbVersion)).equals(\"0.0.0\");\n expect(CloudSqlite.makeSemverName(\"db1\", \"\" as CloudSqlite.DbVersion)).equals(\"db1:0.0.0\");\n expect(() => CloudSqlite.validateDbVersion(\" \" as CloudSqlite.DbVersion)).to.throw(\"invalid version specification\");\n });\n\n it(\"create new WorkspaceDb\", async () => {\n const manifest: WorkspaceDbManifest = { workspaceName: \"resources for acme users\", contactName: \"contact me\" };\n const wsFile = await makeEditableDb({ containerId: \"acme-engineering-inc-2\", dbName: \"db1\", baseUri: \"\", storageType: \"azure\" }, manifest);\n const inFile = IModelTestUtils.resolveAssetFile(\"test.setting.json5\");\n const testRange = new Range3d(1.2, 2.3, 3.4, 4.5, 5.6, 6.7);\n let blobVal = new Uint8Array(testRange.toFloat64Array().buffer);\n let strVal = \"this is test1\";\n const strRscName = \"string-resource/1\";\n const blobRscName = \"blob.resource:1\";\n const fileRscName = \"settings files/my settings/a.json5\";\n\n let testManifest = wsFile.manifest;\n expect(testManifest.workspaceName).equals(manifest.workspaceName);\n expect(testManifest.contactName).equals(manifest.contactName);\n\n wsFile.updateManifest({ ...testManifest, contactName: \"new contact\" });\n testManifest = wsFile.manifest;\n expect(testManifest.workspaceName).equals(manifest.workspaceName);\n expect(testManifest.contactName).equals(\"new contact\");\n\n expect(() => wsFile.addFile(fileRscName, \"bad file name\")).to.throw(\"no such file\");\n expect(() => wsFile.updateFile(fileRscName, inFile)).to.throw(\"error replacing\");\n expect(() => wsFile.removeFile(fileRscName)).to.throw(\"does not exist\");\n\n wsFile.addBlob(blobRscName, blobVal);\n wsFile.addString(strRscName, strVal);\n expect(wsFile.getString(strRscName)).equals(strVal);\n expect(wsFile.getBlob(blobRscName)).to.deep.equal(blobVal);\n strVal = \"updated string\";\n blobVal = Uint8Array.from([0, 1, 2, 3]);\n wsFile.updateString(strRscName, strVal);\n wsFile.updateBlob(blobRscName, blobVal);\n expect(wsFile.getString(strRscName)).equals(strVal);\n expect(wsFile.getBlob(blobRscName)).to.deep.equal(blobVal);\n\n wsFile.removeBlob(blobRscName);\n wsFile.removeString(strRscName);\n expect(wsFile.getString(strRscName)).to.be.undefined;\n expect(wsFile.getBlob(blobRscName)).to.be.undefined;\n\n wsFile.addFile(fileRscName, inFile);\n const writeFile = sinon.spy(wsFile.sqliteDb[_nativeDb], \"extractEmbeddedFile\");\n expect(writeFile.callCount).eq(0);\n const outFile = wsFile.getFile(fileRscName)!;\n expect(writeFile.callCount).eq(1);\n expect(extname(outFile)).equals(\".json5\");\n compareFiles(inFile, outFile);\n\n let outFile2 = wsFile.getFile(fileRscName)!;\n expect(writeFile.callCount).eq(1);\n expect(outFile).eq(outFile2);\n\n const inFile2 = IModelTestUtils.resolveAssetFile(\"TestSettings.schema.json\");\n wsFile.updateFile(fileRscName, inFile2);\n outFile2 = wsFile.getFile(fileRscName)!;\n expect(writeFile.callCount).eq(2);\n expect(outFile).eq(outFile2);\n compareFiles(inFile2, outFile);\n });\n\n it(\"load workspace settings\", async () => {\n const settingsFile = IModelTestUtils.resolveAssetFile(\"test.setting.json5\");\n const defaultDb = await makeEditableDb({ containerId: \"default\", dbName: \"db1\", baseUri: \"\", storageType: \"azure\" }, { workspaceName: \"default resources\", contactName: \"contact 123\" });\n defaultDb.addString(\"default-settings\", fs.readFileSync(settingsFile, \"utf-8\"));\n defaultDb.close();\n\n const settings = workspace.settings;\n await workspace.loadSettingsDictionary(\n { dbName: \"db1\", containerId: \"default\", baseUri: \"\", storageType: \"azure\", resourceName: \"default-settings\", priority: SettingsPriority.defaults });\n expect(settings.getSetting(\"editor/renderWhitespace\")).equals(\"selection\");\n\n const workspaceName = \"all fonts workspace\";\n const schemaFile = IModelTestUtils.resolveAssetFile(\"TestSettings.schema.json\");\n const fontsDb = await makeEditableDb({ containerId: \"fonts\", dbName: \"fonts\", baseUri: \"\", storageType: \"azure\" }, { workspaceName, contactName: \"font guy\" });\n\n fontsDb.addFile(\"Helvetica.ttf\", schemaFile, \"ttf\");\n fontsDb.close();\n });\n\n\n\ndescribe(\"workspace db version cache key\", () => {\n afterEach(() => sinon.restore());\n\n function getContainer(containerId: string, props?: Partial<WorkspaceContainerProps>) {\n return editor.getContainer({ containerId, baseUri: \"\", storageType: \"azure\", accessToken: \"\", ...props });\n }\n\n function createFakeCloudContainer(containerId: string): CloudSqlite.CloudContainer {\n return {\n connect: () => { },\n disconnect: () => { },\n checkForChanges: () => { },\n queryDatabase: () => undefined,\n queryDatabases: () => [],\n acquireWriteLock: () => { },\n releaseWriteLock: () => { },\n abandonChanges: () => { },\n containerId,\n baseUri: \"https://example.invalid\",\n storageType: \"azure\",\n isPublic: false,\n } as unknown as CloudSqlite.CloudContainer;\n }\n\n function stubCloudLookup(containerId: string, resolveVersion: (props: WorkspaceDbProps) => string) {\n sinon.stub(CloudSqlite, \"createCloudContainer\").returns(createFakeCloudContainer(containerId));\n sinon.stub(CloudSqlite, \"querySemverMatch\").callsFake((props) => CloudSqlite.makeSemverName(props.dbName, resolveVersion(props)));\n sinon.stub(CloudSqlite, \"isSemverEditable\").returns(true);\n }\n\n it(\"local getWorkspaceDb ignores version selectors for cache identity\", async () => {\n const container = getContainer(\"workspace-cache-local\");\n await container.createDb({ dbName: \"test-db\", manifest: { workspaceName: \"workspace-cache-local\" } });\n\n const db1 = container.getWorkspaceDb({ dbName: \"test-db\" });\n const db2 = container.getWorkspaceDb({ dbName: \"test-db\", version: \"1.0.0\", includePrerelease: true });\n expect(db1).to.equal(db2);\n });\n\n it(\"local createDb with omitted dbName matches an explicit default-name lookup\", async () => {\n const container = getContainer(\"workspace-cache-local-default-name\");\n const db1 = await container.createDb({ manifest: { workspaceName: \"workspace-cache-local-default-name\" } });\n\n const db2 = container.getEditableDb({ dbName: \"workspace-db\" });\n expect(db1).to.equal(db2);\n });\n\n it(\"cloud getWorkspaceDb reuses the same instance for semver-equivalent selectors\", () => {\n const containerId = \"workspace-cache-cloud-equivalent\";\n stubCloudLookup(containerId, (props) => props.version === \"1\" ? \"1.0.0\" : (props.version ?? \"1.0.0\"));\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n const db1 = container.getWorkspaceDb({ dbName: \"test-db\", version: \"1\" });\n const db2 = container.getWorkspaceDb({ dbName: \"test-db\", version: \"1.0.0\" });\n expect(db1).to.equal(db2);\n });\n\n it(\"cloud getWorkspaceDb returns different instances for different resolved versions\", () => {\n const containerId = \"workspace-cache-cloud-different\";\n stubCloudLookup(containerId, (props) => props.version ?? \"1.0.0\");\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n const db1 = container.getWorkspaceDb({ dbName: \"test-db\", version: \"1.0.0\" });\n const db2 = container.getWorkspaceDb({ dbName: \"test-db\", version: \"2.0.0\" });\n expect(db1).to.not.equal(db2);\n });\n\n it(\"cloud getWorkspaceDb respects includePrerelease only when it resolves differently\", () => {\n const containerId = \"workspace-cache-cloud-prerelease\";\n stubCloudLookup(containerId, (props) => props.includePrerelease ? \"1.1.0-beta.1\" : \"1.0.0\");\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n const stable = container.getWorkspaceDb({ dbName: \"test-db\", version: \"*\" });\n const prerelease = container.getWorkspaceDb({ dbName: \"test-db\", version: \"*\", includePrerelease: true });\n expect(stable).to.not.equal(prerelease);\n });\n\n it(\"createDb with explicit version returns the cached editable db for that resolved version\", async () => {\n const containerId = \"workspace-create-version\";\n stubCloudLookup(containerId, (props) => props.version ?? \"0.0.0\");\n sinon.stub(CloudSqlite, \"uploadDb\").resolves();\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n const db = await container.createDb({ dbName: \"test-db\", version: \"1.0.0\", manifest: { workspaceName: \"workspace-create-version\" } });\n\n const dbAgain = container.getEditableDb({ dbName: \"test-db\", version: \"1.0.0\" });\n expect(db).to.equal(dbAgain);\n });\n\n it(\"createDb without an explicit version returns the cached editable db for version 0.0.0\", async () => {\n const containerId = \"workspace-create-default-version\";\n stubCloudLookup(containerId, (props) => props.version ?? \"0.0.0\");\n sinon.stub(CloudSqlite, \"uploadDb\").resolves();\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n const db = await container.createDb({ dbName: \"test-db\", manifest: { workspaceName: \"workspace-create-default-version\" } });\n\n const dbAgain = container.getEditableDb({ dbName: \"test-db\", version: \"0.0.0\" });\n expect(db).to.equal(dbAgain);\n });\n\n it(\"cloud createDb uploads using the requested version\", async () => {\n const containerId = \"workspace-cloud-explicit-version\";\n stubCloudLookup(containerId, (props) => props.version ?? \"0.0.0\");\n const uploadDb = sinon.stub(CloudSqlite, \"uploadDb\").resolves();\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n await container.createDb({ dbName: \"test-db\", version: \"1.2.3\", manifest: { workspaceName: \"workspace-cloud-explicit-version\" } });\n\n expect(uploadDb.calledOnce).to.be.true;\n expect(uploadDb.firstCall.args[1].dbName).to.equal(\"test-db:1.2.3\");\n });\n\n it(\"cloud createDb defaults omitted version to 0.0.0\", async () => {\n const containerId = \"workspace-cloud-default-version\";\n stubCloudLookup(containerId, (props) => props.version ?? \"0.0.0\");\n const uploadDb = sinon.stub(CloudSqlite, \"uploadDb\").resolves();\n\n const container = getContainer(containerId, { baseUri: \"https://example.invalid\" });\n await container.createDb({ dbName: \"test-db\", manifest: { workspaceName: \"workspace-cloud-default-version\" } });\n\n expect(uploadDb.calledOnce).to.be.true;\n expect(uploadDb.firstCall.args[1].dbName).to.equal(\"test-db:0.0.0\");\n });\n});\n\n describe(\"getContainerAsync token resolution\", () => {\n afterEach(() => sinon.restore());\n\n it(\"preserves an explicitly-provided accessToken\", async () => {\n const requestTokenStub = sinon.stub(CloudSqlite, \"requestToken\").rejects(new Error(\"should not be called\"));\n const getContainerSpy = sinon.spy(workspace, \"getContainer\");\n const props: WorkspaceContainerProps = {\n containerId: \"explicit-token-test\",\n baseUri: \"https://some-cloud-uri\",\n storageType: \"azure\",\n accessToken: \"my-explicit-token\",\n };\n\n try {\n await workspace.getContainerAsync(props);\n } catch {\n // expected — no real cloud endpoint\n }\n expect(requestTokenStub.called).to.be.false;\n expect(getContainerSpy.calledOnce).to.be.true;\n expect(getContainerSpy.firstCall.args[0].accessToken).to.equal(\"my-explicit-token\");\n });\n\n it(\"uses empty token for local containers with empty baseUri\", async () => {\n const requestTokenStub = sinon.stub(CloudSqlite, \"requestToken\").rejects(new Error(\"should not be called\"));\n const getContainerSpy = sinon.spy(workspace, \"getContainer\");\n const props: WorkspaceContainerProps = {\n containerId: \"local-token-test\",\n baseUri: \"\",\n storageType: \"azure\",\n };\n\n await workspace.getContainerAsync(props);\n expect(requestTokenStub.called).to.be.false;\n expect(getContainerSpy.calledOnce).to.be.true;\n expect(getContainerSpy.firstCall.args[0].accessToken).to.equal(\"\");\n });\n\n it(\"calls requestToken when no accessToken is provided for a cloud container\", async () => {\n const requestTokenStub = sinon.stub(CloudSqlite, \"requestToken\").resolves(\"resolved-token\");\n const getContainerSpy = sinon.spy(workspace, \"getContainer\");\n const props: WorkspaceContainerProps = {\n containerId: \"cloud-no-token-test\",\n baseUri: \"https://some-cloud-uri\",\n storageType: \"azure\",\n };\n\n try {\n await workspace.getContainerAsync(props);\n } catch {\n // expected — no real cloud endpoint\n }\n expect(requestTokenStub.calledOnce).to.be.true;\n expect(getContainerSpy.calledOnce).to.be.true;\n expect(getContainerSpy.firstCall.args[0].accessToken).to.equal(\"resolved-token\");\n });\n });\n\n describe(\"findContainers\", () => {\n const testContainerId = \"mock-workspace-container-id\";\n const testITwinId = \"mock-itwin-id\";\n const testIModelId = \"mock-imodel-id\";\n let savedService: BlobContainer.ContainerService | undefined;\n\n function createMockService(containers: BlobContainer.MetadataResponse[]): BlobContainer.ContainerService {\n return {\n create: async () => ({ containerId: testContainerId, baseUri: \"https://mock.blob.core/\", provider: \"azure\" as const }),\n delete: async () => {},\n queryScope: async () => ({ iTwinId: testITwinId }),\n queryMetadata: async () => ({ containerType: \"workspace\", label: \"mock\" }),\n queryContainersMetadata: async (_userToken, args) => {\n return containers.filter((c) =>\n (args.containerType === undefined || c.containerType === args.containerType) &&\n (args.iTwinId === testITwinId || args.iTwinId === undefined),\n );\n },\n updateJson: async () => {},\n requestToken: async (_props) => ({\n token: \"\",\n scope: { iTwinId: testITwinId },\n provider: \"azure\" as const,\n expiration: new Date(Date.now() + 3600000),\n metadata: { containerType: \"workspace\", label: \"mock\" },\n baseUri: \"\",\n }),\n };\n }\n\n before(() => {\n savedService = BlobContainer.service;\n });\n\n afterEach(() => {\n BlobContainer.service = savedService;\n });\n\n it(\"finds containers by iTwinId\", async () => {\n BlobContainer.service = createMockService([\n { containerId: testContainerId, containerType: \"workspace\", label: \"Test Workspace\" },\n ]);\n\n const containers = await editor.findContainers({ iTwinId: testITwinId });\n expect(containers).to.have.length(1);\n expect(containers[0].fromProps.containerId).to.equal(testContainerId);\n });\n\n it(\"finds a container by iTwinId and iModelId\", async () => {\n BlobContainer.service = createMockService([\n { containerId: \"imodel-scoped-container\", containerType: \"workspace\", label: \"iModel Workspace\" },\n ]);\n\n const containers = await editor.findContainers({ iTwinId: testITwinId, iModelId: testIModelId });\n expect(containers).to.have.length(1);\n expect(containers[0].fromProps.containerId).to.equal(\"imodel-scoped-container\");\n });\n\n it(\"returns empty array when no workspace containers are found\", async () => {\n BlobContainer.service = createMockService([]);\n\n const containers = await editor.findContainers({ iTwinId: \"nonexistent-itwin\" });\n expect(containers).to.have.length(0);\n });\n\n it(\"throws when BlobContainer.service is not available\", async () => {\n BlobContainer.service = undefined;\n\n await expect(editor.findContainers({ iTwinId: testITwinId }))\n .to.be.rejectedWith(/BlobContainer.service is not available/);\n });\n });\n\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iModelDb.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/iModelDb.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAI/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,OAAmB,CAAC;IAExB,MAAM,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;YACtF,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEzE,IAAI,CAAC;gBACH,MAAM,IAAI,GAA6B,EAAE,CAAC,MAAM,EAAE,CAAC;gBAEnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;gBAE/C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxC,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"iModelDb.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/iModelDb.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAI/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,OAAmB,CAAC;IAExB,MAAM,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;YACtF,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEzE,IAAI,CAAC;gBACH,MAAM,IAAI,GAA6B,EAAE,CAAC,MAAM,EAAE,CAAC;gBAEnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;gBAE/C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxC,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { GuidString } from \"@itwin/core-bentley\";\nimport { BriefcaseConnectionProps } from \"@itwin/core-common\";\nimport { assert } from \"chai\";\nimport { BriefcaseDb, BriefcaseManager } from \"../../core-backend\";\nimport { HubMock } from \"../../internal/HubMock\";\nimport { KnownTestLocations } from \"../KnownTestLocations\";\n\ndescribe(\"BriefcaseDb\", () => {\n let iTwinId: GuidString;\n\n before(() => {\n HubMock.startup(\"BriefcaseDbTest\", KnownTestLocations.outputDir);\n iTwinId = HubMock.iTwinId;\n });\n\n after(() => HubMock.shutdown());\n\n describe(\"toJSON\", () => {\n it(\"should include briefcaseId in the returned BriefcaseConnectionProps\", async () => {\n const iModelId = await HubMock.createNewIModel({ iModelName: \"ToJsonTest\", iTwinId });\n const briefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: \"test token\", iTwinId, iModelId });\n const db = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\n\n try {\n const json: BriefcaseConnectionProps = db.toJSON();\n\n assert.isDefined(json.briefcaseId);\n assert.equal(json.briefcaseId, db.briefcaseId);\n\n assert.isDefined(json.rootSubject);\n assert.isDefined(json.key);\n assert.isDefined(json.projectExtents);\n } finally {\n db.close();\n }\n });\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsDb.test.d.ts","sourceRoot":"","sources":["../../../../src/test/workspace/SettingsDb.test.ts"],"names":[],"mappings":""}
|