diff --git a/src/NextflowRelease.ts b/src/NextflowRelease.ts index fed8427..b2bdaee 100644 --- a/src/NextflowRelease.ts +++ b/src/NextflowRelease.ts @@ -7,3 +7,23 @@ export type NextflowRelease = { binaryURL: string allBinaryURL: string } + +/** + * Gets the download URL of a Nextflow binary + * @param release A "release" data struct from OctoKit + * @param get_all Whether to return the url for the "all" variant of Nextflow + * @returns The URL of the Nextflow binary + */ +export function nextflow_bin_url(release: object, get_all: boolean): string { + const release_assets = release["assets"] + const all_asset = release_assets.filter((a: object) => { + return a["browser_download_url"].endsWith("-all") + })[0] + const regular_asset = release_assets.filter((a: object) => { + return a["name"] === "nextflow" + })[0] + + const dl_asset = get_all ? all_asset : regular_asset + + return dl_asset.browser_download_url +} diff --git a/src/functions.ts b/src/functions.ts index 4f0fbda..51af3b0 100644 --- a/src/functions.ts +++ b/src/functions.ts @@ -72,20 +72,6 @@ export async function release_data( return matching_releases[0] } -export function nextflow_bin_url(release: object, get_all: boolean): string { - const release_assets = release["assets"] - const all_asset = release_assets.filter((a: object) => { - return a["browser_download_url"].endsWith("-all") - })[0] - const regular_asset = release_assets.filter((a: object) => { - return a["name"] === "nextflow" - })[0] - - const dl_asset = get_all ? all_asset : regular_asset - - return dl_asset.browser_download_url -} - export async function install_nextflow( url: string, version: string