remove query function and json dependencyce
This commit is contained in:
@@ -1,98 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <regex>
|
||||
|
||||
#include "hack/string/string_concat_helper.hpp"
|
||||
#include "hack/concepts/concepts.hpp"
|
||||
|
||||
// HERE
|
||||
// начинаем тут
|
||||
// уйти от конкретного json
|
||||
// сделать все через шаблоны с концептом запроса на существование нужных методов
|
||||
namespace hack::utils
|
||||
{
|
||||
template<hack::concepts::is_string First>
|
||||
std::string make_one(First f)
|
||||
{
|
||||
f = std::regex_replace(f, std::regex("'"), "[quote]");
|
||||
return std::string("'") + f + std::string("',");
|
||||
}
|
||||
|
||||
inline std::string make_one(const char* f)
|
||||
{
|
||||
auto f_str = std::string(f);
|
||||
f_str = std::regex_replace(f_str, std::regex("'"), "[quote]");
|
||||
return std::string("'") + f_str + std::string("',");
|
||||
}
|
||||
|
||||
inline std::string make_one(char f)
|
||||
{
|
||||
return std::string("'") + f + std::string("',");
|
||||
}
|
||||
|
||||
template<typename First>
|
||||
requires std::integral<First>
|
||||
std::string make_one(First f)
|
||||
{
|
||||
auto f_str = std::to_string(f);
|
||||
f_str = std::regex_replace(f_str, std::regex("'"), "[quote]");
|
||||
return std::string("'") + f_str + std::string("',");
|
||||
}
|
||||
|
||||
inline std::string make_one(const float f)
|
||||
{
|
||||
auto f_str = std::to_string(f);
|
||||
f_str = std::regex_replace(f_str, std::regex("'"), "[quote]");
|
||||
return f_str + std::string(",");
|
||||
}
|
||||
|
||||
inline std::string make_one(int f)
|
||||
{
|
||||
auto f_str = std::to_string(f);
|
||||
f_str = std::regex_replace(f_str, std::regex("'"), "[quote]");
|
||||
return f_str + std::string(",");
|
||||
}
|
||||
|
||||
inline std::string make_one(const std::string& f)
|
||||
{
|
||||
auto f_str = f;
|
||||
f_str = std::regex_replace(f_str, std::regex("'"), "[quote]");
|
||||
return hack::string::str_concat + "'" + f_str + "'::jsonb,";
|
||||
}
|
||||
|
||||
template<typename Json>
|
||||
inline std::string make_one(const Json& f)
|
||||
{
|
||||
auto f_str = f.dump();
|
||||
f_str = std::regex_replace(f_str, std::regex("'"), "[quote]");
|
||||
return hack::string::str_concat + "'" + f_str + "'::jsonb,";
|
||||
}
|
||||
|
||||
// это заглушкa при компиляции пустых данных
|
||||
template<typename... Args>
|
||||
std::string make() { return ""; }
|
||||
|
||||
template<typename First, typename... Args>
|
||||
std::string make(const First f, const Args... args)
|
||||
{
|
||||
auto param = make_one(f);
|
||||
param += make(args...);
|
||||
return param;
|
||||
}
|
||||
|
||||
template<typename... Args>
|
||||
std::string make_query(const std::string func, const Args... args)
|
||||
{
|
||||
std::string query = "SELECT s_func." + func + "(";
|
||||
query += make(args...);
|
||||
query.replace(query.find_last_of(','), 1, "");
|
||||
query += ");";
|
||||
return query;
|
||||
}
|
||||
|
||||
inline std::string make_query(const std::string func)
|
||||
{
|
||||
std::string query = "SELECT s_func." + func + "();";
|
||||
return query;
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,6 @@ headers = [
|
||||
'hack/string/string_concat_helper.hpp',
|
||||
'hack/string/utf8_len.hpp',
|
||||
|
||||
'hack/utils/func_query.hpp',
|
||||
'hack/utils/singleton.hpp',
|
||||
'hack/utils/json_converter.hpp',
|
||||
'hack/utils/utils.hpp',
|
||||
|
||||
Reference in New Issue
Block a user