mod claims;
mod clock;
mod keyset;
mod nested;
mod numeric_date;
mod policy;
mod sign;
pub mod typ;
mod validate;
mod verify;
pub use claims::{Audience, Claims};
#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))]
pub use clock::SystemClock;
pub use clock::{Clock, FixedClock};
pub use nested::{VerifiedNestedJwt, decrypt_nested, encrypt_nested};
pub use numeric_date::NumericDate;
pub use policy::{Policy, TypMode};
pub use sign::{IssueOptions, sign};
pub use verify::{Keys, VerifiedJwt, verify};
#[cfg(test)]
mod tests {
use super::*;
use crate::error::Result;
use crate::header::Header;
use crate::jwe::{DecryptPolicy, Encryptor};
use crate::jwk::{Jwk, JwkSet};
use crate::jws::{CompactPrechecked, Verified};
#[test]
fn signatures_are_frozen() {
let _: fn(&str, Keys<'_>, &Policy<'_>) -> Result<VerifiedJwt> = verify;
let _: fn(&str, Keys<'_>, &Policy<'_>) -> Result<VerifiedJwt> = verify::verify_inner;
let _: fn(&Claims, &IssueOptions, &Jwk) -> Result<String> = sign;
let _: fn(&str, &Encryptor) -> Result<String> = encrypt_nested;
let _: fn(&str, &Jwk, &DecryptPolicy, Keys<'_>, &Policy<'_>) -> Result<VerifiedNestedJwt> =
decrypt_nested;
let _: fn(&Header, Option<&Header>, &Policy<'_>, typ::Layer) -> Result<()> =
typ::check_jwt_header;
let _: fn(&str, &str) -> bool = typ::media_type_eq;
let _: fn(&CompactPrechecked<'_>, &JwkSet, &Policy<'_>) -> Result<(Verified, usize)> =
keyset::select_and_verify;
let _: fn(&Claims, &Policy<'_>) -> Result<()> = validate::validate_claims;
let _: fn(&[u8]) -> Result<Claims> = Claims::from_json;
let _: fn(&Claims) -> String = Claims::to_json;
let _: fn(&crate::json::Value, &'static str) -> Result<NumericDate> =
NumericDate::from_json;
let _: fn(&dyn Clock) -> Result<i64> = clock::now_checked;
let _ = [typ::Layer::Signed, typ::Layer::Outer];
}
}