Source code for babylon.models.enums._resolution

"""Helper coercion utilities for enum types.

Spec 058: extracted from the historical ``babylon.models.enums`` monolith. The :func:`resolve_edge_type` helper consumes :class:`EdgeType` from :mod:`babylon.models.enums.topology`.
"""

from __future__ import annotations

from babylon.models.enums.topology import EdgeType


[docs] def resolve_edge_type(raw: str | EdgeType | None) -> EdgeType | None: """Coerce a raw edge type value (str or enum) to EdgeType. Args: raw: String value, EdgeType instance, or None. Returns: EdgeType enum or None if input is None. """ if raw is None: return None if isinstance(raw, str): return EdgeType(raw) return raw
__all__ = ["resolve_edge_type"]