fix: return empty string from capitalize on empty input (#337) (#343)

* fix: return empty string from capitalize on empty input (#337)

Signed-off-by: sofiamartincraft <sofiamartincraft@users.noreply.github.com>

* fix: return empty string from capitalize on empty input (#337)

Signed-off-by: sofiamartincraft <sofiamartincraft@users.noreply.github.com>

* fix: return empty string from capitalize on empty input (#337)

Signed-off-by: sofiamartincraft <sofiamartincraft@users.noreply.github.com>

---------

Signed-off-by: sofiamartincraft <sofiamartincraft@users.noreply.github.com>
Co-authored-by: sofiamartincraft <sofiamartincraft@users.noreply.github.com>
This commit is contained in:
Sofia Martin
2026-08-18 08:17:04 +02:00
committed by GitHub
co-authored by sofiamartincraft
parent 94289188ea
commit fb1437ba59
3 changed files with 9 additions and 4 deletions
+4 -2
View File
@@ -2496,8 +2496,10 @@ class Renderer : public NodeVisitor {
} break;
case Op::Capitalize: {
auto result = get_arguments<1>(node)[0]->get<json::string_t>();
result[0] = static_cast<char>(::toupper(result[0]));
std::transform(result.begin() + 1, result.end(), result.begin() + 1, [](char c) { return static_cast<char>(::tolower(c)); });
if (!result.empty()) {
result[0] = static_cast<char>(::toupper(result[0]));
std::transform(result.begin() + 1, result.end(), result.begin() + 1, [](char c) { return static_cast<char>(::tolower(c)); });
}
make_result(std::move(result));
} break;
case Op::Default: {