#![allow(clippy::expect_used)]
pub use crate::assets::patterns::{
ARK_PATTERN as RE_ARK_TEXT, ARXIV_DISCOVERY_PATTERN as RE_ARXIV_DISCOVERY_TEXT, ARXIV_PATTERN as RE_ARXIV_TEXT,
DOI_DISCOVERY_PATTERN as RE_DOI_DISCOVERY_TEXT, DOI_PATTERN as RE_DOI_TEXT, GND_PATTERN as RE_GND_TEXT, HANDLE_PATTERN as RE_HANDLE_TEXT,
ISBN_10_COMPACT_PATTERN as RE_ISBN_10_COMPACT_TEXT, ISBN_10_PATTERN as RE_ISBN_10_TEXT, ISBN_13_PATTERN as RE_ISBN_13_TEXT,
ISBN_PATTERN as RE_ISBN_TEXT, ISNI_DISCOVERY_PATTERN as RE_ISNI_DISCOVERY_TEXT, ISNI_PATTERN as RE_ISNI_TEXT,
ORCID_DISCOVERY_PATTERN as RE_ORCID_DISCOVERY_TEXT, ORCID_PATTERN as RE_ORCID_TEXT, PATENT_PATTERN as RE_PATENT_TEXT,
RAID_PATTERN as RE_RAID_TEXT, ROR_PATTERN as RE_ROR_TEXT, RRID_PATTERN as RE_RRID_TEXT, SWHID_PATTERN as RE_SWHID_TEXT,
URL_PATTERN as RE_URL_TEXT,
};
use crate::assets::patterns::{
FAKE_PHONE_PATTERN, HTTP_URL_PREFIX_PATTERN, IMAGE_EXTENSION_PATTERN, ISO_8601_DATE_PATTERN, ISO_8601_YEAR_PATTERN, PARTIAL_DATE_PATTERN,
PHONE_PATTERN, UNIX_EPOCH_PATTERN,
};
use fancy_regex::Regex;
use lazy_static::lazy_static;
pub mod app;
pub mod gpu;
pub const DEFAULT_GRAPHIC_HREF: &str = "00.png";
pub const DEFAULT_GRAPHIC_CAPTION: &str = "";
pub const MAX_COUNT_APPROACH: u64 = 6;
pub const MAX_COUNT_CAPABILITIES: u64 = 6;
pub const MAX_COUNT_IMPACT: u64 = 6;
pub const MAX_COUNT_RESEARCH_AREAS: u64 = 4;
pub const MAX_LENGTH_APPROACH: usize = 150;
pub const MAX_LENGTH_CAPABILIY: usize = 300;
pub const MAX_LENGTH_IMAGE_CAPTION: u64 = 100;
pub const MAX_LENGTH_IMPACT: usize = 150;
pub const MAX_LENGTH_RESEARCH_AREA: usize = 40;
pub const MAX_LENGTH_RESEARCH_FOCUS: u64 = 150;
pub const MAX_LENGTH_SECTION_CHALLENGE: u64 = 500;
pub const MAX_LENGTH_SECTION_MISSION: u64 = 250;
pub const MAX_LENGTH_SUBTITLE: u64 = 75;
pub const MAX_LENGTH_TITLE: u64 = 45;
lazy_static! {
pub static ref HTTP_URL: Regex = Regex::new(HTTP_URL_PREFIX_PATTERN).expect("HTTP_URL_PREFIX_PATTERN should compile as a valid regex");
pub static ref RE_ARK: Regex = Regex::new(RE_ARK_TEXT).expect("RE_ARK_TEXT should compile as a valid regex");
pub static ref RE_ARXIV: Regex = Regex::new(RE_ARXIV_DISCOVERY_TEXT).expect("RE_ARXIV_DISCOVERY_TEXT should compile as a valid regex");
pub static ref RE_ARXIV_VALIDATION: Regex = Regex::new(RE_ARXIV_TEXT).expect("RE_ARXIV_TEXT should compile as a valid regex");
pub static ref RE_DOI: Regex = Regex::new(RE_DOI_DISCOVERY_TEXT).expect("RE_DOI_DISCOVERY_TEXT should compile as a valid regex");
pub static ref RE_HANDLE: Regex = Regex::new(RE_HANDLE_TEXT).expect("RE_HANDLE_TEXT should compile as a valid regex");
pub static ref RE_GND: Regex = Regex::new(RE_GND_TEXT).expect("RE_GND_TEXT should compile as a valid regex");
pub static ref RE_ISBN: Regex = Regex::new(RE_ISBN_TEXT).expect("RE_ISBN_TEXT should compile as a valid regex");
pub static ref RE_ISNI: Regex = Regex::new(RE_ISNI_DISCOVERY_TEXT).expect("RE_ISNI_DISCOVERY_TEXT should compile as a valid regex");
pub static ref RE_PATENT: Regex = Regex::new(RE_PATENT_TEXT).expect("RE_PATENT_TEXT should compile as a valid regex");
pub static ref RE_ORCID: Regex = Regex::new(RE_ORCID_DISCOVERY_TEXT).expect("RE_ORCID_DISCOVERY_TEXT should compile as a valid regex");
pub static ref RE_RAID: Regex = Regex::new(RE_RAID_TEXT).expect("RE_RAID_TEXT should compile as a valid regex");
pub static ref RE_RRID: Regex = Regex::new(RE_RRID_TEXT).expect("RE_RRID_TEXT should compile as a valid regex");
pub static ref RE_SWHID: Regex = Regex::new(RE_SWHID_TEXT).expect("RE_SWHID_TEXT should compile as a valid regex");
pub static ref RE_ROR: Regex = Regex::new(RE_ROR_TEXT).expect("RE_ROR_TEXT should compile as a valid regex");
pub static ref RE_URL: Regex = Regex::new(RE_URL_TEXT).expect("RE_URL_TEXT should compile as a valid regex");
pub static ref RE_IMAGE_EXTENSION: Regex = Regex::new(IMAGE_EXTENSION_PATTERN).expect("IMAGE_EXTENSION_PATTERN should compile as a valid regex");
pub static ref RE_ISO_8601_DATE: Regex = Regex::new(ISO_8601_DATE_PATTERN).expect("ISO_8601_DATE_PATTERN should compile as a valid regex");
pub static ref RE_PARTIAL_DATE: Regex = Regex::new(PARTIAL_DATE_PATTERN).expect("PARTIAL_DATE_PATTERN should compile as a valid regex");
pub static ref RE_ISO_8601_YEAR: Regex = Regex::new(ISO_8601_YEAR_PATTERN).expect("ISO_8601_YEAR_PATTERN should compile as a valid regex");
pub static ref RE_PHONE: Regex = Regex::new(PHONE_PATTERN).expect("PHONE_PATTERN should compile as a valid regex");
pub static ref RE_FAKE_PHONE: Regex = Regex::new(FAKE_PHONE_PATTERN).expect("FAKE_PHONE_PATTERN should compile as a valid regex");
pub static ref RE_UNIX_EPOCH: Regex = Regex::new(UNIX_EPOCH_PATTERN).expect("UNIX_EPOCH_PATTERN should compile as a valid regex");
}