// yt - A fully featured command line YouTube client
//
// Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This file is part of Yt.
//
// You should have received a copy of the License along with this program.
// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.

use anyhow::Result;
use url::Url;

use self::downloader::{Downloadable, Downloader};

mod downloader;

pub fn download(urls: Vec<Url>) -> Result<()> {
    let downloadables = urls
        .into_iter()
        .map(|url| Downloadable { url, id: None })
        .collect();
    let downloader = Downloader::new(downloadables)?;
    downloader.consume()
}