35 lines
1.1 KiB
TypeScript
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;
|
|
}
|