mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 17:47:36 +00:00
AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)
Also add slightly richer parse errors now that we can include a string literal with returned errors. This will allow us to use TRY() when working with JSON data.
This commit is contained in:
parent
304c03f457
commit
587f9af960
54 changed files with 172 additions and 228 deletions
|
@ -209,7 +209,7 @@ Result<NonnullRefPtrVector<Sheet>, String> ImportDialog::make_and_run_for(String
|
|||
|
||||
auto import_worksheet = [&]() -> Result<NonnullRefPtrVector<Sheet>, String> {
|
||||
auto json_value_option = JsonParser(file.read_all()).parse();
|
||||
if (!json_value_option.has_value()) {
|
||||
if (json_value_option.is_error()) {
|
||||
StringBuilder sb;
|
||||
sb.append("Failed to parse ");
|
||||
sb.append(file.filename());
|
||||
|
|
|
@ -667,7 +667,7 @@ JsonObject Sheet::gather_documentation() const
|
|||
JsonParser parser(doc.to_string_without_side_effects());
|
||||
auto doc_object = parser.parse();
|
||||
|
||||
if (doc_object.has_value())
|
||||
if (!doc_object.is_error())
|
||||
object.set(it.key.to_display_string(), doc_object.value());
|
||||
else
|
||||
dbgln("Sheet::gather_documentation(): Failed to parse the documentation for '{}'!", it.key.to_display_string());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue