#![no_std]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
extern crate alloc;
pub mod authorizer;
pub mod builder;
pub mod context_expr;
pub mod error;
pub mod path;
pub mod policy;
pub mod resource_matcher;
pub use authorizer::{Authorizer, PolicyAuthorizer};
pub use builder::{PolicyBuilder, PolicyRuleBuilder};
pub use context_expr::{CompareOp, ContextExpr, MAX_EXPR_DEPTH, MAX_EXPR_LENGTH};
pub use error::{PolicyError, Result};
pub use path::PathPattern;
pub use policy::{Action, Policy, PolicyRule, Resource};
pub use resource_matcher::{ResourceMatcher, ResourceMatcherRegistry};
pub const MAX_RULES_PER_POLICY: usize = 1024;
pub const MAX_RESOURCE_PATTERN_LENGTH: usize = 256;
pub const MAX_POLICY_NAME_LENGTH: usize = 128;