Summary
Types
@type op() :: :eq | :neq | :gt | :gte | :lt | :lte | :in | :and | :or | :not
@type t() :: {:attr, key :: String.t() | atom(), op(), value :: any()} | {:ref, key1 :: String.t() | atom(), op(), key2 :: String.t() | atom()} | {:diff, key1 :: String.t() | atom(), key2 :: String.t() | atom(), op(), expected :: any()} | {:sum, keys :: [String.t() | atom()], op(), expected :: any()} | {:and, [t()]} | {:or, [t()]} | {:not, t()} | :always_true