Source code for eclypse.policies.compose.chain

"""Sequential policy composition."""

from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from eclypse.graph.asset_graph import AssetGraph
    from eclypse.utils.types import UpdatePolicy


[docs] def chain(*policies: UpdatePolicy) -> UpdatePolicy: """Run policies in the provided order. Args: policies (UpdatePolicy): Policies to call in order. Returns: Composed policy. """ def policy(graph: AssetGraph): for child_policy in policies: child_policy(graph) return policy