12 std::string functionName;
13 std::vector<std::string> arguments;
15 ExecutionUnit(std::string&& functionName, std::vector<std::string>&& arguments)
noexcept;
19 std::unordered_map<std::string, std::function<std::string(
const std::vector<std::string>&)>> dynamicPagesFunctions;
20 const std::filesystem::path pathToTemplates;
23 static void clear(std::string& code);
25 static void separateArguments(std::string& code);
27 static std::string insertVariables(
const std::unordered_map<std::string, std::string>& variables, std::string code);
29 static std::vector<ExecutionUnit> preExecute(
const std::string& code);
31 std::string execute(
const std::vector<ExecutionUnit>& codes);
36 void run(
const std::unordered_map<std::string, std::string>& variables, std::string& source);
38 void registerDynamicFunction(
const std::string& functionName, std::function<std::string(
const std::vector<std::string>&)>&& function);
40 void unregisterDynamicFunction(
const std::string& functionName);
42 bool isDynamicFunctionRegistered(
const std::string& functionName);
44 const std::filesystem::path& getPathToTemplates()
const;