import { computed, ref, watch, type Ref } from 'vue' import type { PackageDataEntry } from '@/types/api' export type PackageMap = Record export function useLastKnownPackages( livePackages: Ref, containersScanned: Ref, ) { const lastKnownPackages = ref({}) watch( livePackages, (packages) => { const hasPackages = Object.keys(packages).length > 0 if (hasPackages || containersScanned.value) { lastKnownPackages.value = { ...packages } } }, { immediate: true, deep: true }, ) const isUsingLastKnownPackages = computed(() => ( !containersScanned.value && Object.keys(livePackages.value).length === 0 && Object.keys(lastKnownPackages.value).length > 0 )) const packages = computed(() => ( isUsingLastKnownPackages.value ? lastKnownPackages.value : livePackages.value )) return { packages, isUsingLastKnownPackages, lastKnownPackages, } }