diff options
| author | GriffinR <griffin.g.richards@gmail.com> | 2019-09-17 00:10:23 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-17 00:10:23 -0400 | 
| commit | 945d3d3a27f6e5005e5481bb2ad36f1a2a220d3d (patch) | |
| tree | 7dc8f5a21c6bb7640aad82de03a314b0e919f3b2 /tools/jsonproc | |
| parent | f4160ded9897f65e5ee7fa7050d195dfaa5bf5b2 (diff) | |
| parent | 06af24bce58b9285166d27fc371ad3c3dbb63a29 (diff) | |
Merge branch 'master' into document-eventscripts
Diffstat (limited to 'tools/jsonproc')
| -rwxr-xr-x | tools/jsonproc/jsonproc.cpp | 34 | 
1 files changed, 31 insertions, 3 deletions
| diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index efe48f39f..15eae9dcb 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -5,7 +5,7 @@  #include <map>  #include <string> -using std::string; +using std::string; using std::to_string;  #include <inja.hpp>  using namespace inja; @@ -36,7 +36,14 @@ int main(int argc, char *argv[])      // Add custom command callbacks.      env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) { -        return "//\n// DO NOT MODIFY THIS FILE! IT IS AUTO-GENERATED FROM " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; +        return "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; +    }); + +    env.add_callback("subtract", 2, [](Arguments& args) { +        int minuend = args.at(0)->get<int>(); +        int subtrahend = args.at(1)->get<int>(); + +        return minuend - subtrahend;      });      env.add_callback("setVar", 2, [=](Arguments& args) { @@ -46,11 +53,33 @@ int main(int argc, char *argv[])          return "";      }); +    env.add_callback("setVarInt", 2, [=](Arguments& args) { +        string key = args.at(0)->get<string>(); +        string value = to_string(args.at(1)->get<int>()); +        set_custom_var(key, value); +        return ""; +    }); +      env.add_callback("getVar", 1, [=](Arguments& args) {          string key = args.at(0)->get<string>();          return get_custom_var(key);      }); +    env.add_callback("trackVar", 2, [](Arguments& args) { +        static int counter = 0; + +        int addValue = args.at(0)->get<int>(); +        int checkValue = args.at(1)->get<int>(); + +        bool over = false; + +        counter = (counter + addValue) % (checkValue + 1); + +        if (counter <= addValue) over = true; + +        return over; +    }); +      env.add_callback("concat", 2, [](Arguments& args) {          string first = args.at(0)->get<string>();          string second = args.at(1)->get<string>(); @@ -67,7 +96,6 @@ int main(int argc, char *argv[])          return rawValue.erase(0, prefix.length());      }); -    // Add custom command callbacks.      env.add_callback("removeSuffix", 2, [](Arguments& args) {          string rawValue = args.at(0)->get<string>();          string suffix = args.at(1)->get<string>(); | 
