evcc-io/assets/js/utils/version.ts
2026-04-22 19:49:08 +02:00

35 lines
1.1 KiB
TypeScript

export function isDevelopment(version: string): boolean {
return version === "[[.Version]]" || version === "0.0.0";
}
export function isNightly(version: string, commit?: string): boolean {
return !isDevelopment(version) && !!commit;
}
export function getReleaseName(version: string, commit?: string): string {
if (isDevelopment(version)) return "development";
if (isNightly(version, commit)) return "nightly";
return "stable";
}
export function shortCommit(commit?: string): string {
return commit?.substring(0, 7) || "";
}
export function getShortVersion(version: string, commit?: string): string {
if (isDevelopment(version)) return "dev build";
if (isNightly(version, commit)) return `v${version} (${shortCommit(commit)})`;
return `v${version}`;
}
export function isNewVersionAvailable(installed?: string, available?: string): boolean {
return !!available && !isDevelopment(installed || "") && available !== installed;
}
export function isNewVersionUnacknowledged(
installed?: string,
available?: string,
acknowledged?: string
): boolean {
return isNewVersionAvailable(installed, available) && available !== acknowledged;
}