mirror of
https://github.com/pantor/inja.git
synced 2026-03-21 08:26:00 +00:00
add replace function (#306)
Co-authored-by: Felix Maier <fm41@mailbox.org>
This commit is contained in:
@@ -63,6 +63,7 @@ public:
|
||||
Min,
|
||||
Odd,
|
||||
Range,
|
||||
Replace,
|
||||
Round,
|
||||
Sort,
|
||||
Upper,
|
||||
@@ -106,6 +107,7 @@ private:
|
||||
{std::make_pair("min", 1), FunctionData {Operation::Min}},
|
||||
{std::make_pair("odd", 1), FunctionData {Operation::Odd}},
|
||||
{std::make_pair("range", 1), FunctionData {Operation::Range}},
|
||||
{std::make_pair("replace", 3), FunctionData {Operation::Replace}},
|
||||
{std::make_pair("round", 2), FunctionData {Operation::Round}},
|
||||
{std::make_pair("sort", 1), FunctionData {Operation::Sort}},
|
||||
{std::make_pair("upper", 1), FunctionData {Operation::Upper}},
|
||||
|
||||
@@ -414,6 +414,12 @@ class Renderer : public NodeVisitor {
|
||||
std::iota(result.begin(), result.end(), 0);
|
||||
make_result(std::move(result));
|
||||
} break;
|
||||
case Op::Replace: {
|
||||
const auto args = get_arguments<3>(node);
|
||||
auto result = args[0]->get<std::string>();
|
||||
replace_substring(result, args[1]->get<std::string>(), args[2]->get<std::string>());
|
||||
make_result(std::move(result));
|
||||
} break;
|
||||
case Op::Round: {
|
||||
const auto args = get_arguments<2>(node);
|
||||
const auto precision = args[1]->get<const json::number_integer_t>();
|
||||
|
||||
Reference in New Issue
Block a user