@itwin/core-backend 3.0.0-dev.76 → 3.0.0-dev.80
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/{AliCloudStorageService.d.ts → cjs/AliCloudStorageService.d.ts} +0 -0
- package/lib/cjs/AliCloudStorageService.d.ts.map +1 -0
- package/lib/{AliCloudStorageService.js → cjs/AliCloudStorageService.js} +0 -0
- package/lib/cjs/AliCloudStorageService.js.map +1 -0
- package/lib/{BackendHubAccess.d.ts → cjs/BackendHubAccess.d.ts} +0 -0
- package/lib/cjs/BackendHubAccess.d.ts.map +1 -0
- package/lib/{BackendHubAccess.js → cjs/BackendHubAccess.js} +0 -0
- package/lib/cjs/BackendHubAccess.js.map +1 -0
- package/lib/{BackendLoggerCategory.d.ts → cjs/BackendLoggerCategory.d.ts} +0 -0
- package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -0
- package/lib/{BackendLoggerCategory.js → cjs/BackendLoggerCategory.js} +0 -0
- package/lib/cjs/BackendLoggerCategory.js.map +1 -0
- package/lib/{BisCoreSchema.d.ts → cjs/BisCoreSchema.d.ts} +0 -0
- package/lib/cjs/BisCoreSchema.d.ts.map +1 -0
- package/lib/{BisCoreSchema.js → cjs/BisCoreSchema.js} +0 -0
- package/lib/cjs/BisCoreSchema.js.map +1 -0
- package/lib/{BriefcaseManager.d.ts → cjs/BriefcaseManager.d.ts} +0 -0
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -0
- package/lib/{BriefcaseManager.js → cjs/BriefcaseManager.js} +2 -2
- package/lib/cjs/BriefcaseManager.js.map +1 -0
- package/lib/{Category.d.ts → cjs/Category.d.ts} +0 -0
- package/lib/cjs/Category.d.ts.map +1 -0
- package/lib/{Category.js → cjs/Category.js} +0 -0
- package/lib/cjs/Category.js.map +1 -0
- package/lib/{ChangeSummaryManager.d.ts → cjs/ChangeSummaryManager.d.ts} +1 -1
- package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -0
- package/lib/{ChangeSummaryManager.js → cjs/ChangeSummaryManager.js} +0 -0
- package/lib/cjs/ChangeSummaryManager.js.map +1 -0
- package/lib/{ChangedElementsDb.d.ts → cjs/ChangedElementsDb.d.ts} +0 -0
- package/lib/cjs/ChangedElementsDb.d.ts.map +1 -0
- package/lib/{ChangedElementsDb.js → cjs/ChangedElementsDb.js} +0 -0
- package/lib/cjs/ChangedElementsDb.js.map +1 -0
- package/lib/{ChangedElementsManager.d.ts → cjs/ChangedElementsManager.d.ts} +0 -0
- package/lib/cjs/ChangedElementsManager.d.ts.map +1 -0
- package/lib/{ChangedElementsManager.js → cjs/ChangedElementsManager.js} +0 -0
- package/lib/cjs/ChangedElementsManager.js.map +1 -0
- package/lib/{CheckpointManager.d.ts → cjs/CheckpointManager.d.ts} +3 -1
- package/lib/cjs/CheckpointManager.d.ts.map +1 -0
- package/lib/{CheckpointManager.js → cjs/CheckpointManager.js} +2 -2
- package/lib/cjs/CheckpointManager.js.map +1 -0
- package/lib/{ClassRegistry.d.ts → cjs/ClassRegistry.d.ts} +0 -0
- package/lib/cjs/ClassRegistry.d.ts.map +1 -0
- package/lib/{ClassRegistry.js → cjs/ClassRegistry.js} +0 -0
- package/lib/cjs/ClassRegistry.js.map +1 -0
- package/lib/{CloudStorageBackend.d.ts → cjs/CloudStorageBackend.d.ts} +0 -0
- package/lib/cjs/CloudStorageBackend.d.ts.map +1 -0
- package/lib/{CloudStorageBackend.js → cjs/CloudStorageBackend.js} +3 -3
- package/lib/cjs/CloudStorageBackend.js.map +1 -0
- package/lib/{CodeSpecs.d.ts → cjs/CodeSpecs.d.ts} +0 -0
- package/lib/cjs/CodeSpecs.d.ts.map +1 -0
- package/lib/{CodeSpecs.js → cjs/CodeSpecs.js} +0 -0
- package/lib/cjs/CodeSpecs.js.map +1 -0
- package/lib/{ConcurrentQuery.d.ts → cjs/ConcurrentQuery.d.ts} +0 -0
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -0
- package/lib/{ConcurrentQuery.js → cjs/ConcurrentQuery.js} +0 -0
- package/lib/cjs/ConcurrentQuery.js.map +1 -0
- package/lib/{DevTools.d.ts → cjs/DevTools.d.ts} +0 -0
- package/lib/cjs/DevTools.d.ts.map +1 -0
- package/lib/{DevTools.js → cjs/DevTools.js} +3 -3
- package/lib/cjs/DevTools.js.map +1 -0
- package/lib/{DisplayStyle.d.ts → cjs/DisplayStyle.d.ts} +0 -0
- package/lib/cjs/DisplayStyle.d.ts.map +1 -0
- package/lib/{DisplayStyle.js → cjs/DisplayStyle.js} +5 -2
- package/lib/cjs/DisplayStyle.js.map +1 -0
- package/lib/{ECDb.d.ts → cjs/ECDb.d.ts} +0 -0
- package/lib/cjs/ECDb.d.ts.map +1 -0
- package/lib/{ECDb.js → cjs/ECDb.js} +51 -85
- package/lib/cjs/ECDb.js.map +1 -0
- package/lib/{ECSchemaXmlContext.d.ts → cjs/ECSchemaXmlContext.d.ts} +0 -0
- package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -0
- package/lib/{ECSchemaXmlContext.js → cjs/ECSchemaXmlContext.js} +0 -0
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -0
- package/lib/{ECSqlStatement.d.ts → cjs/ECSqlStatement.d.ts} +0 -0
- package/lib/cjs/ECSqlStatement.d.ts.map +1 -0
- package/lib/{ECSqlStatement.js → cjs/ECSqlStatement.js} +0 -0
- package/lib/cjs/ECSqlStatement.js.map +1 -0
- package/lib/{Element.d.ts → cjs/Element.d.ts} +0 -0
- package/lib/cjs/Element.d.ts.map +1 -0
- package/lib/{Element.js → cjs/Element.js} +11 -4
- package/lib/cjs/Element.js.map +1 -0
- package/lib/{ElementAspect.d.ts → cjs/ElementAspect.d.ts} +0 -0
- package/lib/cjs/ElementAspect.d.ts.map +1 -0
- package/lib/{ElementAspect.js → cjs/ElementAspect.js} +0 -0
- package/lib/cjs/ElementAspect.js.map +1 -0
- package/lib/{ElementGraphics.d.ts → cjs/ElementGraphics.d.ts} +0 -0
- package/lib/cjs/ElementGraphics.d.ts.map +1 -0
- package/lib/{ElementGraphics.js → cjs/ElementGraphics.js} +0 -0
- package/lib/cjs/ElementGraphics.js.map +1 -0
- package/lib/{Entity.d.ts → cjs/Entity.d.ts} +0 -0
- package/lib/cjs/Entity.d.ts.map +1 -0
- package/lib/{Entity.js → cjs/Entity.js} +0 -0
- package/lib/cjs/Entity.js.map +1 -0
- package/lib/{ExportGraphics.d.ts → cjs/ExportGraphics.d.ts} +0 -0
- package/lib/cjs/ExportGraphics.d.ts.map +1 -0
- package/lib/{ExportGraphics.js → cjs/ExportGraphics.js} +0 -0
- package/lib/cjs/ExportGraphics.js.map +1 -0
- package/lib/{ExternalSource.d.ts → cjs/ExternalSource.d.ts} +0 -0
- package/lib/cjs/ExternalSource.d.ts.map +1 -0
- package/lib/{ExternalSource.js → cjs/ExternalSource.js} +0 -0
- package/lib/cjs/ExternalSource.js.map +1 -0
- package/lib/{GeometrySummary.d.ts → cjs/GeometrySummary.d.ts} +0 -0
- package/lib/cjs/GeometrySummary.d.ts.map +1 -0
- package/lib/{GeometrySummary.js → cjs/GeometrySummary.js} +0 -0
- package/lib/cjs/GeometrySummary.js.map +1 -0
- package/lib/{IModelCloneContext.d.ts → cjs/IModelCloneContext.d.ts} +0 -0
- package/lib/cjs/IModelCloneContext.d.ts.map +1 -0
- package/lib/{IModelCloneContext.js → cjs/IModelCloneContext.js} +0 -0
- package/lib/cjs/IModelCloneContext.js.map +1 -0
- package/lib/{IModelDb.d.ts → cjs/IModelDb.d.ts} +4 -6
- package/lib/cjs/IModelDb.d.ts.map +1 -0
- package/lib/{IModelDb.js → cjs/IModelDb.js} +99 -104
- package/lib/cjs/IModelDb.js.map +1 -0
- package/lib/{IModelHost.d.ts → cjs/IModelHost.d.ts} +1 -2
- package/lib/cjs/IModelHost.d.ts.map +1 -0
- package/lib/{IModelHost.js → cjs/IModelHost.js} +11 -6
- package/lib/cjs/IModelHost.js.map +1 -0
- package/lib/{IModelHubBackend.d.ts → cjs/IModelHubBackend.d.ts} +0 -0
- package/lib/cjs/IModelHubBackend.d.ts.map +1 -0
- package/lib/{IModelHubBackend.js → cjs/IModelHubBackend.js} +6 -6
- package/lib/cjs/IModelHubBackend.js.map +1 -0
- package/lib/{IModelJsFs.d.ts → cjs/IModelJsFs.d.ts} +0 -0
- package/lib/cjs/IModelJsFs.d.ts.map +1 -0
- package/lib/{IModelJsFs.js → cjs/IModelJsFs.js} +0 -0
- package/lib/cjs/IModelJsFs.js.map +1 -0
- package/lib/{IModelSchemaLoader.d.ts → cjs/IModelSchemaLoader.d.ts} +0 -0
- package/lib/cjs/IModelSchemaLoader.d.ts.map +1 -0
- package/lib/{IModelSchemaLoader.js → cjs/IModelSchemaLoader.js} +0 -0
- package/lib/cjs/IModelSchemaLoader.js.map +1 -0
- package/lib/{IpcHost.d.ts → cjs/IpcHost.d.ts} +0 -0
- package/lib/cjs/IpcHost.d.ts.map +1 -0
- package/lib/{IpcHost.js → cjs/IpcHost.js} +0 -0
- package/lib/cjs/IpcHost.js.map +1 -0
- package/lib/{LineStyle.d.ts → cjs/LineStyle.d.ts} +0 -0
- package/lib/cjs/LineStyle.d.ts.map +1 -0
- package/lib/{LineStyle.js → cjs/LineStyle.js} +0 -0
- package/lib/cjs/LineStyle.js.map +1 -0
- package/lib/{LocalhostIpcHost.d.ts → cjs/LocalhostIpcHost.d.ts} +0 -0
- package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -0
- package/lib/{LocalhostIpcHost.js → cjs/LocalhostIpcHost.js} +0 -0
- package/lib/cjs/LocalhostIpcHost.js.map +1 -0
- package/lib/{Material.d.ts → cjs/Material.d.ts} +0 -0
- package/lib/cjs/Material.d.ts.map +1 -0
- package/lib/{Material.js → cjs/Material.js} +0 -0
- package/lib/cjs/Material.js.map +1 -0
- package/lib/{Model.d.ts → cjs/Model.d.ts} +0 -0
- package/lib/cjs/Model.d.ts.map +1 -0
- package/lib/{Model.js → cjs/Model.js} +1 -1
- package/lib/cjs/Model.js.map +1 -0
- package/lib/{NativeAppStorage.d.ts → cjs/NativeAppStorage.d.ts} +0 -0
- package/lib/cjs/NativeAppStorage.d.ts.map +1 -0
- package/lib/{NativeAppStorage.js → cjs/NativeAppStorage.js} +0 -0
- package/lib/cjs/NativeAppStorage.js.map +1 -0
- package/lib/{NativeHost.d.ts → cjs/NativeHost.d.ts} +2 -2
- package/lib/cjs/NativeHost.d.ts.map +1 -0
- package/lib/{NativeHost.js → cjs/NativeHost.js} +4 -1
- package/lib/cjs/NativeHost.js.map +1 -0
- package/lib/{NavigationRelationship.d.ts → cjs/NavigationRelationship.d.ts} +0 -0
- package/lib/cjs/NavigationRelationship.d.ts.map +1 -0
- package/lib/{NavigationRelationship.js → cjs/NavigationRelationship.js} +0 -0
- package/lib/cjs/NavigationRelationship.js.map +1 -0
- package/lib/{PromiseMemoizer.d.ts → cjs/PromiseMemoizer.d.ts} +0 -0
- package/lib/cjs/PromiseMemoizer.d.ts.map +1 -0
- package/lib/{PromiseMemoizer.js → cjs/PromiseMemoizer.js} +0 -0
- package/lib/cjs/PromiseMemoizer.js.map +1 -0
- package/lib/{Relationship.d.ts → cjs/Relationship.d.ts} +0 -0
- package/lib/cjs/Relationship.d.ts.map +1 -0
- package/lib/{Relationship.js → cjs/Relationship.js} +0 -0
- package/lib/cjs/Relationship.js.map +1 -0
- package/lib/{RpcBackend.d.ts → cjs/RpcBackend.d.ts} +0 -0
- package/lib/cjs/RpcBackend.d.ts.map +1 -0
- package/lib/{RpcBackend.js → cjs/RpcBackend.js} +0 -0
- package/lib/cjs/RpcBackend.js.map +1 -0
- package/lib/{SQLiteDb.d.ts → cjs/SQLiteDb.d.ts} +0 -0
- package/lib/cjs/SQLiteDb.d.ts.map +1 -0
- package/lib/{SQLiteDb.js → cjs/SQLiteDb.js} +0 -0
- package/lib/cjs/SQLiteDb.js.map +1 -0
- package/lib/{Schema.d.ts → cjs/Schema.d.ts} +0 -0
- package/lib/cjs/Schema.d.ts.map +1 -0
- package/lib/{Schema.js → cjs/Schema.js} +0 -0
- package/lib/cjs/Schema.js.map +1 -0
- package/lib/{ServerBasedLocks.d.ts → cjs/ServerBasedLocks.d.ts} +0 -0
- package/lib/cjs/ServerBasedLocks.d.ts.map +1 -0
- package/lib/{ServerBasedLocks.js → cjs/ServerBasedLocks.js} +0 -0
- package/lib/cjs/ServerBasedLocks.js.map +1 -0
- package/lib/{SqliteStatement.d.ts → cjs/SqliteStatement.d.ts} +0 -0
- package/lib/cjs/SqliteStatement.d.ts.map +1 -0
- package/lib/{SqliteStatement.js → cjs/SqliteStatement.js} +0 -0
- package/lib/cjs/SqliteStatement.js.map +1 -0
- package/lib/{Texture.d.ts → cjs/Texture.d.ts} +0 -0
- package/lib/cjs/Texture.d.ts.map +1 -0
- package/lib/{Texture.js → cjs/Texture.js} +0 -0
- package/lib/cjs/Texture.js.map +1 -0
- package/lib/{TxnManager.d.ts → cjs/TxnManager.d.ts} +0 -0
- package/lib/cjs/TxnManager.d.ts.map +1 -0
- package/lib/{TxnManager.js → cjs/TxnManager.js} +0 -0
- package/lib/cjs/TxnManager.js.map +1 -0
- package/lib/{ViewDefinition.d.ts → cjs/ViewDefinition.d.ts} +0 -0
- package/lib/cjs/ViewDefinition.d.ts.map +1 -0
- package/lib/{ViewDefinition.js → cjs/ViewDefinition.js} +0 -0
- package/lib/cjs/ViewDefinition.js.map +1 -0
- package/lib/{assets → cjs/assets}/IModelChange.02.00.00.ecschema.xml +0 -0
- package/lib/{core-backend.d.ts → cjs/core-backend.d.ts} +0 -0
- package/lib/cjs/core-backend.d.ts.map +1 -0
- package/lib/{core-backend.js → cjs/core-backend.js} +0 -0
- package/lib/cjs/core-backend.js.map +1 -0
- package/lib/{domains → cjs/domains}/FunctionalElements.d.ts +0 -0
- package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -0
- package/lib/{domains → cjs/domains}/FunctionalElements.js +0 -0
- package/lib/cjs/domains/FunctionalElements.js.map +1 -0
- package/lib/{domains → cjs/domains}/FunctionalSchema.d.ts +0 -0
- package/lib/cjs/domains/FunctionalSchema.d.ts.map +1 -0
- package/lib/{domains → cjs/domains}/FunctionalSchema.js +0 -0
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -0
- package/lib/{domains → cjs/domains}/GenericElements.d.ts +0 -0
- package/lib/cjs/domains/GenericElements.d.ts.map +1 -0
- package/lib/{domains → cjs/domains}/GenericElements.js +0 -0
- package/lib/cjs/domains/GenericElements.js.map +1 -0
- package/lib/{domains → cjs/domains}/GenericSchema.d.ts +0 -0
- package/lib/cjs/domains/GenericSchema.d.ts.map +1 -0
- package/lib/{domains → cjs/domains}/GenericSchema.js +0 -0
- package/lib/cjs/domains/GenericSchema.js.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/DevToolsRpcImpl.d.ts +0 -0
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/DevToolsRpcImpl.js +0 -0
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/IModelReadRpcImpl.d.ts +0 -0
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/IModelReadRpcImpl.js +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/IModelTileRpcImpl.d.ts +0 -0
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/IModelTileRpcImpl.js +6 -3
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/RpcBriefcaseUtility.d.ts +0 -0
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/RpcBriefcaseUtility.js +9 -8
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/SnapshotIModelRpcImpl.d.ts +0 -0
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/SnapshotIModelRpcImpl.js +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/WipRpcImpl.d.ts +1 -2
- package/lib/cjs/rpc-impl/WipRpcImpl.d.ts.map +1 -0
- package/lib/{rpc-impl → cjs/rpc-impl}/WipRpcImpl.js +1 -2
- package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -0
- package/package.json +37 -41
- package/lib/AliCloudStorageService.d.ts.map +0 -1
- package/lib/AliCloudStorageService.js.map +0 -1
- package/lib/BackendHubAccess.d.ts.map +0 -1
- package/lib/BackendHubAccess.js.map +0 -1
- package/lib/BackendLoggerCategory.d.ts.map +0 -1
- package/lib/BackendLoggerCategory.js.map +0 -1
- package/lib/BisCoreSchema.d.ts.map +0 -1
- package/lib/BisCoreSchema.js.map +0 -1
- package/lib/BriefcaseManager.d.ts.map +0 -1
- package/lib/BriefcaseManager.js.map +0 -1
- package/lib/Category.d.ts.map +0 -1
- package/lib/Category.js.map +0 -1
- package/lib/ChangeSummaryManager.d.ts.map +0 -1
- package/lib/ChangeSummaryManager.js.map +0 -1
- package/lib/ChangedElementsDb.d.ts.map +0 -1
- package/lib/ChangedElementsDb.js.map +0 -1
- package/lib/ChangedElementsManager.d.ts.map +0 -1
- package/lib/ChangedElementsManager.js.map +0 -1
- package/lib/CheckpointManager.d.ts.map +0 -1
- package/lib/CheckpointManager.js.map +0 -1
- package/lib/ClassRegistry.d.ts.map +0 -1
- package/lib/ClassRegistry.js.map +0 -1
- package/lib/CloudStorageBackend.d.ts.map +0 -1
- package/lib/CloudStorageBackend.js.map +0 -1
- package/lib/CodeSpecs.d.ts.map +0 -1
- package/lib/CodeSpecs.js.map +0 -1
- package/lib/ConcurrentQuery.d.ts.map +0 -1
- package/lib/ConcurrentQuery.js.map +0 -1
- package/lib/DevTools.d.ts.map +0 -1
- package/lib/DevTools.js.map +0 -1
- package/lib/DisplayStyle.d.ts.map +0 -1
- package/lib/DisplayStyle.js.map +0 -1
- package/lib/ECDb.d.ts.map +0 -1
- package/lib/ECDb.js.map +0 -1
- package/lib/ECSchemaXmlContext.d.ts.map +0 -1
- package/lib/ECSchemaXmlContext.js.map +0 -1
- package/lib/ECSqlStatement.d.ts.map +0 -1
- package/lib/ECSqlStatement.js.map +0 -1
- package/lib/Element.d.ts.map +0 -1
- package/lib/Element.js.map +0 -1
- package/lib/ElementAspect.d.ts.map +0 -1
- package/lib/ElementAspect.js.map +0 -1
- package/lib/ElementGraphics.d.ts.map +0 -1
- package/lib/ElementGraphics.js.map +0 -1
- package/lib/Entity.d.ts.map +0 -1
- package/lib/Entity.js.map +0 -1
- package/lib/ExportGraphics.d.ts.map +0 -1
- package/lib/ExportGraphics.js.map +0 -1
- package/lib/ExternalSource.d.ts.map +0 -1
- package/lib/ExternalSource.js.map +0 -1
- package/lib/GeometrySummary.d.ts.map +0 -1
- package/lib/GeometrySummary.js.map +0 -1
- package/lib/IModelCloneContext.d.ts.map +0 -1
- package/lib/IModelCloneContext.js.map +0 -1
- package/lib/IModelDb.d.ts.map +0 -1
- package/lib/IModelDb.js.map +0 -1
- package/lib/IModelHost.d.ts.map +0 -1
- package/lib/IModelHost.js.map +0 -1
- package/lib/IModelHubBackend.d.ts.map +0 -1
- package/lib/IModelHubBackend.js.map +0 -1
- package/lib/IModelJsFs.d.ts.map +0 -1
- package/lib/IModelJsFs.js.map +0 -1
- package/lib/IModelSchemaLoader.d.ts.map +0 -1
- package/lib/IModelSchemaLoader.js.map +0 -1
- package/lib/IpcHost.d.ts.map +0 -1
- package/lib/IpcHost.js.map +0 -1
- package/lib/LineStyle.d.ts.map +0 -1
- package/lib/LineStyle.js.map +0 -1
- package/lib/LocalhostIpcHost.d.ts.map +0 -1
- package/lib/LocalhostIpcHost.js.map +0 -1
- package/lib/Material.d.ts.map +0 -1
- package/lib/Material.js.map +0 -1
- package/lib/Model.d.ts.map +0 -1
- package/lib/Model.js.map +0 -1
- package/lib/NativeAppStorage.d.ts.map +0 -1
- package/lib/NativeAppStorage.js.map +0 -1
- package/lib/NativeHost.d.ts.map +0 -1
- package/lib/NativeHost.js.map +0 -1
- package/lib/NavigationRelationship.d.ts.map +0 -1
- package/lib/NavigationRelationship.js.map +0 -1
- package/lib/PromiseMemoizer.d.ts.map +0 -1
- package/lib/PromiseMemoizer.js.map +0 -1
- package/lib/Relationship.d.ts.map +0 -1
- package/lib/Relationship.js.map +0 -1
- package/lib/RpcBackend.d.ts.map +0 -1
- package/lib/RpcBackend.js.map +0 -1
- package/lib/SQLiteDb.d.ts.map +0 -1
- package/lib/SQLiteDb.js.map +0 -1
- package/lib/Schema.d.ts.map +0 -1
- package/lib/Schema.js.map +0 -1
- package/lib/ServerBasedLocks.d.ts.map +0 -1
- package/lib/ServerBasedLocks.js.map +0 -1
- package/lib/SqliteStatement.d.ts.map +0 -1
- package/lib/SqliteStatement.js.map +0 -1
- package/lib/Texture.d.ts.map +0 -1
- package/lib/Texture.js.map +0 -1
- package/lib/TxnManager.d.ts.map +0 -1
- package/lib/TxnManager.js.map +0 -1
- package/lib/ViewDefinition.d.ts.map +0 -1
- package/lib/ViewDefinition.js.map +0 -1
- package/lib/core-backend.d.ts.map +0 -1
- package/lib/core-backend.js.map +0 -1
- package/lib/domains/FunctionalElements.d.ts.map +0 -1
- package/lib/domains/FunctionalElements.js.map +0 -1
- package/lib/domains/FunctionalSchema.d.ts.map +0 -1
- package/lib/domains/FunctionalSchema.js.map +0 -1
- package/lib/domains/GenericElements.d.ts.map +0 -1
- package/lib/domains/GenericElements.js.map +0 -1
- package/lib/domains/GenericSchema.d.ts.map +0 -1
- package/lib/domains/GenericSchema.js.map +0 -1
- package/lib/rpc-impl/DevToolsRpcImpl.d.ts.map +0 -1
- package/lib/rpc-impl/DevToolsRpcImpl.js.map +0 -1
- package/lib/rpc-impl/IModelReadRpcImpl.d.ts.map +0 -1
- package/lib/rpc-impl/IModelReadRpcImpl.js.map +0 -1
- package/lib/rpc-impl/IModelTileRpcImpl.d.ts.map +0 -1
- package/lib/rpc-impl/IModelTileRpcImpl.js.map +0 -1
- package/lib/rpc-impl/RpcBriefcaseUtility.d.ts.map +0 -1
- package/lib/rpc-impl/RpcBriefcaseUtility.js.map +0 -1
- package/lib/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +0 -1
- package/lib/rpc-impl/SnapshotIModelRpcImpl.js.map +0 -1
- package/lib/rpc-impl/WipRpcImpl.d.ts.map +0 -1
- package/lib/rpc-impl/WipRpcImpl.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelReadRpcImpl.js","sourceRoot":"","sources":["../../../src/rpc-impl/IModelReadRpcImpl.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/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport { GuidString, Id64, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport { Range3d, Range3dProps } from \"@itwin/core-geometry\";\nimport {\n Code, CodeProps, ElementLoadOptions, ElementLoadProps, ElementProps, EntityMetaData, EntityQueryParams, FontMapProps, GeoCoordinatesRequestProps,\n GeoCoordinatesResponseProps, GeometryContainmentRequestProps, GeometryContainmentResponseProps, GeometrySummaryRequestProps, ImageSourceFormat,\n IModel, IModelConnectionProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelError, IModelReadRpcInterface,\n IModelRpcOpenProps, IModelRpcProps, MassPropertiesRequestProps, MassPropertiesResponseProps, ModelProps, NoContentError, QueryLimit, QueryPriority,\n QueryQuota, QueryResponse, RpcInterface, RpcManager, SnapRequestProps, SnapResponseProps, SyncMode, TextureData, TextureLoadProps,\n ViewStateLoadProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { SpatialCategory } from \"../Category\";\nimport { generateGeometrySummaries } from \"../GeometrySummary\";\nimport { DictionaryModel } from \"../Model\";\nimport { RpcBriefcaseUtility } from \"./RpcBriefcaseUtility\";\nimport { RpcTrace } from \"../RpcBackend\";\n\n/** The backend implementation of IModelReadRpcInterface.\n * @internal\n */\nexport class IModelReadRpcImpl extends RpcInterface implements IModelReadRpcInterface {\n\n public static register() { RpcManager.registerImpl(IModelReadRpcInterface, IModelReadRpcImpl); }\n\n public async getConnectionProps(tokenProps: IModelRpcOpenProps): Promise<IModelConnectionProps> {\n return RpcBriefcaseUtility.openWithTimeout(RpcTrace.currentActivity!, tokenProps, SyncMode.FixedVersion);\n }\n\n public async queryRows(tokenProps: IModelRpcProps, ecsql: string, bindings?: any[] | object, limit?: QueryLimit, quota?: QueryQuota, priority?: QueryPriority, restartToken?: string, abbreviateBlobs?: boolean): Promise<QueryResponse> {\n const user = RpcTrace.currentActivity!;\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(user.accessToken, tokenProps);\n return iModelDb.queryRows(user.sessionId, ecsql, bindings, limit, quota, priority, restartToken, abbreviateBlobs);\n }\n\n public async queryModelRanges(tokenProps: IModelRpcProps, modelIdsList: Id64String[]): Promise<Range3dProps[]> {\n const modelIds = new Set(modelIdsList);\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const ranges: Range3dProps[] = [];\n for (const id of modelIds) {\n try {\n ranges.push(iModelDb.nativeDb.queryModelExtents({ id }).modelExtents);\n } catch (err: any) {\n if ((err as IModelError).errorNumber === IModelStatus.NoGeometry) { // if there was no geometry, just return null range\n ranges.push(new Range3d());\n continue;\n }\n\n if (modelIds.size === 1)\n throw err; // if they're asking for more than one model, don't throw on error.\n continue;\n }\n }\n return ranges;\n }\n\n public async getModelProps(tokenProps: IModelRpcProps, modelIdsList: Id64String[]): Promise<ModelProps[]> {\n const modelIds = new Set(modelIdsList);\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const modelJsonArray: ModelProps[] = [];\n for (const id of modelIds) {\n try {\n const modelProps = iModelDb.models.getModelJson({ id });\n modelJsonArray.push(modelProps);\n } catch (error) {\n if (modelIds.size === 1)\n throw error; // if they're asking for more than one model, don't throw on error.\n }\n }\n return modelJsonArray;\n }\n\n public async queryModelProps(tokenProps: IModelRpcProps, params: EntityQueryParams): Promise<ModelProps[]> {\n const ids = await this.queryEntityIds(tokenProps, params);\n return this.getModelProps(tokenProps, [...ids]);\n }\n\n public async getElementProps(tokenProps: IModelRpcProps, elementIdsList: Id64String[]): Promise<ElementProps[]> {\n const elementIds = new Set(elementIdsList);\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const elementProps: ElementProps[] = [];\n for (const id of elementIds) {\n try {\n elementProps.push(iModelDb.elements.getElementJson({ id }));\n } catch (error) {\n if (elementIds.size === 1)\n throw error; // if they're asking for more than one element, don't throw on error.\n }\n }\n return elementProps;\n }\n\n public async loadElementProps(tokenProps: IModelRpcProps, identifier: Id64String | GuidString | CodeProps, options?: ElementLoadOptions): Promise<ElementProps | undefined> {\n const props: ElementLoadProps = options ? { ...options } : {};\n if (typeof identifier === \"string\") {\n if (Id64.isId64(identifier))\n props.id = identifier;\n else\n props.federationGuid = identifier;\n } else {\n props.code = Code.fromJSON(identifier);\n }\n\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.elements.tryGetElementProps(props);\n }\n\n public async getGeometrySummary(tokenProps: IModelRpcProps, request: GeometrySummaryRequestProps): Promise<string> {\n const iModel = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return generateGeometrySummaries(request, iModel);\n }\n\n public async queryElementProps(tokenProps: IModelRpcProps, params: EntityQueryParams): Promise<ElementProps[]> {\n const ids = await this.queryEntityIds(tokenProps, params);\n const res = this.getElementProps(tokenProps, [...ids]);\n return res;\n }\n\n public async queryEntityIds(tokenProps: IModelRpcProps, params: EntityQueryParams): Promise<Id64String[]> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const res = iModelDb.queryEntityIds(params);\n return [...res];\n }\n\n public async getClassHierarchy(tokenProps: IModelRpcProps, classFullName: string): Promise<string[]> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const classArray: string[] = [];\n while (true) {\n const classMetaData: EntityMetaData = iModelDb.getMetaData(classFullName);\n classArray.push(classFullName);\n if (!classMetaData.baseClasses || classMetaData.baseClasses.length === 0)\n break;\n\n classFullName = classMetaData.baseClasses[0];\n }\n return classArray;\n }\n\n public async getAllCodeSpecs(tokenProps: IModelRpcProps): Promise<any[]> {\n const codeSpecs: any[] = [];\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n iModelDb.withPreparedStatement(\"SELECT ECInstanceId AS id, name, jsonProperties FROM BisCore.CodeSpec\", (statement) => {\n for (const row of statement)\n codeSpecs.push({ id: row.id, name: row.name, jsonProperties: JSON.parse(row.jsonProperties) });\n });\n return codeSpecs;\n }\n\n public async getViewStateData(tokenProps: IModelRpcProps, viewDefinitionId: string, options?: ViewStateLoadProps): Promise<ViewStateProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.views.getViewStateData(viewDefinitionId, options);\n }\n\n public async readFontJson(tokenProps: IModelRpcProps): Promise<FontMapProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.nativeDb.readFontMap();\n }\n\n public async requestSnap(tokenProps: IModelRpcProps, sessionId: string, props: SnapRequestProps): Promise<SnapResponseProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.requestSnap(sessionId, props);\n }\n\n public async cancelSnap(tokenProps: IModelRpcProps, sessionId: string): Promise<void> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.cancelSnap(sessionId);\n }\n\n public async getGeometryContainment(tokenProps: IModelRpcProps, props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.getGeometryContainment(props);\n }\n\n public async getMassProperties(tokenProps: IModelRpcProps, props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.getMassProperties(props);\n }\n\n public async getToolTipMessage(tokenProps: IModelRpcProps, id: string): Promise<string[]> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const el = iModelDb.elements.getElement(id);\n return (el === undefined) ? [] : el.getToolTipMessage();\n }\n\n /** Send a view thumbnail to the frontend. This is a binary transfer with the metadata in a 16-byte prefix header. */\n public async getViewThumbnail(tokenProps: IModelRpcProps, viewId: string): Promise<Uint8Array> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const thumbnail = iModelDb.views.getThumbnail(viewId);\n if (undefined === thumbnail || 0 === thumbnail.image.length)\n throw new NoContentError();\n\n const val = new Uint8Array(thumbnail.image.length + 16); // allocate a new buffer 16 bytes larger than the image size\n new Uint32Array(val.buffer, 0, 4).set([thumbnail.image.length, thumbnail.format === \"jpeg\" ? ImageSourceFormat.Jpeg : ImageSourceFormat.Png, thumbnail.width, thumbnail.height]); // Put the metadata in the first 16 bytes.\n val.set(thumbnail.image, 16); // put the image data at offset 16 after metadata\n return val;\n }\n\n public async getDefaultViewId(tokenProps: IModelRpcProps): Promise<Id64String> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const spec = { namespace: \"dgn_View\", name: \"DefaultView\" };\n const blob = iModelDb.queryFilePropertyBlob(spec);\n if (undefined === blob || 8 !== blob.length)\n return Id64.invalid;\n\n const view = new Uint32Array(blob.buffer);\n return Id64.fromUint32Pair(view[0], view[1]);\n }\n public async getSpatialCategoryId(tokenProps: IModelRpcProps, categoryName: string): Promise<Id64String | undefined> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n const dictionary: DictionaryModel = iModelDb.models.getModel<DictionaryModel>(IModel.dictionaryId);\n return SpatialCategory.queryCategoryIdByName(iModelDb, dictionary.id, categoryName);\n }\n\n public async getIModelCoordinatesFromGeoCoordinates(tokenProps: IModelRpcProps, props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.getIModelCoordinatesFromGeoCoordinates(props);\n }\n\n public async getGeoCoordinatesFromIModelCoordinates(tokenProps: IModelRpcProps, props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps> {\n const iModelDb = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return iModelDb.getGeoCoordinatesFromIModelCoordinates(props);\n }\n\n public async queryTextureData(tokenProps: IModelRpcProps, textureLoadProps: TextureLoadProps): Promise<TextureData | undefined> {\n const db = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\n return db.queryTextureData(textureLoadProps);\n }\n}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelTileRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/rpc-impl/IModelTileRpcImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAmC,SAAS,EAAU,MAAM,qBAAqB,CAAC;AACzF,OAAO,EACL,+BAA+B,EAAE,wBAAwB,EAAyB,2BAA2B,EAAE,cAAc,EAC7H,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,EAAiD,qBAAqB,EAC/H,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EACvD,MAAM,oBAAoB,CAAC;AAqK5B,gBAAgB;AAChB,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,sBAAsB;WACrE,QAAQ;IAET,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI9F,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1F,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIxI,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKhG,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,+BAA+B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAY7H,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAIzD,gBAAgB;IACH,sBAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAIrI;AAED,gBAAgB;AAChB,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3H"}
|
|
@@ -11,6 +11,7 @@ exports.cancelTileContentRequests = exports.IModelTileRpcImpl = void 0;
|
|
|
11
11
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
12
|
const core_common_1 = require("@itwin/core-common");
|
|
13
13
|
const BackendLoggerCategory_1 = require("../BackendLoggerCategory");
|
|
14
|
+
const IModelDb_1 = require("../IModelDb");
|
|
14
15
|
const IModelHost_1 = require("../IModelHost");
|
|
15
16
|
const PromiseMemoizer_1 = require("../PromiseMemoizer");
|
|
16
17
|
const RpcBackend_1 = require("../RpcBackend");
|
|
@@ -39,7 +40,7 @@ class TileRequestMemoizer extends PromiseMemoizer_1.PromiseMemoizer {
|
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
makeMetadata(props) {
|
|
42
|
-
const meta =
|
|
43
|
+
const meta = { ...props.tokenProps };
|
|
43
44
|
this.addMetadata(meta, props);
|
|
44
45
|
return meta;
|
|
45
46
|
}
|
|
@@ -67,6 +68,7 @@ class TileRequestMemoizer extends PromiseMemoizer_1.PromiseMemoizer {
|
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
async function getTileTreeProps(props) {
|
|
71
|
+
(0, core_bentley_1.assert)(undefined !== props.accessToken);
|
|
70
72
|
const db = await RpcBriefcaseUtility_1.RpcBriefcaseUtility.findOpenIModel(props.accessToken, props.tokenProps);
|
|
71
73
|
return db.tiles.requestTileTreeProps(props.treeId);
|
|
72
74
|
}
|
|
@@ -87,6 +89,7 @@ class RequestTileTreePropsMemoizer extends TileRequestMemoizer {
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
async function getTileContent(props) {
|
|
92
|
+
(0, core_bentley_1.assert)(undefined !== props.accessToken);
|
|
90
93
|
const db = await RpcBriefcaseUtility_1.RpcBriefcaseUtility.findOpenIModel(props.accessToken, props.tokenProps);
|
|
91
94
|
const tile = await db.tiles.requestTileContent(props.treeId, props.contentId);
|
|
92
95
|
// ###TODO: Verify the guid supplied by the front-end matches the guid stored in the model?
|
|
@@ -167,8 +170,8 @@ class IModelTileRpcImpl extends core_common_1.RpcInterface {
|
|
|
167
170
|
exports.IModelTileRpcImpl = IModelTileRpcImpl;
|
|
168
171
|
/** @internal */
|
|
169
172
|
async function cancelTileContentRequests(tokenProps, contentIds) {
|
|
170
|
-
const
|
|
171
|
-
const
|
|
173
|
+
const iModel = IModelDb_1.IModelDb.findByKey(tokenProps.key);
|
|
174
|
+
const props = { tokenProps, treeId: "", contentId: "" };
|
|
172
175
|
for (const entry of contentIds) {
|
|
173
176
|
props.treeId = entry.treeId;
|
|
174
177
|
for (const contentId of entry.contentIds) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelTileRpcImpl.js","sourceRoot":"","sources":["../../../src/rpc-impl/IModelTileRpcImpl.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { AccessToken, assert, BeDuration, Id64Array, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageTileCache, ElementGraphicsRequestProps, IModelRpcProps,\r\n IModelTileRpcInterface, IModelTileTreeProps, RpcInterface, RpcInvocation, RpcManager, RpcPendingResponse, TileContentIdentifier,\r\n TileContentSource, TileTreeContentIds, TileVersionInfo,\r\n} from \"@itwin/core-common\";\r\nimport { BackendLoggerCategory } from \"../BackendLoggerCategory\";\r\nimport { IModelDb } from \"../IModelDb\";\r\nimport { IModelHost } from \"../IModelHost\";\r\nimport { PromiseMemoizer, QueryablePromise } from \"../PromiseMemoizer\";\r\nimport { RpcTrace } from \"../RpcBackend\";\r\nimport { RpcBriefcaseUtility } from \"./RpcBriefcaseUtility\";\r\n\r\ninterface TileRequestProps {\r\n accessToken?: AccessToken;\r\n tokenProps: IModelRpcProps;\r\n treeId: string;\r\n}\r\n\r\nfunction generateTileRequestKey(props: TileRequestProps): string {\r\n const token = props.tokenProps;\r\n return `${JSON.stringify({\r\n key: token.key,\r\n iTwinId: token.iTwinId,\r\n iModelId: token.iModelId,\r\n changeSetId: token.changeset?.id,\r\n })}:${props.treeId}`;\r\n}\r\n\r\nabstract class TileRequestMemoizer<Result, Props extends TileRequestProps> extends PromiseMemoizer<Result> {\r\n private readonly _loggerCategory = BackendLoggerCategory.IModelTileRequestRpc;\r\n protected abstract get _operationName(): string;\r\n protected abstract addMetadata(metadata: any, props: Props): void;\r\n protected abstract stringify(props: Props): string;\r\n protected abstract get _timeoutMilliseconds(): number;\r\n\r\n private makeMetadata(props: Props): any {\r\n const meta = { ...props.tokenProps };\r\n this.addMetadata(meta, props);\r\n return meta;\r\n }\r\n\r\n protected constructor(memoizeFn: (props: Props) => Promise<Result>, generateKeyFn: (props: Props) => string) {\r\n super(memoizeFn, generateKeyFn);\r\n }\r\n\r\n private _superMemoize = this.memoize;\r\n public override memoize = (props: Props): QueryablePromise<Result> => {\r\n return this._superMemoize(props);\r\n };\r\n\r\n private _superDeleteMemoized = this.deleteMemoized;\r\n public override deleteMemoized = (props: Props) => {\r\n this._superDeleteMemoized(props);\r\n };\r\n\r\n private log(status: string, props: Props): void {\r\n const descr = `${this._operationName}(${this.stringify(props)})`;\r\n Logger.logTrace(this._loggerCategory, `Backend ${status} ${descr}`, () => this.makeMetadata(props));\r\n }\r\n\r\n protected async perform(props: Props): Promise<Result> {\r\n this.log(\"received\", props);\r\n\r\n const tileQP = this.memoize(props);\r\n\r\n await BeDuration.race(this._timeoutMilliseconds, tileQP.promise).catch(() => { });\r\n // Note: Rejections must be caught so that the memoization entry can be deleted\r\n\r\n if (tileQP.isPending) {\r\n this.log(\"issuing pending status for\", props);\r\n throw new RpcPendingResponse();\r\n }\r\n\r\n this.deleteMemoized(props);\r\n\r\n if (tileQP.isFulfilled) {\r\n this.log(\"completed\", props);\r\n return tileQP.result!;\r\n }\r\n\r\n assert(tileQP.isRejected);\r\n this.log(\"rejected\", props);\r\n throw tileQP.error; // eslint-disable-line no-throw-literal\r\n }\r\n}\r\n\r\nasync function getTileTreeProps(props: TileRequestProps): Promise<IModelTileTreeProps> {\r\n assert(undefined !== props.accessToken);\r\n const db = await RpcBriefcaseUtility.findOpenIModel(props.accessToken, props.tokenProps);\r\n return db.tiles.requestTileTreeProps(props.treeId);\r\n}\r\n\r\nclass RequestTileTreePropsMemoizer extends TileRequestMemoizer<IModelTileTreeProps, TileRequestProps> {\r\n protected get _timeoutMilliseconds() { return IModelHost.tileTreeRequestTimeout; }\r\n protected get _operationName() { return \"requestTileTreeProps\"; }\r\n protected stringify(props: TileRequestProps): string { return props.treeId; }\r\n protected addMetadata(meta: any, props: TileRequestProps): void {\r\n meta.treeId = props.treeId;\r\n }\r\n\r\n private static _instance?: RequestTileTreePropsMemoizer;\r\n\r\n private constructor() {\r\n super(getTileTreeProps, generateTileRequestKey);\r\n }\r\n\r\n public static async perform(props: TileRequestProps): Promise<IModelTileTreeProps> {\r\n if (undefined === this._instance)\r\n this._instance = new RequestTileTreePropsMemoizer();\r\n\r\n return this._instance.perform(props);\r\n }\r\n}\r\n\r\ninterface TileContentRequestProps extends TileRequestProps {\r\n contentId: string;\r\n guid?: string;\r\n}\r\n\r\nasync function getTileContent(props: TileContentRequestProps): Promise<TileContentSource> {\r\n assert(undefined !== props.accessToken);\r\n const db = await RpcBriefcaseUtility.findOpenIModel(props.accessToken, props.tokenProps);\r\n const tile = await db.tiles.requestTileContent(props.treeId, props.contentId);\r\n\r\n // ###TODO: Verify the guid supplied by the front-end matches the guid stored in the model?\r\n if (IModelHost.usingExternalTileCache) {\r\n await IModelHost.tileUploader.cacheTile(props.tokenProps, props.treeId, props.contentId, tile.content, props.guid, {\r\n backendName: IModelHost.applicationId,\r\n tileGenerationTime: tile.elapsedSeconds.toString(),\r\n tileSize: tile.content.byteLength.toString(),\r\n });\r\n\r\n return TileContentSource.ExternalCache;\r\n }\r\n\r\n return TileContentSource.Backend;\r\n}\r\n\r\nfunction generateTileContentKey(props: TileContentRequestProps): string {\r\n return `${generateTileRequestKey(props)}:${props.contentId}`;\r\n}\r\n\r\nclass RequestTileContentMemoizer extends TileRequestMemoizer<TileContentSource, TileContentRequestProps> {\r\n protected get _timeoutMilliseconds() { return IModelHost.tileContentRequestTimeout; }\r\n protected get _operationName() { return \"requestTileContent\"; }\r\n protected stringify(props: TileContentRequestProps): string { return `${props.treeId}:${props.contentId}`; }\r\n protected addMetadata(meta: any, props: TileContentRequestProps): void {\r\n meta.treeId = props.treeId;\r\n meta.contentId = props.contentId;\r\n }\r\n\r\n private static _instance?: RequestTileContentMemoizer;\r\n\r\n private constructor() {\r\n super(getTileContent, generateTileContentKey);\r\n }\r\n\r\n public static get instance() {\r\n if (undefined === this._instance)\r\n this._instance = new RequestTileContentMemoizer();\r\n\r\n return this._instance;\r\n }\r\n\r\n public static async perform(props: TileContentRequestProps): Promise<TileContentSource> {\r\n return this.instance.perform(props);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IModelTileRpcImpl extends RpcInterface implements IModelTileRpcInterface {\r\n public static register() { RpcManager.registerImpl(IModelTileRpcInterface, IModelTileRpcImpl); }\r\n\r\n public async requestTileTreeProps(tokenProps: IModelRpcProps, treeId: string): Promise<IModelTileTreeProps> {\r\n return RequestTileTreePropsMemoizer.perform({ accessToken: RpcTrace.currentActivity!.accessToken, tokenProps, treeId });\r\n }\r\n\r\n public async purgeTileTrees(tokenProps: IModelRpcProps, modelIds: Id64Array | undefined): Promise<void> {\r\n // `undefined` gets forwarded as `null`...\r\n if (null === modelIds)\r\n modelIds = undefined;\r\n\r\n const db = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\r\n return db.nativeDb.purgeTileTrees(modelIds);\r\n }\r\n\r\n public async generateTileContent(tokenProps: IModelRpcProps, treeId: string, contentId: string, guid: string | undefined): Promise<TileContentSource> {\r\n return RequestTileContentMemoizer.perform({ accessToken: RpcTrace.currentActivity!.accessToken, tokenProps, treeId, contentId, guid });\r\n }\r\n\r\n public async retrieveTileContent(tokenProps: IModelRpcProps, key: TileContentIdentifier): Promise<Uint8Array> {\r\n const db = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, tokenProps);\r\n return db.tiles.getTileContent(key.treeId, key.contentId);\r\n }\r\n\r\n public async getTileCacheContainerUrl(_tokenProps: IModelRpcProps, id: CloudStorageContainerDescriptor): Promise<CloudStorageContainerUrl> {\r\n const invocation = RpcInvocation.current(this);\r\n\r\n if (!IModelHost.usingExternalTileCache) {\r\n return CloudStorageContainerUrl.empty();\r\n }\r\n\r\n const expiry = CloudStorageTileCache.getCache().supplyExpiryForContainerUrl(id);\r\n const clientIp = (IModelHost.restrictTileUrlsByClientIp && invocation.request.ip) ? invocation.request.ip : undefined;\r\n return IModelHost.tileCacheService.obtainContainerUrl(id, expiry, clientIp);\r\n }\r\n\r\n public async isUsingExternalTileCache(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IModelHost.usingExternalTileCache;\r\n }\r\n\r\n public async queryVersionInfo(): Promise<TileVersionInfo> {\r\n return IModelHost.platform.getTileVersionInfo();\r\n }\r\n\r\n /** @internal */\r\n public async requestElementGraphics(rpcProps: IModelRpcProps, request: ElementGraphicsRequestProps): Promise<Uint8Array | undefined> {\r\n const iModel = await RpcBriefcaseUtility.findOpenIModel(RpcTrace.currentActivity!.accessToken, rpcProps);\r\n return iModel.generateElementGraphics(request);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport async function cancelTileContentRequests(tokenProps: IModelRpcProps, contentIds: TileTreeContentIds[]): Promise<void> {\r\n const iModel = IModelDb.findByKey(tokenProps.key);\r\n const props: TileContentRequestProps = { tokenProps, treeId: \"\", contentId: \"\" };\r\n\r\n for (const entry of contentIds) {\r\n props.treeId = entry.treeId;\r\n for (const contentId of entry.contentIds) {\r\n props.contentId = contentId;\r\n RequestTileContentMemoizer.instance.deleteMemoized(props);\r\n }\r\n\r\n iModel.nativeDb.cancelTileContentRequests(entry.treeId, entry.contentIds);\r\n }\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcBriefcaseUtility.d.ts","sourceRoot":"","sources":["../../../src/rpc-impl/RpcBriefcaseUtility.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAoC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EACL,cAAc,EAAE,qBAAqB,EAAe,kBAAkB,EAAE,cAAc,EAAiB,WAAW,EAAsB,QAAQ,EACjJ,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAe,QAAQ,EAAc,MAAM,aAAa,CAAC;AAMhE,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD;;;GAGG;AACH,qBAAa,mBAAmB;mBAET,eAAe;IAuDpC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAmC;mBAC9C,aAAa;IAYlC;;;;OAIG;WACiB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc;IAUnF;;;OAGG;WACiB,IAAI,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;WA2DlD,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAIvK"}
|
|
@@ -94,7 +94,8 @@ class RpcBriefcaseUtility {
|
|
|
94
94
|
const iModelDb = IModelDb_1.IModelDb.tryFindByKey(iModel.key);
|
|
95
95
|
if (undefined === iModelDb)
|
|
96
96
|
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotOpen, "iModel is not opened", () => iModel);
|
|
97
|
-
|
|
97
|
+
// call reattach, just in case this is a V2 checkpoint whose accessToken is about to expire.
|
|
98
|
+
await iModelDb.reattachDaemon(accessToken);
|
|
98
99
|
return iModelDb;
|
|
99
100
|
}
|
|
100
101
|
/**
|
|
@@ -104,12 +105,12 @@ class RpcBriefcaseUtility {
|
|
|
104
105
|
static async open(args) {
|
|
105
106
|
var _a;
|
|
106
107
|
const { activity, tokenProps, syncMode } = args;
|
|
107
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "RpcBriefcaseUtility.open", () => (
|
|
108
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "RpcBriefcaseUtility.open", () => ({ ...tokenProps }));
|
|
108
109
|
const timeout = (_a = args.timeout) !== null && _a !== void 0 ? _a : 1000;
|
|
109
110
|
if (syncMode === core_common_1.SyncMode.PullOnly || syncMode === core_common_1.SyncMode.PullAndPush) {
|
|
110
111
|
const briefcaseDb = await core_bentley_1.BeDuration.race(timeout, this.openBriefcase(args));
|
|
111
112
|
if (briefcaseDb === undefined) {
|
|
112
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "Open briefcase - pending", () => (
|
|
113
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "Open briefcase - pending", () => ({ ...tokenProps }));
|
|
113
114
|
throw new core_common_1.RpcPendingResponse();
|
|
114
115
|
}
|
|
115
116
|
// note: usage is logged in BriefcaseManager.downloadNewBriefcaseAndOpen
|
|
@@ -126,17 +127,17 @@ class RpcBriefcaseUtility {
|
|
|
126
127
|
// first check if it's already open
|
|
127
128
|
db = IModelDb_1.SnapshotDb.tryFindByKey(CheckpointManager_1.CheckpointManager.getKey(checkpoint));
|
|
128
129
|
if (db) {
|
|
129
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "Checkpoint was already open", () => (
|
|
130
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "Checkpoint was already open", () => ({ ...tokenProps }));
|
|
130
131
|
BriefcaseManager_1.BriefcaseManager.logUsage(db);
|
|
131
132
|
return db;
|
|
132
133
|
}
|
|
133
134
|
try {
|
|
134
135
|
// now try V2 checkpoint
|
|
135
136
|
db = await IModelDb_1.SnapshotDb.openCheckpointV2(checkpoint);
|
|
136
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "using V2 checkpoint briefcase", () => (
|
|
137
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "using V2 checkpoint briefcase", () => ({ ...tokenProps }));
|
|
137
138
|
}
|
|
138
139
|
catch (e) {
|
|
139
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "unable to open V2 checkpoint - falling back to V1 checkpoint", () => (
|
|
140
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "unable to open V2 checkpoint - falling back to V1 checkpoint", () => ({ ...tokenProps }));
|
|
140
141
|
// this isn't a v2 checkpoint. Set up a race between the specified timeout period and the open. Throw an RpcPendingResponse exception if the timeout happens first.
|
|
141
142
|
const request = {
|
|
142
143
|
checkpoint,
|
|
@@ -145,10 +146,10 @@ class RpcBriefcaseUtility {
|
|
|
145
146
|
};
|
|
146
147
|
db = await core_bentley_1.BeDuration.race(timeout, CheckpointManager_1.V1CheckpointManager.getCheckpointDb(request));
|
|
147
148
|
if (db === undefined) {
|
|
148
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "Open V1 checkpoint - pending", () => (
|
|
149
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "Open V1 checkpoint - pending", () => ({ ...tokenProps }));
|
|
149
150
|
throw new core_common_1.RpcPendingResponse();
|
|
150
151
|
}
|
|
151
|
-
core_bentley_1.Logger.logTrace(loggerCategory, "Opened V1 checkpoint", () => (
|
|
152
|
+
core_bentley_1.Logger.logTrace(loggerCategory, "Opened V1 checkpoint", () => ({ ...tokenProps }));
|
|
152
153
|
}
|
|
153
154
|
BriefcaseManager_1.BriefcaseManager.logUsage(db, activity);
|
|
154
155
|
return db;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcBriefcaseUtility.js","sourceRoot":"","sources":["../../../src/rpc-impl/RpcBriefcaseUtility.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { AccessToken, BeDuration, IModelStatus, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n BriefcaseProps, IModelConnectionProps, IModelError, IModelRpcOpenProps, IModelRpcProps, IModelVersion, RpcActivity, RpcPendingResponse, SyncMode,\r\n} from \"@itwin/core-common\";\r\nimport { BackendLoggerCategory } from \"../BackendLoggerCategory\";\r\nimport { BriefcaseManager, RequestNewBriefcaseArg } from \"../BriefcaseManager\";\r\nimport { CheckpointManager, CheckpointProps, V1CheckpointManager } from \"../CheckpointManager\";\r\nimport { BriefcaseDb, IModelDb, SnapshotDb } from \"../IModelDb\";\r\nimport { IModelHost } from \"../IModelHost\";\r\nimport { IModelJsFs } from \"../IModelJsFs\";\r\n\r\nconst loggerCategory: string = BackendLoggerCategory.IModelDb;\r\n\r\n/** @internal */\r\nexport interface DownloadAndOpenArgs {\r\n activity: RpcActivity;\r\n tokenProps: IModelRpcOpenProps;\r\n syncMode: SyncMode;\r\n fileNameResolvers?: ((arg: BriefcaseProps) => string)[];\r\n timeout?: number;\r\n forceDownload?: boolean;\r\n}\r\n/**\r\n * Utility to open the iModel for Read/Write RPC interfaces\r\n * @internal\r\n */\r\nexport class RpcBriefcaseUtility {\r\n\r\n private static async downloadAndOpen(args: DownloadAndOpenArgs): Promise<BriefcaseDb> {\r\n const { activity, tokenProps } = args;\r\n const accessToken = activity.accessToken;\r\n const iModelId = tokenProps.iModelId!;\r\n let myBriefcaseIds: number[];\r\n if (args.syncMode === SyncMode.PullOnly) {\r\n myBriefcaseIds = [0]; // PullOnly means briefcaseId 0\r\n } else {\r\n // check with iModelHub and see if we already have acquired any briefcaseIds\r\n myBriefcaseIds = await IModelHost.hubAccess.getMyBriefcaseIds({ accessToken, iModelId });\r\n }\r\n\r\n const resolvers = args.fileNameResolvers ?? [(arg) => BriefcaseManager.getFileName(arg)];\r\n\r\n // see if we can open any of the briefcaseIds we already acquired from iModelHub\r\n if (resolvers) {\r\n for (const resolver of resolvers) {\r\n for (const briefcaseId of myBriefcaseIds) {\r\n const fileName = resolver({ briefcaseId, iModelId });\r\n if (IModelJsFs.existsSync(fileName)) {\r\n const briefcaseDb = BriefcaseDb.findByFilename(fileName);\r\n if (briefcaseDb !== undefined)\r\n return briefcaseDb as BriefcaseDb;\r\n try {\r\n if (args.forceDownload)\r\n throw new Error(); // causes delete below\r\n const db = await BriefcaseDb.open({ fileName });\r\n if (db.changeset.id !== tokenProps.changeset?.id) {\r\n const toIndex = tokenProps.changeset?.index ??\r\n (await IModelHost.hubAccess.getChangesetFromVersion({ accessToken, iModelId, version: IModelVersion.asOfChangeSet(tokenProps.changeset!.id) })).index;\r\n await BriefcaseManager.pullAndApplyChangesets(db, { accessToken, toIndex });\r\n }\r\n return db;\r\n } catch (error: any) {\r\n if (!(error.errorNumber === IModelStatus.AlreadyOpen))\r\n // somehow we have this briefcaseId and the file exists, but we can't open it. Delete it.\r\n await BriefcaseManager.deleteBriefcaseFiles(fileName, accessToken);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // no local briefcase available. Download one and open it.\r\n const request: RequestNewBriefcaseArg = {\r\n accessToken,\r\n iTwinId: tokenProps.iTwinId!,\r\n iModelId,\r\n briefcaseId: args.syncMode === SyncMode.PullOnly ? 0 : undefined, // if briefcaseId is undefined, we'll acquire a new one.\r\n };\r\n\r\n const props = await BriefcaseManager.downloadBriefcase(request);\r\n return BriefcaseDb.open({ rpcActivity: activity, fileName: props.fileName });\r\n }\r\n\r\n private static _briefcasePromise: Promise<BriefcaseDb> | undefined;\r\n private static async openBriefcase(args: DownloadAndOpenArgs): Promise<BriefcaseDb> {\r\n if (this._briefcasePromise)\r\n return this._briefcasePromise;\r\n\r\n try {\r\n this._briefcasePromise = this.downloadAndOpen(args); // save the fact that we're working on downloading so if we timeout, we'll reuse this request.\r\n return await this._briefcasePromise;\r\n } finally {\r\n this._briefcasePromise = undefined; // the download and open is now done\r\n }\r\n }\r\n\r\n /** find a previously opened iModel for RPC.\r\n * @param accessToken necessary (only) for V2 checkpoints to refresh access token in daemon if it has expired. We use the accessToken of the current RPC request\r\n * to refresh the daemon, even though it will be used for all authorized users.\r\n * @param the IModelRpcProps to locate the opened iModel.\r\n */\r\n public static async findOpenIModel(accessToken: AccessToken, iModel: IModelRpcProps) {\r\n const iModelDb = IModelDb.tryFindByKey(iModel.key);\r\n if (undefined === iModelDb)\r\n throw new IModelError(IModelStatus.NotOpen, \"iModel is not opened\", () => iModel);\r\n\r\n // call reattach, just in case this is a V2 checkpoint whose accessToken is about to expire.\r\n await iModelDb.reattachDaemon(accessToken);\r\n return iModelDb;\r\n }\r\n\r\n /**\r\n * Download and open a checkpoint or briefcase, ensuring the operation completes within a default timeout. If the time to open exceeds the timeout period,\r\n * a RpcPendingResponse exception is thrown\r\n */\r\n public static async open(args: DownloadAndOpenArgs): Promise<IModelDb> {\r\n const { activity, tokenProps, syncMode } = args;\r\n Logger.logTrace(loggerCategory, \"RpcBriefcaseUtility.open\", () => ({ ...tokenProps }));\r\n\r\n const timeout = args.timeout ?? 1000;\r\n if (syncMode === SyncMode.PullOnly || syncMode === SyncMode.PullAndPush) {\r\n const briefcaseDb = await BeDuration.race(timeout, this.openBriefcase(args));\r\n\r\n if (briefcaseDb === undefined) {\r\n Logger.logTrace(loggerCategory, \"Open briefcase - pending\", () => ({ ...tokenProps }));\r\n throw new RpcPendingResponse();\r\n }\r\n // note: usage is logged in BriefcaseManager.downloadNewBriefcaseAndOpen\r\n return briefcaseDb;\r\n }\r\n\r\n const checkpoint: CheckpointProps = {\r\n iModelId: tokenProps.iModelId!,\r\n iTwinId: tokenProps.iTwinId!,\r\n changeset: tokenProps.changeset!,\r\n accessToken: activity.accessToken,\r\n };\r\n\r\n // opening a checkpoint, readonly.\r\n let db: SnapshotDb | void;\r\n // first check if it's already open\r\n db = SnapshotDb.tryFindByKey(CheckpointManager.getKey(checkpoint));\r\n if (db) {\r\n Logger.logTrace(loggerCategory, \"Checkpoint was already open\", () => ({ ...tokenProps }));\r\n BriefcaseManager.logUsage(db);\r\n return db;\r\n }\r\n\r\n try {\r\n // now try V2 checkpoint\r\n db = await SnapshotDb.openCheckpointV2(checkpoint);\r\n Logger.logTrace(loggerCategory, \"using V2 checkpoint briefcase\", () => ({ ...tokenProps }));\r\n } catch (e) {\r\n Logger.logTrace(loggerCategory, \"unable to open V2 checkpoint - falling back to V1 checkpoint\", () => ({ ...tokenProps }));\r\n\r\n // this isn't a v2 checkpoint. Set up a race between the specified timeout period and the open. Throw an RpcPendingResponse exception if the timeout happens first.\r\n const request = {\r\n checkpoint,\r\n localFile: V1CheckpointManager.getFileName(checkpoint),\r\n aliasFiles: [],\r\n };\r\n db = await BeDuration.race(timeout, V1CheckpointManager.getCheckpointDb(request));\r\n\r\n if (db === undefined) {\r\n Logger.logTrace(loggerCategory, \"Open V1 checkpoint - pending\", () => ({ ...tokenProps }));\r\n throw new RpcPendingResponse();\r\n }\r\n Logger.logTrace(loggerCategory, \"Opened V1 checkpoint\", () => ({ ...tokenProps }));\r\n }\r\n\r\n BriefcaseManager.logUsage(db, activity);\r\n return db;\r\n }\r\n\r\n public static async openWithTimeout(activity: RpcActivity, tokenProps: IModelRpcOpenProps, syncMode: SyncMode, timeout: number = 1000): Promise<IModelConnectionProps> {\r\n return (await this.open({ activity, tokenProps, syncMode, timeout })).toJSON();\r\n }\r\n\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnapshotIModelRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/rpc-impl/SnapshotIModelRpcImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EACL,qBAAqB,EAA0B,cAAc,EAAE,YAAY,EAAc,0BAA0B,EAAE,mBAAmB,EACzI,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAa,YAAW,0BAA0B;WAC7E,QAAQ;IAEtB,kGAAkG;IACrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUnG,4FAA4F;IAC/E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQpG,kDAAkD;IACrC,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjE"}
|
|
@@ -32,7 +32,7 @@ class SnapshotIModelRpcImpl extends core_common_1.RpcInterface {
|
|
|
32
32
|
const resolvedFileName = (_a = IModelHost_1.IModelHost.snapshotFileNameResolver) === null || _a === void 0 ? void 0 : _a.resolveKey(fileKey);
|
|
33
33
|
if (undefined === resolvedFileName)
|
|
34
34
|
throw new core_common_1.IModelNotFoundResponse();
|
|
35
|
-
return IModelDb_1.SnapshotDb.openFile(resolvedFileName,
|
|
35
|
+
return IModelDb_1.SnapshotDb.openFile(resolvedFileName, { key: fileKey, ...opts }).getConnectionProps();
|
|
36
36
|
}
|
|
37
37
|
/** Ask the backend to close a snapshot iModel. */
|
|
38
38
|
async close(tokenProps) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnapshotIModelRpcImpl.js","sourceRoot":"","sources":["../../../src/rpc-impl/SnapshotIModelRpcImpl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAE4B;AAC5B,0CAAyC;AACzC,8CAA2C;AAE3C;;GAEG;AACH,MAAa,qBAAsB,SAAQ,0BAAY;IAC9C,MAAM,CAAC,QAAQ,KAAK,wBAAU,CAAC,YAAY,CAAC,wCAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAExG,kGAAkG;IAC3F,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,IAA0B;QAChE,IAAI,gBAAgB,GAAuB,QAAQ,CAAC;QACpD,IAAI,uBAAU,CAAC,wBAAwB,EAAE;YACvC,gBAAgB,GAAG,uBAAU,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACpF,IAAI,SAAS,KAAK,gBAAgB;gBAChC,MAAM,IAAI,oCAAsB,EAAE,CAAC;SACtC;QACD,OAAO,qBAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC1E,CAAC;IAED,4FAA4F;IACrF,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,IAA0B;;QACjE,MAAM,gBAAgB,GAAG,MAAA,uBAAU,CAAC,wBAAwB,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,SAAS,KAAK,gBAAgB;YAChC,MAAM,IAAI,oCAAsB,EAAE,CAAC;QAErC,OAAO,qBAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC/F,CAAC;IAED,kDAAkD;IAC3C,KAAK,CAAC,KAAK,CAAC,UAA0B;QAC3C,qBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA5BD,sDA4BC","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/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport {\n IModelConnectionProps, IModelNotFoundResponse, IModelRpcProps, RpcInterface, RpcManager, SnapshotIModelRpcInterface, SnapshotOpenOptions,\n} from \"@itwin/core-common\";\nimport { SnapshotDb } from \"../IModelDb\";\nimport { IModelHost } from \"../IModelHost\";\n\n/** The backend implementation of SnapshotIModelRpcInterface.\n * @internal\n */\nexport class SnapshotIModelRpcImpl extends RpcInterface implements SnapshotIModelRpcInterface {\n public static register() { RpcManager.registerImpl(SnapshotIModelRpcInterface, SnapshotIModelRpcImpl); }\n\n /** Ask the backend to open a snapshot iModel from a file name that is resolved by the backend. */\n public async openFile(filePath: string, opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> {\n let resolvedFileName: string | undefined = filePath;\n if (IModelHost.snapshotFileNameResolver) {\n resolvedFileName = IModelHost.snapshotFileNameResolver.tryResolveFileName(filePath);\n if (undefined === resolvedFileName)\n throw new IModelNotFoundResponse();\n }\n return SnapshotDb.openFile(resolvedFileName, opts).getConnectionProps();\n }\n\n /** Ask the backend to open a snapshot iModel from a key that is resolved by the backend. */\n public async openRemote(fileKey: string, opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> {\n const resolvedFileName = IModelHost.snapshotFileNameResolver?.resolveKey(fileKey);\n if (undefined === resolvedFileName)\n throw new IModelNotFoundResponse();\n\n return SnapshotDb.openFile(resolvedFileName, { key: fileKey, ...opts }).getConnectionProps();\n }\n\n /** Ask the backend to close a snapshot iModel. */\n public async close(tokenProps: IModelRpcProps): Promise<boolean> {\n SnapshotDb.findByKey(tokenProps.key).close();\n return true;\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module RpcInterface
|
|
3
3
|
*/
|
|
4
|
-
import { ChangedElements, IModelRpcProps, RpcInterface } from "@itwin/core-common";
|
|
5
|
-
import { WipRpcInterface } from "@itwin/core-common/lib/rpc/WipRpcInterface";
|
|
4
|
+
import { ChangedElements, IModelRpcProps, RpcInterface, WipRpcInterface } from "@itwin/core-common";
|
|
6
5
|
/** The backend implementation of WipRpcInterface.
|
|
7
6
|
* @internal
|
|
8
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WipRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/rpc-impl/WipRpcImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAc,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKhH;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAa,YAAW,eAAe;WAEvD,QAAQ;IACT,WAAW,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzD,qBAAqB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,kBAAkB,CAAC,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAItI,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGrG"}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.WipRpcImpl = void 0;
|
|
11
11
|
const core_common_1 = require("@itwin/core-common");
|
|
12
|
-
const WipRpcInterface_1 = require("@itwin/core-common/lib/rpc/WipRpcInterface");
|
|
13
12
|
const ChangedElementsManager_1 = require("../ChangedElementsManager");
|
|
14
13
|
const ChangeSummaryManager_1 = require("../ChangeSummaryManager");
|
|
15
14
|
const IModelDb_1 = require("../IModelDb");
|
|
@@ -17,7 +16,7 @@ const IModelDb_1 = require("../IModelDb");
|
|
|
17
16
|
* @internal
|
|
18
17
|
*/
|
|
19
18
|
class WipRpcImpl extends core_common_1.RpcInterface {
|
|
20
|
-
static register() { core_common_1.RpcManager.registerImpl(
|
|
19
|
+
static register() { core_common_1.RpcManager.registerImpl(core_common_1.WipRpcInterface, WipRpcImpl); }
|
|
21
20
|
async placeholder(_tokenProps) { return "placeholder"; }
|
|
22
21
|
async isChangeCacheAttached(tokenProps) {
|
|
23
22
|
return ChangeSummaryManager_1.ChangeSummaryManager.isChangeCacheAttached(IModelDb_1.BriefcaseDb.findByKey(tokenProps.key));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WipRpcImpl.js","sourceRoot":"","sources":["../../../src/rpc-impl/WipRpcImpl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAgH;AAChH,sEAAmE;AACnE,kEAA+D;AAC/D,0CAA0C;AAE1C;;GAEG;AACH,MAAa,UAAW,SAAQ,0BAAY;IAEnC,MAAM,CAAC,QAAQ,KAAK,wBAAU,CAAC,YAAY,CAAC,6BAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,WAAW,CAAC,WAA2B,IAAqB,OAAO,aAAa,CAAC,CAAC,CAAC;IAEzF,KAAK,CAAC,qBAAqB,CAAC,UAA0B;QAC3D,OAAO,2CAAoB,CAAC,qBAAqB,CAAC,sBAAW,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,UAA0B;QACvD,2CAAoB,CAAC,iBAAiB,CAAC,sBAAW,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,UAA0B,EAAE,gBAAwB,EAAE,cAAsB;QAC1G,OAAO,+CAAsB,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC3G,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,UAA0B,EAAE,WAAmB;QAC/E,OAAO,+CAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,QAAS,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;CACF;AApBD,gCAoBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { ChangedElements, IModelRpcProps, RpcInterface, RpcManager, WipRpcInterface } from \"@itwin/core-common\";\r\nimport { ChangedElementsManager } from \"../ChangedElementsManager\";\r\nimport { ChangeSummaryManager } from \"../ChangeSummaryManager\";\r\nimport { BriefcaseDb } from \"../IModelDb\";\r\n\r\n/** The backend implementation of WipRpcInterface.\r\n * @internal\r\n */\r\nexport class WipRpcImpl extends RpcInterface implements WipRpcInterface {\r\n\r\n public static register() { RpcManager.registerImpl(WipRpcInterface, WipRpcImpl); }\r\n public async placeholder(_tokenProps: IModelRpcProps): Promise<string> { return \"placeholder\"; }\r\n\r\n public async isChangeCacheAttached(tokenProps: IModelRpcProps): Promise<boolean> {\r\n return ChangeSummaryManager.isChangeCacheAttached(BriefcaseDb.findByKey(tokenProps.key));\r\n }\r\n\r\n public async attachChangeCache(tokenProps: IModelRpcProps): Promise<void> {\r\n ChangeSummaryManager.attachChangeCache(BriefcaseDb.findByKey(tokenProps.key));\r\n }\r\n\r\n public async getChangedElements(tokenProps: IModelRpcProps, startChangesetId: string, endChangesetId: string): Promise<ChangedElements | undefined> {\r\n return ChangedElementsManager.getChangedElements(tokenProps.iModelId!, startChangesetId, endChangesetId);\r\n }\r\n\r\n public async isChangesetProcessed(tokenProps: IModelRpcProps, changesetId: string): Promise<boolean> {\r\n return ChangedElementsManager.isProcessed(tokenProps.iModelId!, changesetId);\r\n }\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-backend",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
3
|
+
"version": "3.0.0-dev.80",
|
|
4
4
|
"description": "iTwin.js backend components",
|
|
5
|
-
"main": "lib/core-backend.js",
|
|
6
|
-
"typings": "lib/core-backend",
|
|
5
|
+
"main": "lib/cjs/core-backend.js",
|
|
6
|
+
"typings": "lib/cjs/core-backend",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"engines": {
|
|
9
9
|
"node": ">=10.17.0 <15.0"
|
|
@@ -24,33 +24,33 @@
|
|
|
24
24
|
"url": "http://www.bentley.com"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@bentley/backend-itwin-client": "^3.0.0-dev.
|
|
28
|
-
"@itwin/core-bentley": "^3.0.0-dev.
|
|
29
|
-
"@itwin/ecschema-metadata": "^3.0.0-dev.
|
|
30
|
-
"@itwin/core-geometry": "^3.0.0-dev.
|
|
31
|
-
"@bentley/imodelhub-client": "^3.0.0-dev.
|
|
32
|
-
"@itwin/core-common": "^3.0.0-dev.
|
|
33
|
-
"@bentley/itwin-client": "^3.0.0-dev.
|
|
34
|
-
"@bentley/telemetry-client": "^3.0.0-dev.
|
|
27
|
+
"@bentley/backend-itwin-client": "^3.0.0-dev.80",
|
|
28
|
+
"@itwin/core-bentley": "^3.0.0-dev.80",
|
|
29
|
+
"@itwin/ecschema-metadata": "^3.0.0-dev.80",
|
|
30
|
+
"@itwin/core-geometry": "^3.0.0-dev.80",
|
|
31
|
+
"@bentley/imodelhub-client": "^3.0.0-dev.80",
|
|
32
|
+
"@itwin/core-common": "^3.0.0-dev.80",
|
|
33
|
+
"@bentley/itwin-client": "^3.0.0-dev.80",
|
|
34
|
+
"@bentley/telemetry-client": "^3.0.0-dev.80"
|
|
35
35
|
},
|
|
36
36
|
"//devDependencies": [
|
|
37
37
|
"NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
|
|
38
38
|
"NOTE: All tools used by scripts in this package must be listed as devDependencies"
|
|
39
39
|
],
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@bentley/backend-itwin-client": "3.0.0-dev.
|
|
42
|
-
"@itwin/core-bentley": "3.0.0-dev.
|
|
43
|
-
"@itwin/build-tools": "3.0.0-dev.
|
|
44
|
-
"@bentley/
|
|
45
|
-
"@itwin/ecschema-metadata": "3.0.0-dev.
|
|
46
|
-
"@itwin/eslint-plugin": "3.0.0-dev.
|
|
47
|
-
"@itwin/core-geometry": "3.0.0-dev.
|
|
48
|
-
"@bentley/imodelhub-client": "3.0.0-dev.
|
|
49
|
-
"@itwin/core-common": "3.0.0-dev.
|
|
50
|
-
"@bentley/itwin-client": "3.0.0-dev.
|
|
51
|
-
"@itwin/oidc-signin-tool": "3.0.0-dev.
|
|
52
|
-
"@itwin/perf-tools": "3.0.0-dev.
|
|
53
|
-
"@bentley/telemetry-client": "3.0.0-dev.
|
|
41
|
+
"@bentley/backend-itwin-client": "3.0.0-dev.80",
|
|
42
|
+
"@itwin/core-bentley": "3.0.0-dev.80",
|
|
43
|
+
"@itwin/build-tools": "3.0.0-dev.80",
|
|
44
|
+
"@bentley/itwin-registry-client": "3.0.0-dev.80",
|
|
45
|
+
"@itwin/ecschema-metadata": "3.0.0-dev.80",
|
|
46
|
+
"@itwin/eslint-plugin": "3.0.0-dev.80",
|
|
47
|
+
"@itwin/core-geometry": "3.0.0-dev.80",
|
|
48
|
+
"@bentley/imodelhub-client": "3.0.0-dev.80",
|
|
49
|
+
"@itwin/core-common": "3.0.0-dev.80",
|
|
50
|
+
"@bentley/itwin-client": "3.0.0-dev.80",
|
|
51
|
+
"@itwin/oidc-signin-tool": "3.0.0-dev.80",
|
|
52
|
+
"@itwin/perf-tools": "3.0.0-dev.80",
|
|
53
|
+
"@bentley/telemetry-client": "3.0.0-dev.80",
|
|
54
54
|
"@types/chai": "^4.1.4",
|
|
55
55
|
"@types/chai-as-promised": "^7",
|
|
56
56
|
"@types/deep-assign": "^0.1.0",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"dotenv-expand": "^5.1.0",
|
|
73
73
|
"eslint": "^7.11.0",
|
|
74
74
|
"event-stream": "~4.0.1",
|
|
75
|
-
"internal-tools": "0.0.
|
|
75
|
+
"internal-tools": "3.0.0-dev.69",
|
|
76
76
|
"mkdirp": "^1.0.4",
|
|
77
77
|
"mocha": "^8.3.2",
|
|
78
78
|
"npm-run-all": "^4.1.5",
|
|
@@ -109,33 +109,29 @@
|
|
|
109
109
|
},
|
|
110
110
|
"scripts": {
|
|
111
111
|
"compile": "npm run -s build",
|
|
112
|
-
"build": "
|
|
112
|
+
"build": "npm run -s build:cjs && npm run -s copy:assets && npm run -s copy:test-assets",
|
|
113
|
+
"build:cjs": "tsc 1>&2 --outDir lib/cjs",
|
|
113
114
|
"clean": "rimraf lib .rush/temp/package-deps*.json",
|
|
114
115
|
"docs": "betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-backend/file.json --tsIndexFile=./core-backend.ts --onlyJson",
|
|
115
|
-
"copy:assets": "cpx \"./src/assets/**/*\" ./lib/assets",
|
|
116
|
+
"copy:assets": "cpx \"./src/assets/**/*\" ./lib/cjs/assets",
|
|
116
117
|
"copy:config": "internal-tools copy-config",
|
|
117
|
-
"copy:test-assets": "cpx \"./src/test/assets/**/*\" ./lib/test/assets",
|
|
118
|
+
"copy:test-assets": "cpx \"./src/test/assets/**/*\" ./lib/cjs/test/assets",
|
|
118
119
|
"cover": "nyc npm -s test",
|
|
119
120
|
"cover:integration": "nyc npm run -s test:integration",
|
|
120
121
|
"extract-api": "betools extract-api --entry=core-backend",
|
|
121
122
|
"lint": "eslint -f visualstudio \"./src/**/*.ts\" 1>&2",
|
|
122
|
-
"pretest": "cpx ./src/test/logging.config.json ./lib/test",
|
|
123
|
+
"pretest": "cpx ./src/test/logging.config.json ./lib/cjs/test",
|
|
123
124
|
"test": "mocha --grep=\"#integration|#WebGLPerformance\" --invert",
|
|
124
|
-
"azurite:setup": "mkdirp ./lib/test/azuriteStorage && azurite --silent --loose --location ./lib/test/azuriteStorage",
|
|
125
|
+
"azurite:setup": "mkdirp ./lib/cjs/test/azuriteStorage && azurite --silent --loose --location ./lib/cjs/test/azuriteStorage",
|
|
125
126
|
"test:integration": "run-s pretest test:integration:azurite",
|
|
126
127
|
"test:integration:azurite": "run-p -r azurite:setup test:integration:core",
|
|
127
128
|
"test:integration:core": "mocha --grep=\"#integration|#WebGLPerformance\"",
|
|
128
|
-
"perftest:pre": "npm run -s pretest && cpx \"./src/perftest/*.json\" ./lib/perftest",
|
|
129
|
+
"perftest:pre": "npm run -s pretest && cpx \"./src/perftest/*.json\" ./lib/cjs/perftest",
|
|
129
130
|
"perftest": "npm run -s perftest:crud && npm run -s perftest:cs && npm run -s perftest:elAspect && npm run -s perftest:schema",
|
|
130
|
-
"perftest:crud": "npm run -s perftest:pre && mocha --timeout=999999999 --grep PerformanceElementsTests \"./lib/perftest/**/*.test.js\"",
|
|
131
|
-
"perftest:cs": "npm run -s perftest:pre && mocha --timeout=999999999 --grep ImodelChangesetPerformance \"./lib/perftest/**/*.test.js\"",
|
|
132
|
-
"perftest:elAspect": "npm run -s perftest:pre && mocha --timeout=999999999 --grep ElementAspectPerformance \"./lib/perftest/**/*.test.js\"",
|
|
133
|
-
"perftest:schema": "npm run -s perftest:pre && mocha --timeout=999999999 --grep SchemaDesignPerf \"./lib/perftest/**/*.test.js\"",
|
|
134
|
-
"perftest:tile": "npm run -s perftest:pre && mocha --timeout=999999999 --grep TilesGenerationPerformance \"./lib/perftest/**/*.test.js\""
|
|
135
|
-
"copy:ios-test-assets": "cpx \"./src/test/assets/**/*\" ./lib/test/ios/webpack/assets && cpx \"./lib/assets/**/*\" ./lib/test/ios/webpack/assets",
|
|
136
|
-
"build:core-backend-test-app": "xcrun xcodebuild build-for-testing -configuration Debug -sdk iphoneos -workspace ./src/test/ios/core-backend-test-app.xcworkspace -scheme core-backend-test-app -derivedDataPath ./lib/test/ios/DerivedData -allowProvisioningUpdates",
|
|
137
|
-
"webpack:imodeljs-test": "npm run -s copy:ios-test-assets && cpx ./src/test/ios/config/ignoreTest.js ./lib/test && cpx ./src/test/ios/runMochaTestsDirectly.js ./lib/test && node ./src/test/ios/scripts/generateTestBarrel.js ./lib/test ./lib/test/ios-test-barrel.js && webpack --target=webworker --config=./src/test/ios/config/mobile.webpack.config.js",
|
|
138
|
-
"install-ios-lib": "node ./src/test/ios/scripts/installIosNativeLib.js",
|
|
139
|
-
"build:ios-test": "npm run -s install-ios-lib && npm run -s webpack:imodeljs-test && npm run -s build:core-backend-test-app"
|
|
131
|
+
"perftest:crud": "npm run -s perftest:pre && mocha --timeout=999999999 --grep PerformanceElementsTests \"./lib/cjs/perftest/**/*.test.js\"",
|
|
132
|
+
"perftest:cs": "npm run -s perftest:pre && mocha --timeout=999999999 --grep ImodelChangesetPerformance \"./lib/cjs/perftest/**/*.test.js\"",
|
|
133
|
+
"perftest:elAspect": "npm run -s perftest:pre && mocha --timeout=999999999 --grep ElementAspectPerformance \"./lib/cjs/perftest/**/*.test.js\"",
|
|
134
|
+
"perftest:schema": "npm run -s perftest:pre && mocha --timeout=999999999 --grep SchemaDesignPerf \"./lib/cjs/perftest/**/*.test.js\"",
|
|
135
|
+
"perftest:tile": "npm run -s perftest:pre && mocha --timeout=999999999 --grep TilesGenerationPerformance \"./lib/cjs/perftest/**/*.test.js\""
|
|
140
136
|
}
|
|
141
137
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AliCloudStorageService.d.ts","sourceRoot":"","sources":["../src/AliCloudStorageService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAuBvH,YAAY;AACZ,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,OAAO,CAAM;IAEd,EAAE,uBAAiC;gBAEvB,WAAW,EAAE,8BAA8B;IAUvD,kBAAkB,CAAC,EAAE,EAAE,+BAA+B,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,wBAAwB;IAoB7G,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM7E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;CA4B7H"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AliCloudStorageService.js","sourceRoot":"","sources":["../src/AliCloudStorageService.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { PassThrough, Readable } from \"stream\";\r\nimport * as zlib from \"zlib\";\r\nimport { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider } from \"@itwin/core-common\";\r\nimport { CloudStorageService, CloudStorageServiceCredentials, CloudStorageUploadOptions } from \"./CloudStorageBackend\";\r\n\r\ndeclare class OSS {\r\n constructor(params: { region: string, accessKeyId: string, accessKeySecret: string })\r\n public useBucket(name: string): void;\r\n public signatureUrl(name: string, policy: OSS.SignatureUrlOptions): string;\r\n public list(params: { marker: string, \"max-keys\": number }, arg2: {}): Promise<{ objects?: Array<{ name: string }> }>;\r\n public putBucket(name: string): Promise<void>;\r\n public putBucketCORS(name: string, params: Array<{ allowedOrigin: string, allowedMethod: string[], allowedHeader: string }>): Promise<void>;\r\n public putStream(name: string, source: Readable, options: OSS.PutStreamOptions): Promise<void>;\r\n}\r\n\r\ndeclare namespace OSS { // eslint-disable-line no-redeclare\r\n interface SignatureUrlOptions {\r\n expires: number;\r\n }\r\n\r\n interface PutStreamOptions {\r\n mime: string;\r\n headers: { [index: string]: string };\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class AliCloudStorageService extends CloudStorageService {\r\n private _client: OSS;\r\n\r\n public id = CloudStorageProvider.AliCloud;\r\n\r\n public constructor(credentials: CloudStorageServiceCredentials) {\r\n super();\r\n\r\n this._client = new OSS({\r\n region: \"oss-cn-hangzhou\",\r\n accessKeyId: credentials.account,\r\n accessKeySecret: credentials.accessKey,\r\n });\r\n }\r\n\r\n public obtainContainerUrl(id: CloudStorageContainerDescriptor, expiry: Date, _clientIp?: string): CloudStorageContainerUrl {\r\n const now = new Date().getTime();\r\n\r\n const policy: OSS.SignatureUrlOptions = {\r\n expires: expiry.getTime() - now,\r\n };\r\n\r\n this._client.useBucket(id.name);\r\n\r\n const url: CloudStorageContainerUrl = {\r\n descriptor: this.makeDescriptor(id),\r\n valid: 0,\r\n expires: expiry.getTime(),\r\n url: this._client.signatureUrl(id.resource!, policy),\r\n bound: true,\r\n };\r\n\r\n return url;\r\n }\r\n\r\n public async listContainer(name: string, marker: string, count: number): Promise<string[]> {\r\n this._client.useBucket(name);\r\n const query = await this._client.list({ marker, \"max-keys\": count }, {});\r\n return query.objects ? query.objects.map((o) => o.name) : [];\r\n }\r\n\r\n public async upload(container: string, name: string, data: Uint8Array, options?: CloudStorageUploadOptions): Promise<string> {\r\n await this._client.putBucket(container);\r\n await this._client.putBucketCORS(container, [{ allowedOrigin: \"*\", allowedMethod: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"HEAD\"], allowedHeader: \"*\" }]);\r\n this._client.useBucket(container);\r\n\r\n const dataStream = new PassThrough();\r\n dataStream.end(data);\r\n\r\n let source: Readable;\r\n\r\n const putOptions = {\r\n mime: (options && options.type) ? options.type : \"application/octet-stream\",\r\n headers: {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n \"Cache-Control\": (options && options.cacheControl) ? options.cacheControl : \"private, max-age=31536000, immutable\",\r\n },\r\n } as OSS.PutStreamOptions;\r\n\r\n if (options && options.contentEncoding === \"gzip\") {\r\n (putOptions.headers as any)[\"Content-Encoding\"] = options.contentEncoding;\r\n const compressor = zlib.createGzip();\r\n source = dataStream.pipe(compressor);\r\n } else {\r\n source = dataStream;\r\n }\r\n await this._client.putStream(name, source, putOptions);\r\n return \"\";\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackendHubAccess.d.ts","sourceRoot":"","sources":["../src/BackendHubAccess.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackendHubAccess.js","sourceRoot":"","sources":["../src/BackendHubAccess.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA8E;AAC9E,oDAG4B;AAI5B;;GAEG;AACH,IAAY,SASX;AATD,WAAY,SAAS;IACnB,+BAA+B;IAC/B,yCAAQ,CAAA;IACR,mJAAmJ;IACnJ,6CAAU,CAAA;IACV;;OAEG;IACH,mDAAa,CAAA;AACf,CAAC,EATW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASpB;AAED;;EAEE;AACF,MAAa,YAAa,SAAQ,yBAAW;IAC3C;IACE,mCAAmC;IACnB,WAAwB;IACxC,sCAAsC;IACtB,cAAsB,EACtC,GAA6D;QAE7D,KAAK,CAAC,8BAAe,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QALxC,gBAAW,GAAX,WAAW,CAAa;QAExB,mBAAc,GAAd,cAAc,CAAQ;IAIxC,CAAC;CACF;AAVD,oCAUC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module HubAccess\r\n */\r\n\r\nimport { GuidString, Id64String, IModelHubStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n BriefcaseId, ChangesetFileProps, ChangesetId, ChangesetIdWithIndex, ChangesetIndex, ChangesetIndexOrId, ChangesetProps, ChangesetRange, IModelError,\r\n IModelVersion, LocalDirName, LocalFileName,\r\n} from \"@itwin/core-common\";\r\nimport { CheckpointProps, DownloadRequest } from \"./CheckpointManager\";\r\nimport { TokenArg } from \"./IModelDb\";\r\n\r\n/** The state of a lock.\r\n * @public\r\n */\r\nexport enum LockState {\r\n /** The entity is not locked */\r\n None = 0,\r\n /** Holding a shared lock on an element blocks other users from acquiring the Exclusive lock it. More than one user may acquire the shared lock. */\r\n Shared = 1,\r\n /** A Lock that permits modifications to an element and blocks other users from making modifications to it.\r\n * Holding an exclusive lock on an \"owner\" (a model or a parent element), implicitly exclusively locks all its members.\r\n */\r\n Exclusive = 2,\r\n}\r\n\r\n/** Exception thrown if lock cannot be acquired.\r\n * @beta\r\n*/\r\nexport class LockConflict extends IModelError {\r\n public constructor(\r\n /** Id of Briefcase holding lock */\r\n public readonly briefcaseId: BriefcaseId,\r\n /** Alias of Briefcase holding lock */\r\n public readonly briefcaseAlias: string,\r\n msg: \"shared lock is held\" | \"exclusive lock is already held\"\r\n ) {\r\n super(IModelHubStatus.LockOwnedByAnotherBriefcase, msg);\r\n }\r\n}\r\n\r\n/**\r\n * The properties to access a V2 checkpoint through a daemon.\r\n * @beta\r\n */\r\nexport interface V2CheckpointAccessProps {\r\n readonly container: string;\r\n readonly auth: string;\r\n /** The name of the container */\r\n readonly user: string;\r\n /** The name of the virtual file used for the Checkpoint */\r\n readonly dbAlias: string;\r\n readonly storageType: string;\r\n}\r\n\r\n/** @internal */\r\nexport type LockMap = Map<Id64String, LockState>;\r\n\r\n/**\r\n * The properties of a lock that may be obtained from a lock server.\r\n * @beta\r\n */\r\nexport interface LockProps {\r\n /** The elementId for the lock */\r\n readonly id: Id64String;\r\n /** the lock state */\r\n readonly state: LockState;\r\n}\r\n\r\n/**\r\n * Argument for methods that must supply an iTwinId\r\n * @public\r\n */\r\nexport interface ITwinIdArg {\r\n readonly iTwinId: GuidString;\r\n}\r\n\r\n/**\r\n * Argument for methods that must supply an IModelId\r\n * @public\r\n */\r\nexport interface IModelIdArg extends TokenArg {\r\n readonly iModelId: GuidString;\r\n}\r\n\r\n/**\r\n * Argument for acquiring a new BriefcaseId\r\n * @public\r\n */\r\nexport interface AcquireNewBriefcaseIdArg extends IModelIdArg {\r\n /** A string to be reported to other users to identify this briefcase, for example in the case of conflicts or lock collisions. */\r\n readonly briefcaseAlias?: string;\r\n}\r\n\r\n/** Argument for methods that must supply an IModel name and iTwinId\r\n * @public\r\n */\r\nexport interface IModelNameArg extends TokenArg, ITwinIdArg {\r\n readonly iModelName: string;\r\n}\r\n\r\n/** Argument for methods that must supply an IModelId and a BriefcaseId\r\n * @public\r\n */\r\nexport interface BriefcaseIdArg extends IModelIdArg {\r\n readonly briefcaseId: BriefcaseId;\r\n}\r\n\r\n/** Argument for methods that must supply a briefcaseId and a changeset\r\n * @public\r\n */\r\nexport interface BriefcaseDbArg extends BriefcaseIdArg {\r\n readonly changeset: ChangesetIdWithIndex;\r\n}\r\n\r\n/** Argument for methods that must supply an IModelId and a changeset\r\n * @public\r\n */\r\nexport interface ChangesetArg extends IModelIdArg {\r\n readonly changeset: ChangesetIndexOrId;\r\n}\r\n\r\n/** @internal */\r\nexport interface ChangesetIndexArg extends IModelIdArg {\r\n readonly changeset: ChangesetIdWithIndex;\r\n}\r\n\r\n/** Argument for methods that must supply an IModelId and a range of ChangesetIds.\r\n * @public\r\n */\r\nexport interface ChangesetRangeArg extends IModelIdArg {\r\n /** the range of changesets desired. If is undefined, *all* changesets are returned. */\r\n readonly range?: ChangesetRange;\r\n}\r\n\r\n/** @internal */\r\nexport type CheckPointArg = DownloadRequest;\r\n\r\n/**\r\n * Arguments to create a new iModel in iModelHub\r\n * @public\r\n */\r\nexport interface CreateNewIModelProps extends IModelNameArg {\r\n readonly description?: string;\r\n readonly revision0?: LocalFileName;\r\n readonly noLocks?: true;\r\n}\r\n\r\n/**\r\n * Methods for accessing services of IModelHub from an iTwin.js backend.\r\n * Generally direct access to these methods should not be required, since higher-level apis are provided.\r\n * @beta\r\n */\r\nexport interface BackendHubAccess {\r\n /** Download all the changesets in the specified range. */\r\n downloadChangesets(arg: ChangesetRangeArg & { targetDir: LocalDirName }): Promise<ChangesetFileProps[]>;\r\n /** Download a single changeset. */\r\n downloadChangeset(arg: ChangesetArg & { targetDir: LocalDirName }): Promise<ChangesetFileProps>;\r\n /** Query the changeset properties given a ChangesetIndex */\r\n queryChangeset(arg: ChangesetArg): Promise<ChangesetProps>;\r\n /** Query an array of changeset properties given a range of ChangesetIndexes */\r\n queryChangesets(arg: ChangesetRangeArg): Promise<ChangesetProps[]>;\r\n /** push a changeset to iMOdelHub. Returns the newly pushed changeSet's index */\r\n pushChangeset(arg: IModelIdArg & { changesetProps: ChangesetFileProps }): Promise<ChangesetIndex>;\r\n /** Get the ChangesetProps of the most recent changeset */\r\n getLatestChangeset(arg: IModelIdArg): Promise<ChangesetProps>;\r\n /** Get the ChangesetProps for an IModelVersion */\r\n getChangesetFromVersion(arg: IModelIdArg & { version: IModelVersion }): Promise<ChangesetProps>;\r\n /** Get the ChangesetProps for a named version */\r\n getChangesetFromNamedVersion(arg: IModelIdArg & { versionName: string }): Promise<ChangesetProps>;\r\n\r\n /** Acquire a new briefcaseId for the supplied iModelId\r\n * @note usually there should only be one briefcase per iModel per user.\r\n */\r\n acquireNewBriefcaseId(arg: AcquireNewBriefcaseIdArg): Promise<BriefcaseId>;\r\n /** Release a briefcaseId. After this call it is illegal to generate changesets for the released briefcaseId. */\r\n releaseBriefcase(arg: BriefcaseIdArg): Promise<void>;\r\n\r\n /** get an array of the briefcases assigned to a user. */\r\n getMyBriefcaseIds(arg: IModelIdArg): Promise<BriefcaseId[]>;\r\n\r\n /**\r\n * download a v1 checkpoint\r\n * @internal\r\n */\r\n downloadV1Checkpoint(arg: CheckPointArg): Promise<ChangesetId>;\r\n\r\n /**\r\n * Get the access props for a V2 checkpoint. Returns undefined if no V2 checkpoint exists.\r\n * @internal\r\n */\r\n queryV2Checkpoint(arg: CheckpointProps): Promise<V2CheckpointAccessProps | undefined>;\r\n /**\r\n * download a v2 checkpoint\r\n * @internal\r\n */\r\n downloadV2Checkpoint(arg: CheckPointArg): Promise<ChangesetId>;\r\n\r\n /**\r\n * acquire one or more locks. Throws if unsuccessful. If *any* lock cannot be obtained, no locks are acquired\r\n * @internal\r\n */\r\n acquireLocks(arg: BriefcaseDbArg, locks: LockMap): Promise<void>;\r\n\r\n /**\r\n * Get the list of all held locks for a briefcase. This can be very expensive and is currently used only for tests.\r\n * @internal\r\n */\r\n queryAllLocks(arg: BriefcaseDbArg): Promise<LockProps[]>;\r\n\r\n /**\r\n * Release all currently held locks\r\n * @internal\r\n */\r\n releaseAllLocks(arg: BriefcaseDbArg): Promise<void>;\r\n\r\n /** Get the iModelId of an iModel by name. Undefined if no iModel with that name exists. */\r\n queryIModelByName(arg: IModelNameArg): Promise<GuidString | undefined>;\r\n\r\n /** create a new iModel. Returns the Guid of the newly created iModel */\r\n createNewIModel(arg: CreateNewIModelProps): Promise<GuidString>;\r\n\r\n /** delete an iModel */\r\n deleteIModel(arg: IModelIdArg & ITwinIdArg): Promise<void>;\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackendLoggerCategory.d.ts","sourceRoot":"","sources":["../src/BackendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH,oBAAY,qBAAqB;IAC/B,+DAA+D;IAC/D,aAAa,+BAA+B;IAE5C;;OAEG;IACH,SAAS,2BAA2B;IAEpC;;OAEG;IACH,QAAQ,0BAA0B;IAElC;;;;OAIG;IACH,IAAI,sBAAsB;IAE1B;;OAEG;IACH,UAAU,4BAA4B;IAEtC;;OAEG;IACH,iBAAiB,mCAAmC;IAEpD;;;OAGG;IACH,QAAQ,0BAA0B;IAElC;;OAEG;IACH,UAAU,4BAA4B;IAEtC;;OAEG;IACH,oBAAoB,sCAAsC;IAE1D;;OAEG;IACH,gBAAgB,kCAAkC;IAElD;;OAEG;IACH,YAAY,8BAA8B;IAE1C;;OAEG;IACH,OAAO,yBAAyB;IAEhC;;OAEG;IACH,eAAe,iCAAiC;IAChD;;OAEG;IACH,SAAS,2BAA2B;IAEpC;;;OAGG;IACH,kBAAkB,oCAAoC;IAEtD;;;OAGG;IACH,OAAO,yBAAyB;IAEhC;;;OAGG;IACH,SAAS,2BAA2B;CACrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackendLoggerCategory.js","sourceRoot":"","sources":["../src/BackendLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;GAIG;AACH,IAAY,qBAwFX;AAxFD,WAAY,qBAAqB;IAC/B,+DAA+D;IAC/D,qEAA4C,CAAA;IAE5C;;OAEG;IACH,6DAAoC,CAAA;IAEpC;;OAEG;IACH,2DAAkC,CAAA;IAElC;;;;OAIG;IACH,mDAA0B,CAAA;IAE1B;;OAEG;IACH,+DAAsC,CAAA;IAEtC;;OAEG;IACH,6EAAoD,CAAA;IAEpD;;;OAGG;IACH,2DAAkC,CAAA;IAElC;;OAEG;IACH,+DAAsC,CAAA;IAEtC;;OAEG;IACH,mFAA0D,CAAA;IAE1D;;OAEG;IACH,2EAAkD,CAAA;IAElD;;OAEG;IACH,mEAA0C,CAAA;IAE1C;;OAEG;IACH,yDAAgC,CAAA;IAEhC;;OAEG;IACH,yEAAgD,CAAA;IAChD;;OAEG;IACH,6DAAoC,CAAA;IAEpC;;;OAGG;IACH,+EAAsD,CAAA;IAEtD;;;OAGG;IACH,yDAAgC,CAAA;IAEhC;;;OAGG;IACH,6DAAoC,CAAA;AACtC,CAAC,EAxFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAwFhC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Logging\r\n */\r\n\r\n/** Logger categories used by this package\r\n * @note All logger categories in this package start with the `core-backend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum BackendLoggerCategory {\r\n /** The logger category used by API related to authorization */\r\n Authorization = \"core-backend.Authorization\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[CodeSpecs]]\r\n */\r\n CodeSpecs = \"core-backend.CodeSpecs\",\r\n\r\n /** The logger category used by the [[DevTools]] class and related classes.\r\n * @internal\r\n */\r\n DevTools = \"core-backend.DevTools\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[ChangeSummaryManager]]\r\n * - [[ECDb]]\r\n * - [[ECSqlStatement]]\r\n */\r\n ECDb = \"core-backend.ECDb\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[Functional]]\r\n */\r\n Functional = \"core-backend.Functional\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[LinearReferencing]]\r\n */\r\n LinearReferencing = \"core-backend.LinearReferencing\",\r\n\r\n /** The logger category used by the following classes:\r\n * - BriefcaseManager\r\n * - [[IModelDb]]\r\n */\r\n IModelDb = \"core-backend.IModelDb\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[IModelHost]]\r\n */\r\n IModelHost = \"core-backend.IModelHost\",\r\n\r\n /** The logger category used by the following classes:\r\n * - TileRequestMemoizer\r\n */\r\n IModelTileRequestRpc = \"core-backend.IModelTileRequestRpc\",\r\n\r\n /** The logger category used by the following classes:\r\n * - IModelTileRpcImpl (Tile Uploading)\r\n */\r\n IModelTileUpload = \"core-backend.IModelTileUpload\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[Relationship]]\r\n */\r\n Relationship = \"core-backend.Relationship\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[Schemas]]\r\n */\r\n Schemas = \"core-backend.Schemas\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[PromiseMemoizer]]\r\n */\r\n PromiseMemoizer = \"core-backend.PromiseMemoizer\",\r\n /** The logger category used by the following classes:\r\n * - [[EventSink]]\r\n */\r\n EventSink = \"core-backend.EventSink\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[IModelSchemaLoader]]\r\n * @alpha\r\n */\r\n IModelSchemaLoader = \"core-backend.IModelSchemaLoader\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[iModels]]\r\n * @alpha\r\n */\r\n Editing = \"core-backend.Editing\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[NativeHost]], [[NativeAppStorage]]\r\n * @internal\r\n */\r\n NativeApp = \"core-backend.NativeApp\",\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BisCoreSchema.d.ts","sourceRoot":"","sources":["../src/BisCoreSchema.ts"],"names":[],"mappings":"AAIA;;GAEG;AAYH,OAAO,EAAE,MAAM,EAAW,MAAM,UAAU,CAAC;AAK3C;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,MAAM;IACvC,WAA2B,UAAU,IAAI,MAAM,CAAsB;IACrE,WAAkB,cAAc,IAAI,MAAM,CAAsH;IAEhK,gBAAgB;WACF,cAAc;CAqB7B"}
|
package/lib/BisCoreSchema.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BisCoreSchema.js","sourceRoot":"","sources":["../src/BisCoreSchema.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA6B;AAC7B,0CAA0C;AAC1C,mDAAgD;AAChD,wCAAwC;AACxC,6CAA6C;AAC7C,sDAAsD;AACtD,6CAA8C;AAC9C,0CAA0C;AAC1C,oCAAoC;AACpC,0CAA0C;AAC1C,qCAA2C;AAC3C,wCAAwC;AACxC,4CAA4C;AAC5C,kDAAkD;AAElD;;;;;;;;;;GAUG;AACH,MAAa,aAAc,SAAQ,eAAM;IAChC,MAAM,KAAc,UAAU,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,cAAc,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,2BAAc,CAAC,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,UAAU,eAAe,CAAC,CAAC,CAAC,CAAC;IAEhK,gBAAgB;IACT,MAAM,CAAC,cAAc;QAC1B,IAAI,IAAI,KAAK,gBAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;YACvD,OAAO;QAET,gBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,gBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE7B,sHAAsH;QACtH;YACE,UAAU;YACV,SAAS;YACT,QAAQ;YACR,WAAW;YACX,OAAO;YACP,OAAO;YACP,UAAU;YACV,WAAW;YACX,iBAAiB;YACjB,eAAe;SAChB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,6BAAa,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AA1BD,sCA0BC","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/** @packageDocumentation\n * @module Schema\n */\n\nimport * as path from \"path\";\nimport * as categoryMod from \"./Category\";\nimport { ClassRegistry } from \"./ClassRegistry\";\nimport * as elementMod from \"./Element\";\nimport * as aspectMod from \"./ElementAspect\";\nimport * as externalSourceMod from \"./ExternalSource\";\nimport { KnownLocations } from \"./IModelHost\";\nimport * as materialMod from \"./Material\";\nimport * as modelMod from \"./Model\";\nimport * as linkMod from \"./Relationship\";\nimport { Schema, Schemas } from \"./Schema\";\nimport * as textureMod from \"./Texture\";\nimport * as viewMod from \"./ViewDefinition\";\nimport * as displayStyleMod from \"./DisplayStyle\";\n\n/**\n * The [BisCore]($docs/bis/intro/schemas-domains.md) schema is the lowest level Schema in an iModel.\n *\n * It is automatically registered when [[IModelHost.startup]] is called.\n *\n * ** Example:**\n * ``` ts\n * [[include:BisCore.registerSchemaAndGetClass]]\n * ```\n * @public\n */\nexport class BisCoreSchema extends Schema {\n public static override get schemaName(): string { return \"BisCore\"; }\n public static get schemaFilePath(): string { return path.join(KnownLocations.nativeAssetsDir, \"ECSchemas\", \"Dgn\", `${BisCoreSchema.schemaName}.ecschema.xml`); }\n\n /** @internal */\n public static registerSchema() {\n if (this === Schemas.getRegisteredSchema(this.schemaName))\n return;\n\n Schemas.unregisterSchema(this.schemaName);\n Schemas.registerSchema(this);\n\n // this list should include all backend .ts files with implementations of Entity-based classes. Order does not matter.\n [\n elementMod,\n aspectMod,\n modelMod,\n categoryMod,\n viewMod,\n linkMod,\n textureMod,\n materialMod,\n externalSourceMod,\n displayStyleMod,\n ].forEach((module) => ClassRegistry.registerModule(module, this));\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BriefcaseManager.d.ts","sourceRoot":"","sources":["../src/BriefcaseManager.ts"],"names":[],"mappings":"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"}
|