node-js-release-info 1.1.1

Asynchronously retrieve Node.js release info by version and platform from the [downloads server](https://nodejs.org/download/release/)
Documentation
use node_js_release_info::*;

const VERSION: &str = "20.7.0";

#[test]
fn it_provides_expected_resources() {
    let info = NodeJSRelInfo::new(VERSION);
    let os = NodeJSOS::Linux;
    let arch = NodeJSArch::X64;
    let ext = NodeJSPkgExt::Targz;
    assert_eq!(info.version, VERSION);
    assert_eq!(info.os, os);
    assert_eq!(info.arch, arch);
    assert_eq!(info.ext, ext);
}

#[tokio::test]
async fn it_fetches_node_js_release_info_for_a_given_configuration() {
    let mut info = NodeJSRelInfo::new(VERSION);
    let result = info.macos().x64().tar_gz().fetch().await.unwrap();
    assert_eq!(
        result.url,
        "https://nodejs.org/download/release/v20.7.0/node-v20.7.0-darwin-x64.tar.gz"
    );
    assert_eq!(
        result.sha256,
        "ceeba829f44e7573949f2ce2ad5def27f1d6daa55f2860bea82964851fae01bc"
    );
}

#[tokio::test]
async fn it_fetches_node_js_release_info_for_all_supported_configurations() {
    let info = NodeJSRelInfo::new(VERSION);
    let result = info.fetch_all().await.unwrap();
    assert_eq!(result.len(), 24);
    assert_eq!(
        result[4].url,
        "https://nodejs.org/download/release/v20.7.0/node-v20.7.0-darwin-x64.tar.gz"
    );
    assert_eq!(
        result[4].sha256,
        "ceeba829f44e7573949f2ce2ad5def27f1d6daa55f2860bea82964851fae01bc"
    );
}