use std::sync::LazyLock;
use std::time::{SystemTime, UNIX_EPOCH};
const FIRST_CONGRESS: usize = 1789;
static CURRENT_YEAR: LazyLock<usize> = LazyLock::new(|| {
(
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap() .as_secs()
/ 31_536_000 + 1970
) as usize
});
pub static CURRENT_CONGRESS: LazyLock<usize> =
LazyLock::new(|| (*CURRENT_YEAR - FIRST_CONGRESS) / 2 + 1);
pub const CDG_BASE_URL: &str = "https://www.congress.gov";
pub const GOVINFO_BASE_URL: &str = "https://www.govinfo.gov";
pub const PUBL_SEQUENCES: [&str; 3] = ["pl", "publ", "public law no"];
pub const STATUTE_SEQUENCES: [&str; 1] = ["stat"];
pub const BILL_SEQUENCES: [&str; 2] = ["hr", "s"];
pub const SIMPLE_RESOLUTION_SEQUENCES: [&str; 2] = ["hres", "sres"];
pub const CONCURRENT_RESOLUTION_SEQUENCES: [&str; 2] = ["hconres", "sconres"];
pub const JOINT_RESOLUTION_SEQUENCES: [&str; 2] = ["hjres", "sjres"];
pub static MEASURE_SEQUENCES: LazyLock<Vec<&str>> = LazyLock::new(|| {
[
&BILL_SEQUENCES[..],
&SIMPLE_RESOLUTION_SEQUENCES[..],
&CONCURRENT_RESOLUTION_SEQUENCES[..],
&JOINT_RESOLUTION_SEQUENCES[..],
]
.concat()
});
pub const COMMITTEE_REPORT_SEQUENCES: [&str; 4] = ["hrpt", "hrept", "srpt", "srept"];
pub const COMMITTEE_PRINT_SEQUENCES: [&str; 2] = ["hprt", "sprt"];
pub static COMMITTEE_DOCUMENT_SEQUENCES: LazyLock<Vec<&str>> = LazyLock::new(|| {
[
&COMMITTEE_REPORT_SEQUENCES[..],
&COMMITTEE_PRINT_SEQUENCES[..],
]
.concat()
});