Setup base for conversion modifiers to be written.

This commit is contained in:
Brad Arant 2024-11-07 16:47:11 -08:00
parent 0de087f14d
commit 31e309934c
3 changed files with 13 additions and 3 deletions

View File

@ -37,6 +37,13 @@ namespace jet {
sessions.erase(sessionId); sessions.erase(sessionId);
} }
coreutils::MString& Global::processModifier(coreutils::MString &value, coreutils::MString &modifier) {
if(modifier.getLength() == 0)
return value;
lastConverted = modifier;
return lastConverted;
}
coreutils::ZString Global::getVariable(coreutils::ZString &variable, std::map<coreutils::ZString, coreutils::MString> &lvariables) { coreutils::ZString Global::getVariable(coreutils::ZString &variable, std::map<coreutils::ZString, coreutils::MString> &lvariables) {
if(variable.ifNext("$[")) { if(variable.ifNext("$[")) {
coreutils::MString name; coreutils::MString name;
@ -54,8 +61,9 @@ namespace jet {
} else { } else {
renderVariableName(variable, name, modifier, lvariables); renderVariableName(variable, name, modifier, lvariables);
name.split("."); name.split(".");
if(name.getList().size() == 1) if(name.getList().size() == 1) {
return variables[name[0]]; return processModifier(variables[name[0]], modifier);
}
return getSessionVariable(name); return getSessionVariable(name);
} }
throw coreutils::Exception("expected variable name or type designator."); throw coreutils::Exception("expected variable name or type designator.");

View File

@ -18,6 +18,7 @@ namespace jet {
bool sessionExists(coreutils::MString sessionId); bool sessionExists(coreutils::MString sessionId);
void addSession(coreutils::MString sessionId, __mysql *mysql); void addSession(coreutils::MString sessionId, __mysql *mysql);
void removeSession(coreutils::MString sessionId); void removeSession(coreutils::MString sessionId);
coreutils::MString& processModifier(coreutils::MString &value, coreutils::MString &modifier);
coreutils::ZString getVariable(coreutils::ZString &variable, std::map<coreutils::ZString, coreutils::MString> &lvariables); coreutils::ZString getVariable(coreutils::ZString &variable, std::map<coreutils::ZString, coreutils::MString> &lvariables);
void renderVariableName(coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier, std::map<coreutils::ZString, coreutils::MString> &lvariables); void renderVariableName(coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier, std::map<coreutils::ZString, coreutils::MString> &lvariables);
__mysql * getSession(coreutils::MString sessionId); __mysql * getSession(coreutils::MString sessionId);
@ -29,6 +30,7 @@ namespace jet {
std::map<coreutils::MString, __mysql *> sessions; std::map<coreutils::MString, __mysql *> sessions;
std::map<coreutils::MString, coreutils::MString> headers; std::map<coreutils::MString, coreutils::MString> headers;
std::map<coreutils::MString, coreutils::MString> tags; std::map<coreutils::MString, coreutils::MString> tags;
coreutils::MString lastConverted;
}; };

View File

@ -8,7 +8,7 @@
<set name="var1var" value="Yet another test" /> <set name="var1var" value="Yet another test" />
<set name="var11" value="it seems to work." /> <set name="var11" value="it seems to work." />
$[$[ix]var$[ix]] $[$[ix]var$[ix];binary]
$[var$[ix]] $[var$[ix]]
$[var$[ix]var] $[var$[ix]var]
$[var$[i$[letterx]]var] $[var$[i$[letterx]]var]