Resolved activate_deps_loop()

in include/poac/core/resolver.hpp [340:364]


    Resolved activate_deps_loop(const Deps& deps) {
        Resolved new_deps;
        for (const auto& dep : deps) {
            // Activate the top of dependencies
            for (const auto& version : resolver::decide_versions(dep.name, dep.interval)) {
                if (const auto current_deps = io::network::api::deps(dep.name, version)) {
                    Activated activated_deps;

                    for (const auto& current_dep : *current_deps) {
                        const auto [dep_name, dep_interval] = get_from_dep(current_dep.second);

                        Activated prev_activated_deps;
                        prev_activated_deps.push_back({ {dep.name}, {version}, {"poac"}, {} }); // push top
                        activate(new_deps, prev_activated_deps, activated_deps, dep_name, dep_interval);
                    }
                    new_deps.activated.push_back({ {dep.name}, {version}, {"poac"}, {activated_deps} });
                }
                else {
                    new_deps.activated.push_back({ {dep.name}, {version}, {"poac"}, {} });
                }
            }
        }
        delete_duplicate(new_deps.activated);
        return new_deps;
    }