diff --git a/ui/src/app/util/package-loading-progress.ts b/ui/src/app/util/package-loading-progress.ts index 839ecba4e..798eb1ddf 100644 --- a/ui/src/app/util/package-loading-progress.ts +++ b/ui/src/app/util/package-loading-progress.ts @@ -1,36 +1,36 @@ -import { InstallProgress } from "src/app/services/patch-db/data-model"; +import { InstallProgress } from 'src/app/services/patch-db/data-model' -export function packageLoadingProgress( - loadData: InstallProgress +export function packageLoadingProgress ( + loadData: InstallProgress, ): ProgressData { let { downloaded, validated, unpacked, size, - "download-complete": downloadComplete, - "validation-complete": validationComplete, - "unpack-complete": unpackComplete, - } = loadData; + 'download-complete': downloadComplete, + 'validation-complete': validationComplete, + 'unpack-complete': unpackComplete, + } = loadData // only permit 100% when "complete" == true - downloaded = downloadComplete ? size : Math.max(downloaded - 1, 0); - validated = validationComplete ? size : Math.max(validated - 1, 0); - unpacked = unpackComplete ? size : Math.max(unpacked - 1, 0); + downloaded = downloadComplete ? size : Math.max(downloaded - 1, 0) + validated = validationComplete ? size : Math.max(validated - 1, 0) + unpacked = unpackComplete ? size : Math.max(unpacked - 1, 0) - const downloadWeight = 1; - const validateWeight = 0.2; - const unpackWeight = 0.7; + const downloadWeight = 1 + const validateWeight = 0.2 + const unpackWeight = 0.7 const numerator = Math.floor( downloadWeight * downloaded + validateWeight * validated + - unpackWeight * unpacked - ); + unpackWeight * unpacked, + ) const denominator = Math.floor( - size * (downloadWeight + validateWeight + unpackWeight) - ); + size * (downloadWeight + validateWeight + unpackWeight), + ) return { totalProgress: Math.floor((100 * numerator) / denominator), @@ -38,13 +38,13 @@ export function packageLoadingProgress( validateProgress: Math.floor((100 * validated) / size), unpackProgress: Math.floor((100 * unpacked) / size), isComplete: downloadComplete && validationComplete && unpackComplete, - }; + } } export interface ProgressData { - totalProgress: number; - downloadProgress: number; - validateProgress: number; - unpackProgress: number; - isComplete: boolean; + totalProgress: number + downloadProgress: number + validateProgress: number + unpackProgress: number + isComplete: boolean } diff --git a/ui/src/app/util/parse-data-model.ts b/ui/src/app/util/parse-data-model.ts index baace4bed..fc8a4644e 100644 --- a/ui/src/app/util/parse-data-model.ts +++ b/ui/src/app/util/parse-data-model.ts @@ -2,49 +2,49 @@ import { DataModel, PackageDataEntry, RecoveredPackageDataEntry, -} from "../services/patch-db/data-model"; +} from '../services/patch-db/data-model' -export function parseDataModel(data: DataModel): ParsedData { - const all = JSON.parse(JSON.stringify(data["package-data"])) as { +export function parseDataModel (data: DataModel): ParsedData { + const all = JSON.parse(JSON.stringify(data['package-data'])) as { [id: string]: PackageDataEntry; - }; + } - const order = [...(data.ui["pkg-order"] || [])]; - const pkgs = []; - const recoveredPkgs = Object.entries(data["recovered-packages"]) + const order = [...(data.ui['pkg-order'] || [])] + const pkgs = [] + const recoveredPkgs = Object.entries(data['recovered-packages']) .filter(([id, _]) => !all[id]) .map(([id, val]) => ({ ...val, id, - })); + })) // add known packages in preferential order order.forEach((id) => { if (all[id]) { - pkgs.push(all[id]); + pkgs.push(all[id]) - delete all[id]; + delete all[id] } - }); + }) // unshift unknown packages Object.values(all).forEach((pkg) => { - pkgs.unshift(pkg); - }); + pkgs.unshift(pkg) + }) return { order, pkgs, recoveredPkgs, - }; + } } export interface RecoveredInfo extends RecoveredPackageDataEntry { - id: string; + id: string } interface ParsedData { - order: string[]; - pkgs: PackageDataEntry[]; - recoveredPkgs: RecoveredInfo[]; + order: string[] + pkgs: PackageDataEntry[] + recoveredPkgs: RecoveredInfo[] }