@vived/host 4.9.1 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AppSandbox/Adapters/devFeaturesEnabledAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/sandboxStateAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/showInspectorAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/startInZSpaceAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/clearSandboxAppContainer.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/mountSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/setSandboxAppContainer.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/setSandboxAppState.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/startSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/stopSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/toggleAllowDevFeatures.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/toggleShowInspector.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/toggleStartInZSpace.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/unmountSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Entities/AppSandboxEntity.js.map +1 -1
- package/dist/cjs/AppSandbox/Entities/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Factories/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Factories/setupAppSandbox.js +2 -1
- package/dist/cjs/AppSandbox/Factories/setupAppSandbox.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/DevFeaturesEnabledPMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/MockShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/RenderAppPMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/ShowInspectorPMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/StartInZSpacePMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/index.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/DevFeaturesEnabledPM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/SandboxStatePM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/ShowInspectorPM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/StartInZSpacePM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/index.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/ShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/index.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js.map +1 -1
- package/dist/cjs/AppSandbox/index.js.map +1 -1
- package/dist/cjs/Apps/Adapters/activeAppPMAdapter.js.map +1 -1
- package/dist/cjs/Apps/Adapters/appListPMAdapter.js.map +1 -1
- package/dist/cjs/Apps/Adapters/appPMAdapter.js.map +1 -1
- package/dist/cjs/Apps/Adapters/index.js.map +1 -1
- package/dist/cjs/Apps/Controllers/index.js.map +1 -1
- package/dist/cjs/Apps/Controllers/updateApp.js.map +1 -1
- package/dist/cjs/Apps/Entities/AppEntity.js.map +1 -1
- package/dist/cjs/Apps/Entities/AppRepo.js +5 -3
- package/dist/cjs/Apps/Entities/AppRepo.js.map +1 -1
- package/dist/cjs/Apps/Entities/index.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockActiveAppPM.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockAppListPM.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockAppMounterUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockAppPM.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockStartAppUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockStopAppUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockUpdateAppUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/index.js.map +1 -1
- package/dist/cjs/Apps/PMs/ActiveAppPM.js.map +1 -1
- package/dist/cjs/Apps/PMs/AppPM.js.map +1 -1
- package/dist/cjs/Apps/PMs/AppsListPM.js.map +1 -1
- package/dist/cjs/Apps/PMs/index.js.map +1 -1
- package/dist/cjs/Apps/UCs/Mounters/MounterUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/Mounters/SandboxMounterUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/Mounters/index.js.map +1 -1
- package/dist/cjs/Apps/UCs/StartAppUC.js +1 -2
- package/dist/cjs/Apps/UCs/StartAppUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/StopAppUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/UpdateAppUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/formAppIDWithVersion.js.map +1 -1
- package/dist/cjs/Apps/UCs/index.js.map +1 -1
- package/dist/cjs/Apps/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Adapters/assetPluginPMAdapter.js.map +1 -1
- package/dist/cjs/AssetPlugin/Adapters/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Controllers/clearAssetPluginContainer.js.map +1 -1
- package/dist/cjs/AssetPlugin/Controllers/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Controllers/setAssetPluginContainer.js.map +1 -1
- package/dist/cjs/AssetPlugin/Entities/AssetPluginEntity.js.map +1 -1
- package/dist/cjs/AssetPlugin/Entities/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Factories/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Factories/setupAssetsPluginForSandbox.js.map +1 -1
- package/dist/cjs/AssetPlugin/Mocks/MockAssetPluginContainerUC.js.map +1 -1
- package/dist/cjs/AssetPlugin/Mocks/MockAssetPluginPM.js.map +1 -1
- package/dist/cjs/AssetPlugin/Mocks/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/PM/AssetPluginPM.js.map +1 -1
- package/dist/cjs/AssetPlugin/PM/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/UCs/AssetPluginContainerUC.js.map +1 -1
- package/dist/cjs/AssetPlugin/UCs/SandboxAssetPluginContainerUC.js.map +1 -1
- package/dist/cjs/AssetPlugin/UCs/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/index.js.map +1 -1
- package/dist/cjs/Assets/Adapters/appAssetListAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/assetAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/assetFileAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/editingAppAssetAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/index.js.map +1 -1
- package/dist/cjs/Assets/Adapters/showArchivedAppAssetAdapter.js.map +1 -1
- package/dist/cjs/Assets/Controllers/archiveAsset.js +30 -0
- package/dist/cjs/Assets/Controllers/archiveAsset.js.map +1 -1
- package/dist/cjs/Assets/Controllers/deleteAsset.js +30 -0
- package/dist/cjs/Assets/Controllers/deleteAsset.js.map +1 -1
- package/dist/cjs/Assets/Controllers/downloadAssetFile.js +29 -0
- package/dist/cjs/Assets/Controllers/downloadAssetFile.js.map +1 -1
- package/dist/cjs/Assets/Controllers/editAppAsset.js +29 -0
- package/dist/cjs/Assets/Controllers/editAppAsset.js.map +1 -1
- package/dist/cjs/Assets/Controllers/getAppAssets.js +29 -0
- package/dist/cjs/Assets/Controllers/getAppAssets.js.map +1 -1
- package/dist/cjs/Assets/Controllers/index.js +19 -0
- package/dist/cjs/Assets/Controllers/index.js.map +1 -1
- package/dist/cjs/Assets/Controllers/newAppAsset.js +30 -0
- package/dist/cjs/Assets/Controllers/newAppAsset.js.map +1 -1
- package/dist/cjs/Assets/Controllers/toggleShowArchivedAssets.js +28 -0
- package/dist/cjs/Assets/Controllers/toggleShowArchivedAssets.js.map +1 -1
- package/dist/cjs/Assets/Controllers/updateAppAssetMeta.js +30 -0
- package/dist/cjs/Assets/Controllers/updateAppAssetMeta.js.map +1 -1
- package/dist/cjs/Assets/Controllers/updateAssetFile.js +30 -0
- package/dist/cjs/Assets/Controllers/updateAssetFile.js.map +1 -1
- package/dist/cjs/Assets/Entities/AppAssetsEntity.js +123 -0
- package/dist/cjs/Assets/Entities/AppAssetsEntity.js.map +1 -1
- package/dist/cjs/Assets/Entities/AssetEntity.js +166 -0
- package/dist/cjs/Assets/Entities/AssetEntity.js.map +1 -1
- package/dist/cjs/Assets/Entities/AssetRepo.js +154 -1
- package/dist/cjs/Assets/Entities/AssetRepo.js.map +1 -1
- package/dist/cjs/Assets/Entities/index.js.map +1 -1
- package/dist/cjs/Assets/Factories/AssetsFactory.js +82 -0
- package/dist/cjs/Assets/Factories/AssetsFactory.js.map +1 -0
- package/dist/cjs/Assets/Factories/index.js +1 -0
- package/dist/cjs/Assets/Factories/index.js.map +1 -1
- package/dist/cjs/Assets/Factories/setupAssets.js +14 -0
- package/dist/cjs/Assets/Factories/setupAssets.js.map +1 -0
- package/dist/cjs/Assets/Factories/setupAssetsForSandbox.js.map +1 -1
- package/dist/cjs/Assets/Mocks/AppAssetListPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/AssetFilePMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/AssetPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/EditingAppAssetPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockArchiveAsset.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockDeleteAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockDownloadAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockEditAppAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAppAssetsUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAssetBlobURLUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockNewAppAsset.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockNewAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockPrefetchAssets.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockUpdateAppAssetMetaUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockUpdateAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/ShowArchivedAppAssetPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/index.js.map +1 -1
- package/dist/cjs/Assets/PMs/AppAssetListPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/AssetFilePM.js.map +1 -1
- package/dist/cjs/Assets/PMs/AssetPM.js +56 -0
- package/dist/cjs/Assets/PMs/AssetPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/EditingAppAssetPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/ShowArchivedAppAssetPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/index.js.map +1 -1
- package/dist/cjs/Assets/UCs/ArchiveAssetUC.js +83 -1
- package/dist/cjs/Assets/UCs/ArchiveAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/DeleteAssetUC.js +90 -1
- package/dist/cjs/Assets/UCs/DeleteAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/DownloadAssetFileUC.js +85 -1
- package/dist/cjs/Assets/UCs/DownloadAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/EditAppAssetUC.js +69 -0
- package/dist/cjs/Assets/UCs/EditAppAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/GetAppAssetsUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/GetAssetBlobURLUC.js +97 -10
- package/dist/cjs/Assets/UCs/GetAssetBlobURLUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/GetAssetFileUC.js +110 -4
- package/dist/cjs/Assets/UCs/GetAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/GetAssetUC.js +75 -0
- package/dist/cjs/Assets/UCs/GetAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/NewAppAssetUC.js +27 -0
- package/dist/cjs/Assets/UCs/NewAppAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/NewAssetUC.js +78 -0
- package/dist/cjs/Assets/UCs/NewAssetUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/PrefetchAssetsUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/UpdateAppAssetMetaUC.js +80 -1
- package/dist/cjs/Assets/UCs/UpdateAppAssetMetaUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/UpdateAssetFileUC.js +77 -1
- package/dist/cjs/Assets/UCs/UpdateAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/index.js +21 -0
- package/dist/cjs/Assets/UCs/index.js.map +1 -1
- package/dist/cjs/Assets/index.js.map +1 -1
- package/dist/cjs/Cache/Controllers/clearCache.js.map +1 -1
- package/dist/cjs/Cache/Controllers/index.js.map +1 -1
- package/dist/cjs/Cache/Entities/AssetCacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Entities/CacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Entities/ScriptCacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Entities/index.js.map +1 -1
- package/dist/cjs/Cache/Factories/index.js.map +1 -1
- package/dist/cjs/Cache/Factories/setupCache.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockCacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockGetAssetFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockGetScriptFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockStoreAssetInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockStoreScriptInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/index.js.map +1 -1
- package/dist/cjs/Cache/UCs/GetAssetFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/GetScriptFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/StoreAssetInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/StoreScriptInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/index.js.map +1 -1
- package/dist/cjs/Cache/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/challengeResultsListAdapter.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/challengeScoreListAdapter.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Entities/ChallengeResults.js.map +1 -1
- package/dist/cjs/ChallengeResults/Entities/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Factories/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Factories/setupChallengeResults.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/ChallengeResultsListPMMock.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/MockChallengeScoreListPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/MockHasChallengeResultsPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/ChallengeResultsListPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/ChallengeScoreListPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/index.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/alertDialogAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/confirmDialogAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/dialogQueueAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/index.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/markDownEditorDialogAdapters.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/spinnerDialogAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Controllers/activeDialogHasClosed.js.map +1 -1
- package/dist/cjs/Dialog/Controllers/index.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Alert.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Confirm.js.map +1 -1
- package/dist/cjs/Dialog/Entities/DialogQueue.js.map +1 -1
- package/dist/cjs/Dialog/Entities/MarkDownEditor.js.map +1 -1
- package/dist/cjs/Dialog/Entities/SelectModel.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Spinner.js.map +1 -1
- package/dist/cjs/Dialog/Entities/index.js.map +1 -1
- package/dist/cjs/Dialog/Factories/alertDialogFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/confirmDialogFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/index.js.map +1 -1
- package/dist/cjs/Dialog/Factories/markdownDialogEditorFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/selectDialogModelFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/setupDialogForSandbox.js.map +1 -1
- package/dist/cjs/Dialog/Factories/spinnerDialogFactory.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockAlertDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockConfirmDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockDialogQueuePM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeAlertDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeConfirmDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeMarkdownDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeSelectModelDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeSpinnerDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMarkDownEditorDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockSpinnerDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/index.js.map +1 -1
- package/dist/cjs/Dialog/PMs/AlertDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/ConfirmDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/DialogQueuePM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/MarkDownEditorDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/SpinnerDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/index.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeAlertDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeConfirmDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeMarkdownDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeSelectModelDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeSpinnerDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/index.js.map +1 -1
- package/dist/cjs/Dialog/index.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/HostDispatchEntity.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/index.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/DispatchEnableFeatureUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchAppDispatcherUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchIsAuthoringUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchSetStateUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStartAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStartZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStopAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStopZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchThemeUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockHostDispatcher.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/index.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchDisposeAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchEnableFeatureUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchIsAuthoringUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchSetStateUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStartAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStartZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStopAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStopZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/index.js.map +1 -1
- package/dist/cjs/Dispatcher/index.js.map +1 -1
- package/dist/cjs/Dispatcher/setupStandardHostDispatchers.js.map +1 -1
- package/dist/cjs/Events/Types/EventTypes.js.map +1 -1
- package/dist/cjs/Events/Types/PayloadTypes.js.map +1 -1
- package/dist/cjs/Events/Types/index.js.map +1 -1
- package/dist/cjs/Events/index.js.map +1 -1
- package/dist/cjs/Handler/Entities/HostHandler.js.map +1 -1
- package/dist/cjs/Handler/Entities/index.js.map +1 -1
- package/dist/cjs/Handler/UCs/CallbackAssetDTO.js.map +1 -1
- package/dist/cjs/Handler/UCs/CloseAssetSystemPlugin.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetBlobURLHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetFolderURLHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetMetaHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetsForOwnerHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetLinkedAssetsHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GoToNextStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GoToPreviousStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/HasNextStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/HasPreviousStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/IsAssetFetchedHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/IsZSpaceAvailableHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/NewActivityAssetHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/OnAppIsReadyHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/OnStateChangeHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/OnStateCompleteHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/RegisterExternalStyleSheetsHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/RestoreCurrentStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowAlertHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowConfirmHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowMarkDownEditorHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowSelectModelHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowSpinnerHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/StartZSpaceHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/StopZSpaceHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/SubmitActivityAssetHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/SubmitLogHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/SubmitResultHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/index.js.map +1 -1
- package/dist/cjs/Handler/index.js.map +1 -1
- package/dist/cjs/Handler/setupStandardHostHandlers.js.map +1 -1
- package/dist/cjs/Logger/Adapters/fatalErrorAdapter.js.map +1 -1
- package/dist/cjs/Logger/Adapters/forwardLogsToConsoleAdapter.js.map +1 -1
- package/dist/cjs/Logger/Adapters/index.js.map +1 -1
- package/dist/cjs/Logger/Adapters/logSummaryAdapter.js.map +1 -1
- package/dist/cjs/Logger/Controllers/clickDownloadLog.js.map +1 -1
- package/dist/cjs/Logger/Controllers/index.js.map +1 -1
- package/dist/cjs/Logger/Controllers/toggleForwardLogs.js.map +1 -1
- package/dist/cjs/Logger/Entities/LoggerEntity.js.map +1 -1
- package/dist/cjs/Logger/Entities/index.js.map +1 -1
- package/dist/cjs/Logger/Factories/index.js.map +1 -1
- package/dist/cjs/Logger/Factories/setupLoggerForSandbox.js.map +1 -1
- package/dist/cjs/Logger/Mocks/ForwardLogsToConsolePMMock.js.map +1 -1
- package/dist/cjs/Logger/Mocks/LogSummaryPMMock.js.map +1 -1
- package/dist/cjs/Logger/Mocks/MockDownloadLogUC.js.map +1 -1
- package/dist/cjs/Logger/Mocks/MockFatalErrorPM.js.map +1 -1
- package/dist/cjs/Logger/Mocks/index.js.map +1 -1
- package/dist/cjs/Logger/PMs/FatalErrorPM.js.map +1 -1
- package/dist/cjs/Logger/PMs/ForwardLogsToConsolePM.js.map +1 -1
- package/dist/cjs/Logger/PMs/LogSummaryPM.js.map +1 -1
- package/dist/cjs/Logger/PMs/index.js.map +1 -1
- package/dist/cjs/Logger/UCs/DownloadLogUC.js.map +1 -1
- package/dist/cjs/Logger/UCs/index.js.map +1 -1
- package/dist/cjs/Logger/index.js.map +1 -1
- package/dist/cjs/Snackbar/Adapters/index.js.map +1 -1
- package/dist/cjs/Snackbar/Adapters/snackbarAdapter.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/callActiveSnackbarAction.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/dismissActiveSnackbar.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/index.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/makeSnackbar.js.map +1 -1
- package/dist/cjs/Snackbar/Entities/SnackbarRepo.js.map +1 -1
- package/dist/cjs/Snackbar/Entities/index.js.map +1 -1
- package/dist/cjs/Snackbar/Factories/index.js.map +1 -1
- package/dist/cjs/Snackbar/Factories/setupSnackbar.js.map +1 -1
- package/dist/cjs/Snackbar/Mocks/SnackbarPMMock.js.map +1 -1
- package/dist/cjs/Snackbar/Mocks/index.js.map +1 -1
- package/dist/cjs/Snackbar/PMs/SnackbarPM.js.map +1 -1
- package/dist/cjs/Snackbar/PMs/index.js.map +1 -1
- package/dist/cjs/Snackbar/index.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/editingStateAdapter.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/hostStateMachinePMAdapter.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/index.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/cancelEditing.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/consumeState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/deleteState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/duplicateState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editActiveState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editStateName.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/endActivity.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/index.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/newState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/saveAuthoring.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/savePersistentStates.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/transitionToState.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostEditingStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/index.js.map +1 -1
- package/dist/cjs/StateMachine/Factories/index.js.map +1 -1
- package/dist/cjs/StateMachine/Factories/setupStateMachineForSandbox.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/CancelEditingUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/ConsumeStateUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/EditStateUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/EndActivityUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockDeleteStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockDuplicateStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockEditActiveStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostEditingStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostStateMachinePM.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockIsEditingStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockSaveAuthoringUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockTransitionToStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/NewStateUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/SavePersistentStatesMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/index.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/EditingStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/CancelEditing/CancelEditingUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/CancelEditing/CancelSandboxEditingUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/CancelEditing/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/ConsumeState/ConsumeSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/ConsumeState/ConsumeStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/ConsumeState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/DeleteStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/DuplicateStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditActiveState/EditActiveSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditActiveState/EditActiveStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditActiveState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditState/EditSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditState/EditStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EndActivity/EndActivityUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EndActivity/EndSandboxActivityUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EndActivity/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/NewState/NewSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/NewState/NewStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/NewState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SaveAuthoring/SaveAuthoringSandboxUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SaveAuthoring/SaveAuthoringUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SaveAuthoring/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SavePersistentStates.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/TransitionToState/TransitionToSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/TransitionToState/TransitionToStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/TransitionToState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/setSandboxStatesFromData.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/setSandboxStatesFromStringData.js.map +1 -1
- package/dist/cjs/StateMachine/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Adapter/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Adapter/themeColorAdapter.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getOnPrimaryColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getOnSurfaceColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getPrimaryColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getSurfaceColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getSurfaceContainerColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Data/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
- package/dist/cjs/ThemeColors/Entities/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Factories/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Factories/setupTheme.js.map +1 -1
- package/dist/cjs/ThemeColors/Mocks/MockThemeColorPM.js.map +1 -1
- package/dist/cjs/ThemeColors/Mocks/index.js.map +1 -1
- package/dist/cjs/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
- package/dist/cjs/ThemeColors/PM/index.js.map +1 -1
- package/dist/cjs/ThemeColors/UCs/SetThemeUC.js.map +1 -1
- package/dist/cjs/ThemeColors/UCs/index.js.map +1 -1
- package/dist/cjs/ThemeColors/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Adapters/apiStageAdapter.js +35 -0
- package/dist/cjs/VivedAPI/Adapters/apiStageAdapter.js.map +1 -1
- package/dist/cjs/VivedAPI/Adapters/index.js +19 -0
- package/dist/cjs/VivedAPI/Adapters/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Adapters/userTokenAdapter.js +35 -0
- package/dist/cjs/VivedAPI/Adapters/userTokenAdapter.js.map +1 -1
- package/dist/cjs/VivedAPI/Controllers/index.js +18 -0
- package/dist/cjs/VivedAPI/Controllers/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Controllers/loginUser.js +27 -0
- package/dist/cjs/VivedAPI/Controllers/loginUser.js.map +1 -1
- package/dist/cjs/VivedAPI/Controllers/logoutUser.js +25 -0
- package/dist/cjs/VivedAPI/Controllers/logoutUser.js.map +1 -1
- package/dist/cjs/VivedAPI/Controllers/refreshAuthenticatedUser.js.map +1 -1
- package/dist/cjs/VivedAPI/Controllers/setApiStage.js +25 -0
- package/dist/cjs/VivedAPI/Controllers/setApiStage.js.map +1 -1
- package/dist/cjs/VivedAPI/Entities/VivedAPIEntity.js +73 -0
- package/dist/cjs/VivedAPI/Entities/VivedAPIEntity.js.map +1 -1
- package/dist/cjs/VivedAPI/Entities/index.js +16 -0
- package/dist/cjs/VivedAPI/Entities/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Factories/VivedAPIFactory.js +70 -0
- package/dist/cjs/VivedAPI/Factories/VivedAPIFactory.js.map +1 -0
- package/dist/cjs/VivedAPI/Factories/index.js +19 -0
- package/dist/cjs/VivedAPI/Factories/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Factories/setupAPI.js +24 -0
- package/dist/cjs/VivedAPI/Factories/setupAPI.js.map +1 -0
- package/dist/cjs/VivedAPI/Factories/setupVivedAPIForSandbox.js +25 -0
- package/dist/cjs/VivedAPI/Factories/setupVivedAPIForSandbox.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/ApiStagePMMock.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockBasicFetchUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockBlobRequestUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockDeleteAssetOnAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockFetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockFetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockFileUpload.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockGetAppFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockGetAssetsForOwnerUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockJsonRequestUC.js +34 -0
- package/dist/cjs/VivedAPI/Mocks/MockJsonRequestUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetFileUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetIsArchivedUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetMetaUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPostNewAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockSignedAuthToken.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockUserLoginUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/UserTokenPMMock.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/index.js +24 -0
- package/dist/cjs/VivedAPI/Mocks/index.js.map +1 -1
- package/dist/cjs/VivedAPI/PMs/ApiStagePM.js +57 -0
- package/dist/cjs/VivedAPI/PMs/ApiStagePM.js.map +1 -1
- package/dist/cjs/VivedAPI/PMs/UserTokenPM.js +53 -0
- package/dist/cjs/VivedAPI/PMs/UserTokenPM.js.map +1 -1
- package/dist/cjs/VivedAPI/PMs/index.js +18 -0
- package/dist/cjs/VivedAPI/PMs/index.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/BasicFetchUC.js +30 -0
- package/dist/cjs/VivedAPI/UCs/BasicFetchUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/BlobRequestUC.js +30 -0
- package/dist/cjs/VivedAPI/UCs/BlobRequestUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/DeleteAssetOnAPIUC.js +39 -0
- package/dist/cjs/VivedAPI/UCs/DeleteAssetOnAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/FetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/FetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/FileUploadUC.js +39 -0
- package/dist/cjs/VivedAPI/UCs/FileUploadUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAppFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/JsonRequestUC.js +30 -0
- package/dist/cjs/VivedAPI/UCs/JsonRequestUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetFileUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetIsArchivedUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetMetaUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PostNewAssetUC.js +39 -0
- package/dist/cjs/VivedAPI/UCs/PostNewAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/SignedAuthTokenUC.js +30 -0
- package/dist/cjs/VivedAPI/UCs/SignedAuthTokenUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/UserAuthUC.js +31 -0
- package/dist/cjs/VivedAPI/UCs/UserAuthUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/index.js +23 -0
- package/dist/cjs/VivedAPI/UCs/index.js.map +1 -1
- package/dist/cjs/VivedAPI/index.js +25 -0
- package/dist/cjs/VivedAPI/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Adapters/emulateZSpaceAdapter.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Adapters/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Adapters/zSpaceIsActiveAdapter.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/startZSpace.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/stopZSpace.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/toggleEmulateZSpace.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Entities/ZSpaceHost.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Entities/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Factories/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Factories/setupZSpaceForSandbox.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/EmulateZSpacePMMock.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockStartZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockStopZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockXRSession.js +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockXRSession.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/ZSpaceIsActivePMMock.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/PMs/EmulateZSpacePM.js.map +1 -1
- package/dist/cjs/ZSpaceHost/PMs/ZSpaceIsActivePM.js.map +1 -1
- package/dist/cjs/ZSpaceHost/PMs/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StartZSpace/StartSandboxZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StartZSpace/StartZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StartZSpace/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StopZSpace/StopSandboxZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StopZSpace/StopZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StopZSpace/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/checkForZSpaceSupport.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/index.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/devFeaturesEnabledAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/index.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/sandboxStateAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/showInspectorAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/startInZSpaceAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/clearSandboxAppContainer.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/index.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/mountSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/setSandboxAppContainer.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/setSandboxAppState.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/startSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/stopSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/toggleAllowDevFeatures.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/toggleShowInspector.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/toggleStartInZSpace.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/unmountSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Entities/AppSandboxEntity.js.map +1 -1
- package/dist/esm/AppSandbox/Entities/index.js.map +1 -1
- package/dist/esm/AppSandbox/Factories/index.js.map +1 -1
- package/dist/esm/AppSandbox/Factories/setupAppSandbox.js +2 -1
- package/dist/esm/AppSandbox/Factories/setupAppSandbox.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/DevFeaturesEnabledPMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/MockShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/RenderAppPMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/ShowInspectorPMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/StartInZSpacePMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/index.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/DevFeaturesEnabledPM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/SandboxStatePM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/ShowInspectorPM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/StartInZSpacePM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/index.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/ShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/index.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js.map +1 -1
- package/dist/esm/AppSandbox/index.js.map +1 -1
- package/dist/esm/Apps/Adapters/activeAppPMAdapter.js.map +1 -1
- package/dist/esm/Apps/Adapters/appListPMAdapter.js.map +1 -1
- package/dist/esm/Apps/Adapters/appPMAdapter.js.map +1 -1
- package/dist/esm/Apps/Adapters/index.js.map +1 -1
- package/dist/esm/Apps/Controllers/index.js.map +1 -1
- package/dist/esm/Apps/Controllers/updateApp.js.map +1 -1
- package/dist/esm/Apps/Entities/AppEntity.js.map +1 -1
- package/dist/esm/Apps/Entities/AppRepo.js +5 -3
- package/dist/esm/Apps/Entities/AppRepo.js.map +1 -1
- package/dist/esm/Apps/Entities/index.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockActiveAppPM.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockAppListPM.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockAppMounterUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockAppPM.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockStartAppUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockStopAppUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockUpdateAppUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/index.js.map +1 -1
- package/dist/esm/Apps/PMs/ActiveAppPM.js.map +1 -1
- package/dist/esm/Apps/PMs/AppPM.js.map +1 -1
- package/dist/esm/Apps/PMs/AppsListPM.js.map +1 -1
- package/dist/esm/Apps/PMs/index.js.map +1 -1
- package/dist/esm/Apps/UCs/Mounters/MounterUC.js.map +1 -1
- package/dist/esm/Apps/UCs/Mounters/SandboxMounterUC.js.map +1 -1
- package/dist/esm/Apps/UCs/Mounters/index.js.map +1 -1
- package/dist/esm/Apps/UCs/StartAppUC.js +1 -2
- package/dist/esm/Apps/UCs/StartAppUC.js.map +1 -1
- package/dist/esm/Apps/UCs/StopAppUC.js.map +1 -1
- package/dist/esm/Apps/UCs/UpdateAppUC.js.map +1 -1
- package/dist/esm/Apps/UCs/formAppIDWithVersion.js.map +1 -1
- package/dist/esm/Apps/UCs/index.js.map +1 -1
- package/dist/esm/Apps/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Adapters/assetPluginPMAdapter.js.map +1 -1
- package/dist/esm/AssetPlugin/Adapters/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Controllers/clearAssetPluginContainer.js.map +1 -1
- package/dist/esm/AssetPlugin/Controllers/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Controllers/setAssetPluginContainer.js.map +1 -1
- package/dist/esm/AssetPlugin/Entities/AssetPluginEntity.js.map +1 -1
- package/dist/esm/AssetPlugin/Entities/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Factories/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Factories/setupAssetsPluginForSandbox.js.map +1 -1
- package/dist/esm/AssetPlugin/Mocks/MockAssetPluginContainerUC.js.map +1 -1
- package/dist/esm/AssetPlugin/Mocks/MockAssetPluginPM.js.map +1 -1
- package/dist/esm/AssetPlugin/Mocks/index.js.map +1 -1
- package/dist/esm/AssetPlugin/PM/AssetPluginPM.js.map +1 -1
- package/dist/esm/AssetPlugin/PM/index.js.map +1 -1
- package/dist/esm/AssetPlugin/UCs/AssetPluginContainerUC.js.map +1 -1
- package/dist/esm/AssetPlugin/UCs/SandboxAssetPluginContainerUC.js.map +1 -1
- package/dist/esm/AssetPlugin/UCs/index.js.map +1 -1
- package/dist/esm/AssetPlugin/index.js.map +1 -1
- package/dist/esm/Assets/Adapters/appAssetListAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/assetAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/assetFileAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/editingAppAssetAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/index.js.map +1 -1
- package/dist/esm/Assets/Adapters/showArchivedAppAssetAdapter.js.map +1 -1
- package/dist/esm/Assets/Controllers/archiveAsset.js +30 -0
- package/dist/esm/Assets/Controllers/archiveAsset.js.map +1 -1
- package/dist/esm/Assets/Controllers/deleteAsset.js +30 -0
- package/dist/esm/Assets/Controllers/deleteAsset.js.map +1 -1
- package/dist/esm/Assets/Controllers/downloadAssetFile.js +29 -0
- package/dist/esm/Assets/Controllers/downloadAssetFile.js.map +1 -1
- package/dist/esm/Assets/Controllers/editAppAsset.js +29 -0
- package/dist/esm/Assets/Controllers/editAppAsset.js.map +1 -1
- package/dist/esm/Assets/Controllers/getAppAssets.js +29 -0
- package/dist/esm/Assets/Controllers/getAppAssets.js.map +1 -1
- package/dist/esm/Assets/Controllers/index.js +19 -0
- package/dist/esm/Assets/Controllers/index.js.map +1 -1
- package/dist/esm/Assets/Controllers/newAppAsset.js +30 -0
- package/dist/esm/Assets/Controllers/newAppAsset.js.map +1 -1
- package/dist/esm/Assets/Controllers/toggleShowArchivedAssets.js +28 -0
- package/dist/esm/Assets/Controllers/toggleShowArchivedAssets.js.map +1 -1
- package/dist/esm/Assets/Controllers/updateAppAssetMeta.js +30 -0
- package/dist/esm/Assets/Controllers/updateAppAssetMeta.js.map +1 -1
- package/dist/esm/Assets/Controllers/updateAssetFile.js +30 -0
- package/dist/esm/Assets/Controllers/updateAssetFile.js.map +1 -1
- package/dist/esm/Assets/Entities/AppAssetsEntity.js +123 -0
- package/dist/esm/Assets/Entities/AppAssetsEntity.js.map +1 -1
- package/dist/esm/Assets/Entities/AssetEntity.js +166 -0
- package/dist/esm/Assets/Entities/AssetEntity.js.map +1 -1
- package/dist/esm/Assets/Entities/AssetRepo.js +154 -1
- package/dist/esm/Assets/Entities/AssetRepo.js.map +1 -1
- package/dist/esm/Assets/Entities/index.js +3 -3
- package/dist/esm/Assets/Entities/index.js.map +1 -1
- package/dist/esm/Assets/Factories/AssetsFactory.js +78 -0
- package/dist/esm/Assets/Factories/AssetsFactory.js.map +1 -0
- package/dist/esm/Assets/Factories/index.js +1 -0
- package/dist/esm/Assets/Factories/index.js.map +1 -1
- package/dist/esm/Assets/Factories/setupAssets.js +11 -0
- package/dist/esm/Assets/Factories/setupAssets.js.map +1 -0
- package/dist/esm/Assets/Factories/setupAssetsForSandbox.js.map +1 -1
- package/dist/esm/Assets/Mocks/AppAssetListPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/AssetFilePMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/AssetPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/EditingAppAssetPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockArchiveAsset.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockDeleteAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockDownloadAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockEditAppAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAppAssetsUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAssetBlobURLUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockNewAppAsset.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockNewAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockPrefetchAssets.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockUpdateAppAssetMetaUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockUpdateAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/ShowArchivedAppAssetPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/index.js.map +1 -1
- package/dist/esm/Assets/PMs/AppAssetListPM.js.map +1 -1
- package/dist/esm/Assets/PMs/AssetFilePM.js.map +1 -1
- package/dist/esm/Assets/PMs/AssetPM.js +56 -0
- package/dist/esm/Assets/PMs/AssetPM.js.map +1 -1
- package/dist/esm/Assets/PMs/EditingAppAssetPM.js.map +1 -1
- package/dist/esm/Assets/PMs/ShowArchivedAppAssetPM.js.map +1 -1
- package/dist/esm/Assets/PMs/index.js.map +1 -1
- package/dist/esm/Assets/UCs/ArchiveAssetUC.js +83 -1
- package/dist/esm/Assets/UCs/ArchiveAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/DeleteAssetUC.js +90 -1
- package/dist/esm/Assets/UCs/DeleteAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/DownloadAssetFileUC.js +85 -1
- package/dist/esm/Assets/UCs/DownloadAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/UCs/EditAppAssetUC.js +69 -0
- package/dist/esm/Assets/UCs/EditAppAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/GetAppAssetsUC.js.map +1 -1
- package/dist/esm/Assets/UCs/GetAssetBlobURLUC.js +97 -10
- package/dist/esm/Assets/UCs/GetAssetBlobURLUC.js.map +1 -1
- package/dist/esm/Assets/UCs/GetAssetFileUC.js +110 -4
- package/dist/esm/Assets/UCs/GetAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/UCs/GetAssetUC.js +75 -0
- package/dist/esm/Assets/UCs/GetAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/NewAppAssetUC.js +27 -0
- package/dist/esm/Assets/UCs/NewAppAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/NewAssetUC.js +78 -0
- package/dist/esm/Assets/UCs/NewAssetUC.js.map +1 -1
- package/dist/esm/Assets/UCs/PrefetchAssetsUC.js.map +1 -1
- package/dist/esm/Assets/UCs/UpdateAppAssetMetaUC.js +80 -1
- package/dist/esm/Assets/UCs/UpdateAppAssetMetaUC.js.map +1 -1
- package/dist/esm/Assets/UCs/UpdateAssetFileUC.js +77 -1
- package/dist/esm/Assets/UCs/UpdateAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/UCs/index.js +21 -0
- package/dist/esm/Assets/UCs/index.js.map +1 -1
- package/dist/esm/Assets/index.js.map +1 -1
- package/dist/esm/Cache/Controllers/clearCache.js.map +1 -1
- package/dist/esm/Cache/Controllers/index.js.map +1 -1
- package/dist/esm/Cache/Entities/AssetCacheEntity.js.map +1 -1
- package/dist/esm/Cache/Entities/CacheEntity.js.map +1 -1
- package/dist/esm/Cache/Entities/ScriptCacheEntity.js.map +1 -1
- package/dist/esm/Cache/Entities/index.js.map +1 -1
- package/dist/esm/Cache/Factories/index.js.map +1 -1
- package/dist/esm/Cache/Factories/setupCache.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockCacheEntity.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockGetAssetFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockGetScriptFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockStoreAssetInCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockStoreScriptInCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/index.js.map +1 -1
- package/dist/esm/Cache/UCs/GetAssetFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/GetScriptFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/StoreAssetInCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/StoreScriptInCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/index.js.map +1 -1
- package/dist/esm/Cache/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/challengeResultsListAdapter.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/challengeScoreListAdapter.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Entities/ChallengeResults.js.map +1 -1
- package/dist/esm/ChallengeResults/Entities/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Factories/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Factories/setupChallengeResults.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/ChallengeResultsListPMMock.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/MockChallengeScoreListPM.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/MockHasChallengeResultsPM.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/index.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/ChallengeResultsListPM.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/ChallengeScoreListPM.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/index.js.map +1 -1
- package/dist/esm/ChallengeResults/index.js.map +1 -1
- package/dist/esm/Dialog/Adapters/alertDialogAdapter.js.map +1 -1
- package/dist/esm/Dialog/Adapters/confirmDialogAdapter.js.map +1 -1
- package/dist/esm/Dialog/Adapters/dialogQueueAdapter.js.map +1 -1
- package/dist/esm/Dialog/Adapters/index.js.map +1 -1
- package/dist/esm/Dialog/Adapters/markDownEditorDialogAdapters.js.map +1 -1
- package/dist/esm/Dialog/Adapters/spinnerDialogAdapter.js.map +1 -1
- package/dist/esm/Dialog/Controllers/activeDialogHasClosed.js.map +1 -1
- package/dist/esm/Dialog/Controllers/index.js.map +1 -1
- package/dist/esm/Dialog/Entities/Alert.js.map +1 -1
- package/dist/esm/Dialog/Entities/Confirm.js.map +1 -1
- package/dist/esm/Dialog/Entities/DialogQueue.js.map +1 -1
- package/dist/esm/Dialog/Entities/MarkDownEditor.js.map +1 -1
- package/dist/esm/Dialog/Entities/SelectModel.js.map +1 -1
- package/dist/esm/Dialog/Entities/Spinner.js.map +1 -1
- package/dist/esm/Dialog/Entities/index.js +6 -6
- package/dist/esm/Dialog/Entities/index.js.map +1 -1
- package/dist/esm/Dialog/Factories/alertDialogFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/confirmDialogFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/index.js.map +1 -1
- package/dist/esm/Dialog/Factories/markdownDialogEditorFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/selectDialogModelFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/setupDialogForSandbox.js.map +1 -1
- package/dist/esm/Dialog/Factories/spinnerDialogFactory.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockAlertDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockConfirmDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockDialogQueuePM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeAlertDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeConfirmDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeMarkdownDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeSelectModelDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeSpinnerDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMarkDownEditorDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockSpinnerDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/index.js.map +1 -1
- package/dist/esm/Dialog/PMs/AlertDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/ConfirmDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/DialogQueuePM.js.map +1 -1
- package/dist/esm/Dialog/PMs/MarkDownEditorDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/SpinnerDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/index.js +5 -5
- package/dist/esm/Dialog/PMs/index.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeAlertDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeConfirmDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeMarkdownDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeSelectModelDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeSpinnerDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/index.js.map +1 -1
- package/dist/esm/Dialog/index.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/HostDispatchEntity.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/index.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/DispatchEnableFeatureUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchAppDispatcherUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchIsAuthoringUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchSetStateUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStartAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStartZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStopAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStopZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchThemeUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockHostDispatcher.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/index.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchDisposeAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchEnableFeatureUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchIsAuthoringUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchSetStateUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStartAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStartZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStopAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStopZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/index.js.map +1 -1
- package/dist/esm/Dispatcher/index.js.map +1 -1
- package/dist/esm/Dispatcher/setupStandardHostDispatchers.js.map +1 -1
- package/dist/esm/Events/Types/EventTypes.js.map +1 -1
- package/dist/esm/Events/Types/PayloadTypes.js.map +1 -1
- package/dist/esm/Events/Types/index.js.map +1 -1
- package/dist/esm/Events/index.js.map +1 -1
- package/dist/esm/Handler/Entities/HostHandler.js.map +1 -1
- package/dist/esm/Handler/Entities/index.js.map +1 -1
- package/dist/esm/Handler/UCs/CallbackAssetDTO.js.map +1 -1
- package/dist/esm/Handler/UCs/CloseAssetSystemPlugin.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetBlobURLHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetFolderURLHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetMetaHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetsForOwnerHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetLinkedAssetsHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GoToNextStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GoToPreviousStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/HasNextStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/HasPreviousStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/IsAssetFetchedHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/IsZSpaceAvailableHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/NewActivityAssetHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/OnAppIsReadyHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/OnStateChangeHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/OnStateCompleteHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/RegisterExternalStyleSheetsHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/RestoreCurrentStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowAlertHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowConfirmHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowMarkDownEditorHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowSelectModelHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowSpinnerHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/StartZSpaceHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/StopZSpaceHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/SubmitActivityAssetHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/SubmitLogHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/SubmitResultHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/index.js.map +1 -1
- package/dist/esm/Handler/index.js.map +1 -1
- package/dist/esm/Handler/setupStandardHostHandlers.js.map +1 -1
- package/dist/esm/Logger/Adapters/fatalErrorAdapter.js.map +1 -1
- package/dist/esm/Logger/Adapters/forwardLogsToConsoleAdapter.js.map +1 -1
- package/dist/esm/Logger/Adapters/index.js.map +1 -1
- package/dist/esm/Logger/Adapters/logSummaryAdapter.js.map +1 -1
- package/dist/esm/Logger/Controllers/clickDownloadLog.js.map +1 -1
- package/dist/esm/Logger/Controllers/index.js.map +1 -1
- package/dist/esm/Logger/Controllers/toggleForwardLogs.js.map +1 -1
- package/dist/esm/Logger/Entities/LoggerEntity.js.map +1 -1
- package/dist/esm/Logger/Entities/index.js.map +1 -1
- package/dist/esm/Logger/Factories/index.js.map +1 -1
- package/dist/esm/Logger/Factories/setupLoggerForSandbox.js.map +1 -1
- package/dist/esm/Logger/Mocks/ForwardLogsToConsolePMMock.js.map +1 -1
- package/dist/esm/Logger/Mocks/LogSummaryPMMock.js.map +1 -1
- package/dist/esm/Logger/Mocks/MockDownloadLogUC.js.map +1 -1
- package/dist/esm/Logger/Mocks/MockFatalErrorPM.js.map +1 -1
- package/dist/esm/Logger/Mocks/index.js.map +1 -1
- package/dist/esm/Logger/PMs/FatalErrorPM.js.map +1 -1
- package/dist/esm/Logger/PMs/ForwardLogsToConsolePM.js.map +1 -1
- package/dist/esm/Logger/PMs/LogSummaryPM.js.map +1 -1
- package/dist/esm/Logger/PMs/index.js.map +1 -1
- package/dist/esm/Logger/UCs/DownloadLogUC.js.map +1 -1
- package/dist/esm/Logger/UCs/index.js.map +1 -1
- package/dist/esm/Logger/index.js.map +1 -1
- package/dist/esm/Snackbar/Adapters/index.js.map +1 -1
- package/dist/esm/Snackbar/Adapters/snackbarAdapter.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/callActiveSnackbarAction.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/dismissActiveSnackbar.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/index.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/makeSnackbar.js.map +1 -1
- package/dist/esm/Snackbar/Entities/SnackbarRepo.js.map +1 -1
- package/dist/esm/Snackbar/Entities/index.js.map +1 -1
- package/dist/esm/Snackbar/Factories/index.js.map +1 -1
- package/dist/esm/Snackbar/Factories/setupSnackbar.js.map +1 -1
- package/dist/esm/Snackbar/Mocks/SnackbarPMMock.js.map +1 -1
- package/dist/esm/Snackbar/Mocks/index.js.map +1 -1
- package/dist/esm/Snackbar/PMs/SnackbarPM.js.map +1 -1
- package/dist/esm/Snackbar/PMs/index.js.map +1 -1
- package/dist/esm/Snackbar/index.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/editingStateAdapter.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/hostStateMachinePMAdapter.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/index.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/cancelEditing.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/consumeState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/deleteState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/duplicateState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editActiveState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editStateName.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/endActivity.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/index.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/newState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/saveAuthoring.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/savePersistentStates.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/transitionToState.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostEditingStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/esm/StateMachine/Entities/index.js.map +1 -1
- package/dist/esm/StateMachine/Factories/index.js.map +1 -1
- package/dist/esm/StateMachine/Factories/setupStateMachineForSandbox.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/CancelEditingUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/ConsumeStateUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/EditStateUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/EndActivityUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockDeleteStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockDuplicateStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockEditActiveStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostEditingStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostStateMachinePM.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostStatePM.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockIsEditingStatePM.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockSaveAuthoringUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockTransitionToStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/NewStateUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/SavePersistentStatesMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/index.js.map +1 -1
- package/dist/esm/StateMachine/PMs/EditingStatePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStatePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/CancelEditing/CancelEditingUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/CancelEditing/CancelSandboxEditingUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/CancelEditing/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/ConsumeState/ConsumeSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/ConsumeState/ConsumeStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/ConsumeState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/DeleteStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/DuplicateStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditActiveState/EditActiveSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditActiveState/EditActiveStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditActiveState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditState/EditSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditState/EditStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditStateNameUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EndActivity/EndActivityUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EndActivity/EndSandboxActivityUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EndActivity/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/NewState/NewSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/NewState/NewStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/NewState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SaveAuthoring/SaveAuthoringSandboxUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SaveAuthoring/SaveAuthoringUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SaveAuthoring/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SavePersistentStates.js.map +1 -1
- package/dist/esm/StateMachine/UCs/TransitionToState/TransitionToSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/TransitionToState/TransitionToStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/TransitionToState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/setSandboxStatesFromData.js.map +1 -1
- package/dist/esm/StateMachine/UCs/setSandboxStatesFromStringData.js.map +1 -1
- package/dist/esm/StateMachine/index.js.map +1 -1
- package/dist/esm/ThemeColors/Adapter/index.js.map +1 -1
- package/dist/esm/ThemeColors/Adapter/themeColorAdapter.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getOnPrimaryColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getOnSurfaceColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getPrimaryColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getSurfaceColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getSurfaceContainerColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/index.js.map +1 -1
- package/dist/esm/ThemeColors/Data/index.js.map +1 -1
- package/dist/esm/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
- package/dist/esm/ThemeColors/Entities/index.js.map +1 -1
- package/dist/esm/ThemeColors/Factories/index.js.map +1 -1
- package/dist/esm/ThemeColors/Factories/setupTheme.js.map +1 -1
- package/dist/esm/ThemeColors/Mocks/MockThemeColorPM.js.map +1 -1
- package/dist/esm/ThemeColors/Mocks/index.js.map +1 -1
- package/dist/esm/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
- package/dist/esm/ThemeColors/PM/index.js.map +1 -1
- package/dist/esm/ThemeColors/UCs/SetThemeUC.js.map +1 -1
- package/dist/esm/ThemeColors/UCs/index.js.map +1 -1
- package/dist/esm/ThemeColors/index.js.map +1 -1
- package/dist/esm/VivedAPI/Adapters/apiStageAdapter.js +35 -0
- package/dist/esm/VivedAPI/Adapters/apiStageAdapter.js.map +1 -1
- package/dist/esm/VivedAPI/Adapters/index.js +19 -0
- package/dist/esm/VivedAPI/Adapters/index.js.map +1 -1
- package/dist/esm/VivedAPI/Adapters/userTokenAdapter.js +35 -0
- package/dist/esm/VivedAPI/Adapters/userTokenAdapter.js.map +1 -1
- package/dist/esm/VivedAPI/Controllers/index.js +18 -0
- package/dist/esm/VivedAPI/Controllers/index.js.map +1 -1
- package/dist/esm/VivedAPI/Controllers/loginUser.js +27 -0
- package/dist/esm/VivedAPI/Controllers/loginUser.js.map +1 -1
- package/dist/esm/VivedAPI/Controllers/logoutUser.js +25 -0
- package/dist/esm/VivedAPI/Controllers/logoutUser.js.map +1 -1
- package/dist/esm/VivedAPI/Controllers/refreshAuthenticatedUser.js.map +1 -1
- package/dist/esm/VivedAPI/Controllers/setApiStage.js +25 -0
- package/dist/esm/VivedAPI/Controllers/setApiStage.js.map +1 -1
- package/dist/esm/VivedAPI/Entities/VivedAPIEntity.js +73 -0
- package/dist/esm/VivedAPI/Entities/VivedAPIEntity.js.map +1 -1
- package/dist/esm/VivedAPI/Entities/index.js +16 -0
- package/dist/esm/VivedAPI/Entities/index.js.map +1 -1
- package/dist/esm/VivedAPI/Factories/VivedAPIFactory.js +66 -0
- package/dist/esm/VivedAPI/Factories/VivedAPIFactory.js.map +1 -0
- package/dist/esm/VivedAPI/Factories/index.js +19 -0
- package/dist/esm/VivedAPI/Factories/index.js.map +1 -1
- package/dist/esm/VivedAPI/Factories/setupAPI.js +21 -0
- package/dist/esm/VivedAPI/Factories/setupAPI.js.map +1 -0
- package/dist/esm/VivedAPI/Factories/setupVivedAPIForSandbox.js +25 -0
- package/dist/esm/VivedAPI/Factories/setupVivedAPIForSandbox.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/ApiStagePMMock.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockBasicFetchUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockBlobRequestUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockDeleteAssetOnAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockFetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockFetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockFileUpload.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockGetAppFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockGetAssetsForOwnerUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockJsonRequestUC.js +34 -0
- package/dist/esm/VivedAPI/Mocks/MockJsonRequestUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetFileUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetIsArchivedUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetMetaUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPostNewAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockSignedAuthToken.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockUserLoginUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/UserTokenPMMock.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/index.js +24 -0
- package/dist/esm/VivedAPI/Mocks/index.js.map +1 -1
- package/dist/esm/VivedAPI/PMs/ApiStagePM.js +57 -0
- package/dist/esm/VivedAPI/PMs/ApiStagePM.js.map +1 -1
- package/dist/esm/VivedAPI/PMs/UserTokenPM.js +53 -0
- package/dist/esm/VivedAPI/PMs/UserTokenPM.js.map +1 -1
- package/dist/esm/VivedAPI/PMs/index.js +18 -0
- package/dist/esm/VivedAPI/PMs/index.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/BasicFetchUC.js +30 -0
- package/dist/esm/VivedAPI/UCs/BasicFetchUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/BlobRequestUC.js +30 -0
- package/dist/esm/VivedAPI/UCs/BlobRequestUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/DeleteAssetOnAPIUC.js +39 -0
- package/dist/esm/VivedAPI/UCs/DeleteAssetOnAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/FetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/FetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/FileUploadUC.js +39 -0
- package/dist/esm/VivedAPI/UCs/FileUploadUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAppFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/JsonRequestUC.js +30 -0
- package/dist/esm/VivedAPI/UCs/JsonRequestUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetFileUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetIsArchivedUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetMetaUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PostNewAssetUC.js +39 -0
- package/dist/esm/VivedAPI/UCs/PostNewAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/SignedAuthTokenUC.js +30 -0
- package/dist/esm/VivedAPI/UCs/SignedAuthTokenUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/UserAuthUC.js +31 -0
- package/dist/esm/VivedAPI/UCs/UserAuthUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/index.js +39 -16
- package/dist/esm/VivedAPI/UCs/index.js.map +1 -1
- package/dist/esm/VivedAPI/index.js +25 -0
- package/dist/esm/VivedAPI/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Adapters/emulateZSpaceAdapter.js.map +1 -1
- package/dist/esm/ZSpaceHost/Adapters/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Adapters/zSpaceIsActiveAdapter.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/startZSpace.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/stopZSpace.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/toggleEmulateZSpace.js.map +1 -1
- package/dist/esm/ZSpaceHost/Entities/ZSpaceHost.js.map +1 -1
- package/dist/esm/ZSpaceHost/Entities/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Factories/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Factories/setupZSpaceForSandbox.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/EmulateZSpacePMMock.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockStartZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockStopZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockXRSession.js +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockXRSession.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/ZSpaceIsActivePMMock.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/PMs/EmulateZSpacePM.js.map +1 -1
- package/dist/esm/ZSpaceHost/PMs/ZSpaceIsActivePM.js.map +1 -1
- package/dist/esm/ZSpaceHost/PMs/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StartZSpace/StartSandboxZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StartZSpace/StartZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StartZSpace/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StopZSpace/StopSandboxZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StopZSpace/StopZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StopZSpace/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/checkForZSpaceSupport.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/index.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/AppSandbox/Entities/AppSandboxEntity.d.ts.map +1 -1
- package/dist/types/Apps/Controllers/index.d.ts.map +1 -1
- package/dist/types/Apps/Entities/AppRepo.d.ts +2 -1
- package/dist/types/Apps/Entities/AppRepo.d.ts.map +1 -1
- package/dist/types/AssetPlugin/Factories/index.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/archiveAsset.d.ts +30 -0
- package/dist/types/Assets/Controllers/archiveAsset.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/deleteAsset.d.ts +30 -0
- package/dist/types/Assets/Controllers/deleteAsset.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/downloadAssetFile.d.ts +29 -0
- package/dist/types/Assets/Controllers/downloadAssetFile.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/editAppAsset.d.ts +29 -0
- package/dist/types/Assets/Controllers/editAppAsset.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/getAppAssets.d.ts +29 -0
- package/dist/types/Assets/Controllers/getAppAssets.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/index.d.ts +19 -0
- package/dist/types/Assets/Controllers/index.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/newAppAsset.d.ts +30 -0
- package/dist/types/Assets/Controllers/newAppAsset.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/toggleShowArchivedAssets.d.ts +28 -0
- package/dist/types/Assets/Controllers/toggleShowArchivedAssets.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/updateAppAssetMeta.d.ts +30 -0
- package/dist/types/Assets/Controllers/updateAppAssetMeta.d.ts.map +1 -1
- package/dist/types/Assets/Controllers/updateAssetFile.d.ts +30 -0
- package/dist/types/Assets/Controllers/updateAssetFile.d.ts.map +1 -1
- package/dist/types/Assets/Entities/AppAssetsEntity.d.ts +83 -0
- package/dist/types/Assets/Entities/AppAssetsEntity.d.ts.map +1 -1
- package/dist/types/Assets/Entities/AssetEntity.d.ts +136 -0
- package/dist/types/Assets/Entities/AssetEntity.d.ts.map +1 -1
- package/dist/types/Assets/Entities/AssetRepo.d.ts +120 -0
- package/dist/types/Assets/Entities/AssetRepo.d.ts.map +1 -1
- package/dist/types/Assets/Entities/index.d.ts +3 -3
- package/dist/types/Assets/Factories/AssetsFactory.d.ts +34 -0
- package/dist/types/Assets/Factories/AssetsFactory.d.ts.map +1 -0
- package/dist/types/Assets/Factories/index.d.ts +1 -0
- package/dist/types/Assets/Factories/index.d.ts.map +1 -1
- package/dist/types/Assets/Factories/setupAssets.d.ts +8 -0
- package/dist/types/Assets/Factories/setupAssets.d.ts.map +1 -0
- package/dist/types/Assets/PMs/AssetPM.d.ts +48 -0
- package/dist/types/Assets/PMs/AssetPM.d.ts.map +1 -1
- package/dist/types/Assets/UCs/ArchiveAssetUC.d.ts +47 -0
- package/dist/types/Assets/UCs/ArchiveAssetUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/DeleteAssetUC.d.ts +48 -0
- package/dist/types/Assets/UCs/DeleteAssetUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/DownloadAssetFileUC.d.ts +48 -0
- package/dist/types/Assets/UCs/DownloadAssetFileUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/EditAppAssetUC.d.ts +43 -0
- package/dist/types/Assets/UCs/EditAppAssetUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/GetAssetBlobURLUC.d.ts +45 -0
- package/dist/types/Assets/UCs/GetAssetBlobURLUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/GetAssetFileUC.d.ts +45 -0
- package/dist/types/Assets/UCs/GetAssetFileUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/GetAssetUC.d.ts +45 -0
- package/dist/types/Assets/UCs/GetAssetUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/NewAppAssetUC.d.ts +36 -0
- package/dist/types/Assets/UCs/NewAppAssetUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/NewAssetUC.d.ts +52 -0
- package/dist/types/Assets/UCs/NewAssetUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/UpdateAppAssetMetaUC.d.ts +53 -0
- package/dist/types/Assets/UCs/UpdateAppAssetMetaUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/UpdateAssetFileUC.d.ts +53 -0
- package/dist/types/Assets/UCs/UpdateAssetFileUC.d.ts.map +1 -1
- package/dist/types/Assets/UCs/index.d.ts +21 -0
- package/dist/types/Assets/UCs/index.d.ts.map +1 -1
- package/dist/types/Cache/Factories/index.d.ts.map +1 -1
- package/dist/types/Cache/index.d.ts.map +1 -1
- package/dist/types/ChallengeResults/Entities/ChallengeResults.d.ts.map +1 -1
- package/dist/types/ChallengeResults/Factories/index.d.ts.map +1 -1
- package/dist/types/ChallengeResults/Factories/setupChallengeResults.d.ts.map +1 -1
- package/dist/types/Dialog/Controllers/index.d.ts.map +1 -1
- package/dist/types/Dialog/Entities/index.d.ts +6 -6
- package/dist/types/Dialog/PMs/index.d.ts +5 -5
- package/dist/types/Dispatcher/Entities/index.d.ts.map +1 -1
- package/dist/types/Handler/UCs/CloseAssetSystemPlugin.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GetAssetBlobURLHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GetAssetFolderURLHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GetAssetMetaHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GetAssetsForOwnerHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GetLinkedAssetsHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GoToNextStateHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/GoToPreviousStateHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/HasNextStateHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/HasPreviousStateHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/IsAssetFetchedHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/IsZSpaceAvailableHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/NewActivityAssetHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/OnAppIsReadyHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/OnStateChangeHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/OnStateCompleteHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/RegisterExternalStyleSheetsHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/RestoreCurrentStateHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/ShowAlertHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/ShowConfirmHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/ShowMarkDownEditorHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/ShowSelectModelHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/ShowSpinnerHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/StartZSpaceHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/StopZSpaceHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/SubmitActivityAssetHandler.d.ts.map +1 -1
- package/dist/types/Handler/UCs/SubmitLogHandler.d.ts.map +1 -1
- package/dist/types/Logger/Adapters/index.d.ts.map +1 -1
- package/dist/types/Logger/Factories/index.d.ts.map +1 -1
- package/dist/types/Logger/PMs/index.d.ts.map +1 -1
- package/dist/types/Snackbar/Adapters/snackbarAdapter.d.ts.map +1 -1
- package/dist/types/Snackbar/Factories/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Adapters/hostStateMachinePMAdapter.d.ts.map +1 -1
- package/dist/types/StateMachine/Factories/index.d.ts.map +1 -1
- package/dist/types/ThemeColors/Factories/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/Adapters/apiStageAdapter.d.ts +24 -0
- package/dist/types/VivedAPI/Adapters/apiStageAdapter.d.ts.map +1 -1
- package/dist/types/VivedAPI/Adapters/index.d.ts +19 -0
- package/dist/types/VivedAPI/Adapters/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/Adapters/userTokenAdapter.d.ts +24 -0
- package/dist/types/VivedAPI/Adapters/userTokenAdapter.d.ts.map +1 -1
- package/dist/types/VivedAPI/Controllers/index.d.ts +18 -0
- package/dist/types/VivedAPI/Controllers/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/Controllers/loginUser.d.ts +27 -0
- package/dist/types/VivedAPI/Controllers/loginUser.d.ts.map +1 -1
- package/dist/types/VivedAPI/Controllers/logoutUser.d.ts +25 -0
- package/dist/types/VivedAPI/Controllers/logoutUser.d.ts.map +1 -1
- package/dist/types/VivedAPI/Controllers/setApiStage.d.ts +25 -0
- package/dist/types/VivedAPI/Controllers/setApiStage.d.ts.map +1 -1
- package/dist/types/VivedAPI/Entities/VivedAPIEntity.d.ts +73 -0
- package/dist/types/VivedAPI/Entities/VivedAPIEntity.d.ts.map +1 -1
- package/dist/types/VivedAPI/Entities/index.d.ts +16 -0
- package/dist/types/VivedAPI/Entities/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/Factories/VivedAPIFactory.d.ts +42 -0
- package/dist/types/VivedAPI/Factories/VivedAPIFactory.d.ts.map +1 -0
- package/dist/types/VivedAPI/Factories/index.d.ts +19 -0
- package/dist/types/VivedAPI/Factories/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/Factories/setupAPI.d.ts +8 -0
- package/dist/types/VivedAPI/Factories/setupAPI.d.ts.map +1 -0
- package/dist/types/VivedAPI/Factories/setupVivedAPIForSandbox.d.ts +25 -0
- package/dist/types/VivedAPI/Factories/setupVivedAPIForSandbox.d.ts.map +1 -1
- package/dist/types/VivedAPI/Mocks/MockJsonRequestUC.d.ts +34 -0
- package/dist/types/VivedAPI/Mocks/MockJsonRequestUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/Mocks/index.d.ts +24 -0
- package/dist/types/VivedAPI/Mocks/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/PMs/ApiStagePM.d.ts +35 -0
- package/dist/types/VivedAPI/PMs/ApiStagePM.d.ts.map +1 -1
- package/dist/types/VivedAPI/PMs/UserTokenPM.d.ts +35 -0
- package/dist/types/VivedAPI/PMs/UserTokenPM.d.ts.map +1 -1
- package/dist/types/VivedAPI/PMs/index.d.ts +18 -0
- package/dist/types/VivedAPI/PMs/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/BasicFetchUC.d.ts +43 -0
- package/dist/types/VivedAPI/UCs/BasicFetchUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/BlobRequestUC.d.ts +43 -0
- package/dist/types/VivedAPI/UCs/BlobRequestUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/DeleteAssetOnAPIUC.d.ts +40 -0
- package/dist/types/VivedAPI/UCs/DeleteAssetOnAPIUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/FileUploadUC.d.ts +40 -0
- package/dist/types/VivedAPI/UCs/FileUploadUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/JsonRequestUC.d.ts +43 -0
- package/dist/types/VivedAPI/UCs/JsonRequestUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/PostNewAssetUC.d.ts +52 -0
- package/dist/types/VivedAPI/UCs/PostNewAssetUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/SignedAuthTokenUC.d.ts +34 -0
- package/dist/types/VivedAPI/UCs/SignedAuthTokenUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/UserAuthUC.d.ts +45 -0
- package/dist/types/VivedAPI/UCs/UserAuthUC.d.ts.map +1 -1
- package/dist/types/VivedAPI/UCs/index.d.ts +39 -16
- package/dist/types/VivedAPI/UCs/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/index.d.ts +25 -0
- package/dist/types/VivedAPI/index.d.ts.map +1 -1
- package/dist/types/ZSpaceHost/Entities/index.d.ts.map +1 -1
- package/dist/types/ZSpaceHost/Factories/index.d.ts.map +1 -1
- package/dist/types/ZSpaceHost/Mocks/index.d.ts.map +1 -1
- package/package.json +4 -3
- package/dist/cjs/Handler/UCs/SubmitExpectedResultHandler.js +0 -66
- package/dist/cjs/Handler/UCs/SubmitExpectedResultHandler.js.map +0 -1
- package/dist/esm/Handler/UCs/SubmitExpectedResultHandler.js +0 -61
- package/dist/esm/Handler/UCs/SubmitExpectedResultHandler.js.map +0 -1
- package/dist/types/Handler/UCs/SubmitExpectedResultHandler.d.ts +0 -11
- package/dist/types/Handler/UCs/SubmitExpectedResultHandler.d.ts.map +0 -1
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GetAssetBlobURLUC.ts
|
|
4
|
+
*
|
|
5
|
+
* This use case provides optimized asset file retrieval with caching support,
|
|
6
|
+
* returning blob URLs for immediate use in web applications.
|
|
7
|
+
*
|
|
8
|
+
* Key Concepts:
|
|
9
|
+
* - Provides blob URLs for asset files with multi-level caching optimization
|
|
10
|
+
* - Checks memory cache (existing entities) first for immediate access
|
|
11
|
+
* - Falls back to persistent cache (IndexedDB/localStorage) for faster retrieval
|
|
12
|
+
* - Finally fetches from remote API when cache misses occur
|
|
13
|
+
* - Manages fetch state indicators for UI feedback
|
|
14
|
+
* - Automatically stores fetched files in cache for future access
|
|
15
|
+
*
|
|
16
|
+
* Usage Patterns:
|
|
17
|
+
* - Singleton use case accessed through static get() method
|
|
18
|
+
* - Called with asset ID to retrieve blob URL for display or download
|
|
19
|
+
* - Handles async operations with comprehensive error handling
|
|
20
|
+
* - Optimizes performance through multi-level caching strategy
|
|
21
|
+
*/
|
|
2
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
23
|
exports.GetAssetBlobURLUC = void 0;
|
|
4
24
|
exports.makeGetAssetBlobURLUC = makeGetAssetBlobURLUC;
|
|
@@ -7,34 +27,88 @@ const VivedAPI_1 = require("../../VivedAPI");
|
|
|
7
27
|
const Cache_1 = require("../../Cache");
|
|
8
28
|
const AssetRepo_1 = require("../Entities/AssetRepo");
|
|
9
29
|
const GetAssetUC_1 = require("./GetAssetUC");
|
|
30
|
+
/**
|
|
31
|
+
* GetAssetBlobURLUC handles optimized retrieval of asset files as blob URLs.
|
|
32
|
+
*
|
|
33
|
+
* This singleton use case implements a multi-level caching strategy to minimize
|
|
34
|
+
* network requests and provide fast access to asset files for web applications.
|
|
35
|
+
*/
|
|
10
36
|
class GetAssetBlobURLUC extends core_1.AppObjectUC {
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves the singleton GetAssetBlobURLUC instance.
|
|
39
|
+
*
|
|
40
|
+
* @param appObjects - Repository for accessing the singleton component
|
|
41
|
+
* @returns GetAssetBlobURLUC instance or undefined if not found
|
|
42
|
+
*/
|
|
11
43
|
static get(appObjects) {
|
|
12
44
|
return (0, core_1.getSingletonComponent)(GetAssetBlobURLUC.type, appObjects);
|
|
13
45
|
}
|
|
14
46
|
}
|
|
15
47
|
exports.GetAssetBlobURLUC = GetAssetBlobURLUC;
|
|
48
|
+
/** Static type identifier for component registration */
|
|
16
49
|
GetAssetBlobURLUC.type = "GetAssetBlobURLUC";
|
|
50
|
+
/**
|
|
51
|
+
* Factory function to create a new GetAssetBlobURLUC instance.
|
|
52
|
+
*
|
|
53
|
+
* @param appObject - The AppObject that will host this singleton use case
|
|
54
|
+
* @returns A new GetAssetBlobURLUC implementation instance
|
|
55
|
+
*/
|
|
17
56
|
function makeGetAssetBlobURLUC(appObject) {
|
|
18
57
|
return new GetAssetBlobURLUCImp(appObject);
|
|
19
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Private implementation of GetAssetBlobURLUC with multi-level caching strategy.
|
|
61
|
+
*
|
|
62
|
+
* Key Implementation Details:
|
|
63
|
+
* - Implements three-tier caching: memory (entities), persistent cache, and remote API
|
|
64
|
+
* - Manages fetch state indicators for user feedback during operations
|
|
65
|
+
* - Automatically caches fetched files for future access optimization
|
|
66
|
+
* - Handles cache failures gracefully with fallback to direct API access
|
|
67
|
+
* - Converts between Blob and File objects for compatibility
|
|
68
|
+
* - Provides detailed error handling and logging for debugging
|
|
69
|
+
*/
|
|
20
70
|
class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
71
|
+
/** Gets the asset repository for entity management and lookup */
|
|
21
72
|
get assetRepo() {
|
|
22
73
|
return this.getCachedSingleton(AssetRepo_1.AssetRepo.type);
|
|
23
74
|
}
|
|
75
|
+
/** Gets the API use case for fetching asset files from remote sources */
|
|
24
76
|
get fetchAssetFile() {
|
|
25
77
|
return this.getCachedSingleton(VivedAPI_1.FetchAssetFileFromAPIUC.type)?.doFetch;
|
|
26
78
|
}
|
|
79
|
+
/** Gets the use case for retrieving asset metadata */
|
|
27
80
|
get getAsset() {
|
|
28
81
|
return this.getCachedSingleton(GetAssetUC_1.GetAssetUC.type)?.getAsset;
|
|
29
82
|
}
|
|
83
|
+
/** Gets the use case for retrieving assets from persistent cache */
|
|
30
84
|
get getAssetFromCache() {
|
|
31
85
|
return this.getCachedSingleton(Cache_1.GetAssetFromCacheUC.type)?.getAsset;
|
|
32
86
|
}
|
|
87
|
+
/** Gets the use case for storing assets in persistent cache */
|
|
33
88
|
get storeAssetInCache() {
|
|
34
89
|
return this.getCachedSingleton(Cache_1.StoreAssetInCacheUC.type)?.storeAsset;
|
|
35
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Initializes the GetAssetBlobURLUC and registers it as a singleton.
|
|
93
|
+
*
|
|
94
|
+
* @param appObject - The AppObject that will host this singleton use case
|
|
95
|
+
*/
|
|
36
96
|
constructor(appObject) {
|
|
37
97
|
super(appObject, GetAssetBlobURLUC.type);
|
|
98
|
+
/**
|
|
99
|
+
* Retrieves an asset blob URL using optimized multi-level caching.
|
|
100
|
+
*
|
|
101
|
+
* This method implements a three-tier caching strategy:
|
|
102
|
+
* 1. Memory cache: Check if asset entity already has a blob URL
|
|
103
|
+
* 2. Persistent cache: Check IndexedDB/localStorage for cached file
|
|
104
|
+
* 3. Remote API: Fetch from backend as last resort
|
|
105
|
+
*
|
|
106
|
+
* Each level provides progressively better performance, with automatic
|
|
107
|
+
* population of higher-level caches for future access optimization.
|
|
108
|
+
*
|
|
109
|
+
* @param assetID - The unique identifier of the asset
|
|
110
|
+
* @returns Promise resolving to a blob URL for the asset file
|
|
111
|
+
*/
|
|
38
112
|
this.getAssetBlobURL = (assetID) => {
|
|
39
113
|
const assetRepo = this.assetRepo;
|
|
40
114
|
const getAsset = this.getAsset;
|
|
@@ -44,22 +118,21 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
44
118
|
if (!assetRepo || !getAsset || !fetchAssetFile) {
|
|
45
119
|
return Promise.reject();
|
|
46
120
|
}
|
|
47
|
-
//
|
|
121
|
+
// Level 1: Check memory cache (existing entities with blob URLs)
|
|
48
122
|
const existing = assetRepo.get(assetID);
|
|
49
123
|
if (existing && existing.blobURL) {
|
|
50
124
|
return Promise.resolve(existing.blobURL);
|
|
51
125
|
}
|
|
52
126
|
return new Promise((resolve, reject) => {
|
|
53
127
|
let fetchedAsset;
|
|
54
|
-
//
|
|
128
|
+
// Level 2: Check persistent cache
|
|
55
129
|
if (getAssetFromCache) {
|
|
56
130
|
getAssetFromCache(assetID)
|
|
57
131
|
.then((cachedBlob) => {
|
|
58
132
|
if (cachedBlob) {
|
|
59
|
-
// Asset found in cache, get metadata
|
|
133
|
+
// Asset found in cache, get metadata and create file
|
|
60
134
|
return getAsset(assetID).then((asset) => {
|
|
61
135
|
fetchedAsset = asset;
|
|
62
|
-
// Convert Blob to File
|
|
63
136
|
const filename = asset.filename || "cached-asset";
|
|
64
137
|
return new File([cachedBlob], filename, {
|
|
65
138
|
type: cachedBlob.type
|
|
@@ -67,7 +140,7 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
67
140
|
});
|
|
68
141
|
}
|
|
69
142
|
else {
|
|
70
|
-
//
|
|
143
|
+
// Level 3: Fetch from remote API
|
|
71
144
|
return getAsset(assetID).then((asset) => {
|
|
72
145
|
asset.isFetchingFile = true;
|
|
73
146
|
asset.fetchError = undefined;
|
|
@@ -78,9 +151,10 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
78
151
|
})
|
|
79
152
|
.then((file) => {
|
|
80
153
|
if (fetchedAsset) {
|
|
154
|
+
// Create blob URL and update entity
|
|
81
155
|
fetchedAsset.setFile(file);
|
|
82
156
|
fetchedAsset.isFetchingFile = false;
|
|
83
|
-
// Store
|
|
157
|
+
// Store in cache for future access (if not from cache already)
|
|
84
158
|
if (storeAssetInCache) {
|
|
85
159
|
storeAssetInCache(assetID, new Blob([file], { type: file.type }), file.type).catch((e) => {
|
|
86
160
|
this.warn(`Failed to cache asset: ${e.message}`);
|
|
@@ -94,18 +168,28 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
94
168
|
reject(new Error("Blob URL is empty"));
|
|
95
169
|
})
|
|
96
170
|
.catch((e) => {
|
|
97
|
-
// Cache error
|
|
171
|
+
// Cache error, fallback to normal flow
|
|
98
172
|
this.warn(`Cache error or fetch error: ${e.message}`);
|
|
99
173
|
this.fetchAssetNormally(assetID, resolve, reject);
|
|
100
174
|
});
|
|
101
175
|
}
|
|
102
176
|
else {
|
|
103
|
-
// No cache available, use
|
|
177
|
+
// No cache available, use direct API access
|
|
104
178
|
this.fetchAssetNormally(assetID, resolve, reject);
|
|
105
179
|
}
|
|
106
180
|
});
|
|
107
181
|
};
|
|
108
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Helper method for direct asset fetching without cache support.
|
|
184
|
+
*
|
|
185
|
+
* This method handles the direct API fetch workflow when caching
|
|
186
|
+
* is not available or has failed. It still attempts to store the
|
|
187
|
+
* result in cache for future optimization.
|
|
188
|
+
*
|
|
189
|
+
* @param assetID - The unique identifier of the asset
|
|
190
|
+
* @param resolve - Success callback with blob URL
|
|
191
|
+
* @param reject - Error callback with error details
|
|
192
|
+
*/
|
|
109
193
|
this.fetchAssetNormally = (assetID, resolve, reject) => {
|
|
110
194
|
const getAsset = this.getAsset;
|
|
111
195
|
const fetchAssetFile = this.fetchAssetFile;
|
|
@@ -117,6 +201,7 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
117
201
|
let fetchedAsset;
|
|
118
202
|
getAsset(assetID)
|
|
119
203
|
.then((asset) => {
|
|
204
|
+
// Set loading state for UI feedback
|
|
120
205
|
asset.isFetchingFile = true;
|
|
121
206
|
asset.fetchError = undefined;
|
|
122
207
|
fetchedAsset = asset;
|
|
@@ -124,9 +209,10 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
124
209
|
})
|
|
125
210
|
.then((file) => {
|
|
126
211
|
if (fetchedAsset) {
|
|
212
|
+
// Create blob URL and update entity
|
|
127
213
|
fetchedAsset.setFile(file);
|
|
128
214
|
fetchedAsset.isFetchingFile = false;
|
|
129
|
-
// Store
|
|
215
|
+
// Store in cache for future optimization (if available)
|
|
130
216
|
if (storeAssetInCache) {
|
|
131
217
|
storeAssetInCache(assetID, new Blob([file], { type: file.type }), file.type).catch((e) => {
|
|
132
218
|
this.warn(`Failed to cache asset: ${e.message}`);
|
|
@@ -140,6 +226,7 @@ class GetAssetBlobURLUCImp extends GetAssetBlobURLUC {
|
|
|
140
226
|
reject(new Error("Blob URL is empty"));
|
|
141
227
|
})
|
|
142
228
|
.catch((e) => {
|
|
229
|
+
// Handle fetch errors with proper state cleanup
|
|
143
230
|
if (fetchedAsset) {
|
|
144
231
|
fetchedAsset.fetchError = e;
|
|
145
232
|
fetchedAsset.isFetchingFile = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAssetBlobURLUC.js","sourceRoot":"","sources":["../../../../src/Assets/UCs/GetAssetBlobURLUC.ts"],"names":[],"mappings":";;;AAyBA,sDAEC;AA3BD,sCAKqB;AACrB,6CAAyD;AACzD,uCAAuE;AAEvE,qDAAkD;AAClD,6CAA0C;AAE1C,MAAsB,iBAAkB,SAAQ,kBAAW;IAKzD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAC1B,iBAAiB,CAAC,IAAI,EACtB,UAAU,CACX,CAAC;IACJ,CAAC;;AAVH,8CAWC;AAVQ,sBAAI,GAAG,mBAAmB,CAAC;AAYpC,SAAgB,qBAAqB,CAAC,SAAoB;IACxD,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,oBAAqB,SAAQ,iBAAiB;IAClD,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAY,qBAAS,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAC5B,kCAAuB,CAAC,IAAI,CAC7B,EAAE,OAAO,CAAC;IACb,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAa,uBAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACxE,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,2BAAmB,CAAC,IAAI,CACzB,EAAE,QAAQ,CAAC;IACd,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,2BAAmB,CAAC,IAAI,CACzB,EAAE,UAAU,CAAC;IAChB,CAAC;IAyID,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAxI3C,oBAAe,GAAG,CAAC,OAAe,EAAmB,EAAE;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAEjD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,YAAqC,CAAC;gBAE1C,2CAA2C;gBAC3C,IAAI,iBAAiB,EAAE,CAAC;oBACtB,iBAAiB,CAAC,OAAO,CAAC;yBACvB,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;wBACnB,IAAI,UAAU,EAAE,CAAC;4BACf,qCAAqC;4BACrC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gCACtC,YAAY,GAAG,KAAK,CAAC;gCACrB,uBAAuB;gCACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC;gCAClD,OAAO,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE;oCACtC,IAAI,EAAE,UAAU,CAAC,IAAI;iCACtB,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,6CAA6C;4BAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gCACtC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gCAC5B,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;gCAC7B,YAAY,GAAG,KAAK,CAAC;gCACrB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;4BAC/B,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC;yBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACb,IAAI,YAAY,EAAE,CAAC;4BACjB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAC3B,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC;4BAEpC,4DAA4D;4BAC5D,IAAI,iBAAiB,EAAE,CAAC;gCACtB,iBAAiB,CACf,OAAO,EACP,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EACrC,IAAI,CAAC,IAAI,CACV,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oCACZ,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gCACnD,CAAC,CAAC,CAAC;4BACL,CAAC;4BAED,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gCACzB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gCAC9B,OAAO;4BACT,CAAC;wBACH,CAAC;wBACD,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;wBAClB,8CAA8C;wBAC9C,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBACtD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACN,sCAAsC;oBACtC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,iEAAiE;QACzD,uBAAkB,GAAG,CAC3B,OAAe,EACf,OAAkC,EAClC,MAA8B,EACxB,EAAE;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,IAAI,YAAqC,CAAC;YAE1C,QAAQ,CAAC,OAAO,CAAC;iBACd,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC7B,YAAY,GAAG,KAAK,CAAC;gBACrB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3B,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC;oBAEpC,0DAA0D;oBAC1D,IAAI,iBAAiB,EAAE,CAAC;wBACtB,iBAAiB,CACf,OAAO,EACP,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EACrC,IAAI,CAAC,IAAI,CACV,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;4BACZ,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBACnD,CAAC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACzB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC9B,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBAClB,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;oBAC5B,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC;gBACtC,CAAC;gBACD,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAKA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC\r\n} from \"@vived/core\";\r\nimport { FetchAssetFileFromAPIUC } from \"../../VivedAPI\";\r\nimport { GetAssetFromCacheUC, StoreAssetInCacheUC } from \"../../Cache\";\r\nimport { AssetEntity } from \"../Entities/AssetEntity\";\r\nimport { AssetRepo } from \"../Entities/AssetRepo\";\r\nimport { GetAssetUC } from \"./GetAssetUC\";\r\n\r\nexport abstract class GetAssetBlobURLUC extends AppObjectUC {\r\n static type = \"GetAssetBlobURLUC\";\r\n\r\n abstract getAssetBlobURL(assetID: string): Promise<string>;\r\n\r\n static get(appObjects: AppObjectRepo): GetAssetBlobURLUC | undefined {\r\n return getSingletonComponent<GetAssetBlobURLUC>(\r\n GetAssetBlobURLUC.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeGetAssetBlobURLUC(appObject: AppObject): GetAssetBlobURLUC {\r\n return new GetAssetBlobURLUCImp(appObject);\r\n}\r\n\r\nclass GetAssetBlobURLUCImp extends GetAssetBlobURLUC {\r\n private get assetRepo() {\r\n return this.getCachedSingleton<AssetRepo>(AssetRepo.type);\r\n }\r\n\r\n private get fetchAssetFile() {\r\n return this.getCachedSingleton<FetchAssetFileFromAPIUC>(\r\n FetchAssetFileFromAPIUC.type\r\n )?.doFetch;\r\n }\r\n\r\n private get getAsset() {\r\n return this.getCachedSingleton<GetAssetUC>(GetAssetUC.type)?.getAsset;\r\n }\r\n\r\n private get getAssetFromCache() {\r\n return this.getCachedSingleton<GetAssetFromCacheUC>(\r\n GetAssetFromCacheUC.type\r\n )?.getAsset;\r\n }\r\n\r\n private get storeAssetInCache() {\r\n return this.getCachedSingleton<StoreAssetInCacheUC>(\r\n StoreAssetInCacheUC.type\r\n )?.storeAsset;\r\n }\r\n\r\n getAssetBlobURL = (assetID: string): Promise<string> => {\r\n const assetRepo = this.assetRepo;\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n const getAssetFromCache = this.getAssetFromCache;\r\n const storeAssetInCache = this.storeAssetInCache;\r\n\r\n if (!assetRepo || !getAsset || !fetchAssetFile) {\r\n return Promise.reject();\r\n }\r\n\r\n // Check if asset already exists in memory with a blob URL\r\n const existing = assetRepo.get(assetID);\r\n if (existing && existing.blobURL) {\r\n return Promise.resolve(existing.blobURL);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n let fetchedAsset: AssetEntity | undefined;\r\n\r\n // First check if the asset exists in cache\r\n if (getAssetFromCache) {\r\n getAssetFromCache(assetID)\r\n .then((cachedBlob) => {\r\n if (cachedBlob) {\r\n // Asset found in cache, get metadata\r\n return getAsset(assetID).then((asset) => {\r\n fetchedAsset = asset;\r\n // Convert Blob to File\r\n const filename = asset.filename || \"cached-asset\";\r\n return new File([cachedBlob], filename, {\r\n type: cachedBlob.type\r\n });\r\n });\r\n } else {\r\n // Not in cache, get asset and fetch from API\r\n return getAsset(assetID).then((asset) => {\r\n asset.isFetchingFile = true;\r\n asset.fetchError = undefined;\r\n fetchedAsset = asset;\r\n return fetchAssetFile(asset);\r\n });\r\n }\r\n })\r\n .then((file) => {\r\n if (fetchedAsset) {\r\n fetchedAsset.setFile(file);\r\n fetchedAsset.isFetchingFile = false;\r\n\r\n // Store the fetched file in cache if not from cache already\r\n if (storeAssetInCache) {\r\n storeAssetInCache(\r\n assetID,\r\n new Blob([file], { type: file.type }),\r\n file.type\r\n ).catch((e) => {\r\n this.warn(`Failed to cache asset: ${e.message}`);\r\n });\r\n }\r\n\r\n if (fetchedAsset.blobURL) {\r\n resolve(fetchedAsset.blobURL);\r\n return;\r\n }\r\n }\r\n reject(new Error(\"Blob URL is empty\"));\r\n })\r\n .catch((e: Error) => {\r\n // Cache error or fetch error, try normal flow\r\n this.warn(`Cache error or fetch error: ${e.message}`);\r\n this.fetchAssetNormally(assetID, resolve, reject);\r\n });\r\n } else {\r\n // No cache available, use normal flow\r\n this.fetchAssetNormally(assetID, resolve, reject);\r\n }\r\n });\r\n };\r\n\r\n // Helper method for the normal asset fetching flow without cache\r\n private fetchAssetNormally = (\r\n assetID: string,\r\n resolve: (blobURL: string) => void,\r\n reject: (error: Error) => void\r\n ): void => {\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n const storeAssetInCache = this.storeAssetInCache;\r\n\r\n if (!getAsset || !fetchAssetFile) {\r\n reject(new Error(\"Required dependencies not found\"));\r\n return;\r\n }\r\n\r\n let fetchedAsset: AssetEntity | undefined;\r\n\r\n getAsset(assetID)\r\n .then((asset) => {\r\n asset.isFetchingFile = true;\r\n asset.fetchError = undefined;\r\n fetchedAsset = asset;\r\n return fetchAssetFile(asset);\r\n })\r\n .then((file) => {\r\n if (fetchedAsset) {\r\n fetchedAsset.setFile(file);\r\n fetchedAsset.isFetchingFile = false;\r\n\r\n // Store the fetched file in cache if caching is available\r\n if (storeAssetInCache) {\r\n storeAssetInCache(\r\n assetID,\r\n new Blob([file], { type: file.type }),\r\n file.type\r\n ).catch((e) => {\r\n this.warn(`Failed to cache asset: ${e.message}`);\r\n });\r\n }\r\n\r\n if (fetchedAsset.blobURL) {\r\n resolve(fetchedAsset.blobURL);\r\n return;\r\n }\r\n }\r\n reject(new Error(\"Blob URL is empty\"));\r\n })\r\n .catch((e: Error) => {\r\n if (fetchedAsset) {\r\n fetchedAsset.fetchError = e;\r\n fetchedAsset.isFetchingFile = false;\r\n }\r\n reject(e);\r\n });\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetBlobURLUC.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"GetAssetBlobURLUC.js","sourceRoot":"","sources":["../../../../src/Assets/UCs/GetAssetBlobURLUC.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * GetAssetBlobURLUC.ts\r\n *\r\n * This use case provides optimized asset file retrieval with caching support,\r\n * returning blob URLs for immediate use in web applications.\r\n *\r\n * Key Concepts:\r\n * - Provides blob URLs for asset files with multi-level caching optimization\r\n * - Checks memory cache (existing entities) first for immediate access\r\n * - Falls back to persistent cache (IndexedDB/localStorage) for faster retrieval\r\n * - Finally fetches from remote API when cache misses occur\r\n * - Manages fetch state indicators for UI feedback\r\n * - Automatically stores fetched files in cache for future access\r\n *\r\n * Usage Patterns:\r\n * - Singleton use case accessed through static get() method\r\n * - Called with asset ID to retrieve blob URL for display or download\r\n * - Handles async operations with comprehensive error handling\r\n * - Optimizes performance through multi-level caching strategy\r\n */\r\n\r\nimport {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC\r\n} from \"@vived/core\";\r\nimport { FetchAssetFileFromAPIUC } from \"../../VivedAPI\";\r\nimport { GetAssetFromCacheUC, StoreAssetInCacheUC } from \"../../Cache\";\r\nimport { AssetEntity } from \"../Entities/AssetEntity\";\r\nimport { AssetRepo } from \"../Entities/AssetRepo\";\r\nimport { GetAssetUC } from \"./GetAssetUC\";\r\n\r\n/**\r\n * GetAssetBlobURLUC handles optimized retrieval of asset files as blob URLs.\r\n *\r\n * This singleton use case implements a multi-level caching strategy to minimize\r\n * network requests and provide fast access to asset files for web applications.\r\n */\r\nexport abstract class GetAssetBlobURLUC extends AppObjectUC {\r\n /** Static type identifier for component registration */\r\n static type = \"GetAssetBlobURLUC\";\r\n\r\n /**\r\n * Retrieves a blob URL for the specified asset file.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @returns Promise resolving to a blob URL for immediate use\r\n */\r\n abstract getAssetBlobURL(assetID: string): Promise<string>;\r\n\r\n /**\r\n * Retrieves the singleton GetAssetBlobURLUC instance.\r\n *\r\n * @param appObjects - Repository for accessing the singleton component\r\n * @returns GetAssetBlobURLUC instance or undefined if not found\r\n */\r\n static get(appObjects: AppObjectRepo): GetAssetBlobURLUC | undefined {\r\n return getSingletonComponent<GetAssetBlobURLUC>(\r\n GetAssetBlobURLUC.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Factory function to create a new GetAssetBlobURLUC instance.\r\n *\r\n * @param appObject - The AppObject that will host this singleton use case\r\n * @returns A new GetAssetBlobURLUC implementation instance\r\n */\r\nexport function makeGetAssetBlobURLUC(appObject: AppObject): GetAssetBlobURLUC {\r\n return new GetAssetBlobURLUCImp(appObject);\r\n}\r\n\r\n/**\r\n * Private implementation of GetAssetBlobURLUC with multi-level caching strategy.\r\n *\r\n * Key Implementation Details:\r\n * - Implements three-tier caching: memory (entities), persistent cache, and remote API\r\n * - Manages fetch state indicators for user feedback during operations\r\n * - Automatically caches fetched files for future access optimization\r\n * - Handles cache failures gracefully with fallback to direct API access\r\n * - Converts between Blob and File objects for compatibility\r\n * - Provides detailed error handling and logging for debugging\r\n */\r\nclass GetAssetBlobURLUCImp extends GetAssetBlobURLUC {\r\n /** Gets the asset repository for entity management and lookup */\r\n private get assetRepo() {\r\n return this.getCachedSingleton<AssetRepo>(AssetRepo.type);\r\n }\r\n\r\n /** Gets the API use case for fetching asset files from remote sources */\r\n private get fetchAssetFile() {\r\n return this.getCachedSingleton<FetchAssetFileFromAPIUC>(\r\n FetchAssetFileFromAPIUC.type\r\n )?.doFetch;\r\n }\r\n\r\n /** Gets the use case for retrieving asset metadata */\r\n private get getAsset() {\r\n return this.getCachedSingleton<GetAssetUC>(GetAssetUC.type)?.getAsset;\r\n }\r\n\r\n /** Gets the use case for retrieving assets from persistent cache */\r\n private get getAssetFromCache() {\r\n return this.getCachedSingleton<GetAssetFromCacheUC>(\r\n GetAssetFromCacheUC.type\r\n )?.getAsset;\r\n }\r\n\r\n /** Gets the use case for storing assets in persistent cache */\r\n private get storeAssetInCache() {\r\n return this.getCachedSingleton<StoreAssetInCacheUC>(\r\n StoreAssetInCacheUC.type\r\n )?.storeAsset;\r\n }\r\n\r\n /**\r\n * Retrieves an asset blob URL using optimized multi-level caching.\r\n *\r\n * This method implements a three-tier caching strategy:\r\n * 1. Memory cache: Check if asset entity already has a blob URL\r\n * 2. Persistent cache: Check IndexedDB/localStorage for cached file\r\n * 3. Remote API: Fetch from backend as last resort\r\n *\r\n * Each level provides progressively better performance, with automatic\r\n * population of higher-level caches for future access optimization.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @returns Promise resolving to a blob URL for the asset file\r\n */\r\n getAssetBlobURL = (assetID: string): Promise<string> => {\r\n const assetRepo = this.assetRepo;\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n const getAssetFromCache = this.getAssetFromCache;\r\n const storeAssetInCache = this.storeAssetInCache;\r\n\r\n if (!assetRepo || !getAsset || !fetchAssetFile) {\r\n return Promise.reject();\r\n }\r\n\r\n // Level 1: Check memory cache (existing entities with blob URLs)\r\n const existing = assetRepo.get(assetID);\r\n if (existing && existing.blobURL) {\r\n return Promise.resolve(existing.blobURL);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n let fetchedAsset: AssetEntity | undefined;\r\n\r\n // Level 2: Check persistent cache\r\n if (getAssetFromCache) {\r\n getAssetFromCache(assetID)\r\n .then((cachedBlob) => {\r\n if (cachedBlob) {\r\n // Asset found in cache, get metadata and create file\r\n return getAsset(assetID).then((asset) => {\r\n fetchedAsset = asset;\r\n const filename = asset.filename || \"cached-asset\";\r\n return new File([cachedBlob], filename, {\r\n type: cachedBlob.type\r\n });\r\n });\r\n } else {\r\n // Level 3: Fetch from remote API\r\n return getAsset(assetID).then((asset) => {\r\n asset.isFetchingFile = true;\r\n asset.fetchError = undefined;\r\n fetchedAsset = asset;\r\n return fetchAssetFile(asset);\r\n });\r\n }\r\n })\r\n .then((file) => {\r\n if (fetchedAsset) {\r\n // Create blob URL and update entity\r\n fetchedAsset.setFile(file);\r\n fetchedAsset.isFetchingFile = false;\r\n\r\n // Store in cache for future access (if not from cache already)\r\n if (storeAssetInCache) {\r\n storeAssetInCache(\r\n assetID,\r\n new Blob([file], { type: file.type }),\r\n file.type\r\n ).catch((e) => {\r\n this.warn(`Failed to cache asset: ${e.message}`);\r\n });\r\n }\r\n\r\n if (fetchedAsset.blobURL) {\r\n resolve(fetchedAsset.blobURL);\r\n return;\r\n }\r\n }\r\n reject(new Error(\"Blob URL is empty\"));\r\n })\r\n .catch((e: Error) => {\r\n // Cache error, fallback to normal flow\r\n this.warn(`Cache error or fetch error: ${e.message}`);\r\n this.fetchAssetNormally(assetID, resolve, reject);\r\n });\r\n } else {\r\n // No cache available, use direct API access\r\n this.fetchAssetNormally(assetID, resolve, reject);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Helper method for direct asset fetching without cache support.\r\n *\r\n * This method handles the direct API fetch workflow when caching\r\n * is not available or has failed. It still attempts to store the\r\n * result in cache for future optimization.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @param resolve - Success callback with blob URL\r\n * @param reject - Error callback with error details\r\n */\r\n private fetchAssetNormally = (\r\n assetID: string,\r\n resolve: (blobURL: string) => void,\r\n reject: (error: Error) => void\r\n ): void => {\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n const storeAssetInCache = this.storeAssetInCache;\r\n\r\n if (!getAsset || !fetchAssetFile) {\r\n reject(new Error(\"Required dependencies not found\"));\r\n return;\r\n }\r\n\r\n let fetchedAsset: AssetEntity | undefined;\r\n\r\n getAsset(assetID)\r\n .then((asset) => {\r\n // Set loading state for UI feedback\r\n asset.isFetchingFile = true;\r\n asset.fetchError = undefined;\r\n fetchedAsset = asset;\r\n return fetchAssetFile(asset);\r\n })\r\n .then((file) => {\r\n if (fetchedAsset) {\r\n // Create blob URL and update entity\r\n fetchedAsset.setFile(file);\r\n fetchedAsset.isFetchingFile = false;\r\n\r\n // Store in cache for future optimization (if available)\r\n if (storeAssetInCache) {\r\n storeAssetInCache(\r\n assetID,\r\n new Blob([file], { type: file.type }),\r\n file.type\r\n ).catch((e) => {\r\n this.warn(`Failed to cache asset: ${e.message}`);\r\n });\r\n }\r\n\r\n if (fetchedAsset.blobURL) {\r\n resolve(fetchedAsset.blobURL);\r\n return;\r\n }\r\n }\r\n reject(new Error(\"Blob URL is empty\"));\r\n })\r\n .catch((e: Error) => {\r\n // Handle fetch errors with proper state cleanup\r\n if (fetchedAsset) {\r\n fetchedAsset.fetchError = e;\r\n fetchedAsset.isFetchingFile = false;\r\n }\r\n reject(e);\r\n });\r\n };\r\n\r\n /**\r\n * Initializes the GetAssetBlobURLUC and registers it as a singleton.\r\n *\r\n * @param appObject - The AppObject that will host this singleton use case\r\n */\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetBlobURLUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GetAssetFileUC.ts
|
|
4
|
+
*
|
|
5
|
+
* This use case handles retrieval of asset files with advanced caching strategies,
|
|
6
|
+
* returning File objects for use in web applications and file operations.
|
|
7
|
+
*
|
|
8
|
+
* Key Concepts:
|
|
9
|
+
* - Retrieves asset files as File objects with multi-level caching optimization
|
|
10
|
+
* - Checks memory cache (existing entities) first for immediate access
|
|
11
|
+
* - Falls back to persistent cache (IndexedDB/localStorage) for faster retrieval
|
|
12
|
+
* - Finally fetches from remote API when cache misses occur
|
|
13
|
+
* - Manages fetch state indicators and error handling for user feedback
|
|
14
|
+
* - Automatically stores fetched files in cache for future access
|
|
15
|
+
*
|
|
16
|
+
* Usage Patterns:
|
|
17
|
+
* - Singleton use case accessed through static get() method
|
|
18
|
+
* - Called with asset ID to retrieve File object for processing or display
|
|
19
|
+
* - Handles async operations with comprehensive error handling
|
|
20
|
+
* - Optimizes performance through intelligent caching strategies
|
|
21
|
+
*/
|
|
2
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
23
|
exports.GetAssetFileUC = void 0;
|
|
4
24
|
exports.makeGetAssetFileUC = makeGetAssetFileUC;
|
|
@@ -7,32 +27,74 @@ const VivedAPI_1 = require("../../VivedAPI");
|
|
|
7
27
|
const Cache_1 = require("../../Cache");
|
|
8
28
|
const AssetRepo_1 = require("../Entities/AssetRepo");
|
|
9
29
|
const GetAssetUC_1 = require("./GetAssetUC");
|
|
30
|
+
/**
|
|
31
|
+
* GetAssetFileUC handles optimized retrieval of asset files as File objects.
|
|
32
|
+
*
|
|
33
|
+
* This singleton use case implements a multi-level caching strategy to minimize
|
|
34
|
+
* network requests and provide fast access to asset files for web applications.
|
|
35
|
+
*/
|
|
10
36
|
class GetAssetFileUC extends core_1.AppObjectUC {
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves the singleton GetAssetFileUC instance.
|
|
39
|
+
*
|
|
40
|
+
* @param appObjects - Repository for accessing the singleton component
|
|
41
|
+
* @returns GetAssetFileUC instance or undefined if not found
|
|
42
|
+
*/
|
|
11
43
|
static get(appObjects) {
|
|
12
44
|
return (0, core_1.getSingletonComponent)(GetAssetFileUC.type, appObjects);
|
|
13
45
|
}
|
|
14
46
|
}
|
|
15
47
|
exports.GetAssetFileUC = GetAssetFileUC;
|
|
48
|
+
/** Static type identifier for component registration */
|
|
16
49
|
GetAssetFileUC.type = "GetAssetFileUC";
|
|
50
|
+
/**
|
|
51
|
+
* Factory function to create a new GetAssetFileUC instance.
|
|
52
|
+
*
|
|
53
|
+
* @param appObject - The AppObject that will host this singleton use case
|
|
54
|
+
* @returns A new GetAssetFileUC implementation instance
|
|
55
|
+
*/
|
|
17
56
|
function makeGetAssetFileUC(appObject) {
|
|
18
57
|
return new GetAssetFileUCImp(appObject);
|
|
19
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Private implementation of GetAssetFileUC with advanced caching and error handling.
|
|
61
|
+
*
|
|
62
|
+
* Key Implementation Details:
|
|
63
|
+
* - Implements three-tier caching: memory (entities), persistent cache, and remote API
|
|
64
|
+
* - Uses async/await for cleaner error handling and flow control
|
|
65
|
+
* - Manages fetch state indicators for user feedback during operations
|
|
66
|
+
* - Automatically caches fetched files for future access optimization
|
|
67
|
+
* - Handles cache failures gracefully with fallback to direct API access
|
|
68
|
+
* - Converts between Blob and File objects maintaining metadata integrity
|
|
69
|
+
* - Provides detailed error handling and logging for debugging
|
|
70
|
+
*/
|
|
20
71
|
class GetAssetFileUCImp extends GetAssetFileUC {
|
|
72
|
+
/** Gets the asset repository for entity management and lookup */
|
|
21
73
|
get assetRepo() {
|
|
22
74
|
return this.getCachedSingleton(AssetRepo_1.AssetRepo.type);
|
|
23
75
|
}
|
|
76
|
+
/** Gets the API use case for fetching asset files from remote sources */
|
|
24
77
|
get fetchAssetFile() {
|
|
25
78
|
return this.getCachedSingleton(VivedAPI_1.FetchAssetFileFromAPIUC.type)?.doFetch;
|
|
26
79
|
}
|
|
80
|
+
/** Gets the use case for retrieving asset metadata */
|
|
27
81
|
get getAsset() {
|
|
28
82
|
return this.getCachedSingleton(GetAssetUC_1.GetAssetUC.type)?.getAsset;
|
|
29
83
|
}
|
|
84
|
+
/** Gets the use case for retrieving assets from persistent cache */
|
|
30
85
|
get getAssetFromCache() {
|
|
31
86
|
return this.getCachedSingleton(Cache_1.GetAssetFromCacheUC.type)?.getAsset;
|
|
32
87
|
}
|
|
88
|
+
/** Gets the use case for storing assets in persistent cache */
|
|
33
89
|
get storeAssetInCache() {
|
|
34
90
|
return this.getCachedSingleton(Cache_1.StoreAssetInCacheUC.type)?.storeAsset;
|
|
35
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Attempts to retrieve from cache or falls back to direct API fetch.
|
|
94
|
+
*
|
|
95
|
+
* @param assetID - The unique identifier of the asset
|
|
96
|
+
* @returns Promise resolving to a File object
|
|
97
|
+
*/
|
|
36
98
|
async tryGetFromCacheOrFetch(assetID) {
|
|
37
99
|
const getAssetFromCache = this.getAssetFromCache;
|
|
38
100
|
// If no cache is available, go straight to normal fetching
|
|
@@ -50,6 +112,13 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
50
112
|
return this.fetchAssetDirectly(assetID);
|
|
51
113
|
}
|
|
52
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Creates a File object from cached blob data and asset metadata.
|
|
117
|
+
*
|
|
118
|
+
* @param assetID - The unique identifier of the asset
|
|
119
|
+
* @param cachedBlob - The cached blob data
|
|
120
|
+
* @returns Promise resolving to a File object with proper metadata
|
|
121
|
+
*/
|
|
53
122
|
async createFileFromCachedBlob(assetID, cachedBlob) {
|
|
54
123
|
const getAsset = this.getAsset;
|
|
55
124
|
if (!getAsset) {
|
|
@@ -57,7 +126,7 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
57
126
|
}
|
|
58
127
|
// Get asset metadata
|
|
59
128
|
const asset = await getAsset(assetID);
|
|
60
|
-
// Convert blob to file
|
|
129
|
+
// Convert blob to file with proper metadata
|
|
61
130
|
const filename = asset.filename || "cached-asset";
|
|
62
131
|
const file = new File([cachedBlob], filename, {
|
|
63
132
|
type: cachedBlob.type
|
|
@@ -67,6 +136,12 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
67
136
|
asset.isFetchingFile = false;
|
|
68
137
|
return file;
|
|
69
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Fetches asset file directly from API with state management.
|
|
141
|
+
*
|
|
142
|
+
* @param assetID - The unique identifier of the asset
|
|
143
|
+
* @returns Promise resolving to a File object
|
|
144
|
+
*/
|
|
70
145
|
async fetchAssetDirectly(assetID) {
|
|
71
146
|
const getAsset = this.getAsset;
|
|
72
147
|
const fetchAssetFile = this.fetchAssetFile;
|
|
@@ -83,7 +158,7 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
83
158
|
// Update asset state
|
|
84
159
|
asset.setFile(file);
|
|
85
160
|
asset.isFetchingFile = false;
|
|
86
|
-
// Try to store in cache
|
|
161
|
+
// Try to store in cache for future optimization
|
|
87
162
|
await this.tryCacheAssetFile(assetID, file);
|
|
88
163
|
return file;
|
|
89
164
|
}
|
|
@@ -92,6 +167,12 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
92
167
|
throw error;
|
|
93
168
|
}
|
|
94
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Handles fetch errors by updating asset state appropriately.
|
|
172
|
+
*
|
|
173
|
+
* @param assetID - The unique identifier of the asset
|
|
174
|
+
* @param error - The error that occurred during fetching
|
|
175
|
+
*/
|
|
95
176
|
async handleFetchError(assetID, error) {
|
|
96
177
|
const getAsset = this.getAsset;
|
|
97
178
|
if (!getAsset) {
|
|
@@ -106,6 +187,12 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
106
187
|
// If we can't get the asset, we can't update its error state
|
|
107
188
|
}
|
|
108
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Attempts to cache the fetched file for future optimization.
|
|
192
|
+
*
|
|
193
|
+
* @param assetID - The unique identifier of the asset
|
|
194
|
+
* @param file - The file to cache
|
|
195
|
+
*/
|
|
109
196
|
async tryCacheAssetFile(assetID, file) {
|
|
110
197
|
const storeAssetInCache = this.storeAssetInCache;
|
|
111
198
|
if (!storeAssetInCache) {
|
|
@@ -118,8 +205,27 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
118
205
|
this.warn(`Failed to cache asset: ${e.message}`);
|
|
119
206
|
}
|
|
120
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Initializes the GetAssetFileUC and registers it as a singleton.
|
|
210
|
+
*
|
|
211
|
+
* @param appObject - The AppObject that will host this singleton use case
|
|
212
|
+
*/
|
|
121
213
|
constructor(appObject) {
|
|
122
214
|
super(appObject, GetAssetFileUC.type);
|
|
215
|
+
/**
|
|
216
|
+
* Retrieves an asset file using optimized multi-level caching.
|
|
217
|
+
*
|
|
218
|
+
* This method implements a three-tier caching strategy:
|
|
219
|
+
* 1. Memory cache: Check if asset entity already has a File object
|
|
220
|
+
* 2. Persistent cache: Check IndexedDB/localStorage for cached file
|
|
221
|
+
* 3. Remote API: Fetch from backend as last resort
|
|
222
|
+
*
|
|
223
|
+
* Each level provides progressively better performance, with automatic
|
|
224
|
+
* population of higher-level caches for future access optimization.
|
|
225
|
+
*
|
|
226
|
+
* @param assetID - The unique identifier of the asset
|
|
227
|
+
* @returns Promise resolving to a File object for the asset
|
|
228
|
+
*/
|
|
123
229
|
this.getAssetFile = async (assetID) => {
|
|
124
230
|
const assetRepo = this.assetRepo;
|
|
125
231
|
const getAsset = this.getAsset;
|
|
@@ -128,12 +234,12 @@ class GetAssetFileUCImp extends GetAssetFileUC {
|
|
|
128
234
|
if (!assetRepo || !getAsset || !fetchAssetFile) {
|
|
129
235
|
return Promise.reject(new Error("Missing required dependencies"));
|
|
130
236
|
}
|
|
131
|
-
//
|
|
237
|
+
// Level 1: Check memory cache (existing entities with File objects)
|
|
132
238
|
const existingAsset = assetRepo.get(assetID);
|
|
133
239
|
if (existingAsset?.file) {
|
|
134
240
|
return existingAsset.file;
|
|
135
241
|
}
|
|
136
|
-
//
|
|
242
|
+
// Level 2 & 3: Try cache then API with comprehensive error handling
|
|
137
243
|
try {
|
|
138
244
|
return await this.tryGetFromCacheOrFetch(assetID);
|
|
139
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAssetFileUC.js","sourceRoot":"","sources":["../../../../src/Assets/UCs/GetAssetFileUC.ts"],"names":[],"mappings":";;;AAwBA,gDAEC;AA1BD,sCAKqB;AACrB,6CAAyD;AACzD,uCAAuE;AACvE,qDAAkD;AAClD,6CAA0C;AAE1C,MAAsB,cAAe,SAAQ,kBAAW;IAKtD,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAC1B,cAAc,CAAC,IAAI,EACnB,UAAU,CACX,CAAC;IACJ,CAAC;;AAVH,wCAWC;AAVQ,mBAAI,GAAG,gBAAgB,CAAC;AAYjC,SAAgB,kBAAkB,CAAC,SAAoB;IACrD,OAAO,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,iBAAkB,SAAQ,cAAc;IAC5C,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAY,qBAAS,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAC5B,kCAAuB,CAAC,IAAI,CAC7B,EAAE,OAAO,CAAC;IACb,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAa,uBAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACxE,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,2BAAmB,CAAC,IAAI,CACzB,EAAE,QAAQ,CAAC;IACd,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,2BAAmB,CAAC,IAAI,CACzB,EAAE,UAAU,CAAC;IAChB,CAAC;IA4BO,KAAK,CAAC,sBAAsB,CAAC,OAAe;QAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEjD,2DAA2D;QAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,kCAAkC;QAClC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,UAAU,EAAE,CAAC;YACf,qDAAqD;YACrD,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,OAAe,EACf,UAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtC,uBAAuB;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE;YAC5C,IAAI,EAAE,UAAU,CAAC,IAAI;SACtB,CAAC,CAAC;QAEH,qBAAqB;QACrB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAe;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YAE7B,iBAAiB;YACjB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;YAEzC,qBAAqB;YACrB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;YAE7B,wBAAwB;YACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAc,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,KAAY;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,IAAU;QACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,iBAAiB,CACrB,OAAO,EACP,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EACrC,IAAI,CAAC,IAAI,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QA1IxC,iBAAY,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAE3C,kCAAkC;YAClC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,sDAAsD;YACtD,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;gBACxB,OAAO,aAAa,CAAC,IAAI,CAAC;YAC5B,CAAC;YAED,2EAA2E;YAC3E,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8CAA8C;gBAC9C,IAAI,CAAC,IAAI,CAAC,gBAAiB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAmHA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC\r\n} from \"@vived/core\";\r\nimport { FetchAssetFileFromAPIUC } from \"../../VivedAPI\";\r\nimport { GetAssetFromCacheUC, StoreAssetInCacheUC } from \"../../Cache\";\r\nimport { AssetRepo } from \"../Entities/AssetRepo\";\r\nimport { GetAssetUC } from \"./GetAssetUC\";\r\n\r\nexport abstract class GetAssetFileUC extends AppObjectUC {\r\n static type = \"GetAssetFileUC\";\r\n\r\n abstract getAssetFile(assetID: string): Promise<File>;\r\n\r\n static get(appObjects: AppObjectRepo): GetAssetFileUC | undefined {\r\n return getSingletonComponent<GetAssetFileUC>(\r\n GetAssetFileUC.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeGetAssetFileUC(appObject: AppObject): GetAssetFileUC {\r\n return new GetAssetFileUCImp(appObject);\r\n}\r\n\r\nclass GetAssetFileUCImp extends GetAssetFileUC {\r\n private get assetRepo() {\r\n return this.getCachedSingleton<AssetRepo>(AssetRepo.type);\r\n }\r\n\r\n private get fetchAssetFile() {\r\n return this.getCachedSingleton<FetchAssetFileFromAPIUC>(\r\n FetchAssetFileFromAPIUC.type\r\n )?.doFetch;\r\n }\r\n\r\n private get getAsset() {\r\n return this.getCachedSingleton<GetAssetUC>(GetAssetUC.type)?.getAsset;\r\n }\r\n\r\n private get getAssetFromCache() {\r\n return this.getCachedSingleton<GetAssetFromCacheUC>(\r\n GetAssetFromCacheUC.type\r\n )?.getAsset;\r\n }\r\n\r\n private get storeAssetInCache() {\r\n return this.getCachedSingleton<StoreAssetInCacheUC>(\r\n StoreAssetInCacheUC.type\r\n )?.storeAsset;\r\n }\r\n\r\n getAssetFile = async (assetID: string): Promise<File> => {\r\n const assetRepo = this.assetRepo;\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n\r\n // Check for required dependencies\r\n if (!assetRepo || !getAsset || !fetchAssetFile) {\r\n return Promise.reject(new Error(\"Missing required dependencies\"));\r\n }\r\n\r\n // Check if asset already exists in memory with a file\r\n const existingAsset = assetRepo.get(assetID);\r\n if (existingAsset?.file) {\r\n return existingAsset.file;\r\n }\r\n\r\n // Try to get from cache first, then fall back to normal fetching if needed\r\n try {\r\n return await this.tryGetFromCacheOrFetch(assetID);\r\n } catch (error) {\r\n // If cache access failed, try the normal flow\r\n this.warn(`Cache error: ${(error as Error).message}`);\r\n return this.fetchAssetDirectly(assetID);\r\n }\r\n };\r\n\r\n private async tryGetFromCacheOrFetch(assetID: string): Promise<File> {\r\n const getAssetFromCache = this.getAssetFromCache;\r\n\r\n // If no cache is available, go straight to normal fetching\r\n if (!getAssetFromCache) {\r\n return this.fetchAssetDirectly(assetID);\r\n }\r\n\r\n // Try to get the asset from cache\r\n const cachedBlob = await getAssetFromCache(assetID);\r\n\r\n if (cachedBlob) {\r\n // Asset found in cache, get metadata and create file\r\n return this.createFileFromCachedBlob(assetID, cachedBlob);\r\n } else {\r\n // Not in cache, fetch directly\r\n return this.fetchAssetDirectly(assetID);\r\n }\r\n }\r\n\r\n private async createFileFromCachedBlob(\r\n assetID: string,\r\n cachedBlob: Blob\r\n ): Promise<File> {\r\n const getAsset = this.getAsset;\r\n\r\n if (!getAsset) {\r\n throw new Error(\"Required dependencies not found\");\r\n }\r\n\r\n // Get asset metadata\r\n const asset = await getAsset(assetID);\r\n\r\n // Convert blob to file\r\n const filename = asset.filename || \"cached-asset\";\r\n const file = new File([cachedBlob], filename, {\r\n type: cachedBlob.type\r\n });\r\n\r\n // Update asset state\r\n asset.setFile(file);\r\n asset.isFetchingFile = false;\r\n\r\n return file;\r\n }\r\n\r\n private async fetchAssetDirectly(assetID: string): Promise<File> {\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n\r\n if (!getAsset || !fetchAssetFile) {\r\n throw new Error(\"Required dependencies not found\");\r\n }\r\n\r\n try {\r\n // Get asset and prepare for fetching\r\n const asset = await getAsset(assetID);\r\n asset.isFetchingFile = true;\r\n asset.fetchError = undefined;\r\n\r\n // Fetch the file\r\n const file = await fetchAssetFile(asset);\r\n\r\n // Update asset state\r\n asset.setFile(file);\r\n asset.isFetchingFile = false;\r\n\r\n // Try to store in cache\r\n await this.tryCacheAssetFile(assetID, file);\r\n\r\n return file;\r\n } catch (error) {\r\n await this.handleFetchError(assetID, error as Error);\r\n throw error;\r\n }\r\n }\r\n\r\n private async handleFetchError(assetID: string, error: Error): Promise<void> {\r\n const getAsset = this.getAsset;\r\n\r\n if (!getAsset) {\r\n return;\r\n }\r\n\r\n try {\r\n const asset = await getAsset(assetID);\r\n asset.fetchError = error;\r\n asset.isFetchingFile = false;\r\n } catch {\r\n // If we can't get the asset, we can't update its error state\r\n }\r\n }\r\n\r\n private async tryCacheAssetFile(assetID: string, file: File): Promise<void> {\r\n const storeAssetInCache = this.storeAssetInCache;\r\n\r\n if (!storeAssetInCache) {\r\n return;\r\n }\r\n\r\n try {\r\n await storeAssetInCache(\r\n assetID,\r\n new Blob([file], { type: file.type }),\r\n file.type\r\n );\r\n } catch (e) {\r\n this.warn(`Failed to cache asset: ${(e as Error).message}`);\r\n }\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetFileUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"GetAssetFileUC.js","sourceRoot":"","sources":["../../../../src/Assets/UCs/GetAssetFileUC.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * GetAssetFileUC.ts\r\n *\r\n * This use case handles retrieval of asset files with advanced caching strategies,\r\n * returning File objects for use in web applications and file operations.\r\n *\r\n * Key Concepts:\r\n * - Retrieves asset files as File objects with multi-level caching optimization\r\n * - Checks memory cache (existing entities) first for immediate access\r\n * - Falls back to persistent cache (IndexedDB/localStorage) for faster retrieval\r\n * - Finally fetches from remote API when cache misses occur\r\n * - Manages fetch state indicators and error handling for user feedback\r\n * - Automatically stores fetched files in cache for future access\r\n *\r\n * Usage Patterns:\r\n * - Singleton use case accessed through static get() method\r\n * - Called with asset ID to retrieve File object for processing or display\r\n * - Handles async operations with comprehensive error handling\r\n * - Optimizes performance through intelligent caching strategies\r\n */\r\n\r\nimport {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC\r\n} from \"@vived/core\";\r\nimport { FetchAssetFileFromAPIUC } from \"../../VivedAPI\";\r\nimport { GetAssetFromCacheUC, StoreAssetInCacheUC } from \"../../Cache\";\r\nimport { AssetRepo } from \"../Entities/AssetRepo\";\r\nimport { GetAssetUC } from \"./GetAssetUC\";\r\n\r\n/**\r\n * GetAssetFileUC handles optimized retrieval of asset files as File objects.\r\n *\r\n * This singleton use case implements a multi-level caching strategy to minimize\r\n * network requests and provide fast access to asset files for web applications.\r\n */\r\nexport abstract class GetAssetFileUC extends AppObjectUC {\r\n /** Static type identifier for component registration */\r\n static type = \"GetAssetFileUC\";\r\n\r\n /**\r\n * Retrieves a File object for the specified asset.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @returns Promise resolving to a File object for the asset\r\n */\r\n abstract getAssetFile(assetID: string): Promise<File>;\r\n\r\n /**\r\n * Retrieves the singleton GetAssetFileUC instance.\r\n *\r\n * @param appObjects - Repository for accessing the singleton component\r\n * @returns GetAssetFileUC instance or undefined if not found\r\n */\r\n static get(appObjects: AppObjectRepo): GetAssetFileUC | undefined {\r\n return getSingletonComponent<GetAssetFileUC>(\r\n GetAssetFileUC.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Factory function to create a new GetAssetFileUC instance.\r\n *\r\n * @param appObject - The AppObject that will host this singleton use case\r\n * @returns A new GetAssetFileUC implementation instance\r\n */\r\nexport function makeGetAssetFileUC(appObject: AppObject): GetAssetFileUC {\r\n return new GetAssetFileUCImp(appObject);\r\n}\r\n\r\n/**\r\n * Private implementation of GetAssetFileUC with advanced caching and error handling.\r\n *\r\n * Key Implementation Details:\r\n * - Implements three-tier caching: memory (entities), persistent cache, and remote API\r\n * - Uses async/await for cleaner error handling and flow control\r\n * - Manages fetch state indicators for user feedback during operations\r\n * - Automatically caches fetched files for future access optimization\r\n * - Handles cache failures gracefully with fallback to direct API access\r\n * - Converts between Blob and File objects maintaining metadata integrity\r\n * - Provides detailed error handling and logging for debugging\r\n */\r\nclass GetAssetFileUCImp extends GetAssetFileUC {\r\n /** Gets the asset repository for entity management and lookup */\r\n private get assetRepo() {\r\n return this.getCachedSingleton<AssetRepo>(AssetRepo.type);\r\n }\r\n\r\n /** Gets the API use case for fetching asset files from remote sources */\r\n private get fetchAssetFile() {\r\n return this.getCachedSingleton<FetchAssetFileFromAPIUC>(\r\n FetchAssetFileFromAPIUC.type\r\n )?.doFetch;\r\n }\r\n\r\n /** Gets the use case for retrieving asset metadata */\r\n private get getAsset() {\r\n return this.getCachedSingleton<GetAssetUC>(GetAssetUC.type)?.getAsset;\r\n }\r\n\r\n /** Gets the use case for retrieving assets from persistent cache */\r\n private get getAssetFromCache() {\r\n return this.getCachedSingleton<GetAssetFromCacheUC>(\r\n GetAssetFromCacheUC.type\r\n )?.getAsset;\r\n }\r\n\r\n /** Gets the use case for storing assets in persistent cache */\r\n private get storeAssetInCache() {\r\n return this.getCachedSingleton<StoreAssetInCacheUC>(\r\n StoreAssetInCacheUC.type\r\n )?.storeAsset;\r\n }\r\n\r\n /**\r\n * Retrieves an asset file using optimized multi-level caching.\r\n *\r\n * This method implements a three-tier caching strategy:\r\n * 1. Memory cache: Check if asset entity already has a File object\r\n * 2. Persistent cache: Check IndexedDB/localStorage for cached file\r\n * 3. Remote API: Fetch from backend as last resort\r\n *\r\n * Each level provides progressively better performance, with automatic\r\n * population of higher-level caches for future access optimization.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @returns Promise resolving to a File object for the asset\r\n */\r\n getAssetFile = async (assetID: string): Promise<File> => {\r\n const assetRepo = this.assetRepo;\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n\r\n // Check for required dependencies\r\n if (!assetRepo || !getAsset || !fetchAssetFile) {\r\n return Promise.reject(new Error(\"Missing required dependencies\"));\r\n }\r\n\r\n // Level 1: Check memory cache (existing entities with File objects)\r\n const existingAsset = assetRepo.get(assetID);\r\n if (existingAsset?.file) {\r\n return existingAsset.file;\r\n }\r\n\r\n // Level 2 & 3: Try cache then API with comprehensive error handling\r\n try {\r\n return await this.tryGetFromCacheOrFetch(assetID);\r\n } catch (error) {\r\n // If cache access failed, try the normal flow\r\n this.warn(`Cache error: ${(error as Error).message}`);\r\n return this.fetchAssetDirectly(assetID);\r\n }\r\n };\r\n\r\n /**\r\n * Attempts to retrieve from cache or falls back to direct API fetch.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @returns Promise resolving to a File object\r\n */\r\n private async tryGetFromCacheOrFetch(assetID: string): Promise<File> {\r\n const getAssetFromCache = this.getAssetFromCache;\r\n\r\n // If no cache is available, go straight to normal fetching\r\n if (!getAssetFromCache) {\r\n return this.fetchAssetDirectly(assetID);\r\n }\r\n\r\n // Try to get the asset from cache\r\n const cachedBlob = await getAssetFromCache(assetID);\r\n\r\n if (cachedBlob) {\r\n // Asset found in cache, get metadata and create file\r\n return this.createFileFromCachedBlob(assetID, cachedBlob);\r\n } else {\r\n // Not in cache, fetch directly\r\n return this.fetchAssetDirectly(assetID);\r\n }\r\n }\r\n\r\n /**\r\n * Creates a File object from cached blob data and asset metadata.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @param cachedBlob - The cached blob data\r\n * @returns Promise resolving to a File object with proper metadata\r\n */\r\n private async createFileFromCachedBlob(\r\n assetID: string,\r\n cachedBlob: Blob\r\n ): Promise<File> {\r\n const getAsset = this.getAsset;\r\n\r\n if (!getAsset) {\r\n throw new Error(\"Required dependencies not found\");\r\n }\r\n\r\n // Get asset metadata\r\n const asset = await getAsset(assetID);\r\n\r\n // Convert blob to file with proper metadata\r\n const filename = asset.filename || \"cached-asset\";\r\n const file = new File([cachedBlob], filename, {\r\n type: cachedBlob.type\r\n });\r\n\r\n // Update asset state\r\n asset.setFile(file);\r\n asset.isFetchingFile = false;\r\n\r\n return file;\r\n }\r\n\r\n /**\r\n * Fetches asset file directly from API with state management.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @returns Promise resolving to a File object\r\n */\r\n private async fetchAssetDirectly(assetID: string): Promise<File> {\r\n const getAsset = this.getAsset;\r\n const fetchAssetFile = this.fetchAssetFile;\r\n\r\n if (!getAsset || !fetchAssetFile) {\r\n throw new Error(\"Required dependencies not found\");\r\n }\r\n\r\n try {\r\n // Get asset and prepare for fetching\r\n const asset = await getAsset(assetID);\r\n asset.isFetchingFile = true;\r\n asset.fetchError = undefined;\r\n\r\n // Fetch the file\r\n const file = await fetchAssetFile(asset);\r\n\r\n // Update asset state\r\n asset.setFile(file);\r\n asset.isFetchingFile = false;\r\n\r\n // Try to store in cache for future optimization\r\n await this.tryCacheAssetFile(assetID, file);\r\n\r\n return file;\r\n } catch (error) {\r\n await this.handleFetchError(assetID, error as Error);\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Handles fetch errors by updating asset state appropriately.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @param error - The error that occurred during fetching\r\n */\r\n private async handleFetchError(assetID: string, error: Error): Promise<void> {\r\n const getAsset = this.getAsset;\r\n\r\n if (!getAsset) {\r\n return;\r\n }\r\n\r\n try {\r\n const asset = await getAsset(assetID);\r\n asset.fetchError = error;\r\n asset.isFetchingFile = false;\r\n } catch {\r\n // If we can't get the asset, we can't update its error state\r\n }\r\n }\r\n\r\n /**\r\n * Attempts to cache the fetched file for future optimization.\r\n *\r\n * @param assetID - The unique identifier of the asset\r\n * @param file - The file to cache\r\n */\r\n private async tryCacheAssetFile(assetID: string, file: File): Promise<void> {\r\n const storeAssetInCache = this.storeAssetInCache;\r\n\r\n if (!storeAssetInCache) {\r\n return;\r\n }\r\n\r\n try {\r\n await storeAssetInCache(\r\n assetID,\r\n new Blob([file], { type: file.type }),\r\n file.type\r\n );\r\n } catch (e) {\r\n this.warn(`Failed to cache asset: ${(e as Error).message}`);\r\n }\r\n }\r\n\r\n /**\r\n * Initializes the GetAssetFileUC and registers it as a singleton.\r\n *\r\n * @param appObject - The AppObject that will host this singleton use case\r\n */\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetFileUC.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|