INNER CODE UNIT · Python

traverse

kubeai-project/kubeai · hack/filter-openapi-components.py:7

def traverse(obj, components, collected):
    """
    Recursively search an object (dict or list) for internal $ref keys that
    point to components (i.e. starting with "#/components/"). For each referenced
    component, add it to the collected set and traverse its definition to find
    further references.
    """
    if isinstance(obj, dict):
        if "$ref" in obj and isinstance(obj["$ref"], str):
            ref = obj["$ref"]
            if ref.startswith("#/components/"):
                # Expected format: "#/components/<component_type>/<component_name>"
                parts = ref.split("/")
                if len(parts) >= 4:
                    comp_type = parts[2]
                    comp_name = parts[3]
                    if (comp_type, comp_name) not in collected:
                        collected.add((comp_type, comp_name))

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…