diff options
Diffstat (limited to 'src/cardTypeHandlerInfo.cpp')
| -rw-r--r-- | src/cardTypeHandlerInfo.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/cardTypeHandlerInfo.cpp b/src/cardTypeHandlerInfo.cpp new file mode 100644 index 0000000..b49057a --- /dev/null +++ b/src/cardTypeHandlerInfo.cpp @@ -0,0 +1,41 @@ +#include "cardTypeHandlerInfo.hpp" + +void CardTypeHandlerInfo::addCardInfo( + const std::string &kCardType, const std::string &kCardValueRegex, + const std::function<const std::string(const std::string &)> + kJSONToSQLConverter) { + // TODO: complete +} + +const CardTypeHandlerInfo cardTypeHandlerInfoList() { + CardTypeHandlerInfo aCardTypeHandlerInfo; + + aCardTypeHandlerInfo.addCardInfo( + "INT", "[0-9]+", + [](const std::string &kJSONContent) { return kJSONContent; }); + + aCardTypeHandlerInfo.addCardInfo( + "BOOL", "true|false", + [](const std::string &kJSONContent) { return kJSONContent; }); + + aCardTypeHandlerInfo.addCardInfo( + "STRING", "\"[^\"?]*\"", [](const std::string &kJSONContent) { + std::string aCopyOfJSONValue = kJSONContent; + *aCopyOfJSONValue.begin() = '\''; + *std::prev(aCopyOfJSONValue.end()) = '\''; + return aCopyOfJSONValue; + }); + + aCardTypeHandlerInfo.addCardInfo( + "LIST_OF_INT", "\\[[0-9,]*\\]", [](const std::string &kJSONContent) { + std::string aCopyOfJSONValue = kJSONContent; + aCopyOfJSONValue.append("\'"); + aCopyOfJSONValue.insert(aCopyOfJSONValue.begin(), '\''); + return aCopyOfJSONValue; + }); + + aCardTypeHandlerInfo.addCardInfo( + "NULL", "null", [](const std::string &kJSONContent) { return "NULL"; }); + + return aCardTypeHandlerInfo; +} |
