Files
start-os/web/projects/ui/src/app/util/get-package-info.ts
2024-03-20 13:32:57 -06:00

34 lines
1021 B
TypeScript

import { PackageDataEntry } from '../services/patch-db/data-model'
import {
DependencyStatus,
HealthStatus,
PrimaryRendering,
PrimaryStatus,
renderPkgStatus,
} from '../services/pkg-status-rendering.service'
import { PkgInfo } from '../types/pkg-info'
import { PkgDependencyErrors } from '../services/dep-error.service'
export function getPackageInfo(
entry: PackageDataEntry,
depErrors: PkgDependencyErrors,
): PkgInfo {
const statuses = renderPkgStatus(entry, depErrors)
const primaryRendering = PrimaryRendering[statuses.primary]
return {
entry,
primaryRendering,
primaryStatus: statuses.primary,
error:
statuses.health === HealthStatus.Failure ||
statuses.dependency === DependencyStatus.Warning,
warning: statuses.primary === PrimaryStatus.NeedsConfig,
transitioning:
primaryRendering.showDots ||
statuses.health === HealthStatus.Waiting ||
statuses.health === HealthStatus.Loading ||
statuses.health === HealthStatus.Starting,
}
}