@itwin/core-backend 5.0.0-dev.98 → 5.0.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 +109 -1
- package/lib/cjs/BackendHubAccess.d.ts +1 -1
- package/lib/cjs/BackendHubAccess.js +1 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BriefcaseManager.d.ts +10 -2
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +12 -0
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.d.ts +103 -0
- package/lib/cjs/CatalogDb.d.ts.map +1 -0
- package/lib/cjs/CatalogDb.js +271 -0
- package/lib/cjs/CatalogDb.js.map +1 -0
- package/lib/cjs/Category.d.ts +41 -4
- package/lib/cjs/Category.d.ts.map +1 -1
- package/lib/cjs/Category.js +77 -4
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +12 -5
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +1 -0
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/CheckpointManager.d.ts +12 -10
- package/lib/cjs/CheckpointManager.d.ts.map +1 -1
- package/lib/cjs/CheckpointManager.js +17 -41
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.d.ts +1 -1
- package/lib/cjs/ClassRegistry.js +1 -1
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.d.ts +104 -20
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +157 -46
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeSpecs.d.ts +1 -1
- package/lib/cjs/CodeSpecs.js +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/DisplayStyle.d.ts +9 -4
- package/lib/cjs/DisplayStyle.d.ts.map +1 -1
- package/lib/cjs/DisplayStyle.js +30 -3
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.d.ts +38 -2
- package/lib/cjs/ECDb.d.ts.map +1 -1
- package/lib/cjs/ECDb.js +82 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
- package/lib/cjs/ECSchemaXmlContext.js +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.d.ts +182 -3
- package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
- package/lib/cjs/ECSqlStatement.js +225 -6
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.d.ts +217 -61
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +561 -60
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.d.ts +8 -8
- package/lib/cjs/ElementAspect.d.ts.map +1 -1
- package/lib/cjs/ElementAspect.js +9 -8
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
- package/lib/cjs/ElementTreeWalker.js +4 -0
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.d.ts +52 -8
- package/lib/cjs/Entity.d.ts.map +1 -1
- package/lib/cjs/Entity.js +63 -5
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/ExportGraphics.d.ts +54 -8
- package/lib/cjs/ExportGraphics.d.ts.map +1 -1
- package/lib/cjs/ExportGraphics.js +158 -59
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +42 -50
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +189 -90
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.d.ts +1 -1
- package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.d.ts +16 -3
- package/lib/cjs/IModelHost.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +9 -3
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/Material.d.ts +20 -1
- package/lib/cjs/Material.d.ts.map +1 -1
- package/lib/cjs/Material.js +30 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.d.ts +64 -28
- package/lib/cjs/Model.d.ts.map +1 -1
- package/lib/cjs/Model.js +115 -27
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeHost.d.ts.map +1 -1
- package/lib/cjs/NativeHost.js +4 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/Relationship.d.ts.map +1 -1
- package/lib/cjs/Relationship.js +2 -0
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/SQLiteDb.d.ts +1 -1
- package/lib/cjs/SQLiteDb.d.ts.map +1 -1
- package/lib/cjs/SQLiteDb.js +6 -5
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/SqliteStatement.d.ts +1 -1
- package/lib/cjs/SqliteStatement.d.ts.map +1 -1
- package/lib/cjs/SqliteStatement.js +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/TextAnnotationElement.d.ts +2 -2
- package/lib/cjs/TextAnnotationElement.js +2 -2
- package/lib/cjs/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/Texture.d.ts +1 -1
- package/lib/cjs/Texture.js +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +4 -4
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +2 -1
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.d.ts +114 -14
- package/lib/cjs/ViewDefinition.d.ts.map +1 -1
- package/lib/cjs/ViewDefinition.js +222 -14
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js +3 -3
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.d.ts.map +1 -1
- package/lib/cjs/ViewStore.js +29 -28
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/core-backend.d.ts +1 -1
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +21 -1
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js +6 -4
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.d.ts +28 -0
- package/lib/cjs/internal/ElementLRUCache.d.ts.map +1 -0
- package/lib/cjs/internal/ElementLRUCache.js +120 -0
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -0
- package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +4 -5
- package/lib/cjs/internal/HubMock.d.ts.map +1 -0
- package/lib/cjs/{HubMock.js → internal/HubMock.js} +22 -11
- package/lib/cjs/internal/HubMock.js.map +1 -0
- package/lib/cjs/internal/Symbols.d.ts +2 -2
- package/lib/cjs/internal/Symbols.d.ts.map +1 -1
- package/lib/cjs/internal/Symbols.js +3 -3
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +35 -104
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +4 -3
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +2 -2
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +6 -13
- 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 +2 -7
- package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.d.ts +1 -1
- package/lib/esm/BackendHubAccess.js +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts +10 -2
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +12 -0
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.d.ts +103 -0
- package/lib/esm/CatalogDb.d.ts.map +1 -0
- package/lib/esm/CatalogDb.js +267 -0
- package/lib/esm/CatalogDb.js.map +1 -0
- package/lib/esm/Category.d.ts +41 -4
- package/lib/esm/Category.d.ts.map +1 -1
- package/lib/esm/Category.js +77 -4
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.d.ts.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +12 -5
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +1 -0
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/CheckpointManager.d.ts +12 -10
- package/lib/esm/CheckpointManager.d.ts.map +1 -1
- package/lib/esm/CheckpointManager.js +18 -42
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.d.ts +1 -1
- package/lib/esm/ClassRegistry.js +1 -1
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.d.ts +104 -20
- package/lib/esm/CloudSqlite.d.ts.map +1 -1
- package/lib/esm/CloudSqlite.js +157 -46
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeSpecs.d.ts +1 -1
- package/lib/esm/CodeSpecs.js +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/DisplayStyle.d.ts +9 -4
- package/lib/esm/DisplayStyle.d.ts.map +1 -1
- package/lib/esm/DisplayStyle.js +30 -3
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.d.ts +38 -2
- package/lib/esm/ECDb.d.ts.map +1 -1
- package/lib/esm/ECDb.js +83 -2
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.d.ts +1 -1
- package/lib/esm/ECSchemaXmlContext.js +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.d.ts +182 -3
- package/lib/esm/ECSqlStatement.d.ts.map +1 -1
- package/lib/esm/ECSqlStatement.js +223 -5
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.d.ts +217 -61
- package/lib/esm/Element.d.ts.map +1 -1
- package/lib/esm/Element.js +564 -63
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.d.ts +8 -8
- package/lib/esm/ElementAspect.d.ts.map +1 -1
- package/lib/esm/ElementAspect.js +9 -8
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementTreeWalker.d.ts.map +1 -1
- package/lib/esm/ElementTreeWalker.js +4 -0
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.d.ts +52 -8
- package/lib/esm/Entity.d.ts.map +1 -1
- package/lib/esm/Entity.js +63 -5
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/ExportGraphics.d.ts +54 -8
- package/lib/esm/ExportGraphics.d.ts.map +1 -1
- package/lib/esm/ExportGraphics.js +156 -58
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +42 -50
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +192 -93
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.d.ts +1 -1
- package/lib/esm/IModelElementCloneContext.d.ts.map +1 -1
- package/lib/esm/IModelElementCloneContext.js +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.d.ts +16 -3
- package/lib/esm/IModelHost.d.ts.map +1 -1
- package/lib/esm/IModelHost.js +9 -3
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/Material.d.ts +20 -1
- package/lib/esm/Material.d.ts.map +1 -1
- package/lib/esm/Material.js +31 -2
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.d.ts +64 -28
- package/lib/esm/Model.d.ts.map +1 -1
- package/lib/esm/Model.js +116 -28
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeHost.d.ts.map +1 -1
- package/lib/esm/NativeHost.js +4 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/Relationship.d.ts.map +1 -1
- package/lib/esm/Relationship.js +2 -0
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/SQLiteDb.d.ts +1 -1
- package/lib/esm/SQLiteDb.d.ts.map +1 -1
- package/lib/esm/SQLiteDb.js +6 -5
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/SqliteStatement.d.ts +1 -1
- package/lib/esm/SqliteStatement.d.ts.map +1 -1
- package/lib/esm/SqliteStatement.js +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/TextAnnotationElement.d.ts +2 -2
- package/lib/esm/TextAnnotationElement.js +2 -2
- package/lib/esm/TextAnnotationElement.js.map +1 -1
- package/lib/esm/Texture.d.ts +1 -1
- package/lib/esm/Texture.js +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +4 -4
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +2 -1
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.d.ts +114 -14
- package/lib/esm/ViewDefinition.d.ts.map +1 -1
- package/lib/esm/ViewDefinition.js +223 -15
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js +3 -3
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.d.ts.map +1 -1
- package/lib/esm/ViewStore.js +30 -29
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/core-backend.d.ts +1 -1
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +21 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js +7 -5
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.d.ts +28 -0
- package/lib/esm/internal/ElementLRUCache.d.ts.map +1 -0
- package/lib/esm/internal/ElementLRUCache.js +116 -0
- package/lib/esm/internal/ElementLRUCache.js.map +1 -0
- package/lib/esm/{HubMock.d.ts → internal/HubMock.d.ts} +4 -5
- package/lib/esm/internal/HubMock.d.ts.map +1 -0
- package/lib/esm/{HubMock.js → internal/HubMock.js} +22 -11
- package/lib/esm/internal/HubMock.js.map +1 -0
- package/lib/esm/internal/Symbols.d.ts +2 -2
- package/lib/esm/internal/Symbols.d.ts.map +1 -1
- package/lib/esm/internal/Symbols.js +2 -2
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +2 -16
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js +36 -100
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js +4 -3
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +2 -2
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.d.ts +2 -0
- package/lib/esm/test/ElementLRUCache.test.d.ts.map +1 -0
- package/lib/esm/test/ElementLRUCache.test.js +212 -0
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -0
- package/lib/esm/test/IModelTestUtils.d.ts +6 -2
- package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
- package/lib/esm/test/IModelTestUtils.js +37 -6
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js +1 -0
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +2 -0
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.d.ts +1 -1
- package/lib/esm/test/TestUtils.d.ts.map +1 -1
- package/lib/esm/test/TestUtils.js +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +12 -1
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +4 -4
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +1 -0
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +6 -23
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +253 -163
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js +2 -0
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +5 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +10 -0
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js +4 -3
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js +1 -0
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +65 -13
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js +1 -0
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +2 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +58 -41
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js +49 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.d.ts +2 -0
- package/lib/esm/test/standalone/IModelLimits.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/IModelLimits.test.js +103 -0
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -0
- package/lib/esm/test/standalone/IModelWrite.test.js +8 -1
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js +1 -0
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js +25 -5
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js +4 -3
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Workspace.d.ts +6 -13
- 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 +2 -7
- package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
- package/lib/cjs/HubMock.d.ts.map +0 -1
- package/lib/cjs/HubMock.js.map +0 -1
- package/lib/esm/HubMock.d.ts.map +0 -1
- package/lib/esm/HubMock.js.map +0 -1
- package/lib/esm/test/CloudSqliteMock.d.ts +0 -37
- package/lib/esm/test/CloudSqliteMock.d.ts.map +0 -1
- package/lib/esm/test/CloudSqliteMock.js +0 -117
- package/lib/esm/test/CloudSqliteMock.js.map +0 -1
|
@@ -3,15 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { FilePropertyProps } from "@itwin/core-common";
|
|
5
5
|
import { Settings } from "../../workspace/Settings";
|
|
6
|
-
import { Workspace, WorkspaceContainer, WorkspaceContainerId, WorkspaceDb,
|
|
6
|
+
import { Workspace, WorkspaceContainer, WorkspaceContainerId, WorkspaceDb, WorkspaceDbLoadError, WorkspaceDbProps, WorkspaceOpts } from "../../workspace/Workspace";
|
|
7
7
|
import { WorkspaceEditor } from "../../workspace/WorkspaceEditor";
|
|
8
8
|
/** file extension for local WorkspaceDbs */
|
|
9
9
|
export declare const workspaceDbFileExt = "itwin-workspace";
|
|
10
10
|
export declare function constructWorkspaceDb(props: WorkspaceDbProps, container: WorkspaceContainer): WorkspaceDb;
|
|
11
11
|
export declare function constructWorkspace(settings: Settings, opts?: WorkspaceOpts): OwnedWorkspace;
|
|
12
12
|
export declare function constructWorkspaceEditor(): WorkspaceEditor;
|
|
13
|
-
export declare function noLeadingOrTrailingSpaces(name: string, msg: string): void;
|
|
14
|
-
export declare function validateWorkspaceDbName(dbName: WorkspaceDbName): void;
|
|
15
13
|
/**
|
|
16
14
|
* Validate that a WorkspaceContainer.Id is valid.
|
|
17
15
|
* The rules for ContainerIds (from Azure, see https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata):
|
|
@@ -20,20 +18,8 @@ export declare function validateWorkspaceDbName(dbName: WorkspaceDbName): void;
|
|
|
20
18
|
* - may not be shorter than 3 or longer than 63 characters
|
|
21
19
|
*/
|
|
22
20
|
export declare function validateWorkspaceContainerId(id: WorkspaceContainerId): void;
|
|
23
|
-
export declare function validateWorkspaceDbVersion(version?: WorkspaceDbVersion): string;
|
|
24
|
-
/**
|
|
25
|
-
* Parse the name stored in a WorkspaceContainer into the dbName and version number. A single WorkspaceContainer may hold
|
|
26
|
-
* many versions of the same WorkspaceDb. The name of the Db in the WorkspaceContainer is in the format "name:version". This
|
|
27
|
-
* function splits them into separate strings.
|
|
28
|
-
*/
|
|
29
|
-
export declare function parseWorkspaceDbFileName(dbFileName: WorkspaceDbFullName): {
|
|
30
|
-
dbName: WorkspaceDbName;
|
|
31
|
-
version: WorkspaceDbVersion;
|
|
32
|
-
};
|
|
33
|
-
/** Create a dbName for a WorkspaceDb from its base name and version. This will be in the format "name:version" */
|
|
34
|
-
export declare function makeWorkspaceDbFileName(dbName: WorkspaceDbName, version?: WorkspaceDbVersion): WorkspaceDbName;
|
|
35
21
|
export declare const workspaceManifestProperty: FilePropertyProps;
|
|
36
|
-
export declare function throwWorkspaceDbLoadErrors(
|
|
22
|
+
export declare function throwWorkspaceDbLoadErrors(message: string, wsLoadErrors: WorkspaceDbLoadError[]): never;
|
|
37
23
|
export interface OwnedWorkspace extends Workspace {
|
|
38
24
|
/** Only the owner of a Workspace may close it. */
|
|
39
25
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceImpl.d.ts","sourceRoot":"","sources":["../../../../src/internal/workspace/WorkspaceImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;
|
|
1
|
+
{"version":3,"file":"WorkspaceImpl.d.ts","sourceRoot":"","sources":["../../../../src/internal/workspace/WorkspaceImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,OAAO,EAAoB,iBAAiB,EAA+C,MAAM,oBAAoB,CAAC;AAMtH,OAAO,EAAe,QAAQ,EAAgE,MAAM,0BAA0B,CAAC;AAE/H,OAAO,EACsB,SAAS,EAAE,kBAAkB,EAAE,oBAAoB,EAA2B,WAAW,EAC/F,oBAAoB,EAA0F,gBAAgB,EAC1F,aAAa,EACvE,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAqH,eAAe,EAAE,MAAM,iCAAiC,CAAC;AASrL,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAgqBpD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,GAAG,WAAW,CAExG;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,cAAc,CAE3F;AAED,wBAAgB,wBAAwB,IAAI,eAAe,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,oBAAoB,QAGpE;AAED,eAAO,MAAM,yBAAyB,EAAE,iBAAgE,CAAC;AAOzG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAEvG;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -11,17 +11,11 @@ exports.workspaceManifestProperty = exports.workspaceDbFileExt = void 0;
|
|
|
11
11
|
exports.constructWorkspaceDb = constructWorkspaceDb;
|
|
12
12
|
exports.constructWorkspace = constructWorkspace;
|
|
13
13
|
exports.constructWorkspaceEditor = constructWorkspaceEditor;
|
|
14
|
-
exports.noLeadingOrTrailingSpaces = noLeadingOrTrailingSpaces;
|
|
15
|
-
exports.validateWorkspaceDbName = validateWorkspaceDbName;
|
|
16
14
|
exports.validateWorkspaceContainerId = validateWorkspaceContainerId;
|
|
17
|
-
exports.validateWorkspaceDbVersion = validateWorkspaceDbVersion;
|
|
18
|
-
exports.parseWorkspaceDbFileName = parseWorkspaceDbFileName;
|
|
19
|
-
exports.makeWorkspaceDbFileName = makeWorkspaceDbFileName;
|
|
20
15
|
exports.throwWorkspaceDbLoadErrors = throwWorkspaceDbLoadErrors;
|
|
21
16
|
const crypto_1 = require("crypto");
|
|
22
17
|
const fs = require("fs-extra");
|
|
23
18
|
const path_1 = require("path");
|
|
24
|
-
const semver = require("semver");
|
|
25
19
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
26
20
|
const core_common_1 = require("@itwin/core-common");
|
|
27
21
|
const CloudSqlite_1 = require("../../CloudSqlite");
|
|
@@ -42,7 +36,7 @@ exports.workspaceDbFileExt = "itwin-workspace";
|
|
|
42
36
|
function makeWorkspaceCloudCache(arg) {
|
|
43
37
|
const cache = CloudSqlite_1.CloudSqlite.CloudCaches.getCache(arg);
|
|
44
38
|
if (undefined === cache.workspaceContainers) // if we just created this container, add the map.
|
|
45
|
-
cache
|
|
39
|
+
CloudSqlite_1.CloudSqlite.addHiddenProperty(cache, "workspaceContainers", new Map());
|
|
46
40
|
return cache;
|
|
47
41
|
}
|
|
48
42
|
function getContainerFullId(props) {
|
|
@@ -56,20 +50,20 @@ function getWorkspaceCloudContainer(props, cache) {
|
|
|
56
50
|
cloudContainer = CloudSqlite_1.CloudSqlite.createCloudContainer(props);
|
|
57
51
|
cache.workspaceContainers.set(id, cloudContainer);
|
|
58
52
|
cloudContainer.connectCount = 0;
|
|
59
|
-
cloudContainer
|
|
53
|
+
CloudSqlite_1.CloudSqlite.addHiddenProperty(cloudContainer, "sharedConnect", function () {
|
|
60
54
|
if (this.connectCount++ === 0) {
|
|
61
55
|
this.connect(cache);
|
|
62
56
|
return true;
|
|
63
57
|
}
|
|
64
58
|
return false;
|
|
65
|
-
};
|
|
66
|
-
cloudContainer
|
|
59
|
+
});
|
|
60
|
+
CloudSqlite_1.CloudSqlite.addHiddenProperty(cloudContainer, "sharedDisconnect", function () {
|
|
67
61
|
if (--this.connectCount <= 0) {
|
|
68
62
|
this.disconnect();
|
|
69
63
|
cache.workspaceContainers.delete(id);
|
|
70
64
|
this.connectCount = 0;
|
|
71
65
|
}
|
|
72
|
-
};
|
|
66
|
+
});
|
|
73
67
|
return cloudContainer;
|
|
74
68
|
}
|
|
75
69
|
class WorkspaceContainerImpl {
|
|
@@ -107,31 +101,14 @@ class WorkspaceContainerImpl {
|
|
|
107
101
|
}
|
|
108
102
|
}
|
|
109
103
|
resolveDbFileName(props) {
|
|
110
|
-
const
|
|
111
|
-
if (undefined ===
|
|
104
|
+
const container = this.cloudContainer;
|
|
105
|
+
if (undefined === container)
|
|
112
106
|
return (0, path_1.join)(this.dirName, `${props.dbName}.${exports.workspaceDbFileExt}`); // local file, versions not allowed
|
|
113
|
-
|
|
114
|
-
const dbs = cloudContainer.queryDatabases(`${dbName}*`); // get all databases that start with dbName
|
|
115
|
-
const versions = [];
|
|
116
|
-
for (const db of dbs) {
|
|
117
|
-
const thisDb = parseWorkspaceDbFileName(db);
|
|
118
|
-
if (thisDb.dbName === dbName && "string" === typeof thisDb.version && thisDb.version.length > 0)
|
|
119
|
-
versions.push(thisDb.version);
|
|
120
|
-
}
|
|
121
|
-
if (versions.length === 0)
|
|
122
|
-
versions[0] = "0.0.0";
|
|
123
|
-
const range = props.version ?? "*";
|
|
124
|
-
try {
|
|
125
|
-
const version = semver.maxSatisfying(versions, range, { loose: true, includePrerelease: props.includePrerelease });
|
|
126
|
-
if (version)
|
|
127
|
-
return `${dbName}:${version}`;
|
|
128
|
-
}
|
|
129
|
-
catch { }
|
|
130
|
-
throwWorkspaceDbLoadError(`No version of '${dbName}' available for "${range}"`, props);
|
|
107
|
+
return CloudSqlite_1.CloudSqlite.querySemverMatch({ ...props, container, dbName: workspaceDbNameWithDefault(props.dbName) });
|
|
131
108
|
}
|
|
132
109
|
addWorkspaceDb(toAdd) {
|
|
133
110
|
if (undefined !== this._wsDbs.get(toAdd.dbName))
|
|
134
|
-
|
|
111
|
+
core_common_1.WorkspaceError.throwError("already-exists", { message: `workspaceDb '${toAdd.dbName}' already exists in workspace` });
|
|
135
112
|
this._wsDbs.set(toAdd.dbName, toAdd);
|
|
136
113
|
}
|
|
137
114
|
getWorkspaceDb(props) {
|
|
@@ -176,7 +153,7 @@ class WorkspaceDbImpl {
|
|
|
176
153
|
}
|
|
177
154
|
constructor(props, container) {
|
|
178
155
|
this.dbName = workspaceDbNameWithDefault(props.dbName);
|
|
179
|
-
|
|
156
|
+
CloudSqlite_1.CloudSqlite.validateDbName(this.dbName);
|
|
180
157
|
this._container = container;
|
|
181
158
|
this.dbFileName = container.resolveDbFileName(props);
|
|
182
159
|
container.addWorkspaceDb(this);
|
|
@@ -197,7 +174,7 @@ class WorkspaceDbImpl {
|
|
|
197
174
|
const cloudContainer = this.container.cloudContainer;
|
|
198
175
|
if (undefined === cloudContainer)
|
|
199
176
|
return "1.0.0"; // local file, no versioning. return default
|
|
200
|
-
return
|
|
177
|
+
return CloudSqlite_1.CloudSqlite.parseDbFileName(this.dbFileName).version;
|
|
201
178
|
}
|
|
202
179
|
get manifest() {
|
|
203
180
|
return this._manifest ??= this.withOpenDb((db) => {
|
|
@@ -264,7 +241,7 @@ class WorkspaceDbImpl {
|
|
|
264
241
|
prefetch(opts) {
|
|
265
242
|
const cloudContainer = this._container.cloudContainer;
|
|
266
243
|
if (cloudContainer === undefined)
|
|
267
|
-
|
|
244
|
+
core_common_1.WorkspaceError.throwError("no-cloud-container", { message: "no cloud container to prefetch" });
|
|
268
245
|
return CloudSqlite_1.CloudSqlite.startCloudPrefetch(cloudContainer, this.dbFileName, opts);
|
|
269
246
|
}
|
|
270
247
|
queryResources(args) {
|
|
@@ -307,7 +284,7 @@ class WorkspaceImpl {
|
|
|
307
284
|
}
|
|
308
285
|
addContainer(toAdd) {
|
|
309
286
|
if (undefined !== this._containers.get(toAdd.id))
|
|
310
|
-
|
|
287
|
+
core_common_1.WorkspaceError.throwError("container-exists", { message: `container ${toAdd.id} already exists in workspace` });
|
|
311
288
|
this._containers.set(toAdd.id, toAdd);
|
|
312
289
|
}
|
|
313
290
|
findContainer(containerId) {
|
|
@@ -424,7 +401,7 @@ class EditorImpl {
|
|
|
424
401
|
static _cacheName = workspaceEditorName;
|
|
425
402
|
static async initializeWorkspace(args) {
|
|
426
403
|
const props = await this.createBlobContainer({ scope: args.scope, metadata: { ...args.metadata, containerType: "workspace" } });
|
|
427
|
-
const dbFullName =
|
|
404
|
+
const dbFullName = CloudSqlite_1.CloudSqlite.makeSemverName(workspaceDbNameWithDefault(args.dbName), "0.0.0");
|
|
428
405
|
await super._initializeDb({ ...args, props, dbName: dbFullName, dbType: WorkspaceSqliteDb_1.WorkspaceSqliteDb, blockSize: "4M" });
|
|
429
406
|
return props;
|
|
430
407
|
}
|
|
@@ -464,28 +441,20 @@ class EditorContainerImpl extends WorkspaceContainerImpl {
|
|
|
464
441
|
};
|
|
465
442
|
}
|
|
466
443
|
async createNewWorkspaceDbVersion(args) {
|
|
467
|
-
const
|
|
468
|
-
if (undefined ===
|
|
469
|
-
|
|
470
|
-
const
|
|
471
|
-
|
|
472
|
-
const newVersion = semver.inc(oldDb.version, args.versionType, args.identifier);
|
|
473
|
-
if (!newVersion)
|
|
474
|
-
throwWorkspaceDbLoadError("invalid version", args.fromProps ?? {});
|
|
475
|
-
const newName = makeWorkspaceDbFileName(oldDb.dbName, newVersion);
|
|
476
|
-
await cloudContainer.copyDatabase(oldName, newName);
|
|
477
|
-
// return the old and new db names and versions
|
|
478
|
-
return { oldDb, newDb: { dbName: oldDb.dbName, version: newVersion } };
|
|
444
|
+
const container = this.cloudContainer;
|
|
445
|
+
if (undefined === container)
|
|
446
|
+
core_common_1.WorkspaceError.throwError("no-cloud-container", { message: "versions require cloud containers" });
|
|
447
|
+
const fromDb = { ...args.fromProps, dbName: workspaceDbNameWithDefault(args.fromProps?.dbName) };
|
|
448
|
+
return CloudSqlite_1.CloudSqlite.createNewDbVersion(container, { ...args, fromDb });
|
|
479
449
|
}
|
|
480
450
|
getWorkspaceDb(props) {
|
|
481
451
|
return this.getEditableDb(props);
|
|
482
452
|
}
|
|
483
453
|
getEditableDb(props) {
|
|
484
454
|
const db = this._wsDbs.get(workspaceDbNameWithDefault(props.dbName)) ?? new EditableDbImpl(props, this);
|
|
485
|
-
|
|
486
|
-
if (!isPrerelease && this.cloudContainer && this.cloudContainer.queryDatabase(db.dbFileName)?.state !== "copied") {
|
|
455
|
+
if (this.cloudContainer && !CloudSqlite_1.CloudSqlite.isSemverEditable(db.dbFileName, this.cloudContainer)) {
|
|
487
456
|
this._wsDbs.delete(workspaceDbNameWithDefault(props.dbName));
|
|
488
|
-
|
|
457
|
+
core_common_1.CloudSqliteError.throwError("already-published", { message: `${db.dbFileName} has been published and is not editable. Make a new version first.` });
|
|
489
458
|
}
|
|
490
459
|
return db;
|
|
491
460
|
}
|
|
@@ -517,7 +486,7 @@ class EditorContainerImpl extends WorkspaceContainerImpl {
|
|
|
517
486
|
if (fs.existsSync(tempDbFile))
|
|
518
487
|
IModelJsFs_1.IModelJsFs.removeSync(tempDbFile);
|
|
519
488
|
WorkspaceEditor_1.WorkspaceEditor.createEmptyDb({ localFileName: tempDbFile, manifest: args.manifest });
|
|
520
|
-
await CloudSqlite_1.CloudSqlite.uploadDb(this.cloudContainer, { localFileName: tempDbFile, dbName:
|
|
489
|
+
await CloudSqlite_1.CloudSqlite.uploadDb(this.cloudContainer, { localFileName: tempDbFile, dbName: CloudSqlite_1.CloudSqlite.makeSemverName(workspaceDbNameWithDefault(args.dbName)) });
|
|
521
490
|
IModelJsFs_1.IModelJsFs.removeSync(tempDbFile);
|
|
522
491
|
}
|
|
523
492
|
return this.getWorkspaceDb(args);
|
|
@@ -529,23 +498,22 @@ class EditableDbImpl extends WorkspaceDbImpl {
|
|
|
529
498
|
return this._container;
|
|
530
499
|
}
|
|
531
500
|
static validateResourceName(name) {
|
|
532
|
-
if (name.trim() !== name)
|
|
533
|
-
|
|
534
|
-
}
|
|
501
|
+
if (name.trim() !== name)
|
|
502
|
+
core_common_1.WorkspaceError.throwError("invalid-name", { message: "resource name may not have leading or trailing spaces" });
|
|
535
503
|
if (name.length > 1024) {
|
|
536
|
-
|
|
504
|
+
core_common_1.WorkspaceError.throwError("invalid-name", { message: "resource name too long" });
|
|
537
505
|
}
|
|
538
506
|
}
|
|
539
507
|
validateResourceSize(val) {
|
|
540
508
|
const len = typeof val === "string" ? val.length : val.byteLength;
|
|
541
509
|
if (len > (1024 * 1024 * 1024)) // one gigabyte
|
|
542
|
-
|
|
510
|
+
core_common_1.WorkspaceError.throwError("too-large", { message: "value is too large" });
|
|
543
511
|
}
|
|
544
512
|
get cloudProps() {
|
|
545
513
|
const props = this._container.cloudProps;
|
|
546
514
|
if (props === undefined)
|
|
547
515
|
return undefined;
|
|
548
|
-
const parsed =
|
|
516
|
+
const parsed = CloudSqlite_1.CloudSqlite.parseDbFileName(this.dbFileName);
|
|
549
517
|
return { ...props, dbName: parsed.dbName, version: parsed.version };
|
|
550
518
|
}
|
|
551
519
|
open() {
|
|
@@ -572,8 +540,8 @@ class EditableDbImpl extends WorkspaceDbImpl {
|
|
|
572
540
|
const rc = stmt.step();
|
|
573
541
|
if (core_bentley_1.DbResult.BE_SQLITE_DONE !== rc) {
|
|
574
542
|
if (core_bentley_1.DbResult.BE_SQLITE_CONSTRAINT_PRIMARYKEY === rc)
|
|
575
|
-
|
|
576
|
-
|
|
543
|
+
core_common_1.WorkspaceError.throwError("resource-exists", { message: `resource "${rscName}" already exists` });
|
|
544
|
+
core_common_1.WorkspaceError.throwError("write-error", { message: `workspace [${sql}], rc=${rc}` });
|
|
577
545
|
}
|
|
578
546
|
});
|
|
579
547
|
this.sqliteDb.saveChanges();
|
|
@@ -631,7 +599,7 @@ class EditableDbImpl extends WorkspaceDbImpl {
|
|
|
631
599
|
removeFile(rscName) {
|
|
632
600
|
const file = this.queryFileResource(rscName);
|
|
633
601
|
if (undefined === file)
|
|
634
|
-
|
|
602
|
+
core_common_1.WorkspaceError.throwError("does-not-exist", { message: `file resource "${rscName}" does not exist` });
|
|
635
603
|
if (file && fs.existsSync(file.localFileName))
|
|
636
604
|
fs.unlinkSync(file.localFileName);
|
|
637
605
|
this.sqliteDb[Symbols_1._nativeDb].removeEmbeddedFile(rscName);
|
|
@@ -646,15 +614,6 @@ function constructWorkspace(settings, opts) {
|
|
|
646
614
|
function constructWorkspaceEditor() {
|
|
647
615
|
return new EditorImpl();
|
|
648
616
|
}
|
|
649
|
-
function noLeadingOrTrailingSpaces(name, msg) {
|
|
650
|
-
if (name.trim() !== name)
|
|
651
|
-
throw new Error(`${msg} [${name}] may not have leading or trailing spaces`);
|
|
652
|
-
}
|
|
653
|
-
function validateWorkspaceDbName(dbName) {
|
|
654
|
-
if (dbName === "" || dbName.length > 255 || /[#\.<>:"/\\"`'|?*\u0000-\u001F]/g.test(dbName) || /^(con|prn|aux|nul|com\d|lpt\d)$/i.test(dbName))
|
|
655
|
-
throw new Error(`invalid dbName: [${dbName}]`);
|
|
656
|
-
noLeadingOrTrailingSpaces(dbName, "dbName");
|
|
657
|
-
}
|
|
658
617
|
/**
|
|
659
618
|
* Validate that a WorkspaceContainer.Id is valid.
|
|
660
619
|
* The rules for ContainerIds (from Azure, see https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata):
|
|
@@ -664,41 +623,13 @@ function validateWorkspaceDbName(dbName) {
|
|
|
664
623
|
*/
|
|
665
624
|
function validateWorkspaceContainerId(id) {
|
|
666
625
|
if (!/^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$/g.test(id))
|
|
667
|
-
|
|
668
|
-
}
|
|
669
|
-
function validateWorkspaceDbVersion(version) {
|
|
670
|
-
version = version ?? "0.0.0";
|
|
671
|
-
const opts = { loose: true, includePrerelease: true };
|
|
672
|
-
// clean allows prerelease, so try it first. If that fails attempt to coerce it (coerce strips prerelease even if you say not to.)
|
|
673
|
-
const semVersion = semver.clean(version, opts) ?? semver.coerce(version, opts)?.version;
|
|
674
|
-
if (!semVersion)
|
|
675
|
-
throw new Error("invalid version specification");
|
|
676
|
-
version = semVersion;
|
|
677
|
-
return version;
|
|
678
|
-
}
|
|
679
|
-
/**
|
|
680
|
-
* Parse the name stored in a WorkspaceContainer into the dbName and version number. A single WorkspaceContainer may hold
|
|
681
|
-
* many versions of the same WorkspaceDb. The name of the Db in the WorkspaceContainer is in the format "name:version". This
|
|
682
|
-
* function splits them into separate strings.
|
|
683
|
-
*/
|
|
684
|
-
function parseWorkspaceDbFileName(dbFileName) {
|
|
685
|
-
const parts = dbFileName.split(":");
|
|
686
|
-
return { dbName: parts[0], version: parts[1] };
|
|
687
|
-
}
|
|
688
|
-
/** Create a dbName for a WorkspaceDb from its base name and version. This will be in the format "name:version" */
|
|
689
|
-
function makeWorkspaceDbFileName(dbName, version) {
|
|
690
|
-
return `${dbName}:${validateWorkspaceDbVersion(version)}`;
|
|
626
|
+
core_common_1.WorkspaceError.throwError("invalid-name", { message: `invalid containerId: [${id}]` });
|
|
691
627
|
}
|
|
692
628
|
exports.workspaceManifestProperty = { namespace: "workspace", name: "manifest" };
|
|
693
|
-
function throwWorkspaceDbLoadError(
|
|
694
|
-
|
|
695
|
-
error.wsDbProps = wsDbProps;
|
|
696
|
-
error.wsDb = db;
|
|
697
|
-
throw error;
|
|
629
|
+
function throwWorkspaceDbLoadError(message, wsDbProps, wsDb) {
|
|
630
|
+
core_common_1.WorkspaceError.throwError("load-error", { message, wsDb, wsDbProps });
|
|
698
631
|
}
|
|
699
|
-
function throwWorkspaceDbLoadErrors(
|
|
700
|
-
|
|
701
|
-
error.wsLoadErrors = errors;
|
|
702
|
-
throw error;
|
|
632
|
+
function throwWorkspaceDbLoadErrors(message, wsLoadErrors) {
|
|
633
|
+
core_common_1.WorkspaceError.throwError("load-errors", { message, wsLoadErrors });
|
|
703
634
|
}
|
|
704
635
|
//# sourceMappingURL=WorkspaceImpl.js.map
|