mirror of
https://github.com/Xevion/smart-rgb.git
synced 2025-12-10 16:08:43 -06:00
55 lines
976 B
TypeScript
55 lines
976 B
TypeScript
export interface Checksums {
|
|
sha256: string;
|
|
sha512: string;
|
|
md5: string;
|
|
}
|
|
|
|
export type FileType = 'appimage' | 'deb' | 'rpm' | 'dmg' | 'app' | 'exe' | 'msi';
|
|
|
|
export interface ReleaseFile {
|
|
type: FileType;
|
|
url: string;
|
|
filename: string;
|
|
size: number;
|
|
checksums: Checksums;
|
|
}
|
|
|
|
export type Platform =
|
|
| 'linux-x86_64'
|
|
| 'linux-aarch64'
|
|
| 'macos-x86_64'
|
|
| 'macos-aarch64'
|
|
| 'windows-x86_64'
|
|
| 'windows-aarch64';
|
|
|
|
export type PlatformFiles = {
|
|
[K in Platform]?: {
|
|
files: ReleaseFile[];
|
|
};
|
|
};
|
|
|
|
export interface Version {
|
|
version: string;
|
|
released: string;
|
|
visible: boolean;
|
|
platforms: PlatformFiles;
|
|
}
|
|
|
|
export type DisplayMode = 'latest_only' | 'all' | 'recent_n';
|
|
|
|
export interface Manifest {
|
|
latest: string;
|
|
display_mode: DisplayMode;
|
|
recent_n?: number;
|
|
versions: Version[];
|
|
}
|
|
|
|
export interface ArtifactMapping {
|
|
artifactName: string;
|
|
platform: Platform;
|
|
expectedFiles: {
|
|
glob: string;
|
|
type: FileType;
|
|
}[];
|
|
}
|