1#![doc = include_str!("../README.md")]
2#![allow(clippy::doc_overindented_list_items)]
3#![warn(
4 missing_docs,
5 missing_debug_implementations,
6 trivial_casts,
7 trivial_numeric_casts,
8 unused_extern_crates,
9 unused_import_braces,
10 explicit_outlives_requirements,
11 clippy::missing_errors_doc
12)]
13#![deny(
14 rustdoc::broken_intra_doc_links,
15 rustdoc::bare_urls,
16 macro_use_extern_crate,
17 non_ascii_idents,
18 elided_lifetimes_in_paths
19)]
20#![forbid(unsafe_code)]
21#![cfg_attr(not(feature = "std"), no_std)]
22#![cfg_attr(feature = "std", allow(unused_qualifications))]
23#![cfg_attr(docsrs, feature(doc_auto_cfg))]
24
25extern crate alloc;
26
27#[macro_use]
28mod macros;
29
30pub(crate) mod base64_url;
31#[macro_use]
32pub(crate) mod tagged_visitor;
33pub(crate) mod sealed;
34
35pub mod crypto;
36pub mod format;
37pub mod header;
38pub mod jwa;
39pub mod jwe;
40pub mod jwk;
41pub mod jws;
42pub mod jwt;
43pub mod policy;
44mod uri;
45
46use alloc::string::String;
47
48pub use base64_url::Base64UrlString;
49pub use uri::Uri;
50
51#[doc(inline)]
52pub use self::{header::JoseHeader, jwk::JsonWebKey, jws::JsonWebSignature, jwt::JsonWebToken};
53
54pub type Jws<F = format::Compact, T = ()> = JsonWebSignature<F, T>;
56
57pub type Jwt<A = ()> = JsonWebToken<A>;
59
60pub type Jwk<A = ()> = JsonWebKey<A>;
62
63pub type UntypedAdditionalProperties = serde_json::Map<String, serde_json::Value>;