@itwin/core-backend 5.0.0-dev.90 → 5.0.0-dev.92
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/lib/esm/BackendHubAccess.d.ts +215 -0
- package/lib/esm/BackendHubAccess.d.ts.map +1 -0
- package/lib/esm/BackendHubAccess.js +41 -0
- package/lib/esm/BackendHubAccess.js.map +1 -0
- package/lib/esm/BackendLoggerCategory.d.ts +88 -0
- package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
- package/lib/esm/BackendLoggerCategory.js +93 -0
- package/lib/esm/BackendLoggerCategory.js.map +1 -0
- package/lib/esm/BisCoreSchema.d.ts +22 -0
- package/lib/esm/BisCoreSchema.d.ts.map +1 -0
- package/lib/esm/BisCoreSchema.js +61 -0
- package/lib/esm/BisCoreSchema.js.map +1 -0
- package/lib/esm/BlobContainerService.d.ts +159 -0
- package/lib/esm/BlobContainerService.d.ts.map +1 -0
- package/lib/esm/BlobContainerService.js +15 -0
- package/lib/esm/BlobContainerService.js.map +1 -0
- package/lib/esm/BriefcaseManager.d.ts +213 -0
- package/lib/esm/BriefcaseManager.d.ts.map +1 -0
- package/lib/esm/BriefcaseManager.js +520 -0
- package/lib/esm/BriefcaseManager.js.map +1 -0
- package/lib/esm/Category.d.ts +136 -0
- package/lib/esm/Category.d.ts.map +1 -0
- package/lib/esm/Category.js +224 -0
- package/lib/esm/Category.js.map +1 -0
- package/lib/esm/ChangeSummaryManager.d.ts +161 -0
- package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
- package/lib/esm/ChangeSummaryManager.js +414 -0
- package/lib/esm/ChangeSummaryManager.js.map +1 -0
- package/lib/esm/ChangedElementsDb.d.ts +101 -0
- package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
- package/lib/esm/ChangedElementsDb.js +165 -0
- package/lib/esm/ChangedElementsDb.js.map +1 -0
- package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
- package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
- package/lib/esm/ChangesetECAdaptor.js +814 -0
- package/lib/esm/ChangesetECAdaptor.js.map +1 -0
- package/lib/esm/ChannelControl.d.ts +68 -0
- package/lib/esm/ChannelControl.d.ts.map +1 -0
- package/lib/esm/ChannelControl.js +15 -0
- package/lib/esm/ChannelControl.js.map +1 -0
- package/lib/esm/CheckpointManager.d.ts +123 -0
- package/lib/esm/CheckpointManager.d.ts.map +1 -0
- package/lib/esm/CheckpointManager.js +375 -0
- package/lib/esm/CheckpointManager.js.map +1 -0
- package/lib/esm/ClassRegistry.d.ts +134 -0
- package/lib/esm/ClassRegistry.d.ts.map +1 -0
- package/lib/esm/ClassRegistry.js +324 -0
- package/lib/esm/ClassRegistry.js.map +1 -0
- package/lib/esm/CloudSqlite.d.ts +682 -0
- package/lib/esm/CloudSqlite.d.ts.map +1 -0
- package/lib/esm/CloudSqlite.js +511 -0
- package/lib/esm/CloudSqlite.js.map +1 -0
- package/lib/esm/CodeService.d.ts +402 -0
- package/lib/esm/CodeService.d.ts.map +1 -0
- package/lib/esm/CodeService.js +65 -0
- package/lib/esm/CodeService.js.map +1 -0
- package/lib/esm/CodeSpecs.d.ts +59 -0
- package/lib/esm/CodeSpecs.d.ts.map +1 -0
- package/lib/esm/CodeSpecs.js +152 -0
- package/lib/esm/CodeSpecs.js.map +1 -0
- package/lib/esm/ConcurrentQuery.d.ts +14 -0
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
- package/lib/esm/ConcurrentQuery.js +33 -0
- package/lib/esm/ConcurrentQuery.js.map +1 -0
- package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
- package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
- package/lib/esm/CustomViewState3dCreator.js +78 -0
- package/lib/esm/CustomViewState3dCreator.js.map +1 -0
- package/lib/esm/DevTools.d.ts +73 -0
- package/lib/esm/DevTools.d.ts.map +1 -0
- package/lib/esm/DevTools.js +153 -0
- package/lib/esm/DevTools.js.map +1 -0
- package/lib/esm/DisplayStyle.d.ts +99 -0
- package/lib/esm/DisplayStyle.d.ts.map +1 -0
- package/lib/esm/DisplayStyle.js +264 -0
- package/lib/esm/DisplayStyle.js.map +1 -0
- package/lib/esm/ECDb.d.ts +170 -0
- package/lib/esm/ECDb.d.ts.map +1 -0
- package/lib/esm/ECDb.js +329 -0
- package/lib/esm/ECDb.js.map +1 -0
- package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
- package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
- package/lib/esm/ECSchemaXmlContext.js +66 -0
- package/lib/esm/ECSchemaXmlContext.js.map +1 -0
- package/lib/esm/ECSqlStatement.d.ts +492 -0
- package/lib/esm/ECSqlStatement.d.ts.map +1 -0
- package/lib/esm/ECSqlStatement.js +810 -0
- package/lib/esm/ECSqlStatement.js.map +1 -0
- package/lib/esm/Element.d.ts +987 -0
- package/lib/esm/Element.d.ts.map +1 -0
- package/lib/esm/Element.js +1337 -0
- package/lib/esm/Element.js.map +1 -0
- package/lib/esm/ElementAspect.d.ts +164 -0
- package/lib/esm/ElementAspect.d.ts.map +1 -0
- package/lib/esm/ElementAspect.js +204 -0
- package/lib/esm/ElementAspect.js.map +1 -0
- package/lib/esm/ElementGraphics.d.ts +7 -0
- package/lib/esm/ElementGraphics.d.ts.map +1 -0
- package/lib/esm/ElementGraphics.js +36 -0
- package/lib/esm/ElementGraphics.js.map +1 -0
- package/lib/esm/ElementTreeWalker.d.ts +182 -0
- package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
- package/lib/esm/ElementTreeWalker.js +421 -0
- package/lib/esm/ElementTreeWalker.js.map +1 -0
- package/lib/esm/Entity.d.ts +142 -0
- package/lib/esm/Entity.d.ts.map +1 -0
- package/lib/esm/Entity.js +186 -0
- package/lib/esm/Entity.js.map +1 -0
- package/lib/esm/EntityReferences.d.ts +50 -0
- package/lib/esm/EntityReferences.d.ts.map +1 -0
- package/lib/esm/EntityReferences.js +92 -0
- package/lib/esm/EntityReferences.js.map +1 -0
- package/lib/esm/ExportGraphics.d.ts +318 -0
- package/lib/esm/ExportGraphics.d.ts.map +1 -0
- package/lib/esm/ExportGraphics.js +209 -0
- package/lib/esm/ExportGraphics.js.map +1 -0
- package/lib/esm/ExternalSource.d.ts +89 -0
- package/lib/esm/ExternalSource.d.ts.map +1 -0
- package/lib/esm/ExternalSource.js +139 -0
- package/lib/esm/ExternalSource.js.map +1 -0
- package/lib/esm/FontFile.d.ts +68 -0
- package/lib/esm/FontFile.d.ts.map +1 -0
- package/lib/esm/FontFile.js +33 -0
- package/lib/esm/FontFile.js.map +1 -0
- package/lib/esm/GeoCoordConfig.d.ts +30 -0
- package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
- package/lib/esm/GeoCoordConfig.js +78 -0
- package/lib/esm/GeoCoordConfig.js.map +1 -0
- package/lib/esm/GeographicCRSServices.d.ts +40 -0
- package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
- package/lib/esm/GeographicCRSServices.js +17 -0
- package/lib/esm/GeographicCRSServices.js.map +1 -0
- package/lib/esm/GeometrySummary.d.ts +5 -0
- package/lib/esm/GeometrySummary.d.ts.map +1 -0
- package/lib/esm/GeometrySummary.js +381 -0
- package/lib/esm/GeometrySummary.js.map +1 -0
- package/lib/esm/HubMock.d.ts +95 -0
- package/lib/esm/HubMock.d.ts.map +1 -0
- package/lib/esm/HubMock.js +220 -0
- package/lib/esm/HubMock.js.map +1 -0
- package/lib/esm/IModelDb.d.ts +1398 -0
- package/lib/esm/IModelDb.d.ts.map +1 -0
- package/lib/esm/IModelDb.js +3230 -0
- package/lib/esm/IModelDb.js.map +1 -0
- package/lib/esm/IModelDbFonts.d.ts +54 -0
- package/lib/esm/IModelDbFonts.d.ts.map +1 -0
- package/lib/esm/IModelDbFonts.js +9 -0
- package/lib/esm/IModelDbFonts.js.map +1 -0
- package/lib/esm/IModelElementCloneContext.d.ts +92 -0
- package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
- package/lib/esm/IModelElementCloneContext.js +168 -0
- package/lib/esm/IModelElementCloneContext.js.map +1 -0
- package/lib/esm/IModelHost.d.ts +387 -0
- package/lib/esm/IModelHost.d.ts.map +1 -0
- package/lib/esm/IModelHost.js +502 -0
- package/lib/esm/IModelHost.js.map +1 -0
- package/lib/esm/IModelJsFs.d.ts +62 -0
- package/lib/esm/IModelJsFs.d.ts.map +1 -0
- package/lib/esm/IModelJsFs.js +151 -0
- package/lib/esm/IModelJsFs.js.map +1 -0
- package/lib/esm/ImageSourceConversion.d.ts +49 -0
- package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
- package/lib/esm/ImageSourceConversion.js +33 -0
- package/lib/esm/ImageSourceConversion.js.map +1 -0
- package/lib/esm/IpcHost.d.ts +111 -0
- package/lib/esm/IpcHost.d.ts.map +1 -0
- package/lib/esm/IpcHost.js +311 -0
- package/lib/esm/IpcHost.js.map +1 -0
- package/lib/esm/LineStyle.d.ts +312 -0
- package/lib/esm/LineStyle.d.ts.map +1 -0
- package/lib/esm/LineStyle.js +293 -0
- package/lib/esm/LineStyle.js.map +1 -0
- package/lib/esm/LocalHub.d.ts +163 -0
- package/lib/esm/LocalHub.d.ts.map +1 -0
- package/lib/esm/LocalHub.js +583 -0
- package/lib/esm/LocalHub.js.map +1 -0
- package/lib/esm/LocalhostIpcHost.d.ts +22 -0
- package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
- package/lib/esm/LocalhostIpcHost.js +74 -0
- package/lib/esm/LocalhostIpcHost.js.map +1 -0
- package/lib/esm/LockControl.d.ts +73 -0
- package/lib/esm/LockControl.d.ts.map +1 -0
- package/lib/esm/LockControl.js +9 -0
- package/lib/esm/LockControl.js.map +1 -0
- package/lib/esm/Material.d.ts +131 -0
- package/lib/esm/Material.d.ts.map +1 -0
- package/lib/esm/Material.js +235 -0
- package/lib/esm/Material.js.map +1 -0
- package/lib/esm/Model.d.ts +375 -0
- package/lib/esm/Model.d.ts.map +1 -0
- package/lib/esm/Model.js +484 -0
- package/lib/esm/Model.js.map +1 -0
- package/lib/esm/NativeAppStorage.d.ts +52 -0
- package/lib/esm/NativeAppStorage.d.ts.map +1 -0
- package/lib/esm/NativeAppStorage.js +205 -0
- package/lib/esm/NativeAppStorage.js.map +1 -0
- package/lib/esm/NativeHost.d.ts +53 -0
- package/lib/esm/NativeHost.d.ts.map +1 -0
- package/lib/esm/NativeHost.js +158 -0
- package/lib/esm/NativeHost.js.map +1 -0
- package/lib/esm/NavigationRelationship.d.ts +185 -0
- package/lib/esm/NavigationRelationship.d.ts.map +1 -0
- package/lib/esm/NavigationRelationship.js +238 -0
- package/lib/esm/NavigationRelationship.js.map +1 -0
- package/lib/esm/PromiseMemoizer.d.ts +48 -0
- package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
- package/lib/esm/PromiseMemoizer.js +101 -0
- package/lib/esm/PromiseMemoizer.js.map +1 -0
- package/lib/esm/PropertyStore.d.ts +134 -0
- package/lib/esm/PropertyStore.d.ts.map +1 -0
- package/lib/esm/PropertyStore.js +177 -0
- package/lib/esm/PropertyStore.js.map +1 -0
- package/lib/esm/Relationship.d.ts +399 -0
- package/lib/esm/Relationship.d.ts.map +1 -0
- package/lib/esm/Relationship.js +474 -0
- package/lib/esm/Relationship.js.map +1 -0
- package/lib/esm/RpcBackend.d.ts +6 -0
- package/lib/esm/RpcBackend.d.ts.map +1 -0
- package/lib/esm/RpcBackend.js +28 -0
- package/lib/esm/RpcBackend.js.map +1 -0
- package/lib/esm/SQLiteDb.d.ts +324 -0
- package/lib/esm/SQLiteDb.d.ts.map +1 -0
- package/lib/esm/SQLiteDb.js +379 -0
- package/lib/esm/SQLiteDb.js.map +1 -0
- package/lib/esm/Schema.d.ts +79 -0
- package/lib/esm/Schema.d.ts.map +1 -0
- package/lib/esm/Schema.js +113 -0
- package/lib/esm/Schema.js.map +1 -0
- package/lib/esm/SchemaSync.d.ts +47 -0
- package/lib/esm/SchemaSync.d.ts.map +1 -0
- package/lib/esm/SchemaSync.js +148 -0
- package/lib/esm/SchemaSync.js.map +1 -0
- package/lib/esm/SchemaUtils.d.ts +19 -0
- package/lib/esm/SchemaUtils.d.ts.map +1 -0
- package/lib/esm/SchemaUtils.js +37 -0
- package/lib/esm/SchemaUtils.js.map +1 -0
- package/lib/esm/SheetIndex.d.ts +148 -0
- package/lib/esm/SheetIndex.d.ts.map +1 -0
- package/lib/esm/SheetIndex.js +228 -0
- package/lib/esm/SheetIndex.js.map +1 -0
- package/lib/esm/SqliteChangesetReader.d.ts +278 -0
- package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
- package/lib/esm/SqliteChangesetReader.js +337 -0
- package/lib/esm/SqliteChangesetReader.js.map +1 -0
- package/lib/esm/SqliteStatement.d.ts +375 -0
- package/lib/esm/SqliteStatement.d.ts.map +1 -0
- package/lib/esm/SqliteStatement.js +615 -0
- package/lib/esm/SqliteStatement.js.map +1 -0
- package/lib/esm/TextAnnotationElement.d.ts +54 -0
- package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
- package/lib/esm/TextAnnotationElement.js +89 -0
- package/lib/esm/TextAnnotationElement.js.map +1 -0
- package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
- package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
- package/lib/esm/TextAnnotationGeometry.js +181 -0
- package/lib/esm/TextAnnotationGeometry.js.map +1 -0
- package/lib/esm/TextAnnotationLayout.d.ts +177 -0
- package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
- package/lib/esm/TextAnnotationLayout.js +513 -0
- package/lib/esm/TextAnnotationLayout.js.map +1 -0
- package/lib/esm/Texture.d.ts +58 -0
- package/lib/esm/Texture.d.ts.map +1 -0
- package/lib/esm/Texture.js +81 -0
- package/lib/esm/Texture.js.map +1 -0
- package/lib/esm/TileStorage.d.ts +59 -0
- package/lib/esm/TileStorage.d.ts.map +1 -0
- package/lib/esm/TileStorage.js +158 -0
- package/lib/esm/TileStorage.js.map +1 -0
- package/lib/esm/TxnManager.d.ts +296 -0
- package/lib/esm/TxnManager.d.ts.map +1 -0
- package/lib/esm/TxnManager.js +619 -0
- package/lib/esm/TxnManager.js.map +1 -0
- package/lib/esm/ViewDefinition.d.ts +392 -0
- package/lib/esm/ViewDefinition.d.ts.map +1 -0
- package/lib/esm/ViewDefinition.js +638 -0
- package/lib/esm/ViewDefinition.js.map +1 -0
- package/lib/esm/ViewStateHydrator.d.ts +14 -0
- package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
- package/lib/esm/ViewStateHydrator.js +89 -0
- package/lib/esm/ViewStateHydrator.js.map +1 -0
- package/lib/esm/ViewStore.d.ts +502 -0
- package/lib/esm/ViewStore.d.ts.map +1 -0
- package/lib/esm/ViewStore.js +1259 -0
- package/lib/esm/ViewStore.js.map +1 -0
- package/lib/esm/core-backend.d.ts +183 -0
- package/lib/esm/core-backend.d.ts.map +1 -0
- package/lib/esm/core-backend.js +187 -0
- package/lib/esm/core-backend.js.map +1 -0
- package/lib/esm/domains/FunctionalElements.d.ts +86 -0
- package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
- package/lib/esm/domains/FunctionalElements.js +117 -0
- package/lib/esm/domains/FunctionalElements.js.map +1 -0
- package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
- package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
- package/lib/esm/domains/FunctionalSchema.js +37 -0
- package/lib/esm/domains/FunctionalSchema.js.map +1 -0
- package/lib/esm/domains/GenericElements.d.ts +160 -0
- package/lib/esm/domains/GenericElements.d.ts.map +1 -0
- package/lib/esm/domains/GenericElements.js +225 -0
- package/lib/esm/domains/GenericElements.js.map +1 -0
- package/lib/esm/domains/GenericSchema.d.ts +11 -0
- package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
- package/lib/esm/domains/GenericSchema.js +25 -0
- package/lib/esm/domains/GenericSchema.js.map +1 -0
- package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
- package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
- package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
- package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
- package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
- package/lib/esm/internal/ChannelAdmin.js +122 -0
- package/lib/esm/internal/ChannelAdmin.js.map +1 -0
- package/lib/esm/internal/FontFileImpl.d.ts +34 -0
- package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
- package/lib/esm/internal/FontFileImpl.js +135 -0
- package/lib/esm/internal/FontFileImpl.js.map +1 -0
- package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
- package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
- package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
- package/lib/esm/internal/NativePlatform.d.ts +15 -0
- package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
- package/lib/esm/internal/NativePlatform.js +43 -0
- package/lib/esm/internal/NativePlatform.js.map +1 -0
- package/lib/esm/internal/NoLocks.d.ts +6 -0
- package/lib/esm/internal/NoLocks.d.ts.map +1 -0
- package/lib/esm/internal/NoLocks.js +24 -0
- package/lib/esm/internal/NoLocks.js.map +1 -0
- package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
- package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
- package/lib/esm/internal/ServerBasedLocks.js +175 -0
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
- package/lib/esm/internal/Symbols.d.ts +18 -0
- package/lib/esm/internal/Symbols.d.ts.map +1 -0
- package/lib/esm/internal/Symbols.js +25 -0
- package/lib/esm/internal/Symbols.js.map +1 -0
- package/lib/esm/internal/cross-package.d.ts +4 -0
- package/lib/esm/internal/cross-package.d.ts.map +1 -0
- package/lib/esm/internal/cross-package.js +8 -0
- package/lib/esm/internal/cross-package.js.map +1 -0
- package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
- package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
- package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
- package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
- package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
- package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
- package/lib/esm/rpc/multipart.d.ts +12 -0
- package/lib/esm/rpc/multipart.d.ts.map +1 -0
- package/lib/esm/rpc/multipart.js +67 -0
- package/lib/esm/rpc/multipart.js.map +1 -0
- package/lib/esm/rpc/tracing.d.ts +29 -0
- package/lib/esm/rpc/tracing.d.ts.map +1 -0
- package/lib/esm/rpc/tracing.js +71 -0
- package/lib/esm/rpc/tracing.js.map +1 -0
- package/lib/esm/rpc/web/logging.d.ts +10 -0
- package/lib/esm/rpc/web/logging.d.ts.map +1 -0
- package/lib/esm/rpc/web/logging.js +41 -0
- package/lib/esm/rpc/web/logging.js.map +1 -0
- package/lib/esm/rpc/web/request.d.ts +7 -0
- package/lib/esm/rpc/web/request.d.ts.map +1 -0
- package/lib/esm/rpc/web/request.js +71 -0
- package/lib/esm/rpc/web/request.js.map +1 -0
- package/lib/esm/rpc/web/response.d.ts +7 -0
- package/lib/esm/rpc/web/response.d.ts.map +1 -0
- package/lib/esm/rpc/web/response.js +136 -0
- package/lib/esm/rpc/web/response.js.map +1 -0
- package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
- package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
- package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
- package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js +313 -0
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
- package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
- package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +166 -0
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
- package/lib/esm/test/AdvancedEqual.d.ts +38 -0
- package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
- package/lib/esm/test/AdvancedEqual.js +67 -0
- package/lib/esm/test/AdvancedEqual.js.map +1 -0
- package/lib/esm/test/AttachDb.test.d.ts +2 -0
- package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
- package/lib/esm/test/AttachDb.test.js +157 -0
- package/lib/esm/test/AttachDb.test.js.map +1 -0
- package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
- package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
- package/lib/esm/test/GeometryTestUtil.js +25 -0
- package/lib/esm/test/GeometryTestUtil.js.map +1 -0
- package/lib/esm/test/IModelHost.test.d.ts +2 -0
- package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
- package/lib/esm/test/IModelHost.test.js +187 -0
- package/lib/esm/test/IModelHost.test.js.map +1 -0
- package/lib/esm/test/IModelTestUtils.d.ts +173 -0
- package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
- package/lib/esm/test/IModelTestUtils.js +1113 -0
- package/lib/esm/test/IModelTestUtils.js.map +1 -0
- package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
- package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
- package/lib/esm/test/ImageSourceConversion.test.js +171 -0
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
- package/lib/esm/test/IpcHost.test.d.ts +2 -0
- package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
- package/lib/esm/test/IpcHost.test.js +55 -0
- package/lib/esm/test/IpcHost.test.js.map +1 -0
- package/lib/esm/test/KnownTestLocations.d.ts +7 -0
- package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
- package/lib/esm/test/KnownTestLocations.js +27 -0
- package/lib/esm/test/KnownTestLocations.js.map +1 -0
- package/lib/esm/test/PrintElementTree.d.ts +7 -0
- package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
- package/lib/esm/test/PrintElementTree.js +35 -0
- package/lib/esm/test/PrintElementTree.js.map +1 -0
- package/lib/esm/test/PropertyDb.test.d.ts +2 -0
- package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
- package/lib/esm/test/PropertyDb.test.js +71 -0
- package/lib/esm/test/PropertyDb.test.js.map +1 -0
- package/lib/esm/test/RevisionUtility.d.ts +33 -0
- package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
- package/lib/esm/test/RevisionUtility.js +52 -0
- package/lib/esm/test/RevisionUtility.js.map +1 -0
- package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
- package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
- package/lib/esm/test/SchemaUtils.test.js +97 -0
- package/lib/esm/test/SchemaUtils.test.js.map +1 -0
- package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
- package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
- package/lib/esm/test/SequentialLogMatcher.js +130 -0
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
- package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
- package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
- package/lib/esm/test/TestChangeSetUtility.js +65 -0
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
- package/lib/esm/test/TestUtils.d.ts +38 -0
- package/lib/esm/test/TestUtils.d.ts.map +1 -0
- package/lib/esm/test/TestUtils.js +99 -0
- package/lib/esm/test/TestUtils.js.map +1 -0
- package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
- package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
- package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
- package/lib/esm/test/categories/Category.test.d.ts +2 -0
- package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
- package/lib/esm/test/categories/Category.test.js +51 -0
- package/lib/esm/test/categories/Category.test.js.map +1 -0
- package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
- package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
- package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
- package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
- package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/CTE.test.js +177 -0
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
- package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
- package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECDb.test.js +642 -0
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
- package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
- package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
- package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
- package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECSqlAst.test.js +971 -0
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
- package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
- package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +770 -0
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
- package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
- package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
- package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
- package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +3239 -0
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
- package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
- package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/SqliteStatement.test.js +508 -0
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +196 -0
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
- package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +365 -0
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
- package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
- package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
- package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
- package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
- package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
- package/lib/esm/test/element/ElementAspect.test.js +363 -0
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
- package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
- package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
- package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
- package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
- package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
- package/lib/esm/test/element/ElementRoundTrip.test.js +916 -0
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
- package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
- package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
- package/lib/esm/test/element/ExcludedElements.test.js +57 -0
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
- package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
- package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
- package/lib/esm/test/element/ExternalSource.test.js +107 -0
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
- package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
- package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
- package/lib/esm/test/element/NullStructArray.test.js +77 -0
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
- package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
- package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
- package/lib/esm/test/element/UrlLink.test.js +36 -0
- package/lib/esm/test/element/UrlLink.test.js.map +1 -0
- package/lib/esm/test/font/FontFile.test.d.ts +2 -0
- package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
- package/lib/esm/test/font/FontFile.test.js +139 -0
- package/lib/esm/test/font/FontFile.test.js.map +1 -0
- package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
- package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
- package/lib/esm/test/font/IModelDbFonts.test.js +264 -0
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
- package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
- package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js +165 -0
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
- package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
- package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/CheckpointManager.test.js +137 -0
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
- package/lib/esm/test/imageData.d.ts +9 -0
- package/lib/esm/test/imageData.d.ts.map +1 -0
- package/lib/esm/test/imageData.js +16 -0
- package/lib/esm/test/imageData.js.map +1 -0
- package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
- package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/ElementTreeWalker.test.js +382 -0
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
- package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
- package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
- package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModel.test.js +2601 -0
- package/lib/esm/test/imodel/IModel.test.js.map +1 -0
- package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
- package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
- package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
- package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
- package/lib/esm/test/index.d.ts +7 -0
- package/lib/esm/test/index.d.ts.map +1 -0
- package/lib/esm/test/index.js +11 -0
- package/lib/esm/test/index.js.map +1 -0
- package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
- package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
- package/lib/esm/test/misc/DevTools.test.js +72 -0
- package/lib/esm/test/misc/DevTools.test.js.map +1 -0
- package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
- package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
- package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
- package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
- package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
- package/lib/esm/test/misc/GeoServices.test.js +850 -0
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
- package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
- package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
- package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
- package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
- package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
- package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
- package/lib/esm/test/rpc/response.test.d.ts +2 -0
- package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
- package/lib/esm/test/rpc/response.test.js +112 -0
- package/lib/esm/test/rpc/response.test.js.map +1 -0
- package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
- package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
- package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
- package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
- package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
- package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
- package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
- package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
- package/lib/esm/test/schema/GenericDomain.test.js +132 -0
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
- package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
- package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
- package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
- package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
- package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
- package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
- package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
- package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ChangeMerge.test.js +413 -0
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
- package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
- package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ChangesetReader.test.js +890 -0
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
- package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
- package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
- package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
- package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
- package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
- package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
- package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
- package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
- package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
- package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
- package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
- package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
- package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
- package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/HubMock.test.js +343 -0
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
- package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
- package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/IModelWrite.test.js +859 -0
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
- package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
- package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
- package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
- package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
- package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
- package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/RenderMaterialElement.test.js +398 -0
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
- package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
- package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
- package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
- package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
- package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
- package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
- package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
- package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
- package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
- package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
- package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
- package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/Setting.test.js +76 -0
- package/lib/esm/test/standalone/Setting.test.js.map +1 -0
- package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
- package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/Settings.test.js +349 -0
- package/lib/esm/test/standalone/Settings.test.js.map +1 -0
- package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
- package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
- package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
- package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SnapshotDb.test.js +153 -0
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
- package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
- package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/Texture.test.js +90 -0
- package/lib/esm/test/standalone/Texture.test.js.map +1 -0
- package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
- package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/TileCache.test.js +127 -0
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
- package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
- package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/TileTree.test.js +241 -0
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
- package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
- package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/TxnManager.test.js +878 -0
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
- package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
- package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
- package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
- package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
- package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
- package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/Workspace.test.js +161 -0
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
- package/lib/esm/workspace/Settings.d.ts +216 -0
- package/lib/esm/workspace/Settings.d.ts.map +1 -0
- package/lib/esm/workspace/Settings.js +83 -0
- package/lib/esm/workspace/Settings.js.map +1 -0
- package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
- package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
- package/lib/esm/workspace/SettingsSchemas.js +9 -0
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
- package/lib/esm/workspace/Workspace.d.ts +507 -0
- package/lib/esm/workspace/Workspace.d.ts.map +1 -0
- package/lib/esm/workspace/Workspace.js +97 -0
- package/lib/esm/workspace/Workspace.js.map +1 -0
- package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
- package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
- package/lib/esm/workspace/WorkspaceEditor.js +31 -0
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
- package/package.json +18 -14
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { expect } from "chai";
|
|
6
|
+
import { Id64, OpenMode } from "@itwin/core-bentley";
|
|
7
|
+
import { Code, IModel } from "@itwin/core-common";
|
|
8
|
+
import { GenericSchema, IModelJsFs, RenderTimeline, StandaloneDb } from "../../core-backend";
|
|
9
|
+
import { IModelTestUtils } from "../IModelTestUtils";
|
|
10
|
+
describe("RenderTimeline", () => {
|
|
11
|
+
before(() => {
|
|
12
|
+
GenericSchema.registerSchema();
|
|
13
|
+
});
|
|
14
|
+
function makeScriptProps() {
|
|
15
|
+
return [{
|
|
16
|
+
modelId: "0x123",
|
|
17
|
+
elementTimelines: [{
|
|
18
|
+
batchId: 1,
|
|
19
|
+
elementIds: ["0xabc", "0xdef"],
|
|
20
|
+
visibilityTimeline: [{ time: 42, value: 50 }],
|
|
21
|
+
}],
|
|
22
|
+
}];
|
|
23
|
+
}
|
|
24
|
+
function insertTimeline(imodel, scriptProps) {
|
|
25
|
+
const script = JSON.stringify(scriptProps ?? makeScriptProps());
|
|
26
|
+
const props = {
|
|
27
|
+
model: IModel.dictionaryId,
|
|
28
|
+
classFullName: RenderTimeline.classFullName,
|
|
29
|
+
code: Code.createEmpty(),
|
|
30
|
+
script,
|
|
31
|
+
};
|
|
32
|
+
return imodel.elements.insertElement(props);
|
|
33
|
+
}
|
|
34
|
+
function createIModel(name) {
|
|
35
|
+
const props = {
|
|
36
|
+
rootSubject: {
|
|
37
|
+
name,
|
|
38
|
+
},
|
|
39
|
+
allowEdit: `{ "txns": true }`,
|
|
40
|
+
};
|
|
41
|
+
const filename = IModelTestUtils.prepareOutputFile("RenderTimeline", `${name}.bim`);
|
|
42
|
+
return StandaloneDb.createEmpty(filename, props);
|
|
43
|
+
}
|
|
44
|
+
it("requires BisCore >= 1.0.13", () => {
|
|
45
|
+
const filename = IModelTestUtils.prepareOutputFile("RenderTimeline.SchemaTooOld", "testImodel.bim");
|
|
46
|
+
const seedFileName = IModelTestUtils.resolveAssetFile("testImodel.bim");
|
|
47
|
+
IModelJsFs.copySync(seedFileName, filename);
|
|
48
|
+
const imodel = StandaloneDb.openFile(filename, OpenMode.ReadWrite);
|
|
49
|
+
expect(() => insertTimeline(imodel)).to.throw("ecClass not found");
|
|
50
|
+
imodel.close();
|
|
51
|
+
});
|
|
52
|
+
it("creates, queries, and updates", () => {
|
|
53
|
+
const imodel = createIModel("CRUD");
|
|
54
|
+
const timelineId = insertTimeline(imodel);
|
|
55
|
+
expect(Id64.isValid(timelineId)).to.be.true;
|
|
56
|
+
let timeline = imodel.elements.getElement(timelineId);
|
|
57
|
+
expect(timeline).instanceof(RenderTimeline);
|
|
58
|
+
expect(timeline.scriptProps).to.deep.equal(makeScriptProps());
|
|
59
|
+
expect(timeline.description).to.equal("");
|
|
60
|
+
timeline.description = "My timeline";
|
|
61
|
+
const scriptProps = makeScriptProps();
|
|
62
|
+
scriptProps.push(makeScriptProps()[0]);
|
|
63
|
+
timeline.scriptProps = scriptProps;
|
|
64
|
+
timeline.update();
|
|
65
|
+
timeline = imodel.elements.getElement(timelineId);
|
|
66
|
+
expect(timeline.description).to.equal("My timeline");
|
|
67
|
+
expect(timeline.scriptProps).to.deep.equal(scriptProps);
|
|
68
|
+
imodel.close();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=RenderTimeline.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderTimeline.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/RenderTimeline.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*--------------------------------------------------------------------------------------------*/\nimport { expect } from \"chai\";\nimport { Id64, Id64String, OpenMode } from \"@itwin/core-bentley\";\nimport { Code, IModel, RenderSchedule, RenderTimelineProps } from \"@itwin/core-common\";\nimport { GenericSchema, IModelJsFs, RenderTimeline, StandaloneDb } from \"../../core-backend\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\n\ndescribe(\"RenderTimeline\", () => {\n before(() => {\n GenericSchema.registerSchema();\n });\n\n function makeScriptProps(): RenderSchedule.ScriptProps {\n return [{\n modelId: \"0x123\",\n elementTimelines: [{\n batchId: 1,\n elementIds: [\"0xabc\", \"0xdef\"],\n visibilityTimeline: [{ time: 42, value: 50 }],\n }],\n }];\n }\n\n function insertTimeline(imodel: StandaloneDb, scriptProps?: RenderSchedule.ScriptProps): Id64String {\n const script = JSON.stringify(scriptProps ?? makeScriptProps());\n const props: RenderTimelineProps = {\n model: IModel.dictionaryId,\n classFullName: RenderTimeline.classFullName,\n code: Code.createEmpty(),\n script,\n };\n return imodel.elements.insertElement(props);\n }\n\n function createIModel(name: string): StandaloneDb {\n const props = {\n rootSubject: {\n name,\n },\n allowEdit: `{ \"txns\": true }`,\n };\n const filename = IModelTestUtils.prepareOutputFile(\"RenderTimeline\", `${name}.bim`);\n return StandaloneDb.createEmpty(filename, props);\n }\n\n it(\"requires BisCore >= 1.0.13\", () => {\n const filename = IModelTestUtils.prepareOutputFile(\"RenderTimeline.SchemaTooOld\", \"testImodel.bim\");\n const seedFileName = IModelTestUtils.resolveAssetFile(\"testImodel.bim\");\n IModelJsFs.copySync(seedFileName, filename);\n\n const imodel = StandaloneDb.openFile(filename, OpenMode.ReadWrite);\n expect(() => insertTimeline(imodel)).to.throw(\"ecClass not found\");\n imodel.close();\n });\n\n it(\"creates, queries, and updates\", () => {\n const imodel = createIModel(\"CRUD\");\n const timelineId = insertTimeline(imodel);\n expect(Id64.isValid(timelineId)).to.be.true;\n\n let timeline = imodel.elements.getElement<RenderTimeline>(timelineId);\n expect(timeline).instanceof(RenderTimeline);\n expect(timeline.scriptProps).to.deep.equal(makeScriptProps());\n expect(timeline.description).to.equal(\"\");\n\n timeline.description = \"My timeline\";\n const scriptProps = makeScriptProps();\n scriptProps.push(makeScriptProps()[0]);\n timeline.scriptProps = scriptProps;\n\n timeline.update();\n timeline = imodel.elements.getElement<RenderTimeline>(timelineId);\n expect(timeline.description).to.equal(\"My timeline\");\n expect(timeline.scriptProps).to.deep.equal(scriptProps);\n\n imodel.close();\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLiteDb.test.d.ts","sourceRoot":"","sources":["../../../../src/test/standalone/SQLiteDb.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { expect } from "chai";
|
|
6
|
+
import { BeDuration, DbResult, OpenMode } from "@itwin/core-bentley";
|
|
7
|
+
import { SQLiteDb } from "../../SQLiteDb";
|
|
8
|
+
import { IModelTestUtils } from "../IModelTestUtils";
|
|
9
|
+
describe("SQLiteDb", () => {
|
|
10
|
+
it("should create new SQLiteDb", async () => {
|
|
11
|
+
const fileName = IModelTestUtils.prepareOutputFile("SQLiteDb", "db1.db");
|
|
12
|
+
const db = new SQLiteDb();
|
|
13
|
+
db.createDb(fileName, undefined, { rawSQLite: true, pageSize: 8 * 1024 });
|
|
14
|
+
db.executeSQL("CREATE TABLE test1(id INTEGER PRIMARY KEY,val TEXT)");
|
|
15
|
+
db.executeSQL(`INSERT INTO test1(id,val) VALUES (1,"val1")`);
|
|
16
|
+
db.executeSQL(`INSERT INTO test1(id,val) VALUES (2,"val2")`);
|
|
17
|
+
db.saveChanges();
|
|
18
|
+
const testDb = () => {
|
|
19
|
+
db.withSqliteStatement("SELECT id,val from test1", (stmt) => {
|
|
20
|
+
stmt.step();
|
|
21
|
+
expect(stmt.getValue(0).getInteger()).equal(1);
|
|
22
|
+
expect(stmt.getValue(1).getString()).equal("val1");
|
|
23
|
+
stmt.step();
|
|
24
|
+
expect(stmt.getValue(0).getInteger()).equal(2);
|
|
25
|
+
expect(stmt.getValue(1).getString()).equal("val2");
|
|
26
|
+
});
|
|
27
|
+
db.closeDb();
|
|
28
|
+
};
|
|
29
|
+
testDb();
|
|
30
|
+
// now test immutable flag
|
|
31
|
+
db.openDb(fileName, { openMode: OpenMode.Readonly, skipFileCheck: true, immutable: true, defaultTxn: SQLiteDb.DefaultTxnMode.None, rawSQLite: true });
|
|
32
|
+
testDb();
|
|
33
|
+
expect(db.isOpen).false;
|
|
34
|
+
expect(() => db.vacuum()).throws("not open");
|
|
35
|
+
let val = db.withOpenDb({ dbName: fileName, openMode: { openMode: OpenMode.ReadWrite, rawSQLite: true } }, () => {
|
|
36
|
+
expect(db.isOpen);
|
|
37
|
+
db.vacuum();
|
|
38
|
+
return 22;
|
|
39
|
+
});
|
|
40
|
+
expect(val).equal(22);
|
|
41
|
+
expect(db.isOpen).false;
|
|
42
|
+
val = await db.withOpenDb({ dbName: fileName, openMode: { openMode: OpenMode.ReadWrite, rawSQLite: true } }, async () => {
|
|
43
|
+
expect(db.isOpen);
|
|
44
|
+
await BeDuration.fromMilliseconds(10).wait();
|
|
45
|
+
return 100;
|
|
46
|
+
});
|
|
47
|
+
expect(val).equal(100);
|
|
48
|
+
expect(db.isOpen).false;
|
|
49
|
+
});
|
|
50
|
+
it("should be able to open existing .bim file with SQLiteDb", () => {
|
|
51
|
+
const testFileName = IModelTestUtils.resolveAssetFile("test.bim");
|
|
52
|
+
const db = new SQLiteDb();
|
|
53
|
+
db.withOpenDb({ dbName: testFileName }, () => {
|
|
54
|
+
db.withSqliteStatement(`SELECT StrData FROM be_Prop WHERE Namespace="ec_Db" AND Name="SchemaVersion"`, (stmt) => {
|
|
55
|
+
expect(stmt.step()).equal(DbResult.BE_SQLITE_ROW);
|
|
56
|
+
const val = JSON.parse(stmt.getValue(0).getString());
|
|
57
|
+
expect(val.major).equal(4, "read major version");
|
|
58
|
+
expect(val.minor).equal(0, "read minor version");
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=SQLiteDb.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLiteDb.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/SQLiteDb.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 { BeDuration, DbResult, OpenMode } from \"@itwin/core-bentley\";\nimport { SQLiteDb } from \"../../SQLiteDb\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\n\ndescribe(\"SQLiteDb\", () => {\n\n it(\"should create new SQLiteDb\", async () => {\n const fileName = IModelTestUtils.prepareOutputFile(\"SQLiteDb\", \"db1.db\");\n const db = new SQLiteDb();\n db.createDb(fileName, undefined, { rawSQLite: true, pageSize: 8 * 1024 });\n db.executeSQL(\"CREATE TABLE test1(id INTEGER PRIMARY KEY,val TEXT)\");\n db.executeSQL(`INSERT INTO test1(id,val) VALUES (1,\"val1\")`);\n db.executeSQL(`INSERT INTO test1(id,val) VALUES (2,\"val2\")`);\n db.saveChanges();\n\n const testDb = () => {\n db.withSqliteStatement(\"SELECT id,val from test1\", (stmt) => {\n stmt.step();\n expect(stmt.getValue(0).getInteger()).equal(1);\n expect(stmt.getValue(1).getString()).equal(\"val1\");\n stmt.step();\n expect(stmt.getValue(0).getInteger()).equal(2);\n expect(stmt.getValue(1).getString()).equal(\"val2\");\n });\n db.closeDb();\n };\n testDb();\n\n // now test immutable flag\n db.openDb(fileName, { openMode: OpenMode.Readonly, skipFileCheck: true, immutable: true, defaultTxn: SQLiteDb.DefaultTxnMode.None, rawSQLite: true });\n testDb();\n\n expect(db.isOpen).false;\n expect(() => db.vacuum()).throws(\"not open\");\n\n let val = db.withOpenDb({ dbName: fileName, openMode: { openMode: OpenMode.ReadWrite, rawSQLite: true } }, () => {\n expect(db.isOpen);\n db.vacuum();\n return 22;\n });\n expect(val).equal(22);\n expect(db.isOpen).false;\n\n val = await db.withOpenDb({ dbName: fileName, openMode: { openMode: OpenMode.ReadWrite, rawSQLite: true } }, async () => {\n expect(db.isOpen);\n await BeDuration.fromMilliseconds(10).wait();\n return 100;\n });\n expect(val).equal(100);\n expect(db.isOpen).false;\n });\n\n it(\"should be able to open existing .bim file with SQLiteDb\", () => {\n const testFileName = IModelTestUtils.resolveAssetFile(\"test.bim\");\n const db = new SQLiteDb();\n db.withOpenDb({ dbName: testFileName }, () => {\n db.withSqliteStatement(`SELECT StrData FROM be_Prop WHERE Namespace=\"ec_Db\" AND Name=\"SchemaVersion\"`, (stmt) => {\n expect(stmt.step()).equal(DbResult.BE_SQLITE_ROW);\n const val = JSON.parse(stmt.getValue(0).getString());\n expect(val.major).equal(4, \"read major version\");\n expect(val.minor).equal(0, \"read minor version\");\n });\n });\n });\n\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaUtils.test.d.ts","sourceRoot":"","sources":["../../../../src/test/standalone/SchemaUtils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { assert } from "chai";
|
|
6
|
+
import { Schema } from "../../Schema";
|
|
7
|
+
import * as Semver from "semver";
|
|
8
|
+
describe("Schema Utilities Test", () => {
|
|
9
|
+
it("paddedVersionToSemver", async () => {
|
|
10
|
+
assert.equal(Schema.toSemverString("1.00.00"), "1.0.0");
|
|
11
|
+
assert.isNotNull(Semver.valid(Schema.toSemverString("1.00.00")));
|
|
12
|
+
assert.equal(Schema.toSemverString("01.0.0"), "1.0.0");
|
|
13
|
+
assert.isNotNull(Semver.valid(Schema.toSemverString("01.0.0")));
|
|
14
|
+
assert.equal(Schema.toSemverString("1.2.3"), "1.2.3");
|
|
15
|
+
assert.isNotNull(Semver.valid(Schema.toSemverString("1.2.3")));
|
|
16
|
+
assert.equal(Schema.toSemverString("012.0013"), "12.0.13");
|
|
17
|
+
assert.isNotNull(Semver.valid(Schema.toSemverString("012.0013")));
|
|
18
|
+
// bad inputs with undefined behavior
|
|
19
|
+
assert.equal(Schema.toSemverString("bad.input"), "NaN.0.NaN");
|
|
20
|
+
assert.isNull(Semver.valid(Schema.toSemverString("bad.input")));
|
|
21
|
+
assert.equal(Schema.toSemverString("1..2"), "1.0.2");
|
|
22
|
+
assert.isNotNull(Semver.valid(Schema.toSemverString("1..2")));
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=SchemaUtils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaUtils.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/SchemaUtils.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAErC,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAElE,qCAAqC;QAErC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,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*--------------------------------------------------------------------------------------------*/\nimport { assert } from \"chai\";\nimport { Schema } from \"../../Schema\";\nimport * as Semver from \"semver\";\n\ndescribe(\"Schema Utilities Test\", () => {\n\n it(\"paddedVersionToSemver\", async () => {\n assert.equal(Schema.toSemverString(\"1.00.00\"), \"1.0.0\");\n assert.isNotNull(Semver.valid(Schema.toSemverString(\"1.00.00\")));\n\n assert.equal(Schema.toSemverString(\"01.0.0\"), \"1.0.0\");\n assert.isNotNull(Semver.valid(Schema.toSemverString(\"01.0.0\")));\n\n assert.equal(Schema.toSemverString(\"1.2.3\"), \"1.2.3\");\n assert.isNotNull(Semver.valid(Schema.toSemverString(\"1.2.3\")));\n\n assert.equal(Schema.toSemverString(\"012.0013\"), \"12.0.13\");\n assert.isNotNull(Semver.valid(Schema.toSemverString(\"012.0013\")));\n\n // bad inputs with undefined behavior\n\n assert.equal(Schema.toSemverString(\"bad.input\"), \"NaN.0.NaN\");\n assert.isNull(Semver.valid(Schema.toSemverString(\"bad.input\")));\n\n assert.equal(Schema.toSemverString(\"1..2\"), \"1.0.2\");\n assert.isNotNull(Semver.valid(Schema.toSemverString(\"1..2\")));\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionDrawing.test.d.ts","sourceRoot":"","sources":["../../../../src/test/standalone/SectionDrawing.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { expect } from "chai";
|
|
6
|
+
import { Id64 } from "@itwin/core-bentley";
|
|
7
|
+
import { Transform } from "@itwin/core-geometry";
|
|
8
|
+
import { RelatedElement, SectionType } from "@itwin/core-common";
|
|
9
|
+
import { Drawing, SectionDrawing } from "../../Element";
|
|
10
|
+
import { DocumentListModel, DrawingModel, SectionDrawingModel } from "../../Model";
|
|
11
|
+
import { SnapshotDb } from "../../IModelDb";
|
|
12
|
+
import { IModelTestUtils } from "../IModelTestUtils";
|
|
13
|
+
describe("SectionDrawing", () => {
|
|
14
|
+
let imodel;
|
|
15
|
+
let documentListModelId;
|
|
16
|
+
before(() => {
|
|
17
|
+
const iModelPath = IModelTestUtils.prepareOutputFile("SectionDrawing", "SectionDrawing.bim");
|
|
18
|
+
imodel = SnapshotDb.createEmpty(iModelPath, { rootSubject: { name: "SectionDrawingTest" } });
|
|
19
|
+
documentListModelId = DocumentListModel.insert(imodel, SnapshotDb.rootSubjectId, "DocumentList");
|
|
20
|
+
});
|
|
21
|
+
after(() => {
|
|
22
|
+
imodel.close();
|
|
23
|
+
});
|
|
24
|
+
it("should round-trip through JSON", () => {
|
|
25
|
+
// Insert a SectionDrawing
|
|
26
|
+
const drawingId = imodel.elements.insertElement({
|
|
27
|
+
classFullName: SectionDrawing.classFullName,
|
|
28
|
+
model: documentListModelId,
|
|
29
|
+
code: Drawing.createCode(imodel, documentListModelId, "SectionDrawingRoundTrip"),
|
|
30
|
+
});
|
|
31
|
+
expect(Id64.isValidId64(drawingId)).to.be.true;
|
|
32
|
+
const model = imodel.models.createModel({
|
|
33
|
+
classFullName: DrawingModel.classFullName,
|
|
34
|
+
modeledElement: { id: drawingId },
|
|
35
|
+
});
|
|
36
|
+
const modelId = imodel.models.insertModel(model.toJSON());
|
|
37
|
+
expect(Id64.isValidId64(modelId)).to.be.true;
|
|
38
|
+
let drawing = imodel.elements.getElement(drawingId);
|
|
39
|
+
expect(drawing instanceof SectionDrawing).to.be.true;
|
|
40
|
+
// Expect default values
|
|
41
|
+
expect(Id64.isValidId64(drawing.spatialView.id)).to.be.false;
|
|
42
|
+
expect(drawing.sectionType).to.equal(SectionType.Section);
|
|
43
|
+
expect(drawing.jsonProperties.drawingToSpatialTransform).to.be.undefined;
|
|
44
|
+
expect(drawing.jsonProperties.sheetToSpatialTransform).to.be.undefined;
|
|
45
|
+
expect(drawing.drawingToSpatialTransform).to.be.undefined;
|
|
46
|
+
expect(drawing.sheetToSpatialTransform).to.be.undefined;
|
|
47
|
+
// Modify values
|
|
48
|
+
const drawingToSpatial = Transform.createTranslationXYZ(1, 2, 3);
|
|
49
|
+
const sheetToSpatial = Transform.createTranslationXYZ(4, 5, 6);
|
|
50
|
+
drawing.spatialView = new RelatedElement({ id: "0x123" });
|
|
51
|
+
drawing.sectionType = SectionType.Elevation;
|
|
52
|
+
drawing.drawingToSpatialTransform = drawingToSpatial;
|
|
53
|
+
drawing.sheetToSpatialTransform = sheetToSpatial;
|
|
54
|
+
// Expect updated values
|
|
55
|
+
const expectProps = (json) => {
|
|
56
|
+
expect(json.spatialView).not.to.be.undefined;
|
|
57
|
+
expect(json.spatialView?.id).to.equal("0x123");
|
|
58
|
+
expect(json.sectionType).to.equal(SectionType.Elevation);
|
|
59
|
+
expect(Transform.fromJSON(json.jsonProperties?.drawingToSpatialTransform).isAlmostEqual(drawingToSpatial)).to.be.true;
|
|
60
|
+
expect(Transform.fromJSON(json.jsonProperties?.sheetToSpatialTransform).isAlmostEqual(sheetToSpatial)).to.be.true;
|
|
61
|
+
};
|
|
62
|
+
const props = drawing.toJSON();
|
|
63
|
+
expectProps(props);
|
|
64
|
+
// Persist changes
|
|
65
|
+
imodel.elements.updateElement(props);
|
|
66
|
+
imodel.saveChanges();
|
|
67
|
+
// Obtain persistent element
|
|
68
|
+
drawing = imodel.elements.getElement(drawingId);
|
|
69
|
+
// Expect persistent values
|
|
70
|
+
expectProps(drawing);
|
|
71
|
+
expectProps(drawing.toJSON());
|
|
72
|
+
});
|
|
73
|
+
it("should create a SectionDrawing and SectionDrawingModel on insert", () => {
|
|
74
|
+
const sectionDrawingId = SectionDrawing.insert(imodel, documentListModelId, "SectionDrawingInsert");
|
|
75
|
+
expect(Id64.isValidId64(sectionDrawingId)).to.be.true;
|
|
76
|
+
const insertedSectionDrawing = imodel.elements.getElement(sectionDrawingId);
|
|
77
|
+
expect(insertedSectionDrawing instanceof SectionDrawing).to.be.true;
|
|
78
|
+
const insertedSectionDrawingModel = imodel.models.getModel(sectionDrawingId);
|
|
79
|
+
expect(insertedSectionDrawingModel.className).to.equal("SectionDrawingModel");
|
|
80
|
+
expect(insertedSectionDrawingModel instanceof SectionDrawingModel).to.be.true;
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=SectionDrawing.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionDrawing.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/SectionDrawing.test.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAuB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,MAAkB,CAAC;IACvB,IAAI,mBAA2B,CAAC;IAChC,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,UAAU,GAAG,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QAC7F,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC7F,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,0BAA0B;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC9C,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,CAAC;SACjF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YACtC,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,cAAc,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SAClC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAE7C,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAiB,SAAS,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,YAAY,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAErD,wBAAwB;QACxB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACzE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAExD,gBAAgB;QAChB,MAAM,gBAAgB,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC;QAC5C,OAAO,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;QACrD,OAAO,CAAC,uBAAuB,GAAG,cAAc,CAAC;QAEjD,wBAAwB;QACxB,MAAM,WAAW,GAAG,CAAC,IAA0C,EAAE,EAAE;YACjE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACtH,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACpH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnB,kBAAkB;QAClB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,WAAW,EAAE,CAAC;QAErB,4BAA4B;QAC5B,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAiB,SAAS,CAAC,CAAC;QAEhE,2BAA2B;QAC3B,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;QAEpG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAEtD,MAAM,sBAAsB,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE5E,MAAM,CAAC,sBAAsB,YAAY,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAEpE,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE7E,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC9E,MAAM,CAAC,2BAA2B,YAAY,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAChF,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*--------------------------------------------------------------------------------------------*/\nimport { expect } from \"chai\";\nimport { Id64 } from \"@itwin/core-bentley\";\nimport { Transform } from \"@itwin/core-geometry\";\nimport { RelatedElement, SectionDrawingProps, SectionType } from \"@itwin/core-common\";\nimport { Drawing, SectionDrawing } from \"../../Element\";\nimport { DocumentListModel, DrawingModel, SectionDrawingModel } from \"../../Model\";\nimport { SnapshotDb } from \"../../IModelDb\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\n\ndescribe(\"SectionDrawing\", () => {\n let imodel: SnapshotDb;\n let documentListModelId: string;\n before(() => {\n const iModelPath = IModelTestUtils.prepareOutputFile(\"SectionDrawing\", \"SectionDrawing.bim\");\n imodel = SnapshotDb.createEmpty(iModelPath, { rootSubject: { name: \"SectionDrawingTest\" } });\n documentListModelId = DocumentListModel.insert(imodel, SnapshotDb.rootSubjectId, \"DocumentList\");\n });\n\n after(() => {\n imodel.close();\n });\n\n it(\"should round-trip through JSON\", () => {\n // Insert a SectionDrawing\n const drawingId = imodel.elements.insertElement({\n classFullName: SectionDrawing.classFullName,\n model: documentListModelId,\n code: Drawing.createCode(imodel, documentListModelId, \"SectionDrawingRoundTrip\"),\n });\n expect(Id64.isValidId64(drawingId)).to.be.true;\n\n const model = imodel.models.createModel({\n classFullName: DrawingModel.classFullName,\n modeledElement: { id: drawingId },\n });\n const modelId = imodel.models.insertModel(model.toJSON());\n expect(Id64.isValidId64(modelId)).to.be.true;\n\n let drawing = imodel.elements.getElement<SectionDrawing>(drawingId);\n expect(drawing instanceof SectionDrawing).to.be.true;\n\n // Expect default values\n expect(Id64.isValidId64(drawing.spatialView.id)).to.be.false;\n expect(drawing.sectionType).to.equal(SectionType.Section);\n expect(drawing.jsonProperties.drawingToSpatialTransform).to.be.undefined;\n expect(drawing.jsonProperties.sheetToSpatialTransform).to.be.undefined;\n expect(drawing.drawingToSpatialTransform).to.be.undefined;\n expect(drawing.sheetToSpatialTransform).to.be.undefined;\n\n // Modify values\n const drawingToSpatial = Transform.createTranslationXYZ(1, 2, 3);\n const sheetToSpatial = Transform.createTranslationXYZ(4, 5, 6);\n drawing.spatialView = new RelatedElement({ id: \"0x123\" });\n drawing.sectionType = SectionType.Elevation;\n drawing.drawingToSpatialTransform = drawingToSpatial;\n drawing.sheetToSpatialTransform = sheetToSpatial;\n\n // Expect updated values\n const expectProps = (json: SectionDrawingProps | SectionDrawing) => {\n expect(json.spatialView).not.to.be.undefined;\n expect(json.spatialView?.id).to.equal(\"0x123\");\n expect(json.sectionType).to.equal(SectionType.Elevation);\n expect(Transform.fromJSON(json.jsonProperties?.drawingToSpatialTransform).isAlmostEqual(drawingToSpatial)).to.be.true;\n expect(Transform.fromJSON(json.jsonProperties?.sheetToSpatialTransform).isAlmostEqual(sheetToSpatial)).to.be.true;\n };\n\n const props = drawing.toJSON();\n expectProps(props);\n\n // Persist changes\n imodel.elements.updateElement(props);\n imodel.saveChanges();\n\n // Obtain persistent element\n drawing = imodel.elements.getElement<SectionDrawing>(drawingId);\n\n // Expect persistent values\n expectProps(drawing);\n expectProps(drawing.toJSON());\n });\n\n it(\"should create a SectionDrawing and SectionDrawingModel on insert\", () => {\n const sectionDrawingId = SectionDrawing.insert(imodel, documentListModelId, \"SectionDrawingInsert\");\n\n expect(Id64.isValidId64(sectionDrawingId)).to.be.true;\n\n const insertedSectionDrawing = imodel.elements.getElement(sectionDrawingId);\n\n expect(insertedSectionDrawing instanceof SectionDrawing).to.be.true;\n\n const insertedSectionDrawingModel = imodel.models.getModel(sectionDrawingId);\n\n expect(insertedSectionDrawingModel.className).to.equal(\"SectionDrawingModel\");\n expect(insertedSectionDrawingModel instanceof SectionDrawingModel).to.be.true;\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerBasedLocks.test.d.ts","sourceRoot":"","sources":["../../../../src/test/standalone/ServerBasedLocks.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as chai from "chai";
|
|
6
|
+
import * as chaiAsPromised from "chai-as-promised";
|
|
7
|
+
import { restore as sinonRestore, spy as sinonSpy } from "sinon";
|
|
8
|
+
import { Guid, Id64 } from "@itwin/core-bentley";
|
|
9
|
+
import { Code, IModel, IModelError, LockState } from "@itwin/core-common";
|
|
10
|
+
import { BriefcaseManager } from "../../BriefcaseManager";
|
|
11
|
+
import { PhysicalObject } from "../../domains/GenericElements";
|
|
12
|
+
import { BriefcaseDb, SnapshotDb } from "../../IModelDb";
|
|
13
|
+
import { IModelHost } from "../../IModelHost";
|
|
14
|
+
import { ElementOwnsChildElements } from "../../NavigationRelationship";
|
|
15
|
+
import { HubMock } from "../../HubMock";
|
|
16
|
+
import { ExtensiveTestScenario, IModelTestUtils } from "../IModelTestUtils";
|
|
17
|
+
import { KnownTestLocations } from "../KnownTestLocations";
|
|
18
|
+
import { ChannelControl } from "../../core-backend";
|
|
19
|
+
import { _hubAccess, _releaseAllLocks } from "../../internal/Symbols";
|
|
20
|
+
const expect = chai.expect;
|
|
21
|
+
const assert = chai.assert;
|
|
22
|
+
chai.use(chaiAsPromised);
|
|
23
|
+
describe("Server-based locks", () => {
|
|
24
|
+
const createVersion0 = async () => {
|
|
25
|
+
const dbName = IModelTestUtils.prepareOutputFile("ServerBasedLocks", "ServerBasedLocks.bim");
|
|
26
|
+
const sourceDb = SnapshotDb.createEmpty(dbName, { rootSubject: { name: "server lock test" } });
|
|
27
|
+
assert.isFalse(sourceDb.locks.isServerBased);
|
|
28
|
+
await ExtensiveTestScenario.prepareDb(sourceDb);
|
|
29
|
+
await ExtensiveTestScenario.populateDb(sourceDb);
|
|
30
|
+
sourceDb.saveChanges();
|
|
31
|
+
sourceDb.close();
|
|
32
|
+
return dbName;
|
|
33
|
+
};
|
|
34
|
+
let iModelId;
|
|
35
|
+
let accessToken1;
|
|
36
|
+
let accessToken2;
|
|
37
|
+
let briefcase1Props;
|
|
38
|
+
let briefcase2Props;
|
|
39
|
+
afterEach(() => sinonRestore());
|
|
40
|
+
before(async () => {
|
|
41
|
+
HubMock.startup("ServerBasedLocks", KnownTestLocations.outputDir);
|
|
42
|
+
const iModelProps = {
|
|
43
|
+
iModelName: "server locks test",
|
|
44
|
+
iTwinId: HubMock.iTwinId,
|
|
45
|
+
version0: await createVersion0(),
|
|
46
|
+
};
|
|
47
|
+
iModelId = await HubMock.createNewIModel(iModelProps);
|
|
48
|
+
const args = { iTwinId: iModelProps.iTwinId, iModelId };
|
|
49
|
+
briefcase1Props = await BriefcaseManager.downloadBriefcase({ accessToken: "test token", ...args });
|
|
50
|
+
briefcase2Props = await BriefcaseManager.downloadBriefcase({ accessToken: "test token2", ...args });
|
|
51
|
+
});
|
|
52
|
+
after(() => {
|
|
53
|
+
HubMock.shutdown();
|
|
54
|
+
});
|
|
55
|
+
const assertSharedLocks = (locks, ids) => {
|
|
56
|
+
for (const id of Id64.iterable(ids))
|
|
57
|
+
assert.isTrue(locks.holdsSharedLock(id));
|
|
58
|
+
};
|
|
59
|
+
const assertExclusiveLocks = (locks, ids) => {
|
|
60
|
+
assertSharedLocks(locks, ids);
|
|
61
|
+
for (const id of Id64.iterable(ids))
|
|
62
|
+
assert.isTrue(locks.holdsSharedLock(id));
|
|
63
|
+
};
|
|
64
|
+
const assertLockCounts = (locks, shared, exclusive) => {
|
|
65
|
+
assert.equal(locks.getLockCount(LockState.Shared), shared);
|
|
66
|
+
assert.equal(locks.getLockCount(LockState.Exclusive), exclusive);
|
|
67
|
+
};
|
|
68
|
+
it("Acquiring locks", async () => {
|
|
69
|
+
const lockSpy = sinonSpy(IModelHost[_hubAccess], "acquireLocks");
|
|
70
|
+
let bc1 = await BriefcaseDb.open({ fileName: briefcase1Props.fileName });
|
|
71
|
+
assert.isTrue(bc1.locks.isServerBased);
|
|
72
|
+
bc1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
73
|
+
let bc2 = await BriefcaseDb.open({ fileName: briefcase2Props.fileName });
|
|
74
|
+
assert.isTrue(bc2.locks.isServerBased);
|
|
75
|
+
let bc1Locks = bc1.locks;
|
|
76
|
+
let bc2Locks = bc2.locks;
|
|
77
|
+
const child1 = IModelTestUtils.queryByUserLabel(bc1, "ChildObject1A");
|
|
78
|
+
const child2 = IModelTestUtils.queryByUserLabel(bc1, "ChildObject1B");
|
|
79
|
+
const childEl = bc1.elements.getElement(child1);
|
|
80
|
+
const parentId = childEl.parent.id;
|
|
81
|
+
const modelId = childEl.model;
|
|
82
|
+
const modelProps = bc1.elements.getElementProps(modelId);
|
|
83
|
+
const subjectId = modelProps.parent.id;
|
|
84
|
+
const sharedLockError = "shared lock is held";
|
|
85
|
+
const exclusiveLockError = "lock is already held";
|
|
86
|
+
await bc1.acquireSchemaLock();
|
|
87
|
+
assert.equal(lockSpy.callCount, 1);
|
|
88
|
+
assert.isTrue(bc1.holdsSchemaLock);
|
|
89
|
+
assertLockCounts(bc1Locks, 0, 1);
|
|
90
|
+
assertExclusiveLocks(bc1Locks, [IModel.dictionaryId, child1, parentId]); // even though we only hold 1 lock (the "schema" lock), every element should say it's locked
|
|
91
|
+
await bc1Locks.acquireLocks({ exclusive: child1 }); // attempting to acquire exclusive lock on any element when schema lock is held shouldn't need a server request
|
|
92
|
+
assert.equal(lockSpy.callCount, 1);
|
|
93
|
+
assert.isFalse(bc2.holdsSchemaLock);
|
|
94
|
+
await expect(bc2.acquireSchemaLock()).rejectedWith(IModelError, exclusiveLockError, "acquire schema exclusive");
|
|
95
|
+
await expect(bc2Locks.acquireLocks({ shared: childEl.model })).rejectedWith(IModelError, exclusiveLockError);
|
|
96
|
+
await bc1Locks[_releaseAllLocks]();
|
|
97
|
+
await bc1Locks.acquireLocks({ exclusive: parentId, shared: parentId });
|
|
98
|
+
assertLockCounts(bc1Locks, 3, 1);
|
|
99
|
+
assertSharedLocks(bc1Locks, [modelId, IModel.rootSubjectId]);
|
|
100
|
+
assertExclusiveLocks(bc1Locks, [parentId, child1, child2]); // acquiring exclusive lock on parent implicitly holds exclusive lock on children
|
|
101
|
+
await bc1Locks[_releaseAllLocks]();
|
|
102
|
+
await bc1Locks.acquireLocks({ exclusive: modelId });
|
|
103
|
+
assertLockCounts(bc1Locks, 2, 1);
|
|
104
|
+
assertSharedLocks(bc1Locks, [modelId, IModel.rootSubjectId]);
|
|
105
|
+
assertExclusiveLocks(bc1Locks, [modelId, parentId, child1, child2]); // acquiring exclusive lock on model implicitly holds exclusive lock on members
|
|
106
|
+
await bc1Locks[_releaseAllLocks]();
|
|
107
|
+
lockSpy.resetHistory();
|
|
108
|
+
await bc1Locks.acquireLocks({ shared: child1 });
|
|
109
|
+
assert.equal(lockSpy.callCount, 1);
|
|
110
|
+
assert.equal(lockSpy.getCall(0).args[1].size, 5);
|
|
111
|
+
assertSharedLocks(bc1Locks, [child1, parentId, modelId, subjectId, IModel.rootSubjectId]);
|
|
112
|
+
assertLockCounts(bc1Locks, 5, 0);
|
|
113
|
+
await bc1Locks.acquireLocks({ exclusive: child1 }); // upgrade lock from shared to exclusive
|
|
114
|
+
assert.equal(lockSpy.callCount, 2);
|
|
115
|
+
assertLockCounts(bc1Locks, 4, 1);
|
|
116
|
+
assertExclusiveLocks(bc1Locks, child1);
|
|
117
|
+
assert.equal(lockSpy.callCount, 2); // should not need to call server on a lock already held
|
|
118
|
+
await expect(bc2.acquireSchemaLock()).rejectedWith(IModelError, sharedLockError);
|
|
119
|
+
assert.equal(lockSpy.callCount, 3);
|
|
120
|
+
await expect(bc2Locks.acquireLocks({ exclusive: parentId })).rejectedWith(IModelError, sharedLockError);
|
|
121
|
+
assert.equal(lockSpy.callCount, 4);
|
|
122
|
+
await bc2Locks.acquireLocks({ shared: parentId });
|
|
123
|
+
assert.equal(lockSpy.callCount, 5);
|
|
124
|
+
assertSharedLocks(bc2Locks, [parentId, IModel.rootSubjectId]);
|
|
125
|
+
await bc2Locks.acquireLocks({ shared: IModel.dictionaryId });
|
|
126
|
+
assert.equal(lockSpy.callCount, 6);
|
|
127
|
+
assertSharedLocks(bc2Locks, IModel.dictionaryId);
|
|
128
|
+
assertLockCounts(bc1Locks, 4, 1);
|
|
129
|
+
assertLockCounts(bc2Locks, 5, 0);
|
|
130
|
+
const childElJson = childEl.toJSON();
|
|
131
|
+
// if we close and reopen the briefcase, the local locks database should still be intact
|
|
132
|
+
bc1.close();
|
|
133
|
+
bc2.close();
|
|
134
|
+
bc1 = await BriefcaseDb.open({ fileName: briefcase1Props.fileName });
|
|
135
|
+
bc1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
136
|
+
bc2 = await BriefcaseDb.open({ fileName: briefcase2Props.fileName });
|
|
137
|
+
bc2.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
138
|
+
bc1Locks = bc1.locks;
|
|
139
|
+
bc2Locks = bc2.locks;
|
|
140
|
+
assertLockCounts(bc1Locks, 4, 1);
|
|
141
|
+
assertLockCounts(bc2Locks, 5, 0);
|
|
142
|
+
assertSharedLocks(bc1Locks, [parentId, childEl.model, IModel.rootSubjectId]);
|
|
143
|
+
assertSharedLocks(bc2Locks, [parentId, IModel.rootSubjectId, IModel.dictionaryId]);
|
|
144
|
+
assertExclusiveLocks(bc1Locks, child1);
|
|
145
|
+
assert.isFalse(bc2Locks.holdsExclusiveLock(child1));
|
|
146
|
+
await bc2Locks[_releaseAllLocks](); // release all locks from bc2 so we can test expected failures below
|
|
147
|
+
assertLockCounts(bc2Locks, 0, 0);
|
|
148
|
+
await expect(bc2Locks.acquireLocks({ exclusive: [IModel.dictionaryId, parentId] })).rejectedWith(IModelError, sharedLockError);
|
|
149
|
+
assertLockCounts(bc2Locks, 0, 0); // exclusive lock is available on dictionary, but not on parent - should get neither
|
|
150
|
+
await bc2Locks.acquireLocks({ exclusive: IModel.dictionaryId }); // now attempt to get only dictionary
|
|
151
|
+
assertExclusiveLocks(bc2Locks, IModel.dictionaryId); // that should work
|
|
152
|
+
assertSharedLocks(bc2Locks, IModel.rootSubjectId); // it should also acquire the shared lock on the rootSubject
|
|
153
|
+
assertLockCounts(bc2Locks, 1, 1);
|
|
154
|
+
await bc1Locks[_releaseAllLocks]();
|
|
155
|
+
await bc2Locks[_releaseAllLocks]();
|
|
156
|
+
lockSpy.resetHistory();
|
|
157
|
+
const physicalProps = {
|
|
158
|
+
classFullName: PhysicalObject.classFullName,
|
|
159
|
+
model: modelId,
|
|
160
|
+
parent: new ElementOwnsChildElements(parentId),
|
|
161
|
+
category: childElJson.category,
|
|
162
|
+
code: Code.createEmpty(),
|
|
163
|
+
};
|
|
164
|
+
assert.throws(() => bc1.elements.insertElement(physicalProps), IModelError, "shared lock"); // insert requires shared lock on model
|
|
165
|
+
await bc1Locks.acquireLocks({ shared: parentId }); // also acquires shared lock on model
|
|
166
|
+
const newElId = bc1.elements.insertElement(physicalProps);
|
|
167
|
+
assertExclusiveLocks(bc1Locks, newElId);
|
|
168
|
+
childElJson.userLabel = "new user label";
|
|
169
|
+
assert.throws(() => bc1.elements.updateElement(childElJson), "exclusive lock");
|
|
170
|
+
await bc1Locks.acquireLocks({ exclusive: child1 });
|
|
171
|
+
bc1.elements.updateElement(childElJson);
|
|
172
|
+
bc1.saveChanges();
|
|
173
|
+
bc1.elements.deleteElement(child1); // make sure delete now works
|
|
174
|
+
bc1.abandonChanges();
|
|
175
|
+
assert.isTrue(bc1.locks.holdsSharedLock(IModel.repositoryModelId));
|
|
176
|
+
await bc1.pushChanges({ accessToken: accessToken1, description: "my changes" });
|
|
177
|
+
assert.isFalse(bc1.locks.holdsSharedLock(IModel.repositoryModelId));
|
|
178
|
+
assert.throws(() => bc2.elements.deleteElement(child1), "exclusive lock"); // bc2 can't delete because it doesn't hold lock
|
|
179
|
+
await expect(bc2Locks.acquireLocks({ exclusive: child1 })).rejectedWith(IModelError, "pull is required"); // can't get lock since other briefcase changed it
|
|
180
|
+
await bc2.pullChanges({ accessToken: accessToken2 });
|
|
181
|
+
await bc2Locks.acquireLocks({ exclusive: child1, shared: child1 });
|
|
182
|
+
const child2El = bc2.elements.getElement(child1);
|
|
183
|
+
assert.equal(child2El.userLabel, childElJson.userLabel);
|
|
184
|
+
await bc1.locks.releaseAllLocks();
|
|
185
|
+
await bc2.locks.releaseAllLocks();
|
|
186
|
+
bc1.close();
|
|
187
|
+
bc2.close();
|
|
188
|
+
});
|
|
189
|
+
describe("releaseAllLocks", () => {
|
|
190
|
+
let bc;
|
|
191
|
+
let locks;
|
|
192
|
+
let elemId;
|
|
193
|
+
beforeEach(async () => {
|
|
194
|
+
bc = await BriefcaseDb.open({ fileName: briefcase1Props.fileName });
|
|
195
|
+
expect(bc.locks.isServerBased).to.be.true;
|
|
196
|
+
locks = bc.locks;
|
|
197
|
+
bc.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
198
|
+
elemId = IModelTestUtils.queryByUserLabel(bc, "ChildObject1B");
|
|
199
|
+
expect(elemId).not.to.equal("0");
|
|
200
|
+
});
|
|
201
|
+
afterEach(() => bc.close());
|
|
202
|
+
function expectLocked() {
|
|
203
|
+
expect(locks.getLockCount(LockState.Exclusive)).least(1);
|
|
204
|
+
expect(locks.getLockCount(LockState.Shared)).to.equal(0);
|
|
205
|
+
}
|
|
206
|
+
function expectUnlocked() {
|
|
207
|
+
expect(locks.getLockCount(LockState.Exclusive)).to.equal(0);
|
|
208
|
+
expect(locks.getLockCount(LockState.Shared)).to.equal(0);
|
|
209
|
+
}
|
|
210
|
+
function write() {
|
|
211
|
+
const elem = bc.elements.getElement(elemId);
|
|
212
|
+
elem.jsonProperties.testProp = Guid.createValue();
|
|
213
|
+
elem.update();
|
|
214
|
+
}
|
|
215
|
+
async function push(retainLocks) {
|
|
216
|
+
return bc.pushChanges({ retainLocks, accessToken: "token", description: "changes" });
|
|
217
|
+
}
|
|
218
|
+
it("releases all locks", async () => {
|
|
219
|
+
expectUnlocked();
|
|
220
|
+
await bc.acquireSchemaLock();
|
|
221
|
+
expectLocked();
|
|
222
|
+
await locks.releaseAllLocks();
|
|
223
|
+
expectUnlocked();
|
|
224
|
+
});
|
|
225
|
+
it("is called when pushChanges is called with no local changes", async () => {
|
|
226
|
+
await bc.acquireSchemaLock();
|
|
227
|
+
expectLocked();
|
|
228
|
+
await push();
|
|
229
|
+
expectUnlocked();
|
|
230
|
+
});
|
|
231
|
+
it("is called when pushing changes", async () => {
|
|
232
|
+
await bc.acquireSchemaLock();
|
|
233
|
+
expectLocked();
|
|
234
|
+
write();
|
|
235
|
+
bc.saveChanges();
|
|
236
|
+
await push();
|
|
237
|
+
expectUnlocked();
|
|
238
|
+
});
|
|
239
|
+
it("is not called when pushChanges is called with no local changes if retainLocks is specified", async () => {
|
|
240
|
+
await bc.acquireSchemaLock();
|
|
241
|
+
expectLocked();
|
|
242
|
+
await push(true);
|
|
243
|
+
expectLocked();
|
|
244
|
+
await locks.releaseAllLocks();
|
|
245
|
+
expectUnlocked();
|
|
246
|
+
});
|
|
247
|
+
it("is not called when pushing changes if retainLocks is specified", async () => {
|
|
248
|
+
await bc.acquireSchemaLock();
|
|
249
|
+
expectLocked();
|
|
250
|
+
write();
|
|
251
|
+
bc.saveChanges();
|
|
252
|
+
await push(true);
|
|
253
|
+
expectLocked();
|
|
254
|
+
await locks.releaseAllLocks();
|
|
255
|
+
expectUnlocked();
|
|
256
|
+
});
|
|
257
|
+
it("throws if briefcase has unpushed changes", async () => {
|
|
258
|
+
expectUnlocked();
|
|
259
|
+
await bc.acquireSchemaLock();
|
|
260
|
+
expectLocked();
|
|
261
|
+
write();
|
|
262
|
+
bc.saveChanges();
|
|
263
|
+
await expect(locks.releaseAllLocks()).to.eventually.be.rejectedWith("local changes");
|
|
264
|
+
await push();
|
|
265
|
+
expectUnlocked();
|
|
266
|
+
});
|
|
267
|
+
it("throws if briefcase has unsaved changes", async () => {
|
|
268
|
+
expectUnlocked();
|
|
269
|
+
await bc.acquireSchemaLock();
|
|
270
|
+
write();
|
|
271
|
+
await expect(locks.releaseAllLocks()).to.eventually.be.rejectedWith("local changes");
|
|
272
|
+
expectLocked();
|
|
273
|
+
bc.abandonChanges();
|
|
274
|
+
await locks.releaseAllLocks();
|
|
275
|
+
expectUnlocked();
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
//# sourceMappingURL=ServerBasedLocks.test.js.map
|