#include "actions.hpp" #include "vm_provider.hpp" auto sliger::rpc::action::RunDebug::perform_action( std::unique_ptr writer, vm_provider::VmProvider& vm) -> void { auto program = this->instructions; vm.load_and_run(program); writer->write("{ \"ok\": true }"); writer->flush(); }; auto sliger::rpc::action::FlameGraph::perform_action( std::unique_ptr writer, vm_provider::VmProvider& vm) -> void { auto json = vm.flame_graph_json(); if (json) { writer->write(std::format( "{{ \"ok\": true, \"flameGraph\": {} }}", json.value())); } else { writer->write("{ \"ok\": false }"); } writer->flush(); }; auto sliger::rpc::action::CodeCoverage::perform_action( std::unique_ptr writer, vm_provider::VmProvider& vm) -> void { auto json = vm.code_coverage_json(); if (json) { writer->write(std::format( "{{ \"ok\": true, \"codeCoverage\": {} }}", json.value())); } else { writer->write("{ \"ok\": false }"); } writer->flush(); };