"""
Logical OR conditions
"""
from marshmallow import post_load
from .base import LogicCondition, LogicConditionSchema
[docs]class AnyOf(LogicCondition):
"""
Condition for any of sub-rules are satisfied
"""
[docs] def is_satisfied(self, ctx) -> bool:
return any(value.is_satisfied(ctx) for value in self.values)
[docs]class AnyOfSchema(LogicConditionSchema):
"""
JSON schema for any of logical condition
"""
[docs] @post_load
def post_load(self, data, **_): # pylint: disable=missing-docstring,no-self-use
return AnyOf(**data)