def to_camel_case(source: str) -> str:
    """Converts kebab-case or snake_case to camelCase."""
    parts = source.replace("-", "_").split("_")
    return "".join([parts[0], *[p.capitalize() for p in parts[1:]]])