View Source Permit.Permissions.DisjunctiveNormalForm (permit v0.2.1)

Describes conditions written as logical formula in disjunctive normal form.

Example of a compound condition in DNF is:

(condition 1 AND condition 2)
OR (condition 3)
OR (condition 4 AND condition 5 AND condition 6)

Part of the private API, subject to changes and not to be used on the application level.

Summary

Types

@type t() :: %Permit.Permissions.DisjunctiveNormalForm{
  disjunctions: [Permit.Permissions.ParsedConditionList.t()]
}

Functions

Link to this function

add_clauses(dnf, clauses)

View Source
@spec add_clauses(t(), [Permit.Permissions.ParsedCondition.t()]) :: t()
Link to this function

any_satisfied?(disjunctive_normal_form, record, subject)

View Source
Link to this function

concatenate(disjunctive_normal_form1, disjunctive_normal_form2)

View Source
@spec concatenate(t(), t()) :: t()