import { platformDownloads, type PlatformDownloadAsset } from "../components/release-links.generated"; export const DOWNLOAD_COUNT_SEED = 13674; export const DOWNLOAD_DEDUP_WINDOW_HOURS = 24; export const DOWNLOAD_DEDUP_WINDOW_MS = DOWNLOAD_DEDUP_WINDOW_HOURS * 60 * 60 * 1000; export type ReleaseDownloadAsset = PlatformDownloadAsset & { platformId: "macos" | "windows" | "linux"; platformTitle: string; }; export const downloadAssets: ReleaseDownloadAsset[] = platformDownloads.flatMap((platform) => platform.assets.map((asset) => ({ ...asset, platformId: platform.id, platformTitle: platform.title, })), ); const downloadAssetMap = new Map(downloadAssets.map((asset) => [asset.id, asset])); export function getDownloadAsset(assetId: string) { return downloadAssetMap.get(assetId) ?? null; } export function getTrackedDownloadHref(assetId: string) { return `/api/download?asset=${encodeURIComponent(assetId)}`; }