licence_audit/policy

Types

pub type AuditStatus {
  Allowed
  NoLicencesDeclared
  DeniedLicence(String)
  UnallowedLicence(String)
  InvalidLicenceExpression(String)
}

Constructors

  • Allowed
  • NoLicencesDeclared
  • DeniedLicence(String)
  • UnallowedLicence(String)
  • InvalidLicenceExpression(String)
pub type Error {
  MissingPolicy
}

Constructors

  • MissingPolicy
pub type Policy {
  Policy(allow: List(String), deny: List(String))
}

Constructors

  • Policy(allow: List(String), deny: List(String))

Values

pub fn audit(
  policy: Policy,
  licences: List(String),
) -> AuditStatus
pub fn findings(
  policy: Policy,
  licences: List(String),
  accepted: fn(exception.Finding) -> Bool,
) -> List(exception.Finding)

Return the findings needed to satisfy every declaration. An OR selects a passing branch, including scoped decisions supplied by accepted.

pub fn from_config(
  config_policy config_policy: config.Policy,
  check_mode check_mode: Bool,
) -> Result(Policy, Error)
pub fn has_rules(policy: Policy) -> Bool
pub fn new(
  allow allow: List(String),
  deny deny: List(String),
  check_mode check_mode: Bool,
) -> Result(Policy, Error)

Check mode requires an allow list; deny rules are exact-match overrides. Matching ignores token whitespace and ordinary identifier case, but keeps custom reference case, parentheses, and licence variants distinct.

✨ Search Document